Title: [119659] trunk
Revision
119659
Author
[email protected]
Date
2012-06-06 18:28:47 -0700 (Wed, 06 Jun 2012)

Log Message

Use enclosingIntRect instead of pixelSnappedIntRect in RenderFileUploadControl
https://bugs.webkit.org/show_bug.cgi?id=88454

Reviewed by Kent Tamura.

Source/WebCore: 

Properly clipping the file upload control to avoid clipping out the top of the file upload button
when the control is positioned at a sub-pixel offset that rounds up.

Test: fast/sub-pixel/file-upload-control-at-fractional-offset.html

* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):

LayoutTests: 

Skipping new test on non-chromium platforms, and correcting a typo in several skipped files.
Also updating the bug number in the gtk skipped file to 85532 from 60318 to better reflect
the outstanding work of enabling each port to support sub-pixel layout, instead of sub-pixel
layout itself.

* fast/sub-pixel/file-upload-control-at-fractional-offset.html: Added.
* platform/chromium-mac-snowleopard/fast/sub-pixel: Added.
* platform/chromium-mac-snowleopard/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.txt: Added.
* platform/chromium/TestExpectations:
* platform/efl/Skipped:
* platform/gtk-wk2/Skipped:
* platform/gtk/TestExpectations:
* platform/mac-lion/Skipped:
* platform/mac-snowleopard/Skipped:
* platform/mac-wk2/Skipped:
* platform/mac/Skipped:
* platform/qt-4.8/Skipped:
* platform/qt/Skipped:
* platform/win-wk2/Skipped:
* platform/win-xp/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:
* platform/wk2/Skipped:

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (119658 => 119659)


--- trunk/LayoutTests/ChangeLog	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/ChangeLog	2012-06-07 01:28:47 UTC (rev 119659)
@@ -1,3 +1,35 @@
+2012-06-06  Levi Weintraub  <[email protected]>
+
+        Use enclosingIntRect instead of pixelSnappedIntRect in RenderFileUploadControl
+        https://bugs.webkit.org/show_bug.cgi?id=88454
+
+        Reviewed by Kent Tamura.
+
+        Skipping new test on non-chromium platforms, and correcting a typo in several skipped files.
+        Also updating the bug number in the gtk skipped file to 85532 from 60318 to better reflect
+        the outstanding work of enabling each port to support sub-pixel layout, instead of sub-pixel
+        layout itself.
+
+        * fast/sub-pixel/file-upload-control-at-fractional-offset.html: Added.
+        * platform/chromium-mac-snowleopard/fast/sub-pixel: Added.
+        * platform/chromium-mac-snowleopard/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.png: Added.
+        * platform/chromium-mac-snowleopard/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.txt: Added.
+        * platform/chromium/TestExpectations:
+        * platform/efl/Skipped:
+        * platform/gtk-wk2/Skipped:
+        * platform/gtk/TestExpectations:
+        * platform/mac-lion/Skipped:
+        * platform/mac-snowleopard/Skipped:
+        * platform/mac-wk2/Skipped:
+        * platform/mac/Skipped:
+        * platform/qt-4.8/Skipped:
+        * platform/qt/Skipped:
+        * platform/win-wk2/Skipped:
+        * platform/win-xp/Skipped:
+        * platform/win/Skipped:
+        * platform/wincairo/Skipped:
+        * platform/wk2/Skipped:
+
 2012-06-06  Ryosuke Niwa  <[email protected]>
 
         Revert erroneous change in r119637.

Added: trunk/LayoutTests/fast/sub-pixel/file-upload-control-at-fractional-offset.html (0 => 119659)


--- trunk/LayoutTests/fast/sub-pixel/file-upload-control-at-fractional-offset.html	                        (rev 0)
+++ trunk/LayoutTests/fast/sub-pixel/file-upload-control-at-fractional-offset.html	2012-06-07 01:28:47 UTC (rev 119659)
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html>
+<body>
+<div style="padding: 0.5px;"><input type="file"></input></div>
+</body>

