Title: [234482] trunk
Revision
234482
Author
n_w...@apple.com
Date
2018-08-01 15:07:42 -0700 (Wed, 01 Aug 2018)

Log Message

AX: AOM: Add ARIA IDL Attribute Reflection
https://bugs.webkit.org/show_bug.cgi?id=184676
<rdar://problem/39476882>

Source/WebCore:

Reviewed by Chris Fleizach.

Test: accessibility/ARIA-reflection.html

* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* accessibility/AccessibilityRole.idl: Added.
* accessibility/AriaAttributes.idl: Added.
* dom/Element.idl:
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setAriaReflectionEnabled):
(WebCore::RuntimeEnabledFeatures::ariaReflectionEnabled const):

Source/WebKit:

Added ARIA property string reflection on Element, behind
a new runtime flag. 
Spec: https://w3c.github.io/aria/#idl-interface

Reviewed by Chris Fleizach.

* Shared/WebPreferences.yaml:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAriaReflectionEnabled):
(WKPreferencesGetAriaReflectionEnabled):
* UIProcess/API/C/WKPreferencesRefPrivate.h:

Source/WebKitLegacy/mac:

Reviewed by Chris Fleizach.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences ariaReflectionEnabled]):
(-[WebPreferences setAriaReflectionEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Tools:

Reviewed by Chris Fleizach.

* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

Reviewed by Chris Fleizach.

* accessibility/ARIA-reflection-expected.txt: Added.
* accessibility/ARIA-reflection.html: Added.
* js/dom/dom-static-property-for-in-iteration.html:
* platform/win/TestExpectations:

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (234481 => 234482)


--- trunk/LayoutTests/ChangeLog	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/LayoutTests/ChangeLog	2018-08-01 22:07:42 UTC (rev 234482)
@@ -1,3 +1,16 @@
+2018-08-01  Nan Wang  <n_w...@apple.com>
+
+        AX: AOM: Add ARIA IDL Attribute Reflection
+        https://bugs.webkit.org/show_bug.cgi?id=184676
+        <rdar://problem/39476882>
+
+        Reviewed by Chris Fleizach.
+
+        * accessibility/ARIA-reflection-expected.txt: Added.
+        * accessibility/ARIA-reflection.html: Added.
+        * js/dom/dom-static-property-for-in-iteration.html:
+        * platform/win/TestExpectations:
+
 2018-08-01  David Fenton  <david_fen...@apple.com>
 
         Layout Test editing/selection/update-selection-by-style-change.html is flaky.

Added: trunk/LayoutTests/accessibility/ARIA-reflection-expected.txt (0 => 234482)


--- trunk/LayoutTests/accessibility/ARIA-reflection-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/accessibility/ARIA-reflection-expected.txt	2018-08-01 22:07:42 UTC (rev 234482)
@@ -0,0 +1,388 @@
+This tests ARIA IDL Attribute Reflection.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+
+Test role < - > role
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["role"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("role", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaActiveDescendant < - > aria-activedescendant
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaActiveDescendant"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-activedescendant", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaAtomic < - > aria-atomic
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaAtomic"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-atomic", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaAutoComplete < - > aria-autocomplete
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaAutoComplete"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-autocomplete", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaBusy < - > aria-busy
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaBusy"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-busy", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaChecked < - > aria-checked
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaChecked"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-checked", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaColCount < - > aria-colcount
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaColCount"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-colcount", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaColIndex < - > aria-colindex
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaColIndex"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-colindex", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaColSpan < - > aria-colspan
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaColSpan"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-colspan", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaControls < - > aria-controls
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaControls"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-controls", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaCurrent < - > aria-current
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaCurrent"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-current", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaDescribedBy < - > aria-describedby
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaDescribedBy"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-describedby", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaDetails < - > aria-details
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaDetails"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-details", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaDisabled < - > aria-disabled
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaDisabled"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-disabled", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaErrorMessage < - > aria-errormessage
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaErrorMessage"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-errormessage", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaExpanded < - > aria-expanded
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaExpanded"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-expanded", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaFlowTo < - > aria-flowto
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaFlowTo"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-flowto", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaHasPopup < - > aria-haspopup
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaHasPopup"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-haspopup", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaHidden < - > aria-hidden
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaHidden"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-hidden", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaInvalid < - > aria-invalid
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaInvalid"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-invalid", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaKeyShortcuts < - > aria-keyshortcuts
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaKeyShortcuts"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-keyshortcuts", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaLabel < - > aria-label
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaLabel"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-label", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaLabelledBy < - > aria-labelledby
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaLabelledBy"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-labelledby", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaLevel < - > aria-level
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaLevel"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-level", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaLive < - > aria-live
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaLive"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-live", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaModal < - > aria-modal
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaModal"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-modal", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaMultiLine < - > aria-multiline
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaMultiLine"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-multiline", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaMultiSelectable < - > aria-multiselectable
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaMultiSelectable"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-multiselectable", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaOrientation < - > aria-orientation
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaOrientation"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-orientation", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaOwns < - > aria-owns
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaOwns"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-owns", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaPlaceholder < - > aria-placeholder
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaPlaceholder"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-placeholder", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaPosInSet < - > aria-posinset
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaPosInSet"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-posinset", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaPressed < - > aria-pressed
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaPressed"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-pressed", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaReadOnly < - > aria-readonly
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaReadOnly"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-readonly", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaRelevant < - > aria-relevant
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaRelevant"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-relevant", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaRequired < - > aria-required
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaRequired"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-required", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaRoleDescription < - > aria-roledescription
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaRoleDescription"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-roledescription", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaRowCount < - > aria-rowcount
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaRowCount"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-rowcount", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaRowIndex < - > aria-rowindex
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaRowIndex"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-rowindex", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaRowSpan < - > aria-rowspan
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaRowSpan"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-rowspan", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaSelected < - > aria-selected
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaSelected"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-selected", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaSetSize < - > aria-setsize
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaSetSize"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-setsize", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaSort < - > aria-sort
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaSort"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-sort", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaValueMax < - > aria-valuemax
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaValueMax"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-valuemax", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaValueMin < - > aria-valuemin
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaValueMin"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-valuemin", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaValueNow < - > aria-valuenow
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaValueNow"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-valuenow", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaValueText < - > aria-valuetext
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaValueText"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-valuetext", otherData);
+PASS element[currentProperty] is otherData
+
+
+PASS count is 46
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/accessibility/ARIA-reflection.html (0 => 234482)


--- trunk/LayoutTests/accessibility/ARIA-reflection.html	                        (rev 0)
+++ trunk/LayoutTests/accessibility/ARIA-reflection.html	2018-08-01 22:07:42 UTC (rev 234482)
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html>
+<body id="body">
+<script src=""
+<div id="content">
+
+<div id="test" data="" data">
+
+</div>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+    description("This tests ARIA IDL Attribute Reflection.");
+
+    var element = document.getElementById("test");
+    var data = ""
+    var otherData = "other data";
+    var currentProperty;
+    var currentAttribute;
+
+    function testElement() {
+        currentAttribute = currentProperty.replace("aria", "aria-").toLowerCase();
+        
+        debug("\nTest " + currentProperty + " < - > " + currentAttribute);
+        shouldBeNull("element[currentProperty]");
+        shouldBeNull("element.getAttribute(currentAttribute)");
+        
+        // Set the property value
+        debug("element[\"" + currentProperty + "\"] = data;");
+        element[currentProperty] = data;
+        shouldBe("element.getAttribute(currentAttribute)", "data");
+
+        // Set the attribute value
+        debug("element.setAttribute(\"" + currentAttribute + "\", otherData);");
+        element.setAttribute(currentAttribute, otherData);
+        shouldBe("element[currentProperty]", "otherData");
+    }
+
+    function testRole() {
+        currentProperty = "role";
+        testElement();
+    }
+
+    if (window.accessibilityController) {
+
+        testRole();
+
+        // There are 46 ARIA attributes in total.
+        var count = 0;
+        for (var propertyName in element) {
+          if (propertyName.startsWith("aria")) {
+              currentProperty = propertyName;
+              testElement();
+              count++;
+          }
+        }
+
+        debug("\n");
+        shouldBe("count", "46");
+
+    } else {
+        testFailed("Could not load accessibility controller");
+    }
+
+</script>
+
+<script src=""
+</body>
+</html>

Modified: trunk/LayoutTests/js/dom/dom-static-property-for-in-iteration.html (234481 => 234482)


--- trunk/LayoutTests/js/dom/dom-static-property-for-in-iteration.html	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/LayoutTests/js/dom/dom-static-property-for-in-iteration.html	2018-08-01 22:07:42 UTC (rev 234482)
@@ -27,6 +27,9 @@
                     continue;
                 if (i === "href" || i === "pathname" || i === "baseURI")
                     continue;
+                // ARIA attributes are tested in another test.
+                if (i === "role" || i.startsWith("aria"))
+                    continue;
                 realShouldBe(expected, "a[\"" + i + "\"]", actual);
             }
         }

Modified: trunk/LayoutTests/platform/win/TestExpectations (234481 => 234482)


--- trunk/LayoutTests/platform/win/TestExpectations	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/LayoutTests/platform/win/TestExpectations	2018-08-01 22:07:42 UTC (rev 234482)
@@ -1715,6 +1715,8 @@
 # Text marker tests are not supported
 webkit.org/b/153292 accessibility/text-marker [ Skip ]
 
+webkit.org/b/184676 accessibility/ARIA-reflection.html [ Skip ]
+
 ################################################################################
 #######################   End Accessibility Issues   ###########################
 ################################################################################

Modified: trunk/Source/WebCore/CMakeLists.txt (234481 => 234482)


--- trunk/Source/WebCore/CMakeLists.txt	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebCore/CMakeLists.txt	2018-08-01 22:07:42 UTC (rev 234482)
@@ -439,7 +439,9 @@
     Modules/webvr/VRPose.idl
     Modules/webvr/VRStageParameters.idl
 
+    accessibility/AccessibilityRole.idl
     accessibility/AccessibleSetValueEvent.idl
+    accessibility/AriaAttributes.idl
 
     animation/Animatable.idl
     animation/AnimationEffectReadOnly.idl

Modified: trunk/Source/WebCore/ChangeLog (234481 => 234482)


--- trunk/Source/WebCore/ChangeLog	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebCore/ChangeLog	2018-08-01 22:07:42 UTC (rev 234482)
@@ -1,3 +1,23 @@
+2018-08-01  Nan Wang  <n_w...@apple.com>
+
+        AX: AOM: Add ARIA IDL Attribute Reflection
+        https://bugs.webkit.org/show_bug.cgi?id=184676
+        <rdar://problem/39476882>
+
+        Reviewed by Chris Fleizach.
+
+        Test: accessibility/ARIA-reflection.html
+
+        * CMakeLists.txt:
+        * DerivedSources.make:
+        * WebCore.xcodeproj/project.pbxproj:
+        * accessibility/AccessibilityRole.idl: Added.
+        * accessibility/AriaAttributes.idl: Added.
+        * dom/Element.idl:
+        * page/RuntimeEnabledFeatures.h:
+        (WebCore::RuntimeEnabledFeatures::setAriaReflectionEnabled):
+        (WebCore::RuntimeEnabledFeatures::ariaReflectionEnabled const):
+
 2018-08-01  Zalan Bujtas  <za...@apple.com>
 
         [LFC][Floating] Revert back to only one list for the all the floatings.

Modified: trunk/Source/WebCore/DerivedSources.make (234481 => 234482)


--- trunk/Source/WebCore/DerivedSources.make	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebCore/DerivedSources.make	2018-08-01 22:07:42 UTC (rev 234482)
@@ -360,7 +360,9 @@
     $(WebCore)/Modules/webvr/VRLayerInit.idl \
     $(WebCore)/Modules/webvr/VRPose.idl \
     $(WebCore)/Modules/webvr/VRStageParameters.idl \
+    $(WebCore)/accessibility/AccessibilityRole.idl \
     $(WebCore)/accessibility/AccessibleSetValueEvent.idl \
+    $(WebCore)/accessibility/AriaAttributes.idl \
     $(WebCore)/animation/Animatable.idl \
     $(WebCore)/animation/AnimationEffectReadOnly.idl \
     $(WebCore)/animation/AnimationEffectTiming.idl \

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (234481 => 234482)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2018-08-01 22:07:42 UTC (rev 234482)
@@ -11750,6 +11750,8 @@
 		A9D248030D757E7D00FDF959 /* JSDOMMimeType.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSDOMMimeType.h; sourceTree = "<group>"; };
 		A9D248040D757E7D00FDF959 /* JSDOMMimeTypeArray.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMMimeTypeArray.cpp; sourceTree = "<group>"; };
 		A9D248050D757E7D00FDF959 /* JSDOMMimeTypeArray.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSDOMMimeTypeArray.h; sourceTree = "<group>"; };
+		A9EE448C210FC9AD00B6EAE6 /* AriaAttributes.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AriaAttributes.idl; sourceTree = "<group>"; };
+		A9EE448F210FD69A00B6EAE6 /* AccessibilityRole.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = AccessibilityRole.idl; sourceTree = "<group>"; };
 		A9F2E0E720475CDC00512855 /* AccessibleSetValueEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibleSetValueEvent.cpp; sourceTree = "<group>"; };
 		A9F2E0E820475CDC00512855 /* AccessibleSetValueEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibleSetValueEvent.h; sourceTree = "<group>"; };
 		A9F2E0E920475CDE00512855 /* AccessibleSetValueEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AccessibleSetValueEvent.idl; sourceTree = "<group>"; };
@@ -16556,6 +16558,8 @@
 				A9F2E0E720475CDC00512855 /* AccessibleSetValueEvent.cpp */,
 				A9F2E0E820475CDC00512855 /* AccessibleSetValueEvent.h */,
 				A9F2E0E920475CDE00512855 /* AccessibleSetValueEvent.idl */,
+				A9EE448F210FD69A00B6EAE6 /* AccessibilityRole.idl */,
+				A9EE448C210FC9AD00B6EAE6 /* AriaAttributes.idl */,
 				2981CAAF131822EC00D12F2A /* AXObjectCache.cpp */,
 				29A8121A0FBB9C1D00510293 /* AXObjectCache.h */,
 				91C9F2F81AE3BE240095B61C /* AXTextStateChangeIntent.h */,

Added: trunk/Source/WebCore/accessibility/AccessibilityRole.idl (0 => 234482)


--- trunk/Source/WebCore/accessibility/AccessibilityRole.idl	                        (rev 0)
+++ trunk/Source/WebCore/accessibility/AccessibilityRole.idl	2018-08-01 22:07:42 UTC (rev 234482)
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    EnabledAtRuntime=AriaReflection,
+    NoInterfaceObject,
+] interface AccessibilityRole {
+    [Reflect] attribute DOMString? role;
+};

