Commit graph

2155 commits

Author SHA1 Message Date
Chris Jones
38cde694be Back out bug 790505 for leaking 2012-10-03 00:21:08 -07:00
Chris Jones
3d0d3d6cab Bug 790505, part 4: If we're just updating the transform of a prerendered layer, then schedule an empty transaction to skip unnecessary display-list overhead. r=roc 2012-10-02 22:55:52 -07:00
Ms2ger
fc5a75281c Bug 793314 - Remove PtrBits; r=mounir,roc 2012-10-02 10:24:11 +02:00
Matt Woodrow
cee1aa3599 Bug 539356 - Part 9c - Remove old invalidation code. r=bz 2012-08-29 17:39:31 +12:00
Ed Morley
aba3a8f5ef Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE 2012-09-27 16:34:46 +01:00
Matt Woodrow
4d096475d2 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-08-29 17:38:58 +12:00
Mats Palmgren
5efcc4ab00 Bug 765621 - Drain the parent frame's overflow list before attempting to insert/append new child frames. r=bz 2012-09-18 01:05:05 +02:00
Daniel Holbert
5d107bb76c Bug 791037: s/IsInlineOutside/IsInlineOutsideStyle/ in #ifdef MOZ_FLEXBOX code to fix compile error when flexbox is defined. r=dbaron (DONTBUILD because this is in code that's NPOTB for now) 2012-09-13 12:55:27 -07:00
L. David Baron
ac90d018cc Add more profile labels for the separate parts of restyle processing. (Bug 790379) rs=cjones 2012-09-11 21:05:03 -07:00
Robert Longson
d6bf23f66c Bug 783995 - enable animation of view element attributes. r=dholbert 2012-09-09 12:44:03 +01:00
L. David Baron
77cd0aa639 Rename nsChangeHint_ReflowFrame to nsChangeHint_AllReflowHints to make it clearer that it's the one that contains multiple bits. (Bug 789592, patch 2) r=bzbarsky 2012-09-07 15:57:06 -07:00
Cameron McCormack
0306878c88 Bug 655877 - Part 23a: Add white-space:-moz-pre-discard-newlines value with white space collapsing behavior like SVG's xml:space="preserve". r=roc,dbaron 2012-09-07 15:42:19 +10:00
Robert O'Callahan
33cd6a744c Bug 787089. Rip out mUpdatePluginGeometryForFrame optimization. It's not known to be a significant win, and creates problems when prescontext ancestor chains are broken; the complexity probably isn't worthwhile. Also, soon (or now) we can rework plugin bounds computation to be use the display list built for rendering. r=matspal
--HG--
extra : rebase_source : 0394fcb5111b8b96b5f8ce48e20d6e5503f9ccf7
2012-09-05 22:30:10 +12:00
Ehsan Akhgari
0c5fa1f0c9 Bug 782062 - Do not attempt to move frames with views in their subtree without doing a reflow to prevent the view position from getting out of sync; r=roc
--HG--
extra : rebase_source : 2e4ea7d139dc953a4c3d525b15e5753fb585e057
2012-08-29 09:46:09 -04:00
Ehsan Akhgari
e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Aryeh Gregor
4e199a1679 Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Robert O'Callahan
d2d218e577 Bug 691651. When an element changes between having a transform and not having one, don't reframe if we don't need to. r=dbaron
--HG--
extra : rebase_source : ed990c17d2501ea5f4d09dea56baeada41cd3f35
2012-08-10 23:16:49 +12:00
Cameron McCormack
ca73141a7d Bug 655877 - Part 18: Ensure even line-ending white space SVG text frames are created. r=bz 2012-08-05 11:01:18 +10:00
Cameron McCormack
db1f06ec89 Bug 655877 - Part 17: Ensure non-SVG child elements of SVG text elements do not get frames. r=bz 2012-08-05 11:01:18 +10:00
Cameron McCormack
7670328c6c Bug 655877 - Part 16: Treat all values of display other than 'none' as 'inline' in SVG text frames. r=roc 2012-08-02 21:38:51 +10:00
Cameron McCormack
5e22f14219 Bug 655877 - Part 15: Don't treat SVG text frames as being positioned. r=roc 2012-08-02 21:38:50 +10:00
Cameron McCormack
d7e9a93257 Bug 655877 - Part 14: Ignore float in SVG text frames. r=roc 2012-08-02 21:38:49 +10:00
Aryeh Gregor
c81630fddb Bug 777292 - Convert incorrect conversions to nsresult and fix named constants; r=ehsan 2012-07-27 16:59:29 +03:00
Aryeh Gregor
d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Jonathan Watt
4b2601630f Bug 776250 - Rename nsISVGChildFrame::UpdateBounds to nsISVGChildFrame::ReflowSVG to make it easier for non-SVG devs to understand the SVG code. r=roc.
--HG--
extra : rebase_source : 9c2d8f3d76dab1a842d6cc5607a13a49703061d6
2012-07-21 20:01:44 -04:00
Jonathan Watt
c8b3589558 Bug 614732 - Implement display list based painting and hit-testing for SVG. r=roc.
--HG--
extra : rebase_source : 77e55885fbbf428008f5be787ddeb7e561c0d9bd
2012-07-20 14:12:29 -04:00
Ehsan Akhgari
7caf761704 Bug 763223 - convert the assertion added in bug 157681 to a warning; r=dbaron 2012-06-18 20:58:08 -04:00
Jonathan Watt
f234ac813a Bug 769742 - Account for nsSVGOuterSVGFrames' border/padding offset by giving nsSVGOuterSVGFrame an anonymous child to wrap its real children. r=roc. 2012-07-09 02:04:56 +01:00
Jeff Muizelaar
6d2bb0d368 Bug 764188 - Expose a global frame tree generation number. r=dbaron
This generation number will be incremented every time that the frame
tree for a presshell changes. Callers need to deal with the case where
this value overflows. We use this to avoid a bunch of Android
screenshotting.
2012-07-04 11:42:29 -04:00
Mounir Lamouri
870e9d2721 Bug 635498 - Make <input type='number'> behaves like <input type='text'>. r=sicking
--HG--
extra : rebase_source : 0754f845fd6223cd48ca8908ebf642636f0fd9ed
2012-06-10 22:23:17 +02:00
Ehsan Akhgari
cf18ee9122 Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions 2012-07-03 20:24:55 -04:00
Ms2ger
9512d96bf2 Bug 769437 - Remove a check that has been dead since 2005 to fix a build warning; r=mounir 2012-07-02 08:23:56 +02:00
Matt Woodrow
31125260ee Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-06-30 15:06:11 +12:00
Ehsan Akhgari
78e6655072 Bug 766843 - Exempt inner table frames from optimized dynamic position change handling, as the required handling is performed for outer table frames; r=bzbarsky 2012-06-27 16:24:01 -04:00
Daniel Holbert
258620a8a5 Bug 666041 patch 3: Create boilerplate nsFlexContainerFrame class. r=bz 2012-06-26 15:12:13 -07:00
Daniel Holbert
fb1bf70207 Bug 666041 patch 2.5: Add nsCSSFrameConstructor code for detecting when a flex container needs to have its frames rebuilt. r=bz 2012-06-26 15:11:53 -07:00
Daniel Holbert
0432772643 Bug 666041 patch 2: Add "-moz-flex" & "-moz-inline-flex" values for "display" property. r=bz 2012-06-26 15:11:38 -07:00
Jonathan Watt
bb676c03b1 Bug 767996 - Prevent DoApplyRenderingChangeToTree calling nsSVGUtils::InvalidateBounds() and passing in an nsSVGOuterSVGFrame. r=me. 2012-06-25 18:55:30 +01:00
Robert O'Callahan
cbf817fec3 Bug 766007. Create scrollframes for frameset documents. r=tnikkel 2012-06-22 22:51:05 +12:00
Mounir Lamouri
ac94d1c7d7 Back out bug 766007, bug 703241 and bug 752796 due to perma-orange (419f0d1b848b to 8661c74deeb5). 2012-06-22 11:13:32 +02:00
Robert O'Callahan
a93a91b04d Bug 766007. Create scrollframes for frameset documents. r=tnikkel 2012-06-22 17:06:40 +12:00
Ehsan Akhgari
1a897d20ab Bug 765597 - Invalidate the thebes layer as well as the overflow area when moving frames; r=dbaron 2012-06-19 16:47:27 -04:00
Kartikaya Gupta
dbb7ab2ced Bug 763570 - Part 2 - Add a scrollframe from frameset documents on Fennec, so that they work with async pan/zoom and touch events. r=bz 2012-06-15 17:49:53 -04:00
Boris Zbarsky
5cde1093c5 Bug 763424. Dynamic changes to generated content don't work correctly on frames which pass a child content insertion frame to ProcessChildren (e.g. <td>). r=dbaron 2012-06-11 18:21:35 -04:00
Ed Morley
865fc92be0 Backout 61fd66629c4f, 7c8121f8d3af & 2a2e9cf8fd41 (bug 539356), e31a5e6545d3 (bug 761884), 85fa80bd9792, a284ccb25b83, 2865904db9fc, 34e07b09c426, e9b3d41e0360, cef00ebcd6c8, f943b729ac14 & 783f298401b6 (bug 539356), 330a086f1570 (bug 741682), d80219c8842c (bug 739671), e8c96b4fd4da, 313af486e68d, 0adc41ff56dc, 0cd288a38085, f1d43208825c, 4859876972f3, eec8ef3ebe48, f7f29fcd1845, 6079b229d306, f23c3a7e7ce0, 9824458a41e2 & 6748b5496059 (bug 539356) for mochitest-4 orange & talos regressions on multiple platforms 2012-06-11 10:08:32 +01:00
Matt Woodrow
cee7c9d24b Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
* * *
Bug 539356 - Part 9a - Add new display list invalidation API to nsDisplayItem and implement it. r=roc
* * *
Bug 539356 - Part 9b - Add new frame invalidation API. r=roc
* * *
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
* * *
Bug 539356 - Part 9d - Make SVG support the new invalidation model. r=jwatt
* * *
Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
* * *
Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc
* * *
Bug 539356 - Part 9g - Modify MozAfterPaint code to work with the new invalidation model. r=roc
2012-06-11 16:45:30 +12:00
Mounir Lamouri
d384c795f3 Bug 760848 - Make select.size reflection follow the specifications. r=smaug 2012-06-07 01:27:53 +02:00
Ehsan Akhgari
1261bc9326 Merge mozilla-central into mozilla-inbound 2012-06-06 12:46:50 -04:00
Ehsan Akhgari
bdd1cdb13d Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron
This patch adds a change hint to signal that one of the offsets on a
frame has been changed.  When processing the hint, we do one of the
following things based on the position property of the frame.

