Title: [236623] trunk
Revision
236623
Author
[email protected]
Date
2018-09-28 16:18:28 -0700 (Fri, 28 Sep 2018)

Log Message

Drop support for cross-origin-window-policy header
https://bugs.webkit.org/show_bug.cgi?id=190081

Reviewed by Ryosuke Niwa.

Source/WebCore:

Drop support for cross-origin-window-policy header as this was never enabled and its design has
some issues we have not resolved. An alternative is being worked on but will be substantially
different so there is not much value in keeping this code around.

* bindings/js/JSDOMBindingSecurity.cpp:
* bindings/js/JSDOMBindingSecurity.h:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
(WebCore::addCrossOriginWindowPropertyNames):
(WebCore::addScopedChildrenIndexes):
(WebCore::addCrossOriginWindowOwnPropertyNames):
(WebCore::JSDOMWindow::getOwnPropertyNames):
* bindings/js/JSDOMWindowCustom.h:
* bindings/js/JSRemoteDOMWindowCustom.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateAttributeGetterBodyDefinition):
(GenerateAttributeSetterBodyDefinition):
(GenerateOperationBodyDefinition):
* bindings/scripts/IDLAttributes.json:
* dom/Document.cpp:
(WebCore::Document::canNavigate):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument):
* page/AbstractDOMWindow.cpp:
(WebCore::AbstractDOMWindow::AbstractDOMWindow):
* page/AbstractDOMWindow.h:
* page/DOMWindow.idl:
* page/Settings.yaml:
* platform/network/HTTPParsers.cpp:
* platform/network/HTTPParsers.h:

Source/WebKit:

* Shared/WebPreferences.yaml:
* UIProcess/API/C/WKPreferences.cpp:
* UIProcess/API/C/WKPreferencesRef.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::frameBecameRemote):

Source/WebKitLegacy/mac:

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

Source/WebKitLegacy/win:

* WebPreferenceKeysPrivate.h:
* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::crossOriginWindowPolicySupportEnabled):
(WebPreferences::setCrossOriginWindowPolicySupportEnabled):
* WebView.cpp:
(WebView::notifyPreferencesChanged):

Tools:

190081_DropCrossOriginWindowPolicy

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

LayoutTests:

* http/wpt/cross-origin-window-policy/allow-postmessage-expected.txt: Removed.
* http/wpt/cross-origin-window-policy/allow-postmessage-from-deny-expected.txt: Removed.
* http/wpt/cross-origin-window-policy/allow-postmessage-from-deny.html: Removed.
* http/wpt/cross-origin-window-policy/allow-postmessage-from-deny.html.headers: Removed.
* http/wpt/cross-origin-window-policy/allow-postmessage.html: Removed.
* http/wpt/cross-origin-window-policy/cross-origin-window-policy-header-expected.txt: Removed.
* http/wpt/cross-origin-window-policy/cross-origin-window-policy-header.html: Removed.
* http/wpt/cross-origin-window-policy/navigation-from-opener-via-open-target-expected.txt: Removed.
* http/wpt/cross-origin-window-policy/navigation-from-opener-via-open-target.html: Removed.
* http/wpt/cross-origin-window-policy/navigation-from-subframe-via-anchor-target-expected.txt: Removed.
* http/wpt/cross-origin-window-policy/navigation-from-subframe-via-anchor-target.html: Removed.
* http/wpt/cross-origin-window-policy/resources/cross-origin-window-policy-allow-postmessage-pong.html: Removed.
* http/wpt/cross-origin-window-policy/resources/cross-origin-window-policy-allow-postmessage-pong.html.headers: Removed.
* http/wpt/cross-origin-window-policy/resources/destination.html: Removed.
* http/wpt/cross-origin-window-policy/resources/navigate-parent-via-anchor.html: Removed.
* http/wpt/cross-origin-window-policy/resources/navigation-from-subframe-frame.py: Removed.
* http/wpt/cross-origin-window-policy/resources/serve-cross-origin-window-policy-header.py: Removed.
* http/wpt/cross-origin-window-policy/resources/utils.js: Removed.

Modified Paths

Removed Paths

  • trunk/LayoutTests/http/wpt/cross-origin-window-policy/

Diff

Modified: trunk/LayoutTests/ChangeLog (236622 => 236623)


--- trunk/LayoutTests/ChangeLog	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/LayoutTests/ChangeLog	2018-09-28 23:18:28 UTC (rev 236623)
@@ -1,3 +1,29 @@
+2018-09-28  Chris Dumez  <[email protected]>
+
+        Drop support for cross-origin-window-policy header
+        https://bugs.webkit.org/show_bug.cgi?id=190081
+
+        Reviewed by Ryosuke Niwa.
+
+        * http/wpt/cross-origin-window-policy/allow-postmessage-expected.txt: Removed.
+        * http/wpt/cross-origin-window-policy/allow-postmessage-from-deny-expected.txt: Removed.
+        * http/wpt/cross-origin-window-policy/allow-postmessage-from-deny.html: Removed.
+        * http/wpt/cross-origin-window-policy/allow-postmessage-from-deny.html.headers: Removed.
+        * http/wpt/cross-origin-window-policy/allow-postmessage.html: Removed.
+        * http/wpt/cross-origin-window-policy/cross-origin-window-policy-header-expected.txt: Removed.
+        * http/wpt/cross-origin-window-policy/cross-origin-window-policy-header.html: Removed.
+        * http/wpt/cross-origin-window-policy/navigation-from-opener-via-open-target-expected.txt: Removed.
+        * http/wpt/cross-origin-window-policy/navigation-from-opener-via-open-target.html: Removed.
+        * http/wpt/cross-origin-window-policy/navigation-from-subframe-via-anchor-target-expected.txt: Removed.
+        * http/wpt/cross-origin-window-policy/navigation-from-subframe-via-anchor-target.html: Removed.
+        * http/wpt/cross-origin-window-policy/resources/cross-origin-window-policy-allow-postmessage-pong.html: Removed.
+        * http/wpt/cross-origin-window-policy/resources/cross-origin-window-policy-allow-postmessage-pong.html.headers: Removed.
+        * http/wpt/cross-origin-window-policy/resources/destination.html: Removed.
+        * http/wpt/cross-origin-window-policy/resources/navigate-parent-via-anchor.html: Removed.
+        * http/wpt/cross-origin-window-policy/resources/navigation-from-subframe-frame.py: Removed.
+        * http/wpt/cross-origin-window-policy/resources/serve-cross-origin-window-policy-header.py: Removed.
+        * http/wpt/cross-origin-window-policy/resources/utils.js: Removed.
+
 2018-09-28  Andy Estes  <[email protected]>
 
         [Apple Pay] Remove the "in-store" button type