Added: trunk/Source/WebCore/accessibility/AriaAttributes.idl (0 => 234482)


--- trunk/Source/WebCore/accessibility/AriaAttributes.idl	                        (rev 0)
+++ trunk/Source/WebCore/accessibility/AriaAttributes.idl	2018-08-01 22:07:42 UTC (rev 234482)
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    EnabledAtRuntime=AriaReflection,
+    NoInterfaceObject,
+] interface AriaAttributes {
+    [Reflect=aria_activedescendant] attribute DOMString? ariaActiveDescendant;
+    [Reflect=aria_atomic]           attribute DOMString? ariaAtomic;
+    [Reflect=aria_autocomplete]     attribute DOMString? ariaAutoComplete;
+    [Reflect=aria_busy]             attribute DOMString? ariaBusy;
+    [Reflect=aria_checked]          attribute DOMString? ariaChecked;
+    [Reflect=aria_colcount]         attribute DOMString? ariaColCount;
+    [Reflect=aria_colindex]         attribute DOMString? ariaColIndex;
+    [Reflect=aria_colspan]          attribute DOMString? ariaColSpan;
+    [Reflect=aria_controls]         attribute DOMString? ariaControls;
+    [Reflect=aria_current]          attribute DOMString? ariaCurrent;
+    [Reflect=aria_describedby]      attribute DOMString? ariaDescribedBy;
+    [Reflect=aria_details]          attribute DOMString? ariaDetails;
+    [Reflect=aria_disabled]         attribute DOMString? ariaDisabled;
+    [Reflect=aria_errormessage]     attribute DOMString? ariaErrorMessage;
+    [Reflect=aria_expanded]         attribute DOMString? ariaExpanded;
+    [Reflect=aria_flowto]           attribute DOMString? ariaFlowTo;
+    [Reflect=aria_haspopup]         attribute DOMString? ariaHasPopup;
+    [Reflect=aria_hidden]           attribute DOMString? ariaHidden;
+    [Reflect=aria_invalid]          attribute DOMString? ariaInvalid;
+    [Reflect=aria_keyshortcuts]     attribute DOMString? ariaKeyShortcuts;
+    [Reflect=aria_label]            attribute DOMString? ariaLabel;
+    [Reflect=aria_labelledby]       attribute DOMString? ariaLabelledBy;
+    [Reflect=aria_level]            attribute DOMString? ariaLevel;
+    [Reflect=aria_live]             attribute DOMString? ariaLive;
+    [Reflect=aria_modal]            attribute DOMString? ariaModal;
+    [Reflect=aria_multiline]        attribute DOMString? ariaMultiLine;
+    [Reflect=aria_multiselectable]  attribute DOMString? ariaMultiSelectable;
+    [Reflect=aria_orientation]      attribute DOMString? ariaOrientation;
+    [Reflect=aria_owns]             attribute DOMString? ariaOwns;
+    [Reflect=aria_placeholder]      attribute DOMString? ariaPlaceholder;
+    [Reflect=aria_posinset]         attribute DOMString? ariaPosInSet;
+    [Reflect=aria_pressed]          attribute DOMString? ariaPressed;
+    [Reflect=aria_readonly]         attribute DOMString? ariaReadOnly;
+    [Reflect=aria_relevant]         attribute DOMString? ariaRelevant;
+    [Reflect=aria_required]         attribute DOMString? ariaRequired;
+    [Reflect=aria_roledescription]  attribute DOMString? ariaRoleDescription;
+    [Reflect=aria_rowcount]         attribute DOMString? ariaRowCount;
+    [Reflect=aria_rowindex]         attribute DOMString? ariaRowIndex;
+    [Reflect=aria_rowspan]          attribute DOMString? ariaRowSpan;
+    [Reflect=aria_selected]         attribute DOMString? ariaSelected;
+    [Reflect=aria_setsize]          attribute DOMString? ariaSetSize;
+    [Reflect=aria_sort]             attribute DOMString? ariaSort;
+    [Reflect=aria_valuemax]         attribute DOMString? ariaValueMax;
+    [Reflect=aria_valuemin]         attribute DOMString? ariaValueMin;
+    [Reflect=aria_valuenow]         attribute DOMString? ariaValueNow;
+    [Reflect=aria_valuetext]        attribute DOMString? ariaValueText;
+};