* For static frames, we ignore the offset changes completely, as they
  will not change the layout.
* For relative positioned frames, this patch refactors the
  nsHTMLReflowState::ComputeRelativeOffsets function so that it can be
  used from other callers, and it uses that to compute the new relative
  offsets, and uses the offsets computed previously to compute the new
  position of the frame.
* For absolute positioned frames, we set up a fake parent reflow state
  object, and then we create a new reflow state object for the frame in
  question.  This setup is similar to what nsFrame::BoxReflow does.
  Once we have the new reflow state object, we use it to compute the
  absolute offsets, and then we use the computed offsets to set the new
  position of the frame.  The offset computation is similar to what
  nsAbsoluteContainingBlock::ReflowAbsoluteFrame does.  In some cases
  where it is possible for the dimensions of the frame to change based
  on the offset changes, we fall back to a full reflow.
2012-06-06 00:53:48 -04:00
Boris Zbarsky
2ad97ca660 Bug 464758. Don't try to check for :before/:after pseudos for frames that can't have them. r=dbaron 2012-05-29 23:45:17 -04:00
Boris Zbarsky
fcf99ba406 Bug 758885. Don't apply the dynamic :hover reresolution skipping optimization to selectors which can match on mutable state other than :hover. r=dbaron 2012-05-29 00:17:45 -04:00
Neil Deakin
403c3ccc83 Bug 757485, remove nsIXBLService and use nsXBLService directly, r=bz 2012-05-23 14:46:04 -04:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Benjamin Smedberg
eaa4878487 Bug 734847 part 2 - treewide changes resulting from the default-infallibility of hashtables; either remove useless result checks, or use the fallible version of APIs, depending on context, r=jlebar
--HG--
extra : rebase_source : 844b008c5167e6ca39a7ba9eeec8b30672938704
2012-05-18 13:30:49 -04:00
Aryeh Gregor
8e52d8b627 Bug 756045 - Turn "ASSERTION: anonymous nodes should not be in child lists" into an NS_WARNING; r=bz 2012-05-18 09:20:49 +03:00
Jonathan Watt
f418b57d69 Bug 734082 - Compute and store bounds and visual overflow bounds for both SVG leaf and container frames. r=roc. 2012-05-17 05:05:09 +01:00
Vincent LAMOTTE
859886a242 Bug 657953 (1/2) - Implement the layout part of the meter element. r=roc 2012-05-16 17:47:10 +02: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
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
Daniel Holbert
a456aa6ccf Bug 745991: In nsCSSFrameConstructor::MaybeRecreateContainerForFrameRemoval, add explicit parenthesis around '&&' within '||' to silence GCC warning. r=smontagu 2012-04-17 09:56:15 -07:00
Mats Palmgren
f4490cde11 Bug 740743 - Implement CSS overflow for <legend>. r=bz 2012-04-13 17:52:13 +02:00
Phil Ringnalda
16b8634b73 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
33073664dc Bug 737976: Remove nsINodeInfo. rs=bent 2012-03-28 19:07:37 -07:00
Daniel Holbert
e1d1b4008c Bug 740067: Make nsCSSFrameConstructor::CreateNeededTablePseudos return void. r=bz 2012-03-28 12:43:15 -07:00
Alexander Surkov
d7940989f5 Bug 656225 - XUL listbox accessible tree doens't get updated, r=tbsaunde, bz 2012-03-27 16:29:51 +09:00
Daniel Holbert
1618ebf8de Bug 739439: Make nsFrameConstructorState::GetGeometricParent() a const method. r=bz 2012-03-26 15:36:13 -07:00
Daniel Holbert
eb7905baea Bug 738007: Minor code cleanup in nsCSSFrameConstructor::FlushAccumulatedBlock. r=bz 2012-03-22 10:31:19 -07:00
Jim Mathies
71cea19097 Bug 737983 - win8 fixup for generic keyword collision, r=smaug. 2012-03-22 09:18:41 -05:00
Daniel Holbert
21f77f436b Bug 737313: Make nsCSSFrameConstructor::ConstructInline more robust when one of its child frames fails to construct. r=bz 2012-03-20 10:23:03 -07:00
Jonathan Watt
607557fa95 Bug 734079, part 2 - Use a mark and asynchronously sweep scheme (similar to HTML reflow) to invalidate and update SVG frame bounds. r=longsonr. 2012-03-20 12:15:53 +00:00
Boris Zbarsky
a90ab1fdc8 Bug 537624. Don't set up undisplayed entries until we're sure we're creating frames from the relevant FrameConstructionItemList. r=roc 2012-03-19 18:22:02 -04:00
Boris Zbarsky
0b6e42d918 Bug 732667. Only do checks for :hover selectors when hover state changes on nodes which have relevant hover rules. r=dbaron 2012-03-12 22:54:15 -05:00
Boris Zbarsky
173c545b7b Bug 705877 part 6. Make frame construction use ancestor filters when resolving style. r=dbaron 2012-03-12 22:54:15 -05:00
Phil Ringnalda
ef5d0d917f Back out 83a33626d965:6e9330f5a9bd (bug 732667 and bug 705877) for Windows build bustage 2012-03-12 22:12:41 -07:00
Boris Zbarsky
4de57bccc9 Bug 732667. Only do checks for :hover selectors when hover state changes on nodes which have relevant hover rules. r=dbaron 2012-03-12 22:54:15 -05:00
Boris Zbarsky
15170be58d Bug 705877 part 6. Make frame construction use ancestor filters when resolving style. r=dbaron 2012-03-12 22:54:15 -05:00
Daniel Holbert
efab9b17ef 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
Boris Zbarsky
a260fe3935 Bug 734406. Fix printing and print preview for <canvas> by checking for script-enabled on the original document, not on the printing document. r=tnikkel 2012-03-09 22:32:51 -06:00
Jonathan Watt
00c7e687b5 Bug 734218 - nsChangeHint_RepaintFrame should only invalidate the bounds of SVG frames, not update them. r=dholbert. 2012-03-09 08:55:28 +00:00
Nathan Froyd
68a79f10ae Bug 731615 - Eliminate duplicate headers in layout. rs=smontagu 2012-02-29 10:57:47 -05:00
Mats Palmgren
c5771580ff Bug 727601 - "ASSERTION: Only transformed frames should have UpdateTransformLayer hint" with display:table. r=roc 2012-03-01 13:34:19 +01:00
David Bolter
ab09888daa Bug 495912 - Expose content in HTML canvas elements. r=bz,roc r=surkov(tests)
layout-mentor: bz (mucho thanks!)

