Changeset 118883 in webkit


Ignore:
Timestamp:
May 29, 2012 7:28:17 PM (12 years ago)
Author:
eric@webkit.org
Message:

Fix ENABLE_IFRAME_SEAMLESS to actually fully disable <iframe seamless>
https://bugs.webkit.org/show_bug.cgi?id=87646

Reviewed by Adam Barth.

In the process of moving the seamless feature out of github and into bugs.webkit.org
multiple versions of the shouldDisplaySeamlessly function got written
(and moved from HTMLIFrameElement to Document), but only one of them was wrapped
in ENABLE_IFRAME_SEAMLESS. HTMLIFrameElement was checking mayDisplaySeamlessly
directly (as was my original design), which got around the ENABLE_IFRAME_SEAMLESS check.
I've fixed this oversight, and the feature is now off when we tell it to be off.

This is covered by many existing tests. I've verified locally that
all tests fail when ENABLE_IFRAME_SEAMLESS is disabled instead of
only some of them.

  • dom/SecurityContext.h:

(SecurityContext):

  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::shouldDisplaySeamlessly):

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r118874 r118883  
     12012-05-29  Eric Seidel  <eric@webkit.org>
     2
     3        Fix ENABLE_IFRAME_SEAMLESS to actually fully disable <iframe seamless>
     4        https://bugs.webkit.org/show_bug.cgi?id=87646
     5
     6        Reviewed by Adam Barth.
     7
     8        In the process of moving the seamless feature out of github and into bugs.webkit.org
     9        multiple versions of the shouldDisplaySeamlessly function got written
     10        (and moved from HTMLIFrameElement to Document), but only one of them was wrapped
     11        in ENABLE_IFRAME_SEAMLESS.  HTMLIFrameElement was checking mayDisplaySeamlessly
     12        directly (as was my original design), which got around the ENABLE_IFRAME_SEAMLESS check.
     13        I've fixed this oversight, and the feature is now off when we tell it to be off.
     14
     15        This is covered by many existing tests.  I've verified locally that
     16        all tests fail when ENABLE_IFRAME_SEAMLESS is disabled instead of
     17        only some of them.
     18
     19        * dom/SecurityContext.h:
     20        (SecurityContext):
     21        * html/HTMLIFrameElement.cpp:
     22        (WebCore::HTMLIFrameElement::shouldDisplaySeamlessly):
     23
    1242012-05-29  Scott Graham  <scottmg@chromium.org>
    225
  • trunk/Source/WebCore/dom/SecurityContext.h

    r116066 r118883  
    6868    static SandboxFlags parseSandboxPolicy(const String& policy);
    6969
    70     bool mayDisplaySeamlessWithParent() const { return m_mayDisplaySeamlessWithParent; }
    71 
    7270protected:
    7371    SecurityContext();
  • trunk/Source/WebCore/html/HTMLIFrameElement.cpp

    r118192 r118883  
    123123bool HTMLIFrameElement::shouldDisplaySeamlessly() const
    124124{
    125     return contentDocument() && contentDocument()->mayDisplaySeamlessWithParent() && hasAttribute(seamlessAttr);
     125    return contentDocument() && contentDocument()->shouldDisplaySeamlesslyWithParent();
    126126}
    127127
Note: See TracChangeset for help on using the changeset viewer.