Modified: trunk/Source/WebCore/dom/Element.idl (234481 => 234482)


--- trunk/Source/WebCore/dom/Element.idl	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebCore/dom/Element.idl	2018-08-01 22:07:42 UTC (rev 234482)
@@ -158,6 +158,8 @@
     required ShadowRootMode mode;
 };
 
+Element implements AccessibilityRole;
+Element implements AriaAttributes;
 Element implements Animatable;
 Element implements ChildNode;
 Element implements DocumentAndElementEventHandlers;

Modified: trunk/Source/WebCore/page/RuntimeEnabledFeatures.h (234481 => 234482)


--- trunk/Source/WebCore/page/RuntimeEnabledFeatures.h	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebCore/page/RuntimeEnabledFeatures.h	2018-08-01 22:07:42 UTC (rev 234482)
@@ -243,6 +243,9 @@
 
     void setAccessibilityObjectModelEnabled(bool isEnabled) { m_accessibilityObjectModelEnabled = isEnabled; }
     bool accessibilityObjectModelEnabled() const { return m_accessibilityObjectModelEnabled; }
+    
+    void setAriaReflectionEnabled(bool isEnabled) { m_ariaReflectionEnabled = isEnabled; }
+    bool ariaReflectionEnabled() const { return m_ariaReflectionEnabled; }
 
     void setMediaCapabilitiesEnabled(bool isEnabled) { m_mediaCapabilitiesEnabled = isEnabled; }
     bool mediaCapabilitiesEnabled() const { return m_mediaCapabilitiesEnabled; }
