webview not redrawn as needed when accelerated compositing is enabled.

https://bugs.webkit.org/show_bug.cgi?id=99109

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2012-10-29
Reviewed by Martin Robinson.

GL shared display is not in the gtk loop and therefore, its events are
not captured by gtk. So, we use gdk default instead.

No new tests, covered by existing tests.

* platform/gtk/RedirectedXCompositeWindow.cpp:
(WebCore::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
(WebCore::RedirectedXCompositeWindow::~RedirectedXCompositeWindow):
(WebCore::RedirectedXCompositeWindow::resize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132823 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent b7e62150
2012-10-29 Arnaud Renevier <a.renevier@sisa.samsung.com>
webview not redrawn as needed when accelerated compositing is enabled.
https://bugs.webkit.org/show_bug.cgi?id=99109
Reviewed by Martin Robinson.
GL shared display is not in the gtk loop and therefore, its events are
not captured by gtk. So, we use gdk default instead.
No new tests, covered by existing tests.
* platform/gtk/RedirectedXCompositeWindow.cpp:
(WebCore::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
(WebCore::RedirectedXCompositeWindow::~RedirectedXCompositeWindow):
(WebCore::RedirectedXCompositeWindow::resize):
2012-10-29 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: bind redo to Ctrl+Y on non-mac platforms
......@@ -108,7 +108,7 @@ RedirectedXCompositeWindow::RedirectedXCompositeWindow(const IntSize& size)
, m_damageNotifyCallback(0)
, m_damageNotifyData(0)
{
Display* display = GLContext::sharedX11Display();
Display* display = GDK_DISPLAY_XDISPLAY(gdk_display_get_default());
Screen* screen = DefaultScreenOfDisplay(display);
// This is based on code from Chromium: src/content/common/gpu/image_transport_surface_linux.cc
......@@ -163,7 +163,7 @@ RedirectedXCompositeWindow::~RedirectedXCompositeWindow()
if (getWindowHashMap().isEmpty())
gdk_window_remove_filter(0, reinterpret_cast<GdkFilterFunc>(filterXDamageEvent), 0);
Display* display = GLContext::sharedX11Display();
Display* display = GDK_DISPLAY_XDISPLAY(gdk_display_get_default());
XDamageDestroy(display, m_damage);
XDestroyWindow(display, m_window);
XDestroyWindow(display, m_parentWindow);
......@@ -172,7 +172,7 @@ RedirectedXCompositeWindow::~RedirectedXCompositeWindow()
void RedirectedXCompositeWindow::resize(const IntSize& size)
{
Display* display = GLContext::sharedX11Display();
Display* display = GDK_DISPLAY_XDISPLAY(gdk_display_get_default());
XResizeWindow(display, m_window, size.width(), size.height());
XFlush(display);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment