Changeset 67762 in webkit


Ignore:
Timestamp:
Sep 17, 2010 5:32:24 PM (14 years ago)
Author:
Darin Adler
Message:

2010-09-17 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
https://bugs.webkit.org/show_bug.cgi?id=42863

  • src/FrameLoaderClientImpl.cpp: (WebKit::FrameLoaderClientImpl::createPlugin):
  • src/WebViewImpl.cpp: (WebKit::WebViewImpl::setZoomLevel): Call functions on Frame instead of FrameView.

2010-09-17 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
https://bugs.webkit.org/show_bug.cgi?id=42863

  • Api/qwebframe.cpp: (QWebFrame::setTextSizeMultiplier): (QWebFrame::textSizeMultiplier): (QWebFrame::setZoomFactor): (QWebFrame::zoomFactor): Call functions on Frame instead of FrameView.

2010-09-17 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
https://bugs.webkit.org/show_bug.cgi?id=42863

  • webkit/webkitwebview.cpp: (webkit_web_view_get_zoom_level): (webkit_web_view_apply_zoom_level): (webkit_web_view_set_full_content_zoom): Call functions on Frame instead of FrameView.

2010-09-17 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
https://bugs.webkit.org/show_bug.cgi?id=42863

  • WebView.cpp: (WebView::setZoomMultiplier): Call functions on Frame instead of FrameView.

2010-09-17 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
https://bugs.webkit.org/show_bug.cgi?id=42863

  • WebFrame.cpp: (wxWebFrame::IncreaseTextSize): (wxWebFrame::DecreaseTextSize): (wxWebFrame::ResetTextSize): Call functions on Frame instead of FrameView.

2010-09-17 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
https://bugs.webkit.org/show_bug.cgi?id=42863

  • WebView/WebView.mm: (-[WebView _setZoomMultiplier:isTextOnly:]): Call functions on Frame instead of FrameView.

2010-09-17 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
https://bugs.webkit.org/show_bug.cgi?id=42863

  • ewk/ewk_frame.cpp: (ewk_frame_zoom_get): (ewk_frame_zoom_set): (ewk_frame_zoom_text_only_set): Call functions on Frame instead of FrameView.

2010-09-17 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
https://bugs.webkit.org/show_bug.cgi?id=42863

Moved zoom level back from FrameView to Frame.
I had forgotten that FrameView's lifetime is much shorter than
Frame's, and until that is fixed it's best to leave this on Frame.

  • WebCore.exp.in: Updated.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForDocument): (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
  • dom/Document.cpp: (WebCore::Document::nodesFromRect): (WebCore::Document::elementFromPoint): (WebCore::Document::caretRangeFromPoint):
  • dom/MouseRelatedEvent.cpp: (WebCore::contentsX): (WebCore::contentsY): (WebCore::pageZoomFactor):
  • dom/Node.cpp: (WebCore::Node::dispatchMouseEvent): (WebCore::Node::dispatchWheelEvent):
  • html/HTMLBodyElement.cpp: (WebCore::adjustForZoom): (WebCore::HTMLBodyElement::scrollLeft): (WebCore::HTMLBodyElement::setScrollLeft): (WebCore::HTMLBodyElement::scrollTop): (WebCore::HTMLBodyElement::setScrollTop): (WebCore::HTMLBodyElement::scrollHeight): (WebCore::HTMLBodyElement::scrollWidth):
  • html/ImageDocument.cpp: (WebCore::pageZoomFactor): (WebCore::ImageDocument::scale): (WebCore::ImageDocument::imageFitsInWindow):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::innerHeight): (WebCore::DOMWindow::innerWidth): (WebCore::DOMWindow::scrollX): (WebCore::DOMWindow::scrollY): (WebCore::DOMWindow::scrollTo):
  • page/DragController.cpp: (WebCore::elementUnderMouse):
  • rendering/RenderView.cpp: (WebCore::RenderView::zoomFactor):
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::currentScale): (WebCore::SVGSVGElement::setCurrentScale): Get zoom factor from Frame rather than FrameView.
  • page/Frame.cpp: (WebCore::parentPageZoomFactor): Moved back here from FrameView. (WebCore::parentTextZoomFactor): Ditto. (WebCore::Frame::Frame): Ditto. (WebCore::Frame::setPageZoomFactor): Ditto. (WebCore::Frame::setTextZoomFactor): Ditto. (WebCore::Frame::setPageAndTextZoomFactors): Ditto.
  • page/Frame.h: Moved functions and data for zooming back here from FrameView.
  • page/FrameView.cpp: (WebCore::FrameView::FrameView):
  • page/FrameView.h: Removed code from here.

2010-09-17 Daniel Bates <dbates@rim.com>

Reviewed by Darin Adler.

REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
https://bugs.webkit.org/show_bug.cgi?id=42863

  • fast/css/preserve-user-specified-zoom-level-on-reload.html: Added.
  • platform/mac/fast/css/preserve-user-specified-zoom-level-on-reload-expected.checksum: Added.
  • platform/mac/fast/css/preserve-user-specified-zoom-level-on-reload-expected.png: Added.
  • platform/mac/fast/css/preserve-user-specified-zoom-level-on-reload-expected.txt: Added.