Modified: trunk/Source/WebCore/ChangeLog (236622 => 236623)


--- trunk/Source/WebCore/ChangeLog	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/ChangeLog	2018-09-28 23:18:28 UTC (rev 236623)
@@ -1,3 +1,42 @@
+2018-09-28  Chris Dumez  <[email protected]>
+
+        Drop support for cross-origin-window-policy header
+        https://bugs.webkit.org/show_bug.cgi?id=190081
+
+        Reviewed by Ryosuke Niwa.
+
+        Drop support for cross-origin-window-policy header as this was never enabled and its design has
+        some issues we have not resolved. An alternative is being worked on but will be substantially
+        different so there is not much value in keeping this code around.
+
+        * bindings/js/JSDOMBindingSecurity.cpp:
+        * bindings/js/JSDOMBindingSecurity.h:
+        * bindings/js/JSDOMWindowCustom.cpp:
+        (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
+        (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
+        (WebCore::addCrossOriginWindowPropertyNames):
+        (WebCore::addScopedChildrenIndexes):
+        (WebCore::addCrossOriginWindowOwnPropertyNames):
+        (WebCore::JSDOMWindow::getOwnPropertyNames):
+        * bindings/js/JSDOMWindowCustom.h:
+        * bindings/js/JSRemoteDOMWindowCustom.cpp:
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateAttributeGetterBodyDefinition):
+        (GenerateAttributeSetterBodyDefinition):
+        (GenerateOperationBodyDefinition):
+        * bindings/scripts/IDLAttributes.json:
+        * dom/Document.cpp:
+        (WebCore::Document::canNavigate):
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::didBeginDocument):
+        * page/AbstractDOMWindow.cpp:
+        (WebCore::AbstractDOMWindow::AbstractDOMWindow):
+        * page/AbstractDOMWindow.h:
+        * page/DOMWindow.idl:
+        * page/Settings.yaml:
+        * platform/network/HTTPParsers.cpp:
+        * platform/network/HTTPParsers.h:
+
 2018-09-28  Daniel Bates  <[email protected]>
 
         [iOS] Allow programmatic focus when hardware keyboard is attached

Modified: trunk/Source/WebCore/bindings/js/JSDOMBindingSecurity.cpp (236622 => 236623)


--- trunk/Source/WebCore/bindings/js/JSDOMBindingSecurity.cpp	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/bindings/js/JSDOMBindingSecurity.cpp	2018-09-28 23:18:28 UTC (rev 236623)
@@ -100,19 +100,4 @@
     return !target || canAccessDocument(&state, &target->document(), LogSecurityError);
 }
 
-bool BindingSecurity::shouldAllowAccessToDOMWindowGivenMinimumCrossOriginWindowPolicy(JSC::ExecState* state, DOMWindow& target, CrossOriginWindowPolicy minimumCrossOriginWindowPolicy, SecurityReportingOption reportingOption)
-{
-    DOMWindow& source = activeDOMWindow(*state);
-    ASSERT(minimumCrossOriginWindowPolicy > CrossOriginWindowPolicy::Deny);
-
-    static_assert(CrossOriginWindowPolicy::Deny < CrossOriginWindowPolicy::AllowPostMessage && CrossOriginWindowPolicy::AllowPostMessage < CrossOriginWindowPolicy::Allow, "More restrictive cross-origin options should have lower values");
-
-    // Fast path.
-    auto effectiveCrossOriginWindowPolicy = std::min(source.crossOriginWindowPolicy(), target.crossOriginWindowPolicy());
-    if (effectiveCrossOriginWindowPolicy >= minimumCrossOriginWindowPolicy)
-        return true;
-
-    return shouldAllowAccessToDOMWindow(state, target, reportingOption);
-}
-
 } // namespace WebCore

Modified: trunk/Source/WebCore/bindings/js/JSDOMBindingSecurity.h (236622 => 236623)


--- trunk/Source/WebCore/bindings/js/JSDOMBindingSecurity.h	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/bindings/js/JSDOMBindingSecurity.h	2018-09-28 23:18:28 UTC (rev 236623)
@@ -36,8 +36,6 @@
 class Frame;
 class Node;
 
-enum class CrossOriginWindowPolicy;
-
 void printErrorMessageForFrame(Frame*, const String& message);
 
 enum SecurityReportingOption { DoNotReportSecurityError, LogSecurityError, ThrowSecurityError };
@@ -55,10 +53,8 @@
 bool shouldAllowAccessToFrame(JSC::ExecState&, Frame&, String& message);
 bool shouldAllowAccessToNode(JSC::ExecState&, Node*);
 
-bool shouldAllowAccessToDOMWindowGivenMinimumCrossOriginWindowPolicy(JSC::ExecState*, DOMWindow&, CrossOriginWindowPolicy, SecurityReportingOption = LogSecurityError);
+}
 
-};
-
 template<typename T> inline T* BindingSecurity::checkSecurityForNode(JSC::ExecState& state, T& node)
 {
     return shouldAllowAccessToNode(state, &node) ? &node : nullptr;

Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp (236622 => 236623)


--- trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp	2018-09-28 23:18:28 UTC (rev 236623)
@@ -58,12 +58,6 @@
 namespace WebCore {
 using namespace JSC;
 
-static CrossOriginWindowPolicy effectiveCrossOriginWindowPolicyForAccess(ExecState& state, AbstractDOMWindow& target)
-{
-    static_assert(CrossOriginWindowPolicy::Deny < CrossOriginWindowPolicy::AllowPostMessage && CrossOriginWindowPolicy::AllowPostMessage < CrossOriginWindowPolicy::Allow, "More restrictive cross-origin options should have lower values");
-    return std::min(activeDOMWindow(state).crossOriginWindowPolicy(), target.crossOriginWindowPolicy());
-}
-
 EncodedJSValue JSC_HOST_CALL jsDOMWindowInstanceFunctionShowModalDialog(ExecState*);
 
 void JSDOMWindow::visitAdditionalChildren(SlotVisitor& visitor)
@@ -102,21 +96,6 @@
         return true;
     }
 
-    switch (effectiveCrossOriginWindowPolicyForAccess(state, window)) {
-    case CrossOriginWindowPolicy::AllowPostMessage:
-        if (propertyName == builtinNames.postMessagePublicName()) {
-            slot.setCustom(thisObject, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum), windowType == DOMWindowType::Remote ? nonCachingStaticFunctionGetter<jsRemoteDOMWindowInstanceFunctionPostMessage, 0> : nonCachingStaticFunctionGetter<jsDOMWindowInstanceFunctionPostMessage, 2>);
-            return true;
-        }
-        FALLTHROUGH;
-    case CrossOriginWindowPolicy::Deny:
-        throwSecurityError(state, scope, errorMessage);
-        slot.setUndefined();
-        return false;
-    case CrossOriginWindowPolicy::Allow:
-        break;
-    }
-
     // These are the functions we allow access to cross-origin (DoNotCheckSecurity in IDL).
     // Always provide the original function, on a fresh uncached function object.
     if (propertyName == builtinNames.blurPublicName()) {
@@ -255,18 +234,9 @@
 
     // (1) First, indexed properties.
     // These are also allowed cross-origin, so come before the access check.
-    switch (effectiveCrossOriginWindowPolicyForAccess(*state, window)) {
-    case CrossOriginWindowPolicy::Deny:
-    case CrossOriginWindowPolicy::AllowPostMessage:
-        if (isCrossOriginAccess())
-            break;
-        FALLTHROUGH;
-    case CrossOriginWindowPolicy::Allow:
-        if (frame && index < frame->tree().scopedChildCount()) {
-            slot.setValue(thisObject, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly), toJS(state, frame->tree().scopedChild(index)->document()->domWindow()));
-            return true;
-        }
-        break;
+    if (frame && index < frame->tree().scopedChildCount()) {
+        slot.setValue(thisObject, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly), toJS(state, frame->tree().scopedChild(index)->document()->domWindow()));
+        return true;
     }
 
     // Hand off all cross-domain/frameless access to jsDOMWindowGetOwnPropertySlotRestrictedAccess.