@@ -402,6 +405,7 @@
     bool m_inspectorAdditionsEnabled { false };
     bool m_webVREnabled { false };
     bool m_accessibilityObjectModelEnabled { false };
+    bool m_ariaReflectionEnabled { true };
     bool m_mediaCapabilitiesEnabled { false };
     bool m_resourceLoadStatisticsDebugMode { false };
     bool m_isRestrictedHTTPResponseAccess { true };

Modified: trunk/Source/WebKit/ChangeLog (234481 => 234482)


--- trunk/Source/WebKit/ChangeLog	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKit/ChangeLog	2018-08-01 22:07:42 UTC (rev 234482)
@@ -1,3 +1,21 @@
+2018-08-01  Nan Wang  <n_w...@apple.com>
+
+        AX: AOM: Add ARIA IDL Attribute Reflection
+        https://bugs.webkit.org/show_bug.cgi?id=184676
+        <rdar://problem/39476882>
+
+        Added ARIA property string reflection on Element, behind
+        a new runtime flag. 
+        Spec: https://w3c.github.io/aria/#idl-interface
+
+        Reviewed by Chris Fleizach.
+
+        * Shared/WebPreferences.yaml:
+        * UIProcess/API/C/WKPreferences.cpp:
+        (WKPreferencesSetAriaReflectionEnabled):
+        (WKPreferencesGetAriaReflectionEnabled):
+        * UIProcess/API/C/WKPreferencesRefPrivate.h:
+
 2018-08-01  Alex Christensen  <achristen...@webkit.org>
 
         Allow WebFramePolicyListenerProxy to be used multiple times

Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (234481 => 234482)


