Title: [118768] trunk/Source/WebCore
Revision
118768
Author
[email protected]
Date
2012-05-29 06:41:08 -0700 (Tue, 29 May 2012)

Log Message

[Chromium] [Regression] SELECT popup misplaced when there is not enough vertical space
https://bugs.webkit.org/show_bug.cgi?id=87735

Reviewed by Kent Tamura.

This change fixes the obsolete WebWidget Y-repositioning code for the insufficient vertical space case, not removed in r113418.

No new tests, as popups are not testable in Chromium.

* platform/chromium/PopupContainer.cpp:
(WebCore::PopupContainer::layoutAndCalculateWidgetRect):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (118767 => 118768)


--- trunk/Source/WebCore/ChangeLog	2012-05-29 13:39:52 UTC (rev 118767)
+++ trunk/Source/WebCore/ChangeLog	2012-05-29 13:41:08 UTC (rev 118768)
@@ -1,3 +1,17 @@
+2012-05-29  Alexander Pavlov  <[email protected]>
+
+        [Chromium] [Regression] SELECT popup misplaced when there is not enough vertical space
+        https://bugs.webkit.org/show_bug.cgi?id=87735
+
+        Reviewed by Kent Tamura.
+
+        This change fixes the obsolete WebWidget Y-repositioning code for the insufficient vertical space case, not removed in r113418.
+
+        No new tests, as popups are not testable in Chromium.
+
+        * platform/chromium/PopupContainer.cpp:
+        (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
+
 2012-05-29  Andrei Bucur  <[email protected]>
 
         [CSS Regions]Rename NamedFlow::overflow to NamedFlow::overset

Modified: trunk/Source/WebCore/platform/chromium/PopupContainer.cpp (118767 => 118768)


--- trunk/Source/WebCore/platform/chromium/PopupContainer.cpp	2012-05-29 13:39:52 UTC (rev 118767)
+++ trunk/Source/WebCore/platform/chromium/PopupContainer.cpp	2012-05-29 13:41:08 UTC (rev 118768)
@@ -185,13 +185,10 @@
                 else
                     m_listBox->setMaxHeight(spaceBelow);
                 layoutAndGetRTLOffset();
-                // Our height has changed, so recompute only Y axis of widgetRect.
-                // We don't have to recompute X axis, so we only replace Y axis
-                // in widgetRect.
-                IntRect frameInScreen = chromeClient->rootViewToScreen(frameRect());
-                widgetRectInScreen.setY(frameInScreen.y());
-                widgetRectInScreen.setHeight(frameInScreen.height());
-                // And move upwards if necessary.
+                // Container height may have changed in layoutAndGetRTLOffset(),
+                // so set the WebWidget height to the container height.
+                widgetRectInScreen.setHeight(height());
+                // Move WebWidget upwards if necessary.
                 if (spaceAbove > spaceBelow)
                     widgetRectInScreen.move(0, -(widgetRectInScreen.height() + targetControlHeight));
             }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to