@@ -339,7 +309,7 @@
 }
 
 // https://html.spec.whatwg.org/#crossoriginproperties-(-o-)
-static void addCrossOriginWindowPropertyNames(ExecState& state, AbstractDOMWindow& window, PropertyNameArray& propertyNames)
+static void addCrossOriginWindowPropertyNames(ExecState& state, PropertyNameArray& propertyNames)
 {
     auto& vm = state.vm();
 
@@ -359,17 +329,8 @@
         &static_cast<JSVMClientData*>(vm.clientData)->builtinNames().windowPublicName()
     };
 
-    switch (effectiveCrossOriginWindowPolicyForAccess(state, window)) {
-    case CrossOriginWindowPolicy::Allow:
-        for (auto* property : properties)
-            propertyNames.add(*property);
-        break;
-    case CrossOriginWindowPolicy::AllowPostMessage:
-        propertyNames.add(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().postMessagePublicName());
-        break;
-    case CrossOriginWindowPolicy::Deny:
-        break;
-    }
+    for (auto* property : properties)
+        propertyNames.add(*property);
 }
 
 static void addScopedChildrenIndexes(ExecState& state, DOMWindow& window, PropertyNameArray& propertyNames)
@@ -382,14 +343,6 @@
     if (!frame)
         return;
 
-    switch (effectiveCrossOriginWindowPolicyForAccess(state, window)) {
-    case CrossOriginWindowPolicy::Allow:
-        break;
-    case CrossOriginWindowPolicy::Deny:
-    case CrossOriginWindowPolicy::AllowPostMessage:
-        return;
-    }
-
     unsigned scopedChildCount = frame->tree().scopedChildCount();
     for (unsigned i = 0; i < scopedChildCount; ++i)
         propertyNames.add(Identifier::from(&state, i));
@@ -396,9 +349,9 @@
 }
 
 // https://html.spec.whatwg.org/#crossoriginownpropertykeys-(-o-)
-void addCrossOriginWindowOwnPropertyNames(ExecState& state, AbstractDOMWindow& window, PropertyNameArray& propertyNames)
+void addCrossOriginWindowOwnPropertyNames(ExecState& state, PropertyNameArray& propertyNames)
 {
-    addCrossOriginWindowPropertyNames(state, window, propertyNames);
+    addCrossOriginWindowPropertyNames(state, propertyNames);
 
     auto& vm = state.vm();
     propertyNames.add(vm.propertyNames->toStringTagSymbol);
@@ -415,7 +368,7 @@
 
     if (!BindingSecurity::shouldAllowAccessToDOMWindow(exec, thisObject->wrapped(), DoNotReportSecurityError)) {
         if (mode.includeDontEnumProperties())
-            addCrossOriginWindowOwnPropertyNames(*exec, thisObject->wrapped(), propertyNames);
+            addCrossOriginWindowOwnPropertyNames(*exec, propertyNames);
         return;
     }
     Base::getOwnPropertyNames(thisObject, exec, propertyNames, mode);

Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.h (236622 => 236623)


--- trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.h	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.h	2018-09-28 23:18:28 UTC (rev 236623)
@@ -40,6 +40,6 @@
 template <DOMWindowType windowType>
 bool jsDOMWindowGetOwnPropertySlotRestrictedAccess(JSDOMGlobalObject*, AbstractDOMWindow&, JSC::ExecState&, JSC::PropertyName, JSC::PropertySlot&, const String&);
 
-void addCrossOriginWindowOwnPropertyNames(JSC::ExecState&, AbstractDOMWindow&, JSC::PropertyNameArray&);
+void addCrossOriginWindowOwnPropertyNames(JSC::ExecState&, JSC::PropertyNameArray&);
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/bindings/js/JSRemoteDOMWindowCustom.cpp (236622 => 236623)


--- trunk/Source/WebCore/bindings/js/JSRemoteDOMWindowCustom.cpp	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/bindings/js/JSRemoteDOMWindowCustom.cpp	2018-09-28 23:18:28 UTC (rev 236623)
@@ -97,14 +97,12 @@
     return false;
 }
 