--- trunk/Source/WebKit/Shared/WebPreferences.yaml	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml	2018-08-01 22:07:42 UTC (rev 234482)
@@ -1231,6 +1231,14 @@
   category: experimental
   webcoreBinding: RuntimeEnabledFeatures
 
+AriaReflectionEnabled:
+  type: bool
+  defaultValue: true
+  humanReadableName: "ARIA Reflection"
+  humanReadableDescription: "ARIA Reflection support"
+  category: experimental
+  webcoreBinding: RuntimeEnabledFeatures
+
 WebVREnabled:
   type: bool
   defaultValue: DEFAULT_EXPERIMENTAL_FEATURES_ENABLED

Modified: trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp (234481 => 234482)


--- trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp	2018-08-01 22:07:42 UTC (rev 234482)
@@ -1958,6 +1958,16 @@
     return toImpl(preferencesRef)->accessibilityObjectModelEnabled();
 }
 
+void WKPreferencesSetAriaReflectionEnabled(WKPreferencesRef preferencesRef, bool flag)
+{
+    toImpl(preferencesRef)->setAriaReflectionEnabled(flag);
+}
+
+bool WKPreferencesGetAriaReflectionEnabled(WKPreferencesRef preferencesRef)
+{
+    return toImpl(preferencesRef)->ariaReflectionEnabled();
+}
+
 void WKPreferencesSetShouldAllowUserInstalledFonts(WKPreferencesRef preferencesRef, bool flag)
 {
     toImpl(preferencesRef)->setShouldAllowUserInstalledFonts(flag);

Modified: trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h (234481 => 234482)


--- trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h	2018-08-01 22:07:42 UTC (rev 234482)
@@ -557,6 +557,10 @@
 WK_EXPORT void WKPreferencesSetAccessibilityObjectModelEnabled(WKPreferencesRef, bool flag);
 WK_EXPORT bool WKPreferencesGetAccessibilityObjectModelEnabled(WKPreferencesRef);
 
+// Defaults to true
+WK_EXPORT void WKPreferencesSetAriaReflectionEnabled(WKPreferencesRef, bool flag);
+WK_EXPORT bool WKPreferencesGetAriaReflectionEnabled(WKPreferencesRef);
+
 // Defaults to false.
 WK_EXPORT void WKPreferencesSetShouldAllowUserInstalledFonts(WKPreferencesRef, bool flag);
 WK_EXPORT bool WKPreferencesGetShouldAllowUserInstalledFonts(WKPreferencesRef);

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (234481 => 234482)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2018-08-01 22:07:42 UTC (rev 234482)
@@ -1,3 +1,20 @@
+2018-08-01  Nan Wang  <n_w...@apple.com>
+
+        AX: AOM: Add ARIA IDL Attribute Reflection
+        https://bugs.webkit.org/show_bug.cgi?id=184676
+        <rdar://problem/39476882>
+
+        Reviewed by Chris Fleizach.
+
+        * WebView/WebPreferenceKeysPrivate.h:
+        * WebView/WebPreferences.mm:
+        (+[WebPreferences initialize]):
+        (-[WebPreferences ariaReflectionEnabled]):
+        (-[WebPreferences setAriaReflectionEnabled:]):
+        * WebView/WebPreferencesPrivate.h:
+        * WebView/WebView.mm:
+        (-[WebView _preferencesChanged:]):
+
 2018-07-30  Simon Fraser  <simon.fra...@apple.com>
 
         Shrink GraphicsLayerCA

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h (234481 => 234482)


--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h	2018-08-01 22:07:42 UTC (rev 234482)
@@ -258,5 +258,6 @@
 #define WebKitAllowMediaContentTypesRequiringHardwareSupportAsFallbackKey @"WebKitAllowMediaContentTypesRequiringHardwareSupportAsFallback"
 #define WebKitInspectorAdditionsEnabledPreferenceKey @"WebKitInspectorAdditionsEnabled"
 #define WebKitAccessibilityObjectModelEnabledPreferenceKey @"WebKitAccessibilityObjectModelEnabled"
+#define WebKitAriaReflectionEnabledPreferenceKey @"WebKitAriaReflectionEnabled"
 #define WebKitMediaCapabilitiesEnabledPreferenceKey @"WebKitMediaCapabilitiesEnabled"
 #define WebKitServerTimingEnabledPreferenceKey @"WebKitServerTimingEnabled"

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm (234481 => 234482)


--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm	2018-08-01 22:07:42 UTC (rev 234482)
@@ -682,6 +682,7 @@
         @NO, WebKitInspectorAdditionsEnabledPreferenceKey,
         (NSString *)Settings::defaultMediaContentTypesRequiringHardwareSupport(), WebKitMediaContentTypesRequiringHardwareSupportPreferenceKey,
         @NO, WebKitAccessibilityObjectModelEnabledPreferenceKey,
+        @YES, WebKitAriaReflectionEnabledPreferenceKey,
         @NO, WebKitMediaCapabilitiesEnabledPreferenceKey,
         @NO, WebKitFetchAPIKeepAliveEnabledPreferenceKey,
         @NO, WebKitServerTimingEnabledPreferenceKey,
@@ -3323,6 +3324,16 @@
     [self _setBoolValue:flag forKey:WebKitAccessibilityObjectModelEnabledPreferenceKey];
 }
 
