[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

abarth at webkit.org abarth at webkit.org
Wed Dec 22 11:46:58 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 4489cfcb52875f0e1154cd3407f87639455bae1c
Author: abarth at webkit.org <abarth at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Aug 6 17:58:05 2010 +0000

    2010-08-06  Adam Barth  <abarth at webkit.org>
    
            Reviewed by Eric Seidel.
    
            noembed should respect whether plugins are enabled
            https://bugs.webkit.org/show_bug.cgi?id=43611
    
            This instruction isn't in the HTML5 spec, but it seems like the right
            thing to do.  I suspect this is because the spec doesn't understand
            that plugins can be disabled.
    
            I'm not sure how we can test this in DumpRenderTree, but I'm open to
            suggestions.
    
            * html/HTMLTreeBuilder.cpp:
            (WebCore::HTMLTreeBuilder::adjustedLexerState):
            (WebCore::HTMLTreeBuilder::processStartTagForInBody):
            (WebCore::HTMLTreeBuilder::processStartTagForInHead):
            (WebCore::HTMLTreeBuilder::scriptEnabled):
            (WebCore::HTMLTreeBuilder::pluginsEnabled):
            * html/HTMLTreeBuilder.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64858 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 404a9e4..244b3f0 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,25 @@
+2010-08-06  Adam Barth  <abarth at webkit.org>
+
+        Reviewed by Eric Seidel.
+
+        noembed should respect whether plugins are enabled
+        https://bugs.webkit.org/show_bug.cgi?id=43611
+
+        This instruction isn't in the HTML5 spec, but it seems like the right
+        thing to do.  I suspect this is because the spec doesn't understand
+        that plugins can be disabled.
+
+        I'm not sure how we can test this in DumpRenderTree, but I'm open to
+        suggestions.
+
+        * html/HTMLTreeBuilder.cpp:
+        (WebCore::HTMLTreeBuilder::adjustedLexerState):
+        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
+        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
+        (WebCore::HTMLTreeBuilder::scriptEnabled):
+        (WebCore::HTMLTreeBuilder::pluginsEnabled):
+        * html/HTMLTreeBuilder.h:
+
 2010-08-06  Tony Gentilcore  <tonyg at chromium.org>
 
         Reviewed by Adam Barth.
diff --git a/WebCore/html/HTMLTreeBuilder.cpp b/WebCore/html/HTMLTreeBuilder.cpp
index 6235c88..83f49fe 100644
--- a/WebCore/html/HTMLTreeBuilder.cpp
+++ b/WebCore/html/HTMLTreeBuilder.cpp
@@ -428,9 +428,9 @@ HTMLTokenizer::State HTMLTreeBuilder::adjustedLexerState(HTMLTokenizer::State st
     if (tagName == styleTag
         || tagName == iframeTag
         || tagName == xmpTag
-        || tagName == noembedTag
+        || (tagName == noembedTag && pluginsEnabled(frame))
         || tagName == noframesTag
-        || (tagName == noscriptTag && isScriptingFlagEnabled(frame)))
+        || (tagName == noscriptTag && scriptEnabled(frame)))
         return HTMLTokenizer::RAWTEXTState;
 
     if (tagName == plaintextTag)
@@ -992,11 +992,11 @@ void HTMLTreeBuilder::processStartTagForInBody(AtomicHTMLToken& token)
         processGenericRawTextStartTag(token);
         return;
     }
-    if (token.name() == noembedTag) {
+    if (token.name() == noembedTag && pluginsEnabled(m_document->frame())) {
         processGenericRawTextStartTag(token);
         return;
     }
-    if (token.name() == noscriptTag && isScriptingFlagEnabled(m_document->frame())) {
+    if (token.name() == noscriptTag && scriptEnabled(m_document->frame())) {
         processGenericRawTextStartTag(token);
         return;
     }
@@ -2772,7 +2772,7 @@ bool HTMLTreeBuilder::processStartTagForInHead(AtomicHTMLToken& token)
         return true;
     }
     if (token.name() == noscriptTag) {
-        if (isScriptingFlagEnabled(m_document->frame())) {
+        if (scriptEnabled(m_document->frame())) {
             processGenericRawTextStartTag(token);
             return true;
         }
@@ -2837,7 +2837,7 @@ void HTMLTreeBuilder::finished()
         m_document->finishedParsing();
 }
 
-bool HTMLTreeBuilder::isScriptingFlagEnabled(Frame* frame)
+bool HTMLTreeBuilder::scriptEnabled(Frame* frame)
 {
     if (!frame)
         return false;
@@ -2846,4 +2846,11 @@ bool HTMLTreeBuilder::isScriptingFlagEnabled(Frame* frame)
     return false;
 }
 
+bool HTMLTreeBuilder::pluginsEnabled(Frame* frame)
+{
+    if (!frame)
+        return false;
+    return frame->loader()->subframeLoader()->allowPlugins(NotAboutToInstantiatePlugin);
+}
+
 }
diff --git a/WebCore/html/HTMLTreeBuilder.h b/WebCore/html/HTMLTreeBuilder.h
index d723384..e31d09b 100644
--- a/WebCore/html/HTMLTreeBuilder.h
+++ b/WebCore/html/HTMLTreeBuilder.h
@@ -192,7 +192,8 @@ private:
     void setInsertionModeAndEnd(InsertionMode, bool foreign); // Helper for resetInsertionModeAppropriately
     void resetInsertionModeAppropriately();
 
-    static bool isScriptingFlagEnabled(Frame* frame);
+    static bool scriptEnabled(Frame* frame);
+    static bool pluginsEnabled(Frame* frame);
 
     Document* m_document;
     HTMLConstructionSite m_tree;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list