-void JSRemoteDOMWindow::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)
+void JSRemoteDOMWindow::getOwnPropertyNames(JSObject*, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)
 {
-    auto* thisObject = jsCast<JSRemoteDOMWindow*>(object);
-
     // FIXME: Add scoped children indexes.
 
     if (mode.includeDontEnumProperties())
-        addCrossOriginWindowOwnPropertyNames(*exec, thisObject->wrapped(), propertyNames);
+        addCrossOriginWindowOwnPropertyNames(*exec, propertyNames);
 }
 
 bool JSRemoteDOMWindow::defineOwnProperty(JSC::JSObject*, JSC::ExecState* state, JSC::PropertyName, const JSC::PropertyDescriptor&, bool)

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (236622 => 236623)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2018-09-28 23:18:28 UTC (rev 236623)
@@ -4760,13 +4760,7 @@
         !$attribute->extendedAttributes->{DoNotCheckSecurityOnGetter}) {
         AddToImplIncludes("JSDOMBindingSecurity.h", $conditional);
         if ($interface->type->name eq "DOMWindow") {
-            if ($attribute->extendedAttributes->{DoNotCheckSecurityIf}) {
-                my $crossOriginWindowPolicy = GetCrossOriginsOptionsFromExtendedAttributeValue($attribute->extendedAttributes->{DoNotCheckSecurityIf});
-                AddToImplIncludes("HTTPParsers.h", $conditional);
-                push(@$outputArray, "    if (!BindingSecurity::shouldAllowAccessToDOMWindowGivenMinimumCrossOriginWindowPolicy(&state, thisObject.wrapped(), $crossOriginWindowPolicy, ThrowSecurityError))\n");
-            } else {
-                push(@$outputArray, "    if (!BindingSecurity::shouldAllowAccessToDOMWindow(&state, thisObject.wrapped(), ThrowSecurityError))\n");
-            }
+            push(@$outputArray, "    if (!BindingSecurity::shouldAllowAccessToDOMWindow(&state, thisObject.wrapped(), ThrowSecurityError))\n");
         } else {
             push(@$outputArray, "    if (!BindingSecurity::shouldAllowAccessToFrame(&state, thisObject.wrapped().frame(), ThrowSecurityError))\n");
         }
@@ -4874,15 +4868,6 @@
     push(@$outputArray, "#endif\n\n") if $conditional;
 }
 
