Title: [105161] trunk/Source/WebKit/gtk
Revision
105161
Author
[email protected]
Date
2012-01-17 08:03:12 -0800 (Tue, 17 Jan 2012)

Log Message

[Gtk] Input text field not repainted when value is changed
https://bugs.webkit.org/show_bug.cgi?id=76279

Patch by Martin Robinson <[email protected]> on 2012-01-17
Reviewed by Gustavo Noronha Silva.

Force pending relayouts before freezing the dirty region in a temporary.
This prevents the following code from throwing the dirty updates away
after the original paint is finished.

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::paintWebView): Remove the relayout.
(WebKit::ChromeClient::paint): Move the relayout here, before the
dirty region is frozen.

Modified Paths

Diff

Modified: trunk/Source/WebKit/gtk/ChangeLog (105160 => 105161)


--- trunk/Source/WebKit/gtk/ChangeLog	2012-01-17 15:45:47 UTC (rev 105160)
+++ trunk/Source/WebKit/gtk/ChangeLog	2012-01-17 16:03:12 UTC (rev 105161)
@@ -1,3 +1,19 @@
+2012-01-17  Martin Robinson  <[email protected]>
+
+        [Gtk] Input text field not repainted when value is changed
+        https://bugs.webkit.org/show_bug.cgi?id=76279
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Force pending relayouts before freezing the dirty region in a temporary.
+        This prevents the following code from throwing the dirty updates away
+        after the original paint is finished.
+
+        * WebCoreSupport/ChromeClientGtk.cpp:
+        (WebKit::paintWebView): Remove the relayout.
+        (WebKit::ChromeClient::paint): Move the relayout here, before the
+        dirty region is frozen.
+
 2012-01-16  Carlos Garcia Campos  <[email protected]>
 
         [GTK] Update NEWS and configure.ac for 1.7.4 release

Modified: trunk/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp (105160 => 105161)


--- trunk/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp	2012-01-17 15:45:47 UTC (rev 105160)
+++ trunk/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp	2012-01-17 16:03:12 UTC (rev 105161)
@@ -504,7 +504,6 @@
 
     Vector<IntRect> rects = dirtyRegion.rects();
     coalesceRectsIfPossible(dirtyRegion.bounds(), rects);
-    frame->view()->updateLayoutAndStyleIfNeededRecursive();
 
     RefPtr<cairo_t> backingStoreContext = adoptRef(cairo_create(webView->priv->backingStore->cairoSurface()));
     GraphicsContext gc(backingStoreContext.get());
@@ -560,6 +559,7 @@
         return;
 
     performAllPendingScrolls();
+    frame->view()->updateLayoutAndStyleIfNeededRecursive();
     paintWebView(m_webView, frame, m_dirtyRegion);
 
     const IntRect& rect = m_dirtyRegion.bounds();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to