Ignore:
Timestamp:
Feb 4, 2014, 8:59:20 PM (12 years ago)
Author:
[email protected]
Message:

Remove <iframe seamless> support.
<https://webkit.org/b/128213>

.:

Rubber-stamped by Antti Koivisto.

  • Source/autotools/SetupWebKitFeatures.m4:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

Rubber-stamped by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Seamless iframes were behind a runtime flag that we never enabled,
and the only other engine that implemented them (Blink) recently
removed them. Since the feature is very invasive, let's take it
out for now.

Rubber-stamped by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:
  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::parentObjectIfExists):
(WebCore::AccessibilityRenderObject::parentObject):
(WebCore::AccessibilityRenderObject::boundingBoxRect):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(createAccessibilityRoleMap):

  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):

  • bindings/generic/RuntimeEnabledFeatures.h:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::pseudoId):
(WebCore::populatePseudoTypeByNameMap):
(WebCore::CSSSelector::extractPseudoType):

  • css/CSSSelector.h:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

  • css/html.css:

(iframe):

  • dom/Document.cpp:

(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::implicitOpen):
(WebCore::Document::initSecurityContext):

  • dom/Document.h:
  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::SecurityContext):

  • dom/SecurityContext.h:
  • html/HTMLAttributeNames.in:
  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::HTMLIFrameElement):
(WebCore::HTMLIFrameElement::isPresentationAttribute):
(WebCore::HTMLIFrameElement::parseAttribute):

  • html/HTMLIFrameElement.h:
  • html/HTMLIFrameElement.idl:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::findFrameForNavigation):

  • page/FrameView.cpp:

(WebCore::FrameView::calculateScrollbarModesForLayout):
(WebCore::FrameView::isInChildFrameWithFrameFlattening):

  • page/Location.cpp:

(WebCore::Location::setLocation):

  • rendering/RenderBox.h:

(WebCore::RenderBox::stretchesToViewport):

  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::shouldComputeSizeAsReplaced):
(WebCore::RenderIFrame::isInlineBlockOrInlineTable):
(WebCore::RenderIFrame::flattenFrame):
(WebCore::RenderIFrame::layout):

  • rendering/RenderIFrame.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::initializeLayoutState):
(WebCore::RenderView::layout):

  • rendering/RenderView.h:
  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

  • style/StyleResolveTree.cpp:

(WebCore::Style::resolveTree):

Source/WebKit/efl:

Rubber-stamped by Antti Koivisto.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
  • WebCoreSupport/DumpRenderTreeSupportEfl.h:
  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):

Source/WebKit/gtk:

Rubber-stamped by Antti Koivisto.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
  • WebCoreSupport/DumpRenderTreeSupportGtk.h:

Source/WebKit/mac:

Rubber-stamped by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:
  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:
  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit/win:

Rubber-stamped by Antti Koivisto.

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Source/WebKit2:

Rubber-stamped by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:
  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:
  • WebProcess/InjectedBundle/InjectedBundle.h:

Source/WTF:

Rubber-stamped by Antti Koivisto.

  • wtf/FeatureDefines.h:

Tools:

Rubber-stamped by Antti Koivisto.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues):

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues):

  • Scripts/webkitperl/FeatureList.pm:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

WebKitLibraries:

Rubber-stamped by Antti Koivisto.

  • win/tools/vsprops/FeatureDefines.props:

LayoutTests:

