Граф коммитов

8953 Коммитов

Автор SHA1 Сообщение Дата
Robert O'Callahan 1848206445 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
Mats Palmgren f2fa14548c 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
Alexander Surkov 631b7c6baa Bug 754627 - GetBounds on bullet return wrong values, r=tbsaunde, roc 2012-05-14 13:51:45 +09:00
Christopher De Cairos 8126073e18 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 14987c36bd 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 4e78d1c4b0 Bug 722603 - Improve dirty rect calculation with 3d transforms and preserve-3d. r=roc 2012-05-11 19:49:14 +12:00
Matt Woodrow 332f824155 Bug 722603 - Add 3d transforms debugging code to nsBlockFrame. r=roc 2012-05-11 19:49:12 +12:00
Robert O'Callahan b1553b6627 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 81c694a019 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 fa0648f006 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 f7abc34c04 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 49b4c558d9 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 db951b0b9c 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
Oleg Romashin c99bc9e877 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 823eb31eaf 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
Ehsan Akhgari a6472c6c35 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
Ed Morley f371f320ee Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-05-09 10:15:40 +01:00
Joe Drew 877ef0c799 Back out changeset 501d38d3892c (Bug 733553) for causing crashes in xpcshell tests. 2012-05-08 21:59:30 -04:00
Adam Dane [:hobophobe] 56746e56e4 Bug 733553 - Allow multipart image streams to cope with stream changes. r=joe
--HG--
extra : rebase_source : 21ebc85f26fcbc4a4a27387d1ec5007c0886c386
2012-05-08 16:19:01 -05:00
Timothy Nikkel 5c03ae4e22 Bug 749425. Push the scroll frame clip inside the scroll layer so it gets transformed by the shadow transform. r=roc 2012-05-08 23:15:00 -04:00
Jeff Muizelaar d45d7881a6 Bug 753058. Add SAMPLE_LABELS for shadows. r=ehsan
This will make this things more obvious on the profile.
2012-05-08 18:10:02 -04:00
Makoto Kato 57d9e8c670 Bug 249159 - Part 2 Implement CSS3 Text word-break property. r=dbaron, smontagu 2012-05-07 12:18:23 -07:00
L. David Baron d179159c24 Add missing GetFirstInFlow() call that was causing a crash in ComputeDescendantWidth when printing with font inflation enabled (or a debug build). (Bug 751797) r=roc
--HG--
extra : transplant_source : %ED%23%02%AFR%24tw%FE%96%D7%D3p%D8%87%F7gV%28L
2012-05-07 07:17:00 +02:00
Jonathan Kew af93c2b29b bug 752176 - only read the style array for valid offsets within the textrun. r=smontagu 2012-05-06 15:55:12 +01:00
L. David Baron 09e2e9f390 Make effect of form controls on font size inflation text threshold not depend on user changes to their value. (Bug 747857) r=roc
--HG--
extra : transplant_source : %82%DCX%81%B2%AAM%A3%A1%A1-%87%10%B3%B6%10kw%F4%FB
2012-05-05 15:24:45 +02:00
Ms2ger 9a7e2c2043 Bug 716439 - Followup: remove unused variable 'sf'; r=roc 2012-05-05 11:00:06 +02:00
Scott Johnson bf8a25a0bf Bug 749186: Make the root frame always be an inflation container to prevent a crash during font inflation. [r=dbaron] 2012-05-04 12:08:23 -05:00
Scott Johnson a35a0ee456 Bug 746966: Conditionally set NS_FRAME_IN_CONSTRAINED_HEIGHT for font inflation on percentage-based height so fonts with room to inflate can do so. [r=dbaron] 2012-05-04 12:07:37 -05:00
Ed Morley a88ba3ed8a Backout f8125b89352d (bug 747857) for frequent test failures 2012-05-04 15:24:42 +01:00
L. David Baron 4f85784ddd Add missing GetFirstInFlow() call that was causing a crash in ComputeDescendantWidth when printing with font inflation enabled (or a debug build). (Bug 751797) r=roc
--HG--
extra : transplant_source : %B5%FE%E5%DFaH%06%0F%3B%26%C0%E2%8B%3E4%F37%BFi-
2012-05-03 22:55:33 -04:00
L. David Baron e74e8ab8b8 Make effect of form controls on font size inflation text threshold not depend on user changes to their value. (Bug 747857) r=roc
--HG--
extra : transplant_source : %1F%7B%3Fk%A6%F1%2C%EAZ%920%FB%FD%FB%3D%8E%9C%C9y%19
2012-05-03 20:04:30 -04:00
Mats Palmgren d352664443 Bug 750745 - Allocate nsLineBoxes from their own presshell arena list. part=3/3 r=roc 2012-05-04 02:14:02 +02:00
Mats Palmgren e9ec76a04c Bug 750745 - Introduce AllocateByObjectID/FreeByObjectID for allocating non-frame objects from per-type lists in the PresArena. part=2/3 r=roc 2012-05-04 02:14:02 +02:00
Mats Palmgren e9ebc8b847 Bug 735641 - No way to deselect image of image document after select all (Ctrl+A). r=bz 2012-05-04 02:14:01 +02:00
Mats Palmgren b19b8a16f8 Bug 747688. r=roc 2012-05-04 02:14:01 +02:00
Mats Palmgren 2d951817d9 Bug 750066. r=roc 2012-05-04 02:14:01 +02:00
Mats Palmgren d5a6af5125 Bug 748961 - Flush styles to ensure frames are created. r=smaug,Ms2ger 2012-05-04 02:14:01 +02:00
Andreas Gal 0c452ae3c4 Do image scaling on the GPU (bug 650988, r=roc,cjones). 2012-05-03 07:05:55 -07:00
Ed Morley 626d72f39d Merge mozilla-central to mozilla-inbound 2012-05-03 20:13:41 +01:00
Ali Juma 8f24fa831e Bug 748048 - Part 1: Remove SetInvalidationDimensions and GetInvalidationDimensions. r=roc 2012-05-03 12:33:51 -04:00
Jared Wein 391648877f Bug 702463 - Increasing the timeout of the tests due to the presence of multiple refresh drivers. r=ehsan 2012-04-30 13:44:55 -04:00
Avi Halachmi 15f44ebeec Bug 702463 - Smooth scrolling should use refresh observer instead of a timer. r=roc 2012-03-31 16:08:00 +03:00
Masatoshi Kimura e159953a2a Bug 745498 - Add testcases for DOM4 exception types. r=sicking 2012-04-26 09:42:26 -07:00
Jonathan Kew b7f31bd30c bug 307039 - implement Greek-specific uppercasing for text-transform & small-caps. r=past 2012-05-03 08:57:18 +01:00
Nicholas Cameron 375707fa51 Bug 716439; remove a check for rounded rects to enable the use of mask layers. r=roc 2012-02-08 11:26:46 +13:00
Aryeh Gregor 7383051d43 Bug 702948 - Make Range.detach() a no-op; r=smaug 2012-04-25 15:03:48 +03:00
Masayuki Nakano 6bde61778e Bug 630811 part.2 Replace nsInputEvent::isShift, nsInputEvent::isControl, nsInputEvent::isAlt and nsInputEvent::isMeta r=smaug 2012-04-25 12:00:02 +09:00
Timothy Nikkel 2e5f107dcc Bug 732016 Allow override of the scroll port size used for clamping scroll positions. r=roc 2012-04-24 13:52:35 -05:00
Jonathan Kew 1d670f48dc bug 744357 - implement mappings from Unicode's SpecialCasing.txt for text-transform. r=smontagu 2012-04-24 18:53:39 +01:00
Robert O'Callahan 15fb7a23f2 Bug 749075. Part 1: Refactor the nsDisplayItem API for testing whether the item needs to be rendered to a transparent surface. r=mattwoodrow
Currently we return an extra out parameter on GetOpaqueRegion. This is ugly and it's also going to be inefficient
because in a followup patch I'm going to avoid calls to GetOpaqueRegion, but we still need to know whether the item
needs a transparent surface. So this patch removes that out parameter. Instead, we rely on the fact that only
Windows' glass-window-background display item needs to force a transparent surface, and there can only be one
of those per window. So we store a reference to it in the nsDisplayListBuilder if there is one, and then we can
efficiently tell if any leaf display item is the one that forces a transparent surface. For display items that
wrap a list, we continue to store whether they need to force a transparent surface in a boolean in the list.
2012-05-03 16:29:05 +12:00