From 9ca494cce7ebf07b67151bd8e8707610a3820241 Mon Sep 17 00:00:00 2001 From: Roy Tam Date: Sat, 23 Feb 2019 00:13:11 +0800 Subject: [PATCH] import changes from rmottola/Arctic-Fox: - Bug 940273 - Part 1 - Fetch changes from maple twig to support Service Worker Cache. (5f8e82dd7) - Bug 940273 - Part 1b - Expose nsFileProtocolHandler.h in mozilla/net. (71a3ebcf4) - Bug 940273 - Part 2 - Add a pref to enable Service Worker Cache. (2e7b478d3) - patch header include (3b90a9b8d) - override -> MOZ_OVERRIDE (8f51321bc) - override -> MOZ_OVERRIDE (5f4ab5143) - Bug 1136563 - ARIA 1.1: Support role 'switch' (2484c9c27) - Bug 1121518 - ARIA 1.1: Add support for role 'searchbox' (8d3ee1204) - override -> MOZ_OVERRIDE (3db7a0cb4) - Bug 1137714 - Make roleDescription nicer/correct/faster (da6beb861) - Bug 1134280 - Get rid of Tag() - patch 1 - Is{HTML,XUL,MathML,SVG}Element and IsAnyOf{HTML,XUL,MathML,SVG}Elements (133801ca1) - Bug 1134280 - Get rid of Tag() - patch 2.1 - /accessible - Fix all the occurrences (fbef71d88) - Bug 1134280 - Get rid of Tag() - patch 2.2 - /editor - Fix all the occurrences (e54a21dcc) - Bug 1134280 - Get rid of Tag() - patch 2.3 - dom/base and docshell - Fix all the occurrences (8bf192106) - Bug 1134280 - Get rid of Tag() - patch 2.4 - layout/mathml - Fix all the occurrences (7914f351d) - Bug 1134280 - Get rid of Tag() - patch 2.5 - dom/xul - Fix all the occurrences (6611b95ef) - Bug 1134280 - Get rid of Tag() - patch 2.6 - layout/base and layout/form - Fix all the occurrences (61e06ff31) - Bug 1134280 - Get rid of Tag() - patch 2.7 - layout/generic - Fix all the occurrences (bbe5865c2) - Bug 1134280 - Get rid of Tag() - patch 2.8 - dom/html - Fix all the occurrences (7af471da5) - Bug 1134280 - Get rid of Tag() - patch 2.9 - dom/svg, dom/xml, dom/xslt and dom/xbl - Fix all the occurrences (ab9769748) - Bug 1134280 - Get rid of Tag() - patch 2.10 - dom/events, dom/mathml, dom/plugins, dom/smil - Fix all the occurrences (421ba62f4) - Bug 1134280 - Get rid of Tag() - patch 2.11 - layout/xul - Fix all the occurrences (e19e64b2c) - Bug 1134280 - Get rid of Tag() - patch 2.12 - layout/style, layout/svg - Fix all the occurrences (7ec90f520) - Bug 1134280 - Get rid of Tag() - patch 2.13 - Fix all the occurrences (a887a4341) - Bug 1134280 - Get rid of Tag() - patch 3 - nsContentUtils::IsHTMLBlock should work with nsIContent inste nsIAtom (28fa04521) - Bug 1134280 - Get rid of Tag() - patch 4 - Get rid of nsDocumentEncoder::IsTag (ed4bf4d48) - Bug 1134280 - Get rid of Tag() - patch 5 - nsGenericHTMLElement::IsHTMLElement (70a2822c7) - Bug 1134280 - Get rid of Tag() - patch 6 - Remove nsINode::Tag() (85885131f) - Bug 1134280 - Get rid of Tag() - patch 7 - Followup to fix bustage. (actuall, backport, it was missing) (cfcfa3e74) - Bug 1134280 - Get rid of Tag() - patch 8 - Fixed a debug-only compilation issue (502319995) - Bug 1356843 - Fix -Wcomma warnings in dom/base/ and dom/xml/. clang's -Wcomma warning warns about suspicious use of the comma operator such as between two statements or to call a function for side effects within an expression. (0f1ad0554) --- accessible/base/ARIAMap.cpp | 92 ++++++++- accessible/base/AccIterator.cpp | 24 ++- accessible/base/AccTypes.h | 15 +- accessible/base/Logging.cpp | 2 +- accessible/base/Role.h | 7 +- accessible/base/RoleMap.h | 8 + accessible/base/TextAttrs.cpp | 7 +- accessible/base/nsAccUtils.cpp | 11 +- accessible/base/nsAccUtils.h | 4 + accessible/base/nsAccessibilityService.cpp | 103 +++++----- accessible/base/nsTextEquivUtils.cpp | 4 +- accessible/generic/Accessible-inl.h | 9 + accessible/generic/Accessible.cpp | 84 ++++---- accessible/generic/Accessible.h | 12 +- accessible/generic/DocAccessible.cpp | 17 +- accessible/generic/HyperTextAccessible.cpp | 129 +++++++------ accessible/generic/HyperTextAccessible.h | 17 +- accessible/generic/ImageAccessible.cpp | 3 +- accessible/generic/RootAccessible.cpp | 4 +- accessible/html/HTMLFormControlAccessible.cpp | 9 +- accessible/html/HTMLListAccessible.cpp | 4 +- accessible/html/HTMLSelectAccessible.cpp | 7 +- accessible/html/HTMLTableAccessible.cpp | 18 +- accessible/interfaces/nsIAccessibleRole.idl | 7 +- accessible/mac/mozAccessible.mm | 100 +++++----- .../tests/mochitest/actions/test_aria.html | 14 ++ .../tests/mochitest/attributes/test_obj.html | 9 + .../mochitest/attributes/test_xml-roles.html | 8 + .../events/test_aria_statechange.html | 40 ++-- accessible/tests/mochitest/role.js | 1 + .../tests/mochitest/role/test_aria.html | 14 ++ .../tests/mochitest/states/test_aria.html | 18 +- accessible/windows/msaa/AccessibleWrap.cpp | 2 +- accessible/xul/XULElementAccessibles.cpp | 2 +- accessible/xul/XULFormControlAccessible.cpp | 9 +- docshell/base/nsDocShell.cpp | 13 +- dom/base/Attr.cpp | 2 +- dom/base/ChildIterator.cpp | 2 +- dom/base/DirectionalityUtils.cpp | 8 +- dom/base/Element.cpp | 46 ++--- dom/base/Element.h | 2 +- dom/base/FragmentOrElement.cpp | 42 ++-- dom/base/Link.cpp | 6 +- dom/base/NodeInfo.cpp | 2 +- dom/base/ShadowRoot.cpp | 4 +- dom/base/nsCCUncollectableMarker.cpp | 2 +- dom/base/nsContentList.cpp | 6 +- dom/base/nsContentUtils.cpp | 85 +++++---- dom/base/nsContentUtils.h | 2 +- dom/base/nsCopySupport.cpp | 2 +- dom/base/nsDOMWindowUtils.cpp | 18 +- dom/base/nsDocument.cpp | 35 ++-- dom/base/nsDocumentEncoder.cpp | 116 ++++++----- dom/base/nsFocusManager.cpp | 23 ++- dom/base/nsFrameLoader.cpp | 16 +- dom/base/nsFrameLoader.h | 3 +- dom/base/nsGkAtomList.h | 7 + dom/base/nsGlobalWindow.cpp | 10 +- dom/base/nsHTMLContentSerializer.cpp | 4 +- dom/base/nsIContent.h | 59 +++--- dom/base/nsIContentInlines.h | 2 +- dom/base/nsIDocument.h | 17 +- dom/base/nsINode.cpp | 6 +- dom/base/nsINode.h | 98 +++++++++- dom/base/nsNodeUtils.cpp | 7 +- dom/base/nsObjectLoadingContent.cpp | 10 +- dom/base/nsPlainTextSerializer.cpp | 10 +- dom/base/nsRange.cpp | 15 +- dom/base/nsScriptLoader.cpp | 4 +- dom/base/nsStyleLinkElement.cpp | 8 +- dom/base/nsTreeSanitizer.cpp | 9 +- dom/base/nsXHTMLContentSerializer.cpp | 72 +++---- dom/base/nsXMLContentSerializer.cpp | 10 +- dom/events/ContentEventHandler.cpp | 7 +- dom/events/EventStateManager.cpp | 79 ++++---- dom/events/IMEContentObserver.cpp | 2 +- dom/events/IMEStateManager.cpp | 12 +- dom/fetch/Fetch.h | 2 +- dom/fetch/FetchIPCUtils.h | 41 ++++ dom/fetch/InternalHeaders.cpp | 18 ++ dom/fetch/InternalHeaders.h | 7 + dom/fetch/InternalRequest.h | 6 + dom/fetch/PHeaders.ipdlh | 15 ++ dom/fetch/Request.h | 4 +- dom/fetch/Response.cpp | 7 + dom/fetch/Response.h | 4 + dom/fetch/moz.build | 7 + dom/html/HTMLAllCollection.cpp | 32 ++-- dom/html/HTMLContentElement.cpp | 3 +- dom/html/HTMLDetailsElement.cpp | 2 +- dom/html/HTMLFieldSetElement.cpp | 4 +- dom/html/HTMLFormElement.cpp | 4 +- dom/html/HTMLImageElement.cpp | 17 +- dom/html/HTMLInputElement.cpp | 2 +- dom/html/HTMLLegendElement.cpp | 4 +- dom/html/HTMLMediaElement.cpp | 4 +- dom/html/HTMLMenuElement.cpp | 8 +- dom/html/HTMLOptGroupElement.cpp | 6 +- dom/html/HTMLOptionElement.cpp | 7 +- dom/html/HTMLPictureElement.cpp | 2 +- dom/html/HTMLPropertiesCollection.cpp | 4 +- dom/html/HTMLSelectElement.cpp | 10 +- dom/html/HTMLShadowElement.cpp | 3 +- dom/html/HTMLSharedElement.cpp | 4 +- dom/html/HTMLSourceElement.cpp | 8 +- dom/html/HTMLTableCellElement.cpp | 4 +- dom/html/HTMLTableElement.cpp | 6 +- dom/html/HTMLTableElement.h | 6 +- dom/html/HTMLTableRowElement.cpp | 12 +- dom/html/ImageDocument.cpp | 2 +- dom/html/nsGenericHTMLElement.cpp | 45 ++--- dom/html/nsGenericHTMLElement.h | 34 +++- dom/html/nsGenericHTMLFrameElement.cpp | 2 +- dom/html/nsHTMLDocument.cpp | 31 +-- dom/html/nsTextEditorState.cpp | 4 +- dom/ipc/TabChild.h | 128 ++++++------- .../accessibility/mac/accessible.properties | 2 + dom/mathml/nsMathMLElement.cpp | 65 +++---- dom/plugins/base/nsPluginInstanceOwner.cpp | 8 +- dom/smil/nsSMILAnimationController.cpp | 2 +- dom/svg/SVGAnimationElement.cpp | 3 +- dom/svg/SVGContentUtils.cpp | 27 ++- dom/svg/SVGDocument.cpp | 4 +- dom/svg/SVGFEImageElement.cpp | 2 +- dom/svg/SVGFEMergeElement.cpp | 2 +- dom/svg/SVGForeignObjectElement.cpp | 2 +- dom/svg/SVGFragmentIdentifier.cpp | 4 +- dom/svg/SVGMPathElement.cpp | 4 +- dom/svg/SVGMotionSMILAnimationFunction.cpp | 4 +- dom/svg/SVGSVGElement.cpp | 9 +- dom/svg/SVGSVGElement.h | 4 +- dom/svg/SVGUseElement.cpp | 41 ++-- dom/svg/SVGZoomEvent.cpp | 2 +- dom/svg/nsSVGElement.cpp | 9 +- dom/svg/nsSVGFilters.cpp | 6 +- dom/svg/nsSVGLength2.cpp | 2 +- dom/workers/RuntimeService.cpp | 15 ++ dom/workers/WorkerPrivate.h | 7 + dom/workers/Workers.h | 1 + dom/xbl/XBLChildrenElement.h | 2 +- dom/xbl/nsBindingManager.cpp | 2 +- dom/xbl/nsXBLContentSink.cpp | 8 +- dom/xbl/nsXBLPrototypeBinding.cpp | 2 +- dom/xbl/nsXBLPrototypeHandler.cpp | 2 +- dom/xbl/nsXBLService.cpp | 5 +- dom/xml/nsXMLContentSink.cpp | 4 +- dom/xml/nsXMLFragmentContentSink.cpp | 6 +- dom/xslt/xpath/XPathEvaluator.cpp | 6 +- dom/xslt/xpath/txMozillaXPathTreeWalker.cpp | 5 +- dom/xslt/xpath/txXPathTreeWalker.h | 2 +- dom/xslt/xslt/txMozillaXMLOutput.cpp | 49 ++--- dom/xslt/xslt/txMozillaXSLTProcessor.cpp | 2 +- dom/xul/XULDocument.cpp | 7 +- dom/xul/nsXULElement.cpp | 26 ++- dom/xul/nsXULElement.h | 7 +- dom/xul/nsXULPopupListener.cpp | 9 +- dom/xul/templates/nsXULContentBuilder.cpp | 27 ++- dom/xul/templates/nsXULSortService.cpp | 46 ++--- dom/xul/templates/nsXULTemplateBuilder.cpp | 8 +- .../nsXULTemplateQueryProcessorRDF.cpp | 6 +- editor/composer/nsComposeTxtSrvFilter.cpp | 15 +- editor/libeditor/nsEditor.cpp | 14 +- editor/libeditor/nsEditorEventListener.cpp | 2 +- editor/libeditor/nsHTMLAbsPosition.cpp | 3 +- editor/libeditor/nsHTMLCSSUtils.cpp | 110 +++++------ editor/libeditor/nsHTMLDataTransfer.cpp | 4 +- editor/libeditor/nsHTMLEditRules.cpp | 180 ++++++++++-------- editor/libeditor/nsHTMLEditUtils.cpp | 146 +++++++------- editor/libeditor/nsHTMLEditor.cpp | 64 +++---- editor/libeditor/nsHTMLEditorStyle.cpp | 42 ++-- editor/libeditor/nsPlaintextEditor.cpp | 2 +- editor/libeditor/nsTableEditor.cpp | 12 +- editor/libeditor/nsTextEditRules.cpp | 2 +- editor/libeditor/nsTextEditUtils.cpp | 5 +- editor/txtsvc/nsTextServicesDocument.cpp | 2 +- embedding/browser/nsDocShellTreeOwner.cpp | 11 +- embedding/components/find/nsFind.cpp | 37 ++-- .../webbrowserpersist/nsWebBrowserPersist.cpp | 24 +-- .../spellcheck/src/mozInlineSpellChecker.cpp | 6 +- .../spellcheck/src/mozInlineSpellWordUtil.cpp | 5 +- image/SVGDocumentWrapper.cpp | 2 +- ipc/glue/BackgroundChildImpl.h | 28 +-- ipc/glue/BackgroundParentImpl.h | 38 ++-- layout/base/PositionedEventTargeting.cpp | 70 ++++--- layout/base/RestyleManager.cpp | 2 +- layout/base/RestyleManager.h | 8 +- layout/base/RestyleTracker.cpp | 2 +- layout/base/nsBidiPresUtils.cpp | 4 +- layout/base/nsCSSFrameConstructor.cpp | 94 ++++----- layout/base/nsCSSRendering.cpp | 2 +- layout/base/nsDisplayList.cpp | 2 +- layout/base/nsDocumentViewer.cpp | 6 +- layout/base/nsLayoutUtils.cpp | 6 +- layout/base/nsPresContext.cpp | 2 +- layout/base/nsPresShell.cpp | 15 +- layout/forms/nsImageControlFrame.cpp | 3 +- layout/forms/nsListControlFrame.cpp | 2 +- layout/forms/nsNumberControlFrame.cpp | 4 +- layout/forms/nsRangeFrame.cpp | 6 +- layout/forms/nsSelectsAreaFrame.cpp | 2 +- layout/forms/nsTextControlFrame.cpp | 2 +- layout/generic/nsBlockFrame.cpp | 16 +- layout/generic/nsContainerFrame.cpp | 2 +- layout/generic/nsFontInflationData.cpp | 2 +- layout/generic/nsFrame.cpp | 18 +- layout/generic/nsFrameSetFrame.cpp | 7 +- layout/generic/nsGfxScrollFrame.cpp | 4 +- layout/generic/nsHTMLReflowState.cpp | 10 +- layout/generic/nsImageFrame.cpp | 7 +- layout/generic/nsImageMap.cpp | 41 ++-- layout/generic/nsInlineFrame.cpp | 5 +- layout/generic/nsLineLayout.cpp | 7 +- layout/generic/nsPluginFrame.cpp | 10 +- layout/generic/nsSelection.cpp | 25 +-- layout/generic/nsSubDocumentFrame.cpp | 6 +- layout/generic/nsTextFrame.cpp | 4 +- layout/mathml/nsMathMLContainerFrame.cpp | 19 +- layout/mathml/nsMathMLFrame.cpp | 2 +- layout/mathml/nsMathMLTokenFrame.cpp | 4 +- layout/mathml/nsMathMLTokenFrame.h | 2 +- layout/mathml/nsMathMLmactionFrame.cpp | 3 +- layout/mathml/nsMathMLmmultiscriptsFrame.cpp | 28 ++- layout/mathml/nsMathMLmrowFrame.cpp | 2 +- layout/mathml/nsMathMLmtableFrame.cpp | 11 +- layout/mathml/nsMathMLmunderoverFrame.cpp | 52 ++--- layout/mathml/nsMathMLsemanticsFrame.cpp | 11 +- layout/printing/nsPrintEngine.cpp | 2 +- layout/printing/nsPrintPreviewListener.cpp | 2 +- layout/style/AnimationCommon.cpp | 2 +- .../style/SVGAttrAnimationRuleProcessor.cpp | 2 +- layout/style/nsCSSRuleProcessor.cpp | 18 +- layout/style/nsComputedDOMStyle.cpp | 9 +- layout/style/nsHTMLStyleSheet.cpp | 18 +- layout/style/nsRuleProcessorData.h | 2 +- layout/style/nsStyleSet.cpp | 5 +- layout/style/nsStyleUtil.cpp | 2 +- layout/style/nsTransitionManager.cpp | 4 +- layout/svg/SVGFEImageFrame.cpp | 2 +- layout/svg/SVGTextFrame.cpp | 42 ++-- layout/svg/SVGViewFrame.cpp | 4 +- layout/svg/nsFilterInstance.cpp | 2 +- layout/svg/nsSVGAFrame.cpp | 2 +- layout/svg/nsSVGClipPathFrame.cpp | 4 +- layout/svg/nsSVGContainerFrame.cpp | 18 +- layout/svg/nsSVGEffects.cpp | 2 +- layout/svg/nsSVGFilterFrame.cpp | 2 +- layout/svg/nsSVGForeignObjectFrame.cpp | 2 +- layout/svg/nsSVGGFrame.cpp | 2 +- layout/svg/nsSVGGradientFrame.cpp | 6 +- layout/svg/nsSVGImageFrame.cpp | 2 +- layout/svg/nsSVGInnerSVGFrame.cpp | 2 +- layout/svg/nsSVGIntegrationUtils.cpp | 2 +- layout/svg/nsSVGMarkerFrame.cpp | 2 +- layout/svg/nsSVGMaskFrame.cpp | 4 +- layout/svg/nsSVGOuterSVGFrame.cpp | 2 +- layout/svg/nsSVGPathGeometryFrame.cpp | 2 +- layout/svg/nsSVGPatternFrame.cpp | 8 +- layout/svg/nsSVGStopFrame.cpp | 2 +- layout/svg/nsSVGSwitchFrame.cpp | 6 +- layout/svg/nsSVGUseFrame.cpp | 2 +- layout/svg/nsSVGUtils.cpp | 37 ++-- layout/xul/ListBoxObject.cpp | 2 +- layout/xul/nsBox.cpp | 10 +- layout/xul/nsBoxFrame.cpp | 28 ++- layout/xul/nsListBoxBodyFrame.cpp | 14 +- layout/xul/nsMenuPopupFrame.cpp | 4 +- layout/xul/nsResizerFrame.cpp | 2 +- layout/xul/nsScrollbarButtonFrame.cpp | 4 +- layout/xul/nsXULPopupManager.cpp | 37 ++-- layout/xul/nsXULTooltipListener.cpp | 12 +- layout/xul/tree/nsTreeBodyFrame.cpp | 8 +- layout/xul/tree/nsTreeContentView.cpp | 163 ++++++++-------- layout/xul/tree/nsTreeUtils.cpp | 4 +- modules/libpref/init/all.js | 4 + netwerk/protocol/file/moz.build | 4 + parser/html/nsHtml5DocumentBuilder.cpp | 2 +- parser/html/nsHtml5TreeBuilderCppSupplement.h | 2 +- .../typeaheadfind/nsTypeAheadFind.cpp | 2 +- widget/cocoa/nsMenuBarX.mm | 3 +- widget/cocoa/nsMenuX.mm | 9 +- widget/cocoa/nsNativeThemeCocoa.mm | 14 +- widget/cocoa/nsStandaloneNativeMenu.mm | 4 +- widget/nsNativeTheme.cpp | 31 +-- widget/windows/nsNativeThemeWin.cpp | 18 +- xpcom/io/nsLocalFileUnix.cpp | 2 +- xpfe/appshell/nsXULWindow.cpp | 2 +- 286 files changed, 2461 insertions(+), 2095 deletions(-) create mode 100644 dom/fetch/FetchIPCUtils.h create mode 100644 dom/fetch/PHeaders.ipdlh diff --git a/accessible/base/ARIAMap.cpp b/accessible/base/ARIAMap.cpp index 4cc313e6db..cb285c4d3a 100644 --- a/accessible/base/ARIAMap.cpp +++ b/accessible/base/ARIAMap.cpp @@ -32,10 +32,6 @@ static const uint32_t kGenericAccType = 0; * * When no Role enum mapping exists for an ARIA role, the role will be exposed * via the object attribute "xml-roles". - * - * There are no Role enums for the following landmark roles: - * banner, contentinfo, main, navigation, note, search, secondary, - * seealso, breadcrumbs. */ static nsRoleMapEntry sWAIRoleMaps[] = @@ -67,7 +63,7 @@ static nsRoleMapEntry sWAIRoleMaps[] = eNoValue, eNoAction, eNoLiveAttr, - kGenericAccType, + eLandmark, kNoReqStates }, { // article @@ -81,6 +77,16 @@ static nsRoleMapEntry sWAIRoleMaps[] = kNoReqStates, eReadonlyUntilEditable }, + { // banner + &nsGkAtoms::banner, + roles::NOTHING, + kUseNativeRole, + eNoValue, + eNoAction, + eNoLiveAttr, + eLandmark, + kNoReqStates + }, { // button &nsGkAtoms::button, roles::PUSHBUTTON, @@ -129,6 +135,26 @@ static nsRoleMapEntry sWAIRoleMaps[] = eARIAReadonly, eARIAOrientation }, + { // complementary + &nsGkAtoms::complementary, + roles::NOTHING, + kUseNativeRole, + eNoValue, + eNoAction, + eNoLiveAttr, + eLandmark, + kNoReqStates + }, + { // contentinfo + &nsGkAtoms::contentinfo, + roles::NOTHING, + kUseNativeRole, + eNoValue, + eNoAction, + eNoLiveAttr, + eLandmark, + kNoReqStates + }, { // dialog &nsGkAtoms::dialog, roles::DIALOG, @@ -167,7 +193,7 @@ static nsRoleMapEntry sWAIRoleMaps[] = eNoValue, eNoAction, eNoLiveAttr, - kGenericAccType, + eLandmark, kNoReqStates }, { // grid @@ -290,6 +316,16 @@ static nsRoleMapEntry sWAIRoleMaps[] = kGenericAccType, kNoReqStates }, + { // main + &nsGkAtoms::main, + roles::NOTHING, + kUseNativeRole, + eNoValue, + eNoAction, + eNoLiveAttr, + eLandmark, + kNoReqStates + }, { // marquee &nsGkAtoms::marquee, roles::ANIMATION, @@ -366,6 +402,16 @@ static nsRoleMapEntry sWAIRoleMaps[] = kNoReqStates, eARIACheckableBool }, + { // navigation + &nsGkAtoms::navigation, + roles::NOTHING, + kUseNativeRole, + eNoValue, + eNoAction, + eNoLiveAttr, + eLandmark, + kNoReqStates + }, { // none &nsGkAtoms::none, roles::NOTHING, @@ -496,6 +542,29 @@ static nsRoleMapEntry sWAIRoleMaps[] = eARIAOrientation, eARIAReadonly }, + { // search + &nsGkAtoms::search, + roles::NOTHING, + kUseNativeRole, + eNoValue, + eNoAction, + eNoLiveAttr, + eLandmark, + kNoReqStates + }, + { // searchbox + &nsGkAtoms::searchbox, + roles::ENTRY, + kUseMapRole, + eNoValue, + eActivateAction, + eNoLiveAttr, + kGenericAccType, + kNoReqStates, + eARIAAutoComplete, + eARIAMultiline, + eARIAReadonlyOrEditable + }, { // separator &nsGkAtoms::separator_, roles::SEPARATOR, @@ -540,6 +609,17 @@ static nsRoleMapEntry sWAIRoleMaps[] = kGenericAccType, kNoReqStates }, + { // switch + &nsGkAtoms::_switch, + roles::SWITCH, + kUseMapRole, + eNoValue, + eCheckUncheckAction, + eNoLiveAttr, + kGenericAccType, + kNoReqStates, + eARIACheckableBool + }, { // tab &nsGkAtoms::tab, roles::PAGETAB, diff --git a/accessible/base/AccIterator.cpp b/accessible/base/AccIterator.cpp index dd47b02127..80412cda99 100644 --- a/accessible/base/AccIterator.cpp +++ b/accessible/base/AccIterator.cpp @@ -141,7 +141,7 @@ HTMLLabelIterator::Next() // element, or