Modified: trunk/LayoutTests/platform/chromium/TestExpectations (119658 => 119659)


--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-06-07 01:28:47 UTC (rev 119659)
@@ -3782,6 +3782,7 @@
 
 // Needs rebaseline after the bots cycle.
 BUG_OJAN WIN MAC : tables/mozilla/bugs/bug131020.html = PASS FAIL
+BUGLEVIW LEOPARD LION WIN LINUX : fast/sub-pixel/file-upload-control-at-fractional-offset.html = PASS FAIL
 
 //BUGWK45991 WIN : platform/chromium/virtual/gpu/canvas/philip/tests/2d.gradient.radial.cone.cylinder.html = TEXT
 //BUGCR84157 WIN : platform/chromium/virtual/gpu/fast/canvas/canvas-currentColor.html = TEXT

Added: trunk/LayoutTests/platform/chromium-mac-snowleopard/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.png


(Binary files differ)
Property changes on: trunk/LayoutTests/platform/chromium-mac-snowleopard/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.png ___________________________________________________________________

Added: svn:mime-type

Added: trunk/LayoutTests/platform/chromium-mac-snowleopard/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.txt (0 => 119659)


--- trunk/LayoutTests/platform/chromium-mac-snowleopard/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/chromium-mac-snowleopard/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.txt	2012-06-07 01:28:47 UTC (rev 119659)
@@ -0,0 +1,11 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x39
+  RenderBlock {HTML} at (0,0) size 800x39
+    RenderBody {BODY} at (8,8) size 784x23
+      RenderBlock {DIV} at (0,0) size 784x23
+        RenderFileUploadControl {INPUT} at (3,2) size 237x19 "No file chosen"
+          RenderButton {INPUT} at (0,-1) size 78x19 [bgcolor=#C0C0C0]
+            RenderBlock (anonymous) at (8,2) size 62x14
+              RenderText at (0,0) size 62x13
+                text run at (0,0) width 62: "Choose File"

Modified: trunk/LayoutTests/platform/efl/Skipped (119658 => 119659)


--- trunk/LayoutTests/platform/efl/Skipped	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/efl/Skipped	2012-06-07 01:28:47 UTC (rev 119659)
@@ -1176,6 +1176,7 @@
 fast/sub-pixel/layout-boxes-with-zoom.html
 fast/sub-pixel/size-of-box-with-zoom.html
 fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 
 # This should only be a layer change
 # http://webkit.org/b/82129

Modified: trunk/LayoutTests/platform/gtk/TestExpectations (119658 => 119659)


--- trunk/LayoutTests/platform/gtk/TestExpectations	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2012-06-07 01:28:47 UTC (rev 119659)
@@ -303,11 +303,11 @@
 BUGWK85212 : ietestcenter/css3/flexbox/flexbox-layout-002.htm = IMAGE
 
 // These tests require subpixel layout to be enabled
-BUGWK60318 : fast/sub-pixel = FAIL
-BUGWK60318 : fast/sub-pixel/float-containing-block-with-margin.html = PASS
-BUGWK60318 : fast/sub-pixel/float-with-right-margin-zoom.html = PASS
-BUGWK60318 : fast/sub-pixel/float-wrap-with-subpixel-top.html = PASS
-BUGWK60318 : fast/sub-pixel/inline-block-with-margin.html = PASS
+BUGWK85532 : fast/sub-pixel = FAIL
+BUGWK85532 : fast/sub-pixel/float-containing-block-with-margin.html = PASS
+BUGWK85532 : fast/sub-pixel/float-with-right-margin-zoom.html = PASS
+BUGWK85532 : fast/sub-pixel/float-wrap-with-subpixel-top.html = PASS
+BUGWK85532 : fast/sub-pixel/inline-block-with-margin.html = PASS
 
 // Mediastream implementation is not complete yet.
 BUGWK79203 SKIP : fast/mediastream = FAIL

Modified: trunk/LayoutTests/platform/gtk-wk2/Skipped (119658 => 119659)


--- trunk/LayoutTests/platform/gtk-wk2/Skipped	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/gtk-wk2/Skipped	2012-06-07 01:28:47 UTC (rev 119659)
@@ -349,7 +349,8 @@
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 
 ###############################################################################
 # TESTS FAILING

Modified: trunk/LayoutTests/platform/mac/Skipped (119658 => 119659)


--- trunk/LayoutTests/platform/mac/Skipped	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/mac/Skipped	2012-06-07 01:28:47 UTC (rev 119659)
@@ -807,7 +807,8 @@
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 
 # media/audio-repaint.html sometimes fails on Lion Debug (Tests)
 # https://bugs.webkit.org/show_bug.cgi?id=84357

Modified: trunk/LayoutTests/platform/mac-lion/Skipped (119658 => 119659)


--- trunk/LayoutTests/platform/mac-lion/Skipped	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/mac-lion/Skipped	2012-06-07 01:28:47 UTC (rev 119659)
@@ -108,6 +108,7 @@
 fast/sub-pixel/layout-boxes-with-zoom.html
 fast/sub-pixel/size-of-box-with-zoom.html
 fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 
 # This media test always failed on Lion
 # https://bugs.webkit.org/show_bug.cgi?id=86527 and <rdar://problem/11458493>

Modified: trunk/LayoutTests/platform/mac-snowleopard/Skipped (119658 => 119659)


--- trunk/LayoutTests/platform/mac-snowleopard/Skipped	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/mac-snowleopard/Skipped	2012-06-07 01:28:47 UTC (rev 119659)
@@ -205,7 +205,8 @@
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 
 # Frame::findString does nothing on pages that prevent selection
 # https://bugs.webkit.org/show_bug.cgi?id=40361

Modified: trunk/LayoutTests/platform/mac-wk2/Skipped (119658 => 119659)


--- trunk/LayoutTests/platform/mac-wk2/Skipped	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/mac-wk2/Skipped	2012-06-07 01:28:47 UTC (rev 119659)
@@ -211,7 +211,8 @@
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 
 # fast/events/pagehide-timeout.html, pageshow-pagehide-on-back-cached-with-frames.html, and
 # pageshow-pagehide-on-back-cached.html flakey on Lion Intel Debug WebKit testers.

Modified: trunk/LayoutTests/platform/qt/Skipped (119658 => 119659)


--- trunk/LayoutTests/platform/qt/Skipped	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/qt/Skipped	2012-06-07 01:28:47 UTC (rev 119659)
@@ -224,6 +224,7 @@
 fast/sub-pixel/layout-boxes-with-zoom.html
 fast/sub-pixel/size-of-box-with-zoom.html
 fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 
 # CSS Regions support not yet enabled. http://webkit.org/b/57312
 fast/regions

Modified: trunk/LayoutTests/platform/qt-4.8/Skipped (119658 => 119659)


--- trunk/LayoutTests/platform/qt-4.8/Skipped	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/qt-4.8/Skipped	2012-06-07 01:28:47 UTC (rev 119659)
@@ -87,7 +87,8 @@
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 
 # SVG Fonts are only supported when using QRawFont, which is not
 # supported with Qt 4.

Modified: trunk/LayoutTests/platform/win/Skipped (119658 => 119659)


--- trunk/LayoutTests/platform/win/Skipped	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/win/Skipped	2012-06-07 01:28:47 UTC (rev 119659)
@@ -1747,6 +1747,7 @@
 fast/sub-pixel/layout-boxes-with-zoom.html
 fast/sub-pixel/size-of-box-with-zoom.html
 fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 
 # http://webkit.org/b/82886
 inspector/styles/override-screen-size.html

Modified: trunk/LayoutTests/platform/win-wk2/Skipped (119658 => 119659)


--- trunk/LayoutTests/platform/win-wk2/Skipped	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/win-wk2/Skipped	2012-06-07 01:28:47 UTC (rev 119659)
@@ -944,7 +944,8 @@
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 
 # HiDPI tests require test infrastructure enhancements
 fast/hidpi

Modified: trunk/LayoutTests/platform/win-xp/Skipped (119658 => 119659)


--- trunk/LayoutTests/platform/win-xp/Skipped	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/win-xp/Skipped	2012-06-07 01:28:47 UTC (rev 119659)
@@ -44,7 +44,8 @@
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 
 # REGRESSION (r83928 or before): Some tests failing assertions in MarkStack::internalAppend / MarkStack::drain
 # https://bugs.webkit.org/show_bug.cgi?id=58657

Modified: trunk/LayoutTests/platform/wincairo/Skipped (119658 => 119659)


--- trunk/LayoutTests/platform/wincairo/Skipped	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/wincairo/Skipped	2012-06-07 01:28:47 UTC (rev 119659)
@@ -2095,7 +2095,8 @@
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 
 #Battery Status API is not implemented.
 batterystatus

Modified: trunk/LayoutTests/platform/wk2/Skipped (119658 => 119659)


--- trunk/LayoutTests/platform/wk2/Skipped	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/LayoutTests/platform/wk2/Skipped	2012-06-07 01:28:47 UTC (rev 119659)
@@ -95,6 +95,7 @@
 fast/sub-pixel/layout-boxes-with-zoom.html
 fast/sub-pixel/size-of-box-with-zoom.html
 fast/sub-pixel/selection-gaps-at-fractional-offsets.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 
 # CONSOLE MESSAGE: line 0: SVG animation pause API missing!
 # [WK2] SVG animation pause API missing

Modified: trunk/Source/WebCore/ChangeLog (119658 => 119659)


--- trunk/Source/WebCore/ChangeLog	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/Source/WebCore/ChangeLog	2012-06-07 01:28:47 UTC (rev 119659)
@@ -1,3 +1,18 @@
+2012-06-06  Levi Weintraub  <[email protected]>
+
+        Use enclosingIntRect instead of pixelSnappedIntRect in RenderFileUploadControl
+        https://bugs.webkit.org/show_bug.cgi?id=88454
+
+        Reviewed by Kent Tamura.
+
+        Properly clipping the file upload control to avoid clipping out the top of the file upload button
+        when the control is positioned at a sub-pixel offset that rounds up.
+
+        Test: fast/sub-pixel/file-upload-control-at-fractional-offset.html
+
+        * rendering/RenderFileUploadControl.cpp:
+        (WebCore::RenderFileUploadControl::paintObject):
+
 2012-06-06  Filip Pizlo  <[email protected]>
 
         Global object variable accesses should not require an extra load

Modified: trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp (119658 => 119659)


--- trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp	2012-06-07 01:26:48 UTC (rev 119658)
+++ trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp	2012-06-07 01:28:47 UTC (rev 119659)
@@ -109,8 +109,8 @@
     // Push a clip.
     GraphicsContextStateSaver stateSaver(*paintInfo.context, false);
     if (paintInfo.phase == PaintPhaseForeground || paintInfo.phase == PaintPhaseChildBlockBackgrounds) {
-        IntRect clipRect = pixelSnappedIntRect(paintOffset.x() + borderLeft(), paintOffset.y() + borderTop(),
-                         width() - borderLeft() - borderRight(), height() - borderBottom() - borderTop() + buttonShadowHeight);
+        IntRect clipRect = enclosingIntRect(LayoutRect(paintOffset.x() + borderLeft(), paintOffset.y() + borderTop(),
+                         width() - borderLeft() - borderRight(), height() - borderBottom() - borderTop() + buttonShadowHeight));
         if (clipRect.isEmpty())
             return;
         stateSaver.save();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to