-sub GetCrossOriginsOptionsFromExtendedAttributeValue
-{
-    my $extendedAttributeValue = shift;
-
-    return "CrossOriginWindowPolicy::Allow" if $extendedAttributeValue eq "CrossOriginWindowPolicyAllow";
-    return "CrossOriginWindowPolicy::AllowPostMessage" if $extendedAttributeValue eq "CrossOriginWindowPolicyAllowPostMessage";
-    die "Unsupported CrossOriginWindowPolicy: " + $extendedAttributeValue;
-}
-
 sub GenerateAttributeSetterBodyDefinition
 {
     my ($outputArray, $interface, $className, $attribute, $attributeSetterBodyName, $conditional) = @_;
@@ -4902,13 +4887,7 @@
     if ($interface->extendedAttributes->{CheckSecurity} && !$attribute->extendedAttributes->{DoNotCheckSecurity} && !$attribute->extendedAttributes->{DoNotCheckSecurityOnSetter}) {
         AddToImplIncludes("JSDOMBindingSecurity.h", $conditional);
         if ($interface->type->name eq "DOMWindow") {
-            if ($attribute->extendedAttributes->{DoNotCheckSecurityIf}) {
-                my $crossOriginWindowPolicy = GetCrossOriginsOptionsFromExtendedAttributeValue($attribute->extendedAttributes->{DoNotCheckSecurityIf});
-                AddToImplIncludes("HTTPParsers.h", $conditional);
-                push(@$outputArray, "    if (!BindingSecurity::shouldAllowAccessToDOMWindowGivenMinimumCrossOriginWindowPolicy(&state, thisObject.wrapped(), $crossOriginWindowPolicy, ThrowSecurityError))\n");
-            } else {
-                push(@$outputArray, "    if (!BindingSecurity::shouldAllowAccessToDOMWindow(&state, thisObject.wrapped(), ThrowSecurityError))\n");
-            }
+            push(@$outputArray, "    if (!BindingSecurity::shouldAllowAccessToDOMWindow(&state, thisObject.wrapped(), ThrowSecurityError))\n");
         } else {
             push(@$outputArray, "    if (!BindingSecurity::shouldAllowAccessToFrame(&state, thisObject.wrapped().frame(), ThrowSecurityError))\n");
         }
@@ -5126,13 +5105,7 @@
             
             AddToImplIncludes("JSDOMBindingSecurity.h", $conditional);
             if ($interface->type->name eq "DOMWindow") {
-                if ($operation->extendedAttributes->{DoNotCheckSecurityIf}) {
-                    my $crossOriginWindowPolicy = GetCrossOriginsOptionsFromExtendedAttributeValue($operation->extendedAttributes->{DoNotCheckSecurityIf});
-                    AddToImplIncludes("HTTPParsers.h", $conditional);
-                    push(@$outputArray, "    if (!BindingSecurity::shouldAllowAccessToDOMWindowGivenMinimumCrossOriginWindowPolicy(state, castedThis->wrapped(), $crossOriginWindowPolicy, ThrowSecurityError))\n");
-                } else {
-                    push(@$outputArray, "    if (!BindingSecurity::shouldAllowAccessToDOMWindow(state, castedThis->wrapped(), ThrowSecurityError))\n");
-                }
+                push(@$outputArray, "    if (!BindingSecurity::shouldAllowAccessToDOMWindow(state, castedThis->wrapped(), ThrowSecurityError))\n");
                 push(@$outputArray, "        return JSValue::encode(jsUndefined());\n");
             } else {
                 push(@$outputArray, "    if (!BindingSecurity::shouldAllowAccessToFrame(state, castedThis->wrapped().frame(), ThrowSecurityError))\n");

Modified: trunk/Source/WebCore/bindings/scripts/IDLAttributes.json (236622 => 236623)


--- trunk/Source/WebCore/bindings/scripts/IDLAttributes.json	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/bindings/scripts/IDLAttributes.json	2018-09-28 23:18:28 UTC (rev 236623)
@@ -164,10 +164,6 @@
         "DoNotCheckSecurity": {
             "contextsAllowed": ["attribute", "operation"]
         },
-        "DoNotCheckSecurityIf": {
-            "contextsAllowed": ["attribute", "operation"],
-            "values": ["CrossOriginWindowPolicyAllow", "CrossOriginWindowPolicyAllowPostMessage"]
-        },
         "DoNotCheckSecurityOnGetter": {
             "contextsAllowed": ["attribute"]
         },

Modified: trunk/Source/WebCore/dom/Document.cpp (236622 => 236623)


--- trunk/Source/WebCore/dom/Document.cpp	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/dom/Document.cpp	2018-09-28 23:18:28 UTC (rev 236623)
@@ -3271,17 +3271,6 @@
     if (!targetFrame)
         return true;
 
-    if (m_frame != targetFrame) {
-        auto sourceCrossOriginWindowPolicy = m_frame->window() ? m_frame->window()->crossOriginWindowPolicy() : CrossOriginWindowPolicy::Allow;
-        auto destinationCrossOriginWindowPolicy = targetFrame->window() ? targetFrame->window()->crossOriginWindowPolicy() : CrossOriginWindowPolicy::Allow;
-        if (sourceCrossOriginWindowPolicy != CrossOriginWindowPolicy::Allow || destinationCrossOriginWindowPolicy != CrossOriginWindowPolicy::Allow) {
-            if (m_frame->document() && targetFrame->document() && !m_frame->document()->securityOrigin().canAccess(targetFrame->document()->securityOrigin())) {
-                printNavigationErrorMessage(targetFrame, url(), "Navigation was not allowed due to Cross-Origin-Window-Policy header."_s);
-                return false;
-            }
-        }
-    }
-
     // Cases (i), (ii) and (iii) pass the tests from the specifications but might not pass the "security origin" tests.
 
     // i. A frame can navigate its top ancestor when its 'allow-top-navigation' flag is set (sometimes known as 'frame-busting').

Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (236622 => 236623)


--- trunk/Source/WebCore/loader/FrameLoader.cpp	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp	2018-09-28 23:18:28 UTC (rev 236623)
@@ -753,14 +753,6 @@
             if (!headerContentLanguage.isEmpty())
                 m_frame.document()->setContentLanguage(headerContentLanguage);
         }
-
-        if (m_frame.settings().crossOriginWindowPolicySupportEnabled()) {
-            String crossOriginWindowPolicyHeader = m_documentLoader->response().httpHeaderField(HTTPHeaderName::CrossOriginWindowPolicy);
-            if (!crossOriginWindowPolicyHeader.isNull()) {
-                ASSERT(m_frame.window());
-                m_frame.window()->setCrossOriginWindowPolicy(parseCrossOriginWindowPolicyHeader(crossOriginWindowPolicyHeader));
-            }
-        }
     }
 
     history().restoreDocumentState();

Modified: trunk/Source/WebCore/page/AbstractDOMWindow.cpp (236622 => 236623)


--- trunk/Source/WebCore/page/AbstractDOMWindow.cpp	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/page/AbstractDOMWindow.cpp	2018-09-28 23:18:28 UTC (rev 236623)
@@ -40,7 +40,6 @@
 
 AbstractDOMWindow::AbstractDOMWindow(GlobalWindowIdentifier&& identifier)
     : m_identifier(WTFMove(identifier))
-    , m_crossOriginWindowPolicy(CrossOriginWindowPolicy::Allow)
 {
     ASSERT(!allWindows().contains(identifier));
     allWindows().add(identifier, this);

Modified: trunk/Source/WebCore/page/AbstractDOMWindow.h (236622 => 236623)


--- trunk/Source/WebCore/page/AbstractDOMWindow.h	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/page/AbstractDOMWindow.h	2018-09-28 23:18:28 UTC (rev 236623)
@@ -35,8 +35,6 @@
 
 class AbstractFrame;
 
-enum class CrossOriginWindowPolicy;
-
 // FIXME: Rename DOMWindow to LocalWindow and AbstractDOMWindow to DOMWindow.
 class AbstractDOMWindow : public RefCounted<AbstractDOMWindow>, public EventTargetWithInlineData {
 public:
@@ -54,9 +52,6 @@
     using RefCounted::ref;
     using RefCounted::deref;
 
-    CrossOriginWindowPolicy crossOriginWindowPolicy() const { return m_crossOriginWindowPolicy; }
-    void setCrossOriginWindowPolicy(CrossOriginWindowPolicy value) { m_crossOriginWindowPolicy = value; }
-
 protected:
     explicit AbstractDOMWindow(GlobalWindowIdentifier&&);
 
@@ -66,7 +61,6 @@
 
 private:
     GlobalWindowIdentifier m_identifier;
-    CrossOriginWindowPolicy m_crossOriginWindowPolicy;
 };
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/page/DOMWindow.idl (236622 => 236623)


--- trunk/Source/WebCore/page/DOMWindow.idl	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/page/DOMWindow.idl	2018-09-28 23:18:28 UTC (rev 236623)
@@ -50,11 +50,11 @@
     PrimaryGlobal,
 ] interface DOMWindow : EventTarget {
     // The current browsing context.
-    [DoNotCheckSecurityIf=CrossOriginWindowPolicyAllow, Unforgeable, ImplementedAs=self] readonly attribute WindowProxy window;
-    [Replaceable, DoNotCheckSecurityIf=CrossOriginWindowPolicyAllow] readonly attribute WindowProxy self;
+    [DoNotCheckSecurity, Unforgeable, ImplementedAs=self] readonly attribute WindowProxy window;
+    [Replaceable, DoNotCheckSecurityOnGetter] readonly attribute WindowProxy self;
     [Unforgeable] readonly attribute Document document;
     attribute DOMString name;
-    [DoNotCheckSecurityIf=CrossOriginWindowPolicyAllow, PutForwards=href, Unforgeable] readonly attribute Location? location; // FIXME: Should not be nullable.
+    [DoNotCheckSecurity, PutForwards=href, Unforgeable] readonly attribute Location? location; // FIXME: Should not be nullable.
     readonly attribute History history;
     [EnabledAtRuntime=CustomElements, ImplementedAs=ensureCustomElementRegistry] readonly attribute CustomElementRegistry customElements;
     [Replaceable] readonly attribute BarProp locationbar;
@@ -64,18 +64,18 @@
     [Replaceable] readonly attribute BarProp statusbar;
     [Replaceable] readonly attribute BarProp toolbar;
     attribute DOMString status;
-    [DoNotCheckSecurityIf=CrossOriginWindowPolicyAllow, CallWith=IncumbentDocument, ForwardDeclareInHeader] void close();
-    [DoNotCheckSecurityIf=CrossOriginWindowPolicyAllow, ForwardDeclareInHeader] readonly attribute boolean closed;
+    [DoNotCheckSecurity, CallWith=IncumbentDocument, ForwardDeclareInHeader] void close();
+    [DoNotCheckSecurity, ForwardDeclareInHeader] readonly attribute boolean closed;
     void stop();
-    [DoNotCheckSecurityIf=CrossOriginWindowPolicyAllow, CallWith=IncumbentWindow, ForwardDeclareInHeader] void focus();
-    [DoNotCheckSecurityIf=CrossOriginWindowPolicyAllow, ForwardDeclareInHeader] void blur();
+    [DoNotCheckSecurity, CallWith=IncumbentWindow, ForwardDeclareInHeader] void focus();
+    [DoNotCheckSecurity, ForwardDeclareInHeader] void blur();
 
     // Other browsing contexts.
-    [Replaceable, DoNotCheckSecurityIf=CrossOriginWindowPolicyAllow, ImplementedAs=self] readonly attribute WindowProxy frames;
-    [Replaceable, DoNotCheckSecurityIf=CrossOriginWindowPolicyAllow] readonly attribute unsigned long length;
-    [DoNotCheckSecurityIf=CrossOriginWindowPolicyAllow, Unforgeable] readonly attribute WindowProxy? top;
-    [DoNotCheckSecurityIf=CrossOriginWindowPolicyAllow, CustomSetter] attribute WindowProxy? opener;
-    [Replaceable, DoNotCheckSecurityIf=CrossOriginWindowPolicyAllow] readonly attribute WindowProxy? parent;
+    [Replaceable, DoNotCheckSecurityOnGetter, ImplementedAs=self] readonly attribute WindowProxy frames;
+    [Replaceable, DoNotCheckSecurityOnGetter] readonly attribute unsigned long length;
+    [DoNotCheckSecurityOnGetter, Unforgeable] readonly attribute WindowProxy? top;
+    [DoNotCheckSecurityOnGetter, CustomSetter] attribute WindowProxy? opener;
+    [Replaceable, DoNotCheckSecurityOnGetter] readonly attribute WindowProxy? parent;
     [CheckSecurityForNode] readonly attribute Element? frameElement;
     [CallWith=ActiveWindow&FirstWindow, MayThrowException] WindowProxy? open(optional USVString url = "" optional DOMString target = "_blank", optional [TreatNullAs=EmptyString] DOMString features = "");
 
@@ -93,7 +93,7 @@
     long requestAnimationFrame(RequestAnimationFrameCallback callback); // FIXME: Should return an unsigned long.
     void cancelAnimationFrame(long handle); // FIXME: handle should be an unsigned long.
 
-    [CallWith=ScriptState&IncumbentWindow, DoNotCheckSecurityIf=CrossOriginWindowPolicyAllowPostMessage, ForwardDeclareInHeader, MayThrowException] void postMessage(any message, USVString targetOrigin, optional sequence<object> transfer = []);
+    [CallWith=ScriptState&IncumbentWindow, DoNotCheckSecurity, ForwardDeclareInHeader, MayThrowException] void postMessage(any message, USVString targetOrigin, optional sequence<object> transfer = []);
 
     // Obsolete members, still part of the HTML specification (https://html.spec.whatwg.org/#Window-partial).
     void captureEvents(); // Not implemented. Also not in modern standards. Empty function may help compatibility with legacy content.

Modified: trunk/Source/WebCore/page/Settings.yaml (236622 => 236623)


--- trunk/Source/WebCore/page/Settings.yaml	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/page/Settings.yaml	2018-09-28 23:18:28 UTC (rev 236623)
@@ -750,9 +750,6 @@
   initial: false
   onChange: setNeedsRecalcStyleInAllFrames
 
-crossOriginWindowPolicySupportEnabled:
-  initial: false
-
 accessibilityEventsEnabled:
   initial: true
   conditional: ACCESSIBILITY_EVENTS

Modified: trunk/Source/WebCore/platform/network/HTTPParsers.cpp (236622 => 236623)


--- trunk/Source/WebCore/platform/network/HTTPParsers.cpp	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/platform/network/HTTPParsers.cpp	2018-09-28 23:18:28 UTC (rev 236623)
@@ -912,19 +912,4 @@
     return CrossOriginResourcePolicy::Invalid;
 }
 
-CrossOriginWindowPolicy parseCrossOriginWindowPolicyHeader(StringView header)
-{
-    header = stripLeadingAndTrailingHTTPSpaces(header);
-    if (header.isEmpty())
-        return CrossOriginWindowPolicy::Allow;
-
-    if (equalLettersIgnoringASCIICase(header, "deny"))
-        return CrossOriginWindowPolicy::Deny;
-
-    if (equalLettersIgnoringASCIICase(header, "allow-postmessage"))
-        return CrossOriginWindowPolicy::AllowPostMessage;
-
-    return CrossOriginWindowPolicy::Allow;
 }
-
-}

