[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

bdakin at apple.com bdakin at apple.com
Sun Feb 20 22:52:31 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit d53573cad76ff936e80abfd92569b7e6cfedd8e2
Author: bdakin at apple.com <bdakin at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jan 12 21:04:05 2011 +0000

    Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
    fixed layout through WebKit SPI
    -and corresponding-
    <rdar://problem/8844464>
    
    Reviewed by Anders Carlsson.
    
    Source/WebCore:
    
    Export symbols for ScrollView::setUseFixedLayout() and
    ScrollView::setFixedLayoutSize()
    * WebCore.exp.in:
    
    WebKit/mac:
    
    * WebView/WebView.mm:
    (-[WebView _setUseFixedLayout:]):
    (-[WebView _setFixedLayoutSize:]):
    * WebView/WebViewPrivate.h:
    
    WebKit2:
    
    Store useFixedLayout and fixedLayoutSize in the
    WebPageCreationParameters and the WebPageProxy.
    * Shared/WebPageCreationParameters.cpp:
    (WebKit::WebPageCreationParameters::encode):
    (WebKit::WebPageCreationParameters::decode):
    * Shared/WebPageCreationParameters.h:
    * UIProcess/API/C/WKPage.cpp:
    (WKPageSetUseFixedLayout):
    (WKPageSetFixedLayoutSize):
    * UIProcess/API/C/WKPage.h:
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::WebPageProxy):
    (WebKit::WebPageProxy::setUseFixedLayout):
    (WebKit::WebPageProxy::setFixedLayoutSize):
    (WebKit::WebPageProxy::creationParameters):
    * UIProcess/WebPageProxy.h:
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::setUseFixedLayout):
    (WebKit::WebPage::setFixedLayoutSize):
    * WebProcess/WebPage/WebPage.h:
    * WebProcess/WebPage/WebPage.messages.in:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75635 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index b27fa37..5c5da7a 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2011-01-12  Beth Dakin  <bdakin at apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
+        fixed layout through WebKit SPI
+        -and corresponding-
+        <rdar://problem/8844464>
+
+        Export symbols for ScrollView::setUseFixedLayout() and 
+        ScrollView::setFixedLayoutSize()
+        * WebCore.exp.in:
+
 2011-01-12  Robert Hogan  <robert at webkit.org>
 
         Reviewed by Kenneth Rohde Christiansen.
diff --git a/Source/WebCore/WebCore.exp.in b/Source/WebCore/WebCore.exp.in
index 6324064..f58c208 100644
--- a/Source/WebCore/WebCore.exp.in
+++ b/Source/WebCore/WebCore.exp.in
@@ -141,6 +141,8 @@ __ZN7WebCore10CredentialC1ERKN3WTF6StringES4_NS_21CredentialPersistenceE
 __ZN7WebCore10CredentialC1Ev
 __ZN7WebCore10JSDocument6s_infoE
 __ZN7WebCore10MouseEventC1ERKN3WTF12AtomicStringEbbNS1_10PassRefPtrINS_9DOMWindowEEEiiiiibbbbtNS5_INS_11EventTargetEEENS5_INS_9ClipboardEEEb
+__ZN7WebCore10ScrollView17setUseFixedLayoutEb
+__ZN7WebCore10ScrollView18setFixedLayoutSizeERKNS_7IntSizeE
 __ZN7WebCore10ScrollView20setCanHaveScrollbarsEb
 __ZN7WebCore10ScrollView24windowResizerRectChangedEv
 __ZN7WebCore10deleteFileERKN3WTF6StringE
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index a7af1f4..21b4d26 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,17 @@
+2011-01-12  Beth Dakin  <bdakin at apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
+        fixed layout through WebKit SPI
+        -and corresponding-
+        <rdar://problem/8844464>
+
+        * WebView/WebView.mm:
+        (-[WebView _setUseFixedLayout:]):
+        (-[WebView _setFixedLayoutSize:]):
+        * WebView/WebViewPrivate.h:
+
 2011-01-07  Enrica Casucci  <enrica at apple.com>
 
         Reviewed by Alexey Proskuryakov.
diff --git a/WebKit/mac/WebView/WebView.mm b/WebKit/mac/WebView/WebView.mm
index 22de83f..143c100 100644
--- a/WebKit/mac/WebView/WebView.mm
+++ b/WebKit/mac/WebView/WebView.mm
@@ -2653,6 +2653,35 @@ static PassOwnPtr<Vector<String> > toStringVector(NSArray* patterns)
     return coreFrame->pageScaleFactor();
 }
 
