Commit Graph

1147 Commits

Author SHA1 Message Date
Robert O'Callahan
709a687eeb Bug 735898. Part 6: Avoid nsIFrame::GetOffsetTo calls by caching a frame/offset pair in nsDisplayListBuilder, using the cache from nsDisplayListBuilder::ToReferenceFrame, and having BuildDisplayListForChild efficiently update the cached frame from parent to child when possible. Also, use display items' precalculated ToReferenceFrame() instead of calling nsDisplayListBuilder::ToReferenceFrame where possible. r=mattwoodrow,a=blocking-fennec 2012-04-18 17:14:14 +12:00
L. David Baron
1984592c22 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
Robert O'Callahan
833e8a244f Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel
Previously we snapped the results of nsDisplayItem::GetBounds and
nsDisplayItem::GetOpaqueRegion internally. By tracking which display items were
inside transforms, we disabled snapping quite conservatively whenever an ancestor
had a transform, which is undesirable.

With this patch, we don't snap inside GetBounds or GetOpaqueRegion, but just return
a boolean flag indicating whether the item will draw with snapping or not. This flag
is conservative so that "true" means we will snap (if the graphics context has a transform
that allows snapping), but "false" means we might or might not snap (so it's always safe
to return false).

FrameLayerBuilder takes over responsibility for snapping item bounds. When it converts
display item bounds to layer pixel coordinates, it checks the snap flag returned from
the display item and checks whether the transform when we draw into the layer will be
a known scale (the ContainerParameters scale factors) plus integer translation. If both
are true, we snap the item bounds when converting to layer pixel coordinates. With
this approach, we can snap item bounds even when the items have ancestors with active
transforms.
2012-04-10 23:24:18 +12:00
Mark Capella
0ce8f5b8a9 Bug 739524 - replace TreeViewChanged DOM event on direct call from XUL tree, r=tbsaunde, f=surkov 2012-04-02 20:31:10 +09:00
Phil Ringnalda
62e25bcddc Back out b00bf7f3869c (bug 737976) for apparently causing mochitest-1 leaks on a CLOSED TREE 2012-03-28 22:43:09 -07:00
Kyle Huey
5639dfdb41 Bug 737976: Remove nsINodeInfo. rs=bent 2012-03-28 19:07:37 -07:00
Masayuki Nakano
15721bb9b4 Bug 703774 Cast the result of getAttribute() as Number before comparing the values r=enn 2012-03-29 00:20:13 +09:00
Alexander Surkov
a9082ae143 Bug 656225 - XUL listbox accessible tree doens't get updated, r=tbsaunde, bz 2012-03-27 16:29:51 +09:00
Adam Dane [:hobophobe]
3c986b3780 Bug 720126 - Update scroll API to use ScrollAxis parameters (where and when). r=roc 2012-03-19 21:09:50 -05:00
Daniel Holbert
9c55e83277 Bug 640443: Allow positioned display:-moz-box elements to be containers for absolutely-positioned content. r=bz 2012-03-10 14:49:10 -08:00
Mats Palmgren
bc861fa127 Bug 728906 - Make nsIFrame::GetChildList return const nsFrameList&. r=bz 2012-03-08 02:57:37 +01:00
Mats Palmgren
a63934af76 Bug 728913 - Remove the nsMenuFrame::mPopupFrame member and store it in a nsFrameList* frame property instead (as needed). r=bz 2012-03-08 02:57:37 +01:00
Nathan Froyd
7adb7a65ea Bug 731615 - Eliminate duplicate headers in layout. rs=smontagu 2012-02-29 10:57:47 -05:00
Serge Gautherie
6cdfed8452 Bug 728541. (Av1) browser_bug703210.js: Add a missing removeEventListener(). r=smaug. 2012-02-18 21:49:14 +01:00
Masayuki Nakano
1dc6da3333 Bug 625151 Reset accesskey state at blur and alt keydown r=enn 2012-02-14 09:56:03 +09:00
Karl Tomlinson
25a53e61ab b=724967 update mWidget before calling CaptureRollupEvents to handle rollup during the call r=enndeakin
--HG--
extra : rebase_source : 47e0d5e43884c3722a3517d1e631c790e95101ec
2012-02-14 09:19:50 +13:00
Neil Deakin
9deafef999 Bug 707386, remove use of drag session from treebodyframe, r=neil 2012-02-07 13:02:33 -05:00
Makoto Kato
aad5af7989 Bug 691103 - nsBoxObject::SetPropertyAsSupports cannot recognize nsInterfaceHashtable.Init error. r=bz 2012-02-02 15:32:44 +09:00
Ms2ger
2d51bac031 Merge m-c to m-i. 2012-01-25 11:06:40 +01:00
Ms2ger
c65e8a0ba7 Bug 718504 - Remove some GetChildAt callers; r=smaug 2012-01-25 08:50:07 +01:00
Mats Palmgren
2a48071cb7 Bug 524925 - Consolidate overflow clipping checks to nsFrame::ApplyOverflowClipping(); and fix some code style nits. part=5/6 r=roc 2012-01-18 21:04:51 +01:00
L. David Baron
5f13418d9a Set inflation container and width correctly during reflow. (Bug 706609, patch 3) r=roc
This is the second of three patches to rework the way we handle getting
the font inflation container and width data during reflow, which are
needed so that we can sometimes honor inflation during intrinsic width
calculation (which we need to do to make some form controls inflate
correctly).
2012-01-24 17:21:28 -08:00
Benjamin Stover
a371dc7830 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
Markus Stange
1a8fc22417 Bug 598482 part 2 - Remove synchronous painting APIs from nsIViewManager. r=roc 2011-12-23 22:52:21 -05:00
Kyle Huey
3a27625aad Bug 714752: Make imgIContainerObserver::FrameChanged take an imgIRequest*. r=joe sr=roc 2012-01-06 07:32:38 -05:00
Mats Palmgren
ecaac9ba30 Bug 515530 - Remove nsHTMLContainerFrame. r=roc 2011-12-27 21:18:48 +01:00
Phil Ringnalda
3cce1527f8 Back out 1ac4cb2e7c32 to c631f9c3e9a9 (bug 598482) for Android reftest failures 2011-12-23 22:21:58 -08:00
Markus Stange
4ca59bb5ee Bug 598482 part 2 - Remove synchronous painting APIs from nsIViewManager. r=roc 2011-12-23 22:52:21 -05:00
Nicholas Nethercote
33730101c6 Bug 711908 - Fix a bunch of GCC warnings in layout. r=dbaron. 2011-12-19 19:46:39 -08:00
Matthew Schranz
5eb12bc3ef Bug 334573 - Renamed all references of nsPLDOMEvent to nsAsyncDOMEvent. r=sicking
--HG--
rename : content/events/public/nsPLDOMEvent.h => content/events/public/nsAsyncDOMEvent.h
rename : content/events/src/nsPLDOMEvent.cpp => content/events/src/nsAsyncDOMEvent.cpp
2011-12-17 01:02:05 -05:00
Masayuki Nakano
a3298d0045 Bug 204786 Use LookAndFeel for delay to show tooltip r=roc+enndeakin 2011-12-16 18:18:48 +09:00
Masayuki Nakano
a497da68ea Bug 706743 tooltip listener should ignore mousemove and mouseout events during drag r=enndeakin 2011-12-16 15:17:48 +09:00
Cameron McCormack
bc5fdce17d Bug 707054 - Remove event listener added in browser_bug703210.js. r=masayuki 2011-12-02 23:25:04 +11:00
Justin Lebar
5905e88333 Back out revs d445f83ecfb1:dc9cc326cad0, because they did not back out what was intended. 2011-12-01 16:35:42 -05:00
Justin Lebar
47b2651e38 Backed out changeset 5d920a44a901 (bug 698002) 2011-12-01 15:43:07 -05:00
Timothy Nikkel
2eddc81bb7 Bug 668437. Part 5. Make the view bounds of a popup coincide with the client area of the widget. r=enndeakin,roc 2011-12-01 13:56:42 -06:00
Timothy Nikkel
595b66e4e0 Bug 668437. Part 2. When placing popup widgets check if the client offset of the window has changed in addition to the top left of the window. r=enndeakin 2011-12-01 13:56:41 -06:00
Timothy Nikkel
8167fe7623 Bug 668437. Part 1. DeCOMtaminate nsMenuPopupFrame::GetWidget. r=enndeakin 2011-12-01 13:56:41 -06:00
Masayuki Nakano
abb90df377 Bug 703210 part.2 Add test r=smaug 2011-11-30 21:44:53 +09:00
Masayuki Nakano
f753cdcbda Bug 703210 XUL tooltip listener should use system event group for listening to content events r=smaug+enn 2011-11-29 13:39:21 +09:00
Scott Johnson
2400844022 Bug 682077 - Remove nsITreeImageListener interface to make inheritance hierarchy more clear. r=neil, sr=bz 2011-11-28 14:11:01 -06:00
Scott Johnson
8af702f2cd Backed out changeset 068e3078ced6 2011-11-28 13:12:16 -06:00
Scott Johnson
658ade4251 Bug 682077 - Remove nsITreeImageListener interface to make inheritance hierarchy more clear. r=neil, sr=bz 2011-11-28 12:40:18 -06:00
Masayuki Nakano
435f4bcaac Bug 703150 Cannot drag scrollbar thumb if stopPropagation() of mousedown event is called r+sr=smaug 2011-11-25 10:09:58 +09:00
Ed Morley
47f9c8e83e Merge mozilla-central and mozilla-inbound 2011-11-24 09:08:33 +00:00
L. David Baron
4279e50916 When reflowing a frame (such as text controls) that jumps from HTML layout into XUL layout and then jumps back to HTML on the child frame, link the parent reflow state chain correctly. (Bug 627842, patch 3) r=roc 2011-11-23 18:48:23 -08:00
Jeff Walden
ae17ec2da9 Bug 704127 - Implement MOZ_FINAL as a modifier for classes and virtual member functions. r=cjones
--HG--
extra : rebase_source : d95a3b3e726f810f299314358ba8c5e23557698e
2011-11-20 22:21:16 -08:00
Scott Johnson
a1b95efb92 Bug 682077 - Backout of 332d4787b430 to troubleshoot crashes on Windows. 2011-11-23 13:40:08 -06:00
Neil Deakin
886637d1cb Bug 703260, part 2, remove view usage from popup manager's widget callbacks, r=mats 2011-11-21 12:53:20 -05:00
Neil Deakin
9e0f3e82fe Bug 703260, part 1, remove view from eventstatemanager and presshell event handling, r=smaug,sr=roc 2011-11-21 12:53:20 -05:00