Commit Graph

32516 Commits

Author SHA1 Message Date
Jeff Muizelaar
09d3725c17 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
758dcd8b6c Merge mozilla-central to mozilla-inbound 2012-05-15 18:19:25 +01:00
Serge Gautherie
37a6f34897 Bug 632408. (Bv1) Improve newer test code some more. r=roc. 2012-05-15 15:33:55 +02:00
Robert O'Callahan
fede4b2197 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
3fe5034053 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
0502288506 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
3b4a9cde72 Merge mozilla-central and mozilla-inbound 2012-05-14 21:41:08 -07:00
Matt Brubeck
a00e243a06 Merge last green changeset from inbound to mozilla-central 2012-05-14 14:00:57 -07:00
Joel Maher
1907a8d015 Bug 754001 - random-if r3 failures so we can unhide the tests. r=jrmuizel 2012-05-14 10:19:28 -04:00
Ehsan Akhgari
6fcb06f20a 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
a4a5ce2ae9 Bug 754488 - Fix warning in FrameLayerBuilder.cpp. r=dholbert 2012-05-14 19:01:05 -04:00
Kang-Hao (Kenny) Lu
16b937e48c Bug 752230 - Disallow control characters above 0x7e in CSS unquoted url() tokenization. r=dbaron 2012-05-14 19:01:05 -04:00
Matt Brubeck
bbda646b7e Merge last green changeset from inbound to mozilla-central 2012-05-11 11:39:38 -07:00
Alexander Surkov
8ead6e75b2 Bug 754627 - GetBounds on bullet return wrong values, r=tbsaunde, roc 2012-05-14 13:51:45 +09:00
Olli Pettay
0bd7a30ad1 Bug 754089 - remote mozbrowser's messagemanager shouldn't have parent, r=jlebar 2012-05-11 10:47:40 +03:00
Christopher De Cairos
720758f4b7 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
ed660ec50d 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
15509fccd0 Bug 722603 - Improve dirty rect calculation with 3d transforms and preserve-3d. r=roc 2012-05-11 19:49:14 +12:00
Matt Woodrow
8d9f67b892 Bug 722603 - Add 3d transforms debugging code to nsBlockFrame. r=roc 2012-05-11 19:49:12 +12:00
Jeff Muizelaar
4a37a54063 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
be041f4fe5 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
34bd5d8e5f Bug 743720 - Import Speex's audio resampler in the tree. r=kinetik, khuey 2012-05-14 19:01:04 -04:00
Mats Palmgren
df74457a55 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
10256431dc Bug 688897 - Add MozReftestInvalidate handler to fix orange. r=jmuizelaar 2012-05-14 22:11:39 +02:00
Robert O'Callahan
350ce33670 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
60482a670b 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
2433703320 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
e30cdb3c85 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
ecec98a34e 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
bbb8c90aac 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
3b792767df 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
5365ff4dde 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
aa43f886d4 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
1a9ecd549b 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
f7bcf591fb 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
aa5d45243c 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
78f843faa4 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
Oleg Romashin
6f6b0b1b72 Bug 681192. Part 1: Add "allowed scroll destination range" to nsIScrollableFrame::ScrollTo and nsGfxScrollFrame implementation. r=roc,matspal
--HG--
extra : rebase_source : 51d04f7e7db35c02de3401a3481d4cc3827c19ec
2012-02-07 16:53:18 -08:00
Robert O'Callahan
5943f7cf5b Bug 681192. Part 0.3: Add FrameLayerBuilder::GetThebesLayerResolutionForFrame. r=mattwoodrow
--HG--
extra : rebase_source : eea4dee6d081de5c288e295f3549fc88b10e6c39
2012-05-10 17:24:18 +12:00
Robert O'Callahan
14f22692ee Bug 681192. Part 0.2: Use FuzzyEqual to check whether we need to invalidate ThebesLayers when subpixel offsets have changed. r=mattwoodrow
--HG--
extra : rebase_source : d0f8464aea9a436214d394123b1399105ccd0f66
2012-05-10 17:24:18 +12:00
Boris Zbarsky
c8acd24873 Bug 753397. Add a field to nsCSSPropList for a preference that controls the property. r=dbaron
The actual controlling is not hooked up yet; that will happen in bug 753522 for
the DOM reflections of properties.
2012-05-09 21:29:37 -04:00
Boris Zbarsky
a84e2f2d95 Bug 751012. When saving frame state, make sure to walk through placeholders so we save the state of out-of-flow descendants properly. Also make sure to walk the continuations and special siblings of the root frame that we're saving state for. r=roc 2012-05-09 21:27:47 -04:00
Masayuki Nakano
12a8842b2b Bug 749563 nsMenuBarListener should ignore consumed alt key events in its keydown and keyup event handlers r=enn 2012-05-10 08:25:48 +09:00
Mats Palmgren
eab03f0c33 Bug 751356 - Make presshell arena allocation methods inline and non-virtual. r=bz 2012-05-09 21:53:15 +02:00
Mats Palmgren
02b3f2cc95 Bug 752953 - Simplify IntersectRect calculations. r=roc 2012-05-09 21:53:15 +02:00
Mats Palmgren
489841d8df Bug 752953 - Typo in calculation of 'allowExpansion' (result will always be an empty rect) in nsDisplayScrollLayer::ComputeVisibility. r=roc 2012-05-09 21:53:15 +02:00
Heather Arthur
90bc12cbe0 Bug 750556 - crash in mozilla::dom::Element::ClearStyleStateLocks; r=bz 2012-05-09 17:23:57 +01:00
Ehsan Akhgari
8b7988e945 Bug 612128 - Prevent the editor from modifying nodes which are not under an editing host; r=roc,bzbarsky
This patch ensures that the NODE_IS_EDITABLE flag is only set on nodes living
under an editing host.  Things like text controls which used to have that flag
previously will not have it any more.  The flag would be set on their anonymous
div node instead.  Note that if text controls actually fall under an editing
host, they will get the NODE_IS_EDITABLE flag.

This patch also makes nsHTMLEditor::IsEditable return sane results (text nodes
are always considered to be editable).
2010-11-16 15:45:49 -05:00
Nathan Froyd
5db1917152 Bug 747508 - Count PresContexts in about:memory; r=njn 2012-05-07 16:09:11 -04:00
Ed Morley
36273e7024 Merge mozilla-central to mozilla-inbound 2012-05-09 10:16:14 +01:00