Remove Document#selectedStylesheetSet/preferredStylesheetSet
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 16 May 2018 16:20:26 +0000 (16:20 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 16 May 2018 16:20:26 +0000 (16:20 +0000)
https://bugs.webkit.org/show_bug.cgi?id=185381

Patch by Chris Nardi <cnardi@chromium.org> on 2018-05-16
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Refresh historical CSSOM test from upstream to test this change.

* web-platform-tests/cssom/historical-expected.txt:
* web-platform-tests/cssom/historical.html:

Source/WebCore:

Document#selectedStylesheetSet/preferredStylesheetSet are non-standard methods that
are only implemented WebKit. Blink removed these methods in https://crbug.com/690609.
The standard versions of these methods are are no longer in the spec. Remove them
entirely from our implementation.

Updated existing tests and imported/w3c/web-platform-tests/cssom/historical.html.

* dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
* dom/Document.h:
* dom/Document.idl:
* style/StyleScope.cpp:
(WebCore::Style::Scope::collectActiveStyleSheets):
* style/StyleScope.h:
(WebCore::Style::Scope::preferredStylesheetSetName const):

Source/WebKit:

Make API methods for Document#selectedStylesheetSet/preferredStylesheetSet do nothing.

* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentGtk.cpp:
(webkit_dom_document_set_property):
(webkit_dom_document_get_property):
(webkit_dom_document_get_preferred_stylesheet_set):
(webkit_dom_document_get_selected_stylesheet_set):
(webkit_dom_document_set_selected_stylesheet_set):

Source/WebKitLegacy/mac:

Mark API methods for Document#selectedStylesheetSet/preferredStylesheetSet as deprecated
and make them do nothing.

* DOM/DOMDocument.h:
* DOM/DOMDocument.mm:
(-[DOMDocument preferredStylesheetSet]):
(-[DOMDocument selectedStylesheetSet]):
(-[DOMDocument setSelectedStylesheetSet:]):

LayoutTests:

Update tests to remove selectedStylesheetSet/preferredStylesheetSet.

* fast/css/link-disabled-attr-expected.txt:
* fast/css/link-disabled-attr.html:
* fast/dom/assign-to-prototype-accessor-on-prototype-should-throw-expected.txt:
* fast/dom/assign-to-prototype-accessor-on-prototype-should-throw.html:
* fast/dom/document-attribute-js-null-expected.txt:
* fast/dom/document-attribute-js-null.html:
* fast/shadow-dom/link-element-in-shadow-tree-expected.txt:
* fast/shadow-dom/link-element-in-shadow-tree.html:
* fast/shadow-dom/selected-stylesheet-in-shadow-tree-expected.txt: Removed.
* fast/shadow-dom/selected-stylesheet-in-shadow-tree.html: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231849 268f45cc-cd09-0410-ab3c-d52691b4dbfc

26 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/css/link-disabled-attr-expected.txt
LayoutTests/fast/css/link-disabled-attr.html
LayoutTests/fast/dom/assign-to-prototype-accessor-on-prototype-should-throw-expected.txt
LayoutTests/fast/dom/assign-to-prototype-accessor-on-prototype-should-throw.html
LayoutTests/fast/dom/document-attribute-js-null-expected.txt
LayoutTests/fast/dom/document-attribute-js-null.html
LayoutTests/fast/shadow-dom/link-element-in-shadow-tree-expected.txt
LayoutTests/fast/shadow-dom/link-element-in-shadow-tree.html
LayoutTests/fast/shadow-dom/selected-stylesheet-in-shadow-tree-expected.txt [deleted file]
LayoutTests/fast/shadow-dom/selected-stylesheet-in-shadow-tree.html [deleted file]
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/cssom/historical-expected.txt
LayoutTests/imported/w3c/web-platform-tests/cssom/historical.html
Source/WebCore/ChangeLog
Source/WebCore/dom/Document.cpp
Source/WebCore/dom/Document.h
Source/WebCore/dom/Document.idl
Source/WebCore/style/StyleScope.cpp
Source/WebCore/style/StyleScope.h
Source/WebKit/ChangeLog
Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.h
Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentGtk.cpp
Source/WebKitLegacy/mac/ChangeLog
Source/WebKitLegacy/mac/DOM/DOMDocument.h
Source/WebKitLegacy/mac/DOM/DOMDocument.mm

index 0f63a4c..a6c15b8 100644 (file)
@@ -1,3 +1,23 @@
+2018-05-16  Chris Nardi  <cnardi@chromium.org>
+
+        Remove Document#selectedStylesheetSet/preferredStylesheetSet
+        https://bugs.webkit.org/show_bug.cgi?id=185381
+
+        Reviewed by Darin Adler.
+
+        Update tests to remove selectedStylesheetSet/preferredStylesheetSet.
+
+        * fast/css/link-disabled-attr-expected.txt:
+        * fast/css/link-disabled-attr.html:
+        * fast/dom/assign-to-prototype-accessor-on-prototype-should-throw-expected.txt:
+        * fast/dom/assign-to-prototype-accessor-on-prototype-should-throw.html:
+        * fast/dom/document-attribute-js-null-expected.txt:
+        * fast/dom/document-attribute-js-null.html:
+        * fast/shadow-dom/link-element-in-shadow-tree-expected.txt:
+        * fast/shadow-dom/link-element-in-shadow-tree.html:
+        * fast/shadow-dom/selected-stylesheet-in-shadow-tree-expected.txt: Removed.
+        * fast/shadow-dom/selected-stylesheet-in-shadow-tree.html: Removed.
+
 2018-05-16  Per Arne Vollan  <pvollan@apple.com>
 
         Mark animations/keyframes-dynamic.html and related tests as failing on Windows.
index 7e81e52..686a025 100644 (file)
@@ -19,10 +19,6 @@ altsheet
 FAIL link.disabled should be true. Was false.
 PASS link.sheet is non-null.
 FAIL getComputedStyle(testElement).backgroundColor should be rgb(0, 128, 0). Was rgba(0, 0, 0, 0).
-FAIL link.disabled should be true. Was false.
-PASS getComputedStyle(testElement).backgroundColor is originalBG
-PASS link.disabled is false
-FAIL getComputedStyle(testElement).backgroundColor should be rgb(0, 128, 0). Was rgba(0, 0, 0, 0).
 PASS getComputedStyle(testElement).backgroundColor is originalBG
 PASS successfullyParsed is true
 
index a2ca773..7c24cdd 100644 (file)
@@ -75,19 +75,6 @@ function altSheetLoaded(e) {
     shouldBeNonNull("link.sheet");
     shouldBe("getComputedStyle(testElement).backgroundColor", "'rgb(0, 128, 0)'");
 
-    // Enabling a stylsheet set modifies disabled status of style sheets.
-
-    document.selectedStyleSheetSet = "nosuchset";
-    shouldBeTrue("link.disabled");
-    shouldBe("getComputedStyle(testElement).backgroundColor", "originalBG");
-
-    document.selectedStyleSheetSet = "altset";
-    shouldBeFalse("link.disabled");
-    shouldBe("getComputedStyle(testElement).backgroundColor", "'rgb(0, 128, 0)'");
-
-    // Disabling a stylesheet *after* its stylesheet set has been selected
-    // de-activates it.
-
     link.disabled = true;
     shouldBe("getComputedStyle(testElement).backgroundColor", "originalBG");
 
index a037fbe..b983160 100644 (file)
@@ -4,7 +4,6 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 
 PASS document.prototype.oncopy = "fail" threw exception TypeError: undefined is not an object (evaluating 'document.prototype.oncopy = "fail"').
-PASS Document.prototype.selectedStylesheetSet = "fail" threw exception TypeError: The Document.selectedStylesheetSet setter can only be used on instances of Document.
 PASS HTMLElement.prototype.innerText = "fail" threw exception TypeError: The HTMLElement.innerText setter can only be used on instances of HTMLElement.
 PASS successfullyParsed is true
 
index 56d3962..cdef9ee 100644 (file)
@@ -6,7 +6,6 @@
 description("Makes sure that assigning to a DOM property directly on the prototype throws a TypeError.");
 
 shouldThrow('document.prototype.oncopy = "fail"');
-shouldThrow('Document.prototype.selectedStylesheetSet = "fail"');
 shouldThrow('HTMLElement.prototype.innerText = "fail"');
 
 </script>
index 72100f7..15561f9 100644 (file)
@@ -1,7 +1,6 @@
 This test setting various attributes of documents to JavaScript null.
 
 TEST SUCCEEDED: Got the expected exception (9). [tested Document.xmlVersion]
-TEST SUCCEEDED: The value was null. [tested Document.selectedStylesheetSet]
 
 TEST SUCCEEDED: The value was the string 'null'. [tested HTMLDocument.title]
 TEST SUCCEEDED: The value was the empty string. [tested HTMLDocument.cookie]
index 7bc218b..f3fc968 100644 (file)
@@ -64,8 +64,7 @@
                     typeName: 'Document',
                     docToUse: xmlDoc,
                     attributes: [
-                        {name: 'xmlVersion', expectedExceptionCode: 9},
-                        {name: 'selectedStylesheetSet', expectedNull: null}
+                        {name: 'xmlVersion', expectedExceptionCode: 9}
                     ]
                 },
                 {
index fedfae8..db1dddc 100644 (file)
@@ -7,6 +7,4 @@ PASS Style rules loaded inside a shadow tree with closed mode must apply to a di
 PASS Style rules loaded inside a shadow tree with open mode must apply to a div in the shadow tree 
 PASS :host style rules loaded inside a shadow tree with closed mode must apply to the host element 
 PASS :host style rules loaded inside a shadow tree with open mode must apply to the host element 
-PASS Link elements should load stylesheets inside a connected shadow tree with closed mode 
-PASS Link elements should load stylesheets inside a connected shadow tree with open mode 
 
index fadb539..eaa4a98 100644 (file)
@@ -119,25 +119,6 @@ function test_loaded_stylesheet_rule_in_shadow_tree_applies_to_host(mode) {
 
 test_loaded_stylesheet_rule_in_shadow_tree_applies_to_host('closed');
 test_loaded_stylesheet_rule_in_shadow_tree_applies_to_host('open');
-
-function test_title_is_ignored_in_shadow_tree(mode) {
-    promise_test(() => {
-        let doc;
-        return create_iframe().then((contentWindow) => {
-            doc = contentWindow.document;
-            const host = doc.createElement('div');
-            const shadowRoot = host.attachShadow({mode: mode});
-            shadowRoot.innerHTML = `<style title="foo"></style>`;
-            doc.body.appendChild(host);
-        }).then(() => {
-            assert_equals(doc.selectedStylesheetSet, null);
-        });
-    }, `Link elements should load stylesheets inside a connected shadow tree with ${mode} mode`);
-}
-
-test_title_is_ignored_in_shadow_tree('closed');
-test_title_is_ignored_in_shadow_tree('open');
-
 </script>
 </html>
 </body>
diff --git a/LayoutTests/fast/shadow-dom/selected-stylesheet-in-shadow-tree-expected.txt b/LayoutTests/fast/shadow-dom/selected-stylesheet-in-shadow-tree-expected.txt
deleted file mode 100644 (file)
index d7fe0d4..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-
-PASS The title attribute on the style element in a document must set the preferred stylesheet. 
-PASS The title attribute on the style element inside a closed shadow tree must not set the preferred stylesheet. 
-PASS The title attribute on the style element inside an open shadow tree must not set the preferred stylesheet. 
-PASS The title attribute on the link element in a document must set the preferred stylesheet. 
-PASS The title attribute on the link element inside a closed shadow tree must not set the preferred stylesheet. 
-PASS The title attribute on the link element inside an open shadow tree must not set the preferred stylesheet. 
-
diff --git a/LayoutTests/fast/shadow-dom/selected-stylesheet-in-shadow-tree.html b/LayoutTests/fast/shadow-dom/selected-stylesheet-in-shadow-tree.html
deleted file mode 100644 (file)
index b2e3a2c..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>Shadow DOM: Link and style elements inside a shadow tree should not affect the preferred stylesheet</title>
-<meta name="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org">
-<meta name="assert" content="Link and style elements inside a shadow tree should not affect the preferred stylesheet">
-<script src='../../resources/testharness.js'></script>
-<script src='../../resources/testharnessreport.js'></script>
-</head>
-<body>
-<script>
-
-function make_iframe(markup, testFunction) {
-    return () => {
-        const iframe = document.createElement('iframe');
-        return new Promise(function (resolve) {
-            iframe.onload = () => { resolve(iframe.contentDocument); };
-            document.body.appendChild(iframe);
-        }).then(function (doc) {
-            doc.open();
-            doc.write(markup);
-            doc.close();
-            return testFunction(doc, doc.querySelector('div'));
-        }).then(() => iframe.remove(), error => {
-            iframe.remove();
-            return Promise.reject(error);
-        });
-    };
-}
-
-// Some browsers don't synchronously update the selected stylesheet. 
-function wait_for_stylesheet_to_be_selected() {
-    return new Promise(function (resolve) {
-        setTimeout(resolve, 0);
-    });
-}
-
-promise_test(make_iframe(`<!DOCTYPE html><body>`, (doc) => {
-    doc.body.innerHTML = `<style title="foo">div { color: red; }</style>`;
-    return wait_for_stylesheet_to_be_selected().then(() => {
-        assert_equals(doc.preferredStylesheetSet, 'foo');
-        assert_equals(doc.selectedStylesheetSet, 'foo');
-    });
-}), 'The title attribute on the style element in a document must set the preferred stylesheet.');
-
-promise_test(make_iframe(`<!DOCTYPE html><body><div>`, (doc) => {
-    doc.querySelector('div').attachShadow({mode: 'closed'}).innerHTML = `<style title="foo"></style>`;
-    return wait_for_stylesheet_to_be_selected().then(() => {
-        assert_equals(doc.preferredStylesheetSet, null);
-        assert_equals(doc.selectedStylesheetSet, null);
-    });
-}), 'The title attribute on the style element inside a closed shadow tree must not set the preferred stylesheet.');
-
-promise_test(make_iframe(`<!DOCTYPE html><body><div>`, (doc) => {
-    doc.querySelector('div').attachShadow({mode: 'open'}).innerHTML = `<style title="foo"></style>`;
-    return wait_for_stylesheet_to_be_selected().then(() => {
-        assert_equals(doc.preferredStylesheetSet, null);
-        assert_equals(doc.selectedStylesheetSet, null);
-    });
-}), 'The title attribute on the style element inside an open shadow tree must not set the preferred stylesheet.');
-
-function insert_link_and_wait(parent, title) {
-    return new Promise((resolve, reject) => {
-        const link = parent.ownerDocument.createElement('link');
-        link.rel = 'stylesheet';
-        link.title = title;
-        link.href = 'resources/green-host.css';
-        link.onload = resolve;
-        parent.appendChild(link);
-        setTimeout(() => reject('Failed to load the stylesheet'), 1000);
-    }).then(() => wait_for_stylesheet_to_be_selected());
-}
-
-promise_test(make_iframe(`<!DOCTYPE html><body>`, (doc) => {
-    return insert_link_and_wait(doc.body, 'foo').then(() => {
-        assert_equals(doc.preferredStylesheetSet, 'foo');
-        assert_equals(doc.selectedStylesheetSet, 'foo');
-    });
-}), 'The title attribute on the link element in a document must set the preferred stylesheet.');
-
-promise_test(make_iframe(`<!DOCTYPE html><body><div>`, (doc) => {
-    const root = doc.querySelector('div').attachShadow({mode: 'closed'});
-    return insert_link_and_wait(root, 'foo').then(() => {
-        assert_equals(doc.preferredStylesheetSet, null);
-        assert_equals(doc.selectedStylesheetSet, null);
-    });
-}), 'The title attribute on the link element inside a closed shadow tree must not set the preferred stylesheet.');
-
-promise_test(make_iframe(`<!DOCTYPE html><body><div>`, (doc) => {
-    const root = doc.querySelector('div').attachShadow({mode: 'open'});
-    return insert_link_and_wait(root, 'foo').then(() => {
-        assert_equals(doc.preferredStylesheetSet, null);
-        assert_equals(doc.selectedStylesheetSet, null);
-    });
-}), 'The title attribute on the link element inside an open shadow tree must not set the preferred stylesheet.');
-
-</script>
-</html>
-</body>
index c609970..a23217e 100644 (file)
@@ -1,3 +1,15 @@
+2018-05-16  Chris Nardi  <cnardi@chromium.org>
+
+        Remove Document#selectedStylesheetSet/preferredStylesheetSet
+        https://bugs.webkit.org/show_bug.cgi?id=185381
+
+        Reviewed by Darin Adler.
+
+        Refresh historical CSSOM test from upstream to test this change.
+
+        * web-platform-tests/cssom/historical-expected.txt:
+        * web-platform-tests/cssom/historical.html:
+
 2018-05-15  Charles Vazac  <cvazac@gmail.com>
 
         Add the PerformanceServerTiming Interface which makes Server-Timing header timing values available to JavaScript running in the browser.
index d7bdffd..f4341de 100644 (file)
@@ -4,6 +4,8 @@ PASS Historical Document member: lastStyleSheetSet
 PASS Historical Document member: preferredStyleSheetSet 
 PASS Historical Document member: styleSheetSets 
 PASS Historical Document member: enableStyleSheetsForSet 
+PASS Historical Document member: selectedStylesheetSet 
+PASS Historical Document member: preferredStylesheetSet 
 PASS Historical Element member: cascadedStyle 
 PASS Historical Element member: defaultStyle 
 PASS Historical Element member: rawComputedStyle 
index ef31d14..ddd264c 100644 (file)
@@ -1,5 +1,6 @@
 <!DOCTYPE html>
 <title>Historical features</title>
+<link rel="help" href="https://drafts.csswg.org/cssom/#changes-from-5-december-2013">
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
 <div id=log></div>
@@ -10,6 +11,8 @@
   "preferredStyleSheetSet",
   "styleSheetSets",
   "enableStyleSheetsForSet",
+  "selectedStylesheetSet",
+  "preferredStylesheetSet",
 ].forEach(function(name) {
   test(function() {
     assert_false(name in document);
index 5046fa4..1adef64 100644 (file)
@@ -1,3 +1,26 @@
+2018-05-16  Chris Nardi  <cnardi@chromium.org>
+
+        Remove Document#selectedStylesheetSet/preferredStylesheetSet
+        https://bugs.webkit.org/show_bug.cgi?id=185381
+
+        Reviewed by Darin Adler.
+
+        Document#selectedStylesheetSet/preferredStylesheetSet are non-standard methods that
+        are only implemented WebKit. Blink removed these methods in https://crbug.com/690609.
+        The standard versions of these methods are are no longer in the spec. Remove them
+        entirely from our implementation.
+
+        Updated existing tests and imported/w3c/web-platform-tests/cssom/historical.html.
+
+        * dom/Document.cpp:
+        (WebCore::Document::processHttpEquiv):
+        * dom/Document.h:
+        * dom/Document.idl:
+        * style/StyleScope.cpp:
+        (WebCore::Style::Scope::collectActiveStyleSheets):
+        * style/StyleScope.h:
+        (WebCore::Style::Scope::preferredStylesheetSetName const):
+
 2018-05-16  Zalan Bujtas  <zalan@apple.com>
 
         [LFC] Implement width computation for replaced inflow elements.
index 750cf06..ce96ae1 100644 (file)
@@ -3332,7 +3332,6 @@ void Document::processHttpEquiv(const String& equiv, const String& content, bool
         // For more info, see the test at:
         // http://www.hixie.ch/tests/evil/css/import/main/preferred.html
         // -dwh
-        styleScope().setSelectedStylesheetSetName(content);
         styleScope().setPreferredStylesheetSetName(content);
         break;
 
@@ -3637,21 +3636,6 @@ StyleSheetList& Document::styleSheets()
     return *m_styleSheetList;
 }
 
-String Document::preferredStylesheetSet() const
-{
-    return styleScope().preferredStylesheetSetName();
-}
-
-String Document::selectedStylesheetSet() const
-{
-    return styleScope().selectedStylesheetSetName();
-}
-
-void Document::setSelectedStylesheetSet(const String& aString)
-{
-    styleScope().setSelectedStylesheetSetName(aString);
-}
-
 void Document::evaluateMediaQueryList()
 {
     if (m_mediaQueryMatcher)
index 3a40909..8e8cab9 100644 (file)
@@ -727,10 +727,6 @@ public:
 
     MouseEventWithHitTestResults prepareMouseEvent(const HitTestRequest&, const LayoutPoint&, const PlatformMouseEvent&);
 
-    WEBCORE_EXPORT String preferredStylesheetSet() const;
-    WEBCORE_EXPORT String selectedStylesheetSet() const;
-    WEBCORE_EXPORT void setSelectedStylesheetSet(const String&);
-
     enum class FocusRemovalEventsMode { Dispatch, DoNotDispatch };
     WEBCORE_EXPORT bool setFocusedElement(Element*, FocusDirection = FocusDirectionNone,
         FocusRemovalEventsMode = FocusRemovalEventsMode::Dispatch);
index 413e53e..edf34a9 100644 (file)
@@ -168,10 +168,6 @@ typedef (
     readonly attribute VisibilityState visibilityState;
     attribute EventHandler onvisibilitychange;
 
-    // FIXME: Those were dropped from the CSSOM specification.
-    readonly attribute DOMString? preferredStylesheetSet;
-    attribute DOMString? selectedStylesheetSet;
-
     // FIXME: Those have been dropped from the DOM specification.
     readonly attribute DOMString? xmlEncoding;
     attribute DOMString? xmlVersion;
index 0e52e10..f22fd83 100644 (file)
@@ -199,15 +199,6 @@ void Scope::setPreferredStylesheetSetName(const String& name)
     didChangeActiveStyleSheetCandidates();
 }
 
-void Scope::setSelectedStylesheetSetName(const String& name)
-{
-    if (m_selectedStylesheetSetName == name)
-        return;
-    m_selectedStylesheetSetName = name;
-    didChangeActiveStyleSheetCandidates();
-}
-
-
 void Scope::addPendingSheet(const Element& element)
 {
     ASSERT(!hasPendingSheet(element));
@@ -349,10 +340,8 @@ void Scope::collectActiveStyleSheets(Vector<RefPtr<StyleSheet>>& sheets)
                 if (linkElement.styleSheetIsLoading()) {
                     // it is loading but we should still decide which style sheet set to use
                     if (!enabledViaScript && !title.isEmpty() && m_preferredStylesheetSetName.isEmpty()) {
-                        if (!linkElement.attributeWithoutSynchronization(relAttr).contains("alternate")) {
+                        if (!linkElement.attributeWithoutSynchronization(relAttr).contains("alternate"))
                             m_preferredStylesheetSetName = title;
-                            m_selectedStylesheetSetName = title;
-                        }
                     }
                     continue;
                 }
@@ -379,7 +368,7 @@ void Scope::collectActiveStyleSheets(Vector<RefPtr<StyleSheet>>& sheets)
                     // us as the preferred set. Otherwise, just ignore
                     // this sheet.
                     if (is<HTMLStyleElement>(element) || !rel.contains("alternate"))
-                        m_preferredStylesheetSetName = m_selectedStylesheetSetName = title;
+                        m_preferredStylesheetSetName = title;
                 }
                 if (title != m_preferredStylesheetSetName)
                     sheet = nullptr;
index b73e16c..2287a71 100644 (file)
@@ -78,9 +78,7 @@ public:
     void removeStyleSheetCandidateNode(Node&);
 
     String preferredStylesheetSetName() const { return m_preferredStylesheetSetName; }
-    String selectedStylesheetSetName() const { return m_selectedStylesheetSetName; }
     void setPreferredStylesheetSetName(const String&);
-    void setSelectedStylesheetSetName(const String&);
 
     void addPendingSheet(const Element&);
     void removePendingSheet(const Element&);
@@ -178,7 +176,6 @@ private:
     ListHashSet<Node*> m_styleSheetCandidateNodes;
 
     String m_preferredStylesheetSetName;
-    String m_selectedStylesheetSetName;
 
     bool m_usesStyleBasedEditability { false };
     bool m_isUpdatingStyleResolver { false };
index 8d54e12..116d592 100644 (file)
@@ -1,3 +1,20 @@
+2018-05-16  Chris Nardi  <cnardi@chromium.org>
+
+        Remove Document#selectedStylesheetSet/preferredStylesheetSet
+        https://bugs.webkit.org/show_bug.cgi?id=185381
+
+        Reviewed by Darin Adler.
+
+        Make API methods for Document#selectedStylesheetSet/preferredStylesheetSet do nothing.
+
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.h:
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentGtk.cpp:
+        (webkit_dom_document_set_property):
+        (webkit_dom_document_get_property):
+        (webkit_dom_document_get_preferred_stylesheet_set):
+        (webkit_dom_document_get_selected_stylesheet_set):
+        (webkit_dom_document_set_selected_stylesheet_set):
+
 2018-05-16  Alberto Garcia  <berto@igalia.com>
 
         [CMake] Properly detect compiler flags, needed libs, and fallbacks for usage of 64-bit atomic operations
index 669a6a1..63a59d8 100644 (file)
@@ -941,6 +941,8 @@ webkit_dom_document_get_character_set(WebKitDOMDocument* self);
  * webkit_dom_document_get_preferred_stylesheet_set:
  * @self: A #WebKitDOMDocument
  *
+ * This function has been removed and does nothing.
+ *
  * Returns: A #gchar
  *
  * Deprecated: 2.22: Use JavaScriptCore API instead
@@ -952,6 +954,8 @@ webkit_dom_document_get_preferred_stylesheet_set(WebKitDOMDocument* self);
  * webkit_dom_document_get_selected_stylesheet_set:
  * @self: A #WebKitDOMDocument
  *
+ * This function has been removed and does nothing.
+ *
  * Returns: A #gchar
  *
  * Deprecated: 2.22: Use JavaScriptCore API instead
@@ -964,6 +968,7 @@ webkit_dom_document_get_selected_stylesheet_set(WebKitDOMDocument* self);
  * @self: A #WebKitDOMDocument
  * @value: A #gchar
  *
+ * This function has been removed and does nothing.
  *
  * Deprecated: 2.22: Use JavaScriptCore API instead
 **/
index 0557aa6..57e0198 100644 (file)
@@ -181,7 +181,7 @@ static void webkit_dom_document_set_property(GObject* object, guint propertyId,
         webkit_dom_document_set_charset(self, g_value_get_string(value));
         break;
     case DOM_DOCUMENT_PROP_SELECTED_STYLESHEET_SET:
-        webkit_dom_document_set_selected_stylesheet_set(self, g_value_get_string(value));
+        g_warning("%s: The selected-stylesheet-set property has been removed and no longer works.", __func__);
         break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, pspec);
@@ -291,10 +291,10 @@ static void webkit_dom_document_get_property(GObject* object, guint propertyId,
         g_value_take_string(value, webkit_dom_document_get_character_set(self));
         break;
     case DOM_DOCUMENT_PROP_PREFERRED_STYLESHEET_SET:
-        g_value_take_string(value, webkit_dom_document_get_preferred_stylesheet_set(self));
+        g_warning("%s: The preferred-stylesheet-set property has been removed and no longer works.", __func__);
         break;
     case DOM_DOCUMENT_PROP_SELECTED_STYLESHEET_SET:
-        g_value_take_string(value, webkit_dom_document_get_selected_stylesheet_set(self));
+        g_warning("%s: The selected-stylesheet-set property has been removed and no longer works.", __func__);
         break;
     case DOM_DOCUMENT_PROP_ACTIVE_ELEMENT:
         g_value_set_object(value, webkit_dom_document_get_active_element(self));
@@ -1787,30 +1787,19 @@ gchar* webkit_dom_document_get_character_set(WebKitDOMDocument* self)
 
 gchar* webkit_dom_document_get_preferred_stylesheet_set(WebKitDOMDocument* self)
 {
-    WebCore::JSMainThreadNullState state;
-    g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0);
-    WebCore::Document* item = WebKit::core(self);
-    gchar* result = convertToUTF8String(item->preferredStylesheetSet());
-    return result;
+    g_warning("%s: this function has been removed and does nothing", __func__);
+    return nullptr;
 }
 
 gchar* webkit_dom_document_get_selected_stylesheet_set(WebKitDOMDocument* self)
 {
-    WebCore::JSMainThreadNullState state;
-    g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0);
-    WebCore::Document* item = WebKit::core(self);
-    gchar* result = convertToUTF8String(item->selectedStylesheetSet());
-    return result;
+    g_warning("%s: this function has been removed and does nothing", __func__);
+    return nullptr;
 }
 
 void webkit_dom_document_set_selected_stylesheet_set(WebKitDOMDocument* self, const gchar* value)
 {
-    WebCore::JSMainThreadNullState state;
-    g_return_if_fail(WEBKIT_DOM_IS_DOCUMENT(self));
-    g_return_if_fail(value);
-    WebCore::Document* item = WebKit::core(self);
-    WTF::String convertedValue = WTF::String::fromUTF8(value);
-    item->setSelectedStylesheetSet(convertedValue);
+    g_warning("%s: this function has been removed and does nothing", __func__);
 }
 
 WebKitDOMElement* webkit_dom_document_get_active_element(WebKitDOMDocument* self)
index 142412a..4809dfb 100644 (file)
@@ -1,3 +1,19 @@
+2018-05-16  Chris Nardi  <cnardi@chromium.org>
+
+        Remove Document#selectedStylesheetSet/preferredStylesheetSet
+        https://bugs.webkit.org/show_bug.cgi?id=185381
+
+        Reviewed by Darin Adler.
+
+        Mark API methods for Document#selectedStylesheetSet/preferredStylesheetSet as deprecated
+        and make them do nothing.
+
+        * DOM/DOMDocument.h:
+        * DOM/DOMDocument.mm:
+        (-[DOMDocument preferredStylesheetSet]):
+        (-[DOMDocument selectedStylesheetSet]):
+        (-[DOMDocument setSelectedStylesheetSet:]):
+
 2018-05-15  Antoine Quint  <graouts@apple.com>
 
         [Web Animations] Expose Web Animations CSS integration as an experimental feature
index 94b35fa..caaba03 100644 (file)
@@ -81,8 +81,8 @@ WEBKIT_CLASS_DEPRECATED_MAC(10_4, 10_14)
 @property (readonly, copy) NSString *defaultCharset WEBKIT_AVAILABLE_MAC(10_5);
 @property (readonly, copy) NSString *readyState WEBKIT_AVAILABLE_MAC(10_5);
 @property (readonly, copy) NSString *characterSet WEBKIT_AVAILABLE_MAC(10_5);
-@property (readonly, copy) NSString *preferredStylesheetSet WEBKIT_AVAILABLE_MAC(10_5);
-@property (copy) NSString *selectedStylesheetSet WEBKIT_AVAILABLE_MAC(10_5);
+@property (readonly, copy) NSString *preferredStylesheetSet WEBKIT_DEPRECATED_MAC(10_5, 10_14);
+@property (copy) NSString *selectedStylesheetSet WEBKIT_DEPRECATED_MAC(10_5, 10_14);
 @property (readonly, strong) DOMElement *activeElement WEBKIT_AVAILABLE_MAC(10_6);
 
 - (DOMElement *)createElement:(NSString *)tagName;
index 30b8c45..e53e9d8 100644 (file)
 
 - (NSString *)preferredStylesheetSet
 {
-    WebCore::JSMainThreadNullState state;
-    return IMPL->preferredStylesheetSet();
+    return nil;
 }
 
 - (NSString *)selectedStylesheetSet
 {
-    WebCore::JSMainThreadNullState state;
-    return IMPL->selectedStylesheetSet();
+    return nil;
 }
 
 - (void)setSelectedStylesheetSet:(NSString *)newSelectedStylesheetSet
 {
-    WebCore::JSMainThreadNullState state;
-    IMPL->setSelectedStylesheetSet(newSelectedStylesheetSet);
 }
 
 - (DOMElement *)activeElement