Changeset 76561 in webkit


Ignore:
Timestamp:
Jan 24, 2011 6:38:10 PM (13 years ago)
Author:
andersca@apple.com
Message:

2011-01-24 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Reset the page scale factor on standard frame loads
https://bugs.webkit.org/show_bug.cgi?id=53058
<rdar://problem/8908844>

Add a symbol needed by WebKit2.

  • WebCore.exp.in:

2011-01-24 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Reset the page scale factor on standard frame loads
https://bugs.webkit.org/show_bug.cgi?id=53058
<rdar://problem/8908844>

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::scaleWebView): Don't set m_viewScaleFactor here. It will be set in viewScaleFactorDidChange.

(WebKit::WebPageProxy::viewScaleFactorDidChange):
Update m_viewScaleFactor.

  • UIProcess/WebPageProxy.h: Add viewScaleFactorDidChange.
  • UIProcess/WebPageProxy.messages.in: Add ViewScaleFactorDidChange message.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): Set the scale factor.

(WebKit::WebFrameLoaderClient::restoreViewState):
Inform the UI process about the new view scale factor.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::scaleWebView): Send a ViewScaleFactorDidChange message.
Location:
trunk/Source
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r76560 r76561  
     12011-01-24  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Dan Bernstein.
     4
     5        Reset the page scale factor on standard frame loads
     6        https://bugs.webkit.org/show_bug.cgi?id=53058
     7        <rdar://problem/8908844>
     8
     9        Add a symbol needed by WebKit2.
     10
     11        * WebCore.exp.in:
     12
    1132011-01-24  Ryosuke Niwa  <rniwa@webkit.org>
    214
  • trunk/Source/WebCore/WebCore.exp.in

    r76459 r76561  
    981981__ZNK7WebCore11HistoryItem14alternateTitleEv
    982982__ZNK7WebCore11HistoryItem15lastVisitedTimeEv
     983__ZNK7WebCore11HistoryItem15pageScaleFactorEv
    983984__ZNK7WebCore11HistoryItem17originalURLStringEv
    984985__ZNK7WebCore11HistoryItem20getTransientPropertyERKN3WTF6StringE
  • trunk/Source/WebKit/mac/WebView/WebHTMLView.mm

    r76435 r76561  
    17321732        [self setPromisedDragTIFFDataSource:0];
    17331733    }
     1734}
     1735
     1736- (BOOL)mouseDownCanMoveWindow
     1737{
     1738    BOOL result = [super mouseDownCanMoveWindow];
     1739
     1740    NSLog(@"%@, %@ %d", self, NSStringFromSelector(_cmd), result);
     1741    return result;
    17341742}
    17351743
  • trunk/Source/WebKit2/ChangeLog

    r76559 r76561  
     12011-01-24  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Dan Bernstein.
     4
     5        Reset the page scale factor on standard frame loads
     6        https://bugs.webkit.org/show_bug.cgi?id=53058
     7        <rdar://problem/8908844>
     8
     9        * UIProcess/WebPageProxy.cpp:
     10        (WebKit::WebPageProxy::scaleWebView):
     11        Don't set m_viewScaleFactor here. It will be set in viewScaleFactorDidChange.
     12
     13        (WebKit::WebPageProxy::viewScaleFactorDidChange):
     14        Update m_viewScaleFactor.
     15
     16        * UIProcess/WebPageProxy.h:
     17        Add viewScaleFactorDidChange.
     18
     19        * UIProcess/WebPageProxy.messages.in:
     20        Add ViewScaleFactorDidChange message.
     21
     22        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
     23        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
     24        Set the scale factor.
     25
     26        (WebKit::WebFrameLoaderClient::restoreViewState):
     27        Inform the UI process about the new view scale factor.
     28
     29        * WebProcess/WebPage/WebPage.cpp:
     30        (WebKit::WebPage::scaleWebView):
     31        Send a ViewScaleFactorDidChange message.
     32
    1332011-01-24  Maciej Stachowiak  <mjs@apple.com>
    234
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r76473 r76561  
    891891        return;
    892892
    893     m_viewScaleFactor = scale;
    894893    process()->send(Messages::WebPage::ScaleWebView(scale, origin), m_pageID);
    895894}
     
    919918    m_fixedLayoutSize = size;
    920919    process()->send(Messages::WebPage::SetFixedLayoutSize(size), m_pageID);
     920}
     921
     922void WebPageProxy::viewScaleFactorDidChange(double scaleFactor)
     923{
     924    m_viewScaleFactor = scaleFactor;
    921925}
    922926
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.h

    r76452 r76561  
    261261#endif
    262262
     263    void viewScaleFactorDidChange(double);
     264
    263265    // Find.
    264266    void findString(const String&, FindOptions, unsigned maxMatchCount);
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in

    r76452 r76561  
    120120    DidReceiveAccessibilityPageToken(CoreIPC::DataReference data)
    121121
     122    ViewScaleFactorDidChange(double scaleFactor)
     123
    122124#if PLATFORM(MAC)
    123125    # Keyboard support messages
     
    190192    LearnWord(WTF::String word);
    191193    IgnoreWord(WTF::String word);
    192    
     194
    193195    # Drag and drop messages
    194196    DidPerformDragControllerAction(uint64_t resultOperation)
  • trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp

    r75174 r76561  
    5858#include <WebCore/HTMLAppletElement.h>
    5959#include <WebCore/HTMLFormElement.h>
     60#include <WebCore/HistoryItem.h>
    6061#include <WebCore/MIMETypeRegistry.h>
    6162#include <WebCore/MouseEvent.h>
     
    427428
    428429    // Notify the UIProcess.
     430
    429431    webPage->send(Messages::WebPageProxy::DidCommitLoadForFrame(m_frame->frameID(), response.mimeType(), m_frameHasCustomRepresentation, PlatformCertificateInfo(response), InjectedBundleUserMessageEncoder(userData.get())));
     432
     433    // Restore the page scale factor.
     434    double newPageScaleFactor = m_frame->coreFrame()->pageScaleFactor();
     435   
     436    // Only restore the scale factor for standard frame loads (of the main frame).
     437    if (m_frame->isMainFrame() && m_frame->coreFrame()->loader()->loadType() == FrameLoadTypeStandard)
     438        newPageScaleFactor = 1.0;
     439
     440    webPage->scaleWebView(newPageScaleFactor, IntPoint());
    430441}
    431442
     
    10041015void WebFrameLoaderClient::restoreViewState()
    10051016{
    1006     notImplemented();
     1017    // Inform the UI process of the scale factor.
     1018    double scaleFactor = m_frame->coreFrame()->loader()->history()->currentItem()->pageScaleFactor();
     1019    m_frame->page()->send(Messages::WebPageProxy::ViewScaleFactorDidChange(scaleFactor));
    10071020}
    10081021
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r76452 r76561  
    615615        return;
    616616    frame->scalePage(scale, origin);
     617
     618    send(Messages::WebPageProxy::ViewScaleFactorDidChange(scale));
    617619}
    618620
Note: See TracChangeset for help on using the changeset viewer.