Unreviewed, rolling out r214360.
authorryanhaddad@apple.com <ryanhaddad@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 24 Mar 2017 20:39:22 +0000 (20:39 +0000)
committerryanhaddad@apple.com <ryanhaddad@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 24 Mar 2017 20:39:22 +0000 (20:39 +0000)
This change caused 20+ LayoutTest failures.

Reverted changeset:

"Handle recursive calls to
ProcessingInstruction::checkStyleSheet"
https://bugs.webkit.org/show_bug.cgi?id=169982
http://trac.webkit.org/changeset/214360

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

21 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/dom/beforeload/image-removed-during-before-load-expected.txt [deleted file]
LayoutTests/fast/dom/beforeload/image-removed-during-before-load.html [deleted file]
LayoutTests/fast/dom/beforeload/recursive-css-pi-before-load-expected.txt [deleted file]
LayoutTests/fast/dom/beforeload/recursive-css-pi-before-load.html [deleted file]
LayoutTests/fast/dom/beforeload/recursive-link-before-load-expected.txt [deleted file]
LayoutTests/fast/dom/beforeload/recursive-link-before-load.html [deleted file]
LayoutTests/fast/dom/beforeload/recursive-xsl-pi-before-load-expected.txt [deleted file]
LayoutTests/fast/dom/beforeload/recursive-xsl-pi-before-load.html [deleted file]
LayoutTests/fast/dom/beforeload/resources/content.xhtml [deleted file]
LayoutTests/fast/dom/beforeload/resources/pass.css [deleted file]
LayoutTests/fast/dom/beforeload/resources/test.xsl [deleted file]
Source/WebCore/ChangeLog
Source/WebCore/dom/ProcessingInstruction.cpp
Source/WebCore/dom/ProcessingInstruction.h
Source/WebCore/html/HTMLLinkElement.cpp
Source/WebCore/html/HTMLLinkElement.h
Source/WebCore/html/HTMLMediaElement.cpp
Source/WebCore/loader/ImageLoader.cpp
Source/WebCore/style/StyleScope.cpp
Source/WebCore/style/StyleScope.h

index 6b7d1eb..25c6758 100644 (file)
@@ -1,3 +1,16 @@
+2017-03-24  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed, rolling out r214360.
+
+        This change caused 20+ LayoutTest failures.
+
+        Reverted changeset:
+
+        "Handle recursive calls to
+        ProcessingInstruction::checkStyleSheet"
+        https://bugs.webkit.org/show_bug.cgi?id=169982
+        http://trac.webkit.org/changeset/214360
+
 2017-03-24  Youenn Fablet  <youenn@apple.com>
 
         Add support for qpSum in WebRTC stats
