Diff
Modified: trunk/LayoutTests/ChangeLog (100195 => 100196)
--- trunk/LayoutTests/ChangeLog 2011-11-14 22:42:36 UTC (rev 100195)
+++ trunk/LayoutTests/ChangeLog 2011-11-14 22:47:05 UTC (rev 100196)
@@ -1,3 +1,19 @@
+2011-11-14 Fady Samuel <[email protected]>
+
+ [Chromium] setPageScaleFactor and associated methods should take scaling limits into account
+ https://bugs.webkit.org/show_bug.cgi?id=72176
+
+ Reviewed by Darin Fisher.
+
+ Rebaselined some tests that broke because we now clamp pageScaleFactor to 0.25 (these test at 0.2).
+
+ Since this is a Chromium only change, the new baselines are only for Chromium.
+
+ * platform/chromium-linux/fast/repaint/scale-page-shrink-expected.png:
+ * platform/chromium-linux/fast/repaint/scale-page-shrink-expected.txt: Added.
+ * platform/chromium/fast/repaint/background-scaling-expected.png: Copied from LayoutTests/platform/chromium-linux/fast/repaint/scale-page-shrink-expected.png.
+ * platform/chromium/fast/repaint/background-scaling-expected.txt: Added.
+
2011-11-14 Robert Hogan <[email protected]>
Platform-specific results for r100177
Copied: trunk/LayoutTests/platform/chromium/fast/repaint/background-scaling-expected.png (from rev 100195, trunk/LayoutTests/platform/chromium-linux/fast/repaint/scale-page-shrink-expected.png) (0 => 100196)
--- trunk/LayoutTests/platform/chromium/fast/repaint/background-scaling-expected.png (rev 0)
+++ trunk/LayoutTests/platform/chromium/fast/repaint/background-scaling-expected.png 2011-11-14 22:47:05 UTC (rev 100196)
@@ -0,0 +1,8 @@
+\x89PNG
+
+
+IHDR X ' )tEXtchecksum d55b52898000c44e044cc91461f9b2d1\xBD<\x81
+\xB5IDATx\x9C\xED\xD8\xC1 \xC00A;\x8D'\x9D_\x9AX0\x98\x99
+\xF4\\xB4 7 \xC7<\xA7 \xDCF` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @l\xCF\xCC\xE9
+ W\xF1` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4~\x9C:
+\xA9\xFA\xB7\\x92 IEND\xAEB`\x82
\ No newline at end of file
Added: trunk/LayoutTests/platform/chromium/fast/repaint/background-scaling-expected.txt (0 => 100196)
--- trunk/LayoutTests/platform/chromium/fast/repaint/background-scaling-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/chromium/fast/repaint/background-scaling-expected.txt 2011-11-14 22:47:05 UTC (rev 100196)
@@ -0,0 +1,6 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600 [bgcolor=#008000]
+ RenderBody {BODY} at (0,0) size 800x600
+ RenderBlock {DIV} at (0,0) size 800x100 [bgcolor=#008000]
Modified: trunk/LayoutTests/platform/chromium-linux/fast/repaint/scale-page-shrink-expected.png (100195 => 100196)
--- trunk/LayoutTests/platform/chromium-linux/fast/repaint/scale-page-shrink-expected.png 2011-11-14 22:42:36 UTC (rev 100195)
+++ trunk/LayoutTests/platform/chromium-linux/fast/repaint/scale-page-shrink-expected.png 2011-11-14 22:47:05 UTC (rev 100196)
@@ -1,8 +1,4 @@
\x89PNG
-IHDR X ' )tEXtchecksum 50f633235423d736b2abb75e4985d605\xC0v\x83 oIDATx\x9C\xED\xDB]oUe\xDE\xC0\xE1\xDD\xD2\xF6\x80(\xBE$\x81Lt<\x9B\xC4c?\xC2\xF3)<\x98\x8F\xE1ט̑\x891\xA3bl\x82
-\xA3 h\xA8\xDB:
-jAZ0J \x94\xDD\xFDl\xD3\xF1q\x9C\xC9\xCC<\xBFgr]M\xD7Z\xF7\xFA\xAF{\xEF\xEC\x83_\xFA25\x8F t\xA6\xF5 \xFE\xDB\xFC5\xB0F\xA3\xD1\xCE\xD7\xC6\xDF[\xF9\xCFO\xF8\xF7\xD6\xFF\xFC\x96p\xEF\xAF^\xFA\xC5\xC9\xD1h\xF4\xB7\xCB\xFE\xF1\x99_|\xFF\xF0\xE1\xC3\xED\xED\xED\xBF}\xD0\xDF;\xFF\xAB\xFD7\xDE \xE0\xB7l\xD7믿>\x8E=\xFA\xD1G\xBD\xF4\xD2K\xA7O\x9F>r\xE4\xC8\xE7\x9F\xFE\xF0\xE1ù\xB9\xB9\xD5\xD5կ\xBF\xFE\xFA\xF6\xED\xDBW\xAE\y\xE6\x99g\xD6\xD7\xD7/^\xBC\xB8\xB6\xB6v\xF0\xE0\xC1\xB7\xDEzk4=\xF1\xC4\xB3\xB3\xB3\xE7ϟ\x8DF.\سg\xCF\xEA\xEA\xEA\xF5\xEB\xD7ggg\x8F;\xB6\xBC\xBC\xFC\xF8\xE3\x8Fomm}\xF3\xCD7W\xAE\Y[[;~\xFC\xF8\xB5k\xD7v\xEF\xDE=77\xB7\xB2\xB2r\xE3ƍ\x95\x95\x95\xE9\xE9\xE9\xE5\xE5\xE53g\xCElmm\xAD\xAD\xADmmmݸqc\xF7\xEEݳ\xB3\xB3+++\x9B\x9B\x9B{\xF7\xEE]YYy\xF2\xC9'/\\xB8033s\xF2\xE4\xC9\xE7\x9E{\xEE\xFA\xF5\xEB\x9F~\xFA\xE9\x8B/\xBEx\xECرC\x87M\xB6z\xF0\xE0\xC1\xA3G\x8Fnmm\x9D>}z\xFF\xFE\xFD7o\xDE\^^\x8FǓײ\xB0\xB0\xB0\xFF\xFE\x8D\x8D\x8DkMMM\xBD\xFF\xFE\xFB\xB7o\xDF~\xFE\xF9\xE7\x87\xC3\xE1w\xDF}777\xF7\xC5_L\x86O\xD7\xD7\xD7\xC7\xE3\xF1\xA9S\xA7\xE6\xE6\xE6<x\xB0\xBA\xBA\xBA\xB8\xB8\xF8\xC2/\xAC\xAC\xAC\\xBAt\xE9\xEEݻo\xBE\xF9\xE6\xCC\xCC̳\xCF>\xFB\xED\xB7\xDF^\xB8pa{{\xFB\xA9\xA7\x9EZYY\xF9\xEC\xB3\xCF\xD6\xD7\xD7w\xEDڵ\xBC\xBC|\xE8С˗/\xFF\xF0\xC3333\x97/_^\\\YYٷo\xDF\xC6\xC6\xC6\xFD\xFB\x{1D75D7}Ϟ=\xBB\xB5\xB5\xB5gϞ\xE1p833\xB3\xBA\xBA\xFA\xE3\x8F?>x\xF0\xE0֭[sss\xB3\xB3\xB3\x8F\xFAC \xFCk~\xFA ց>\xBC\xB8\xB8x\xFC\xF8\xF1\xD1h\xB4\xB9\xB99??\xEF'Nܺukuu\xF5ܹs]\x87o\xBF\xFD\xF6\xAD[\xB7\x83\xC1\xD3O?\xFD\xCE;\xEFܻwo0lll\x87\xC33g\xCE,--]\xBDzu}}}iii<\xCF\xCE\xCE~\xF9\xE5\x97\xC3\xE1p2aiiimmmvvv2|}}\xFD\xDDw\xDF\x8F\xC7\xF3\xF3\xF3ׯ_?p\xE0\xC0\xC1\x83766\xE6\xE7\xE7?\xFC\xF0\xC3\xC9䅅\x85\xF7\xDE{o4-,,\xAC\xAD\xAD\xAD\xAF\xAF_\xBAt\xE9\xF4\xE9\xD3\xDF\xFF\xFD\xFC\xFC\xFC\xFD\xFB\xF7\x83\xC1\xC7\xBC\xB3\xD5\xCD\xCD\xCDɜ={\xF6,..N&6\xC7{lqq\xF1
\xF3\xF3\xF3\xC3\xE1𫯾\x9A\xFC \xDA\xFA\xFA\xFA|0\x89\xB9\xA7\x9F~\xFA\xF2\xE5˓[VVVfgg\x8F?\xBE\xB4\xB44n9\xD9\xD5ŋ\xAF^\xBDz\xF7\xEE\xDD\xF3\xE7ϯ\xAD\xAD\x9D:u\xEA\xF6\xED\xDB'N\x9C\x98l\xF5\xF6\xED\xDB[[[\x93\xA7\x83'N|\xF2\xC9'\x93o9\x97\x96\x96N\x9E<y\xE7Ν\xCD\xCD\xCD={\xF6\xBC\xF1\xC6\x937\xE4ҥKǎ\xBBs\xE7\xCE\xFC\xFC\xFC\xFA\xFA\xFA\xA3\xF9\ \xFFS\xE3\xF1\xF8/\xDF\xFD\xE5\xCFW\xFF<9\xDEmO\xEF\x9A\xDB\xDB\xDB\xD3\xD3\xD3;\x87?]\xDD\xDEo\x8Fw\xCD욬L
-\xA6\xA7\xA7w.MMMMMM\xFD\xE2??\x{16BAC7}_>\xBC3|\xE7\xEAx<ޙ399\xFC4y<\x8F\xB7\xC7ӻ\xA6\xC7\xE3\xF1\xD4\xD4\xD4΄_\xD9\xD9\xEAd\xD9\xCFGMOO\xFF\xE2\xB5L\xE6O\x9E\xBB\xB3\xB7\xBFNmO\xEF\x9A\xDE9\xDCy\xA5\x93e/?\xF3\xF2\xAB\x87_\xFD\xF9S&\xDFO֏F\xA3]\xBBv\xED\\xDD2\x8D\xA6\xA6\xA6\xA6\xA7\xFF\xCF\xF6Μ9s\xE4ȑ}\xFB\xF6\xED\xAC<w\xEE\xDC+\xAF\xBC2\x8FϞ={\xE4ȑ\xBD{\xF7\xFE\xEA[
- \xFC\xC6M\x8D\xC7\xE3?\x9E\xFB\xE3\x8E\xFF\xE1Q\xEF\xE4?\xC3k\xBF\xEDO\xFF\xF3\xA7G\xBD \xE07\xCD \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @lf0\xFCn\xDF\xEF^\xFB\xFDk\x8Fz'\xFF^=\xFC\xEA\xA3\xDE \xF0[75\x8F\xF5 \xFE\xAB\xF8! @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @\xEC\xAE\xAB\x87Au\x89+ IEND\xAEB`\x82
\ No newline at end of file
+IHDR X ' )tEXtchecksum df2879d0d29f0536492edbaa76c92c41\xAE[\xC5, \xC4IDATx\x9C\xED\xDCMk\x9CU\xC7\xE1{2ڄ\x81ش4"\x8C\x8D\x82\xBAŅu)YY7v\xE9\xAA~\xB7Ϸ\xE8\xB2+\xEC\x88\x82EQ\xEBF͈Z\x8C:\xBET\xDA4u2-ͼϳ82\xA9/ \xFF\x87B\xB9\xAEE\xB8\xE7\xE4̹\xCF}\xC8\xE2ǐ\xA46\x9DN+ rn\xF6 n5 \xEC\x8F\xC0\xFA\xF4\xD3OO\x9D:u\xF2\xE4ɪ\xAA\xDA\xEDv\xECv\xBB\xF3S\xF7\xBC\xDC3\xFE\xEE\xBB\xEF\xFE\xCDmfkVU\xF5\xFA\xEB\xAF\xF6\xD9g7N;s\xE6\xCCٳg\xFB\xFD\xFE\xFC\xE0\xDBo\xBF=\xBB.\xFB\x9C_\xED\xCDO.\x9B\x9C\x90\xD9\xF5\xFC \xFC\xA9\xF9m̯\xB6g\xFCoN\xE3\xC6m\xCFOk\xB7\xDB\xDDn\xB7\xD5j}\xFE\xF9\xE77n\xAFh\xB5Z~\xF8\xE1_\xED\xB0,\xB8\xE7.\xDDn\xF7Ɲ \xFFW\xB5\xD9\xEF`\x9D8q\xA2\xAA\xAA\xFD\xFB\xF7\xD7\xEB\xF5z\xBD\xFE裏\xBE\xF9\xE6\x9B\xF7\xDDw\xDFp8\x9CN\xA7\xE5\xE5\xB1c\xC7N\x9F>\xDD\xEF\xF7\xBF\xF9\xE6\x9Bg\x9Eyf<\xCF\xC6O\x9E<Y\xAFכ\xCDf\xBF߿r\xE5\xCA\xD3O?\xDDj\xB5>\xF8\xE0\x83\xC7\xFCȑ#gϞ\xBD~\xFD\xFA\xE2\xE2\xE2\x91#GN\x9C8\xF1\xE2\x8B/;v\xEC\xF9\xE7\x9F\xFF\xFD\xF7\xDF\xFB\xFD\xFE\xD2\xD2\xD2h4\x8DF\xC3\xE1\xB0\xDF\xEF\xDF{オZ\xAD\xDB\xED...\xDEy睭V\xEB\xFE\xFB\xEF\x9F-\xFB\xDE{\xEF\xDDv\xDBm\xF5z}\xFF\xFE\xFD\x8B\x8B\x8B\xFD~}}\xFD\x93O>\xE9t:e??\xFF\xFCs\xA7\xD3y\xF6\xD9g_y\xE5\x95\xD1ht\xF0\xE0\xC1k]\xBBv\xED\xEE\xBB\xEF\xCF=\xF7\xDC\xF1\xE3\xC7gϵ\xB1\xB1\xF1\xF2\xCB//,,̟\xC0w\xDCQnW\xBE\xFE\xD6[o\x9D?\xFE\x9E{\xEE9t\xE8\xD0\xCE\xCEN\xBD^\xAF\xD5j\xBD^ouu\xB5\xD5j\xBD\xF4\xD2K\xAF\xBD\xF6\xDA\xE6\xE6\xE6#\x8F<\xF2\xCB/\xBF\xEC9\x8D\xF5\xF5\xF5ӧO?\xFC\xF0\xC3\xDF}\xF7]\xBD^\xBFr\xE5\xCA\xEA\xEA\xEA\xCA\xCAJ\xA7\xD3\xE9\xF5zw\xDDuW\xA7ӹ|\xF9\xF2`0\xB5Z\xED\x81\xE8\xF5z+++\xFB\xF6\xED;w\xEE\\xB3\xD9|\xEC\xB1\xC7\xCAC\xFD\xF4\xD3O\xBD^\x87\xE54\xBE\xFC\xF2\xCB\xC9d\xD2l6\x83AY\xF0\xA3\x8F>z\xE2\x89'8p\xF1\xE2\xC5^x\xE1\xF8\xF1㋋\x8B+++\xB3\x87\x8DF>\xF8`\xA7\xD3YZZ\xBAx\xF1\xE2\xA1C\x87\xCA&o\xDA\xCF \xDCr\xFE\xF8\xAB\xD7\xEB]\xBDzu<w\xBBݭ\xAD\xAD\xC9d\xF2\xED\xB7\xDF6\x8D\xAF\xBF\xFEzmmm\xF6r:\x9D^\xBF~}<_\xBE|\xF9\xC7\x9C_ZZZ]]-\xF3www>|\xE9ҥ\xDF~\xFBmgg\xA7\xAA\xAA\xAD\xAD\xAD^\xAFW\xAE\xB7\xB7\xB7\xBF\xF8\xE2\x8BF\xA3\xD1n\xB7\xCBj\xBB\xBB\xBB\xC3\xE1\xF0\xE0\xC1\x83\xDDn\xB7\xD9l~\xFC\xF1\xC7kkke\xFE\xC6\xC6\xC6p8\x9C-\xBB\xBA\xBAz\xF5\xEA\xD5\xDD\xDD\xDD\xED\xED\x{DD75}\xB52^U\xD5W_}u\xE1
\xB2\x9Fr]UU\xA9\xAB\xAD\xAD\xADÇ\xBF\xFF\xFE\xFBkkke\xF3\xCF\xD5\xE9t677\xF7\x9C\xC0\xECv\xE5.UUM&\x93_\xFD\xB5\xDB\xEDnnnN&\x93K\x97.\xB5\xDB\xED\xD9\xF6\xCA\xDB\xF8\xE1\x87\xC9dr\xE3iTU\xD5l6\xC7\xE3q9\xD8V\xAB\xD5n\xB7\xCB&wvv\xCA\xC5\xEE\xEE\xEEt:m4\xB5Z\xED\xFC\xF9\xF3.\8w\xEE\xDC\xF2\xF2r\xA3ј\xA8\x85\x85\x85\xE5\xE5\xE5\xF9C\x9EL&\xEF\xBC\xF3\xCE\xF2\xF2\xF2l\xC1\xED\xED흝\x9D\xCD\xCD\xCDF\xA3Qv4\xCD\xAA\x9CI\x99\\xE6\x94\xF1\xEF\xBF\xFF\xFEf\xFC\xF8\xC0\xAD\xA9\xF6\xA7E8\xF6\xED\xDB7\x9DN'\x93\xC9\xC2\xC2\xC2p8,/k\xB5Z\x990\x8DF\xA3\xD1l|4\xD5\xEB\xF52\xBFL+sʇC7\xDA\xF3\xDDS\xA7N=z\xB4^\xAFWU5\x8F\xE7)\xB3\x91\xA2̙ݮ\xECa\xB6\xED2\xF3\xAF֜\xAE\xDBo\xBF}2\x99\x949{\xAF\xD5j\xB3\x8B\xB2rUU\x93ɤ|-\x9B/\xDB+o/ߪ\xD5jz\xB3\x967\x96i\xB3\xF1r\xDFr]\xBE\x96[WU\xB5\xE7\xF0g\x9B//\x83A\xBD^/3\xE7\xCF\xE7\x8D7\xDE8p\xE0\xC0SO=5{cY\xF0\xD5W_=z\xF4hy{\x99\xF3\xE4\x93O\x96\x93\xDCs \xC0\xBF\xF6G`\xD5\xFE[\xFBǩ\xC4M\xFF\xE3d \xC0-\xC8_ \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2j\xD3\xE9\xF4f\xEF \xE0\x96\xE2, \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2 @\x98\xC0 X a L` \x84 , \x800\x81 &\xB0 \xC2\xFE\xEFx\x83\xDD\xE1J\xDD IEND\xAEB`\x82
\ No newline at end of file
Added: trunk/LayoutTests/platform/chromium-linux/fast/repaint/scale-page-shrink-expected.txt (0 => 100196)
--- trunk/LayoutTests/platform/chromium-linux/fast/repaint/scale-page-shrink-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/chromium-linux/fast/repaint/scale-page-shrink-expected.txt 2011-11-14 22:47:05 UTC (rev 100196)
@@ -0,0 +1,9 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x20
+ RenderText {#text} at (0,0) size 686x19
+ text run at (0,0) width 686: "This test must be run in DumpRenderTree as a pixel test. There should not be visual aritfacts after scaling the page."
+ RenderBlock {DIV} at (0,20) size 500x500 [bgcolor=#008000]
Modified: trunk/Source/WebKit/chromium/ChangeLog (100195 => 100196)
--- trunk/Source/WebKit/chromium/ChangeLog 2011-11-14 22:42:36 UTC (rev 100195)
+++ trunk/Source/WebKit/chromium/ChangeLog 2011-11-14 22:47:05 UTC (rev 100196)
@@ -1,3 +1,29 @@
+2011-11-14 Fady Samuel <[email protected]>
+
+ [Chromium] setPageScaleFactor and associated methods should take scaling limits into account
+ https://bugs.webkit.org/show_bug.cgi?id=72176
+
+ Reviewed by Darin Fisher.
+
+ A couple of changes:
+
+ 1. setPageScaleFactorLimits now affects the behavior of other scaling methods
+ including setPageScaleFactor.
+ 2. setPageScaleFactorPreservingScrollOffset introduced that scales the scroll offset
+ along with the page, preserving the scroll position within the page bounds.
+
+
+ * public/WebView.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::WebViewImpl):
+ (WebKit::WebViewImpl::computePageScaleFactorWithinLimits):
+ (WebKit::WebViewImpl::clampOffsetAtScale):
+ (WebKit::WebViewImpl::setPageScaleFactorPreservingScrollOffset):
+ (WebKit::WebViewImpl::setPageScaleFactor):
+ (WebKit::WebViewImpl::setPageScaleFactorLimits):
+ (WebKit::WebViewImpl::applyScrollAndScale):
+ * src/WebViewImpl.h:
+
2011-11-14 Vincent Scheib <[email protected]>
Mouse Lock: Renaming to 'Pointer Lock': Runtime Enable Flags
Modified: trunk/Source/WebKit/chromium/public/WebView.h (100195 => 100196)
--- trunk/Source/WebKit/chromium/public/WebView.h 2011-11-14 22:42:36 UTC (rev 100195)
+++ trunk/Source/WebKit/chromium/public/WebView.h 2011-11-14 22:47:05 UTC (rev 100196)
@@ -61,6 +61,8 @@
WEBKIT_EXPORT static const double textSizeMultiplierRatio;
WEBKIT_EXPORT static const double minTextSizeMultiplier;
WEBKIT_EXPORT static const double maxTextSizeMultiplier;
+ WEBKIT_EXPORT static const float minPageScaleFactor;
+ WEBKIT_EXPORT static const float maxPageScaleFactor;
// Controls the time that user scripts injected into the document run.
enum UserScriptInjectAt {
@@ -207,20 +209,24 @@
WEBKIT_EXPORT static double zoomLevelToZoomFactor(double zoomLevel);
WEBKIT_EXPORT static double zoomFactorToZoomLevel(double factor);
- // PageScaleFactor will be force-clamped between minPageScale and maxPageScale
- // (and these values will persist until setPageScaleFactorLimits is called
- // again).
- virtual void setPageScaleFactorLimits(float minPageScale, float maxPageScale) = 0;
-
// Gets the scale factor of the page, where 1.0 is the normal size, > 1.0
// is scaled up, < 1.0 is scaled down.
virtual float pageScaleFactor() const = 0;
+ // Scales the page and the scroll offset by a given factor, while ensuring
+ // that the new scroll position does not go beyond the edge of the page.
+ virtual void setPageScaleFactorPreservingScrollOffset(float) = 0;
+
// Scales a page by a factor of scaleFactor and then sets a scroll position to (x, y).
// setPageScaleFactor() magnifies and shrinks a page without affecting layout.
// On the other hand, zooming affects layout of the page.
virtual void setPageScaleFactor(float scaleFactor, const WebPoint& origin) = 0;
+ // PageScaleFactor will be force-clamped between minPageScale and maxPageScale
+ // (and these values will persist until setPageScaleFactorLimits is called
+ // again).
+ virtual void setPageScaleFactorLimits(float minPageScale, float maxPageScale) = 0;
+
// The ratio of the current device's screen DPI to the target device's screen DPI.
virtual float deviceScaleFactor() const = 0;
Modified: trunk/Source/WebKit/chromium/src/WebViewImpl.cpp (100195 => 100196)
--- trunk/Source/WebKit/chromium/src/WebViewImpl.cpp 2011-11-14 22:42:36 UTC (rev 100195)
+++ trunk/Source/WebKit/chromium/src/WebViewImpl.cpp 2011-11-14 22:47:05 UTC (rev 100196)
@@ -199,6 +199,8 @@
const double WebView::textSizeMultiplierRatio = 1.2;
const double WebView::minTextSizeMultiplier = 0.5;
const double WebView::maxTextSizeMultiplier = 3.0;
+const float WebView::minPageScaleFactor = 0.25;
+const float WebView::maxPageScaleFactor = 4.0;
// The group name identifies a namespace of pages. Page group is used on OSX
@@ -338,6 +340,8 @@
, m_zoomLevel(0)
, m_minimumZoomLevel(zoomFactorToZoomLevel(minTextSizeMultiplier))
, m_maximumZoomLevel(zoomFactorToZoomLevel(maxTextSizeMultiplier))
+ , m_minimumPageScaleFactor(minPageScaleFactor)
+ , m_maximumPageScaleFactor(maxPageScaleFactor)
, m_contextMenuAllowed(false)
, m_doingDragAndDrop(false)
, m_ignoreInputEvents(false)
@@ -1852,11 +1856,52 @@
return page()->pageScaleFactor();
}
+float WebViewImpl::computePageScaleFactorWithinLimits(float scaleFactor)
+{
+ return min(max(scaleFactor, m_minimumPageScaleFactor), m_maximumPageScaleFactor);
+}
+
+WebPoint WebViewImpl::clampOffsetAtScale(const WebPoint& offset, float scale)
+{
+ // This is the scaled content size. We need to convert it to the new scale factor.
+ WebSize contentSize = mainFrame()->contentsSize();
+ float deltaScale = scale / pageScaleFactor();
+ int docWidthAtNewScale = contentSize.width * deltaScale;
+ int docHeightAtNewScale = contentSize.height * deltaScale;
+ int viewWidth = m_size.width;
+ int viewHeight = m_size.height;
+
+ // Enforce the maximum and minimum scroll positions at the new scale.
+ IntPoint clampedOffset = offset;
+ clampedOffset.clampNegativeToZero();
+ clampedOffset = clampedOffset.shrunkTo(IntPoint(docWidthAtNewScale - viewWidth, docHeightAtNewScale - viewHeight));
+ return clampedOffset;
+}
+
+void WebViewImpl::setPageScaleFactorPreservingScrollOffset(float scaleFactor)
+{
+ // Pick a scale factor that is within the expected limits
+ scaleFactor = computePageScaleFactorWithinLimits(scaleFactor);
+ if (scaleFactor == pageScaleFactor())
+ return;
+
+ IntPoint scrollOffsetAtNewScale(mainFrame()->scrollOffset().width, mainFrame()->scrollOffset().height);
+ float deltaScale = scaleFactor / pageScaleFactor();
+ scrollOffsetAtNewScale.scale(deltaScale, deltaScale);
+
+ WebPoint clampedOffsetAtNewScale = clampOffsetAtScale(scrollOffsetAtNewScale, scaleFactor);
+ setPageScaleFactor(scaleFactor, clampedOffsetAtNewScale);
+}
+
void WebViewImpl::setPageScaleFactor(float scaleFactor, const WebPoint& origin)
{
if (!page())
return;
+ if (!scaleFactor)
+ scaleFactor = 1;
+
+ scaleFactor = computePageScaleFactorWithinLimits(scaleFactor);
page()->setPageScaleFactor(scaleFactor, origin);
}
@@ -1910,8 +1955,17 @@
void WebViewImpl::setPageScaleFactorLimits(float minPageScale, float maxPageScale)
{
+ m_minimumPageScaleFactor = min(max(minPageScale, minPageScaleFactor), maxPageScaleFactor) * deviceScaleFactor();
+ m_maximumPageScaleFactor = max(min(maxPageScale, maxPageScaleFactor), minPageScaleFactor) * deviceScaleFactor();
+
+ // Limit page scaling down to the document width.
+ int viewWidth = m_size.width;
+ int unscaledContentWidth = mainFrame()->contentsSize().width / pageScaleFactor();
+ m_minimumPageScaleFactor = max(m_minimumPageScaleFactor, static_cast<float>(viewWidth) / unscaledContentWidth);
+ ASSERT(minPageScale <= maxPageScale);
#if USE(ACCELERATED_COMPOSITING)
- m_layerTreeHost->setPageScaleFactorLimits(minPageScale, maxPageScale);
+ if (m_layerTreeHost)
+ m_layerTreeHost->setPageScaleFactorLimits(m_minimumPageScaleFactor, m_maximumPageScaleFactor);
#endif
}
@@ -2730,7 +2784,7 @@
float oldScale = pageScaleFactor();
if (!oldScale)
- oldScale = 1.0f;
+ oldScale = 1;
if (!scaleFactor || oldScale == scaleFactor)
mainFrameImpl()->frameView()->scrollBy(scrollDelta);
Modified: trunk/Source/WebKit/chromium/src/WebViewImpl.h (100195 => 100196)
--- trunk/Source/WebKit/chromium/src/WebViewImpl.h 2011-11-14 22:42:36 UTC (rev 100195)
+++ trunk/Source/WebKit/chromium/src/WebViewImpl.h 2011-11-14 22:47:05 UTC (rev 100196)
@@ -158,6 +158,7 @@
virtual void zoomLimitsChanged(double minimumZoomLevel,
double maximumZoomLevel);
virtual float pageScaleFactor() const;
+ virtual void setPageScaleFactorPreservingScrollOffset(float);
virtual void setPageScaleFactor(float scaleFactor, const WebPoint& origin);
virtual void setPageScaleFactorLimits(float minPageScale, float maxPageScale);
virtual float deviceScaleFactor() const;
@@ -417,6 +418,9 @@
void loseCompositorContext(int numTimes);
private:
+ float computePageScaleFactorWithinLimits(float scale);
+ WebPoint clampOffsetAtScale(const WebPoint& offset, float scale);
+
friend class WebView; // So WebView::Create can call our constructor
friend class WTF::RefCounted<WebViewImpl>;
@@ -513,6 +517,10 @@
double m_maximumZoomLevel;
+ float m_minimumPageScaleFactor;
+
+ float m_maximumPageScaleFactor;
+
bool m_contextMenuAllowed;
bool m_doingDragAndDrop;