Modified: trunk/Source/WebCore/platform/network/HTTPParsers.h (236622 => 236623)


--- trunk/Source/WebCore/platform/network/HTTPParsers.h	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebCore/platform/network/HTTPParsers.h	2018-09-28 23:18:28 UTC (rev 236623)
@@ -71,13 +71,6 @@
     Invalid
 };
 
-// Should be sorted from most restrictive to most permissive.
-enum class CrossOriginWindowPolicy {
-    Deny,
-    AllowPostMessage,
-    Allow,
-};
-
 bool isValidReasonPhrase(const String&);
 bool isValidHTTPHeaderValue(const String&);
 bool isValidAcceptHeaderValue(const String&);
@@ -118,7 +111,6 @@
 String normalizeHTTPMethod(const String&);
 
 WEBCORE_EXPORT CrossOriginResourcePolicy parseCrossOriginResourcePolicyHeader(StringView);
-CrossOriginWindowPolicy parseCrossOriginWindowPolicyHeader(StringView);
 
 inline bool isHTTPSpace(UChar character)
 {

Modified: trunk/Source/WebKit/ChangeLog (236622 => 236623)


--- trunk/Source/WebKit/ChangeLog	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebKit/ChangeLog	2018-09-28 23:18:28 UTC (rev 236623)
@@ -1,5 +1,18 @@
 2018-09-28  Chris Dumez  <[email protected]>
 
+        Drop support for cross-origin-window-policy header
+        https://bugs.webkit.org/show_bug.cgi?id=190081
+
+        Reviewed by Ryosuke Niwa.
+
+        * Shared/WebPreferences.yaml:
+        * UIProcess/API/C/WKPreferences.cpp:
+        * UIProcess/API/C/WKPreferencesRef.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::frameBecameRemote):
+
+2018-09-28  Chris Dumez  <[email protected]>
+
         Do not do automatic process prewarming while under memory pressure
         https://bugs.webkit.org/show_bug.cgi?id=190082
         <rdar://problem/39771424>

Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (236622 => 236623)


--- trunk/Source/WebKit/Shared/WebPreferences.yaml	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml	2018-09-28 23:18:28 UTC (rev 236623)
@@ -1070,10 +1070,6 @@
   type: bool
   defaultValue: true
 
-CrossOriginWindowPolicySupportEnabled:
-  type: bool
-  defaultValue: false
-
 SubresourceIntegrityEnabled:
   type: bool
   defaultValue: true

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


--- trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp	2018-09-28 23:18:28 UTC (rev 236623)
@@ -2040,16 +2040,6 @@
     return toImpl(preferencesRef)->crossOriginResourcePolicyEnabled();
 }
 
