Title: [149145] trunk/Source/WebKit/blackberry
Revision
149145
Author
[email protected]
Date
2013-04-25 14:39:35 -0700 (Thu, 25 Apr 2013)

Log Message

[BlackBerry] Selection overlay on non-composited iframes are incorrectly positioned.
https://bugs.webkit.org/show_bug.cgi?id=115197

Patch by Andrew Lo <[email protected]> on 2013-04-25
Reviewed by Rob Buis.

When drawing the selection overlay, the rects to
paint when selecting text on non-composited sub-frames
need to be adjusted by the frame position.

* WebKitSupport/SelectionOverlay.cpp:
(BlackBerry::WebKit::SelectionOverlay::paintContents):

Modified Paths

Diff

Modified: trunk/Source/WebKit/blackberry/ChangeLog (149144 => 149145)


--- trunk/Source/WebKit/blackberry/ChangeLog	2013-04-25 21:29:45 UTC (rev 149144)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2013-04-25 21:39:35 UTC (rev 149145)
@@ -1,3 +1,17 @@
+2013-04-25  Andrew Lo  <[email protected]>
+
+        [BlackBerry] Selection overlay on non-composited iframes are incorrectly positioned.
+        https://bugs.webkit.org/show_bug.cgi?id=115197
+
+        Reviewed by Rob Buis.
+
+        When drawing the selection overlay, the rects to
+        paint when selecting text on non-composited sub-frames
+        need to be adjusted by the frame position.
+
+        * WebKitSupport/SelectionOverlay.cpp:
+        (BlackBerry::WebKit::SelectionOverlay::paintContents):
+
 2013-04-25  Andreas Kling  <[email protected]>
 
         Remove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on.

Modified: trunk/Source/WebKit/blackberry/WebKitSupport/SelectionOverlay.cpp (149144 => 149145)


--- trunk/Source/WebKit/blackberry/WebKitSupport/SelectionOverlay.cpp	2013-04-25 21:29:45 UTC (rev 149144)
+++ trunk/Source/WebKit/blackberry/WebKitSupport/SelectionOverlay.cpp	2013-04-25 21:39:35 UTC (rev 149145)
@@ -22,11 +22,13 @@
 
 #include "SelectionOverlay.h"
 
+#include "Frame.h"
 #include "GraphicsContext.h"
 #include "LayerMessage.h"
 #include "LayerWebKitThread.h"
 #include "Path.h"
 #include "RenderTheme.h"
+#include "RenderView.h"
 #include "WebPage_p.h"
 
 #include <BlackBerryPlatformMessageClient.h>
@@ -111,6 +113,13 @@
 
     for (unsigned i = 0; i < quads.size(); ++i) {
         FloatRect rectToPaint = quads[i].boundingBox();
+
+        // Selection on non-composited sub-frames need to be adjusted.
+        if (!m_page->focusedOrMainFrame()->contentRenderer()->isComposited()) {
+            WebCore::IntPoint framePosition = m_page->frameOffset(m_page->focusedOrMainFrame());
+            rectToPaint.move(framePosition.x(), framePosition.y());
+        }
+
         rectToPaint.intersect(clip);
         if (rectToPaint.isEmpty())
             continue;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to