[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da
andersca at apple.com
andersca at apple.com
Wed Dec 22 17:53:16 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 528882cbf2d39aa609b3b6f6c43f1afe104f380c
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Dec 2 01:55:38 2010 +0000
Give the fake Carbon window the right bounds
https://bugs.webkit.org/show_bug.cgi?id=50361
Reviewed by Sam Weinig.
* PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::windowAndViewFramesChanged):
* PluginProcess/PluginControllerProxy.h:
* PluginProcess/PluginControllerProxy.messages.in:
* UIProcess/API/mac/WKView.mm:
(-[WKView _updateWindowAndViewFrames]):
Pass both the window frame and view frame along.
(-[WKView renewGState]):
Call _updateWindowAndViewFrames.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::windowAndViewFramesChanged):
Pass both the window frame and view frame along.
* UIProcess/WebPageProxy.h:
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
(WebKit::NetscapePlugin::platformPostInitialize):
We don't want a title bar in our fake window.
(WebKit::computeFakeWindowBoundsRect):
Compute the fake window bounds.
(WebKit::NetscapePlugin::windowAndViewFramesChanged):
Update the fake window bounds.
* WebProcess/Plugins/Plugin.h:
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::windowAndViewFramesChanged):
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::windowAndViewFramesChanged):
(WebKit::PluginView::initializePlugin):
* WebProcess/Plugins/PluginView.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::windowAndViewFramesChanged):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::windowFrameInScreenCoordinates):
(WebKit::WebPage::viewFrameInWindowCoordinates):
* WebProcess/WebPage/WebPage.messages.in:
Pass both the window frame and view frame along.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index ad60ab3..2189e1a 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,53 @@
+2010-12-01 Anders Carlsson <andersca at apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Give the fake Carbon window the right bounds
+ https://bugs.webkit.org/show_bug.cgi?id=50361
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::windowAndViewFramesChanged):
+ * PluginProcess/PluginControllerProxy.h:
+ * PluginProcess/PluginControllerProxy.messages.in:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _updateWindowAndViewFrames]):
+ Pass both the window frame and view frame along.
+
+ (-[WKView renewGState]):
+ Call _updateWindowAndViewFrames.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::windowAndViewFramesChanged):
+ Pass both the window frame and view frame along.
+
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ We don't want a title bar in our fake window.
+
+ (WebKit::computeFakeWindowBoundsRect):
+ Compute the fake window bounds.
+
+ (WebKit::NetscapePlugin::windowAndViewFramesChanged):
+ Update the fake window bounds.
+
+ * WebProcess/Plugins/Plugin.h:
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::windowAndViewFramesChanged):
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::windowAndViewFramesChanged):
+ (WebKit::PluginView::initializePlugin):
+ * WebProcess/Plugins/PluginView.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::windowAndViewFramesChanged):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::windowFrameInScreenCoordinates):
+ (WebKit::WebPage::viewFrameInWindowCoordinates):
+ * WebProcess/WebPage/WebPage.messages.in:
+ Pass both the window frame and view frame along.
+
2010-12-01 Jia Pu <jpu at apple.com>
Reviewed by Darin Adler.
diff --git a/WebKit2/PluginProcess/PluginControllerProxy.cpp b/WebKit2/PluginProcess/PluginControllerProxy.cpp
index 9e1b64e..bb4844e 100644
--- a/WebKit2/PluginProcess/PluginControllerProxy.cpp
+++ b/WebKit2/PluginProcess/PluginControllerProxy.cpp
@@ -391,9 +391,9 @@ void PluginControllerProxy::windowFocusChanged(bool hasFocus)
m_plugin->windowFocusChanged(hasFocus);
}
-void PluginControllerProxy::windowFrameChanged(const IntRect& windowFrame)
+void PluginControllerProxy::windowAndViewFramesChanged(const IntRect& windowFrameInScreenCoordinates, const IntRect& viewFrameInWindowCoordinates)
{
- m_plugin->windowFrameChanged(windowFrame);
+ m_plugin->windowAndViewFramesChanged(windowFrameInScreenCoordinates, viewFrameInWindowCoordinates);
}
void PluginControllerProxy::windowVisibilityChanged(bool isVisible)
diff --git a/WebKit2/PluginProcess/PluginControllerProxy.h b/WebKit2/PluginProcess/PluginControllerProxy.h
index 9e76813..0ac1266 100644
--- a/WebKit2/PluginProcess/PluginControllerProxy.h
+++ b/WebKit2/PluginProcess/PluginControllerProxy.h
@@ -117,7 +117,7 @@ private:
#if PLATFORM(MAC)
void windowFocusChanged(bool);
- void windowFrameChanged(const WebCore::IntRect&);
+ void windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates);
void windowVisibilityChanged(bool);
#endif
void privateBrowsingStateChanged(bool);
diff --git a/WebKit2/PluginProcess/PluginControllerProxy.messages.in b/WebKit2/PluginProcess/PluginControllerProxy.messages.in
index 0ddef49..b3727aa 100644
--- a/WebKit2/PluginProcess/PluginControllerProxy.messages.in
+++ b/WebKit2/PluginProcess/PluginControllerProxy.messages.in
@@ -90,8 +90,8 @@ messages -> PluginControllerProxy {
# Sent when the containing NSWindow's focus changes
WindowFocusChanged(bool hasFocus)
- # Sent when the containing NSWindow's frame changes
- WindowFrameChanged(WebCore::IntRect windowFrame)
+ # Sent when the containing NSWindow or NSView frame changes
+ WindowAndViewFramesChanged(WebCore::IntRect windowFrameInScreenCoordinates, WebCore::IntRect viewFrameInWindowCoordinates)
# Sent when the containing NSWindow's visibility changes
WindowVisibilityChanged(bool isVisible)
diff --git a/WebKit2/UIProcess/API/mac/WKView.mm b/WebKit2/UIProcess/API/mac/WKView.mm
index f35997e..3f28f99 100644
--- a/WebKit2/UIProcess/API/mac/WKView.mm
+++ b/WebKit2/UIProcess/API/mac/WKView.mm
@@ -202,13 +202,29 @@ struct EditCommandState {
_data->_page->drawingArea()->setSize(IntSize(size));
}
+- (void)_updateWindowAndViewFrames
+{
+ NSWindow *window = [self window];
+ ASSERT(window);
+
+ NSRect windowFrameInScreenCoordinates = [window frame];
+ NSRect viewFrameInWindowCoordinates = [self convertRect:[self frame] toView:nil];
+
+ _data->_page->windowAndViewFramesChanged(enclosingIntRect(windowFrameInScreenCoordinates), enclosingIntRect(viewFrameInWindowCoordinates));
+}
+
- (void)renewGState
{
// Hide the find indicator.
_data->_findIndicatorWindow = nullptr;
+ // Update the view frame.
+ if ([self window])
+ [self _updateWindowAndViewFrames];
+
[super renewGState];
}
+
typedef HashMap<SEL, String> SelectorNameMap;
// Map selectors into Editor command names.
@@ -598,31 +614,6 @@ static bool isViewVisible(NSView *view)
area->setPageIsVisible(isViewVisible(self));
}
-static NSScreen *screenForWindow(NSWindow *window)
-{
- if (NSScreen *screen = [window screen]) // nil if the window is off-screen
- return screen;
-
- NSArray *screens = [NSScreen screens];
- if ([screens count] > 0)
- return [screens objectAtIndex:0]; // screen containing the menubar
-
- return nil;
-}
-
-- (void)_updateWindowFrame
-{
- NSWindow *window = [self window];
- ASSERT(window);
-
- // We want the window frame in Carbon coordinates, so flip the Y coordinate.
- NSRect windowFrame = [window frame];
- NSScreen *screen = ::screenForWindow(window);
- windowFrame.origin.y = NSMaxY([screen frame]) - windowFrame.origin.y;
-
- _data->_page->updateWindowFrame(enclosingIntRect(windowFrame));
-}
-
- (void)viewWillMoveToWindow:(NSWindow *)window
{
if (window != [self window]) {
@@ -640,7 +631,7 @@ static NSScreen *screenForWindow(NSWindow *window)
[self _updateActiveState];
[self _updateVisibility];
[self _updateWindowVisibility];
- [self _updateWindowFrame];
+ [self _updateWindowAndViewFrames];
} else {
[self _updateVisibility];
[self _updateActiveState];
@@ -674,7 +665,7 @@ static NSScreen *screenForWindow(NSWindow *window)
- (void)_windowFrameDidChange:(NSNotification *)notification
{
- [self _updateWindowFrame];
+ [self _updateWindowAndViewFrames];
}
- (void)drawRect:(NSRect)rect
diff --git a/WebKit2/UIProcess/WebPageProxy.cpp b/WebKit2/UIProcess/WebPageProxy.cpp
index f0d5735..1e65bd0 100644
--- a/WebKit2/UIProcess/WebPageProxy.cpp
+++ b/WebKit2/UIProcess/WebPageProxy.cpp
@@ -446,11 +446,12 @@ void WebPageProxy::updateWindowIsVisible(bool windowIsVisible)
process()->send(Messages::WebPage::SetWindowIsVisible(windowIsVisible), m_pageID);
}
-void WebPageProxy::updateWindowFrame(const IntRect& windowFrame)
+void WebPageProxy::windowAndViewFramesChanged(const IntRect& windowFrameInScreenCoordinates, const IntRect& viewFrameInWindowCoordinates)
{
if (!isValid())
return;
- process()->send(Messages::WebPage::SetWindowFrame(windowFrame), m_pageID);
+
+ process()->send(Messages::WebPage::WindowAndViewFramesChanged(windowFrameInScreenCoordinates, viewFrameInWindowCoordinates), m_pageID);
}
#endif
diff --git a/WebKit2/UIProcess/WebPageProxy.h b/WebKit2/UIProcess/WebPageProxy.h
index aa49255..2851351 100644
--- a/WebKit2/UIProcess/WebPageProxy.h
+++ b/WebKit2/UIProcess/WebPageProxy.h
@@ -167,7 +167,7 @@ public:
// These are only used on Mac currently.
#if PLATFORM(MAC)
void updateWindowIsVisible(bool windowIsVisible);
- void updateWindowFrame(const WebCore::IntRect&);
+ void windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates);
#endif
#if ENABLE(TILED_BACKING_STORE)
diff --git a/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h b/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h
index bafa3fa..fc2d6c7 100644
--- a/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h
+++ b/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h
@@ -157,7 +157,7 @@ private:
#if PLATFORM(MAC)
virtual void windowFocusChanged(bool);
- virtual void windowFrameChanged(const WebCore::IntRect&);
+ virtual void windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates);
virtual void windowVisibilityChanged(bool);
#endif
diff --git a/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm b/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm
index 51911b5..525751a 100644
--- a/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm
+++ b/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm
@@ -25,7 +25,6 @@
#include "NetscapePlugin.h"
-#include "NotImplemented.h"
#include "WebEvent.h"
#include <WebCore/GraphicsContext.h>
@@ -131,7 +130,7 @@ bool NetscapePlugin::platformPostInitialize()
if (m_eventModel == NPEventModelCarbon) {
// Initialize the fake Carbon window.
::Rect bounds = { 0, 0, 0, 0 };
- CreateNewWindow(kDocumentWindowClass, 0, &bounds, reinterpret_cast<WindowRef*>(&m_npCGContext.window));
+ CreateNewWindow(kDocumentWindowClass, kWindowNoTitleBarAttribute, &bounds, reinterpret_cast<WindowRef*>(&m_npCGContext.window));
ASSERT(m_npCGContext.window);
// FIXME: Disable the backing store.
@@ -602,7 +601,27 @@ void NetscapePlugin::windowFocusChanged(bool hasFocus)
}
}
-void NetscapePlugin::windowFrameChanged(const IntRect& windowFrame)
+#ifndef NP_NO_CARBON
+static Rect computeFakeWindowBoundsRect(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates)
+{
+ // Carbon global coordinates has the origin set at the top left corner of the main viewing screen, so we want to flip the y coordinate.
+ CGFloat maxY = NSMaxY([[[NSScreen screens] objectAtIndex:0] frame]);
+
+ int flippedWindowFrameYCoordinate = maxY - windowFrameInScreenCoordinates.bottom();
+ int flippedViewFrameYCoordinate = windowFrameInScreenCoordinates.height() - viewFrameInWindowCoordinates.bottom();
+
+ Rect bounds;
+
+ bounds.top = flippedWindowFrameYCoordinate + flippedViewFrameYCoordinate;
+ bounds.left = windowFrameInScreenCoordinates.x();
+ bounds.right = bounds.left + viewFrameInWindowCoordinates.width();
+ bounds.bottom = bounds.top + viewFrameInWindowCoordinates.height();
+
+ return bounds;
+}
+#endif
+
+void NetscapePlugin::windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates)
{
switch (m_eventModel) {
case NPEventModelCocoa:
@@ -611,16 +630,12 @@ void NetscapePlugin::windowFrameChanged(const IntRect& windowFrame)
#ifndef NP_NO_CARBON
case NPEventModelCarbon: {
- ::Rect bounds;
- bounds.top = windowFrame.y() + windowFrame.height();
- bounds.left = windowFrame.x();
- bounds.right = windowFrame.right();
- bounds.bottom = windowFrame.y();
+ Rect bounds = computeFakeWindowBoundsRect(windowFrameInScreenCoordinates, viewFrameInWindowCoordinates);
::SetWindowBounds(windowRef(), kWindowStructureRgn, &bounds);
+#endif
break;
}
-#endif
default:
ASSERT_NOT_REACHED();
diff --git a/WebKit2/WebProcess/Plugins/Plugin.h b/WebKit2/WebProcess/Plugins/Plugin.h
index 825eddc..fd0c09a 100644
--- a/WebKit2/WebProcess/Plugins/Plugin.h
+++ b/WebKit2/WebProcess/Plugins/Plugin.h
@@ -145,8 +145,8 @@ public:
// Tells the plug-in about window focus changes.
virtual void windowFocusChanged(bool) = 0;
- // Tells the plug-in about window frame changes.
- virtual void windowFrameChanged(const WebCore::IntRect&) = 0;
+ // Tells the plug-in about window and plug-in frame changes.
+ virtual void windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates) = 0;
// Tells the plug-in about window visibility changes.
virtual void windowVisibilityChanged(bool) = 0;
diff --git a/WebKit2/WebProcess/Plugins/PluginProxy.cpp b/WebKit2/WebProcess/Plugins/PluginProxy.cpp
index 1330065..b1da783 100644
--- a/WebKit2/WebProcess/Plugins/PluginProxy.cpp
+++ b/WebKit2/WebProcess/Plugins/PluginProxy.cpp
@@ -308,9 +308,9 @@ void PluginProxy::windowFocusChanged(bool hasFocus)
m_connection->connection()->send(Messages::PluginControllerProxy::WindowFocusChanged(hasFocus), m_pluginInstanceID);
}
-void PluginProxy::windowFrameChanged(const IntRect& windowFrame)
+void PluginProxy::windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates)
{
- m_connection->connection()->send(Messages::PluginControllerProxy::WindowFrameChanged(windowFrame), m_pluginInstanceID);
+ m_connection->connection()->send(Messages::PluginControllerProxy::WindowAndViewFramesChanged(windowFrameInScreenCoordinates, viewFrameInWindowCoordinates), m_pluginInstanceID);
}
void PluginProxy::windowVisibilityChanged(bool isVisible)
diff --git a/WebKit2/WebProcess/Plugins/PluginProxy.h b/WebKit2/WebProcess/Plugins/PluginProxy.h
index 94956da..dc69737 100644
--- a/WebKit2/WebProcess/Plugins/PluginProxy.h
+++ b/WebKit2/WebProcess/Plugins/PluginProxy.h
@@ -93,7 +93,7 @@ private:
virtual NPObject* pluginScriptableNPObject();
#if PLATFORM(MAC)
virtual void windowFocusChanged(bool);
- virtual void windowFrameChanged(const WebCore::IntRect&);
+ virtual void windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates);
virtual void windowVisibilityChanged(bool);
#endif
diff --git a/WebKit2/WebProcess/Plugins/PluginView.cpp b/WebKit2/WebProcess/Plugins/PluginView.cpp
index 778619a..8d9b9b2 100644
--- a/WebKit2/WebProcess/Plugins/PluginView.cpp
+++ b/WebKit2/WebProcess/Plugins/PluginView.cpp
@@ -353,12 +353,12 @@ void PluginView::setWindowIsFocused(bool windowIsFocused)
m_plugin->windowFocusChanged(windowIsFocused);
}
-void PluginView::setWindowFrame(const IntRect& windowFrame)
+void PluginView::windowAndViewFramesChanged(const IntRect& windowFrameInScreenCoordinates, const IntRect& viewFrameInWindowCoordinates)
{
if (!m_plugin)
return;
- m_plugin->windowFrameChanged(windowFrame);
+ m_plugin->windowAndViewFramesChanged(windowFrameInScreenCoordinates, viewFrameInWindowCoordinates);
}
#endif
@@ -407,7 +407,7 @@ void PluginView::initializePlugin()
}
}
- setWindowFrame(m_webPage->windowFrame());
+ windowAndViewFramesChanged(m_webPage->windowFrameInScreenCoordinates(), m_webPage->viewFrameInWindowCoordinates());
setWindowIsVisible(m_webPage->windowIsVisible());
setWindowIsFocused(m_webPage->windowIsFocused());
#endif
diff --git a/WebKit2/WebProcess/Plugins/PluginView.h b/WebKit2/WebProcess/Plugins/PluginView.h
index 5346297..9d64859 100644
--- a/WebKit2/WebProcess/Plugins/PluginView.h
+++ b/WebKit2/WebProcess/Plugins/PluginView.h
@@ -61,7 +61,7 @@ public:
#if PLATFORM(MAC)
void setWindowIsVisible(bool);
void setWindowIsFocused(bool);
- void setWindowFrame(const WebCore::IntRect&);
+ void windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates);
#endif
private:
diff --git a/WebKit2/WebProcess/WebPage/WebPage.cpp b/WebKit2/WebProcess/WebPage/WebPage.cpp
index 39c2767..255ef69 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.cpp
+++ b/WebKit2/WebProcess/WebPage/WebPage.cpp
@@ -1065,13 +1065,14 @@ void WebPage::setWindowIsVisible(bool windowIsVisible)
(*it)->setWindowIsVisible(windowIsVisible);
}
-void WebPage::setWindowFrame(const IntRect& windowFrame)
+void WebPage::windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates)
{
- m_windowFrame = windowFrame;
+ m_windowFrameInScreenCoordinates = windowFrameInScreenCoordinates;
+ m_viewFrameInWindowCoordinates = viewFrameInWindowCoordinates;
- // Tell all our plug-in views that the window frame changed.
+ // Tell all our plug-in views that the window and view frames have changed.
for (HashSet<PluginView*>::const_iterator it = m_pluginViews.begin(), end = m_pluginViews.end(); it != end; ++it)
- (*it)->setWindowFrame(windowFrame);
+ (*it)->windowAndViewFramesChanged(windowFrameInScreenCoordinates, viewFrameInWindowCoordinates);
}
bool WebPage::windowIsFocused() const
diff --git a/WebKit2/WebProcess/WebPage/WebPage.h b/WebKit2/WebProcess/WebPage/WebPage.h
index 5c0b72d..6c9495a 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.h
+++ b/WebKit2/WebProcess/WebPage/WebPage.h
@@ -185,7 +185,8 @@ public:
void removePluginView(PluginView*);
bool windowIsVisible() const { return m_windowIsVisible; }
- const WebCore::IntRect& windowFrame() const { return m_windowFrame; }
+ const WebCore::IntRect& windowFrameInScreenCoordinates() const { return m_windowFrameInScreenCoordinates; }
+ const WebCore::IntRect& viewFrameInWindowCoordinates() const { return m_viewFrameInWindowCoordinates; }
bool windowIsFocused() const;
bool interceptEditingKeyboardEvent(WebCore::KeyboardEvent*, bool);
#elif PLATFORM(WIN)
@@ -288,7 +289,7 @@ private:
#if PLATFORM(MAC)
void setWindowIsVisible(bool windowIsVisible);
- void setWindowFrame(const WebCore::IntRect&);
+ void windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates);
#endif
void unapplyEditCommand(uint64_t commandID);
@@ -327,8 +328,11 @@ private:
// Whether the containing window is visible or not.
bool m_windowIsVisible;
- // The frame of the containing window.
- WebCore::IntRect m_windowFrame;
+ // The frame of the containing window in screen coordinates.
+ WebCore::IntRect m_windowFrameInScreenCoordinates;
+
+ // The frame of the view in window coordinates.
+ WebCore::IntRect m_viewFrameInWindowCoordinates;
// All plug-in views on this web page.
HashSet<PluginView*> m_pluginViews;
diff --git a/WebKit2/WebProcess/WebPage/WebPage.messages.in b/WebKit2/WebProcess/WebPage/WebPage.messages.in
index ef86ad1..7156a3c 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.messages.in
+++ b/WebKit2/WebProcess/WebPage/WebPage.messages.in
@@ -92,7 +92,7 @@ messages -> WebPage {
#if PLATFORM(MAC)
SetWindowIsVisible(bool windowIsVisible)
- SetWindowFrame(WebCore::IntRect windowFrame)
+ WindowAndViewFramesChanged(WebCore::IntRect windowFrameInScreenCoordinates, WebCore::IntRect viewFrameInWindowCoordinates)
#endif
#if PLATFORM(QT)
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list