-void WKPreferencesSetCrossOriginWindowPolicyEnabled(WKPreferencesRef preferencesRef, bool enabled)
-{
-    toImpl(preferencesRef)->setCrossOriginWindowPolicySupportEnabled(enabled);
-}
-
-bool WKPreferencesGetCrossOriginWindowPolicyEnabled(WKPreferencesRef preferencesRef)
-{
-    return toImpl(preferencesRef)->crossOriginWindowPolicySupportEnabled();
-}
-
 void WKPreferencesSetRestrictedHTTPResponseAccess(WKPreferencesRef preferencesRef, bool flag)
 {
     toImpl(preferencesRef)->setRestrictedHTTPResponseAccess(flag);

Modified: trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRef.h (236622 => 236623)


--- trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRef.h	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRef.h	2018-09-28 23:18:28 UTC (rev 236623)
@@ -325,10 +325,6 @@
 WK_EXPORT void WKPreferencesSetCrossOriginResourcePolicyEnabled(WKPreferencesRef preferencesRef, bool allow);
 
 // Defaults to false.
-WK_EXPORT bool WKPreferencesGetCrossOriginWindowPolicyEnabled(WKPreferencesRef preferencesRef);
-WK_EXPORT void WKPreferencesSetCrossOriginWindowPolicyEnabled(WKPreferencesRef preferencesRef, bool enabled);
-
-// Defaults to false.
 WK_EXPORT bool WKPreferencesGetProcessSwapOnNavigationEnabled(WKPreferencesRef preferencesRef);
 WK_EXPORT void WKPreferencesSetProcessSwapOnNavigationEnabled(WKPreferencesRef preferencesRef, bool enabled);
 

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (236622 => 236623)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2018-09-28 23:18:28 UTC (rev 236623)
@@ -6033,7 +6033,6 @@
 
     auto remoteFrame = RemoteFrame::create(WTFMove(remoteFrameIdentifier));
     auto remoteWindow = RemoteDOMWindow::create(remoteFrame.copyRef(), WTFMove(remoteWindowIdentifier));
-    remoteWindow->setCrossOriginWindowPolicy(previousWindow->crossOriginWindowPolicy());
 
     remoteFrame->setOpener(frame->coreFrame()->loader().opener());
 

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (236622 => 236623)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2018-09-28 23:18:28 UTC (rev 236623)
@@ -1,3 +1,17 @@
+2018-09-28  Chris Dumez  <[email protected]>
+
+        Drop support for cross-origin-window-policy header
+        https://bugs.webkit.org/show_bug.cgi?id=190081
+
+        Reviewed by Ryosuke Niwa.
+
+        * WebView/WebPreferenceKeysPrivate.h:
+        * WebView/WebPreferences.mm:
+        (+[WebPreferences initialize]):
+        * WebView/WebPreferencesPrivate.h:
+        * WebView/WebView.mm:
+        (-[WebView _preferencesChanged:]):
+
 2018-09-28  Ryosuke Niwa  <[email protected]>
 
         Rename createMarkup to serializePreservingVisualAppearance

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h (236622 => 236623)


--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h	2018-09-28 23:18:28 UTC (rev 236623)
@@ -174,7 +174,6 @@
 #define WebKitDataTransferItemsEnabledPreferenceKey @"WebKitDataTransferItemsEnabled"
 #define WebKitCustomPasteboardDataEnabledPreferenceKey @"WebKitCustomPasteboardDataEnabled"
 #define WebKitCacheAPIEnabledPreferenceKey @"WebKitCacheAPIEnabled"
-#define WebKitCrossOriginWindowPolicySupportEnabledPreferenceKey @"WebKitCrossOriginWindowPolicySupportEnabled"
 #define WebKitFetchAPIEnabledPreferenceKey @"WebKitFetchAPIEnabled"
 #define WebKitWritableStreamAPIEnabledPreferenceKey @"WebKitWritableStreamAPIEnabled"
 #define WebKitReadableByteStreamAPIEnabledPreferenceKey @"WebKitReadableByteStreamAPIEnabled"

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm (236622 => 236623)


--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm	2018-09-28 23:18:28 UTC (rev 236623)
@@ -634,7 +634,6 @@
         [NSNumber numberWithBool:NO], WebKitWebGPUEnabledPreferenceKey,
 #endif
         [NSNumber numberWithBool:NO], WebKitCacheAPIEnabledPreferenceKey,
-        [NSNumber numberWithBool:NO], WebKitCrossOriginWindowPolicySupportEnabledPreferenceKey,
         [NSNumber numberWithBool:YES], WebKitFetchAPIEnabledPreferenceKey,
 
 #if ENABLE(STREAMS_API)
@@ -3014,16 +3013,6 @@
     [self _setBoolValue:flag forKey:WebKitCacheAPIEnabledPreferenceKey];
 }
 
