Commit Graph

12962 Commits

Author SHA1 Message Date
Mats Palmgren
d329029d95 Bug 754480 - Remove PresShell members associated with mContentToScrollTo, put that data in a temporary content property instead. part=3/3 r=bz 2012-05-16 19:32:40 +02:00
Mats Palmgren
ca5bacff08 Bug 754480 - Sort members in size order. Use narrower types where possible. part=2/3 r=bz 2012-05-16 19:32:40 +02:00
Mats Palmgren
8d1bd9831d Bug 754480 - Remove unused mDragService member. part=1/3 r=bz 2012-05-16 19:32:40 +02:00
Jonathan Watt
81c12cf5b8 Bug 755457 - Switch tests to using MozReftestInvalidate to avoid random failures. r=longsonr.
--HG--
extra : rebase_source : 1ea53f76a9e878fd56e0eb479fe6f93ca2419327
2012-05-16 11:07:43 +01:00
Jonathan Watt
1c9fa9bc51 Bug 755056 - nsSVGForeignObjectFrame's mRect should include its x/y offset. r=longsonr.
--HG--
extra : rebase_source : e60952de7b9e46ec023154bc64afc246b44994fe
2012-05-16 11:04:31 +01:00
Jonathan Watt
675d300fbe Bug 754696 - Make nsSVGOuterSVGFrame call UpdateBounds on its children before calling FinishAndStoreOverflow. r=longsonr.
--HG--
extra : rebase_source : 00b21402c183c034e7e87575bad4ddaeed7985c1
2012-05-13 20:30:44 +01:00
Trevor Saunders
8df11e79ab bug 693933 - make nsFrameSelection::GetSelection() return nsTypedSelection* r=smaug 2012-04-06 17:54:38 -04:00
Robert O'Callahan
8a4183542c Bug 754196. If ScrollToShowRect has no need to scroll, don't call ScrollTo, so pending smooth scrolls won't be interrupted. r=matspal 2012-05-16 17:40:57 +12:00
Robert O'Callahan
cfdc16a8cd Bug 754556. Use ScrollToCSSPixels in nsScrollBoxObject::ScrollTo/ScrollBy. r=matspal 2012-05-16 17:40:39 +12:00
Jeff Muizelaar
e80b46f17e Bug 754364. Add bilinear non-repeat and repeat fast paths. r=joe
This gives significantly faster bilinear sampling when we
don't have NEON.

--HG--
extra : rebase_source : 4473dd220020e65e4bc22b84fa780c7828b357a7
2012-05-15 18:26:16 -04:00
Ryan VanderMeulen
28caa3b877 Backout df38ed62a24a (bug 754364) due to Windows red. a=CLOSED TREE 2012-05-15 20:29:13 -04:00
Frédéric Wang
c4aee25f52 Crashtest for bug 398038. r=karlt 2012-05-15 18:30:15 -04:00
Frédéric Wang
f2d30807ae Bug 677036 - Unify parsing of length and mpadded attributes. r=karlt 2012-05-15 18:30:14 -04:00
Jeff Muizelaar
45a184cabb Bug 754364. Add bilinear non-repeat and repeat fast paths. r=joe
This gives significantly faster bilinear sampling when we
don't have NEON.
2012-05-15 18:26:16 -04:00
Ed Morley
6a622a847e Merge mozilla-central to mozilla-inbound 2012-05-15 18:19:25 +01:00
Serge Gautherie
9fa7b9f5ee Bug 632408. (Bv1) Improve newer test code some more. r=roc. 2012-05-15 15:33:55 +02:00
Robert O'Callahan
2bbcb226e2 Bug 754556. Ensure that setting scroll positions in CSS pixels doesn't unexpectedly move the scroll position, especially not in the wrong direction. r=matspal
If the current scroll position is fractional, e.g. y=N.4 CSS pixels, and something tries to read the
position in CSS pixels and scroll to that position (e.g. calling window.scrollTo(0, rootElem.scrollTop),
or equivalently window.scrollBy(0, 0)), it can actually end up scrolling backwards. So create a new
method nsIScrollableFrame::ScrollToCSSPixels which ensures that scrolling to a CSS pixel offset tries to
preserve the current fractional scroll position if that's possible, and if that's not possible at least does
not allow the scroll position to move in the wrong direction.
2012-05-15 17:58:09 +12:00
Matt Woodrow
3c6ff5136f bug 750334 - rotating image appears too big during transition, then snaps to correct size r=roc
--HG--
extra : rebase_source : a8064d474693838e68f7b865f76043e1192a07a5
2012-05-15 10:31:39 +12:00
Jeff Muizelaar
a7f8653d6a Bug 754872. Avoid using two passes to draw glyphs on mobile. r=joe
Chrome & Safari both use a single pass for overlapping glyphs. We shouldn't try
so hard when running on mobile.
2012-05-15 00:48:00 -04:00
Matt Brubeck
773ffb6265 Merge mozilla-central and mozilla-inbound 2012-05-14 21:41:08 -07:00
Matt Brubeck
bb3a6fefc7 Merge last green changeset from inbound to mozilla-central 2012-05-14 14:00:57 -07:00
Joel Maher
57605fec0f Bug 754001 - random-if r3 failures so we can unhide the tests. r=jrmuizel 2012-05-14 10:19:28 -04:00
Ehsan Akhgari
b814ee999e Bug 696229 - Adjust the hint correctly while drawing the caret for drag/drop so that it gets attached to the beginning of the lines correctly; r=roc 2012-05-11 14:50:19 -04:00
Nicholas Cameron
29f95ca6fd Bug 754488 - Fix warning in FrameLayerBuilder.cpp. r=dholbert 2012-05-14 19:01:05 -04:00
Kang-Hao (Kenny) Lu
74ab6d1729 Bug 752230 - Disallow control characters above 0x7e in CSS unquoted url() tokenization. r=dbaron 2012-05-14 19:01:05 -04:00
Matt Brubeck
a71b3949e7 Merge last green changeset from inbound to mozilla-central 2012-05-11 11:39:38 -07:00
Alexander Surkov
7ff1752972 Bug 754627 - GetBounds on bullet return wrong values, r=tbsaunde, roc 2012-05-14 13:51:45 +09:00
Olli Pettay
84d5ebb475 Bug 754089 - remote mozbrowser's messagemanager shouldn't have parent, r=jlebar 2012-05-11 10:47:40 +03:00
Christopher De Cairos
71301a9ebc Bug 517363: Make poster frames scale to size of the display frame r=roc 2012-05-11 20:32:29 +12:00
Christopher De Cairos
c484bd36db Bug 726904: Make nsVideoFrame::GetVideoIntrinsicSize return the video size before the poster size. r=cpearce 2012-05-11 20:32:15 +12:00
Matt Woodrow
ec8821b6ee Bug 722603 - Improve dirty rect calculation with 3d transforms and preserve-3d. r=roc 2012-05-11 19:49:14 +12:00
Matt Woodrow
b5086dc756 Bug 722603 - Add 3d transforms debugging code to nsBlockFrame. r=roc 2012-05-11 19:49:12 +12:00
Jeff Muizelaar
2f4b7dc2b9 Bug 689707. Use lower precision bilinear interpolation. r=joe
This takes the bilinear interpolation code from Skia. It
uses 4 bits of precision instead of 8. This lets it interpolate
two components at a time because the results fit in 16 bits.

