<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[60104] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/60104">60104</a></dd>
<dt>Author</dt> <dd>darin@apple.com</dd>
<dt>Date</dt> <dd>2010-05-24 17:33:16 -0700 (Mon, 24 May 2010)</dd>
</dl>

<h3>Log Message</h3>
<pre>2010-05-24  Darin Adler  &lt;darin@apple.com&gt;

        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  &lt;darin@apple.com&gt;

        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  &lt;darin@apple.com&gt;

        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  &lt;darin@apple.com&gt;

        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  &lt;darin@apple.com&gt;

        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  &lt;darin@apple.com&gt;

        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  &lt;darin@apple.com&gt;

        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  &lt;darin@apple.com&gt;

        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.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkWebCoreChangeLog">trunk/WebCore/ChangeLog</a></li>
<li><a href="#trunkWebCoreWebCorebaseexp">trunk/WebCore/WebCore.base.exp</a></li>
<li><a href="#trunkWebCorecssCSSStyleSelectorcpp">trunk/WebCore/css/CSSStyleSelector.cpp</a></li>
<li><a href="#trunkWebCoredomDocumentcpp">trunk/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkWebCoredomMouseRelatedEventcpp">trunk/WebCore/dom/MouseRelatedEvent.cpp</a></li>
<li><a href="#trunkWebCoredomNodecpp">trunk/WebCore/dom/Node.cpp</a></li>
<li><a href="#trunkWebCoredomTouchcpp">trunk/WebCore/dom/Touch.cpp</a></li>
<li><a href="#trunkWebCorehtmlHTMLBodyElementcpp">trunk/WebCore/html/HTMLBodyElement.cpp</a></li>
<li><a href="#trunkWebCorehtmlHTMLImageElementcpp">trunk/WebCore/html/HTMLImageElement.cpp</a></li>
<li><a href="#trunkWebCoreloaderImageDocumentcpp">trunk/WebCore/loader/ImageDocument.cpp</a></li>
<li><a href="#trunkWebCorepageDOMWindowcpp">trunk/WebCore/page/DOMWindow.cpp</a></li>
<li><a href="#trunkWebCorepageDragControllercpp">trunk/WebCore/page/DragController.cpp</a></li>
<li><a href="#trunkWebCorepageFramecpp">trunk/WebCore/page/Frame.cpp</a></li>
<li><a href="#trunkWebCorepageFrameh">trunk/WebCore/page/Frame.h</a></li>
<li><a href="#trunkWebCorepageFrameViewcpp">trunk/WebCore/page/FrameView.cpp</a></li>
<li><a href="#trunkWebCorepageFrameViewh">trunk/WebCore/page/FrameView.h</a></li>
<li><a href="#trunkWebCorerenderingRenderViewcpp">trunk/WebCore/rendering/RenderView.cpp</a></li>
<li><a href="#trunkWebCoresvgSVGSVGElementcpp">trunk/WebCore/svg/SVGSVGElement.cpp</a></li>
<li><a href="#trunkWebKitChangeLog">trunk/WebKit/ChangeLog</a></li>
<li><a href="#trunkWebKitchromiumChangeLog">trunk/WebKit/chromium/ChangeLog</a></li>
<li><a href="#trunkWebKitchromiumsrcWebViewImplcpp">trunk/WebKit/chromium/src/WebViewImpl.cpp</a></li>
<li><a href="#trunkWebKiteflewkewk_framecpp">trunk/WebKit/efl/ewk/ewk_frame.cpp</a></li>
<li><a href="#trunkWebKitgtkChangeLog">trunk/WebKit/gtk/ChangeLog</a></li>
<li><a href="#trunkWebKitgtkwebkitwebkitwebviewcpp">trunk/WebKit/gtk/webkit/webkitwebview.cpp</a></li>
<li><a href="#trunkWebKitmacChangeLog">trunk/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkWebKitmacWebViewWebViewmm">trunk/WebKit/mac/WebView/WebView.mm</a></li>
<li><a href="#trunkWebKitqtApiqwebframecpp">trunk/WebKit/qt/Api/qwebframe.cpp</a></li>
<li><a href="#trunkWebKitqtApiqwebpagecpp">trunk/WebKit/qt/Api/qwebpage.cpp</a></li>
<li><a href="#trunkWebKitqtChangeLog">trunk/WebKit/qt/ChangeLog</a></li>
<li><a href="#trunkWebKitwinChangeLog">trunk/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkWebKitwinWebFramecpp">trunk/WebKit/win/WebFrame.cpp</a></li>
<li><a href="#trunkWebKitwinWebViewcpp">trunk/WebKit/win/WebView.cpp</a></li>
<li><a href="#trunkWebKitwxChangeLog">trunk/WebKit/wx/ChangeLog</a></li>
<li><a href="#trunkWebKitwxWebFramecpp">trunk/WebKit/wx/WebFrame.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/ChangeLog (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/ChangeLog        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/ChangeLog        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -1,3 +1,79 @@
</span><ins>+2010-05-24  Darin Adler  &lt;darin@apple.com&gt;
+
+        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.
+
</ins><span class="cx"> 2010-05-24  Jer Noble  &lt;jer.noble@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         No review; build fix only.
</span></span></pre></div>
<a id="trunkWebCoreWebCorebaseexp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/WebCore.base.exp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/WebCore.base.exp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/WebCore.base.exp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -535,7 +535,6 @@
</span><span class="cx"> __ZN7WebCore5Frame10createViewERKNS_7IntSizeERKNS_5ColorEbS3_bNS_13ScrollbarModeEbS7_b
</span><span class="cx"> __ZN7WebCore5Frame10findStringERKNS_6StringEbbbb
</span><span class="cx"> __ZN7WebCore5Frame13reapplyStylesEv
</span><del>-__ZN7WebCore5Frame13setZoomFactorEfNS_8ZoomModeE
</del><span class="cx"> __ZN7WebCore5Frame14frameForWidgetEPKNS_6WidgetE
</span><span class="cx"> __ZN7WebCore5Frame15revealSelectionERKNS_15ScrollAlignmentEb
</span><span class="cx"> __ZN7WebCore5Frame20setSelectionFromNoneEv
</span><span class="lines">@@ -705,6 +704,7 @@
</span><span class="cx"> __ZN7WebCore9FrameTree9clearNameEv
</span><span class="cx"> __ZN7WebCore9FrameView11forceLayoutEb
</span><span class="cx"> __ZN7WebCore9FrameView12setMediaTypeERKNS_6StringE
</span><ins>+__ZN7WebCore9FrameView13setZoomFactorEfNS_8ZoomModeE
</ins><span class="cx"> __ZN7WebCore9FrameView14adjustViewSizeEv
</span><span class="cx"> __ZN7WebCore9FrameView14setMarginWidthEi
</span><span class="cx"> __ZN7WebCore9FrameView14setNeedsLayoutEv
</span><span class="lines">@@ -921,7 +921,6 @@
</span><span class="cx"> __ZNK7WebCore5Frame20selectionGranularityEv
</span><span class="cx"> __ZNK7WebCore5Frame30applyEditingStyleToBodyElementEv
</span><span class="cx"> __ZNK7WebCore5Frame31fontAttributesForSelectionStartEv
</span><del>-__ZNK7WebCore5Frame33removeEditingStyleFromBodyElementEv
</del><span class="cx"> __ZNK7WebCore5Frame37baseWritingDirectionForSelectionStartEv
</span><span class="cx"> __ZNK7WebCore5Frame8settingsEv
</span><span class="cx"> __ZNK7WebCore5Frame9domWindowEv
</span></span></pre></div>
<a id="trunkWebCorecssCSSStyleSelectorcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/css/CSSStyleSelector.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/css/CSSStyleSelector.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/css/CSSStyleSelector.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -1099,10 +1099,12 @@
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;RenderStyle&gt; CSSStyleSelector::styleForDocument(Document* document)
</span><span class="cx"> {
</span><ins>+    FrameView* view = document-&gt;view();
+
</ins><span class="cx">     RefPtr&lt;RenderStyle&gt; documentStyle = RenderStyle::create();
</span><span class="cx">     documentStyle-&gt;setDisplay(BLOCK);
</span><span class="cx">     documentStyle-&gt;setVisuallyOrdered(document-&gt;visuallyOrdered());
</span><del>-    documentStyle-&gt;setZoom(document-&gt;frame()-&gt;pageZoomFactor());
</del><ins>+    documentStyle-&gt;setZoom(view ? view-&gt;pageZoomFactor() : 1);
</ins><span class="cx">     
</span><span class="cx">     FontDescription fontDescription;
</span><span class="cx">     fontDescription.setUsePrinterFont(document-&gt;printing());
</span><span class="lines">@@ -4032,8 +4034,12 @@
</span><span class="cx">             lineHeight = Length(-100.0, Percent);
</span><span class="cx">         else if (CSSPrimitiveValue::isUnitTypeLength(type)) {
</span><span class="cx">             double multiplier = zoomFactor;
</span><del>-            if (m_style-&gt;textSizeAdjust() &amp;&amp; m_checker.m_document-&gt;frame() &amp;&amp; m_checker.m_document-&gt;frame()-&gt;shouldApplyTextZoom())
-                multiplier *= m_checker.m_document-&gt;frame()-&gt;textZoomFactor();
</del><ins>+            if (m_style-&gt;textSizeAdjust()) {
+                if (FrameView* view = m_checker.m_document-&gt;view()) {
+                    if (view-&gt;shouldApplyTextZoom())
+                        multiplier *= view-&gt;textZoomFactor();
+                }
+            }
</ins><span class="cx">             lineHeight = Length(primitiveValue-&gt;computeLengthIntForLength(style(), m_rootElementStyle,  multiplier), Fixed);
</span><span class="cx">         } else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
</span><span class="cx">             lineHeight = Length((m_style-&gt;fontSize() * primitiveValue-&gt;getIntValue()) / 100, Fixed);
</span><span class="lines">@@ -5918,8 +5924,8 @@
</span><span class="cx">     float zoomFactor = 1.0f;
</span><span class="cx">     if (!useSVGZoomRules) {
</span><span class="cx">         zoomFactor = style-&gt;effectiveZoom();
</span><del>-        if (document-&gt;frame() &amp;&amp; document-&gt;frame()-&gt;shouldApplyTextZoom())
-            zoomFactor *= document-&gt;frame()-&gt;textZoomFactor();
</del><ins>+        if (document-&gt;view() &amp;&amp; document-&gt;view()-&gt;shouldApplyTextZoom())
+            zoomFactor *= document-&gt;view()-&gt;textZoomFactor();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // We support two types of minimum font size.  The first is a hard override that applies to
</span></span></pre></div>
<a id="trunkWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/dom/Document.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/dom/Document.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/dom/Document.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -1009,7 +1009,7 @@
</span><span class="cx">     if (!frameView)
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><del>-    float zoomFactor = frame-&gt;pageZoomFactor();
</del><ins>+    float zoomFactor = frameView-&gt;pageZoomFactor();
</ins><span class="cx">     IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor  + view()-&gt;scrollX(), y * zoomFactor + view()-&gt;scrollY()));
</span><span class="cx"> 
</span><span class="cx">     if (!frameView-&gt;visibleContentRect().contains(point))
</span><span class="lines">@@ -1039,7 +1039,7 @@
</span><span class="cx">     if (!frameView)
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><del>-    float zoomFactor = frame-&gt;pageZoomFactor();
</del><ins>+    float zoomFactor = frameView-&gt;pageZoomFactor();
</ins><span class="cx">     IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor + view()-&gt;scrollX(), y * zoomFactor + view()-&gt;scrollY()));
</span><span class="cx"> 
</span><span class="cx">     if (!frameView-&gt;visibleContentRect().contains(point))
</span></span></pre></div>
<a id="trunkWebCoredomMouseRelatedEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/dom/MouseRelatedEvent.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/dom/MouseRelatedEvent.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/dom/MouseRelatedEvent.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx">     FrameView* frameView = frame-&gt;view();
</span><span class="cx">     if (!frameView)
</span><span class="cx">         return 0;
</span><del>-    return frameView-&gt;scrollX() / frame-&gt;pageZoomFactor();
</del><ins>+    return frameView-&gt;scrollX() / frameView-&gt;pageZoomFactor();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static int contentsY(AbstractView* abstractView)
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx">     FrameView* frameView = frame-&gt;view();
</span><span class="cx">     if (!frameView)
</span><span class="cx">         return 0;
</span><del>-    return frameView-&gt;scrollY() / frame-&gt;pageZoomFactor();
</del><ins>+    return frameView-&gt;scrollY() / frameView-&gt;pageZoomFactor();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> MouseRelatedEvent::MouseRelatedEvent(const AtomicString&amp; eventType, bool canBubble, bool cancelable, PassRefPtr&lt;AbstractView&gt; viewArg,
</span><span class="lines">@@ -118,9 +118,23 @@
</span><span class="cx">     computePageLocation();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+static float pageZoomFactor(UIEvent* event)
+{
+    DOMWindow* window = event-&gt;view();
+    if (!window)
+        return 1;
+    Frame* frame = window-&gt;frame();
+    if (!frame)
+        return 1;
+    FrameView* view = frame-&gt;view();
+    if (!view)
+        return 1;
+    return view-&gt;pageZoomFactor();
+}
+
</ins><span class="cx"> void MouseRelatedEvent::computePageLocation()
</span><span class="cx"> {
</span><del>-    float zoomFactor = (view() &amp;&amp; view()-&gt;frame()) ? view()-&gt;frame()-&gt;pageZoomFactor() : 1.0f;
</del><ins>+    float zoomFactor = pageZoomFactor(this);
</ins><span class="cx">     setAbsoluteLocation(roundedIntPoint(FloatPoint(pageX() * zoomFactor, pageY() * zoomFactor)));
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -144,7 +158,7 @@
</span><span class="cx">     if (!isSimulated()) {
</span><span class="cx">         if (RenderObject* r = targ-&gt;renderer()) {
</span><span class="cx">             FloatPoint localPos = r-&gt;absoluteToLocal(absoluteLocation(), false, true);
</span><del>-            float zoomFactor = (view() &amp;&amp; view()-&gt;frame()) ? view()-&gt;frame()-&gt;pageZoomFactor() : 1.0f;
</del><ins>+            float zoomFactor = pageZoomFactor(this);
</ins><span class="cx">             m_offsetX = lroundf(localPos.x() / zoomFactor);
</span><span class="cx">             m_offsetY = lroundf(localPos.y() / zoomFactor);
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkWebCoredomNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/dom/Node.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/dom/Node.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/dom/Node.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -2834,8 +2834,8 @@
</span><span class="cx"> 
</span><span class="cx">     int adjustedPageX = pageX;
</span><span class="cx">     int adjustedPageY = pageY;
</span><del>-    if (Frame* frame = document()-&gt;frame()) {
-        float pageZoom = frame-&gt;pageZoomFactor();
</del><ins>+    if (FrameView* view = document()-&gt;view()) {
+        float pageZoom = view-&gt;pageZoomFactor();
</ins><span class="cx">         if (pageZoom != 1.0f) {
</span><span class="cx">             // Adjust our pageX and pageY to account for the page zoom.
</span><span class="cx">             adjustedPageX = lroundf(pageX / pageZoom);
</span><span class="lines">@@ -2891,8 +2891,8 @@
</span><span class="cx"> 
</span><span class="cx">     int adjustedPageX = pos.x();
</span><span class="cx">     int adjustedPageY = pos.y();
</span><del>-    if (Frame* frame = document()-&gt;frame()) {
-        float pageZoom = frame-&gt;pageZoomFactor();
</del><ins>+    if (FrameView* view = document()-&gt;view()) {
+        float pageZoom = view-&gt;pageZoomFactor();
</ins><span class="cx">         if (pageZoom != 1.0f) {
</span><span class="cx">             // Adjust our pageX and pageY to account for the page zoom.
</span><span class="cx">             adjustedPageX = lroundf(pos.x() / pageZoom);
</span></span></pre></div>
<a id="trunkWebCoredomTouchcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/dom/Touch.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/dom/Touch.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/dom/Touch.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx">     FrameView* frameView = frame-&gt;view();
</span><span class="cx">     if (!frameView)
</span><span class="cx">         return 0;
</span><del>-    return frameView-&gt;scrollX() / frame-&gt;pageZoomFactor();
</del><ins>+    return frameView-&gt;scrollX() / frameView-&gt;pageZoomFactor();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static int contentsY(Frame* frame)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx">     FrameView* frameView = frame-&gt;view();
</span><span class="cx">     if (!frameView)
</span><span class="cx">         return 0;
</span><del>-    return frameView-&gt;scrollY() / frame-&gt;pageZoomFactor();
</del><ins>+    return frameView-&gt;scrollY() / frameView-&gt;pageZoomFactor();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Touch::Touch(Frame* frame, EventTarget* target, unsigned identifier, 
</span></span></pre></div>
<a id="trunkWebCorehtmlHTMLBodyElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/html/HTMLBodyElement.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/html/HTMLBodyElement.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/html/HTMLBodyElement.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -244,7 +244,7 @@
</span><span class="cx"> 
</span><span class="cx"> static int adjustForZoom(int value, FrameView* frameView)
</span><span class="cx"> {
</span><del>-    float zoomFactor = frameView-&gt;frame()-&gt;zoomFactor();
</del><ins>+    float zoomFactor = frameView-&gt;zoomFactor();
</ins><span class="cx">     if (zoomFactor == 1)
</span><span class="cx">         return value;
</span><span class="cx">     // Needed because of truncation (rather than rounding) when scaling up.
</span><span class="lines">@@ -264,12 +264,12 @@
</span><span class="cx"> 
</span><span class="cx"> void HTMLBodyElement::setScrollLeft(int scrollLeft)
</span><span class="cx"> {
</span><del>-    FrameView* sview = ownerDocument()-&gt;view();
-    if (sview) {
-        // Update the document's layout
-        document()-&gt;updateLayoutIgnorePendingStylesheets();
-        sview-&gt;setScrollPosition(IntPoint(static_cast&lt;int&gt;(scrollLeft * sview-&gt;frame()-&gt;zoomFactor()), sview-&gt;scrollY()));
-    }    
</del><ins>+    Document* document = this-&gt;document();
+    document-&gt;updateLayoutIgnorePendingStylesheets();
+    FrameView* view = document-&gt;view();
+    if (!view)
+        return;
+    view-&gt;setScrollPosition(IntPoint(static_cast&lt;int&gt;(scrollLeft * view-&gt;zoomFactor()), view-&gt;scrollY()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int HTMLBodyElement::scrollTop() const
</span><span class="lines">@@ -283,12 +283,12 @@
</span><span class="cx"> 
</span><span class="cx"> void HTMLBodyElement::setScrollTop(int scrollTop)
</span><span class="cx"> {
</span><del>-    FrameView* sview = ownerDocument()-&gt;view();
-    if (sview) {
-        // Update the document's layout
-        document()-&gt;updateLayoutIgnorePendingStylesheets();
-        sview-&gt;setScrollPosition(IntPoint(sview-&gt;scrollX(), static_cast&lt;int&gt;(scrollTop * sview-&gt;frame()-&gt;zoomFactor())));
-    }        
</del><ins>+    Document* document = this-&gt;document();
+    document-&gt;updateLayoutIgnorePendingStylesheets();
+    FrameView* view = document-&gt;view();
+    if (!view)
+        return;
+    view-&gt;setScrollPosition(IntPoint(view-&gt;scrollX(), static_cast&lt;int&gt;(scrollTop * view-&gt;zoomFactor())));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int HTMLBodyElement::scrollHeight() const
</span></span></pre></div>
<a id="trunkWebCorehtmlHTMLImageElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/html/HTMLImageElement.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/html/HTMLImageElement.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/html/HTMLImageElement.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> #include &quot;CSSPropertyNames.h&quot;
</span><span class="cx"> #include &quot;CSSValueKeywords.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;Frame.h&quot;
</del><ins>+#include &quot;FrameView.h&quot;
</ins><span class="cx"> #include &quot;HTMLDocument.h&quot;
</span><span class="cx"> #include &quot;HTMLFormElement.h&quot;
</span><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="lines">@@ -255,7 +255,7 @@
</span><span class="cx"> 
</span><span class="cx">         // if the image is available, use its width
</span><span class="cx">         if (m_imageLoader.image()) {
</span><del>-            float zoomFactor = document()-&gt;frame() ? document()-&gt;frame()-&gt;pageZoomFactor() : 1.0f;
</del><ins>+            float zoomFactor = document()-&gt;view() ? document()-&gt;view()-&gt;pageZoomFactor() : 1.0f;
</ins><span class="cx">             return m_imageLoader.image()-&gt;imageSize(zoomFactor).width();
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -279,7 +279,7 @@
</span><span class="cx"> 
</span><span class="cx">         // if the image is available, use its height
</span><span class="cx">         if (m_imageLoader.image()) {
</span><del>-            float zoomFactor = document()-&gt;frame() ? document()-&gt;frame()-&gt;pageZoomFactor() : 1.0f;
</del><ins>+            float zoomFactor = document()-&gt;view() ? document()-&gt;view()-&gt;pageZoomFactor() : 1.0f;
</ins><span class="cx">             return m_imageLoader.image()-&gt;imageSize(zoomFactor).height();
</span><span class="cx">         }
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkWebCoreloaderImageDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/loader/ImageDocument.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/loader/ImageDocument.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/loader/ImageDocument.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -108,6 +108,12 @@
</span><span class="cx"> 
</span><span class="cx"> // --------
</span><span class="cx"> 
</span><ins>+static float pageZoomFactor(Document* document)
+{
+    FrameView* view = document-&gt;view();
+    return view ? view-&gt;pageZoomFactor() : 1;
+}
+
</ins><span class="cx"> void ImageTokenizer::write(const SegmentedString&amp;, bool)
</span><span class="cx"> {
</span><span class="cx">     // &lt;https://bugs.webkit.org/show_bug.cgi?id=25397&gt;: JS code can always call document.write, we need to handle it.
</span><span class="lines">@@ -145,7 +151,7 @@
</span><span class="cx"> 
</span><span class="cx">         cachedImage-&gt;setResponse(m_doc-&gt;frame()-&gt;loader()-&gt;documentLoader()-&gt;response());
</span><span class="cx"> 
</span><del>-        IntSize size = cachedImage-&gt;imageSize(m_doc-&gt;frame()-&gt;pageZoomFactor());
</del><ins>+        IntSize size = cachedImage-&gt;imageSize(pageZoomFactor(m_doc));
</ins><span class="cx">         if (size.width()) {
</span><span class="cx">             // Compute the title, we use the decoded filename of the resource, falling
</span><span class="cx">             // back on the (decoded) hostname if there is no path.
</span><span class="lines">@@ -220,8 +226,12 @@
</span><span class="cx">     if (!m_imageElement)
</span><span class="cx">         return 1.0f;
</span><span class="cx"> 
</span><del>-    IntSize imageSize = m_imageElement-&gt;cachedImage()-&gt;imageSize(frame()-&gt;pageZoomFactor());
-    IntSize windowSize = IntSize(frame()-&gt;view()-&gt;width(), frame()-&gt;view()-&gt;height());
</del><ins>+    FrameView* view = frame()-&gt;view();
+    if (!view)
+        return 1;
+
+    IntSize imageSize = m_imageElement-&gt;cachedImage()-&gt;imageSize(view-&gt;pageZoomFactor());
+    IntSize windowSize = IntSize(view-&gt;width(), view-&gt;height());
</ins><span class="cx">     
</span><span class="cx">     float widthScale = (float)windowSize.width() / imageSize.width();
</span><span class="cx">     float heightScale = (float)windowSize.height() / imageSize.height();
</span><span class="lines">@@ -234,7 +244,7 @@
</span><span class="cx">     if (!m_imageElement)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    IntSize imageSize = m_imageElement-&gt;cachedImage()-&gt;imageSize(frame()-&gt;pageZoomFactor());
</del><ins>+    IntSize imageSize = m_imageElement-&gt;cachedImage()-&gt;imageSize(pageZoomFactor(this));
</ins><span class="cx"> 
</span><span class="cx">     float scale = this-&gt;scale();
</span><span class="cx">     m_imageElement-&gt;setWidth(static_cast&lt;int&gt;(imageSize.width() * scale));
</span><span class="lines">@@ -274,7 +284,7 @@
</span><span class="cx">     if (m_imageSizeIsKnown)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    if (m_imageElement-&gt;cachedImage()-&gt;imageSize(frame()-&gt;pageZoomFactor()).isEmpty())
</del><ins>+    if (m_imageElement-&gt;cachedImage()-&gt;imageSize(pageZoomFactor(this)).isEmpty())
</ins><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     m_imageSizeIsKnown = true;
</span><span class="lines">@@ -290,8 +300,8 @@
</span><span class="cx">     if (!m_imageElement || !m_imageSizeIsKnown)
</span><span class="cx">         return;
</span><span class="cx">     
</span><del>-    m_imageElement-&gt;setWidth(m_imageElement-&gt;cachedImage()-&gt;imageSize(frame()-&gt;pageZoomFactor()).width());
-    m_imageElement-&gt;setHeight(m_imageElement-&gt;cachedImage()-&gt;imageSize(frame()-&gt;pageZoomFactor()).height());
</del><ins>+    m_imageElement-&gt;setWidth(m_imageElement-&gt;cachedImage()-&gt;imageSize(pageZoomFactor(this)).width());
+    m_imageElement-&gt;setHeight(m_imageElement-&gt;cachedImage()-&gt;imageSize(pageZoomFactor(this)).height());
</ins><span class="cx">     
</span><span class="cx">     ExceptionCode ec;
</span><span class="cx">     if (imageFitsInWindow())
</span><span class="lines">@@ -307,8 +317,10 @@
</span><span class="cx">     if (!m_imageElement)
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    IntSize imageSize = m_imageElement-&gt;cachedImage()-&gt;imageSize(frame()-&gt;pageZoomFactor());
-    IntSize windowSize = IntSize(frame()-&gt;view()-&gt;width(), frame()-&gt;view()-&gt;height());
</del><ins>+    FrameView* view = frame()-&gt;view();
+
+    IntSize imageSize = m_imageElement-&gt;cachedImage()-&gt;imageSize(view-&gt;pageZoomFactor());
+    IntSize windowSize = IntSize(view-&gt;width(), view-&gt;height());
</ins><span class="cx">     
</span><span class="cx">     return imageSize.width() &lt;= windowSize.width() &amp;&amp; imageSize.height() &lt;= windowSize.height();    
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkWebCorepageDOMWindowcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/page/DOMWindow.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/page/DOMWindow.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/page/DOMWindow.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -954,7 +954,7 @@
</span><span class="cx">     if (!view)
</span><span class="cx">         return 0;
</span><span class="cx">     
</span><del>-    return static_cast&lt;int&gt;(view-&gt;height() / m_frame-&gt;pageZoomFactor());
</del><ins>+    return static_cast&lt;int&gt;(view-&gt;height() / view-&gt;pageZoomFactor());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int DOMWindow::innerWidth() const
</span><span class="lines">@@ -966,7 +966,7 @@
</span><span class="cx">     if (!view)
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><del>-    return static_cast&lt;int&gt;(view-&gt;width() / m_frame-&gt;pageZoomFactor());
</del><ins>+    return static_cast&lt;int&gt;(view-&gt;width() / view-&gt;pageZoomFactor());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int DOMWindow::screenX() const
</span><span class="lines">@@ -1004,7 +1004,7 @@
</span><span class="cx"> 
</span><span class="cx">     m_frame-&gt;document()-&gt;updateLayoutIgnorePendingStylesheets();
</span><span class="cx"> 
</span><del>-    return static_cast&lt;int&gt;(view-&gt;scrollX() / m_frame-&gt;pageZoomFactor());
</del><ins>+    return static_cast&lt;int&gt;(view-&gt;scrollX() / view-&gt;pageZoomFactor());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int DOMWindow::scrollY() const
</span><span class="lines">@@ -1018,7 +1018,7 @@
</span><span class="cx"> 
</span><span class="cx">     m_frame-&gt;document()-&gt;updateLayoutIgnorePendingStylesheets();
</span><span class="cx"> 
</span><del>-    return static_cast&lt;int&gt;(view-&gt;scrollY() / m_frame-&gt;pageZoomFactor());
</del><ins>+    return static_cast&lt;int&gt;(view-&gt;scrollY() / view-&gt;pageZoomFactor());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool DOMWindow::closed() const
</span><span class="lines">@@ -1240,8 +1240,8 @@
</span><span class="cx">     if (!view)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    int zoomedX = static_cast&lt;int&gt;(x * m_frame-&gt;pageZoomFactor());
-    int zoomedY = static_cast&lt;int&gt;(y * m_frame-&gt;pageZoomFactor());
</del><ins>+    int zoomedX = static_cast&lt;int&gt;(x * view-&gt;pageZoomFactor());
+    int zoomedY = static_cast&lt;int&gt;(y * view-&gt;pageZoomFactor());
</ins><span class="cx">     view-&gt;setScrollPosition(IntPoint(zoomedX, zoomedY));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkWebCorepageDragControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/page/DragController.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/page/DragController.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/page/DragController.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -268,7 +268,8 @@
</span><span class="cx"> 
</span><span class="cx"> static Element* elementUnderMouse(Document* documentUnderMouse, const IntPoint&amp; p)
</span><span class="cx"> {
</span><del>-    float zoomFactor = documentUnderMouse-&gt;frame()-&gt;pageZoomFactor();
</del><ins>+    FrameView* view = documentUnderMouse-&gt;view();
+    float zoomFactor = view ? view-&gt;pageZoomFactor() : 1;
</ins><span class="cx">     IntPoint point = roundedIntPoint(FloatPoint(p.x() * zoomFactor, p.y() * zoomFactor));
</span><span class="cx"> 
</span><span class="cx">     HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active);
</span></span></pre></div>
<a id="trunkWebCorepageFramecpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/page/Frame.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/page/Frame.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/page/Frame.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -151,9 +151,6 @@
</span><span class="cx">     , m_isDisconnected(false)
</span><span class="cx">     , m_excludeFromTextSearch(false)
</span><span class="cx"> {
</span><del>-    Frame* parent = parentFromOwnerElement(ownerElement);
-    m_zoomFactor = parent ? parent-&gt;m_zoomFactor : 1.0f;
-
</del><span class="cx">     AtomicString::init();
</span><span class="cx">     HTMLNames::init();
</span><span class="cx">     QualifiedName::init();
</span><span class="lines">@@ -610,56 +607,6 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ZoomMode Frame::zoomMode() const
-{
-    return m_page-&gt;settings()-&gt;zoomMode();
-}
-
-bool Frame::shouldApplyTextZoom() const
-{
-    return m_zoomFactor != 1.0f &amp;&amp; zoomMode() == ZoomTextOnly;
-}
-
-bool Frame::shouldApplyPageZoom() const
-{
-    return m_zoomFactor != 1.0f &amp;&amp; zoomMode() == ZoomPage;
-}
-
-void Frame::setZoomFactor(float percent, ZoomMode mode)
-{
-    if (m_zoomFactor == percent &amp;&amp; zoomMode() == mode)
-        return;
-
-#if ENABLE(SVG)
-    // Respect SVGs zoomAndPan=&quot;disabled&quot; property in standalone SVG documents.
-    // FIXME: How to handle compound documents + zoomAndPan=&quot;disabled&quot;? Needs SVG WG clarification.
-    if (m_doc-&gt;isSVGDocument()) {
-        if (!static_cast&lt;SVGDocument*&gt;(m_doc.get())-&gt;zoomAndPanEnabled())
-            return;
-        if (m_doc-&gt;renderer())
-            m_doc-&gt;renderer()-&gt;setNeedsLayout(true);
-    }
-#endif
-
-    if (mode == ZoomPage) {
-        // Update the scroll position when doing a full page zoom, so the content stays in relatively the same position.
-        IntPoint scrollPosition = view()-&gt;scrollPosition();
-        float percentDifference = (percent / m_zoomFactor);
-        view()-&gt;setScrollPosition(IntPoint(scrollPosition.x() * percentDifference, scrollPosition.y() * percentDifference));
-    }
-
-    m_zoomFactor = percent;
-    m_page-&gt;settings()-&gt;setZoomMode(mode);
-
-    m_doc-&gt;recalcStyle(Node::Force);
-
-    for (Frame* child = tree()-&gt;firstChild(); child; child = child-&gt;tree()-&gt;nextSibling())
-        child-&gt;setZoomFactor(m_zoomFactor, mode);
-
-    if (m_doc-&gt;renderer() &amp;&amp; m_doc-&gt;renderer()-&gt;needsLayout() &amp;&amp; view()-&gt;didFirstLayout())
-        view()-&gt;layout();
-}
-
</del><span class="cx"> void Frame::setPrinting(bool printing, float minPageWidth, float maxPageWidth, bool adjustViewSize)
</span><span class="cx"> {
</span><span class="cx">     m_doc-&gt;setPrinting(printing);
</span><span class="lines">@@ -934,12 +881,6 @@
</span><span class="cx">         applyEditingStyleToElement(static_cast&lt;Element*&gt;(list-&gt;item(i)));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Frame::removeEditingStyleFromBodyElement() const
-{
-    // FIXME: This function does nothing. We should either implement it
-    // or remove it along with all call sites.
-}
-
</del><span class="cx"> void Frame::applyEditingStyleToElement(Element* element) const
</span><span class="cx"> {
</span><span class="cx">     if (!element)
</span></span></pre></div>
<a id="trunkWebCorepageFrameh"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/page/Frame.h (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/page/Frame.h        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/page/Frame.h        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -149,9 +149,9 @@
</span><span class="cx">         void setInViewSourceMode(bool = true);
</span><span class="cx"> 
</span><span class="cx">         void keepAlive(); // Used to keep the frame alive when running a script that might destroy it.
</span><del>-    #ifndef NDEBUG
</del><ins>+#ifndef NDEBUG
</ins><span class="cx">         static void cancelAllKeepAlive();
</span><del>-    #endif
</del><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx">         void setDocument(PassRefPtr&lt;Document&gt;);
</span><span class="cx"> 
</span><span class="lines">@@ -189,17 +189,6 @@
</span><span class="cx">     private:
</span><span class="cx">         void lifeSupportTimerFired(Timer&lt;Frame&gt;*);
</span><span class="cx"> 
</span><del>-    // === to be moved into FrameView
-
-    public:
-        void setZoomFactor(float scale, ZoomMode);
-        float zoomFactor() const;
-        ZoomMode zoomMode() const;
-        bool shouldApplyTextZoom() const;
-        bool shouldApplyPageZoom() const;
-        float pageZoomFactor() const { return shouldApplyPageZoom() ? zoomFactor() : 1.0f; }
-        float textZoomFactor() const { return shouldApplyTextZoom() ? zoomFactor() : 1.0f; }
-
</del><span class="cx">     // === to be moved into Chrome
</span><span class="cx"> 
</span><span class="cx">     public:
</span><span class="lines">@@ -225,7 +214,6 @@
</span><span class="cx">         void computeAndSetTypingStyle(CSSStyleDeclaration* , EditAction = EditActionUnspecified);
</span><span class="cx">         String selectionStartStylePropertyValue(int stylePropertyID) const;
</span><span class="cx">         void applyEditingStyleToBodyElement() const;
</span><del>-        void removeEditingStyleFromBodyElement() const;
</del><span class="cx">         void applyEditingStyleToElement(Element*) const;
</span><span class="cx"> 
</span><span class="cx">         IntRect firstRectForRange(Range*) const;
</span><span class="lines">@@ -285,9 +273,10 @@
</span><span class="cx"> 
</span><span class="cx">         VisiblePosition visiblePositionForPoint(const IntPoint&amp; framePoint);
</span><span class="cx">         Document* documentAtPoint(const IntPoint&amp; windowPoint);
</span><del>-        
-    private:
</del><ins>+
</ins><span class="cx"> #if ENABLE(TILED_BACKING_STORE)
</span><ins>+
+    private:
</ins><span class="cx">         // TiledBackingStoreClient interface
</span><span class="cx">         virtual void tiledBackingStorePaintBegin();
</span><span class="cx">         virtual void tiledBackingStorePaint(GraphicsContext*, const IntRect&amp;);
</span><span class="lines">@@ -296,7 +285,7 @@
</span><span class="cx">         virtual IntRect tiledBackingStoreVisibleRect();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    #if PLATFORM(MAC)
</del><ins>+#if PLATFORM(MAC)
</ins><span class="cx"> 
</span><span class="cx">     // === undecided, would like to consider moving to another class
</span><span class="cx"> 
</span><span class="lines">@@ -305,9 +294,9 @@
</span><span class="cx">         NSString* searchForLabelsBeforeElement(NSArray* labels, Element*, size_t* resultDistance, bool* resultIsInCellAbove);
</span><span class="cx">         NSString* matchLabelsAgainstElement(NSArray* labels, Element*);
</span><span class="cx"> 
</span><del>-    #if ENABLE(DASHBOARD_SUPPORT)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">         NSMutableDictionary* dashboardRegionsDictionary();
</span><del>-    #endif
</del><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx">         NSImage* selectionImage(bool forceBlackText = false) const;
</span><span class="cx">         NSImage* snapshotDragImage(Node*, NSRect* imageRect, NSRect* elementRect) const;
</span><span class="lines">@@ -322,15 +311,15 @@
</span><span class="cx">         NSDictionary* fontAttributesForSelectionStart() const;
</span><span class="cx">         NSWritingDirection baseWritingDirectionForSelectionStart() const;
</span><span class="cx"> 
</span><del>-    #endif
</del><ins>+#endif
</ins><span class="cx"> 
</span><del>-    #if PLATFORM(WIN)
</del><ins>+#if PLATFORM(WIN)
</ins><span class="cx"> 
</span><span class="cx">     public:
</span><span class="cx">         // FIXME - We should have a single version of nodeImage instead of using platform types.
</span><span class="cx">         HBITMAP nodeImage(Node*) const;
</span><span class="cx"> 
</span><del>-    #endif
</del><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx">     private:
</span><span class="cx">         Page* m_page;
</span><span class="lines">@@ -350,8 +339,6 @@
</span><span class="cx">         String m_kjsStatusBarText;
</span><span class="cx">         String m_kjsDefaultStatusBarText;
</span><span class="cx"> 
</span><del>-        float m_zoomFactor;
-
</del><span class="cx">         mutable SelectionController m_selectionController;
</span><span class="cx">         mutable VisibleSelection m_mark;
</span><span class="cx">         mutable Editor m_editor;
</span><span class="lines">@@ -437,11 +424,6 @@
</span><span class="cx">         m_mark = s;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    inline float Frame::zoomFactor() const
-    {
-        return m_zoomFactor;
-    }
-
</del><span class="cx">     inline String Frame::jsStatusBarText() const
</span><span class="cx">     {
</span><span class="cx">         return m_kjsStatusBarText;
</span></span></pre></div>
<a id="trunkWebCorepageFrameViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/page/FrameView.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/page/FrameView.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/page/FrameView.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -107,6 +107,17 @@
</span><span class="cx">     RefPtr&lt;Node&gt; m_eventTarget;
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+static inline float parentZoomFactor(Frame* frame)
+{
+    Frame* parent = frame-&gt;tree()-&gt;parent();
+    if (!parent)
+        return 1;
+    FrameView* parentView = parent-&gt;view();
+    if (!parentView)
+        return 1;
+    return parentView-&gt;zoomFactor();
+}
+
</ins><span class="cx"> FrameView::FrameView(Frame* frame)
</span><span class="cx">     : m_frame(frame)
</span><span class="cx">     , m_canHaveScrollbars(true)
</span><span class="lines">@@ -128,6 +139,7 @@
</span><span class="cx">     , m_deferSetNeedsLayouts(0)
</span><span class="cx">     , m_setNeedsLayoutWasDeferred(false)
</span><span class="cx">     , m_scrollCorner(0)
</span><ins>+    , m_zoomFactor(parentZoomFactor(frame))
</ins><span class="cx"> {
</span><span class="cx">     init();
</span><span class="cx"> }
</span><span class="lines">@@ -2130,4 +2142,72 @@
</span><span class="cx">     return parentPoint;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+bool FrameView::shouldApplyTextZoom() const
+{
+    if (m_zoomFactor == 1)
+        return false;
+    if (!m_frame)
+        return false;
+    Page* page = m_frame-&gt;page();
+    return page &amp;&amp; page-&gt;settings()-&gt;zoomMode() == ZoomTextOnly;
+}
+
+bool FrameView::shouldApplyPageZoom() const
+{
+    if (m_zoomFactor == 1)
+        return false;
+    if (!m_frame)
+        return false;
+    Page* page = m_frame-&gt;page();
+    return page &amp;&amp; page-&gt;settings()-&gt;zoomMode() == ZoomPage;
+}
+
+void FrameView::setZoomFactor(float percent, ZoomMode mode)
+{
+    if (!m_frame)
+        return;
+
+    Page* page = m_frame-&gt;page();
+    if (!page)
+        return;
+
+    if (m_zoomFactor == percent &amp;&amp; page-&gt;settings()-&gt;zoomMode() == mode)
+        return;
+
+    Document* document = m_frame-&gt;document();
+    if (!document)
+        return;
+
+#if ENABLE(SVG)
+    // Respect SVGs zoomAndPan=&quot;disabled&quot; property in standalone SVG documents.
+    // FIXME: How to handle compound documents + zoomAndPan=&quot;disabled&quot;? Needs SVG WG clarification.
+    if (document-&gt;isSVGDocument()) {
+        if (!static_cast&lt;SVGDocument*&gt;(document)-&gt;zoomAndPanEnabled())
+            return;
+        if (document-&gt;renderer())
+            document-&gt;renderer()-&gt;setNeedsLayout(true);
+    }
+#endif
+
+    if (mode == ZoomPage) {
+        // Update the scroll position when doing a full page zoom, so the content stays in relatively the same position.
+        IntPoint scrollPosition = this-&gt;scrollPosition();
+        float percentDifference = (percent / m_zoomFactor);
+        setScrollPosition(IntPoint(scrollPosition.x() * percentDifference, scrollPosition.y() * percentDifference));
+    }
+
+    m_zoomFactor = percent;
+    page-&gt;settings()-&gt;setZoomMode(mode);
+
+    document-&gt;recalcStyle(Node::Force);
+
+    for (Frame* child = m_frame-&gt;tree()-&gt;firstChild(); child; child = child-&gt;tree()-&gt;nextSibling()) {
+        if (FrameView* childView = child-&gt;view())
+            childView-&gt;setZoomFactor(m_zoomFactor, mode);
+    }
+
+    if (document-&gt;renderer() &amp;&amp; document-&gt;renderer()-&gt;needsLayout() &amp;&amp; didFirstLayout())
+        layout();
+}
+
</ins><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkWebCorepageFrameViewh"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/page/FrameView.h (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/page/FrameView.h        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/page/FrameView.h        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -214,6 +214,13 @@
</span><span class="cx">     bool isFrameViewScrollCorner(RenderScrollbarPart* scrollCorner) const { return m_scrollCorner == scrollCorner; }
</span><span class="cx">     void invalidateScrollCorner();
</span><span class="cx"> 
</span><ins>+    void setZoomFactor(float scale, ZoomMode);
+    float zoomFactor() const { return m_zoomFactor; }
+    bool shouldApplyTextZoom() const;
+    bool shouldApplyPageZoom() const;
+    float pageZoomFactor() const { return shouldApplyPageZoom() ? m_zoomFactor : 1.0f; }
+    float textZoomFactor() const { return shouldApplyTextZoom() ? m_zoomFactor : 1.0f; }
+
</ins><span class="cx"> private:
</span><span class="cx">     FrameView(Frame*);
</span><span class="cx"> 
</span><span class="lines">@@ -287,7 +294,8 @@
</span><span class="cx">     unsigned m_slowRepaintObjectCount;
</span><span class="cx">     unsigned m_fixedObjectCount;
</span><span class="cx"> 
</span><del>-    int m_borderX, m_borderY;
</del><ins>+    int m_borderX;
+    int m_borderY;
</ins><span class="cx"> 
</span><span class="cx">     Timer&lt;FrameView&gt; m_layoutTimer;
</span><span class="cx">     bool m_delayedLayout;
</span><span class="lines">@@ -343,6 +351,8 @@
</span><span class="cx"> 
</span><span class="cx">     // Renderer to hold our custom scroll corner.
</span><span class="cx">     RenderScrollbarPart* m_scrollCorner;
</span><ins>+
+    float m_zoomFactor;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span></span></pre></div>
<a id="trunkWebCorerenderingRenderViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/rendering/RenderView.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/rendering/RenderView.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/rendering/RenderView.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -644,10 +644,9 @@
</span><span class="cx"> 
</span><span class="cx"> float RenderView::zoomFactor() const
</span><span class="cx"> {
</span><del>-    if (m_frameView-&gt;frame() &amp;&amp; m_frameView-&gt;frame()-&gt;shouldApplyPageZoom())
-        return m_frameView-&gt;frame()-&gt;zoomFactor();
-
-    return 1.0f;
</del><ins>+    if (!m_frameView-&gt;shouldApplyPageZoom())
+        return 1;
+    return m_frameView-&gt;zoomFactor();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // The idea here is to take into account what object is moving the pagination point, and
</span></span></pre></div>
<a id="trunkWebCoresvgSVGSVGElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebCore/svg/SVGSVGElement.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebCore/svg/SVGSVGElement.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebCore/svg/SVGSVGElement.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;FloatConversion.h&quot;
</span><span class="cx"> #include &quot;FloatRect.h&quot;
</span><del>-#include &quot;Frame.h&quot;
</del><ins>+#include &quot;FrameView.h&quot;
</ins><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="cx"> #include &quot;RenderSVGRoot.h&quot;
</span><span class="cx"> #include &quot;RenderSVGViewportContainer.h&quot;
</span><span class="lines">@@ -188,18 +188,18 @@
</span><span class="cx"> float SVGSVGElement::currentScale() const
</span><span class="cx"> {
</span><span class="cx">     // Only the page zoom factor is relevant for SVG
</span><del>-    if (Frame* frame = document()-&gt;frame())
-        return frame-&gt;pageZoomFactor();
</del><ins>+    if (FrameView* view = document()-&gt;view())
+        return view-&gt;pageZoomFactor();
</ins><span class="cx">     return m_scale;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SVGSVGElement::setCurrentScale(float scale)
</span><span class="cx"> {
</span><del>-    if (Frame* frame = document()-&gt;frame()) {
</del><ins>+    if (FrameView* view = document()-&gt;view()) {
</ins><span class="cx">         // Calling setCurrentScale() on the outermost &lt;svg&gt; element in a standalone SVG document
</span><span class="cx">         // is allowed to change the page zoom factor, influencing the document size, scrollbars etc.
</span><span class="cx">         if (parentNode() == document())
</span><del>-            frame-&gt;setZoomFactor(scale, ZoomPage);
</del><ins>+            view-&gt;setZoomFactor(scale, ZoomPage);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/ChangeLog (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/ChangeLog        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/ChangeLog        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2010-05-24  Darin Adler  &lt;darin@apple.com&gt;
+
+        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.
+
</ins><span class="cx"> 2010-05-15  Leandro Pereira  &lt;leandro@profusion.mobi&gt;
</span><span class="cx"> 
</span><span class="cx">         Reviewed by Adam Treat.
</span></span></pre></div>
<a id="trunkWebKitchromiumChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/chromium/ChangeLog (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/chromium/ChangeLog        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/chromium/ChangeLog        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2010-05-24  Darin Adler  &lt;darin@apple.com&gt;
+
+        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.
+
</ins><span class="cx"> 2010-05-24  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Attempt to fix the Chromium build.
</span></span></pre></div>
<a id="trunkWebKitchromiumsrcWebViewImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/chromium/src/WebViewImpl.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/chromium/src/WebViewImpl.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/chromium/src/WebViewImpl.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -1461,9 +1461,12 @@
</span><span class="cx">                           maxTextSizeMultiplier),
</span><span class="cx">                  minTextSizeMultiplier));
</span><span class="cx">     Frame* frame = mainFrameImpl()-&gt;frame();
</span><ins>+    FrameView* view = frame-&gt;view();
+    if (!view)
+        return m_zoomLevel;
</ins><span class="cx">     if (zoomFactor != frame-&gt;zoomFactor()) {
</span><span class="cx">         m_zoomLevel = zoomLevel;
</span><del>-        frame-&gt;setZoomFactor(zoomFactor, textOnly ? ZoomTextOnly : ZoomPage);
</del><ins>+        view-&gt;setZoomFactor(zoomFactor, textOnly ? ZoomTextOnly : ZoomPage);
</ins><span class="cx">     }
</span><span class="cx">     return m_zoomLevel;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkWebKiteflewkewk_framecpp"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/efl/ewk/ewk_frame.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/efl/ewk/ewk_frame.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/efl/ewk/ewk_frame.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -634,8 +634,6 @@
</span><span class="cx">         return EINA_TRUE;
</span><span class="cx">     if (editable)
</span><span class="cx">         sd-&gt;frame-&gt;applyEditingStyleToBodyElement();
</span><del>-    else
-        sd-&gt;frame-&gt;removeEditingStyleFromBodyElement();
</del><span class="cx">     return EINA_TRUE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -971,7 +969,10 @@
</span><span class="cx"> {
</span><span class="cx">     EWK_FRAME_SD_GET_OR_RETURN(o, sd, -1.0);
</span><span class="cx">     EINA_SAFETY_ON_NULL_RETURN_VAL(sd-&gt;frame, -1.0);
</span><del>-    return sd-&gt;frame-&gt;zoomFactor();
</del><ins>+    FrameView* view = sd-&gt;frame-&gt;view();
+    if (!view)
+        return -1;
+    return view-&gt;zoomFactor();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><span class="lines">@@ -993,7 +994,10 @@
</span><span class="cx">         zoomMode = WebCore::ZoomTextOnly;
</span><span class="cx">     else
</span><span class="cx">         zoomMode = WebCore::ZoomPage;
</span><del>-    sd-&gt;frame-&gt;setZoomFactor(zoom, zoomMode);
</del><ins>+    FrameView* view = sd-&gt;frame-&gt;view();
+    if (!view)
+        return EINA_FALSE;
+    view-&gt;setZoomFactor(zoom, zoomMode);
</ins><span class="cx">     return EINA_TRUE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1032,7 +1036,10 @@
</span><span class="cx">         zoomMode = WebCore::ZoomTextOnly;
</span><span class="cx">     else
</span><span class="cx">         zoomMode = WebCore::ZoomPage;
</span><del>-    sd-&gt;frame-&gt;setZoomFactor(sd-&gt;frame-&gt;zoomFactor(), zoomMode);
</del><ins>+    FrameView* view = sd-&gt;frame-&gt;view();
+    if (!view)
+        return EINA_FALSE;
+    view-&gt;setZoomFactor(view-&gt;zoomFactor(), zoomMode);
</ins><span class="cx">     return EINA_TRUE;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkWebKitgtkChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/gtk/ChangeLog (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/gtk/ChangeLog        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/gtk/ChangeLog        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2010-05-24  Darin Adler  &lt;darin@apple.com&gt;
+
+        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.
+
</ins><span class="cx"> 2010-05-22  Martin Robinson  &lt;mrobinson@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Reviewed by Xan Lopez.
</span></span></pre></div>
<a id="trunkWebKitgtkwebkitwebkitwebviewcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/gtk/webkit/webkitwebview.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/gtk/webkit/webkitwebview.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/gtk/webkit/webkitwebview.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -3636,8 +3636,7 @@
</span><span class="cx">         // TODO: If the WebKitWebView is made editable and the selection is empty, set it to something.
</span><span class="cx">         //if (!webkit_web_view_get_selected_dom_range(webView))
</span><span class="cx">         //    mainFrame-&gt;setSelectionFromNone();
</span><del>-    } else
-        frame-&gt;removeEditingStyleFromBodyElement();
</del><ins>+    }
</ins><span class="cx">     g_object_notify(G_OBJECT(webView), &quot;editable&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -3761,7 +3760,11 @@
</span><span class="cx">     if (!frame)
</span><span class="cx">         return 1.0f;
</span><span class="cx"> 
</span><del>-    return frame-&gt;zoomFactor();
</del><ins>+    FrameView* view = frame-&gt;view();
+    if (!view)
+        return 1;
+
+    return view-&gt;zoomFactor();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static void webkit_web_view_apply_zoom_level(WebKitWebView* webView, gfloat zoomLevel)
</span><span class="lines">@@ -3770,8 +3773,12 @@
</span><span class="cx">     if (!frame)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><ins>+    FrameView* view = frame-&gt;view();
+    if (!view)
+        return;
+
</ins><span class="cx">     WebKitWebViewPrivate* priv = webView-&gt;priv;
</span><del>-    frame-&gt;setZoomFactor(zoomLevel, priv-&gt;zoomFullContent ? ZoomPage : ZoomTextOnly);
</del><ins>+    view-&gt;setZoomFactor(zoomLevel, priv-&gt;zoomFullContent ? ZoomPage : ZoomTextOnly);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span></span></pre></div>
<a id="trunkWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/mac/ChangeLog (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/mac/ChangeLog        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/mac/ChangeLog        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2010-05-24  Darin Adler  &lt;darin@apple.com&gt;
+
+        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.
+
</ins><span class="cx"> 2010-05-21  David Hyatt  &lt;hyatt@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Reviewed by Dan Bernstein.
</span></span></pre></div>
<a id="trunkWebKitmacWebViewWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/mac/WebView/WebView.mm (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/mac/WebView/WebView.mm        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/mac/WebView/WebView.mm        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -3183,19 +3183,22 @@
</span><span class="cx">     return [self _realZoomMultiplierIsTextOnly] ? _private-&gt;zoomMultiplier : 1.0f;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)_setZoomMultiplier:(float)m isTextOnly:(BOOL)isTextOnly
</del><ins>+- (void)_setZoomMultiplier:(float)multiplier isTextOnly:(BOOL)isTextOnly
</ins><span class="cx"> {
</span><span class="cx">     // NOTE: This has no visible effect when viewing a PDF (see &lt;rdar://problem/4737380&gt;)
</span><del>-    _private-&gt;zoomMultiplier = m;
</del><ins>+    _private-&gt;zoomMultiplier = multiplier;
+
</ins><span class="cx">     ASSERT(_private-&gt;page);
</span><span class="cx">     if (_private-&gt;page)
</span><span class="cx">         _private-&gt;page-&gt;settings()-&gt;setZoomMode(isTextOnly ? ZoomTextOnly : ZoomPage);
</span><del>-    
-    // FIXME: it would be nice to rework this code so that _private-&gt;zoomMultiplier doesn't exist and callers
-    // all access _private-&gt;page-&gt;settings().
</del><ins>+
+    // FIXME: It would be nice to rework this code so that _private-&gt;zoomMultiplier doesn't exist
+    // and instead FrameView::zoomFactor is used.
</ins><span class="cx">     Frame* coreFrame = [self _mainCoreFrame];
</span><del>-    if (coreFrame)
-        coreFrame-&gt;setZoomFactor(m, isTextOnly ? ZoomTextOnly : ZoomPage);
</del><ins>+    if (coreFrame) {
+        if (FrameView* view = coreFrame-&gt;view())
+            view-&gt;setZoomFactor(multiplier, isTextOnly ? ZoomTextOnly : ZoomPage);
+    }
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (float)_zoomMultiplier:(BOOL)isTextOnly
</span><span class="lines">@@ -4664,8 +4667,7 @@
</span><span class="cx">                 // If the WebView is made editable and the selection is empty, set it to something.
</span><span class="cx">                 if (![self selectedDOMRange])
</span><span class="cx">                     mainFrame-&gt;setSelectionFromNone();
</span><del>-            } else
-                mainFrame-&gt;removeEditingStyleFromBodyElement();
</del><ins>+            }
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkWebKitqtApiqwebframecpp"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/qt/Api/qwebframe.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/qt/Api/qwebframe.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/qt/Api/qwebframe.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -1079,7 +1079,11 @@
</span><span class="cx"> */
</span><span class="cx"> void QWebFrame::setTextSizeMultiplier(qreal factor)
</span><span class="cx"> {
</span><del>-    d-&gt;frame-&gt;setZoomFactor(factor, ZoomTextOnly);
</del><ins>+    FrameView* view = d-&gt;frame-&gt;view();
+    if (!view)
+        return;
+
+    view-&gt;setZoomFactor(factor, ZoomTextOnly);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /*!
</span><span class="lines">@@ -1087,7 +1091,11 @@
</span><span class="cx"> */
</span><span class="cx"> qreal QWebFrame::textSizeMultiplier() const
</span><span class="cx"> {
</span><del>-    return d-&gt;frame-&gt;zoomFactor();
</del><ins>+    FrameView* view = d-&gt;frame-&gt;view();
+    if (!view)
+        return 1;
+
+    return view-&gt;zoomFactor();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /*!
</span><span class="lines">@@ -1098,12 +1106,24 @@
</span><span class="cx"> 
</span><span class="cx"> void QWebFrame::setZoomFactor(qreal factor)
</span><span class="cx"> {
</span><del>-    d-&gt;frame-&gt;setZoomFactor(factor, d-&gt;frame-&gt;zoomMode());
</del><ins>+    Page* page = d-&gt;frame-&gt;page();
+    if (!page)
+        return;
+
+    FrameView* view = d-&gt;frame-&gt;view();
+    if (!view)
+        return;
+
+    view-&gt;setZoomFactor(factor, page-&gt;settings()-&gt;zoomMode());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> qreal QWebFrame::zoomFactor() const
</span><span class="cx"> {
</span><del>-    return d-&gt;frame-&gt;zoomFactor();
</del><ins>+    FrameView* view = d-&gt;frame-&gt;view();
+    if (!view)
+        return 1;
+
+    return view-&gt;zoomFactor();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /*!
</span></span></pre></div>
<a id="trunkWebKitqtApiqwebpagecpp"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/qt/Api/qwebpage.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/qt/Api/qwebpage.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/qt/Api/qwebpage.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -2638,8 +2638,7 @@
</span><span class="cx">                 frame-&gt;applyEditingStyleToBodyElement();
</span><span class="cx">                 // FIXME: mac port calls this if there is no selectedDOMRange
</span><span class="cx">                 //frame-&gt;setSelectionFromNone();
</span><del>-            } else
-                frame-&gt;removeEditingStyleFromBodyElement();
</del><ins>+            }
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         d-&gt;updateEditorActions();
</span></span></pre></div>
<a id="trunkWebKitqtChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/qt/ChangeLog (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/qt/ChangeLog        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/qt/ChangeLog        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -1,3 +1,19 @@
</span><ins>+2010-05-24  Darin Adler  &lt;darin@apple.com&gt;
+
+        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.
+
</ins><span class="cx"> 2010-05-23  Noam Rosenthal  &lt;noam.rosenthal@nokia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Reviewed by Kenneth Rohde Christiansen.
</span></span></pre></div>
<a id="trunkWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/win/ChangeLog (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/win/ChangeLog        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/win/ChangeLog        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2010-05-24  Darin Adler  &lt;darin@apple.com&gt;
+
+        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.
+
</ins><span class="cx"> 2010-05-24  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Yet another Windows build fix.
</span></span></pre></div>
<a id="trunkWebKitwinWebFramecpp"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/win/WebFrame.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/win/WebFrame.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/win/WebFrame.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -1103,7 +1103,9 @@
</span><span class="cx"> {
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     ASSERT(coreFrame);
</span><del>-    coreFrame-&gt;setZoomFactor(multiplier, ZoomTextOnly);
</del><ins>+
+    if (FrameView* view = coreFrame-&gt;view())
+        view-&gt;setZoomFactor(multiplier, ZoomTextOnly);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT WebFrame::inViewSourceMode(BOOL* flag)
</span></span></pre></div>
<a id="trunkWebKitwinWebViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/win/WebView.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/win/WebView.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/win/WebView.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -2912,8 +2912,10 @@
</span><span class="cx"> {
</span><span class="cx">     m_zoomMultiplier = multiplier;
</span><span class="cx">     m_page-&gt;settings()-&gt;setZoomMode(isTextOnly ? ZoomTextOnly : ZoomPage);
</span><del>-    if (Frame* coreFrame = core(m_mainFrame))
-        coreFrame-&gt;setZoomFactor(multiplier, isTextOnly ? ZoomTextOnly : ZoomPage);
</del><ins>+    if (Frame* coreFrame = core(m_mainFrame)) {
+        if (FrameView* view = coreFrame-&gt;view())
+            view-&gt;setZoomFactor(multiplier, isTextOnly ? ZoomTextOnly : ZoomPage);
+    }
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT STDMETHODCALLTYPE WebView::textSizeMultiplier( 
</span></span></pre></div>
<a id="trunkWebKitwxChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/wx/ChangeLog (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/wx/ChangeLog        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/wx/ChangeLog        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2010-05-24  Darin Adler  &lt;darin@apple.com&gt;
+
+        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.
+
</ins><span class="cx"> 2010-05-11  Kevin Watters  &lt;kevinwatters@gmail.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Reviewed by Kevin Ollivier.
</span></span></pre></div>
<a id="trunkWebKitwxWebFramecpp"></a>
<div class="modfile"><h4>Modified: trunk/WebKit/wx/WebFrame.cpp (60103 => 60104)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/WebKit/wx/WebFrame.cpp        2010-05-25 00:24:44 UTC (rev 60103)
+++ trunk/WebKit/wx/WebFrame.cpp        2010-05-25 00:33:16 UTC (rev 60104)
</span><span class="lines">@@ -305,7 +305,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool wxWebFrame::CanIncreaseTextSize() const
</span><span class="cx"> {
</span><del>-    if (m_impl-&gt;frame) {
</del><ins>+    if (m_impl-&gt;frame &amp;&amp; m_impl-&gt;frame-&gt;view()) {
</ins><span class="cx">         if (m_textMagnifier*TextSizeMultiplierRatio &lt;= MaximumTextSizeMultiplier)
</span><span class="cx">             return true;
</span><span class="cx">     }
</span><span class="lines">@@ -316,13 +316,13 @@
</span><span class="cx"> {
</span><span class="cx">     if (CanIncreaseTextSize()) {
</span><span class="cx">         m_textMagnifier = m_textMagnifier*TextSizeMultiplierRatio;
</span><del>-        m_impl-&gt;frame-&gt;setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
</del><ins>+        m_impl-&gt;frame-&gt;view()-&gt;setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool wxWebFrame::CanDecreaseTextSize() const
</span><span class="cx"> {
</span><del>-    if (m_impl-&gt;frame) {
</del><ins>+    if (m_impl-&gt;frame &amp;&amp; m_impl-&gt;frame-&gt;view()) {
</ins><span class="cx">         if (m_textMagnifier/TextSizeMultiplierRatio &gt;= MinimumTextSizeMultiplier)
</span><span class="cx">             return true;
</span><span class="cx">     }
</span><span class="lines">@@ -333,15 +333,15 @@
</span><span class="cx"> {        
</span><span class="cx">     if (CanDecreaseTextSize()) {
</span><span class="cx">         m_textMagnifier = m_textMagnifier/TextSizeMultiplierRatio;
</span><del>-        m_impl-&gt;frame-&gt;setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
</del><ins>+        m_impl-&gt;frame-&gt;view()-&gt;setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void wxWebFrame::ResetTextSize()
</span><span class="cx"> {
</span><span class="cx">     m_textMagnifier = 1.0;
</span><del>-    if (m_impl-&gt;frame)
-        m_impl-&gt;frame-&gt;setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
</del><ins>+    if (m_impl-&gt;frame &amp;&amp; m_impl-&gt;frame-&gt;view())
+        m_impl-&gt;frame-&gt;view()-&gt;setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void wxWebFrame::MakeEditable(bool enable)
</span></span></pre>
</div>
</div>

</body>
</html>