Commit Graph

138 Commits

Author SHA1 Message Date
Robert O'Callahan
cc4c60522a 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
41b38a3c31 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
Oleg Romashin
14a398fcf0 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
Avi Halachmi
968bd575ff Bug 702463 - Smooth scrolling should use refresh observer instead of a timer. r=roc 2012-03-31 16:08:00 +03:00
Timothy Nikkel
5fce132cd1 Bug 732016 Allow override of the scroll port size used for clamping scroll positions. r=roc 2012-04-24 13:52:35 -05:00
Joe Drew
59b12ae642 Backout 492d12fa8b65 (bug 732016) for regressions. a=regression
--HG--
extra : rebase_source : cda0401baa2c3e5f6192f76c1cd25eca8187a9a0
2012-04-23 11:13:33 -07:00
Timothy Nikkel
be2da87d6f Bug 732016 Allow override of the scroll port size used for clamping scroll positions. r=roc 2012-04-19 20:54:54 -05:00
L. David Baron
8c67e2ae8b Add a font inflation data structure per block formatting context. (Bug 706193, patch 2) r=roc
This structure is per block formatting context because we have to make a
single inflation decision for things like consecutive runs of paragraphs
of text.  Inflating some paragraphs and not others (within the same
sequence of adjacent paragraphs) based on the amount of text in each one
would be disastrous.  Otherwise it's ideal for the units to be as small
as possible as long as they merge such sequences; therefore this uses a
definition corresponding to CSS's idea of elements that establish new
block formatting contexts.
2012-04-16 15:32:12 -07:00
Jared Wein
777fbc3a41 Backed out changeset 3b8a666e351e (bug 702463) 2012-04-03 16:50:25 -07:00
Avi Halachmi (:avih)
03341a5710 Bug 702463: Smooth scroll - Use refresh observer instead of a timer. r=roc 2012-03-31 16:08:00 +03:00
Jared Wein
9ea5fa75f8 Backed out changeset 4e515b6a5a41 (bug 702463) 2012-04-03 16:22:49 -07:00
Avi Halachmi (:avih)
ae12e0480f Bug 702463: Part 1 v8 - Smooth scroll - Use refresh observer instead of a timer 2012-03-31 16:08:00 +03:00
Avi Halachmi (:avih)
aebd5ca0c6 Bug 737758: part 3: Cleanups and semantic consistency [r=roc] 2012-03-26 11:53:45 +02:00
Avi Halachmi (:avih)
8a2de1a907 Bug 737758: part 1: Propagate mouse wheel event origin from ESM [r=roc] 2012-03-26 11:50:30 +02:00
Avi Halachmi
3c59129fb9 Bug 206438 - Smooth scrolling should use the 'smoothwheel' algorithm. r=roc ui-r=limi 2012-03-11 13:55:00 -07:00
Chris Lord
5215455da7 Bug 726817 - Add nsIFrameLoaderOwner.clampScrollPosition. r=roc
Add an attribute to nsIFrameLoaderOwner that allows the clamping of set scroll
positions to be toggled.
2012-02-17 23:41:13 +00:00
Timothy Nikkel
381f828353 Bug 675015. Wait until scrolling is complete to dispatch synthetic mouse moves. r=roc 2012-01-18 22:13:02 -06:00
Benjamin Stover
0a52de4032 Bug 524925 - Recompute overflow without reflowing for transforms. part=1/6 r=dbaron
Add an extra change hint, UpdateOverflow, that can be used to specify that
a frame's overflow areas may have changed and that they need to be recalculated.
When a transform on a frame changes, instead of marking it for reflow, set this
hint instead.