2010-09-17 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
https://bugs.webkit.org/show_bug.cgi?id=42863

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::textZoomFactor): (WebKit::WebPage::setTextZoomFactor): (WebKit::WebPage::pageZoomFactor): (WebKit::WebPage::setPageZoomFactor): (WebKit::WebPage::setPageAndTextZoomFactors): Call functions on Frame instead of FrameView.
Location:
trunk
Files:
4 added
34 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r67759 r67762  
     12010-09-17  Daniel Bates  <dbates@rim.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
     6        https://bugs.webkit.org/show_bug.cgi?id=42863
     7
     8        * fast/css/preserve-user-specified-zoom-level-on-reload.html: Added.
     9        * platform/mac/fast/css/preserve-user-specified-zoom-level-on-reload-expected.checksum: Added.
     10        * platform/mac/fast/css/preserve-user-specified-zoom-level-on-reload-expected.png: Added.
     11        * platform/mac/fast/css/preserve-user-specified-zoom-level-on-reload-expected.txt: Added.
     12
    1132010-09-17  Tony Chang  <tony@chromium.org>
    214
  • trunk/WebCore/ChangeLog

    r67758 r67762  
     12010-09-17  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
     6        https://bugs.webkit.org/show_bug.cgi?id=42863
     7
     8        Moved zoom level back from FrameView to Frame.
     9        I had forgotten that FrameView's lifetime is much shorter than
     10        Frame's, and until that is fixed it's best to leave this on Frame.
     11
     12        * WebCore.exp.in: Updated.
     13
     14        * css/CSSStyleSelector.cpp:
     15        (WebCore::CSSStyleSelector::styleForDocument):
     16        (WebCore::CSSStyleSelector::applyProperty):
     17        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
     18        * dom/Document.cpp:
     19        (WebCore::Document::nodesFromRect):
     20        (WebCore::Document::elementFromPoint):
     21        (WebCore::Document::caretRangeFromPoint):
     22        * dom/MouseRelatedEvent.cpp:
     23        (WebCore::contentsX):
     24        (WebCore::contentsY):
     25        (WebCore::pageZoomFactor):
     26        * dom/Node.cpp:
     27        (WebCore::Node::dispatchMouseEvent):
     28        (WebCore::Node::dispatchWheelEvent):
     29        * html/HTMLBodyElement.cpp:
     30        (WebCore::adjustForZoom):
     31        (WebCore::HTMLBodyElement::scrollLeft):
     32        (WebCore::HTMLBodyElement::setScrollLeft):
     33        (WebCore::HTMLBodyElement::scrollTop):
     34        (WebCore::HTMLBodyElement::setScrollTop):
     35        (WebCore::HTMLBodyElement::scrollHeight):
     36        (WebCore::HTMLBodyElement::scrollWidth):
     37        * html/ImageDocument.cpp:
     38        (WebCore::pageZoomFactor):
     39        (WebCore::ImageDocument::scale):
     40        (WebCore::ImageDocument::imageFitsInWindow):
     41        * page/DOMWindow.cpp:
     42        (WebCore::DOMWindow::innerHeight):
     43        (WebCore::DOMWindow::innerWidth):
     44        (WebCore::DOMWindow::scrollX):
     45        (WebCore::DOMWindow::scrollY):
     46        (WebCore::DOMWindow::scrollTo):
     47        * page/DragController.cpp:
     48        (WebCore::elementUnderMouse):
     49        * rendering/RenderView.cpp:
     50        (WebCore::RenderView::zoomFactor):
     51        * svg/SVGSVGElement.cpp:
     52        (WebCore::SVGSVGElement::currentScale):
     53        (WebCore::SVGSVGElement::setCurrentScale):
     54        Get zoom factor from Frame rather than FrameView.
     55
     56        * page/Frame.cpp:
     57        (WebCore::parentPageZoomFactor): Moved back here from FrameView.
     58        (WebCore::parentTextZoomFactor): Ditto.
     59        (WebCore::Frame::Frame): Ditto.
     60        (WebCore::Frame::setPageZoomFactor): Ditto.
     61        (WebCore::Frame::setTextZoomFactor): Ditto.
     62        (WebCore::Frame::setPageAndTextZoomFactors): Ditto.
     63
     64        * page/Frame.h: Moved functions and data for zooming back here
     65        from FrameView.
     66
     67        * page/FrameView.cpp:
     68        (WebCore::FrameView::FrameView):
     69        * page/FrameView.h:
     70        Removed code from here.
     71
    1722010-09-17  Matthew Delaney  <mdelaney@apple.com>
    273
  • trunk/WebCore/WebCore.exp.in

    r67758 r67762  
    581581__ZN7WebCore5Frame10createViewERKNS_7IntSizeERKNS_5ColorEbS3_bNS_13ScrollbarModeEbS7_b
    582582__ZN7WebCore5Frame14frameForWidgetEPKNS_6WidgetE
     583__ZN7WebCore5Frame17setPageZoomFactorEf
     584__ZN7WebCore5Frame17setTextZoomFactorEf
    583585__ZN7WebCore5Frame23visiblePositionForPointERKNS_8IntPointE
    584586__ZN7WebCore5Frame25matchLabelsAgainstElementEP7NSArrayPNS_7ElementE
     587__ZN7WebCore5Frame25setPageAndTextZoomFactorsEff
    585588__ZN7WebCore5Frame28searchForLabelsBeforeElementEP7NSArrayPNS_7ElementEPmPb
    586589__ZN7WebCore5Frame6createEPNS_4PageEPNS_21HTMLFrameOwnerElementEPNS_17FrameLoaderClientE
     
    768771__ZN7WebCore9FrameView16adjustPageHeightEPffff
    769772__ZN7WebCore9FrameView16setPaintBehaviorEj
    770 __ZN7WebCore9FrameView17setPageZoomFactorEf
    771 __ZN7WebCore9FrameView17setTextZoomFactorEf
    772773__ZN7WebCore9FrameView18updateControlTintsEv
    773774__ZN7WebCore9FrameView20enterCompositingModeEv
     
    776777__ZN7WebCore9FrameView23updateCanHaveScrollbarsEv
    777778__ZN7WebCore9FrameView24forceLayoutForPaginationERKNS_9FloatSizeEfNS_5Frame19AdjustViewSizeOrNotE
    778 __ZN7WebCore9FrameView25setPageAndTextZoomFactorsEff
    779779__ZN7WebCore9FrameView29setShouldUpdateWhileOffscreenEb
    780780__ZN7WebCore9FrameView29syncCompositingStateRecursiveEv
     
    847847__ZNK3JSC8Bindings10RootObject12globalObjectEv
    848848__ZNK3WTF6String14createCFStringEv
    849 __ZNK7WebCore6Editor34selectionStartHasSpellingMarkerForEii
    850849__ZNK7WebCore10FloatPointcv8_NSPointEv
    851850__ZNK7WebCore10PluginData16supportsMimeTypeERKN3WTF6StringE
     
    10231022__ZNK7WebCore6Editor30applyEditingStyleToBodyElementEv
    10241023__ZNK7WebCore6Editor31fontAttributesForSelectionStartEv
     1024__ZNK7WebCore6Editor34selectionStartHasSpellingMarkerForEii
    10251025__ZNK7WebCore6Editor37baseWritingDirectionForSelectionStartEv
    10261026__ZNK7WebCore6Editor6canCutEv
  • trunk/WebCore/css/CSSStyleSelector.cpp

    r67667 r67762  
    11001100PassRefPtr<RenderStyle> CSSStyleSelector::styleForDocument(Document* document)
    11011101{
    1102     FrameView* view = document->view();
     1102    Frame* frame = document->frame();
    11031103
    11041104    RefPtr<RenderStyle> documentStyle = RenderStyle::create();
    11051105    documentStyle->setDisplay(BLOCK);
    11061106    documentStyle->setVisuallyOrdered(document->visuallyOrdered());
    1107     documentStyle->setZoom(view ? view->pageZoomFactor() : 1);
     1107    documentStyle->setZoom(frame ? frame->pageZoomFactor() : 1);
    11081108   
    11091109    FontDescription fontDescription;
     
    41504150            double multiplier = zoomFactor;
    41514151            if (m_style->textSizeAdjust()) {
    4152                 if (FrameView* view = m_checker.m_document->view())
    4153                     multiplier *= view->textZoomFactor();
     4152                if (Frame* frame = m_checker.m_document->frame())
     4153                    multiplier *= frame->textZoomFactor();
    41544154            }
    41554155            lineHeight = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle,  multiplier), Fixed);
     
    62756275    if (!useSVGZoomRules) {
    62766276        zoomFactor = style->effectiveZoom();
    6277         if (document->view())
    6278             zoomFactor *= document->view()->textZoomFactor();
     6277        if (Frame* frame = document->frame())
     6278            zoomFactor *= frame->textZoomFactor();
    62796279    }
    62806280
  • trunk/WebCore/dom/Document.cpp

    r67627 r67762  
    10611061        return 0;
    10621062
    1063     float zoomFactor = frameView->pageZoomFactor();
     1063    float zoomFactor = frame->pageZoomFactor();
    10641064    IntPoint point = roundedIntPoint(FloatPoint(centerX * zoomFactor + view()->scrollX(), centerY * zoomFactor + view()->scrollY()));
    10651065    IntSize padding(hPadding, vPadding);
     
    11141114        return 0;
    11151115
    1116     float zoomFactor = frameView->pageZoomFactor();
     1116    float zoomFactor = frame->pageZoomFactor();
    11171117    IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor  + view()->scrollX(), y * zoomFactor + view()->scrollY()));
    11181118
     
    11441144        return 0;
    11451145
    1146     float zoomFactor = frameView->pageZoomFactor();
     1146    float zoomFactor = frame->pageZoomFactor();
    11471147    IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor + view()->scrollX(), y * zoomFactor + view()->scrollY()));
    11481148
  • trunk/WebCore/dom/MouseRelatedEvent.cpp

    r60104 r67762  
    5858    if (!frameView)
    5959        return 0;
    60     return frameView->scrollX() / frameView->pageZoomFactor();
     60    return frameView->scrollX() / frame->pageZoomFactor();
    6161}
    6262
     
    7171    if (!frameView)
    7272        return 0;
    73     return frameView->scrollY() / frameView->pageZoomFactor();
     73    return frameView->scrollY() / frame->pageZoomFactor();
    7474}
    7575
     
    127127    if (!frame)
    128128        return 1;
    129     FrameView* view = frame->view();
    130     if (!view)
    131         return 1;
    132     return view->pageZoomFactor();
     129    return frame->pageZoomFactor();
    133130}
    134131
  • trunk/WebCore/dom/Node.cpp

    r67182 r67762  
    28462846    int adjustedPageX = pageX;
    28472847    int adjustedPageY = pageY;
    2848     if (FrameView* view = document()->view()) {
    2849         float pageZoom = view->pageZoomFactor();
     2848    if (Frame* frame = document()->frame()) {
     2849        float pageZoom = frame->pageZoomFactor();
    28502850        if (pageZoom != 1.0f) {
    28512851            // Adjust our pageX and pageY to account for the page zoom.
     
    29032903    int adjustedPageX = pos.x();
    29042904    int adjustedPageY = pos.y();
    2905     if (FrameView* view = document()->view()) {
    2906         float pageZoom = view->pageZoomFactor();
     2905    if (Frame* frame = document()->frame()) {
     2906        float pageZoom = frame->pageZoomFactor();
    29072907        if (pageZoom != 1.0f) {
    29082908            // Adjust our pageX and pageY to account for the page zoom.
  • trunk/WebCore/html/HTMLBodyElement.cpp

    r67274 r67762  
    253253}
    254254
    255 static int adjustForZoom(int value, FrameView* frameView)
    256 {
    257     float zoomFactor = frameView->pageZoomFactor();
     255static int adjustForZoom(int value, Document* document)
     256{
     257    float zoomFactor = document->frame()->pageZoomFactor();
    258258    if (zoomFactor == 1)
    259259        return value;
     
    267267{
    268268    // Update the document's layout.
    269     Document* doc = document();
    270     doc->updateLayoutIgnorePendingStylesheets();
    271     FrameView* view = doc->view();
    272     return view ? adjustForZoom(view->scrollX(), view) : 0;
     269    Document* document = this->document();
     270    document->updateLayoutIgnorePendingStylesheets();
     271    FrameView* view = document->view();
     272    return view ? adjustForZoom(view->scrollX(), document) : 0;
    273273}
    274274
     
    277277    Document* document = this->document();
    278278    document->updateLayoutIgnorePendingStylesheets();
    279     FrameView* view = document->view();
     279    Frame* frame = document->frame();
     280    if (!frame)
     281        return;
     282    FrameView* view = frame->view();
    280283    if (!view)
    281284        return;
    282     view->setScrollPosition(IntPoint(static_cast<int>(scrollLeft * view->pageZoomFactor()), view->scrollY()));
     285    view->setScrollPosition(IntPoint(static_cast<int>(scrollLeft * frame->pageZoomFactor()), view->scrollY()));
    283286}
    284287
     
    286289{
    287290    // Update the document's layout.
    288     Document* doc = document();
    289     doc->updateLayoutIgnorePendingStylesheets();
    290     FrameView* view = doc->view();
    291     return view ? adjustForZoom(view->scrollY(), view) : 0;
     291    Document* document = this->document();
     292    document->updateLayoutIgnorePendingStylesheets();
     293    FrameView* view = document->view();
     294    return view ? adjustForZoom(view->scrollY(), document) : 0;
    292295}
    293296
     
    296299    Document* document = this->document();
    297300    document->updateLayoutIgnorePendingStylesheets();
    298     FrameView* view = document->view();
     301    Frame* frame = document->frame();
     302    if (!frame)
     303        return;
     304    FrameView* view = frame->view();
    299305    if (!view)
    300306        return;
    301     view->setScrollPosition(IntPoint(view->scrollX(), static_cast<int>(scrollTop * view->pageZoomFactor())));
     307    view->setScrollPosition(IntPoint(view->scrollX(), static_cast<int>(scrollTop * frame->pageZoomFactor())));
    302308}
    303309
     
    305311{
    306312    // Update the document's layout.
    307     Document* doc = document();
    308     doc->updateLayoutIgnorePendingStylesheets();
    309     FrameView* view = doc->view();
    310     return view ? adjustForZoom(view->contentsHeight(), view) : 0;   
     313    Document* document = this->document();
     314    document->updateLayoutIgnorePendingStylesheets();
     315    FrameView* view = document->view();
     316    return view ? adjustForZoom(view->contentsHeight(), document) : 0;   
    311317}
    312318
     
    314320{
    315321    // Update the document's layout.
    316     Document* doc = document();
    317     doc->updateLayoutIgnorePendingStylesheets();
    318     FrameView* view = doc->view();
    319     return view ? adjustForZoom(view->contentsWidth(), view) : 0;   
     322    Document* document = this->document();
     323    document->updateLayoutIgnorePendingStylesheets();
     324    FrameView* view = document->view();
     325    return view ? adjustForZoom(view->contentsWidth(), document) : 0;   
    320326}
    321327
  • trunk/WebCore/html/ImageDocument.cpp

    r67085 r67762  
    118118// --------
    119119
    120 static float pageZoomFactor(Document* document)
    121 {
    122     FrameView* view = document->view();
    123     return view ? view->pageZoomFactor() : 1;
     120static float pageZoomFactor(const Document* document)
     121{
     122    Frame* frame = document->frame();
     123    return frame ? frame->pageZoomFactor() : 1;
    124124}
    125125
     
    232232        return 1;
    233233
    234     IntSize imageSize = m_imageElement->cachedImage()->imageSize(view->pageZoomFactor());
     234    IntSize imageSize = m_imageElement->cachedImage()->imageSize(pageZoomFactor(this));
    235235    IntSize windowSize = IntSize(view->width(), view->height());
    236236   
     
    320320
    321321    FrameView* view = frame()->view();
    322 
    323     IntSize imageSize = m_imageElement->cachedImage()->imageSize(view->pageZoomFactor());
     322    if (!view)
     323        return true;
     324
     325    IntSize imageSize = m_imageElement->cachedImage()->imageSize(pageZoomFactor(this));
    324326    IntSize windowSize = IntSize(view->width(), view->height());
    325327   
  • trunk/WebCore/page/DOMWindow.cpp

    r67122 r67762  
    10541054        return 0;
    10551055   
    1056     return static_cast<int>(view->height() / view->pageZoomFactor());
     1056    return static_cast<int>(view->height() / m_frame->pageZoomFactor());
    10571057}
    10581058
     
    10661066        return 0;
    10671067
    1068     return static_cast<int>(view->width() / view->pageZoomFactor());
     1068    return static_cast<int>(view->width() / m_frame->pageZoomFactor());
    10691069}
    10701070
     
    11041104    m_frame->document()->updateLayoutIgnorePendingStylesheets();
    11051105
    1106     return static_cast<int>(view->scrollX() / view->pageZoomFactor());
     1106    return static_cast<int>(view->scrollX() / m_frame->pageZoomFactor());
    11071107}
    11081108
     
    11181118    m_frame->document()->updateLayoutIgnorePendingStylesheets();
    11191119
    1120     return static_cast<int>(view->scrollY() / view->pageZoomFactor());
     1120    return static_cast<int>(view->scrollY() / m_frame->pageZoomFactor());
    11211121}
    11221122
     
    13381338        return;
    13391339
    1340     int zoomedX = static_cast<int>(x * view->pageZoomFactor());
    1341     int zoomedY = static_cast<int>(y * view->pageZoomFactor());
     1340    int zoomedX = static_cast<int>(x * m_frame->pageZoomFactor());
     1341    int zoomedY = static_cast<int>(y * m_frame->pageZoomFactor());
    13421342    view->setScrollPosition(IntPoint(zoomedX, zoomedY));
    13431343}
  • trunk/WebCore/page/DragController.cpp

    r67653 r67762  
    271271static Element* elementUnderMouse(Document* documentUnderMouse, const IntPoint& p)
    272272{
    273     FrameView* view = documentUnderMouse->view();
    274     float zoomFactor = view ? view->pageZoomFactor() : 1;
     273    Frame* frame = documentUnderMouse->frame();
     274    float zoomFactor = frame ? frame->pageZoomFactor() : 1;
    275275    IntPoint point = roundedIntPoint(FloatPoint(p.x() * zoomFactor, p.y() * zoomFactor));
    276276
  • trunk/WebCore/page/Frame.cpp

    r67735 r67762  
    130130}
    131131
     132static inline float parentPageZoomFactor(Frame* frame)
     133{
     134    Frame* parent = frame->tree()->parent();
     135    if (!parent)
     136        return 1;
     137    return frame->pageZoomFactor();
     138}
     139
     140static inline float parentTextZoomFactor(Frame* frame)
     141{
     142    Frame* parent = frame->tree()->parent();
     143    if (!parent)
     144        return 1;
     145    return frame->textZoomFactor();
     146}
     147
    132148inline Frame::Frame(Page* page, HTMLFrameOwnerElement* ownerElement, FrameLoaderClient* frameLoaderClient)
    133149    : m_page(page)
     
    142158    , m_animationController(this)
    143159    , m_lifeSupportTimer(this, &Frame::lifeSupportTimerFired)
     160    , m_pageZoomFactor(parentPageZoomFactor(this))
     161    , m_textZoomFactor(parentTextZoomFactor(this))
    144162#if ENABLE(ORIENTATION_EVENTS)
    145163    , m_orientation(0)
     
    883901}
    884902
     903void Frame::setPageZoomFactor(float factor)
     904{
     905    setPageAndTextZoomFactors(factor, m_textZoomFactor);
     906}
     907
     908void Frame::setTextZoomFactor(float factor)
     909{
     910    setPageAndTextZoomFactors(m_pageZoomFactor, factor);
     911}
     912
     913void Frame::setPageAndTextZoomFactors(float pageZoomFactor, float textZoomFactor)
     914{
     915    if (m_pageZoomFactor == pageZoomFactor && m_textZoomFactor == textZoomFactor)
     916        return;
     917
     918    Page* page = this->page();
     919    if (!page)
     920        return;
     921
     922    Document* document = this->document();
     923    if (!document)
     924        return;
     925
     926#if ENABLE(SVG)
     927    // Respect SVGs zoomAndPan="disabled" property in standalone SVG documents.
     928    // FIXME: How to handle compound documents + zoomAndPan="disabled"? Needs SVG WG clarification.
     929    if (document->isSVGDocument()) {
     930        if (!static_cast<SVGDocument*>(document)->zoomAndPanEnabled())
     931            return;
     932        if (document->renderer())
     933            document->renderer()->setNeedsLayout(true);
     934    }
     935#endif
     936
     937    if (m_pageZoomFactor != pageZoomFactor) {
     938        if (FrameView* view = this->view()) {
     939            // Update the scroll position when doing a full page zoom, so the content stays in relatively the same position.
     940            IntPoint scrollPosition = view->scrollPosition();
     941            float percentDifference = (pageZoomFactor / m_pageZoomFactor);
     942            view->setScrollPosition(IntPoint(scrollPosition.x() * percentDifference, scrollPosition.y() * percentDifference));
     943        }
     944    }
     945
     946    m_pageZoomFactor = pageZoomFactor;
     947    m_textZoomFactor = textZoomFactor;
     948
     949    document->recalcStyle(Node::Force);
     950
     951    for (Frame* child = tree()->firstChild(); child; child = child->tree()->nextSibling())
     952        child->setPageAndTextZoomFactors(m_pageZoomFactor, m_textZoomFactor);
     953
     954    if (FrameView* view = this->view()) {
     955        if (document->renderer() && document->renderer()->needsLayout() && view->didFirstLayout())
     956            view->layout();
     957    }
     958}
     959
    885960} // namespace WebCore
  • trunk/WebCore/page/Frame.h

    r67274 r67762  
    139139        void setDocument(PassRefPtr<Document>);
    140140
     141        void setPageZoomFactor(float factor);
     142        float pageZoomFactor() const { return m_pageZoomFactor; }
     143        void setTextZoomFactor(float factor);
     144        float textZoomFactor() const { return m_textZoomFactor; }
     145        void setPageAndTextZoomFactors(float pageZoomFactor, float textZoomFactor);
     146
    141147#if ENABLE(ORIENTATION_EVENTS)
    142148        // Orientation is the interface orientation in degrees. Some examples are:
     
    206212
    207213        Timer<Frame> m_lifeSupportTimer;
     214
     215        float m_pageZoomFactor;
     216        float m_textZoomFactor;
    208217
    209218#if ENABLE(ORIENTATION_EVENTS)
  • trunk/WebCore/page/FrameView.cpp

    r67365 r67762  
    112112};
    113113
    114 static inline float parentPageZoomFactor(Frame* frame)
    115 {
    116     Frame* parent = frame->tree()->parent();
    117     if (!parent)
    118         return 1;
    119     FrameView* parentView = parent->view();
    120     if (!parentView)
    121         return 1;
    122     return parentView->pageZoomFactor();
    123 }
    124 
    125 static inline float parentTextZoomFactor(Frame* frame)
    126 {
    127     Frame* parent = frame->tree()->parent();
    128     if (!parent)
    129         return 1;
    130     FrameView* parentView = parent->view();
    131     if (!parentView)
    132         return 1;
    133     return parentView->textZoomFactor();
    134 }
    135 
    136114FrameView::FrameView(Frame* frame)
    137115    : m_frame(frame)
     
    157135    , m_setNeedsLayoutWasDeferred(false)
    158136    , m_scrollCorner(0)
    159     , m_pageZoomFactor(parentPageZoomFactor(frame))
    160     , m_textZoomFactor(parentTextZoomFactor(frame))
    161 
    162137{
    163138    init();
     
    22962271}
    22972272
    2298 void FrameView::setPageZoomFactor(float factor)
    2299 {
    2300     setPageAndTextZoomFactors(factor, m_textZoomFactor);
    2301 }
    2302 
    2303 void FrameView::setTextZoomFactor(float factor)
    2304 {
    2305     setPageAndTextZoomFactors(m_pageZoomFactor, factor);
    2306 }
    2307 
    2308 void FrameView::setPageAndTextZoomFactors(float pageZoomFactor, float textZoomFactor)
    2309 {
    2310     if (m_pageZoomFactor == pageZoomFactor && m_textZoomFactor == textZoomFactor)
    2311         return;
    2312 
    2313     if (!m_frame)
    2314         return;
    2315 
    2316     Page* page = m_frame->page();
    2317     if (!page)
    2318         return;
    2319 
    2320     Document* document = m_frame->document();
    2321     if (!document)
    2322         return;
    2323 
    2324 #if ENABLE(SVG)
    2325     // Respect SVGs zoomAndPan="disabled" property in standalone SVG documents.
    2326     // FIXME: How to handle compound documents + zoomAndPan="disabled"? Needs SVG WG clarification.
    2327     if (document->isSVGDocument()) {
    2328         if (!static_cast<SVGDocument*>(document)->zoomAndPanEnabled())
    2329             return;
    2330         if (document->renderer())
    2331             document->renderer()->setNeedsLayout(true);
    2332     }
    2333 #endif
    2334 
    2335     if (m_pageZoomFactor != pageZoomFactor) {
    2336         // Update the scroll position when doing a full page zoom, so the content stays in relatively the same position.
    2337         IntPoint scrollPosition = this->scrollPosition();
    2338         float percentDifference = (pageZoomFactor / m_pageZoomFactor);
    2339         setScrollPosition(IntPoint(scrollPosition.x() * percentDifference, scrollPosition.y() * percentDifference));
    2340     }
    2341 
    2342     m_pageZoomFactor = pageZoomFactor;
    2343     m_textZoomFactor = textZoomFactor;
    2344 
    2345     document->recalcStyle(Node::Force);
    2346 
    2347     for (Frame* child = m_frame->tree()->firstChild(); child; child = child->tree()->nextSibling()) {
    2348         if (FrameView* childView = child->view())
    2349             childView->setPageAndTextZoomFactors(m_pageZoomFactor, m_textZoomFactor);
    2350     }
    2351 
    2352     if (document->renderer() && document->renderer()->needsLayout() && didFirstLayout())
    2353         layout();
    2354 }
    2355 
    23562273// Normal delay
    23572274void FrameView::setRepaintThrottlingDeferredRepaintDelay(double p)
  • trunk/WebCore/page/FrameView.h

    r67365 r67762  
    218218    void invalidateScrollCorner();
    219219
    220     void setPageZoomFactor(float factor);
    221     float pageZoomFactor() const { return m_pageZoomFactor; }
    222     void setTextZoomFactor(float factor);
    223     float textZoomFactor() const { return m_textZoomFactor; }
    224     void setPageAndTextZoomFactors(float pageZoomFactor, float textZoomFactor);
    225 
    226220    // Normal delay
    227221    static void setRepaintThrottlingDeferredRepaintDelay(double p);
     
    374368    RenderScrollbarPart* m_scrollCorner;
    375369
    376     float m_pageZoomFactor;
    377     float m_textZoomFactor;
    378 
    379370    static double s_deferredRepaintDelay;
    380371    static double s_initialDeferredRepaintDelayDuringLoading;
  • trunk/WebCore/rendering/RenderView.cpp

    r67660 r67762  
    665665float RenderView::zoomFactor() const
    666666{
    667     return m_frameView->pageZoomFactor();
     667    Frame* frame = m_frameView->frame();
     668    return frame ? frame->pageZoomFactor() : 1;
    668669}
    669670
  • trunk/WebCore/svg/SVGSVGElement.cpp

    r67274 r67762  
    194194{
    195195    // Only the page zoom factor is relevant for SVG
    196     if (FrameView* view = document()->view())
    197         return view->pageZoomFactor();
     196    if (Frame* frame = document()->frame())
     197        return frame->pageZoomFactor();
    198198    return m_scale;
    199199}
     
    201201void SVGSVGElement::setCurrentScale(float scale)
    202202{
    203     if (FrameView* view = document()->view()) {
     203    if (Frame* frame = document()->frame()) {
    204204        // Calling setCurrentScale() on the outermost <svg> element in a standalone SVG document
    205205        // is allowed to change the page zoom factor, influencing the document size, scrollbars etc.
    206206        if (parentNode() == document())
    207             view->setPageZoomFactor(scale);
     207            frame->setPageZoomFactor(scale);
    208208        return;
    209209    }
  • trunk/WebKit/chromium/ChangeLog

    r67757 r67762  
     12010-09-17  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
     6        https://bugs.webkit.org/show_bug.cgi?id=42863
     7
     8        * src/FrameLoaderClientImpl.cpp:
     9        (WebKit::FrameLoaderClientImpl::createPlugin):
     10        * src/WebViewImpl.cpp:
     11        (WebKit::WebViewImpl::setZoomLevel):
     12        Call functions on Frame instead of FrameView.
     13
    1142010-09-17  Kenneth Russell  <kbr@google.com>
    215
  • trunk/WebKit/chromium/src/FrameLoaderClientImpl.cpp

    r67749 r67762  
    14131413
    14141414    bool zoomTextOnly = m_webFrame->viewImpl()->zoomTextOnly();
    1415     float zoomFactor = zoomTextOnly ? m_webFrame->frame()->view()->textZoomFactor() : m_webFrame->frame()->view()->pageZoomFactor();
     1415    float zoomFactor = zoomTextOnly ? m_webFrame->frame()->textZoomFactor() : m_webFrame->frame()->pageZoomFactor();
    14161416    if (zoomFactor != 1) {
    14171417        // There's a saved zoom level, so tell the plugin about it since
  • trunk/WebKit/chromium/src/WebViewImpl.cpp

    r67649 r67762  
    15411541                 minTextSizeMultiplier));
    15421542    Frame* frame = mainFrameImpl()->frame();
    1543     FrameView* view = frame->view();
    1544     if (!view)
    1545         return m_zoomLevel;
    1546 
    1547     float oldZoomFactor = m_zoomTextOnly ? view->textZoomFactor() : view->pageZoomFactor();
     1543
     1544    float oldZoomFactor = m_zoomTextOnly ? frame->textZoomFactor() : frame->pageZoomFactor();
    15481545
    15491546    if (textOnly)
    1550         view->setPageAndTextZoomFactors(1, zoomFactor);
     1547        frame->setPageAndTextZoomFactors(1, zoomFactor);
    15511548    else
    1552         view->setPageAndTextZoomFactors(zoomFactor, 1);
     1549        frame->setPageAndTextZoomFactors(zoomFactor, 1);
    15531550
    15541551    if (oldZoomFactor != zoomFactor || textOnly != m_zoomTextOnly) {
  • trunk/WebKit/efl/ChangeLog

    r67655 r67762  
     12010-09-17  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
     6        https://bugs.webkit.org/show_bug.cgi?id=42863
     7
     8        * ewk/ewk_frame.cpp:
     9        (ewk_frame_zoom_get):
     10        (ewk_frame_zoom_set):
     11        (ewk_frame_zoom_text_only_set):
     12        Call functions on Frame instead of FrameView.
     13
    1142010-09-16  Darin Adler  <darin@apple.com>
    215
  • trunk/WebKit/efl/ewk/ewk_frame.cpp

    r67519 r67762  
    10211021    EWK_FRAME_SD_GET_OR_RETURN(o, sd, -1.0);
    10221022    EINA_SAFETY_ON_NULL_RETURN_VAL(sd->frame, -1.0);
    1023     WebCore::FrameView* view = sd->frame->view();
    1024     if (!view)
    1025         return -1;
    10261023
    10271024    if (sd->textZoom)
    1028         return view->textZoomFactor();
    1029     return view->pageZoomFactor();
     1025        return sd->frame->textZoomFactor();
     1026    return sd->frame->pageZoomFactor();
    10301027}
    10311028
     
    10441041    EWK_FRAME_SD_GET_OR_RETURN(o, sd, EINA_FALSE);
    10451042    EINA_SAFETY_ON_NULL_RETURN_VAL(sd->frame, EINA_FALSE);
    1046     WebCore::FrameView* view = sd->frame->view();
    1047     if (!view)
    1048         return EINA_FALSE;
    10491043    if (sd->textZoom)
    1050         view->setTextZoomFactor(zoom);
     1044        sd->frame->setTextZoomFactor(zoom);
    10511045    else
    1052         view->setPageZoomFactor(zoom);
     1046        sd->frame->setPageZoomFactor(zoom);
    10531047    return EINA_TRUE;
    10541048}
     
    10821076        return EINA_TRUE;
    10831077
    1084     WebCore::FrameView* view = sd->frame->view();
    1085     if (!view)
    1086         return EINA_FALSE;
    1087 
    1088     float zoom_level = sd->textZoom ? view->textZoomFactor() : view->pageZoomFactor();
     1078    float zoom_level = sd->textZoom ? sd->frame->textZoomFactor() : sd->frame->pageZoomFactor();
    10891079    sd->textZoom = setting;
    10901080    if (sd->textZoom)
    1091         view->setPageAndTextZoomFactors(1, zoom_level);
     1081        sd->frame->setPageAndTextZoomFactors(1, zoom_level);
    10921082    else
    1093         view->setPageAndTextZoomFactors(zoom_level, 1);
     1083        sd->frame->setPageAndTextZoomFactors(zoom_level, 1);
    10941084    return EINA_TRUE;
    10951085}
  • trunk/WebKit/gtk/ChangeLog

    r67664 r67762  
     12010-09-17  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
     6        https://bugs.webkit.org/show_bug.cgi?id=42863
     7
     8        * webkit/webkitwebview.cpp:
     9        (webkit_web_view_get_zoom_level):
     10        (webkit_web_view_apply_zoom_level):
     11        (webkit_web_view_set_full_content_zoom):
     12        Call functions on Frame instead of FrameView.
     13
    1142010-09-16  Martin Robinson  <mrobinson@igalia.com>
    215
  • trunk/WebKit/gtk/webkit/webkitwebview.cpp

    r67626 r67762  
    40074007        return 1.0f;
    40084008
    4009     FrameView* view = frame->view();
    4010     if (!view)
    4011         return 1;
    4012 
    40134009    WebKitWebViewPrivate* priv = webView->priv;
    4014     return priv->zoomFullContent ? view->pageZoomFactor() : view->textZoomFactor();
     4010    return priv->zoomFullContent ? frame->pageZoomFactor() : frame->textZoomFactor();
    40154011}
    40164012
     
    40214017        return;
    40224018
    4023     FrameView* view = frame->view();
    4024     if (!view)
    4025         return;
    4026 
    40274019    WebKitWebViewPrivate* priv = webView->priv;
    40284020    if (priv->zoomFullContent)
    4029         view->setPageZoomFactor(zoomLevel);
     4021        frame->setPageZoomFactor(zoomLevel);
    40304022    else
    4031         view->setTextZoomFactor(zoomLevel);       
     4023        frame->setTextZoomFactor(zoomLevel);       
    40324024}
    40334025
     
    41364128      return;
    41374129
    4138     FrameView* view = frame->view();
    4139     if (!view)
    4140       return;
    4141 
    4142     gfloat zoomLevel = priv->zoomFullContent ? view->pageZoomFactor() : view->textZoomFactor();
     4130    gfloat zoomLevel = priv->zoomFullContent ? frame->pageZoomFactor() : frame->textZoomFactor();
    41434131
    41444132    priv->zoomFullContent = zoomFullContent;
    41454133    if (priv->zoomFullContent)
    4146         view->setPageAndTextZoomFactors(zoomLevel, 1);
     4134        frame->setPageAndTextZoomFactors(zoomLevel, 1);
    41474135    else
    4148         view->setPageAndTextZoomFactors(1, zoomLevel);
     4136        frame->setPageAndTextZoomFactors(1, zoomLevel);
    41494137
    41504138    g_object_notify(G_OBJECT(webView), "full-content-zoom");
  • trunk/WebKit/mac/ChangeLog

    r67758 r67762  
     12010-09-17  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
     6        https://bugs.webkit.org/show_bug.cgi?id=42863
     7
     8        * WebView/WebView.mm:
     9        (-[WebView _setZoomMultiplier:isTextOnly:]):
     10        Call functions on Frame instead of FrameView.
     11
    1122010-09-17  Matthew Delaney  <mdelaney@apple.com>
    213
  • trunk/WebKit/mac/WebView/WebView.mm

    r67758 r67762  
    33213321    _private->zoomsTextOnly = isTextOnly;
    33223322
    3323     // FIXME: It would be nice to rework this code so that _private->zoomMultiplier doesn't exist
    3324     // and instead FrameView::zoomFactor is used.
     3323    // FIXME: It might be nice to rework this code so that _private->zoomMultiplier doesn't exist
     3324    // and instead the zoom factors stored in Frame are used.
    33253325    Frame* coreFrame = [self _mainCoreFrame];
    33263326    if (coreFrame) {
    3327         if (FrameView* view = coreFrame->view()) {
    3328             if (_private->zoomsTextOnly)
    3329                 view->setPageAndTextZoomFactors(1, multiplier);
    3330             else
    3331                 view->setPageAndTextZoomFactors(multiplier, 1);
    3332         }
     3327        if (_private->zoomsTextOnly)
     3328            coreFrame->setPageAndTextZoomFactors(1, multiplier);
     3329        else
     3330            coreFrame->setPageAndTextZoomFactors(multiplier, 1);
    33333331    }
    33343332}
  • trunk/WebKit/qt/Api/qwebframe.cpp

    r67608 r67762  
    11331133void QWebFrame::setTextSizeMultiplier(qreal factor)
    11341134{
    1135     FrameView* view = d->frame->view();
    1136     if (!view)
    1137         return;
    1138 
    11391135    page()->settings()->setAttribute(QWebSettings::ZoomTextOnly, true);
    11401136
    1141     view->setPageAndTextZoomFactors(1, factor);
     1137    d->frame->setPageAndTextZoomFactors(1, factor);
    11421138}
    11431139
     
    11471143qreal QWebFrame::textSizeMultiplier() const
    11481144{
    1149     FrameView* view = d->frame->view();
    1150     if (!view)
    1151         return 1;
    1152 
    1153     return d->zoomTextOnly ? view->textZoomFactor() : view->pageZoomFactor();
     1145    return d->zoomTextOnly ? d->frame->textZoomFactor() : d->frame->pageZoomFactor();
    11541146}
    11551147
     
    11621154void QWebFrame::setZoomFactor(qreal factor)
    11631155{
    1164     Page* page = d->frame->page();
    1165     if (!page)
    1166         return;
    1167 
    1168     FrameView* view = d->frame->view();
    1169     if (!view)
    1170         return;
    1171 
    11721156    if (d->zoomTextOnly)
    1173         view->setTextZoomFactor(factor);
     1157        d->frame->setTextZoomFactor(factor);
    11741158    else
    1175         view->setPageZoomFactor(factor);
     1159        d->frame->setPageZoomFactor(factor);
    11761160}
    11771161
    11781162qreal QWebFrame::zoomFactor() const
    11791163{
    1180     FrameView* view = d->frame->view();
    1181     if (!view)
    1182         return 1;
    1183 
    1184     return d->zoomTextOnly ? view->textZoomFactor() : view->pageZoomFactor();
     1164    return d->zoomTextOnly ? d->frame->textZoomFactor() : d->frame->pageZoomFactor();
    11851165}
    11861166
  • trunk/WebKit/qt/ChangeLog

    r67655 r67762  
     12010-09-17  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
     6        https://bugs.webkit.org/show_bug.cgi?id=42863
     7
     8        * Api/qwebframe.cpp:
     9        (QWebFrame::setTextSizeMultiplier):
     10        (QWebFrame::textSizeMultiplier):
     11        (QWebFrame::setZoomFactor):
     12        (QWebFrame::zoomFactor):
     13        Call functions on Frame instead of FrameView.
     14
    1152010-09-16  Darin Adler  <darin@apple.com>
    216
  • trunk/WebKit/win/ChangeLog

    r67758 r67762  
     12010-09-17  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
     6        https://bugs.webkit.org/show_bug.cgi?id=42863
     7
     8        * WebView.cpp:
     9        (WebView::setZoomMultiplier):
     10        Call functions on Frame instead of FrameView.
     11
    1122010-09-17  Matthew Delaney  <mdelaney@apple.com>
    213
  • trunk/WebKit/win/WebView.cpp

    r67758 r67762  
    29372937
    29382938    if (Frame* coreFrame = core(m_mainFrame)) {
    2939         if (FrameView* view = coreFrame->view()) {
    2940             if (m_zoomsTextOnly)
    2941                 view->setPageAndTextZoomFactors(1, multiplier);
    2942             else
    2943                 view->setPageAndTextZoomFactors(multiplier, 1);
    2944         }
     2939        if (m_zoomsTextOnly)
     2940            coreFrame->setPageAndTextZoomFactors(1, multiplier);
     2941        else
     2942            coreFrame->setPageAndTextZoomFactors(multiplier, 1);
    29452943    }
    29462944}
  • trunk/WebKit/wx/ChangeLog

    r67515 r67762  
     12010-09-17  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
     6        https://bugs.webkit.org/show_bug.cgi?id=42863
     7
     8        * WebFrame.cpp:
     9        (wxWebFrame::IncreaseTextSize):
     10        (wxWebFrame::DecreaseTextSize):
     11        (wxWebFrame::ResetTextSize):
     12        Call functions on Frame instead of FrameView.
     13
    1142010-09-14  Kevin Ollivier  <kevino@theolliviers.com>
    215
  • trunk/WebKit/wx/WebFrame.cpp

    r67515 r67762  
    374374    if (CanIncreaseTextSize()) {
    375375        m_textMagnifier = m_textMagnifier*TextSizeMultiplierRatio;
    376         m_impl->frame->view()->setTextZoomFactor(m_textMagnifier);
     376        m_impl->frame->setTextZoomFactor(m_textMagnifier);
    377377    }
    378378}
     
    391391    if (CanDecreaseTextSize()) {
    392392        m_textMagnifier = m_textMagnifier/TextSizeMultiplierRatio;
    393         m_impl->frame->view()->setTextZoomFactor(m_textMagnifier);
     393        m_impl->frame->setTextZoomFactor(m_textMagnifier);
    394394    }
    395395}
     
    398398{
    399399    m_textMagnifier = 1.0;
    400     if (m_impl->frame && m_impl->frame->view())
    401         m_impl->frame->view()->setTextZoomFactor(m_textMagnifier);
     400    if (m_impl->frame)
     401        m_impl->frame->setTextZoomFactor(m_textMagnifier);
    402402}
    403403
  • trunk/WebKit2/ChangeLog

    r67761 r67762  
     12010-09-17  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
     6        https://bugs.webkit.org/show_bug.cgi?id=42863
     7
     8        * WebProcess/WebPage/WebPage.cpp:
     9        (WebKit::WebPage::textZoomFactor):
     10        (WebKit::WebPage::setTextZoomFactor):
     11        (WebKit::WebPage::pageZoomFactor):
     12        (WebKit::WebPage::setPageZoomFactor):
     13        (WebKit::WebPage::setPageAndTextZoomFactors):
     14        Call functions on Frame instead of FrameView.
     15
    1162010-09-17  Sam Weinig  <sam@webkit.org>
    217
  • trunk/WebKit2/WebProcess/WebPage/WebPage.cpp

    r67761 r67762  
    306306double WebPage::textZoomFactor() const
    307307{
    308     if (Frame* coreFrame = m_mainFrame->coreFrame()) {
    309         if (FrameView* view = coreFrame->view())
    310             return view->textZoomFactor();
    311     }
    312    
    313     return 1;
     308    Frame* frame = m_mainFrame->coreFrame();
     309    if (!frame)
     310        return 1;
     311    return frame->textZoomFactor();
    314312}
    315313
    316314void WebPage::setTextZoomFactor(double zoomFactor)
    317315{
    318     if (Frame* coreFrame = m_mainFrame->coreFrame()) {
    319         if (FrameView* view = coreFrame->view())
    320             return view->setTextZoomFactor(static_cast<float>(zoomFactor));
    321     }
     316    Frame* frame = m_mainFrame->coreFrame();
     317    if (!frame)
     318        return;
     319    frame->setTextZoomFactor(static_cast<float>(zoomFactor));
    322320}
    323321
    324322double WebPage::pageZoomFactor() const
    325323{
    326     if (Frame* coreFrame = m_mainFrame->coreFrame()) {
    327         if (FrameView* view = coreFrame->view())
    328             return view->pageZoomFactor();
    329     }
    330    
    331     return 1;
     324    Frame* frame = m_mainFrame->coreFrame();
     325    if (!frame)
     326        return 1;
     327    return frame->pageZoomFactor();
    332328}
    333329
    334330void WebPage::setPageZoomFactor(double zoomFactor)
    335331{
    336     if (Frame* coreFrame = m_mainFrame->coreFrame()) {
    337         if (FrameView* view = coreFrame->view())
    338             return view->setPageZoomFactor(static_cast<float>(zoomFactor));
    339     }
     332    Frame* frame = m_mainFrame->coreFrame();
     333    if (!frame)
     334        return;
     335    frame->setPageZoomFactor(static_cast<float>(zoomFactor));
    340336}
    341337
    342338void WebPage::setPageAndTextZoomFactors(double pageZoomFactor, double textZoomFactor)
    343339{
    344     if (Frame* coreFrame = m_mainFrame->coreFrame()) {
    345         if (FrameView* view = coreFrame->view())
    346             return view->setPageAndTextZoomFactors(static_cast<float>(pageZoomFactor), static_cast<float>(textZoomFactor));
    347     }
     340    Frame* frame = m_mainFrame->coreFrame();
     341    if (!frame)
     342        return;
     343    return frame->setPageAndTextZoomFactors(static_cast<float>(pageZoomFactor), static_cast<float>(textZoomFactor));
    348344}
    349345
Note: See TracChangeset for help on using the changeset viewer.