diff --git a/LayoutTests/fast/dom/beforeload/image-removed-during-before-load-expected.txt b/LayoutTests/fast/dom/beforeload/image-removed-during-before-load-expected.txt
deleted file mode 100644 (file)
index f0f682f..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-This test confirms that image loading properly handles a 'beforeload' events that removes the image from the document. It passes if no debug assertions are fired.
-
-PASS: Hit the beforeload handler
-PASS
-PASS: No assertions hit.
diff --git a/LayoutTests/fast/dom/beforeload/image-removed-during-before-load.html b/LayoutTests/fast/dom/beforeload/image-removed-during-before-load.html
deleted file mode 100644 (file)
index 21e80b9..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<script src="resources/print.js"></script>
-<script>
-function test()
-{
-    if (window.testRunner) {
-        testRunner.dumpAsText();
-        testRunner.waitUntilDone();
-    }
-
-       image = document.createElement("img");
-    image.setAttribute("style", "display:none");
-       image.addEventListener("load", function() {
-        print('PASS', 'green');
-    }, { once: true });
-       image.addEventListener("beforeload", function() {
-        print('PASS: Hit the beforeload handler', 'green');
-        document.body.removeChild(image);
-        image = null;
-               setTimeout(step2, 0);
-       }, { once: true });
-       
-       document.body.appendChild(image);
-
-       image.setAttribute("src", "../../images/resources/test-load.jpg");
-}
-
-function step2()
-{
-    print("PASS: No assertions hit.", "green");
-
-    if (window.testRunner)
-        testRunner.notifyDone();
-}
-</script>
-</head>
-<body onload="test()">
-<p>This test confirms that image loading properly handles a 'beforeload' events that removes the image from the document. It passes if no debug assertions are fired.</p>
-<div id="console"></div>
-</body>
-</html>
diff --git a/LayoutTests/fast/dom/beforeload/recursive-css-pi-before-load-expected.txt b/LayoutTests/fast/dom/beforeload/recursive-css-pi-before-load-expected.txt
deleted file mode 100644 (file)
index 78d0781..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-This test confirms that CSS stylesheets are properly handled if loaded during 'beforeload' events. It passes if no debug assertions are fired.
-
-PASS: No assertions hit.
-
diff --git a/LayoutTests/fast/dom/beforeload/recursive-css-pi-before-load.html b/LayoutTests/fast/dom/beforeload/recursive-css-pi-before-load.html
deleted file mode 100644 (file)
index 9462654..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html>\r
-<html lang="en">\r
-<head>\r
-<meta charset="utf-8"/>\r
-<meta http-equiv="pragma" content="no-cache"/>\r
-<meta http-equiv="expires" content="0"/>\r
-<script src="resources/print.js"></script>\r
-<script>\r
-function test()\r
-{\r
-    if (window.testRunner) {\r
-        testRunner.dumpAsText();\r
-        testRunner.waitUntilDone();\r
-    }\r
-\r
-       frame = document.createElement("iframe");\r
-       frame.setAttribute("src", "resources/content.xhtml");\r
-       frame.addEventListener("load", function(){\r
-               setTimeout(step2, 0);\r
-       }, { once: true });\r
-       \r
-       document.body.appendChild(frame);\r
-       \r
-       function step2(){\r
-               ins = 'href="pass.css" type="text/css"';\r
-               pi = frame.contentDocument.createProcessingInstruction('xml-stylesheet', ins);\r
-               pi.addEventListener("beforeload", function(){ pi.data = 'href="fail.css" type="text/css"'; }, { once: true });\r
-               frame.contentDocument.insertBefore(pi, frame.contentDocument.firstChild);\r
-               \r
-               frame.contentDocument.removeChild(pi);\r
-               pi = null;\r
-\r
-        print("PASS: No assertions hit.", "green");\r
-\r
-        if (window.testRunner)\r
-            testRunner.notifyDone();\r
-       }\r
-}\r
-</script>\r
-</head>\r
-<body onload="test()">\r
-<p>This test confirms that CSS stylesheets are properly handled if loaded during 'beforeload' events. It passes if no debug assertions are fired.</p>\r
-<div id="console"></div>\r
-</body>\r
-</html>\r
diff --git a/LayoutTests/fast/dom/beforeload/recursive-link-before-load-expected.txt b/LayoutTests/fast/dom/beforeload/recursive-link-before-load-expected.txt
deleted file mode 100644 (file)
index cb676da..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-This test confirms that link elements properly handled changes during 'beforeload' events. It passes if no debug assertions are fired.
-
-PASS: Beforeload handled.
-PASS: No assertions hit.
-
diff --git a/LayoutTests/fast/dom/beforeload/recursive-link-before-load.html b/LayoutTests/fast/dom/beforeload/recursive-link-before-load.html
deleted file mode 100644 (file)
index a60718a..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE html>\r
-<html lang="en">\r
-<head>\r
-<meta charset="utf-8"/>\r
-<meta http-equiv="pragma" content="no-cache"/>\r
-<meta http-equiv="expires" content="0"/>\r
-<script src="resources/print.js"></script>\r
-<script>\r
-function test()\r
-{\r
-    if (window.testRunner) {\r
-        testRunner.dumpAsText();\r
-        testRunner.waitUntilDone();\r
-    }\r
-\r
-       frame = document.createElement("iframe");\r
-       frame.setAttribute("src", "resources/content.xhtml");\r
-       frame.addEventListener("load", function(){\r
-               setTimeout(step2, 0);\r
-       }, { once: true });\r
-       \r
-       document.body.appendChild(frame);\r
-\r
-    var link;\r
-    var head;\r
-\r
-       function step2() {\r
-        head = frame.contentDocument.getElementsByTagName('head')[0];\r
-\r
-               link = frame.contentDocument.createElement('link');\r
-        link.type = 'text/css';\r
-        link.rel = 'stylesheet';\r
-    \r
-               link.addEventListener("beforeload", function() {\r
-            print("PASS: Beforeload handled.", "green");\r
-            link.href = 'fail.css';\r
-            setTimeout(step3, 0);\r
-        }, { once: true });\r
-\r
-        link.href = 'pass.css';\r
-\r
-        head.appendChild(link);\r
-       }\r
-\r
-    function step3() {         \r
-               head.removeChild(link);\r
-               link = null;\r
-\r
-        print("PASS: No assertions hit.", "green");\r
-\r
-        if (window.testRunner)\r
-            testRunner.notifyDone();\r
-    }\r
-}\r
-</script>\r
-</head>\r
-<body onload="test()">\r
-<p>This test confirms that link elements properly handled changes during 'beforeload' events. It passes if no debug assertions are fired.</p>\r
-<div id="console"></div>\r
-</body>\r
-</html>\r
diff --git a/LayoutTests/fast/dom/beforeload/recursive-xsl-pi-before-load-expected.txt b/LayoutTests/fast/dom/beforeload/recursive-xsl-pi-before-load-expected.txt
deleted file mode 100644 (file)
index 5888e38..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-This test confirms that XSL stylesheets are properly handled if loaded during 'beforeload' events. It passes if no debug assertions are fired.
-
-PASS: No assertions hit.
-
diff --git a/LayoutTests/fast/dom/beforeload/recursive-xsl-pi-before-load.html b/LayoutTests/fast/dom/beforeload/recursive-xsl-pi-before-load.html
deleted file mode 100644 (file)
index 6708208..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html>\r
-<html lang="en">\r
-<head>\r
-<meta charset="utf-8"/>\r
-<meta http-equiv="pragma" content="no-cache"/>\r
-<meta http-equiv="expires" content="0"/>\r
-<script src="resources/print.js"></script>\r
-<script>\r
-function test()\r
-{\r
-    if (window.testRunner) {\r
-        testRunner.dumpAsText();\r
-        testRunner.waitUntilDone();\r
-    }\r
-\r
-       frame = document.createElement("iframe");\r
-       frame.setAttribute("src", "resources/content.xhtml");\r
-       frame.addEventListener("load", function(){\r
-               setTimeout(step2, 0);\r
-       }, { once: true });\r
-       \r
-       document.body.appendChild(frame);\r
-       \r
-       function step2(){\r
-               ins = 'href="test.xsl?a=1" type="text/xsl"';\r
-               pi = frame.contentDocument.createProcessingInstruction('xml-stylesheet', ins);\r
-               pi.addEventListener("beforeload", function(){ pi.data = 'href="test.xsl?b=1" type="text/xsl"'; }, { once: true });\r
-               frame.contentDocument.insertBefore(pi, frame.contentDocument.firstChild);\r
-               \r
-               frame.contentDocument.removeChild(pi);\r
-               pi = null;\r
-\r
-        print("PASS: No assertions hit.", "green");\r
-\r
-        if (window.testRunner)\r
-            testRunner.notifyDone();\r
-       }\r
-}\r
-</script>\r
-</head>\r
-<body onload="test()">\r
-<p>This test confirms that XSL stylesheets are properly handled if loaded during 'beforeload' events. It passes if no debug assertions are fired.</p>\r
-<div id="console"></div>\r
-</body>\r
-</html>\r
diff --git a/LayoutTests/fast/dom/beforeload/resources/content.xhtml b/LayoutTests/fast/dom/beforeload/resources/content.xhtml
deleted file mode 100644 (file)
index 20aee04..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
-</head>\r
-<body>\r
-hi\r
-</body>\r
-</html>\r
diff --git a/LayoutTests/fast/dom/beforeload/resources/pass.css b/LayoutTests/fast/dom/beforeload/resources/pass.css
deleted file mode 100644 (file)
index 5b030cc..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-.block {
-  width: 100px;
-  height: 100px;
-  background-color: green;
-}
diff --git a/LayoutTests/fast/dom/beforeload/resources/test.xsl b/LayoutTests/fast/dom/beforeload/resources/test.xsl
deleted file mode 100644 (file)
index e01f281..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0"?>\r
-<xsl:stylesheet version="1.0"\r
-       xmlns:xsl="http://www.w3.org/1999/XSL/Transform">\r
-       <xsl:output method="html"/>     \r
-       <xsl:template match="/">\r
-       <html>\r
-       <head>\r
-       </head>\r
-       <body>\r
-           Test\r
-       </body>\r
-       </html>\r
-       </xsl:template>\r
-</xsl:stylesheet>\r
index 0c3d987..6b50a0b 100644 (file)
@@ -1,3 +1,16 @@
+2017-03-24  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed, rolling out r214360.
+
+        This change caused 20+ LayoutTest failures.
+
+        Reverted changeset:
+
+        "Handle recursive calls to
+        ProcessingInstruction::checkStyleSheet"
+        https://bugs.webkit.org/show_bug.cgi?id=169982
+        http://trac.webkit.org/changeset/214360
+
 2017-03-24  Youenn Fablet  <youenn@apple.com>
 
         Add support for qpSum in WebRTC stats