The lower precision code is only used in the fallback code
and not in any of the specialized code for NEON. This means
pixman gives different results depending on the cpu which isn't
great. However, this was easiest and the NEON code doesn't
gain as much from using lower precision.

Skia actually uses even lower interpolation when working with
565 but that's harder to plug in right now, and this gives
a reasonable improvement.
2012-05-10 22:12:52 -04:00
Jonathan Watt
7c6b874674 Bug 753713 - Fix indentation in nsSVGOuterSVGFrame::AttributeChanged prior to touching it in bug 734082. r=me. 2012-05-10 12:47:34 +01:00
Paul ADENOT
d19763225d Bug 743720 - Import Speex's audio resampler in the tree. r=kinetik, khuey 2012-05-14 19:01:04 -04:00
Mats Palmgren
6b03870b6a Bug 749935 - Make all nsRect Union methods saturating. If width/height overflows nscoord_MAX then clamp the x/y to nscoord_MIN / 2 and try again. r=roc 2012-05-14 22:11:39 +02:00
Mats Palmgren
6c06addbe9 Bug 688897 - Add MozReftestInvalidate handler to fix orange. r=jmuizelaar 2012-05-14 22:11:39 +02:00
Robert O'Callahan
7ae2ea0471 Bug 681192. Part 17: Disable test_transformed_scrolling_repaints_2.html on Mac. r=matspal
--HG--
extra : rebase_source : 6af0be8370c0e07e55954245f6a6305d04eb2a2b
2012-05-10 17:24:21 +12:00
Robert O'Callahan
1260834bce Bug 681192. Part 16: Reduce assertion counts some more. r=matspal
--HG--
extra : rebase_source : 48cdef6c9792d6e35dcdfaecae3e3982c37171fd
2012-05-10 17:24:21 +12:00
Robert O'Callahan
c0c7a84361 Bug 681192. Part 12: more fixes to remove unnecessary rounding to pixels. r=matspal
--HG--
extra : rebase_source : 39f2c0ef3220b3f0d4f6bc2564a86daa2112dc3b
2012-05-10 17:24:20 +12:00
Robert O'Callahan
c9a4ef0f31 Bug 681192. Part 11: Don't snap scrollrange endpoints to device pixels anymore. r=matspal
--HG--
extra : rebase_source : a4ad5072fbb1a9e1e8d0fcf31268fee8812be41e
2012-05-10 17:24:20 +12:00
Robert O'Callahan
dca2ccff9c Bug 681192. Part 10: Control rounding direction of scaledOffset to try to make the residual be close to mActiveScrolledRootPosition. r=tnikkel
--HG--
extra : rebase_source : f27fb737f8956ed117df0be3a71da847cc2048c0
2012-05-10 17:24:20 +12:00
Robert O'Callahan
f8b68b95b5 Bug 681192. Part 9: Adjust assertion counts downward. r=mats
--HG--
extra : rebase_source : 5cb44d6572d19d462897b1b50037946d5d8edf67
2012-05-10 17:24:20 +12:00
Robert O'Callahan
c03a4afc08 Bug 681192. Part 8: Use a generous allowed range when scrolling in CurPosAttributeChanged. r=matspal
There was a subtle reftest failure on Mac in RTL text-overflow tests.
I tracked it down to RTL overflow:auto areas being automatically scrolled by a subpixel amount.
This was because we try to set scrollbar "curpos" attributes to an integer number of CSS pixels representing
the scroll amount, relative to the top-left of GetScrolledRect, which is a noninteger number of CSS pixels
in this case. Then in ReflowFinished() we scroll to the saved curpos values plus the top-left of GetScrolledRect.
This patch fixes the problem by making CurPosAttributeChanged pass an allowed scroll range to
ScrollToWithOrigin. We allow any scroll destination that, when rounded to CSS pixels, would give the same
value as "curpos".
This fixes the bug, ensuring that ReflowFinished's call to CurPosAttributeChanged will not normally need
to scroll because the current position will be in the acceptable range. Also, it means that code that
scrolls by setting the "curpos" attribute will be optimized to try to hit a layer pixel boundary.

