Changeset 64858 in webkit


Ignore:
Timestamp:
Aug 6, 2010 10:58:05 AM (14 years ago)
Author:
abarth@webkit.org
Message:

2010-08-06 Adam Barth <abarth@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:
Location:
trunk/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r64857 r64858  
     12010-08-06  Adam Barth  <abarth@webkit.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        noembed should respect whether plugins are enabled
     6        https://bugs.webkit.org/show_bug.cgi?id=43611
     7
     8        This instruction isn't in the HTML5 spec, but it seems like the right
     9        thing to do.  I suspect this is because the spec doesn't understand
     10        that plugins can be disabled.
     11
     12        I'm not sure how we can test this in DumpRenderTree, but I'm open to
     13        suggestions.
     14
     15        * html/HTMLTreeBuilder.cpp:
     16        (WebCore::HTMLTreeBuilder::adjustedLexerState):
     17        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
     18        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
     19        (WebCore::HTMLTreeBuilder::scriptEnabled):
     20        (WebCore::HTMLTreeBuilder::pluginsEnabled):
     21        * html/HTMLTreeBuilder.h:
     22
    1232010-08-06  Tony Gentilcore  <tonyg@chromium.org>
    224
  • trunk/WebCore/html/HTMLTreeBuilder.cpp

    r64799 r64858  
    429429        || tagName == iframeTag
    430430        || tagName == xmpTag
    431         || tagName == noembedTag
     431        || (tagName == noembedTag && pluginsEnabled(frame))
    432432        || tagName == noframesTag
    433         || (tagName == noscriptTag && isScriptingFlagEnabled(frame)))
     433        || (tagName == noscriptTag && scriptEnabled(frame)))
    434434        return HTMLTokenizer::RAWTEXTState;
    435435
     
    993993        return;
    994994    }
    995     if (token.name() == noembedTag) {
     995    if (token.name() == noembedTag && pluginsEnabled(m_document->frame())) {
    996996        processGenericRawTextStartTag(token);
    997997        return;
    998998    }
    999     if (token.name() == noscriptTag && isScriptingFlagEnabled(m_document->frame())) {
     999    if (token.name() == noscriptTag && scriptEnabled(m_document->frame())) {
    10001000        processGenericRawTextStartTag(token);
    10011001        return;
     
    27732773    }
    27742774    if (token.name() == noscriptTag) {
    2775         if (isScriptingFlagEnabled(m_document->frame())) {
     2775        if (scriptEnabled(m_document->frame())) {
    27762776            processGenericRawTextStartTag(token);
    27772777            return true;
     
    28382838}
    28392839
    2840 bool HTMLTreeBuilder::isScriptingFlagEnabled(Frame* frame)
     2840bool HTMLTreeBuilder::scriptEnabled(Frame* frame)
    28412841{
    28422842    if (!frame)
     
    28472847}
    28482848
    2849 }
     2849bool HTMLTreeBuilder::pluginsEnabled(Frame* frame)
     2850{
     2851    if (!frame)
     2852        return false;
     2853    return frame->loader()->subframeLoader()->allowPlugins(NotAboutToInstantiatePlugin);
     2854}
     2855
     2856}
  • trunk/WebCore/html/HTMLTreeBuilder.h

    r64023 r64858  
    193193    void resetInsertionModeAppropriately();
    194194
    195     static bool isScriptingFlagEnabled(Frame* frame);
     195    static bool scriptEnabled(Frame* frame);
     196    static bool pluginsEnabled(Frame* frame);
    196197
    197198    Document* m_document;
Note: See TracChangeset for help on using the changeset viewer.