+- (BOOL)ariaReflectionEnabled
+{
+    return [self _boolValueForKey:WebKitAriaReflectionEnabledPreferenceKey];
+}
+
+- (void)setAriaReflectionEnabled:(BOOL)flag
+{
+    [self _setBoolValue:flag forKey:WebKitAriaReflectionEnabledPreferenceKey];
+}
+
 - (BOOL)mediaCapabilitiesEnabled
 {
     return [self _boolValueForKey:WebKitMediaCapabilitiesEnabledPreferenceKey];

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h (234481 => 234482)


--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h	2018-08-01 22:07:42 UTC (rev 234482)
@@ -608,6 +608,7 @@
 @property (nonatomic) BOOL inspectorAdditionsEnabled;
 @property (nonatomic) BOOL allowMediaContentTypesRequiringHardwareSupportAsFallback;
 @property (nonatomic) BOOL accessibilityObjectModelEnabled;
+@property (nonatomic) BOOL ariaReflectionEnabled;
 @property (nonatomic) BOOL mediaCapabilitiesEnabled;
 @property (nonatomic) BOOL allowCrossOriginSubresourcesToAskForCredentials;
 

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (234481 => 234482)


--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2018-08-01 22:07:42 UTC (rev 234482)
@@ -3125,6 +3125,7 @@
     RuntimeEnabledFeatures::sharedFeatures().setDirectoryUploadEnabled([preferences directoryUploadEnabled]);
     RuntimeEnabledFeatures::sharedFeatures().setMenuItemElementEnabled([preferences menuItemElementEnabled]);
     RuntimeEnabledFeatures::sharedFeatures().setAccessibilityObjectModelEnabled([preferences accessibilityObjectModelEnabled]);
+    RuntimeEnabledFeatures::sharedFeatures().setAriaReflectionEnabled([preferences ariaReflectionEnabled]);
     RuntimeEnabledFeatures::sharedFeatures().setMediaCapabilitiesEnabled([preferences mediaCapabilitiesEnabled]);
     RuntimeEnabledFeatures::sharedFeatures().setFetchAPIKeepAliveEnabled([preferences fetchAPIKeepAliveEnabled]);
 

Modified: trunk/Tools/ChangeLog (234481 => 234482)


--- trunk/Tools/ChangeLog	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Tools/ChangeLog	2018-08-01 22:07:42 UTC (rev 234482)
@@ -1,3 +1,16 @@
+2018-08-01  Nan Wang  <n_w...@apple.com>
+
+        AX: AOM: Add ARIA IDL Attribute Reflection
+        https://bugs.webkit.org/show_bug.cgi?id=184676
+        <rdar://problem/39476882>
+
+        Reviewed by Chris Fleizach.
+
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        (enableExperimentalFeatures):
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::resetPreferencesToConsistentValues):
+
 2018-08-01  Jonathan Bedard  <jbed...@apple.com>
 
         Use iPhone SE as the default simulated device

Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (234481 => 234482)


--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2018-08-01 22:07:42 UTC (rev 234482)
@@ -862,6 +862,7 @@
     [preferences setWritableStreamAPIEnabled:YES];
     preferences.encryptedMediaAPIEnabled = YES;
     [preferences setAccessibilityObjectModelEnabled:YES];
+    [preferences setAriaReflectionEnabled:YES];
     [preferences setVisualViewportAPIEnabled:YES];
     [preferences setColorFilterEnabled:YES];
     [preferences setCrossOriginWindowPolicySupportEnabled:YES];

Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (234481 => 234482)


--- trunk/Tools/WebKitTestRunner/TestController.cpp	2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp	2018-08-01 22:07:42 UTC (rev 234482)
@@ -772,6 +772,7 @@
     WKPreferencesSetStorageAccessAPIEnabled(preferences, true);
     
     WKPreferencesSetAccessibilityObjectModelEnabled(preferences, true);
+    WKPreferencesSetAriaReflectionEnabled(preferences, true);
     WKPreferencesSetMediaCapabilitiesEnabled(preferences, true);
 
     WKPreferencesSetCrossOriginWindowPolicyEnabled(preferences, true);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to