+- (void)_setUseFixedLayout:(BOOL)fixed
+{
+    Frame* coreFrame = [self _mainCoreFrame];
+    if (!coreFrame)
+        return;
+
+    FrameView* view = coreFrame->view();
+    if (!view)
+        return;
+
+    view->setUseFixedLayout(fixed);
+    if (!fixed)
+        view->setFixedLayoutSize(IntSize());
+}
+
+- (void)_setFixedLayoutSize:(NSSize)size
+{
+    Frame* coreFrame = [self _mainCoreFrame];
+    if (!coreFrame)
+        return;
+    
+    FrameView* view = coreFrame->view();
+    if (!view)
+        return;
+    
+    view->setFixedLayoutSize(IntSize(size));
+    view->forceLayout();
+}
+
 - (NSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(NSUInteger)limit
 {
     return [self countMatchesForText:string options:(caseFlag ? 0 : WebFindOptionsCaseInsensitive) highlight:highlight limit:limit markMatches:YES];
diff --git a/WebKit/mac/WebView/WebViewPrivate.h b/WebKit/mac/WebView/WebViewPrivate.h
index 67ee63a..1d32b77 100644
--- a/WebKit/mac/WebView/WebViewPrivate.h
+++ b/WebKit/mac/WebView/WebViewPrivate.h
@@ -547,6 +547,9 @@ Could be worth adding to the API.
 - (void)_scaleWebView:(float)scale atOrigin:(NSPoint)origin;
 - (float)_viewScaleFactor;
 
+- (void)_setUseFixedLayout:(BOOL)fixed;
+- (void)_setFixedLayoutSize:(NSSize)size;
+
 // Deprecated. Use the methods in pending public above instead.
 - (WebNSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(WebNSUInteger)limit;
 - (WebNSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(WebNSUInteger)limit markMatches:(BOOL)markMatches;
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 8831c90..682091a 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,34 @@
+2011-01-12  Beth Dakin  <bdakin at apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
+        fixed layout through WebKit SPI
+        -and corresponding-
+        <rdar://problem/8844464>
+
+        Store useFixedLayout and fixedLayoutSize in the 
+        WebPageCreationParameters and the WebPageProxy.
+        * Shared/WebPageCreationParameters.cpp:
+        (WebKit::WebPageCreationParameters::encode):
+        (WebKit::WebPageCreationParameters::decode):
+        * Shared/WebPageCreationParameters.h:
+        * UIProcess/API/C/WKPage.cpp:
+        (WKPageSetUseFixedLayout):
+        (WKPageSetFixedLayoutSize):
+        * UIProcess/API/C/WKPage.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::WebPageProxy):
+        (WebKit::WebPageProxy::setUseFixedLayout):
+        (WebKit::WebPageProxy::setFixedLayoutSize):
+        (WebKit::WebPageProxy::creationParameters):
+        * UIProcess/WebPageProxy.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::setUseFixedLayout):
+        (WebKit::WebPage::setFixedLayoutSize):
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+
 2011-01-12  Anders Carlsson  <andersca at apple.com>
 
         Reviewed by Beth Dakin.
diff --git a/WebKit2/Shared/WebPageCreationParameters.cpp b/WebKit2/Shared/WebPageCreationParameters.cpp
index 6df3d7a..5ab1212 100644
--- a/WebKit2/Shared/WebPageCreationParameters.cpp
+++ b/WebKit2/Shared/WebPageCreationParameters.cpp
@@ -42,6 +42,8 @@ void WebPageCreationParameters::encode(CoreIPC::ArgumentEncoder* encoder) const
     encoder->encode(pageGroupData);
     encoder->encode(drawsBackground);
     encoder->encode(drawsTransparentBackground);
+    encoder->encode(useFixedLayout);
+    encoder->encode(fixedLayoutSize);
     encoder->encode(userAgent);
     encoder->encode(sessionState);
     encoder->encode(highestUsedBackForwardItemID);
@@ -77,6 +79,10 @@ bool WebPageCreationParameters::decode(CoreIPC::ArgumentDecoder* decoder, WebPag
         return false;
     if (!decoder->decode(parameters.drawsTransparentBackground))
         return false;
+    if (!decoder->decode(parameters.useFixedLayout))
+        return false;
+    if (!decoder->decode(parameters.fixedLayoutSize))
+        return false;
     if (!decoder->decode(parameters.userAgent))
         return false;
     if (!decoder->decode(parameters.sessionState))
diff --git a/WebKit2/Shared/WebPageCreationParameters.h b/WebKit2/Shared/WebPageCreationParameters.h
index 801730f..e698ce7 100644
--- a/WebKit2/Shared/WebPageCreationParameters.h
+++ b/WebKit2/Shared/WebPageCreationParameters.h
@@ -58,6 +58,9 @@ struct WebPageCreationParameters {
     bool drawsBackground;
     bool drawsTransparentBackground;
 
+    bool useFixedLayout;
+    WebCore::IntSize fixedLayoutSize;
+
     String userAgent;
 
     SessionState sessionState;
diff --git a/WebKit2/UIProcess/API/C/WKPage.cpp b/WebKit2/UIProcess/API/C/WKPage.cpp
index 6b30d51..fef256f 100644
--- a/WebKit2/UIProcess/API/C/WKPage.cpp
+++ b/WebKit2/UIProcess/API/C/WKPage.cpp
@@ -265,6 +265,16 @@ void WKPageScaleWebView(WKPageRef pageRef, double scale, WKPoint origin)
     toImpl(pageRef)->scaleWebView(scale, toIntPoint(origin));
 }
 
+void WKPageSetUseFixedLayout(WKPageRef pageRef, bool fixed)
+{
+    toImpl(pageRef)->setUseFixedLayout(fixed);
+}
+
+void WKPageSetFixedLayoutSize(WKPageRef pageRef, WKSize size)
+{
+    toImpl(pageRef)->setFixedLayoutSize(toIntSize(size));
+}
+
 double WKPageGetViewScaleFactor(WKPageRef pageRef)
 {
     return toImpl(pageRef)->viewScaleFactor();
diff --git a/WebKit2/UIProcess/API/C/WKPage.h b/WebKit2/UIProcess/API/C/WKPage.h
index dde726b..ee9439a 100644
--- a/WebKit2/UIProcess/API/C/WKPage.h
+++ b/WebKit2/UIProcess/API/C/WKPage.h
@@ -307,6 +307,9 @@ WK_EXPORT void WKPageSetPageAndTextZoomFactors(WKPageRef page, double pageZoomFa
 WK_EXPORT void WKPageScaleWebView(WKPageRef page, double scale, WKPoint origin);
 WK_EXPORT double WKPageGetViewScaleFactor(WKPageRef page);
 
+WK_EXPORT void WKPageSetUseFixedLayout(WKPageRef page, bool fixed);
+WK_EXPORT void WKPageSetFixedLayoutSize(WKPageRef page, WKSize size);
+
 WK_EXPORT void WKPageFindString(WKPageRef page, WKStringRef string, WKFindOptions findOptions, unsigned maxMatchCount);
 WK_EXPORT void WKPageHideFindUI(WKPageRef page);
 WK_EXPORT void WKPageCountStringMatches(WKPageRef page, WKStringRef string, WKFindOptions findOptions, unsigned maxMatchCount);
diff --git a/WebKit2/UIProcess/WebPageProxy.cpp b/WebKit2/UIProcess/WebPageProxy.cpp
index 6a0273e..c70f7d4 100644
--- a/WebKit2/UIProcess/WebPageProxy.cpp
+++ b/WebKit2/UIProcess/WebPageProxy.cpp
@@ -107,6 +107,7 @@ WebPageProxy::WebPageProxy(PageClient* pageClient, WebContext* context, WebPageG
     , m_viewScaleFactor(1)
     , m_drawsBackground(true)
     , m_drawsTransparentBackground(false)
+    , m_useFixedLayout(false)
     , m_isValid(true)
     , m_isClosed(false)
     , m_inDecidePolicyForMIMEType(false)
@@ -844,6 +845,32 @@ void WebPageProxy::scaleWebView(double scale, const IntPoint& origin)
     process()->send(Messages::WebPage::ScaleWebView(scale, origin), m_pageID);
 }
 
+void WebPageProxy::setUseFixedLayout(bool fixed)
+{
+    if (!isValid())
+        return;
+
+    if (fixed == m_useFixedLayout)
+        return;
+
+    m_useFixedLayout = fixed;
+    if (!fixed)
+        m_fixedLayoutSize = IntSize();
+    process()->send(Messages::WebPage::SetUseFixedLayout(fixed), m_pageID);
+}
+
+void WebPageProxy::setFixedLayoutSize(const IntSize& size)
+{
+    if (!isValid())
+        return;
+
+    if (size == m_fixedLayoutSize)
+        return;
+
+    m_fixedLayoutSize = size;
+    process()->send(Messages::WebPage::SetFixedLayoutSize(size), m_pageID);
+}
+
 void WebPageProxy::findString(const String& string, FindOptions options, unsigned maxMatchCount)
 {
     process()->send(Messages::WebPage::FindString(string, options, maxMatchCount), m_pageID);
@@ -2182,6 +2209,8 @@ WebPageCreationParameters WebPageProxy::creationParameters() const
     parameters.pageGroupData = m_pageGroup->data();
     parameters.drawsBackground = m_drawsBackground;
     parameters.drawsTransparentBackground = m_drawsTransparentBackground;
+    parameters.useFixedLayout = m_useFixedLayout;
+    parameters.fixedLayoutSize = m_fixedLayoutSize;
     parameters.userAgent = userAgent();
     parameters.sessionState = SessionState(m_backForwardList->entries(), m_backForwardList->currentIndex());
     parameters.highestUsedBackForwardItemID = WebBackForwardListItem::highedUsedItemID();
diff --git a/WebKit2/UIProcess/WebPageProxy.h b/WebKit2/UIProcess/WebPageProxy.h
index ab185a9..58f6f20 100644
--- a/WebKit2/UIProcess/WebPageProxy.h
+++ b/WebKit2/UIProcess/WebPageProxy.h
@@ -240,6 +240,9 @@ public:
 
     void scaleWebView(double scale, const WebCore::IntPoint& origin);
     double viewScaleFactor() const { return m_viewScaleFactor; }
+
+    void setUseFixedLayout(bool);
+    void setFixedLayoutSize(const WebCore::IntSize&);
 #if PLATFORM(MAC)
     void sendAccessibilityPresenterToken(const CoreIPC::DataReference&);
 #endif
@@ -552,6 +555,9 @@ private:
     bool m_drawsBackground;
     bool m_drawsTransparentBackground;
 
+    bool m_useFixedLayout;
+    WebCore::IntSize m_fixedLayoutSize;
+
     // If the process backing the web page is alive and kicking.
     bool m_isValid;
 
diff --git a/WebKit2/WebProcess/WebPage/WebPage.cpp b/WebKit2/WebProcess/WebPage/WebPage.cpp
index ac63be5..543557c 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.cpp
+++ b/WebKit2/WebProcess/WebPage/WebPage.cpp
@@ -597,6 +597,35 @@ double WebPage::viewScaleFactor() const
     return frame->pageScaleFactor();
 }
 
+void WebPage::setUseFixedLayout(bool fixed)
+{
+    Frame* frame = m_mainFrame->coreFrame();
+    if (!frame)
+        return;
+
+    FrameView* view = frame->view();
+    if (!view)
+        return;
+
+    view->setUseFixedLayout(fixed);
+    if (!fixed)
+        view->setFixedLayoutSize(IntSize());
+}
+
+void WebPage::setFixedLayoutSize(const IntSize& size)
+{
+    Frame* frame = m_mainFrame->coreFrame();
+    if (!frame)
+        return;
+    
+    FrameView* view = frame->view();
+    if (!view)
+        return;
+
+    view->setFixedLayoutSize(size);
+    view->forceLayout();
+}
+
 void WebPage::installPageOverlay(PassRefPtr<PageOverlay> pageOverlay)
 {
     if (m_pageOverlay)
diff --git a/WebKit2/WebProcess/WebPage/WebPage.h b/WebKit2/WebProcess/WebPage/WebPage.h
index a319115..492f54b 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.h
+++ b/WebKit2/WebProcess/WebPage/WebPage.h
@@ -192,6 +192,9 @@ public:
     void scaleWebView(double scale, const WebCore::IntPoint& origin);
     double viewScaleFactor() const;
 
+    void setUseFixedLayout(bool);
+    void setFixedLayoutSize(const WebCore::IntSize&);
+
     bool drawsBackground() const { return m_drawsBackground; }
     bool drawsTransparentBackground() const { return m_drawsTransparentBackground; }
 
diff --git a/WebKit2/WebProcess/WebPage/WebPage.messages.in b/WebKit2/WebProcess/WebPage/WebPage.messages.in
index 68f4c5d..ca65458 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.messages.in
+++ b/WebKit2/WebProcess/WebPage/WebPage.messages.in
@@ -88,6 +88,9 @@ messages -> WebPage {
 
     ScaleWebView(double scale, WebCore::IntPoint origin)
 
+    SetUseFixedLayout(bool fixed)
+    SetFixedLayoutSize(WebCore::IntSize size)
+
     # Find.
     FindString(WTF::String string, uint32_t findOptions, unsigned maxMatchCount)
     HideFindUI()

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list