Title: [112570] trunk/Source/WebKit/blackberry
Revision
112570
Author
[email protected]
Date
2012-03-29 13:39:54 -0700 (Thu, 29 Mar 2012)

Log Message

Unreviewed, rolling out r111259.
http://trac.webkit.org/changeset/111259
https://bugs.webkit.org/show_bug.cgi?id=82650

Caused selection regression in calculations due to
misconstructed IntRectRegion. (Requested by mfenton on
#webkit).

Patch by Sheriff Bot <[email protected]> on 2012-03-29

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::getConsolidatedRegionOfTextQuadsForSelection):

Modified Paths

Diff

Modified: trunk/Source/WebKit/blackberry/ChangeLog (112569 => 112570)


--- trunk/Source/WebKit/blackberry/ChangeLog	2012-03-29 20:37:38 UTC (rev 112569)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2012-03-29 20:39:54 UTC (rev 112570)
@@ -1,5 +1,18 @@
 2012-03-29  Sheriff Bot  <[email protected]>
 
+        Unreviewed, rolling out r111259.
+        http://trac.webkit.org/changeset/111259
+        https://bugs.webkit.org/show_bug.cgi?id=82650
+
+        Caused selection regression in calculations due to
+        misconstructed IntRectRegion. (Requested by mfenton on
+        #webkit).
+
+        * WebKitSupport/SelectionHandler.cpp:
+        (BlackBerry::WebKit::SelectionHandler::getConsolidatedRegionOfTextQuadsForSelection):
+
+2012-03-29  Sheriff Bot  <[email protected]>
+
         Unreviewed, rolling out r112553.
         http://trac.webkit.org/changeset/112553
         https://bugs.webkit.org/show_bug.cgi?id=82638

Modified: trunk/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp (112569 => 112570)


--- trunk/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp	2012-03-29 20:37:38 UTC (rev 112569)
+++ trunk/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp	2012-03-29 20:39:54 UTC (rev 112570)
@@ -112,18 +112,15 @@
         // framePosition is in main frame coordinates.
         WebCore::IntPoint framePosition = m_webPage->frameOffset(m_webPage->focusedOrMainFrame());
 
-        // Convert the text quads into a more platform friendy
-        // IntRectRegion and adjust for subframes.
-        std::vector<Platform::IntRect> adjustedIntRects;
-        Platform::IntRect selectionBoundingBox;
+        // The ranges rect list is based on render elements and may include multiple adjacent rects.
+        // Use IntRectRegion to consolidate these rects into bands as well as a container to pass
+        // to the client.
         for (unsigned i = 0; i < quadList.size(); i++) {
             WebCore::IntRect enclosingRect = quadList[i].enclosingBoundingBox();
             enclosingRect.intersect(frameRect);
             enclosingRect.move(framePosition.x(), framePosition.y());
-            adjustedIntRects.push_back(enclosingRect);
-            selectionBoundingBox = unionOfRects(enclosingRect, selectionBoundingBox);
+            region = unionRegions(region, IntRectRegion(enclosingRect));
         }
-        region = IntRectRegion(selectionBoundingBox, adjustedIntRects.size(), adjustedIntRects);
     }
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to