Diff
Modified: branches/safari-534-branch/Source/WebKit2/ChangeLog (88819 => 88820)
--- branches/safari-534-branch/Source/WebKit2/ChangeLog 2011-06-14 17:37:25 UTC (rev 88819)
+++ branches/safari-534-branch/Source/WebKit2/ChangeLog 2011-06-14 17:40:01 UTC (rev 88820)
@@ -1,5 +1,37 @@
2011-06-14 Lucas Forschler <[email protected]>
+ Merged 87806.
+
+ 2011-06-01 Adam Roben <[email protected]>
+
+ Route plugin window geometry updates through the DrawingArea
+
+ This will allow the geometry updates to be handled by the LayerTreeHost in compositing mode
+ in the future.
+
+ More rep work for <http://webkit.org/b/58054> <rdar://problem/9249839> REGRESSION (WebKit2):
+ Accelerated CSS animations have a lower framerate than in WebKit1
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::scheduleWindowedPluginGeometryUpdate): Tell the DrawingArea, not the
+ WebPage, about the geometry update.
+
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/win/DrawingAreaImplWin.cpp: Added.
+ (WebKit::DrawingAreaImpl::scheduleChildWindowGeometryUpdate):
+ Moved code here...
+
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ ...from here.
+
+ * win/WebKit2.vcproj: Added DrawingAreaImplWin.cpp.
+
+2011-06-14 Lucas Forschler <[email protected]>
+
Merged 87805.
2011-06-01 Adam Roben <[email protected]>
Modified: branches/safari-534-branch/Source/WebKit2/WebProcess/Plugins/PluginView.cpp (88819 => 88820)
--- branches/safari-534-branch/Source/WebKit2/WebProcess/Plugins/PluginView.cpp 2011-06-14 17:37:25 UTC (rev 88819)
+++ branches/safari-534-branch/Source/WebKit2/WebProcess/Plugins/PluginView.cpp 2011-06-14 17:40:01 UTC (rev 88820)
@@ -1058,7 +1058,7 @@
void PluginView::scheduleWindowedPluginGeometryUpdate(const WindowGeometry& geometry)
{
- m_webPage->scheduleChildWindowGeometryUpdate(geometry);
+ m_webPage->drawingArea()->scheduleChildWindowGeometryUpdate(geometry);
}
#endif
Modified: branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/DrawingArea.h (88819 => 88820)
--- branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/DrawingArea.h 2011-06-14 17:37:25 UTC (rev 88819)
+++ branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/DrawingArea.h 2011-06-14 17:40:01 UTC (rev 88820)
@@ -46,6 +46,10 @@
class WebPage;
struct WebPageCreationParameters;
+#if PLATFORM(WIN)
+struct WindowGeometry;
+#endif
+
class DrawingArea {
WTF_MAKE_NONCOPYABLE(DrawingArea);
@@ -77,6 +81,10 @@
virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) = 0;
+#if PLATFORM(WIN)
+ virtual void scheduleChildWindowGeometryUpdate(const WindowGeometry&) = 0;
+#endif
+
protected:
DrawingArea(DrawingAreaType, WebPage*);
Modified: branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h (88819 => 88820)
--- branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h 2011-06-14 17:37:25 UTC (rev 88819)
+++ branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h 2011-06-14 17:40:01 UTC (rev 88820)
@@ -64,6 +64,10 @@
virtual void syncCompositingLayers();
virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+#if PLATFORM(WIN)
+ virtual void scheduleChildWindowGeometryUpdate(const WindowGeometry&);
+#endif
+
// CoreIPC message handlers.
virtual void updateBackingStoreState(uint64_t backingStoreStateID, bool respondImmediately, const WebCore::IntSize&, const WebCore::IntSize& scrollOffset);
virtual void didUpdate();
Modified: branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/WebPage.h (88819 => 88820)
--- branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/WebPage.h 2011-06-14 17:37:25 UTC (rev 88819)
+++ branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/WebPage.h 2011-06-14 17:40:01 UTC (rev 88820)
@@ -112,10 +112,6 @@
struct WebPageCreationParameters;
struct WebPreferencesStore;
-#if PLATFORM(WIN)
-struct WindowGeometry;
-#endif
-
#if ENABLE(GESTURE_EVENTS)
class WebGestureEvent;
#endif
@@ -264,7 +260,6 @@
const WebCore::IntRect& viewFrameInWindowCoordinates() const { return m_viewFrameInWindowCoordinates; }
#elif PLATFORM(WIN)
HWND nativeWindow() const { return m_nativeWindow; }
- void scheduleChildWindowGeometryUpdate(const WindowGeometry&);
#endif
bool windowIsFocused() const;
Copied: branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/win/DrawingAreaImplWin.cpp (from rev 87806, trunk/Source/WebKit2/WebProcess/WebPage/win/DrawingAreaImplWin.cpp) (0 => 88820)
--- branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/win/DrawingAreaImplWin.cpp (rev 0)
+++ branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/win/DrawingAreaImplWin.cpp 2011-06-14 17:40:01 UTC (rev 88820)
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "DrawingAreaImpl.h"
+
+#include "WebPage.h"
+#include "WebPageProxyMessages.h"
+#include "WindowGeometry.h"
+
+namespace WebKit {
+
+void DrawingAreaImpl::scheduleChildWindowGeometryUpdate(const WindowGeometry& geometry)
+{
+ // FIXME: This should be a Messages::DrawingAreaProxy, and DrawingAreaProxy should pass the
+ // data off to the WebPageProxy.
+ m_webPage->send(Messages::WebPageProxy::ScheduleChildWindowGeometryUpdate(geometry));
+}
+
+} // namespace WebKit
\ No newline at end of file
Modified: branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/win/WebPageWin.cpp (88819 => 88820)
--- branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/win/WebPageWin.cpp 2011-06-14 17:37:25 UTC (rev 88819)
+++ branches/safari-534-branch/Source/WebKit2/WebProcess/WebPage/win/WebPageWin.cpp 2011-06-14 17:40:01 UTC (rev 88820)
@@ -32,7 +32,6 @@
#include "WebPageProxyMessages.h"
#include "WebPreferencesStore.h"
#include "WebProcess.h"
-#include "WindowGeometry.h"
#include <WebCore/FocusController.h>
#include <WebCore/FontRenderingMode.h>
#include <WebCore/Frame.h>
@@ -466,9 +465,4 @@
m_gestureTargetNode = nullptr;
}
-void WebPage::scheduleChildWindowGeometryUpdate(const WindowGeometry& geometry)
-{
- WebProcess::shared().connection()->send(Messages::WebPageProxy::ScheduleChildWindowGeometryUpdate(geometry), m_pageID);
-}
-
} // namespace WebKit
Modified: branches/safari-534-branch/Source/WebKit2/win/WebKit2.vcproj (88819 => 88820)
--- branches/safari-534-branch/Source/WebKit2/win/WebKit2.vcproj 2011-06-14 17:37:25 UTC (rev 88819)
+++ branches/safari-534-branch/Source/WebKit2/win/WebKit2.vcproj 2011-06-14 17:40:01 UTC (rev 88820)
@@ -1997,6 +1997,10 @@
>
</File>
<File
+ RelativePath="..\WebProcess\WebPage\win\DrawingAreaImplWin.cpp"
+ >
+ </File>
+ <File
RelativePath="..\WebProcess\WebPage\win\LayerTreeHostWin.cpp"
>
</File>