We make html canvas frame a container and render frames for its content which makes a lot of what we need for accessibility "just work".
2012-02-17 23:26:37 -05:00
Ed Morley
8de602546b Backout 547de632a3e2 (bug 495912) for mochitest-a11y orange 2012-02-29 18:42:58 +00:00
David Bolter
6392ae8ed0 Bug 495912 - Expose content in HTML canvas elements. r=bz,roc r=surkov(tests)
layout-mentor: bz (mucho thanks!)

We make html canvas frame a container and render frames for its content which makes a lot of what we need for accessibility "just work".
2012-02-17 23:26:37 -05:00
Boris Zbarsky
11bec6d3bc Bug 728516. Refactor frame construction for things that want to wrap kids in a block. r=roc 2012-02-21 18:01:40 -05:00
Boris Zbarsky
115115757e Bug 728111. Fix the block inside foreignObject to really be the absolute containing block for its kids. r=roc 2012-02-21 18:01:40 -05:00
Mats Palmgren
22292d33f2 Bug 725535 - "ASSERTION: Only transformed frames should have UpdateTransformLayer hint". r=roc 2012-02-12 22:21:50 +01:00
Phil Ringnalda
b8cb208b51 Back out 1cd8c9b40035 (bug 725376), df43cc1f72e1 (bug 725535), and 8a820e4ee7f6 (bug 726364) for reftest orange 2012-02-12 14:01:58 -08:00
Mats Palmgren
e1e299bc04 Bug 725535 - "ASSERTION: Only transformed frames should have UpdateTransformLayer hint". r=roc 2012-02-12 22:21:50 +01:00
Chris Lord
4cd5246318 Bug 722325 - Revert bug 720987 for transformed frames. r=roc
The fix checked in for bug 720987 caused a major rendering regression with
native fennec. Revert it for transformed frames until the correct fix is found.
2012-02-09 16:42:14 +01:00
Robert O'Callahan
1bf1258f1d Bug 722923. Part 1: Strip opacity/transform update hints when we recursively invalidate over our children. r=mats 2012-02-08 11:52:59 +13:00
Mats Palmgren
b6fc300953 Bug 724432 - Skip UpdateOverflow if we did Reflow. Don't propagate UpdateOverflow in ReResolveStyleContext. r=roc 2012-02-07 12:31:47 +01:00
Mats Palmgren
d120b07033 merge backout 2012-02-07 12:31:08 +01:00
Mats Palmgren
f6a482258a Backout bug 722325 (a8b8c4489e4e). r=roc 2012-02-07 12:31:03 +01:00
Chris Lord
c884d3891b Bug 722325 - Revert bug 720987 for transformed frames. r=roc
The fix checked in for bug 720987 caused a major rendering regression with
native fennec. Revert it for transformed frames until the correct fix is found.
2012-02-01 08:50:24 +00:00
Mats Palmgren
ec07f40071 Bug 720987 - Don't use the existing overflow areas when calculating the new overflow areas after a style change. r=roc 2012-01-28 04:35:58 +01:00
Simon Montagu
240bfe4a4e Recreate content when a deleted frame is the only child of a bidi continuation frame. Bug 718236, r=roc 2012-01-26 00:04:22 -08:00
Mats Palmgren
0481e963c4 Bug 524925 - Update the overflow for all the affected frames, not just the primary frame. And the ancestors of those. part=2/6 r=roc 2012-01-18 21:04:51 +01:00
Benjamin Stover
dc9cd57308 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
Cameron McCormack
f6921691c3 Bug 724706 - Use NS_NewBlockFormattingContext instead of NS_NewBlockFrame with the bfc flags. r=roc 2012-02-07 10:49:08 +11:00