Skip to content
  • kenneth@webkit.org's avatar
    WebCore: Implement flattening for iframes. · 6af77fe9
    kenneth@webkit.org authored
    Reviewed by Antti Koivisto.
    
    Refactoring of frameset flattening code to reuse it for
    iframe flattening.
    
    Tests: fast/frames/flattening/iframe-flattening-simple.html
    
    * WebCore.base.exp:
    * page/FrameView.cpp:
    (WebCore::FrameView::layout):
    (WebCore::FrameView::scheduleRelayout):
    * page/Settings.cpp:
    (WebCore::Settings::Settings):
    (WebCore::Settings::setFrameFlatteningEnabled):
    * page/Settings.h:
    (WebCore::Settings::frameFlatteningEnabled):
    * rendering/RenderFrame.cpp:
    * rendering/RenderFrame.h:
    * rendering/RenderFrameSet.cpp:
    (WebCore::RenderFrameSet::flattenFrameSet):
    * rendering/RenderFrameSet.h:
    * rendering/RenderPart.cpp:
    (WebCore::RenderPart::layoutWithFlattening):
    * rendering/RenderPart.h:
    * rendering/RenderPartObject.cpp:
    (WebCore::RenderPartObject::flattenFrame):
    (WebCore::RenderPartObject::calcHeight):
    (WebCore::RenderPartObject::calcWidth):
    (WebCore::RenderPartObject::layout):
    * rendering/RenderPartObject.h:
    
    WebKit/mac: Change method name due to it dealing with both flattening
    of frame sets and inner frames.
    
    Reviewed by Antti Koivisto.
    
    * WebView/WebPreferenceKeysPrivate.h:
    * WebView/WebPreferences.mm:
    (+[WebPreferences initialize]):
    (-[WebPreferences isFrameFlatteningEnabled]):
    (-[WebPreferences setFrameFlatteningEnabled:]):
    * WebView/WebPreferencesPrivate.h:
    * WebView/WebView.mm:
    (-[WebView _preferencesChangedNotification:]):
    
    WebKit/qt: Change due to renaming of frame flattening setting.
    
    Reviewed by Antti Koivisto.
    
    * Api/qwebpage.cpp:
    (qt_drt_setFrameFlatteningEnabled):
    * Api/qwebsettings.cpp:
    (QWebSettingsPrivate::apply):
    * symbian/eabi/QtWebKitu.def:
    
    WebKit/win: Change method name due to it dealing with both flattening
    of frame sets and inner frames.
    
    Reviewed by Antti Koivisto.
    
    * Interfaces/IWebPreferencesPrivate.idl:
    * WebPreferenceKeysPrivate.h:
    * WebPreferences.cpp:
    (WebPreferences::initializeDefaultSettings):
    (WebPreferences::isFrameFlatteningEnabled):
    (WebPreferences::setFrameFlatteningEnabled):
    * WebPreferences.h:
    * WebView.cpp:
    (WebView::notifyPreferencesChanged):
    
    WebKitTools: Renaming of frame flattening LayoutTestController method
    to setFrameFlatteningEnabled(bool)
    
    Reviewed by Antti Koivisto.
    
    * DumpRenderTree/LayoutTestController.cpp:
    (setFrameFlatteningEnabledCallback):
    (LayoutTestController::staticFunctions):
    * DumpRenderTree/LayoutTestController.h:
    * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
    (LayoutTestController::setFrameFlatteningEnabled):
    * DumpRenderTree/mac/DumpRenderTree.mm:
    (resetDefaultsToConsistentValues):
    * DumpRenderTree/mac/LayoutTestControllerMac.mm:
    (LayoutTestController::setFrameFlatteningEnabled):
    * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
    (WebCore::WebPage::resetSettings):
    * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
    (LayoutTestController::setFrameFlatteningEnabled):
    * DumpRenderTree/qt/LayoutTestControllerQt.h:
    * DumpRenderTree/win/DumpRenderTree.cpp:
    (resetDefaultsToConsistentValues):
    * DumpRenderTree/win/LayoutTestControllerWin.cpp:
    (LayoutTestController::setFrameFlatteningEnabled):
    * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
    (LayoutTestController::setFrameFlatteningEnabled):
    
    LayoutTests: Add new iframe flattening test and change existing frameset
    flattening tests to use the new LayoutTestController method.
    
    Reviewed by Antti Koivisto.
    
           * fast/frames/flattening/frameset-flattening-advanced.html:
    * fast/frames/flattening/frameset-flattening-grid.html:
    * fast/frames/flattening/frameset-flattening-simple.html:
    * fast/frames/flattening/frameset-flattening-subframe-resize.html:
    * fast/frames/flattening/frameset-flattening-subframesets.html:
    * fast/frames/flattening/iframe-flattening-simple.html: Added.
    * platform/qt/fast/frames/flattening/iframe-flattening-simple-expected.txt: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56718 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    6af77fe9