-- (BOOL)crossOriginWindowPolicySupportEnabled
-{
-    return [self _boolValueForKey:WebKitCrossOriginWindowPolicySupportEnabledPreferenceKey];
-}
-
-- (void)setCrossOriginWindowPolicySupportEnabled:(BOOL)flag
-{
-    [self _setBoolValue:flag forKey:WebKitCrossOriginWindowPolicySupportEnabledPreferenceKey];
-}
-
 - (BOOL)fetchAPIEnabled
 {
     return [self _boolValueForKey:WebKitFetchAPIEnabledPreferenceKey];

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h (236622 => 236623)


--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h	2018-09-28 23:18:28 UTC (rev 236623)
@@ -540,9 +540,6 @@
 - (BOOL)cacheAPIEnabled;
 - (void)setCacheAPIEnabled:(BOOL)enabled;
 
-- (BOOL)crossOriginWindowPolicySupportEnabled;
-- (void)setCrossOriginWindowPolicySupportEnabled:(BOOL)enabled;
-
 - (void)setFetchAPIEnabled:(BOOL)flag;
 - (BOOL)fetchAPIEnabled;
 

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (236622 => 236623)


--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2018-09-28 23:18:28 UTC (rev 236623)
@@ -3067,7 +3067,6 @@
 
     settings.setViewportFitEnabled([preferences viewportFitEnabled]);
     settings.setConstantPropertiesEnabled([preferences constantPropertiesEnabled]);
-    settings.setCrossOriginWindowPolicySupportEnabled([preferences crossOriginWindowPolicySupportEnabled]);
 
 #if ENABLE(GAMEPAD)
     RuntimeEnabledFeatures::sharedFeatures().setGamepadsEnabled([preferences gamepadsEnabled]);

Modified: trunk/Source/WebKitLegacy/win/ChangeLog (236622 => 236623)


--- trunk/Source/WebKitLegacy/win/ChangeLog	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebKitLegacy/win/ChangeLog	2018-09-28 23:18:28 UTC (rev 236623)
@@ -1,3 +1,18 @@
+2018-09-28  Chris Dumez  <[email protected]>
+
+        Drop support for cross-origin-window-policy header
+        https://bugs.webkit.org/show_bug.cgi?id=190081
+
+        Reviewed by Ryosuke Niwa.
+
+        * WebPreferenceKeysPrivate.h:
+        * WebPreferences.cpp:
+        (WebPreferences::initializeDefaultSettings):
+        (WebPreferences::crossOriginWindowPolicySupportEnabled):
+        (WebPreferences::setCrossOriginWindowPolicySupportEnabled):
+        * WebView.cpp:
+        (WebView::notifyPreferencesChanged):
+
 2018-09-27  Antoine Quint  <[email protected]>
 
         [Web Animations] Turn Web Animations with CSS integration on

Modified: trunk/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h (236622 => 236623)


--- trunk/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h	2018-09-28 23:18:28 UTC (rev 236623)
@@ -180,8 +180,6 @@
 
 #define WebKitMenuItemElementEnabledPreferenceKey "WebKitMenuItemElementEnabled"
 
-#define WebKitCrossOriginWindowPolicySupportEnabledPreferenceKey "WebKitCrossOriginWindowPolicySupportEnabled"
-
 #define WebKitModernMediaControlsEnabledPreferenceKey "WebKitModernMediaControlsEnabled"
 
 #define WebKitWebAnimationsEnabledPreferenceKey "WebKitWebAnimationsEnabled"

Modified: trunk/Source/WebKitLegacy/win/WebPreferences.cpp (236622 => 236623)


--- trunk/Source/WebKitLegacy/win/WebPreferences.cpp	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebKitLegacy/win/WebPreferences.cpp	2018-09-28 23:18:28 UTC (rev 236623)
@@ -248,7 +248,6 @@
     CFDictionaryAddValue(defaults, CFSTR(WebKitShouldDisplaySubtitlesPreferenceKey), kCFBooleanFalse);
     CFDictionaryAddValue(defaults, CFSTR(WebKitShouldDisplayCaptionsPreferenceKey), kCFBooleanFalse);
     CFDictionaryAddValue(defaults, CFSTR(WebKitShouldDisplayTextDescriptionsPreferenceKey), kCFBooleanFalse);
-    CFDictionaryAddValue(defaults, CFSTR(WebKitCrossOriginWindowPolicySupportEnabledPreferenceKey), kCFBooleanFalse);
 
     RetainPtr<CFStringRef> linkBehaviorStringRef = adoptCF(CFStringCreateWithFormat(0, 0, CFSTR("%d"), WebKitEditableLinkDefaultBehavior));
     CFDictionaryAddValue(defaults, CFSTR(WebKitEditableLinkBehaviorPreferenceKey), linkBehaviorStringRef.get());
@@ -2039,13 +2038,12 @@
 {
     if (!enabled)
         return E_POINTER;
-    *enabled = boolValueForKey(WebKitCrossOriginWindowPolicySupportEnabledPreferenceKey);
+    *enabled = false;
     return S_OK;
 }
 
-HRESULT WebPreferences::setCrossOriginWindowPolicySupportEnabled(BOOL enabled)
+HRESULT WebPreferences::setCrossOriginWindowPolicySupportEnabled(BOOL)
 {
-    setBoolValue(WebKitCrossOriginWindowPolicySupportEnabledPreferenceKey, enabled);
     return S_OK;
 }
 

Modified: trunk/Source/WebKitLegacy/win/WebView.cpp (236622 => 236623)


--- trunk/Source/WebKitLegacy/win/WebView.cpp	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Source/WebKitLegacy/win/WebView.cpp	2018-09-28 23:18:28 UTC (rev 236623)
@@ -5279,11 +5279,6 @@
         return hr;
     settings.setVisualViewportAPIEnabled(!!enabled);
 
-    hr = prefsPrivate->crossOriginWindowPolicySupportEnabled(&enabled);
-    if (FAILED(hr))
-        return hr;
-    settings.setCrossOriginWindowPolicySupportEnabled(!!enabled);
-
     hr = prefsPrivate->CSSOMViewScrollingAPIEnabled(&enabled);
     if (FAILED(hr))
         return hr;

Modified: trunk/Tools/ChangeLog (236622 => 236623)


--- trunk/Tools/ChangeLog	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Tools/ChangeLog	2018-09-28 23:18:28 UTC (rev 236623)
@@ -1,3 +1,19 @@
+2018-09-28  Chris Dumez  <[email protected]>
+
+        Drop support for cross-origin-window-policy header
+        https://bugs.webkit.org/show_bug.cgi?id=190081
+
+        Reviewed by Ryosuke Niwa.
+
+        190081_DropCrossOriginWindowPolicy
+
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        (enableExperimentalFeatures):
+        * DumpRenderTree/win/DumpRenderTree.cpp:
+        (enableExperimentalFeatures):
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::resetPreferencesToConsistentValues):
+
 2018-09-28  Koby Boyango  <[email protected]>
 
         [WTF] Add ExternalStringImpl, a StringImpl for user controlled buffers

Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (236622 => 236623)


--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2018-09-28 23:18:28 UTC (rev 236623)
@@ -865,7 +865,6 @@
     [preferences setAriaReflectionEnabled:YES];
     [preferences setVisualViewportAPIEnabled:YES];
     [preferences setColorFilterEnabled:YES];
-    [preferences setCrossOriginWindowPolicySupportEnabled:YES];
     [preferences setServerTimingEnabled:YES];
     [preferences setIntersectionObserverEnabled:YES];
     preferences.sourceBufferChangeTypeEnabled = YES;

Modified: trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp (236622 => 236623)


--- trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp	2018-09-28 23:18:28 UTC (rev 236623)
@@ -790,7 +790,6 @@
     prefsPrivate->setServerTimingEnabled(TRUE);
     // FIXME: WebGL2
     // FIXME: WebRTC
-    prefsPrivate->setCrossOriginWindowPolicySupportEnabled(TRUE);
 }
 
 static void resetWebPreferencesToConsistentValues(IWebPreferences* preferences)

Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (236622 => 236623)


--- trunk/Tools/WebKitTestRunner/TestController.cpp	2018-09-28 23:13:38 UTC (rev 236622)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp	2018-09-28 23:18:28 UTC (rev 236623)
@@ -801,7 +801,6 @@
     WKPreferencesSetCSSOMViewScrollingAPIEnabled(preferences, true);
     WKPreferencesSetMediaCapabilitiesEnabled(preferences, true);
 
-    WKPreferencesSetCrossOriginWindowPolicyEnabled(preferences, true);
     WKPreferencesSetRestrictedHTTPResponseAccess(preferences, true);
 
     WKPreferencesSetServerTimingEnabled(preferences, true);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to