Changeset 60104 in webkit


Ignore:
Timestamp:
May 24, 2010 5:33:16 PM (14 years ago)
Author:
Darin Adler
Message:

2010-05-24 Darin Adler <Darin Adler>

Reviewed by Eric Seidel.

Move view-related functions from Frame to FrameView
https://bugs.webkit.org/show_bug.cgi?id=39366

  • src/WebViewImpl.cpp: (WebKit::WebViewImpl::setZoomLevel): Call setZoomLevel on FrameView.

2010-05-24 Darin Adler <Darin Adler>

Reviewed by Eric Seidel.

Move view-related functions from Frame to FrameView
https://bugs.webkit.org/show_bug.cgi?id=39366

  • Api/qwebframe.cpp: (QWebFrame::setTextSizeMultiplier): Call functions on FrameView. (QWebFrame::textSizeMultiplier): Ditto. (QWebFrame::setZoomFactor): Ditto. (QWebFrame::zoomFactor): Ditto.
  • Api/qwebpage.cpp: (QWebPage::setContentEditable): Removed call to empty function, removeEditingStyleFromBodyElement.

2010-05-24 Darin Adler <Darin Adler>

Reviewed by Eric Seidel.

Move view-related functions from Frame to FrameView
https://bugs.webkit.org/show_bug.cgi?id=39366

  • webkit/webkitwebview.cpp: (webkit_web_view_set_editable): Remove call to empty function removeEditngStyleFromBodyElement. (webkit_web_view_get_zoom_level): Call functions on FrameView. (webkit_web_view_apply_zoom_level): Ditto.

2010-05-24 Darin Adler <Darin Adler>

Reviewed by Eric Seidel.

Move view-related functions from Frame to FrameView
https://bugs.webkit.org/show_bug.cgi?id=39366

  • efl/ewk/ewk_frame.cpp: (ewk_frame_editable_set): Removed call to empty function, removeEditingStyleFromBodyElement. (ewk_frame_zoom_get): Call function on FrameView. (ewk_frame_zoom_set): Ditto. (ewk_frame_zoom_text_only_set): Ditto.

2010-05-24 Darin Adler <Darin Adler>

Reviewed by Eric Seidel.

Move view-related functions from Frame to FrameView
https://bugs.webkit.org/show_bug.cgi?id=39366

  • WebFrame.cpp: (WebFrame::setTextSizeMultiplier): Call function on FrameView.
  • WebView.cpp: (WebView::setZoomMultiplier): Ditto.

2010-05-24 Darin Adler <Darin Adler>

Reviewed by Eric Seidel.

Move view-related functions from Frame to FrameView
https://bugs.webkit.org/show_bug.cgi?id=39366

  • WebFrame.cpp: (wxWebFrame::CanIncreaseTextSize): Check FrameView is not null. (wxWebFrame::IncreaseTextSize): Call function on FrameView. (wxWebFrame::CanDecreaseTextSize): Ditto. (wxWebFrame::DecreaseTextSize): Ditto. (wxWebFrame::ResetTextSize): Ditto.

2010-05-24 Darin Adler <Darin Adler>

Reviewed by Eric Seidel.

Move view-related functions from Frame to FrameView
https://bugs.webkit.org/show_bug.cgi?id=39366

  • WebView/WebView.mm: (-[WebView _setZoomMultiplier:isTextOnly:]): Call function on FrameView. (-[WebView setEditable:]): Get rid of call to empty function, removeEditingStyleFromBodyElement.

2010-05-24 Darin Adler <Darin Adler>

Reviewed by Eric Seidel.

Move view-related functions from Frame to FrameView
https://bugs.webkit.org/show_bug.cgi?id=39366