--HG--
extra : rebase_source : 3a768883feee4ff2b88fe3c729ea1058e911f2ea
2012-05-10 17:24:19 +12:00
Robert O'Callahan
1b61f2c022 Bug 681192. Part 7: nsTypedSelection should be scrolling a 0,0 size into view to get a particular coordinate into view, not 1,1. r=matspal
When asked to scroll a 1,1 appunit rectangle into view, ScrollFrameRectIntoView will now actually
succeed!
For example if the window is 6000 appunits high and we ask to scroll a 1x1 rect at 0,6000 into view,
before bug 681192 was fixed we'd actually fail to do so. We'd compute a desired scroll destination of 0,1,
and ScrollTo would round that to 0,0 and we wouldn't scroll at all.
Now, we compute a desired scroll destination of 0,1 but also an allowed scroll range for y of
"1 to <someting large>", so ScrollFrameRectIntoView will scroll down by a full pixel to 0,60. This is correct ---
it gets the subpixel area into view, which the previous code didn't --- but it's not really what DoAutoScroll
wants, at least the way test_mousecapture.xul is written. test_mousecapture.xul expects DoAutoScroll to scroll
windowheight+N into view by scrolling down by exactly N pixels, so the desired point is exactly at the bottom
edge of the window rect. Using a zero-sized rect achieves this.

--HG--
extra : rebase_source : 5d3d8cc4417c35dc88ad296a4f13e01d2c1c9233
2012-05-10 17:24:19 +12:00
Robert O'Callahan
412d571a68 Bug 681192. Part 6: Test that various scrolling operations inside scaled transforms don't trigger unnecessary repainting. r=matspal
--HG--
extra : rebase_source : a72afaa7ebb5e9b59cf574cd973f966eee5c7f45
2012-05-10 17:24:19 +12:00
Oleg Romashin
01f49c7c7b Bug 681192. Part 5: Make various DOM scroll APIs --- scrollTop, scrollLeft, window.scrollTo, scrollBox.scrollTo, scrollBox.scrollToLine, scrollBox.scrollBy --- use an appropriate allowed scroll destination range. r=roc,r=matspal
--HG--
extra : rebase_source : 83ee44530c67229686ec0dce3628da83e0e93438
2012-02-07 12:24:15 -08:00
Oleg Romashin
7ad2071db0 Bug 681192. Part 4: Make ScrollFrameRectIntoView compute a generous allowed scroll destination range. r=roc,matspal
--HG--
extra : rebase_source : 524add7c1080994dd1bc2345cbd6f54c15653d27
2012-02-07 12:22:53 -08:00
Oleg Romashin
936b7eea85 Bug 681192. Part 3: Make nsListControlFrame::ScrollToFrame use ScrollFrameRectIntoView. r=roc
--HG--
extra : rebase_source : c9e0fbbd024e9fe15ca0e2dc0bad1ef90aa51edd
2012-02-07 12:21:13 -08:00
Oleg Romashin
0f88c6891c Bug 681192. Part 2: Make nsIScrollableFrame::ScrollBy automatically set a generous allowed destination range. r=roc
--HG--
extra : rebase_source : 392359b325ca0435031e8f31a47154a82943c2b4
2012-02-07 12:20:57 -08:00