There is an added virtual function on nsIFrame, UpdateOverflow, which is called
recursively on a frame when the corresponding hint is set, to allow it to
update its overflow areas.
2011-06-15 14:03:49 -07:00
Mats Palmgren
9cc6cc3865 Bug 515530 - Remove nsHTMLContainerFrame. r=roc 2011-12-27 21:18:48 +01:00
Markus Stange
105bef8583 Bug 636564 - Make scroll frames deal correctly with scrollbars that overlay content. r=roc 2011-12-20 13:30:14 +01:00
Robert O'Callahan
854ef91454 Bug 699351. Add nsIFrameLoader::clipSubdocument API to allow XUL <iframe> and <browser> to not clip the subdocument. r=tnikkel,sr=bzbarsky 2011-12-06 01:38:46 +13:00
Brad Lassey
8d2f605b6d Bug 687972 - backing out changesets b17ab862bbc1 and a6db0c6c94a3 r=orange 2011-11-30 22:59:00 -05:00
Robert O'Callahan
a86c192475 Bug 699351. Add nsIFrameLoader::clipSubdocument API to allow XUL <iframe> and <browser> to not clip the subdocument. r=tnikkel,sr=bzbarsky 2011-11-30 21:14:26 -05:00
Robert O'Callahan
ac9ee51054 Bug 681867. text-overflow only needs to affect the scrolling behavior of the block container with text-overflow. r=mats 2011-10-21 14:41:36 +13:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Mats Palmgren
6894179e71 Bug 653649 - New way of getting child lists from frames. (part 4/5) r=roc
Remove the nsIAtom* child list names and use child list ID enum instead.
2011-08-24 22:54:30 +02:00
Ed Morley
9e71e5b9ac Bug 614515 - Remove MOZ_SVG conditions. r=roc 2011-05-30 09:34:50 +02:00
Boris Zbarsky
447ee74d8c Bug 654989 part 1. Allow handing out both an nsIContent and an nsStyleContext from CreateAnonymousContent. r=roc 2011-05-06 16:04:44 -04:00
Jan Küchler
5ef6bf26cf Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
Matheus Kerschbaum matjk7@gmail.com
83489c2891 Bug 639754 - Remove MOZ_IPC checks since IPC is always built now
--HG--
extra : rebase_source : bd8d7491d0fee17e0319ce130bd2988fefe82e93
2011-04-06 21:59:25 -07:00
L. David Baron
56e6f8182f Merge layout work from projects/birch, part 1. a=bsmedberg 2011-03-23 12:36:08 -07:00
L. David Baron
34bc1403fe Fix nsXULScrollFrame parameter names that are named incorrectly and fix inconsistencies between .h and .cpp. (Bug 636307) r=ehsan 2011-03-03 13:18:42 -08:00
Benjamin Stover
a646bb5913 Bug 618975 Followup: bitrot and remove mDisplayport from nsDisplayScrollLayer r=cjones r=tn a=blocking-fennec 2011-03-09 13:35:27 -08:00
Simon Montagu
8e5a76d4bc Set the position of the childRect in nsXULScrollFrame::LayoutScrollArea before calling Layout. Bug 632379, r=dbaron, a=blocker 2011-02-13 08:38:29 +02:00
Simon Montagu
e5ed17c7d6 Bug 508816 - layout patch 2011-02-07 09:59:20 +02:00
Neil Deakin
fee5806e2b Bug 489303, show resizer when statusbar is hidden, r=roc,gavin a=blocking 2011-01-17 09:35:32 -05:00
Robert O'Callahan
8050f8a959 Bug 602892. Part 2: Ensure that a scrollframe is 'inactive' if it can't be scrolled by blitting. r=tnikkel,a=blocking 2011-01-04 21:46:59 +13:00
Robert O'Callahan
62d193188e Bug 602892. Part 1: Refactor so that mScrollingActive is always true for scrollframes that are always active. r=tnikkel,a=blocking 2011-01-04 21:46:56 +13:00
Gavin Sharp
82f380c4da Back out 0ab0603bea99 (bug 489303) due to suspected Txul regression, a=backout 2010-12-25 14:55:35 -05:00
Neil Deakin
49b5659acf Bug 489303 - No resizer since the statusbar is gone, r=gavin+roc, a=b 2010-12-21 13:19:00 -08:00
Vivien Nicolas
12caa58a5e Bug 461843 - Show indication of where on the page you are when scrolling with Fennec. r=roc a=blocking-fennec 2010-10-21 14:07:55 +02:00
Alexander Surkov
8b53f409de Bug 604386 - Prune placeholder from text children, r=davidb, sr=bz, a=blocking 2010-10-16 00:34:35 +09:00
Timothy Nikkel
11a4caffee Bug 599113. Part 2. Remove unused parameter to nsGfxScrollFrameInner::ScrollVisual. r=roc 2010-10-14 20:03:45 -05:00
L. David Baron
86166b79e6 Reduce the border-radius of elements with overflow != visible so that any present scrollbars are not clipped. (Bug 459144, patch 8) r=roc a2.0=blocking:beta6+ 2010-09-07 15:20:35 -07:00
Robert O'Callahan
9d2392dcc8 Bug 564991. Part 22: Mark scrolled elements as inactive after a timeout. r=mats 2010-07-16 09:08:05 +12:00
Robert O'Callahan
fa8f373bc3 Bug 564991. Part 14: Scroll using the layer system. r=mats,sr=dbaron 2010-07-16 09:08:02 +12:00
Alexander Surkov
1b2bbba526 Bug 573706 - make frame based accessible creation more pellucid, r=davidb, sr=roc 2010-06-28 21:02:03 +09:00
Doug Turner
90356b7ac3 Bug 568612 - Remove GetURIGeckoFlags/SetURIGeckoFlags because they haven't been used since places landed. r=roc
--HG--
extra : rebase_source : 537a482cc6a4da3e39e55cc6aaa0df474308125b
2010-05-30 09:38:42 -07:00
Neil Deakin
79c932638a Bug 442228, support resizers in scrollable areas and enable them by default for textareas, r=roc,sr=dbaron 2010-03-19 07:49:34 -04:00
Alexander Surkov
be2b5e3966 Bug 534527 - Accessibility needs new DOM API part 2, r=smaug, sr=bz 2010-02-20 16:52:50 -08:00
Alexander Surkov
73e251f02b Bug 534527 - Accessibility needs new DOM API, r=olli.pettay, sr=roc 2010-02-12 01:34:01 +08:00
Timothy Nikkel
375930c3f5 Bug 488771. Stop nsIScrollPositionListener from inheriting from nsISupports. r=roc
--HG--
extra : rebase_source : bb93c56b3347bc8df7fd843f08e2d5dfc4f3071b
2010-01-28 18:03:42 -06:00
Robert O'Callahan
6787212ae4 Bug 539331 - browser_sanitizeDialog.js is failing, r=matspal 2010-01-14 05:00:00 -08:00
Robert O'Callahan
e845917d4e Bug 526394. Part 31.5: Cleanup ScrolledAreaEvent stuff to be simpler. In particular we don't need to store the scrolled area, we can just compute it when we fire the event. r=mats 2010-01-12 10:45:19 +13:00
Robert O'Callahan
04a613495c Bug 526394. Part 31: Move scroll implementation into nsGfxScrollFrame. r=mats 2009-10-08 16:01:15 +13:00
Robert O'Callahan
792994ddb4 Bug 526394. Part 28: Remove nsIScrollableFrame::GetScrollableView. r=mats 2009-09-16 12:11:40 +12:00
Robert O'Callahan
5326dfa81a Bug 526394. Part 19: Remove view paramters from nsIScrollPositionListener. r=mats 2009-09-09 17:40:01 +12:00
Robert O'Callahan
13ac1c2c83 Bug 526394. Part 4: Obsolete nsIScrollableViewProvider by adding nsIFrame::GetScrollTargetFrame. r=mats,sr=dbaron 2009-09-01 23:22:31 +12:00
Robert O'Callahan
3c94fecdb3 Bug 526394. Part 3: Add all necessary new APIs to nsIScrollableFrame. r=mats,sr=dbaron 2009-09-01 16:11:11 +12:00
fantasai
1ffb0c06ef Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc 2009-12-24 00:21:15 -05:00
Roy Frostig
fb0534737b Fire MozScrolledAreaChanged from nsDocShell::RestoreFromHistory() in case document root scroll frame isn't reflowed by the restore. r=roc 2009-10-25 00:04:18 -07:00
Roy Frostig
049a9fbdc8 Bug 514732. Issue a DOM event for document resizing. r=smaug sr=roc 2009-09-11 16:13:56 -07:00
Neil Deakin
02a7469b05 Bug 503943, add mouse capturing api to elements, remove capturing from views, r=roc,sr=smaug 2009-09-13 09:13:16 -04:00
Zack Weinberg
17eb5a6efc Bug 497495 part 3: Add methods to every nsFrame subclass that expose the as-allocated identity of every frame object. Also some cleanups to the QueryFrame implementation. r=dbaron sr=roc 2009-09-12 17:49:24 +01:00
Neil Deakin
a5bfe49767 Bug 503943, back out mouse capture patch, CLOSED TREE 2009-09-10 12:11:41 -04:00
Neil Deakin
2ca788ce33 Bug 503943, add mouse capturing api to elements, remove capturing from views, r=roc,sr=smaug 2009-09-10 08:51:36 -04:00
Boris Zbarsky
f2936464e5 Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron 2009-07-30 13:23:32 -04:00
Boris Zbarsky
5fefb45a48 Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:20 -04:00
Robert O'Callahan
5fa812e479 Bug 352093. Part 15: Rework scrolling so that we don't need a dedicated native widget for scrollframes. r=dbaron,joshmoz,karlt,jmathies 2009-07-22 12:45:13 +12:00
Boris Zbarsky
4f8205dfe2 Bug 478465. Don't clobber our NS_FRAME_IN_REFLOW flag by scrolling. r+sr=roc 2009-06-23 21:35:00 -04:00
Jeremy D. Lea
39f62f1364 Bug 431634 - Part 1 - clean up header pollution; r+sr=roc 2009-04-01 13:59:02 -08:00
Benjamin Smedberg
24e7cb1f78 Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