Refactoring only so adds no new tests.

  • WebCore.base.exp: Updated.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForDocument): Call zoom factor function on FrameView. (WebCore::CSSStyleSelector::applyProperty): Ditto. (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
  • dom/Document.cpp: (WebCore::Document::elementFromPoint): Ditto. (WebCore::Document::caretRangeFromPoint): Ditto.
  • dom/MouseRelatedEvent.cpp: (WebCore::contentsX): Ditto. (WebCore::contentsY): Ditto. (WebCore::pageZoomFactor): Added helper function. (WebCore::MouseRelatedEvent::computePageLocation): Use helper. (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
  • dom/Node.cpp: (WebCore::Node::dispatchMouseEvent): Call zoom factor function on FrameView. (WebCore::Node::dispatchWheelEvent): Ditto.
  • dom/Touch.cpp: (WebCore::contentsX): Call zoom factor function on FrameView. (WebCore::contentsY): Ditto.
  • html/HTMLBodyElement.cpp: (WebCore::adjustForZoom): Ditto. (WebCore::HTMLBodyElement::setScrollLeft): Ditto. (WebCore::HTMLBodyElement::setScrollTop): Ditto.
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::width): Ditto. (WebCore::HTMLImageElement::height): Ditto.
  • loader/ImageDocument.cpp: (WebCore::pageZoomFactor): Added helper function. (WebCore::ImageTokenizer::finish): Use helper function (WebCore::ImageDocument::scale): Ditto. (WebCore::ImageDocument::resizeImageToFit): Ditto. (WebCore::ImageDocument::imageChanged): Ditto. (WebCore::ImageDocument::restoreImageSize): Ditto. (WebCore::ImageDocument::imageFitsInWindow): Ditto.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::innerHeight): Ditto. (WebCore::DOMWindow::innerWidth): Ditto. (WebCore::DOMWindow::scrollX): Ditto. (WebCore::DOMWindow::scrollY): Ditto. (WebCore::DOMWindow::scrollTo): Ditto.
  • page/DragController.cpp: (WebCore::elementUnderMouse): Ditto.
  • page/Frame.cpp: (WebCore::Frame::Frame): Removed code to initialize m_zoomFactor.
  • page/Frame.h: Moved functions to FrameView. Moved all #if to the left margin to make the style consistent. Removed empty function removeEditingStyleFromBodyElement.
  • page/FrameView.cpp: (WebCore::parentZoomFactor): Added helper function for constructor. (WebCore::FrameView::FrameView): Added initialization of m_zoomFactor. (WebCore::FrameView::shouldApplyTextZoom): Moved this here from Frame. (WebCore::FrameView::shouldApplyPageZoom): Ditto. (WebCore::FrameView::setZoomFactor): Ditto.
  • page/FrameView.h: Added members moved here from Frame.
  • rendering/RenderView.cpp: (WebCore::RenderView::zoomFactor): Call FrameView instead of Frame.
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::currentScale): Ditto. (WebCore::SVGSVGElement::setCurrentScale): Ditto.
Location:
trunk
Files:
34 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r60100 r60104  
     12010-05-24  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Move view-related functions from Frame to FrameView
     6        https://bugs.webkit.org/show_bug.cgi?id=39366
     7
     8        Refactoring only so adds no new tests.
     9
     10        * WebCore.base.exp: Updated.
     11
     12        * css/CSSStyleSelector.cpp:
     13        (WebCore::CSSStyleSelector::styleForDocument): Call zoom factor function
     14        on FrameView.
     15        (WebCore::CSSStyleSelector::applyProperty): Ditto.
     16        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
     17        * dom/Document.cpp:
     18        (WebCore::Document::elementFromPoint): Ditto.
     19        (WebCore::Document::caretRangeFromPoint): Ditto.
     20        * dom/MouseRelatedEvent.cpp:
     21        (WebCore::contentsX): Ditto.
     22        (WebCore::contentsY): Ditto.
     23        (WebCore::pageZoomFactor): Added helper function.
     24        (WebCore::MouseRelatedEvent::computePageLocation): Use helper.
     25        (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
     26        * dom/Node.cpp:
     27        (WebCore::Node::dispatchMouseEvent): Call zoom factor function on FrameView.
     28        (WebCore::Node::dispatchWheelEvent): Ditto.
     29        * dom/Touch.cpp:
     30        (WebCore::contentsX): Call zoom factor function on FrameView.
     31        (WebCore::contentsY): Ditto.
     32        * html/HTMLBodyElement.cpp:
     33        (WebCore::adjustForZoom): Ditto.
     34        (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
     35        (WebCore::HTMLBodyElement::setScrollTop): Ditto.
     36        * html/HTMLImageElement.cpp:
     37        (WebCore::HTMLImageElement::width): Ditto.
     38        (WebCore::HTMLImageElement::height): Ditto.
     39        * loader/ImageDocument.cpp:
     40        (WebCore::pageZoomFactor): Added helper function.
     41        (WebCore::ImageTokenizer::finish): Use helper function
     42        (WebCore::ImageDocument::scale): Ditto.
     43        (WebCore::ImageDocument::resizeImageToFit): Ditto.
     44        (WebCore::ImageDocument::imageChanged): Ditto.
     45        (WebCore::ImageDocument::restoreImageSize): Ditto.
     46        (WebCore::ImageDocument::imageFitsInWindow): Ditto.
     47        * page/DOMWindow.cpp:
     48        (WebCore::DOMWindow::innerHeight): Ditto.
     49        (WebCore::DOMWindow::innerWidth): Ditto.
     50        (WebCore::DOMWindow::scrollX): Ditto.
     51        (WebCore::DOMWindow::scrollY): Ditto.
     52        (WebCore::DOMWindow::scrollTo): Ditto.
     53        * page/DragController.cpp:
     54        (WebCore::elementUnderMouse): Ditto.
     55
     56        * page/Frame.cpp:
     57        (WebCore::Frame::Frame): Removed code to initialize m_zoomFactor.
     58        * page/Frame.h: Moved functions to FrameView. Moved all #if to the left
     59        margin to make the style consistent. Removed empty function
     60        removeEditingStyleFromBodyElement.
     61
     62        * page/FrameView.cpp:
     63        (WebCore::parentZoomFactor): Added helper function for constructor.
     64        (WebCore::FrameView::FrameView): Added initialization of m_zoomFactor.
     65        (WebCore::FrameView::shouldApplyTextZoom): Moved this here from Frame.
     66        (WebCore::FrameView::shouldApplyPageZoom): Ditto.
     67        (WebCore::FrameView::setZoomFactor): Ditto.
     68
     69        * page/FrameView.h: Added members moved here from Frame.
     70
     71        * rendering/RenderView.cpp:
     72        (WebCore::RenderView::zoomFactor): Call FrameView instead of Frame.
     73        * svg/SVGSVGElement.cpp:
     74        (WebCore::SVGSVGElement::currentScale): Ditto.
     75        (WebCore::SVGSVGElement::setCurrentScale): Ditto.
     76
    1772010-05-24  Jer Noble  <jer.noble@apple.com>
    278
  • trunk/WebCore/WebCore.base.exp

    r60092 r60104  
    536536__ZN7WebCore5Frame10findStringERKNS_6StringEbbbb
    537537__ZN7WebCore5Frame13reapplyStylesEv
    538 __ZN7WebCore5Frame13setZoomFactorEfNS_8ZoomModeE
    539538__ZN7WebCore5Frame14frameForWidgetEPKNS_6WidgetE
    540539__ZN7WebCore5Frame15revealSelectionERKNS_15ScrollAlignmentEb
     
    706705__ZN7WebCore9FrameView11forceLayoutEb
    707706__ZN7WebCore9FrameView12setMediaTypeERKNS_6StringE
     707__ZN7WebCore9FrameView13setZoomFactorEfNS_8ZoomModeE
    708708__ZN7WebCore9FrameView14adjustViewSizeEv
    709709__ZN7WebCore9FrameView14setMarginWidthEi
     
    922922__ZNK7WebCore5Frame30applyEditingStyleToBodyElementEv
    923923__ZNK7WebCore5Frame31fontAttributesForSelectionStartEv
    924 __ZNK7WebCore5Frame33removeEditingStyleFromBodyElementEv
    925924__ZNK7WebCore5Frame37baseWritingDirectionForSelectionStartEv
    926925__ZNK7WebCore5Frame8settingsEv
  • trunk/WebCore/css/CSSStyleSelector.cpp

    r60052 r60104  
    11001100PassRefPtr<RenderStyle> CSSStyleSelector::styleForDocument(Document* document)
    11011101{
     1102    FrameView* view = document->view();
     1103
    11021104    RefPtr<RenderStyle> documentStyle = RenderStyle::create();
    11031105    documentStyle->setDisplay(BLOCK);
    11041106    documentStyle->setVisuallyOrdered(document->visuallyOrdered());
    1105     documentStyle->setZoom(document->frame()->pageZoomFactor());
     1107    documentStyle->setZoom(view ? view->pageZoomFactor() : 1);
    11061108   
    11071109    FontDescription fontDescription;
     
    40334035        else if (CSSPrimitiveValue::isUnitTypeLength(type)) {
    40344036            double multiplier = zoomFactor;
    4035             if (m_style->textSizeAdjust() && m_checker.m_document->frame() && m_checker.m_document->frame()->shouldApplyTextZoom())
    4036                 multiplier *= m_checker.m_document->frame()->textZoomFactor();
     4037            if (m_style->textSizeAdjust()) {
     4038                if (FrameView* view = m_checker.m_document->view()) {
     4039                    if (view->shouldApplyTextZoom())
     4040                        multiplier *= view->textZoomFactor();
     4041                }
     4042            }
    40374043            lineHeight = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle,  multiplier), Fixed);
    40384044        } else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
     
    59195925    if (!useSVGZoomRules) {
    59205926        zoomFactor = style->effectiveZoom();
    5921         if (document->frame() && document->frame()->shouldApplyTextZoom())
    5922             zoomFactor *= document->frame()->textZoomFactor();
     5927        if (document->view() && document->view()->shouldApplyTextZoom())
     5928            zoomFactor *= document->view()->textZoomFactor();
    59235929    }
    59245930
  • trunk/WebCore/dom/Document.cpp

    r60016 r60104  
    10101010        return 0;
    10111011
    1012     float zoomFactor = frame->pageZoomFactor();
     1012    float zoomFactor = frameView->pageZoomFactor();
    10131013    IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor  + view()->scrollX(), y * zoomFactor + view()->scrollY()));
    10141014
     
    10401040        return 0;
    10411041
    1042     float zoomFactor = frame->pageZoomFactor();
     1042    float zoomFactor = frameView->pageZoomFactor();
    10431043    IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor + view()->scrollX(), y * zoomFactor + view()->scrollY()));
    10441044
  • trunk/WebCore/dom/MouseRelatedEvent.cpp

    r53809 r60104  
    5858    if (!frameView)
    5959        return 0;
    60     return frameView->scrollX() / frame->pageZoomFactor();
     60    return frameView->scrollX() / frameView->pageZoomFactor();
    6161}
    6262
     
    7171    if (!frameView)
    7272        return 0;
    73     return frameView->scrollY() / frame->pageZoomFactor();
     73    return frameView->scrollY() / frameView->pageZoomFactor();
    7474}
    7575
     
    119119}
    120120
     121static float pageZoomFactor(UIEvent* event)
     122{
     123    DOMWindow* window = event->view();
     124    if (!window)
     125        return 1;
     126    Frame* frame = window->frame();
     127    if (!frame)
     128        return 1;
     129    FrameView* view = frame->view();
     130    if (!view)
     131        return 1;
     132    return view->pageZoomFactor();
     133}
     134
    121135void MouseRelatedEvent::computePageLocation()
    122136{
    123     float zoomFactor = (view() && view()->frame()) ? view()->frame()->pageZoomFactor() : 1.0f;
     137    float zoomFactor = pageZoomFactor(this);
    124138    setAbsoluteLocation(roundedIntPoint(FloatPoint(pageX() * zoomFactor, pageY() * zoomFactor)));
    125139}
     
    145159        if (RenderObject* r = targ->renderer()) {
    146160            FloatPoint localPos = r->absoluteToLocal(absoluteLocation(), false, true);
    147             float zoomFactor = (view() && view()->frame()) ? view()->frame()->pageZoomFactor() : 1.0f;
     161            float zoomFactor = pageZoomFactor(this);
    148162            m_offsetX = lroundf(localPos.x() / zoomFactor);
    149163            m_offsetY = lroundf(localPos.y() / zoomFactor);
  • trunk/WebCore/dom/Node.cpp

    r59776 r60104  
    28352835    int adjustedPageX = pageX;
    28362836    int adjustedPageY = pageY;
    2837     if (Frame* frame = document()->frame()) {
    2838         float pageZoom = frame->pageZoomFactor();
     2837    if (FrameView* view = document()->view()) {
     2838        float pageZoom = view->pageZoomFactor();
    28392839        if (pageZoom != 1.0f) {
    28402840            // Adjust our pageX and pageY to account for the page zoom.
     
    28922892    int adjustedPageX = pos.x();
    28932893    int adjustedPageY = pos.y();
    2894     if (Frame* frame = document()->frame()) {
    2895         float pageZoom = frame->pageZoomFactor();
     2894    if (FrameView* view = document()->view()) {
     2895        float pageZoom = view->pageZoomFactor();
    28962896        if (pageZoom != 1.0f) {
    28972897            // Adjust our pageX and pageY to account for the page zoom.
  • trunk/WebCore/dom/Touch.cpp

    r53994 r60104  
    4141    if (!frameView)
    4242        return 0;
    43     return frameView->scrollX() / frame->pageZoomFactor();
     43    return frameView->scrollX() / frameView->pageZoomFactor();
    4444}
    4545
     
    5151    if (!frameView)
    5252        return 0;
    53     return frameView->scrollY() / frame->pageZoomFactor();
     53    return frameView->scrollY() / frameView->pageZoomFactor();
    5454}
    5555
  • trunk/WebCore/html/HTMLBodyElement.cpp

    r59773 r60104  
    245245static int adjustForZoom(int value, FrameView* frameView)
    246246{
    247     float zoomFactor = frameView->frame()->zoomFactor();
     247    float zoomFactor = frameView->zoomFactor();
    248248    if (zoomFactor == 1)
    249249        return value;
     
    265265void HTMLBodyElement::setScrollLeft(int scrollLeft)
    266266{
    267     FrameView* sview = ownerDocument()->view();
    268     if (sview) {
    269         // Update the document's layout
    270         document()->updateLayoutIgnorePendingStylesheets();
    271         sview->setScrollPosition(IntPoint(static_cast<int>(scrollLeft * sview->frame()->zoomFactor()), sview->scrollY()));
    272     }   
     267    Document* document = this->document();
     268    document->updateLayoutIgnorePendingStylesheets();
     269    FrameView* view = document->view();
     270    if (!view)
     271        return;
     272    view->setScrollPosition(IntPoint(static_cast<int>(scrollLeft * view->zoomFactor()), view->scrollY()));
    273273}
    274274
     
    284284void HTMLBodyElement::setScrollTop(int scrollTop)
    285285{
    286     FrameView* sview = ownerDocument()->view();
    287     if (sview) {
    288         // Update the document's layout
    289         document()->updateLayoutIgnorePendingStylesheets();
    290         sview->setScrollPosition(IntPoint(sview->scrollX(), static_cast<int>(scrollTop * sview->frame()->zoomFactor())));
    291     }       
     286    Document* document = this->document();
     287    document->updateLayoutIgnorePendingStylesheets();
     288    FrameView* view = document->view();
     289    if (!view)
     290        return;
     291    view->setScrollPosition(IntPoint(view->scrollX(), static_cast<int>(scrollTop * view->zoomFactor())));
    292292}
    293293
  • trunk/WebCore/html/HTMLImageElement.cpp

    r59773 r60104  
    2929#include "CSSValueKeywords.h"
    3030#include "EventNames.h"
    31 #include "Frame.h"
     31#include "FrameView.h"
    3232#include "HTMLDocument.h"
    3333#include "HTMLFormElement.h"
     
    256256        // if the image is available, use its width
    257257        if (m_imageLoader.image()) {
    258             float zoomFactor = document()->frame() ? document()->frame()->pageZoomFactor() : 1.0f;
     258            float zoomFactor = document()->view() ? document()->view()->pageZoomFactor() : 1.0f;
    259259            return m_imageLoader.image()->imageSize(zoomFactor).width();
    260260        }
     
    280280        // if the image is available, use its height
    281281        if (m_imageLoader.image()) {
    282             float zoomFactor = document()->frame() ? document()->frame()->pageZoomFactor() : 1.0f;
     282            float zoomFactor = document()->view() ? document()->view()->pageZoomFactor() : 1.0f;
    283283            return m_imageLoader.image()->imageSize(zoomFactor).height();
    284284        }
  • trunk/WebCore/loader/ImageDocument.cpp

    r54049 r60104  
    109109// --------
    110110
     111static float pageZoomFactor(Document* document)
     112{
     113    FrameView* view = document->view();
     114    return view ? view->pageZoomFactor() : 1;
     115}
     116
    111117void ImageTokenizer::write(const SegmentedString&, bool)
    112118{
     
    146152        cachedImage->setResponse(m_doc->frame()->loader()->documentLoader()->response());
    147153
    148         IntSize size = cachedImage->imageSize(m_doc->frame()->pageZoomFactor());
     154        IntSize size = cachedImage->imageSize(pageZoomFactor(m_doc));
    149155        if (size.width()) {
    150156            // Compute the title, we use the decoded filename of the resource, falling
     
    221227        return 1.0f;
    222228
    223     IntSize imageSize = m_imageElement->cachedImage()->imageSize(frame()->pageZoomFactor());
    224     IntSize windowSize = IntSize(frame()->view()->width(), frame()->view()->height());
     229    FrameView* view = frame()->view();
     230    if (!view)
     231        return 1;
     232
     233    IntSize imageSize = m_imageElement->cachedImage()->imageSize(view->pageZoomFactor());
     234    IntSize windowSize = IntSize(view->width(), view->height());
    225235   
    226236    float widthScale = (float)windowSize.width() / imageSize.width();
     
    235245        return;
    236246
    237     IntSize imageSize = m_imageElement->cachedImage()->imageSize(frame()->pageZoomFactor());
     247    IntSize imageSize = m_imageElement->cachedImage()->imageSize(pageZoomFactor(this));
    238248
    239249    float scale = this->scale();
     
    275285        return;
    276286
    277     if (m_imageElement->cachedImage()->imageSize(frame()->pageZoomFactor()).isEmpty())
     287    if (m_imageElement->cachedImage()->imageSize(pageZoomFactor(this)).isEmpty())
    278288        return;
    279289   
     
    291301        return;
    292302   
    293     m_imageElement->setWidth(m_imageElement->cachedImage()->imageSize(frame()->pageZoomFactor()).width());
    294     m_imageElement->setHeight(m_imageElement->cachedImage()->imageSize(frame()->pageZoomFactor()).height());
     303    m_imageElement->setWidth(m_imageElement->cachedImage()->imageSize(pageZoomFactor(this)).width());
     304    m_imageElement->setHeight(m_imageElement->cachedImage()->imageSize(pageZoomFactor(this)).height());
    295305   
    296306    ExceptionCode ec;
     
    308318        return true;
    309319
    310     IntSize imageSize = m_imageElement->cachedImage()->imageSize(frame()->pageZoomFactor());
    311     IntSize windowSize = IntSize(frame()->view()->width(), frame()->view()->height());
     320    FrameView* view = frame()->view();
     321
     322    IntSize imageSize = m_imageElement->cachedImage()->imageSize(view->pageZoomFactor());
     323    IntSize windowSize = IntSize(view->width(), view->height());
    312324   
    313325    return imageSize.width() <= windowSize.width() && imageSize.height() <= windowSize.height();   
  • trunk/WebCore/page/DOMWindow.cpp

    r58873 r60104  
    955955        return 0;
    956956   
    957     return static_cast<int>(view->height() / m_frame->pageZoomFactor());
     957    return static_cast<int>(view->height() / view->pageZoomFactor());
    958958}
    959959
     
    967967        return 0;
    968968
    969     return static_cast<int>(view->width() / m_frame->pageZoomFactor());
     969    return static_cast<int>(view->width() / view->pageZoomFactor());
    970970}
    971971
     
    10051005    m_frame->document()->updateLayoutIgnorePendingStylesheets();
    10061006
    1007     return static_cast<int>(view->scrollX() / m_frame->pageZoomFactor());
     1007    return static_cast<int>(view->scrollX() / view->pageZoomFactor());
    10081008}
    10091009
     
    10191019    m_frame->document()->updateLayoutIgnorePendingStylesheets();
    10201020
    1021     return static_cast<int>(view->scrollY() / m_frame->pageZoomFactor());
     1021    return static_cast<int>(view->scrollY() / view->pageZoomFactor());
    10221022}
    10231023
     
    12411241        return;
    12421242
    1243     int zoomedX = static_cast<int>(x * m_frame->pageZoomFactor());
    1244     int zoomedY = static_cast<int>(y * m_frame->pageZoomFactor());
     1243    int zoomedX = static_cast<int>(x * view->pageZoomFactor());
     1244    int zoomedY = static_cast<int>(y * view->pageZoomFactor());
    12451245    view->setScrollPosition(IntPoint(zoomedX, zoomedY));
    12461246}
  • trunk/WebCore/page/DragController.cpp

    r58780 r60104  
    269269static Element* elementUnderMouse(Document* documentUnderMouse, const IntPoint& p)
    270270{
    271     float zoomFactor = documentUnderMouse->frame()->pageZoomFactor();
     271    FrameView* view = documentUnderMouse->view();
     272    float zoomFactor = view ? view->pageZoomFactor() : 1;
    272273    IntPoint point = roundedIntPoint(FloatPoint(p.x() * zoomFactor, p.y() * zoomFactor));
    273274
  • trunk/WebCore/page/Frame.cpp

    r59856 r60104  
    152152    , m_excludeFromTextSearch(false)
    153153{
    154     Frame* parent = parentFromOwnerElement(ownerElement);
    155     m_zoomFactor = parent ? parent->m_zoomFactor : 1.0f;
    156 
    157154    AtomicString::init();
    158155    HTMLNames::init();
     
    611608}
    612609
    613 ZoomMode Frame::zoomMode() const
    614 {
    615     return m_page->settings()->zoomMode();
    616 }
    617 
    618 bool Frame::shouldApplyTextZoom() const
    619 {
    620     return m_zoomFactor != 1.0f && zoomMode() == ZoomTextOnly;
    621 }
    622 
    623 bool Frame::shouldApplyPageZoom() const
    624 {
    625     return m_zoomFactor != 1.0f && zoomMode() == ZoomPage;
    626 }
    627 
    628 void Frame::setZoomFactor(float percent, ZoomMode mode)
    629 {
    630     if (m_zoomFactor == percent && zoomMode() == mode)
    631         return;
    632 
    633 #if ENABLE(SVG)
    634     // Respect SVGs zoomAndPan="disabled" property in standalone SVG documents.
    635     // FIXME: How to handle compound documents + zoomAndPan="disabled"? Needs SVG WG clarification.
    636     if (m_doc->isSVGDocument()) {
    637         if (!static_cast<SVGDocument*>(m_doc.get())->zoomAndPanEnabled())
    638             return;
    639         if (m_doc->renderer())
    640             m_doc->renderer()->setNeedsLayout(true);
    641     }
    642 #endif
    643 
    644     if (mode == ZoomPage) {
    645         // Update the scroll position when doing a full page zoom, so the content stays in relatively the same position.
    646         IntPoint scrollPosition = view()->scrollPosition();
    647         float percentDifference = (percent / m_zoomFactor);
    648         view()->setScrollPosition(IntPoint(scrollPosition.x() * percentDifference, scrollPosition.y() * percentDifference));
    649     }
    650 
    651     m_zoomFactor = percent;
    652     m_page->settings()->setZoomMode(mode);
    653 
    654     m_doc->recalcStyle(Node::Force);
    655 
    656     for (Frame* child = tree()->firstChild(); child; child = child->tree()->nextSibling())
    657         child->setZoomFactor(m_zoomFactor, mode);
    658 
    659     if (m_doc->renderer() && m_doc->renderer()->needsLayout() && view()->didFirstLayout())
    660         view()->layout();
    661 }
    662 
    663610void Frame::setPrinting(bool printing, float minPageWidth, float maxPageWidth, bool adjustViewSize)
    664611{
     
    933880    for (unsigned i = 0; i < len; i++)
    934881        applyEditingStyleToElement(static_cast<Element*>(list->item(i)));
    935 }
    936 
    937 void Frame::removeEditingStyleFromBodyElement() const
    938 {
    939     // FIXME: This function does nothing. We should either implement it
    940     // or remove it along with all call sites.
    941882}
    942883
  • trunk/WebCore/page/Frame.h

    r59634 r60104  
    150150
    151151        void keepAlive(); // Used to keep the frame alive when running a script that might destroy it.
    152     #ifndef NDEBUG
     152#ifndef NDEBUG
    153153        static void cancelAllKeepAlive();
    154     #endif
     154#endif
    155155
    156156        void setDocument(PassRefPtr<Document>);
     
    190190        void lifeSupportTimerFired(Timer<Frame>*);
    191191
    192     // === to be moved into FrameView
    193 
    194     public:
    195         void setZoomFactor(float scale, ZoomMode);
    196         float zoomFactor() const;
    197         ZoomMode zoomMode() const;
    198         bool shouldApplyTextZoom() const;
    199         bool shouldApplyPageZoom() const;
    200         float pageZoomFactor() const { return shouldApplyPageZoom() ? zoomFactor() : 1.0f; }
    201         float textZoomFactor() const { return shouldApplyTextZoom() ? zoomFactor() : 1.0f; }
    202 
    203192    // === to be moved into Chrome
    204193
     
    226215        String selectionStartStylePropertyValue(int stylePropertyID) const;
    227216        void applyEditingStyleToBodyElement() const;
    228         void removeEditingStyleFromBodyElement() const;
    229217        void applyEditingStyleToElement(Element*) const;
    230218
     
    286274        VisiblePosition visiblePositionForPoint(const IntPoint& framePoint);
    287275        Document* documentAtPoint(const IntPoint& windowPoint);
    288        
     276
     277#if ENABLE(TILED_BACKING_STORE)
     278
    289279    private:
    290 #if ENABLE(TILED_BACKING_STORE)
    291280        // TiledBackingStoreClient interface
    292281        virtual void tiledBackingStorePaintBegin();
     
    297286#endif
    298287
    299     #if PLATFORM(MAC)
     288#if PLATFORM(MAC)
    300289
    301290    // === undecided, would like to consider moving to another class
     
    306295        NSString* matchLabelsAgainstElement(NSArray* labels, Element*);
    307296
    308     #if ENABLE(DASHBOARD_SUPPORT)
     297#if ENABLE(DASHBOARD_SUPPORT)
    309298        NSMutableDictionary* dashboardRegionsDictionary();
    310     #endif
     299#endif
    311300
    312301        NSImage* selectionImage(bool forceBlackText = false) const;
     
    323312        NSWritingDirection baseWritingDirectionForSelectionStart() const;
    324313
    325     #endif
    326 
    327     #if PLATFORM(WIN)
     314#endif
     315
     316#if PLATFORM(WIN)
    328317
    329318    public:
     
    331320        HBITMAP nodeImage(Node*) const;
    332321
    333     #endif
     322#endif
    334323
    335324    private:
     
    351340        String m_kjsDefaultStatusBarText;
    352341
    353         float m_zoomFactor;
    354 
    355342        mutable SelectionController m_selectionController;
    356343        mutable VisibleSelection m_mark;
     
    438425    }
    439426
    440     inline float Frame::zoomFactor() const
    441     {
    442         return m_zoomFactor;
    443     }
    444 
    445427    inline String Frame::jsStatusBarText() const
    446428    {
  • trunk/WebCore/page/FrameView.cpp

    r59396 r60104  
    108108};
    109109
     110static inline float parentZoomFactor(Frame* frame)
     111{
     112    Frame* parent = frame->tree()->parent();
     113    if (!parent)
     114        return 1;
     115    FrameView* parentView = parent->view();
     116    if (!parentView)
     117        return 1;
     118    return parentView->zoomFactor();
     119}
     120
    110121FrameView::FrameView(Frame* frame)
    111122    : m_frame(frame)
     
    129140    , m_setNeedsLayoutWasDeferred(false)
    130141    , m_scrollCorner(0)
     142    , m_zoomFactor(parentZoomFactor(frame))
    131143{
    132144    init();
     
    21312143}
    21322144
     2145bool FrameView::shouldApplyTextZoom() const
     2146{
     2147    if (m_zoomFactor == 1)
     2148        return false;
     2149    if (!m_frame)
     2150        return false;
     2151    Page* page = m_frame->page();
     2152    return page && page->settings()->zoomMode() == ZoomTextOnly;
     2153}
     2154
     2155bool FrameView::shouldApplyPageZoom() const
     2156{
     2157    if (m_zoomFactor == 1)
     2158        return false;
     2159    if (!m_frame)
     2160        return false;
     2161    Page* page = m_frame->page();
     2162    return page && page->settings()->zoomMode() == ZoomPage;
     2163}
     2164
     2165void FrameView::setZoomFactor(float percent, ZoomMode mode)
     2166{
     2167    if (!m_frame)
     2168        return;
     2169
     2170    Page* page = m_frame->page();
     2171    if (!page)
     2172        return;
     2173
     2174    if (m_zoomFactor == percent && page->settings()->zoomMode() == mode)
     2175        return;
     2176
     2177    Document* document = m_frame->document();
     2178    if (!document)
     2179        return;
     2180
     2181#if ENABLE(SVG)
     2182    // Respect SVGs zoomAndPan="disabled" property in standalone SVG documents.
     2183    // FIXME: How to handle compound documents + zoomAndPan="disabled"? Needs SVG WG clarification.
     2184    if (document->isSVGDocument()) {
     2185        if (!static_cast<SVGDocument*>(document)->zoomAndPanEnabled())
     2186            return;
     2187        if (document->renderer())
     2188            document->renderer()->setNeedsLayout(true);
     2189    }
     2190#endif
     2191
     2192    if (mode == ZoomPage) {
     2193        // Update the scroll position when doing a full page zoom, so the content stays in relatively the same position.
     2194        IntPoint scrollPosition = this->scrollPosition();
     2195        float percentDifference = (percent / m_zoomFactor);
     2196        setScrollPosition(IntPoint(scrollPosition.x() * percentDifference, scrollPosition.y() * percentDifference));
     2197    }
     2198
     2199    m_zoomFactor = percent;
     2200    page->settings()->setZoomMode(mode);
     2201
     2202    document->recalcStyle(Node::Force);
     2203
     2204    for (Frame* child = m_frame->tree()->firstChild(); child; child = child->tree()->nextSibling()) {
     2205        if (FrameView* childView = child->view())
     2206            childView->setZoomFactor(m_zoomFactor, mode);
     2207    }
     2208
     2209    if (document->renderer() && document->renderer()->needsLayout() && didFirstLayout())
     2210        layout();
     2211}
     2212
    21332213} // namespace WebCore
  • trunk/WebCore/page/FrameView.h

    r59338 r60104  
    215215    void invalidateScrollCorner();
    216216
     217    void setZoomFactor(float scale, ZoomMode);
     218    float zoomFactor() const { return m_zoomFactor; }
     219    bool shouldApplyTextZoom() const;
     220    bool shouldApplyPageZoom() const;
     221    float pageZoomFactor() const { return shouldApplyPageZoom() ? m_zoomFactor : 1.0f; }
     222    float textZoomFactor() const { return shouldApplyTextZoom() ? m_zoomFactor : 1.0f; }
     223
    217224private:
    218225    FrameView(Frame*);
     
    288295    unsigned m_fixedObjectCount;
    289296
    290     int m_borderX, m_borderY;
     297    int m_borderX;
     298    int m_borderY;
    291299
    292300    Timer<FrameView> m_layoutTimer;
     
    344352    // Renderer to hold our custom scroll corner.
    345353    RenderScrollbarPart* m_scrollCorner;
     354
     355    float m_zoomFactor;
    346356};
    347357
  • trunk/WebCore/rendering/RenderView.cpp

    r59513 r60104  
    645645float RenderView::zoomFactor() const
    646646{
    647     if (m_frameView->frame() && m_frameView->frame()->shouldApplyPageZoom())
    648         return m_frameView->frame()->zoomFactor();
    649 
    650     return 1.0f;
     647    if (!m_frameView->shouldApplyPageZoom())
     648        return 1;
     649    return m_frameView->zoomFactor();
    651650}
    652651
  • trunk/WebCore/svg/SVGSVGElement.cpp

    r59773 r60104  
    3434#include "FloatConversion.h"
    3535#include "FloatRect.h"
    36 #include "Frame.h"
     36#include "FrameView.h"
    3737#include "HTMLNames.h"
    3838#include "RenderSVGRoot.h"
     
    189189{
    190190    // Only the page zoom factor is relevant for SVG
    191     if (Frame* frame = document()->frame())
    192         return frame->pageZoomFactor();
     191    if (FrameView* view = document()->view())
     192        return view->pageZoomFactor();
    193193    return m_scale;
    194194}
     
    196196void SVGSVGElement::setCurrentScale(float scale)
    197197{
    198     if (Frame* frame = document()->frame()) {
     198    if (FrameView* view = document()->view()) {
    199199        // Calling setCurrentScale() on the outermost <svg> element in a standalone SVG document
    200200        // is allowed to change the page zoom factor, influencing the document size, scrollbars etc.
    201201        if (parentNode() == document())
    202             frame->setZoomFactor(scale, ZoomPage);
     202            view->setZoomFactor(scale, ZoomPage);
    203203        return;
    204204    }
  • trunk/WebKit/ChangeLog

    r59537 r60104  
     12010-05-24  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Move view-related functions from Frame to FrameView
     6        https://bugs.webkit.org/show_bug.cgi?id=39366
     7
     8        * efl/ewk/ewk_frame.cpp:
     9        (ewk_frame_editable_set): Removed call to empty function,
     10        removeEditingStyleFromBodyElement.
     11        (ewk_frame_zoom_get): Call function on FrameView.
     12        (ewk_frame_zoom_set): Ditto.
     13        (ewk_frame_zoom_text_only_set): Ditto.
     14
    1152010-05-15  Leandro Pereira  <leandro@profusion.mobi>
    216
  • trunk/WebKit/chromium/ChangeLog

    r60086 r60104  
     12010-05-24  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Move view-related functions from Frame to FrameView
     6        https://bugs.webkit.org/show_bug.cgi?id=39366
     7
     8        * src/WebViewImpl.cpp:
     9        (WebKit::WebViewImpl::setZoomLevel): Call setZoomLevel on FrameView.
     10
    1112010-05-24  Anders Carlsson  <andersca@apple.com>
    212
  • trunk/WebKit/chromium/src/WebViewImpl.cpp

    r60086 r60104  
    14621462                 minTextSizeMultiplier));
    14631463    Frame* frame = mainFrameImpl()->frame();
     1464    FrameView* view = frame->view();
     1465    if (!view)
     1466        return m_zoomLevel;
    14641467    if (zoomFactor != frame->zoomFactor()) {
    14651468        m_zoomLevel = zoomLevel;
    1466         frame->setZoomFactor(zoomFactor, textOnly ? ZoomTextOnly : ZoomPage);
     1469        view->setZoomFactor(zoomFactor, textOnly ? ZoomTextOnly : ZoomPage);
    14671470    }
    14681471    return m_zoomLevel;
  • trunk/WebKit/efl/ewk/ewk_frame.cpp

    r58121 r60104  
    635635    if (editable)
    636636        sd->frame->applyEditingStyleToBodyElement();
    637     else
    638         sd->frame->removeEditingStyleFromBodyElement();
    639637    return EINA_TRUE;
    640638}
     
    972970    EWK_FRAME_SD_GET_OR_RETURN(o, sd, -1.0);
    973971    EINA_SAFETY_ON_NULL_RETURN_VAL(sd->frame, -1.0);
    974     return sd->frame->zoomFactor();
     972    FrameView* view = sd->frame->view();
     973    if (!view)
     974        return -1;
     975    return view->zoomFactor();
    975976}
    976977
     
    994995    else
    995996        zoomMode = WebCore::ZoomPage;
    996     sd->frame->setZoomFactor(zoom, zoomMode);
     997    FrameView* view = sd->frame->view();
     998    if (!view)
     999        return EINA_FALSE;
     1000    view->setZoomFactor(zoom, zoomMode);
    9971001    return EINA_TRUE;
    9981002}
     
    10331037    else
    10341038        zoomMode = WebCore::ZoomPage;
    1035     sd->frame->setZoomFactor(sd->frame->zoomFactor(), zoomMode);
     1039    FrameView* view = sd->frame->view();
     1040    if (!view)
     1041        return EINA_FALSE;
     1042    view->setZoomFactor(view->zoomFactor(), zoomMode);
    10361043    return EINA_TRUE;
    10371044}
  • trunk/WebKit/gtk/ChangeLog

    r60010 r60104  
     12010-05-24  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Move view-related functions from Frame to FrameView
     6        https://bugs.webkit.org/show_bug.cgi?id=39366
     7
     8        * webkit/webkitwebview.cpp:
     9        (webkit_web_view_set_editable): Remove call to empty function
     10        removeEditngStyleFromBodyElement.
     11        (webkit_web_view_get_zoom_level): Call functions on FrameView.
     12        (webkit_web_view_apply_zoom_level): Ditto.
     13
    1142010-05-22  Martin Robinson  <mrobinson@igalia.com>
    215
  • trunk/WebKit/gtk/webkit/webkitwebview.cpp

    r60010 r60104  
    36373637        //if (!webkit_web_view_get_selected_dom_range(webView))
    36383638        //    mainFrame->setSelectionFromNone();
    3639     } else
    3640         frame->removeEditingStyleFromBodyElement();
     3639    }
    36413640    g_object_notify(G_OBJECT(webView), "editable");
    36423641}
     
    37623761        return 1.0f;
    37633762
    3764     return frame->zoomFactor();
     3763    FrameView* view = frame->view();
     3764    if (!view)
     3765        return 1;
     3766
     3767    return view->zoomFactor();
    37653768}
    37663769
     
    37713774        return;
    37723775
     3776    FrameView* view = frame->view();
     3777    if (!view)
     3778        return;
     3779
    37733780    WebKitWebViewPrivate* priv = webView->priv;
    3774     frame->setZoomFactor(zoomLevel, priv->zoomFullContent ? ZoomPage : ZoomTextOnly);
     3781    view->setZoomFactor(zoomLevel, priv->zoomFullContent ? ZoomPage : ZoomTextOnly);
    37753782}
    37763783
  • trunk/WebKit/mac/ChangeLog

    r59956 r60104  
     12010-05-24  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Move view-related functions from Frame to FrameView
     6        https://bugs.webkit.org/show_bug.cgi?id=39366
     7
     8        * WebView/WebView.mm:
     9        (-[WebView _setZoomMultiplier:isTextOnly:]): Call function on FrameView.
     10        (-[WebView setEditable:]): Get rid of call to empty function,
     11        removeEditingStyleFromBodyElement.
     12
    1132010-05-21  David Hyatt  <hyatt@apple.com>
    214
  • trunk/WebKit/mac/WebView/WebView.mm

    r59935 r60104  
    31843184}
    31853185
    3186 - (void)_setZoomMultiplier:(float)m isTextOnly:(BOOL)isTextOnly
     3186- (void)_setZoomMultiplier:(float)multiplier isTextOnly:(BOOL)isTextOnly
    31873187{
    31883188    // NOTE: This has no visible effect when viewing a PDF (see <rdar://problem/4737380>)
    3189     _private->zoomMultiplier = m;
     3189    _private->zoomMultiplier = multiplier;
     3190
    31903191    ASSERT(_private->page);
    31913192    if (_private->page)
    31923193        _private->page->settings()->setZoomMode(isTextOnly ? ZoomTextOnly : ZoomPage);
    3193    
    3194     // FIXME: it would be nice to rework this code so that _private->zoomMultiplier doesn't exist and callers
    3195     // all access _private->page->settings().
     3194
     3195    // FIXME: It would be nice to rework this code so that _private->zoomMultiplier doesn't exist
     3196    // and instead FrameView::zoomFactor is used.
    31963197    Frame* coreFrame = [self _mainCoreFrame];
    3197     if (coreFrame)
    3198         coreFrame->setZoomFactor(m, isTextOnly ? ZoomTextOnly : ZoomPage);
     3198    if (coreFrame) {
     3199        if (FrameView* view = coreFrame->view())
     3200            view->setZoomFactor(multiplier, isTextOnly ? ZoomTextOnly : ZoomPage);
     3201    }
    31993202}
    32003203
     
    46654668                if (![self selectedDOMRange])
    46664669                    mainFrame->setSelectionFromNone();
    4667             } else
    4668                 mainFrame->removeEditingStyleFromBodyElement();
     4670            }
    46694671        }
    46704672    }
  • trunk/WebKit/qt/Api/qwebframe.cpp

    r59456 r60104  
    10801080void QWebFrame::setTextSizeMultiplier(qreal factor)
    10811081{
    1082     d->frame->setZoomFactor(factor, ZoomTextOnly);
     1082    FrameView* view = d->frame->view();
     1083    if (!view)
     1084        return;
     1085
     1086    view->setZoomFactor(factor, ZoomTextOnly);
    10831087}
    10841088
     
    10881092qreal QWebFrame::textSizeMultiplier() const
    10891093{
    1090     return d->frame->zoomFactor();
     1094    FrameView* view = d->frame->view();
     1095    if (!view)
     1096        return 1;
     1097
     1098    return view->zoomFactor();
    10911099}
    10921100
     
    10991107void QWebFrame::setZoomFactor(qreal factor)
    11001108{
    1101     d->frame->setZoomFactor(factor, d->frame->zoomMode());
     1109    Page* page = d->frame->page();
     1110    if (!page)
     1111        return;
     1112
     1113    FrameView* view = d->frame->view();
     1114    if (!view)
     1115        return;
     1116
     1117    view->setZoomFactor(factor, page->settings()->zoomMode());
    11021118}
    11031119
    11041120qreal QWebFrame::zoomFactor() const
    11051121{
    1106     return d->frame->zoomFactor();
     1122    FrameView* view = d->frame->view();
     1123    if (!view)
     1124        return 1;
     1125
     1126    return view->zoomFactor();
    11071127}
    11081128
  • trunk/WebKit/qt/Api/qwebpage.cpp

    r60030 r60104  
    26392639                // FIXME: mac port calls this if there is no selectedDOMRange
    26402640                //frame->setSelectionFromNone();
    2641             } else
    2642                 frame->removeEditingStyleFromBodyElement();
     2641            }
    26432642        }
    26442643
  • trunk/WebKit/qt/ChangeLog

    r60041 r60104  
     12010-05-24  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Move view-related functions from Frame to FrameView
     6        https://bugs.webkit.org/show_bug.cgi?id=39366
     7
     8        * Api/qwebframe.cpp:
     9        (QWebFrame::setTextSizeMultiplier): Call functions on FrameView.
     10        (QWebFrame::textSizeMultiplier): Ditto.
     11        (QWebFrame::setZoomFactor): Ditto.
     12        (QWebFrame::zoomFactor): Ditto.
     13        * Api/qwebpage.cpp:
     14        (QWebPage::setContentEditable): Removed call to empty function,
     15        removeEditingStyleFromBodyElement.
     16
    1172010-05-23  Noam Rosenthal  <noam.rosenthal@nokia.com>
    218
  • trunk/WebKit/win/ChangeLog

    r60080 r60104  
     12010-05-24  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Move view-related functions from Frame to FrameView
     6        https://bugs.webkit.org/show_bug.cgi?id=39366
     7
     8        * WebFrame.cpp:
     9        (WebFrame::setTextSizeMultiplier): Call function on FrameView.
     10        * WebView.cpp:
     11        (WebView::setZoomMultiplier): Ditto.
     12
    1132010-05-24  Anders Carlsson  <andersca@apple.com>
    214
  • trunk/WebKit/win/WebFrame.cpp

    r60093 r60104  
    11041104    Frame* coreFrame = core(this);
    11051105    ASSERT(coreFrame);
    1106     coreFrame->setZoomFactor(multiplier, ZoomTextOnly);
     1106
     1107    if (FrameView* view = coreFrame->view())
     1108        view->setZoomFactor(multiplier, ZoomTextOnly);
    11071109}
    11081110
  • trunk/WebKit/win/WebView.cpp

    r60080 r60104  
    29132913    m_zoomMultiplier = multiplier;
    29142914    m_page->settings()->setZoomMode(isTextOnly ? ZoomTextOnly : ZoomPage);
    2915     if (Frame* coreFrame = core(m_mainFrame))
    2916         coreFrame->setZoomFactor(multiplier, isTextOnly ? ZoomTextOnly : ZoomPage);
     2915    if (Frame* coreFrame = core(m_mainFrame)) {
     2916        if (FrameView* view = coreFrame->view())
     2917            view->setZoomFactor(multiplier, isTextOnly ? ZoomTextOnly : ZoomPage);
     2918    }
    29172919}
    29182920
  • trunk/WebKit/wx/ChangeLog

    r59184 r60104  
     12010-05-24  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Move view-related functions from Frame to FrameView
     6        https://bugs.webkit.org/show_bug.cgi?id=39366
     7
     8        * WebFrame.cpp:
     9        (wxWebFrame::CanIncreaseTextSize): Check FrameView is not null.
     10        (wxWebFrame::IncreaseTextSize): Call function on FrameView.
     11        (wxWebFrame::CanDecreaseTextSize): Ditto.
     12        (wxWebFrame::DecreaseTextSize): Ditto.
     13        (wxWebFrame::ResetTextSize): Ditto.
     14
    1152010-05-11  Kevin Watters  <kevinwatters@gmail.com>
    216
  • trunk/WebKit/wx/WebFrame.cpp

    r58699 r60104  
    306306bool wxWebFrame::CanIncreaseTextSize() const
    307307{
    308     if (m_impl->frame) {
     308    if (m_impl->frame && m_impl->frame->view()) {
    309309        if (m_textMagnifier*TextSizeMultiplierRatio <= MaximumTextSizeMultiplier)
    310310            return true;
     
    317317    if (CanIncreaseTextSize()) {
    318318        m_textMagnifier = m_textMagnifier*TextSizeMultiplierRatio;
    319         m_impl->frame->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
     319        m_impl->frame->view()->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
    320320    }
    321321}
     
    323323bool wxWebFrame::CanDecreaseTextSize() const
    324324{
    325     if (m_impl->frame) {
     325    if (m_impl->frame && m_impl->frame->view()) {
    326326        if (m_textMagnifier/TextSizeMultiplierRatio >= MinimumTextSizeMultiplier)
    327327            return true;
     
    334334    if (CanDecreaseTextSize()) {
    335335        m_textMagnifier = m_textMagnifier/TextSizeMultiplierRatio;
    336         m_impl->frame->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
     336        m_impl->frame->view()->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
    337337    }
    338338}
     
    341341{
    342342    m_textMagnifier = 1.0;
    343     if (m_impl->frame)
    344         m_impl->frame->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
     343    if (m_impl->frame && m_impl->frame->view())
     344        m_impl->frame->view()->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
    345345}
    346346
Note: See TracChangeset for help on using the changeset viewer.