Rubber-stamped by Antti Koivisto.

  • fast/frames/seamless/resources/css-cascade-child.html: Removed.
  • fast/frames/seamless/resources/done.html: Removed.
  • fast/frames/seamless/resources/nested-seamless.html: Removed.
  • fast/frames/seamless/resources/percent-square.html: Removed.
  • fast/frames/seamless/resources/quirks-square.html: Removed.
  • fast/frames/seamless/resources/span.html: Removed.
  • fast/frames/seamless/resources/square.html: Removed.
  • fast/frames/seamless/resources/two-inline-blocks.html: Removed.
  • fast/frames/seamless/seamless-basic-expected.txt: Removed.
  • fast/frames/seamless/seamless-basic.html: Removed.
  • fast/frames/seamless/seamless-body-margin-expected.txt: Removed.
  • fast/frames/seamless/seamless-body-margin.html: Removed.
  • fast/frames/seamless/seamless-border-padding-expected.txt: Removed.
  • fast/frames/seamless/seamless-border-padding.html: Removed.
  • fast/frames/seamless/seamless-contenteditable-not-inherited-expected.txt: Removed.
  • fast/frames/seamless/seamless-contenteditable-not-inherited.html: Removed.
  • fast/frames/seamless/seamless-css-cascade-expected.txt: Removed.
  • fast/frames/seamless/seamless-css-cascade.html: Removed.
  • fast/frames/seamless/seamless-custom-font-pruning-crash-expected.txt: Removed.
  • fast/frames/seamless/seamless-custom-font-pruning-crash.html: Removed.
  • fast/frames/seamless/seamless-designMode-expected.txt: Removed.
  • fast/frames/seamless/seamless-designMode.html: Removed.
  • fast/frames/seamless/seamless-document-write-expected.txt: Removed.
  • fast/frames/seamless/seamless-document-write.html: Removed.
  • fast/frames/seamless/seamless-float-expected.txt: Removed.
  • fast/frames/seamless/seamless-float.html: Removed.
  • fast/frames/seamless/seamless-form-get-expected.txt: Removed.
  • fast/frames/seamless/seamless-form-get-named-expected.txt: Removed.
  • fast/frames/seamless/seamless-form-get-named.html: Removed.
  • fast/frames/seamless/seamless-form-get-override-expected.txt: Removed.
  • fast/frames/seamless/seamless-form-get-override.html: Removed.
  • fast/frames/seamless/seamless-form-get.html: Removed.
  • fast/frames/seamless/seamless-form-post-expected.txt: Removed.
  • fast/frames/seamless/seamless-form-post-named-expected.txt: Removed.
  • fast/frames/seamless/seamless-form-post-named.html: Removed.
  • fast/frames/seamless/seamless-form-post-override-expected.txt: Removed.
  • fast/frames/seamless/seamless-form-post-override.html: Removed.
  • fast/frames/seamless/seamless-form-post.html: Removed.
  • fast/frames/seamless/seamless-hyperlink-expected.txt: Removed.
  • fast/frames/seamless/seamless-hyperlink-named-expected.txt: Removed.
  • fast/frames/seamless/seamless-hyperlink-named.html: Removed.
  • fast/frames/seamless/seamless-hyperlink-override-expected.txt: Removed.
  • fast/frames/seamless/seamless-hyperlink-override.html: Removed.
  • fast/frames/seamless/seamless-hyperlink.html: Removed.
  • fast/frames/seamless/seamless-inherited-document-style-expected.txt: Removed.
  • fast/frames/seamless/seamless-inherited-document-style.html: Removed.
  • fast/frames/seamless/seamless-inherited-origin-expected.txt: Removed.
  • fast/frames/seamless/seamless-inherited-origin.html: Removed.
  • fast/frames/seamless/seamless-inline-expected.txt: Removed.
  • fast/frames/seamless/seamless-inline.html: Removed.
  • fast/frames/seamless/seamless-min-max-expected.txt: Removed.
  • fast/frames/seamless/seamless-min-max.html: Removed.
  • fast/frames/seamless/seamless-nested-crash-expected.txt: Removed.
  • fast/frames/seamless/seamless-nested-crash.html: Removed.
  • fast/frames/seamless/seamless-nested-expected.txt: Removed.
  • fast/frames/seamless/seamless-nested.html: Removed.
  • fast/frames/seamless/seamless-percent-height-expected.txt: Removed.
  • fast/frames/seamless/seamless-percent-height.html: Removed.
  • fast/frames/seamless/seamless-quirks-expected.txt: Removed.
  • fast/frames/seamless/seamless-quirks.html: Removed.
  • fast/frames/seamless/seamless-sandbox-flag-expected.txt: Removed.
  • fast/frames/seamless/seamless-sandbox-flag.html: Removed.
  • fast/frames/seamless/seamless-sandbox-srcdoc-expected.txt: Removed.
  • fast/frames/seamless/seamless-sandbox-srcdoc.html: Removed.
  • fast/frames/seamless/seamless-srcdoc-expected.txt: Removed.
  • fast/frames/seamless/seamless-srcdoc.html: Removed.
  • fast/frames/seamless/seamless-window-location-expected.txt: Removed.
  • fast/frames/seamless/seamless-window-location-href-expected.txt: Removed.
  • fast/frames/seamless/seamless-window-location-href.html: Removed.
  • fast/frames/seamless/seamless-window-location-replace-expected.txt: Removed.
  • fast/frames/seamless/seamless-window-location-replace.html: Removed.
  • fast/frames/seamless/seamless-window-location-sandbox-expected.txt: Removed.
  • fast/frames/seamless/seamless-window-location-sandbox.html: Removed.
  • fast/frames/seamless/seamless-window-location.html: Removed.
  • fast/frames/seamless/seamless-window-open-expected.txt: Removed.
  • fast/frames/seamless/seamless-window-open-override-expected.txt: Removed.
  • fast/frames/seamless/seamless-window-open-override.html: Removed.
  • fast/frames/seamless/seamless-window-open.html: Removed.
  • fast/multicol/resources/seamless.html: Removed.
  • fast/multicol/seamless-flowed-through-columns-expected.html: Removed.
  • fast/multicol/seamless-flowed-through-columns.html: Removed.
  • fast/regions/resources/seamless.html: Removed.
  • fast/regions/seamless-iframe-flowed-into-regions-expected.html: Removed.
  • fast/regions/seamless-iframe-flowed-into-regions.html: Removed.
  • http/tests/security/seamless/resources/square.html: Removed.
  • http/tests/security/seamless/seamless-cross-origin-expected.txt: Removed.
  • http/tests/security/seamless/seamless-cross-origin.html: Removed.
  • http/tests/security/seamless/seamless-sandbox-srcdoc-expected.txt: Removed.
  • http/tests/security/seamless/seamless-sandbox-srcdoc.html: Removed.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/rendering/RenderIFrame.cpp

    r158631 r163427  
    5252bool RenderIFrame::shouldComputeSizeAsReplaced() const
    5353{
    54     // When we're seamless, we use normal block/box sizing code except when inline.
    55     return !isSeamless();
     54    return true;
    5655}
    5756
    5857bool RenderIFrame::isInlineBlockOrInlineTable() const
    5958{
    60     return isSeamless() && isInline();
    61 }
    62 
    63 LayoutUnit RenderIFrame::minPreferredLogicalWidth() const
    64 {
    65     if (!isSeamless())
    66         return RenderFrameBase::minPreferredLogicalWidth();
    67 
    68     RenderView* childRoot = contentRootRenderer();
    69     if (!childRoot)
    70         return 0;
    71 
    72     return childRoot->minPreferredLogicalWidth() + borderAndPaddingLogicalWidth();
    73 }
    74 
    75 LayoutUnit RenderIFrame::maxPreferredLogicalWidth() const
    76 {
    77     if (!isSeamless())
    78         return RenderFrameBase::maxPreferredLogicalWidth();
    79 
    80     RenderView* childRoot = contentRootRenderer();
    81     if (!childRoot)
    82         return 0;
    83 
    84     return childRoot->maxPreferredLogicalWidth() + borderAndPaddingLogicalWidth();
    85 }
    86 
    87 bool RenderIFrame::isSeamless() const
    88 {
    89     return iframeElement().shouldDisplaySeamlessly();
     59    return isInline();
    9060}
    9161
     
    10474{
    10575    Frame* frame = iframeElement().document().frame();
    106 
    107     if (isSeamless())
    108         return false; // Seamless iframes are already "flat", don't try to flatten them.
    10976
    11077    bool enabled = frame && frame->settings().frameFlatteningEnabled();
     
    12693}
    12794
    128 void RenderIFrame::layoutSeamlessly()
    129 {
    130     updateLogicalWidth();
    131     // FIXME: Containers set their height to 0 before laying out their kids (as we're doing here)
    132     // however, this causes FrameView::layout() to add vertical scrollbars, incorrectly inflating
    133     // the resulting contentHeight(). We'll need to make FrameView::layout() smarter.
    134     setLogicalHeight(0);
    135     updateWidgetPosition(); // Tell the Widget about our new width/height (it will also layout the child document).
    136 
    137     // Laying out our kids is normally responsible for adjusting our height, so we set it here.
    138     // Replaced elements normally do not respect padding, but seamless elements should: we'll add
    139     // both padding and border to the child's logical height here.
    140     FrameView* childFrameView = childView();
    141     if (childFrameView) // Widget should never be null during layout(), but just in case.
    142         setLogicalHeight(childFrameView->contentsHeight() + borderTop() + borderBottom() + paddingTop() + paddingBottom());
    143     updateLogicalHeight();
    144 
    145     updateWidgetPosition(); // Notify the Widget of our final height.
    146 
    147     // Assert that the child document did a complete layout.
    148     RenderView* childRoot = childFrameView ? childFrameView->frame().contentRenderer() : 0;
    149     ASSERT(!childFrameView || !childFrameView->layoutPending());
    150     ASSERT_UNUSED(childRoot, !childRoot || !childRoot->needsLayout());
    151 }
    152 
    15395void RenderIFrame::layout()
    15496{
     
    15698    ASSERT(needsLayout());
    15799
    158     if (isSeamless()) {
    159         layoutSeamlessly();
    160         // Do not return so as to share the layer and overflow updates below.
    161     } else {
    162         updateLogicalWidth();
    163         // No kids to layout as a replaced element.
    164         updateLogicalHeight();
     100    updateLogicalWidth();
     101    // No kids to layout as a replaced element.
     102    updateLogicalHeight();
    165103
    166         if (flattenFrame())
    167             layoutWithFlattening(style().width().isFixed(), style().height().isFixed());
    168     }
     104    if (flattenFrame())
     105        layoutWithFlattening(style().width().isFixed(), style().height().isFixed());
    169106
    170107    clearOverflow();
Note: See TracChangeset for help on using the changeset viewer.