<!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 <darin@apple.com>
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@apple.com>
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@apple.com>
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@apple.com>
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@apple.com>
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@apple.com>
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@apple.com>
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@apple.com>
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 <darin@apple.com>
+
+ 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 <jer.noble@apple.com>
</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<RenderStyle> CSSStyleSelector::styleForDocument(Document* document)
</span><span class="cx"> {
</span><ins>+ FrameView* view = document->view();
+
</ins><span class="cx"> RefPtr<RenderStyle> documentStyle = RenderStyle::create();
</span><span class="cx"> documentStyle->setDisplay(BLOCK);
</span><span class="cx"> documentStyle->setVisuallyOrdered(document->visuallyOrdered());
</span><del>- documentStyle->setZoom(document->frame()->pageZoomFactor());
</del><ins>+ documentStyle->setZoom(view ? view->pageZoomFactor() : 1);
</ins><span class="cx">
</span><span class="cx"> FontDescription fontDescription;
</span><span class="cx"> fontDescription.setUsePrinterFont(document->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->textSizeAdjust() && m_checker.m_document->frame() && m_checker.m_document->frame()->shouldApplyTextZoom())
- multiplier *= m_checker.m_document->frame()->textZoomFactor();
</del><ins>+ if (m_style->textSizeAdjust()) {
+ if (FrameView* view = m_checker.m_document->view()) {
+ if (view->shouldApplyTextZoom())
+ multiplier *= view->textZoomFactor();
+ }
+ }
</ins><span class="cx"> lineHeight = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, multiplier), Fixed);
</span><span class="cx"> } else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
</span><span class="cx"> lineHeight = Length((m_style->fontSize() * primitiveValue->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->effectiveZoom();
</span><del>- if (document->frame() && document->frame()->shouldApplyTextZoom())
- zoomFactor *= document->frame()->textZoomFactor();
</del><ins>+ if (document->view() && document->view()->shouldApplyTextZoom())
+ zoomFactor *= document->view()->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->pageZoomFactor();
</del><ins>+ float zoomFactor = frameView->pageZoomFactor();
</ins><span class="cx"> IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor + view()->scrollX(), y * zoomFactor + view()->scrollY()));
</span><span class="cx">
</span><span class="cx"> if (!frameView->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->pageZoomFactor();
</del><ins>+ float zoomFactor = frameView->pageZoomFactor();
</ins><span class="cx"> IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor + view()->scrollX(), y * zoomFactor + view()->scrollY()));
</span><span class="cx">
</span><span class="cx"> if (!frameView->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->view();
</span><span class="cx"> if (!frameView)
</span><span class="cx"> return 0;
</span><del>- return frameView->scrollX() / frame->pageZoomFactor();
</del><ins>+ return frameView->scrollX() / frameView->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->view();
</span><span class="cx"> if (!frameView)
</span><span class="cx"> return 0;
</span><del>- return frameView->scrollY() / frame->pageZoomFactor();
</del><ins>+ return frameView->scrollY() / frameView->pageZoomFactor();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> MouseRelatedEvent::MouseRelatedEvent(const AtomicString& eventType, bool canBubble, bool cancelable, PassRefPtr<AbstractView> 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->view();
+ if (!window)
+ return 1;
+ Frame* frame = window->frame();
+ if (!frame)
+ return 1;
+ FrameView* view = frame->view();
+ if (!view)
+ return 1;
+ return view->pageZoomFactor();
+}
+
</ins><span class="cx"> void MouseRelatedEvent::computePageLocation()
</span><span class="cx"> {
</span><del>- float zoomFactor = (view() && view()->frame()) ? view()->frame()->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->renderer()) {
</span><span class="cx"> FloatPoint localPos = r->absoluteToLocal(absoluteLocation(), false, true);
</span><del>- float zoomFactor = (view() && view()->frame()) ? view()->frame()->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()->frame()) {
- float pageZoom = frame->pageZoomFactor();
</del><ins>+ if (FrameView* view = document()->view()) {
+ float pageZoom = view->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()->frame()) {
- float pageZoom = frame->pageZoomFactor();
</del><ins>+ if (FrameView* view = document()->view()) {
+ float pageZoom = view->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->view();
</span><span class="cx"> if (!frameView)
</span><span class="cx"> return 0;
</span><del>- return frameView->scrollX() / frame->pageZoomFactor();
</del><ins>+ return frameView->scrollX() / frameView->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->view();
</span><span class="cx"> if (!frameView)
</span><span class="cx"> return 0;
</span><del>- return frameView->scrollY() / frame->pageZoomFactor();
</del><ins>+ return frameView->scrollY() / frameView->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->frame()->zoomFactor();
</del><ins>+ float zoomFactor = frameView->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()->view();
- if (sview) {
- // Update the document's layout
- document()->updateLayoutIgnorePendingStylesheets();
- sview->setScrollPosition(IntPoint(static_cast<int>(scrollLeft * sview->frame()->zoomFactor()), sview->scrollY()));
- }
</del><ins>+ Document* document = this->document();
+ document->updateLayoutIgnorePendingStylesheets();
+ FrameView* view = document->view();
+ if (!view)
+ return;
+ view->setScrollPosition(IntPoint(static_cast<int>(scrollLeft * view->zoomFactor()), view->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()->view();
- if (sview) {
- // Update the document's layout
- document()->updateLayoutIgnorePendingStylesheets();
- sview->setScrollPosition(IntPoint(sview->scrollX(), static_cast<int>(scrollTop * sview->frame()->zoomFactor())));
- }
</del><ins>+ Document* document = this->document();
+ document->updateLayoutIgnorePendingStylesheets();
+ FrameView* view = document->view();
+ if (!view)
+ return;
+ view->setScrollPosition(IntPoint(view->scrollX(), static_cast<int>(scrollTop * view->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 "CSSPropertyNames.h"
</span><span class="cx"> #include "CSSValueKeywords.h"
</span><span class="cx"> #include "EventNames.h"
</span><del>-#include "Frame.h"
</del><ins>+#include "FrameView.h"
</ins><span class="cx"> #include "HTMLDocument.h"
</span><span class="cx"> #include "HTMLFormElement.h"
</span><span class="cx"> #include "HTMLNames.h"
</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()->frame() ? document()->frame()->pageZoomFactor() : 1.0f;
</del><ins>+ float zoomFactor = document()->view() ? document()->view()->pageZoomFactor() : 1.0f;
</ins><span class="cx"> return m_imageLoader.image()->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()->frame() ? document()->frame()->pageZoomFactor() : 1.0f;
</del><ins>+ float zoomFactor = document()->view() ? document()->view()->pageZoomFactor() : 1.0f;
</ins><span class="cx"> return m_imageLoader.image()->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->view();
+ return view ? view->pageZoomFactor() : 1;
+}
+
</ins><span class="cx"> void ImageTokenizer::write(const SegmentedString&, bool)
</span><span class="cx"> {
</span><span class="cx"> // <https://bugs.webkit.org/show_bug.cgi?id=25397>: 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->setResponse(m_doc->frame()->loader()->documentLoader()->response());
</span><span class="cx">
</span><del>- IntSize size = cachedImage->imageSize(m_doc->frame()->pageZoomFactor());
</del><ins>+ IntSize size = cachedImage->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->cachedImage()->imageSize(frame()->pageZoomFactor());
- IntSize windowSize = IntSize(frame()->view()->width(), frame()->view()->height());
</del><ins>+ FrameView* view = frame()->view();
+ if (!view)
+ return 1;
+
+ IntSize imageSize = m_imageElement->cachedImage()->imageSize(view->pageZoomFactor());
+ IntSize windowSize = IntSize(view->width(), view->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->cachedImage()->imageSize(frame()->pageZoomFactor());
</del><ins>+ IntSize imageSize = m_imageElement->cachedImage()->imageSize(pageZoomFactor(this));
</ins><span class="cx">
</span><span class="cx"> float scale = this->scale();
</span><span class="cx"> m_imageElement->setWidth(static_cast<int>(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->cachedImage()->imageSize(frame()->pageZoomFactor()).isEmpty())
</del><ins>+ if (m_imageElement->cachedImage()->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->setWidth(m_imageElement->cachedImage()->imageSize(frame()->pageZoomFactor()).width());
- m_imageElement->setHeight(m_imageElement->cachedImage()->imageSize(frame()->pageZoomFactor()).height());
</del><ins>+ m_imageElement->setWidth(m_imageElement->cachedImage()->imageSize(pageZoomFactor(this)).width());
+ m_imageElement->setHeight(m_imageElement->cachedImage()->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->cachedImage()->imageSize(frame()->pageZoomFactor());
- IntSize windowSize = IntSize(frame()->view()->width(), frame()->view()->height());
</del><ins>+ FrameView* view = frame()->view();
+
+ IntSize imageSize = m_imageElement->cachedImage()->imageSize(view->pageZoomFactor());
+ IntSize windowSize = IntSize(view->width(), view->height());
</ins><span class="cx">
</span><span class="cx"> return imageSize.width() <= windowSize.width() && imageSize.height() <= 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<int>(view->height() / m_frame->pageZoomFactor());
</del><ins>+ return static_cast<int>(view->height() / view->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<int>(view->width() / m_frame->pageZoomFactor());
</del><ins>+ return static_cast<int>(view->width() / view->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->document()->updateLayoutIgnorePendingStylesheets();
</span><span class="cx">
</span><del>- return static_cast<int>(view->scrollX() / m_frame->pageZoomFactor());
</del><ins>+ return static_cast<int>(view->scrollX() / view->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->document()->updateLayoutIgnorePendingStylesheets();
</span><span class="cx">
</span><del>- return static_cast<int>(view->scrollY() / m_frame->pageZoomFactor());
</del><ins>+ return static_cast<int>(view->scrollY() / view->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<int>(x * m_frame->pageZoomFactor());
- int zoomedY = static_cast<int>(y * m_frame->pageZoomFactor());
</del><ins>+ int zoomedX = static_cast<int>(x * view->pageZoomFactor());
+ int zoomedY = static_cast<int>(y * view->pageZoomFactor());
</ins><span class="cx"> view->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& p)
</span><span class="cx"> {
</span><del>- float zoomFactor = documentUnderMouse->frame()->pageZoomFactor();
</del><ins>+ FrameView* view = documentUnderMouse->view();
+ float zoomFactor = view ? view->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->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->settings()->zoomMode();
-}
-
-bool Frame::shouldApplyTextZoom() const
-{
- return m_zoomFactor != 1.0f && zoomMode() == ZoomTextOnly;
-}
-
-bool Frame::shouldApplyPageZoom() const
-{
- return m_zoomFactor != 1.0f && zoomMode() == ZoomPage;
-}
-
-void Frame::setZoomFactor(float percent, ZoomMode mode)
-{
- if (m_zoomFactor == percent && zoomMode() == mode)
- return;
-
-#if ENABLE(SVG)
- // Respect SVGs zoomAndPan="disabled" property in standalone SVG documents.
- // FIXME: How to handle compound documents + zoomAndPan="disabled"? Needs SVG WG clarification.
- if (m_doc->isSVGDocument()) {
- if (!static_cast<SVGDocument*>(m_doc.get())->zoomAndPanEnabled())
- return;
- if (m_doc->renderer())
- m_doc->renderer()->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()->scrollPosition();
- float percentDifference = (percent / m_zoomFactor);
- view()->setScrollPosition(IntPoint(scrollPosition.x() * percentDifference, scrollPosition.y() * percentDifference));
- }
-
- m_zoomFactor = percent;
- m_page->settings()->setZoomMode(mode);
-
- m_doc->recalcStyle(Node::Force);
-
- for (Frame* child = tree()->firstChild(); child; child = child->tree()->nextSibling())
- child->setZoomFactor(m_zoomFactor, mode);
-
- if (m_doc->renderer() && m_doc->renderer()->needsLayout() && view()->didFirstLayout())
- view()->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->setPrinting(printing);
</span><span class="lines">@@ -934,12 +881,6 @@
</span><span class="cx"> applyEditingStyleToElement(static_cast<Element*>(list->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<Document>);
</span><span class="cx">
</span><span class="lines">@@ -189,17 +189,6 @@
</span><span class="cx"> private:
</span><span class="cx"> void lifeSupportTimerFired(Timer<Frame>*);
</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& framePoint);
</span><span class="cx"> Document* documentAtPoint(const IntPoint& 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&);
</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<Node> m_eventTarget;
</span><span class="cx"> };
</span><span class="cx">
</span><ins>+static inline float parentZoomFactor(Frame* frame)
+{
+ Frame* parent = frame->tree()->parent();
+ if (!parent)
+ return 1;
+ FrameView* parentView = parent->view();
+ if (!parentView)
+ return 1;
+ return parentView->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->page();
+ return page && page->settings()->zoomMode() == ZoomTextOnly;
+}
+
+bool FrameView::shouldApplyPageZoom() const
+{
+ if (m_zoomFactor == 1)
+ return false;
+ if (!m_frame)
+ return false;
+ Page* page = m_frame->page();
+ return page && page->settings()->zoomMode() == ZoomPage;
+}
+
+void FrameView::setZoomFactor(float percent, ZoomMode mode)
+{
+ if (!m_frame)
+ return;
+
+ Page* page = m_frame->page();
+ if (!page)
+ return;
+
+ if (m_zoomFactor == percent && page->settings()->zoomMode() == mode)
+ return;
+
+ Document* document = m_frame->document();
+ if (!document)
+ return;
+
+#if ENABLE(SVG)
+ // Respect SVGs zoomAndPan="disabled" property in standalone SVG documents.
+ // FIXME: How to handle compound documents + zoomAndPan="disabled"? Needs SVG WG clarification.
+ if (document->isSVGDocument()) {
+ if (!static_cast<SVGDocument*>(document)->zoomAndPanEnabled())
+ return;
+ if (document->renderer())
+ document->renderer()->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->scrollPosition();
+ float percentDifference = (percent / m_zoomFactor);
+ setScrollPosition(IntPoint(scrollPosition.x() * percentDifference, scrollPosition.y() * percentDifference));
+ }
+
+ m_zoomFactor = percent;
+ page->settings()->setZoomMode(mode);
+
+ document->recalcStyle(Node::Force);
+
+ for (Frame* child = m_frame->tree()->firstChild(); child; child = child->tree()->nextSibling()) {
+ if (FrameView* childView = child->view())
+ childView->setZoomFactor(m_zoomFactor, mode);
+ }
+
+ if (document->renderer() && document->renderer()->needsLayout() && 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<FrameView> 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->frame() && m_frameView->frame()->shouldApplyPageZoom())
- return m_frameView->frame()->zoomFactor();
-
- return 1.0f;
</del><ins>+ if (!m_frameView->shouldApplyPageZoom())
+ return 1;
+ return m_frameView->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 "EventNames.h"
</span><span class="cx"> #include "FloatConversion.h"
</span><span class="cx"> #include "FloatRect.h"
</span><del>-#include "Frame.h"
</del><ins>+#include "FrameView.h"
</ins><span class="cx"> #include "HTMLNames.h"
</span><span class="cx"> #include "RenderSVGRoot.h"
</span><span class="cx"> #include "RenderSVGViewportContainer.h"
</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()->frame())
- return frame->pageZoomFactor();
</del><ins>+ if (FrameView* view = document()->view())
+ return view->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()->frame()) {
</del><ins>+ if (FrameView* view = document()->view()) {
</ins><span class="cx"> // Calling setCurrentScale() on the outermost <svg> 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->setZoomFactor(scale, ZoomPage);
</del><ins>+ view->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 <darin@apple.com>
+
+ 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 <leandro@profusion.mobi>
</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 <darin@apple.com>
+
+ 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 <andersca@apple.com>
</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()->frame();
</span><ins>+ FrameView* view = frame->view();
+ if (!view)
+ return m_zoomLevel;
</ins><span class="cx"> if (zoomFactor != frame->zoomFactor()) {
</span><span class="cx"> m_zoomLevel = zoomLevel;
</span><del>- frame->setZoomFactor(zoomFactor, textOnly ? ZoomTextOnly : ZoomPage);
</del><ins>+ view->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->frame->applyEditingStyleToBodyElement();
</span><del>- else
- sd->frame->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->frame, -1.0);
</span><del>- return sd->frame->zoomFactor();
</del><ins>+ FrameView* view = sd->frame->view();
+ if (!view)
+ return -1;
+ return view->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->frame->setZoomFactor(zoom, zoomMode);
</del><ins>+ FrameView* view = sd->frame->view();
+ if (!view)
+ return EINA_FALSE;
+ view->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->frame->setZoomFactor(sd->frame->zoomFactor(), zoomMode);
</del><ins>+ FrameView* view = sd->frame->view();
+ if (!view)
+ return EINA_FALSE;
+ view->setZoomFactor(view->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 <darin@apple.com>
+
+ 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 <mrobinson@igalia.com>
</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->setSelectionFromNone();
</span><del>- } else
- frame->removeEditingStyleFromBodyElement();
</del><ins>+ }
</ins><span class="cx"> g_object_notify(G_OBJECT(webView), "editable");
</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->zoomFactor();
</del><ins>+ FrameView* view = frame->view();
+ if (!view)
+ return 1;
+
+ return view->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->view();
+ if (!view)
+ return;
+
</ins><span class="cx"> WebKitWebViewPrivate* priv = webView->priv;
</span><del>- frame->setZoomFactor(zoomLevel, priv->zoomFullContent ? ZoomPage : ZoomTextOnly);
</del><ins>+ view->setZoomFactor(zoomLevel, priv->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 <darin@apple.com>
+
+ 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 <hyatt@apple.com>
</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->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 <rdar://problem/4737380>)
</span><del>- _private->zoomMultiplier = m;
</del><ins>+ _private->zoomMultiplier = multiplier;
+
</ins><span class="cx"> ASSERT(_private->page);
</span><span class="cx"> if (_private->page)
</span><span class="cx"> _private->page->settings()->setZoomMode(isTextOnly ? ZoomTextOnly : ZoomPage);
</span><del>-
- // FIXME: it would be nice to rework this code so that _private->zoomMultiplier doesn't exist and callers
- // all access _private->page->settings().
</del><ins>+
+ // FIXME: It would be nice to rework this code so that _private->zoomMultiplier doesn't exist
+ // and instead FrameView::zoomFactor is used.
</ins><span class="cx"> Frame* coreFrame = [self _mainCoreFrame];
</span><del>- if (coreFrame)
- coreFrame->setZoomFactor(m, isTextOnly ? ZoomTextOnly : ZoomPage);
</del><ins>+ if (coreFrame) {
+ if (FrameView* view = coreFrame->view())
+ view->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->setSelectionFromNone();
</span><del>- } else
- mainFrame->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->frame->setZoomFactor(factor, ZoomTextOnly);
</del><ins>+ FrameView* view = d->frame->view();
+ if (!view)
+ return;
+
+ view->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->frame->zoomFactor();
</del><ins>+ FrameView* view = d->frame->view();
+ if (!view)
+ return 1;
+
+ return view->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->frame->setZoomFactor(factor, d->frame->zoomMode());
</del><ins>+ Page* page = d->frame->page();
+ if (!page)
+ return;
+
+ FrameView* view = d->frame->view();
+ if (!view)
+ return;
+
+ view->setZoomFactor(factor, page->settings()->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->frame->zoomFactor();
</del><ins>+ FrameView* view = d->frame->view();
+ if (!view)
+ return 1;
+
+ return view->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->applyEditingStyleToBodyElement();
</span><span class="cx"> // FIXME: mac port calls this if there is no selectedDOMRange
</span><span class="cx"> //frame->setSelectionFromNone();
</span><del>- } else
- frame->removeEditingStyleFromBodyElement();
</del><ins>+ }
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> d->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 <darin@apple.com>
+
+ 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 <noam.rosenthal@nokia.com>
</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 <darin@apple.com>
+
+ 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 <andersca@apple.com>
</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->setZoomFactor(multiplier, ZoomTextOnly);
</del><ins>+
+ if (FrameView* view = coreFrame->view())
+ view->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->settings()->setZoomMode(isTextOnly ? ZoomTextOnly : ZoomPage);
</span><del>- if (Frame* coreFrame = core(m_mainFrame))
- coreFrame->setZoomFactor(multiplier, isTextOnly ? ZoomTextOnly : ZoomPage);
</del><ins>+ if (Frame* coreFrame = core(m_mainFrame)) {
+ if (FrameView* view = coreFrame->view())
+ view->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 <darin@apple.com>
+
+ 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 <kevinwatters@gmail.com>
</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->frame) {
</del><ins>+ if (m_impl->frame && m_impl->frame->view()) {
</ins><span class="cx"> if (m_textMagnifier*TextSizeMultiplierRatio <= 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->frame->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
</del><ins>+ m_impl->frame->view()->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->frame) {
</del><ins>+ if (m_impl->frame && m_impl->frame->view()) {
</ins><span class="cx"> if (m_textMagnifier/TextSizeMultiplierRatio >= 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->frame->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
</del><ins>+ m_impl->frame->view()->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->frame)
- m_impl->frame->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
</del><ins>+ if (m_impl->frame && m_impl->frame->view())
+ m_impl->frame->view()->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>