nsITextControlFrame didn't have an IID the first time around, but this wasn't a compile error because nsITextControlFrame::kFrameIID inherited from nsIFormControlFrame::kFrameIID. I've added a static analysis pass to verify the correct behavior, since I can't figure out a way to make the compiler do it.

--HG--
extra : rebase_source : 4894a2ca0278e2ab92f27459db77165f8348cf41
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
50621e4f9f Backed out changeset 4c4df6ed1b41 - Bug 396185 - Make nsIFrame not inherit from nsISupports due to mochitest failures... these appear to be crashes in nsGenericHTMLElement::GetEditorInternal. 2009-01-09 11:35:24 -05:00
Benjamin Smedberg
d0b948876f Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

This patch locally causes two REFTEST-UNEXPECTED-PASS for Bidi stuff. It's possible that I accidentally fixed a bug, but I'm not sure, so I'm going to wait for the tinderboxes to confirm my local results.
2008-11-05 14:25:30 -05:00
Robert O'Callahan
f79290bb0e Bug 450930. Fire a DOM event when painting so that content and chrome can track what's being repainted. r=smaug,sr=dbaron 2008-09-18 21:47:21 +12:00
Robert O'Callahan
1eeada5faa Bug 376662. Make nsIFrame::GetOffsetTo not explicitly use views. r+sr=bzbarsky 2008-09-04 09:35:52 +12:00
Robert O'Callahan
bf853288c9 Bug 444690. Scrollframes should call the superclass InvalidateInternal so that generic invalidation hooks work. r+sr=dbaron 2008-07-14 10:21:11 +12:00
roc+@cs.cmu.edu
1bfe348601 Bug 425253. Propagate reflow-depth tracking through XUL box layout. r+sr=dbaron,a=damon 2008-04-09 21:39:41 -07:00
roc+@cs.cmu.edu
76c8339f01 Bug 405952. Add scrollbar width to pref and min widths for overflow:scroll elements but for no other overflow values. r+sr=bzbarsky,dbaron,dholbert, a=beltzner 2008-02-28 12:37:06 -08:00
roc+@cs.cmu.edu
ef81289627 Bug 407095. Reflow in more situations where horizontal scrollbar appears or disappears. May hurt Tp, let's watch. r+sr=dbaron,a=damon 2008-02-23 02:15:59 -08:00
Olli.Pettay@helsinki.fi
88b19c4b16 Bug 392698, ASSERTION: can't mark frame dirty during reflow, r+sr=roc, a=blocking1.9 2007-12-20 15:49:46 -08:00
roc+@cs.cmu.edu
21900626e0 Bug 407015. Dropdown listboxes should not propagate computed height from the scrollframe to its scrolled content. r+sr=dbaron 2007-12-06 16:10:31 -08:00
roc+@cs.cmu.edu
a05edceefa Bug 375304. Make nsHTMLScrollFrame handle situations where the child content height depends on our height. patch by Eli Friedman, r+sr=roc,dbaron 2007-12-04 19:05:57 -08:00
reed@reedloden.com
98141f6d9e Bug 395628 - ""ASSERTION: post-reflow queues not empty" with feed in <frame>" [p=mats.palmgren@bredband.net (Mats Palmgren) r=smaug r+sr=dbaron a=blocking1.9+] 2007-11-30 23:22:44 -08:00
sharparrow1@yahoo.com
d4a50fcc87 Bug 381645: Remove nsBoxFrame::GetContentOf. r+sr=dbaron. 2007-05-22 20:48:43 -07:00
bzbarsky@mit.edu
24c328d268 Fix the vertical scrollbar guessing in nsHTMLScrollFrame to do better for aninitial reflow if we're doing that initial reflow a ways into the documentload. Bug 378480, r+sr=roc 2007-04-25 19:29:21 -07:00
hg@mozilla.com
465265d0d4 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00