index 7456026..92e8893 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2000 Peter Kelly (pmk@post.com)
- * Copyright (C) 2006-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2008, 2009 Apple Inc. All rights reserved.
  * Copyright (C) 2013 Samsung Electronics. All rights reserved.
  *
  * This library is free software; you can redistribute it and/or
@@ -35,7 +35,6 @@
 #include "StyleSheetContents.h"
 #include "XMLDocumentParser.h"
 #include "XSLStyleSheet.h"
-#include <wtf/SetForScope.h>
 
 namespace WebCore {
 
@@ -81,10 +80,6 @@ Ref<Node> ProcessingInstruction::cloneNodeInternal(Document& targetDocument, Clo
 
 void ProcessingInstruction::checkStyleSheet()
 {
-    // Prevent recursive loading of stylesheet.
-    if (m_isHandlingBeforeLoad)
-        return;
-
     if (m_target == "xml-stylesheet" && document().frame() && parentNode() == &document()) {
         // see http://www.w3.org/TR/xml-stylesheet/
         // ### support stylesheet included in a fragment of this (or another) document
@@ -139,25 +134,13 @@ void ProcessingInstruction::checkStyleSheet()
                 document().styleScope().removePendingSheet(*this);
             }
 
-            Ref<Document> originalDocument = document();
-
             String url = document().completeURL(href).string();
-
-            {
-            SetForScope<bool> change(m_isHandlingBeforeLoad, true);
             if (!dispatchBeforeLoadEvent(url))
                 return;
-            }
 
-            bool didEventListenerDisconnectThisElement = !isConnected() || &document() != originalDocument.ptr();
-            if (didEventListenerDisconnectThisElement)
-                return;
-            
             m_loading = true;
             document().styleScope().addPendingSheet(*this);
 
-            ASSERT_WITH_SECURITY_IMPLICATION(!m_cachedSheet);
-
 #if ENABLE(XSLT)
             if (m_isXSL) {
                 auto options = CachedResourceLoader::defaultCachedResourceOptions();
@@ -198,8 +181,7 @@ bool ProcessingInstruction::isLoading() const
 bool ProcessingInstruction::sheetLoaded()
 {
     if (!isLoading()) {
-        if (document().styleScope().hasPendingSheet(*this))
-            document().styleScope().removePendingSheet(*this);
+        document().styleScope().removePendingSheet(*this);
 #if ENABLE(XSLT)
         if (m_isXSL)
             document().styleScope().flushPendingUpdate();
@@ -229,7 +211,6 @@ void ProcessingInstruction::setCSSStyleSheet(const String& href, const URL& base
     // We don't need the cross-origin security check here because we are
     // getting the sheet text in "strict" mode. This enforces a valid CSS MIME
     // type.
-    Ref<Document> protect(document());
     parseStyleSheet(sheet->sheetText());
 }
 
index d8b5351..fb357ee 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2000 Peter Kelly (pmk@post.com)
- * Copyright (C) 2006-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2006 Apple Inc. All rights reserved.
  * Copyright (C) 2013 Samsung Electronics. All rights reserved.
  *
  * This library is free software; you can redistribute it and/or
@@ -74,8 +74,6 @@ private:
 
     void parseStyleSheet(const String& sheet);
 
-    void clearExistingCachedSheet();
-
     String m_target;
     String m_localHref;
     String m_title;
@@ -89,7 +87,6 @@ private:
 #if ENABLE(XSLT)
     bool m_isXSL { false };
 #endif
-    bool m_isHandlingBeforeLoad { false };
 };
 
 } // namespace WebCore
index ac5a274..c8b80ec 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
  *           (C) 1999 Antti Koivisto (koivisto@kde.org)
  *           (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2003-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2006, 2007, 2008, 2009, 2010, 2014 Apple Inc. All rights reserved.
  * Copyright (C) 2009 Rob Buis (rwlbuis@gmail.com)
  * Copyright (C) 2011 Google Inc. All rights reserved.
  *
@@ -55,7 +55,6 @@
 #include "StyleScope.h"
 #include "StyleSheetContents.h"
 #include <wtf/Ref.h>
-#include <wtf/SetForScope.h>
 #include <wtf/StdLibExtras.h>
 
 namespace WebCore {
@@ -225,10 +224,6 @@ void HTMLLinkElement::process()
         return;
     }
 
-    // Prevent recursive loading of link.
-    if (m_isHandlingBeforeLoad)
-        return;
-
     URL url = getNonEmptyURLAttribute(hrefAttr);
 
     if (!m_linkLoader.loadLink(m_relAttribute, url, attributeWithoutSynchronization(asAttr), attributeWithoutSynchronization(crossoriginAttr), document()))
@@ -248,11 +243,8 @@ void HTMLLinkElement::process()
             m_cachedSheet = nullptr;
         }
 
-        {
-        SetForScope<bool> change(m_isHandlingBeforeLoad, true);
         if (!shouldLoadLink())
             return;
-        }
 
         m_loading = true;
 
@@ -285,7 +277,6 @@ void HTMLLinkElement::process()
 
         request.setAsPotentiallyCrossOrigin(crossOrigin(), document());
 
-        ASSERT_WITH_SECURITY_IMPLICATION(!m_cachedSheet);
         m_cachedSheet = document().cachedResourceLoader().requestCSSStyleSheet(WTFMove(request));
 
         if (m_cachedSheet)
index 317aaa1..6620788 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
  *           (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2008, 2010 Apple Inc. All rights reserved.
  * Copyright (C) 2011 Google Inc. All rights reserved.
  *
  * This library is free software; you can redistribute it and/or
@@ -132,7 +132,6 @@ private:
     bool m_createdByParser;
     bool m_firedLoad;
     bool m_loadedResource;
-    bool m_isHandlingBeforeLoad { false };
 
     PendingSheetType m_pendingSheetType;
 
index a152a6a..9188633 100644 (file)
@@ -1325,8 +1325,6 @@ void HTMLMediaElement::selectMediaResource()
 
         enum Mode { None, Object, Attribute, Children };
         Mode mode = None;
-        Ref<Document> originalDocument = document();
-        bool didEventListenerDisconnectThisElement = false;
 
         if (m_mediaProvider) {
             // 6. If the media element has an assigned media provider object, then let mode be object.
@@ -1410,13 +1408,6 @@ void HTMLMediaElement::selectMediaResource()
                 return;
             }
 
-            didEventListenerDisconnectThisElement = !isConnected() || &document() != originalDocument.ptr();
-            if (didEventListenerDisconnectThisElement) {
-                mediaLoadingFailed(MediaPlayer::FormatError);
-                LOG(Media, "HTMLMediaElement::selectMediaResource(%p) -  document changed during load.", this);
-                return;
-            }
-
             // 3. If absolute URL was obtained successfully, set the currentSrc attribute to absolute URL.
             m_currentSrc = absoluteURL;
 
@@ -4224,12 +4215,10 @@ URL HTMLMediaElement::selectNextSourceChild(ContentType* contentType, String* ke
 
     URL mediaURL;
     HTMLSourceElement* source = nullptr;
-    Ref<Document> originalDocument = document();
     String type;
     bool lookingForStartNode = m_nextChildNodeToConsider;
     bool canUseSourceElement = false;
-    bool okToLoadSourceURL = false;
-    bool didEventListenerDisconnectThisElement = false;
+    bool okToLoadSourceURL;
 
     NodeVector potentialSourceNodes;
     getChildNodes(*this, potentialSourceNodes);
@@ -4302,13 +4291,6 @@ URL HTMLMediaElement::selectNextSourceChild(ContentType* contentType, String* ke
             goto CheckAgain;
         }
 
-        didEventListenerDisconnectThisElement = !isConnected() || &document() != originalDocument.ptr();
-        if (didEventListenerDisconnectThisElement) {
-            LOG(Media, "HTMLMediaElement::selectNextSourceChild(%p) - 'beforeload' changed document during load.", this);
-            source = nullptr;
-            goto CheckAgain;
-        }
-
         if (!okToLoadSourceURL)
             goto CheckAgain;
 
index b992343..57914ef 100644 (file)
@@ -394,12 +394,7 @@ void ImageLoader::dispatchPendingBeforeLoadEvent()
     if (!element().document().hasLivingRenderTree())
         return;
     m_hasPendingBeforeLoadEvent = false;
-    Ref<Document> originalDocument = element().document();
     if (element().dispatchBeforeLoadEvent(m_image->url())) {
-        bool didEventListenerDisconnectThisElement = !element().isConnected() || &element().document() != originalDocument.ptr();
-        if (didEventListenerDisconnectThisElement)
-            return;
-        
         updateRenderer();
         return;
     }
index b1e4805..02f4d44 100644 (file)
@@ -3,7 +3,7 @@
  *           (C) 1999 Antti Koivisto (koivisto@kde.org)
  *           (C) 2001 Dirk Mueller (mueller@kde.org)
  *           (C) 2006 Alexey Proskuryakov (ap@webkit.org)
- * Copyright (C) 2004-2009, 2011-2012, 2015-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2004-2009, 2011-2012, 2015-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
  * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved.
  * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
@@ -233,11 +233,6 @@ bool Scope::hasPendingSheetInBody(const Element& element) const
     return m_elementsInBodyWithPendingSheets.contains(&element);
 }
 
-bool Scope::hasPendingSheet(const ProcessingInstruction& processingInstruction) const
-{
-    return m_processingInstructionsWithPendingSheets.contains(&processingInstruction);
-}
-
 void Scope::addStyleSheetCandidateNode(Node& node, bool createdByParser)
 {
     if (!node.isConnected())
index a4963c6..fc2549a 100644 (file)
@@ -3,7 +3,7 @@
  *           (C) 1999 Antti Koivisto (koivisto@kde.org)
  *           (C) 2001 Dirk Mueller (mueller@kde.org)
  *           (C) 2006 Alexey Proskuryakov (ap@webkit.org)
- * Copyright (C) 2004-2010, 2012-2013, 2015-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2004-2010, 2012-2013, 2015-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
  * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
  * Copyright (C) 2011 Google Inc. All rights reserved.
@@ -92,7 +92,6 @@ public:
     bool hasPendingSheetsInBody() const;
     bool hasPendingSheet(const Element&) const;
     bool hasPendingSheetInBody(const Element&) const;
-    bool hasPendingSheet(const ProcessingInstruction&) const;
 
     bool usesStyleBasedEditability() { return m_usesStyleBasedEditability; }