[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