Commit Graph

471 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
c1ccc4c73b Bug 1296516: Convert UndisplayedMap to a typed hashtable. r=heycam
MozReview-Commit-ID: g54ekayP2y
2017-03-20 22:28:15 +01:00
Bobby Holley
5b18a37952 Bug 1343388 - Don't write to undisplayed contents map cache during servo traversal. r=emilio
MozReview-Commit-ID: 732bV0X80Gk
2017-02-28 18:07:48 -08:00
Emilio Cobos Álvarez
f8bd6c31bf Bug 1341083: Don't fall back to reframing with display: contents. r=heycam
MozReview-Commit-ID: KD3QBiU7M5f
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-02-25 19:15:43 +01:00
Emilio Cobos Álvarez
c0e5af8f9a Bug 1341083: Implement dynamic restyling for display: contents. r=heycam
MozReview-Commit-ID: KimTU2j4V4p
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-02-25 19:15:38 +01:00
Emilio Cobos Álvarez
32ce34eedd Bug 1329200: Remove unused FrameManager global generation counter. r=xidorn
MozReview-Commit-ID: AXkaZYxpK2y
2017-01-06 16:03:41 +01:00
Mats Palmgren
21460b2fcf Bug 731096 - Make nsFrameManager::RegisterPlaceholderFrame infallible. r=dholbert 2017-01-04 00:56:19 +01:00
William Chen
de03034e7c Bug 1274539 - Use GetParentCrossingShadowRoot() instead of GetParent() in GetStyleContextInMap when looking up undisplayed nodes. r=dbaron 2016-05-26 19:52:11 -07:00
Kyle Huey
4b7036b55a Bug 1261351: Look past ShadowRoots when looking for the parent for the UndisplayedMap. r=dbaron 2016-06-07 14:09:22 -07:00
Jonathan Watt
947f9705a7 Bug 1263785 - Kill off the deprecated nsINode::GetCurrentDoc. r=baku 2016-03-31 12:46:32 +01:00
Nicholas Nethercote
53a4e4a5b5 Bug 1253085 - Remove the |PLDHashTable*| argument from PLDHash{HashKey,MatchEntry}. r=froydnj.
This is easy because it's never needed.
2016-03-16 15:33:44 +11:00
Chris H-C
bf7f26bd9c Bug 1249664 - Make stateful frames responsible for their own keys r=dbaron
nsFrameManager::CaptureFrameStateFor generates keys for stateful frames that
only take into account the document and element. This precluded saving pieces
of information coming from different frames responsible for the same element.

MozReview-Commit-ID: 29x3Gj66wAy
2016-03-10 10:14:37 -05:00
Cameron McCormack
6fdc2f1032 Bug 1223228 - Remove unused nsFrameManagerBase::mStyleSet. r=dholbert 2015-11-10 12:27:47 +11:00
Nicholas Nethercote
2087a666fc Bug 1201135 - Rename pldhash.{h,cpp} to PLDHashTable.{h,cpp}. r=mccr8. 2015-09-15 20:49:53 -07:00
Nicholas Nethercote
829edf1dcd Bug 1121760 (part 6) - Move all remaining PL_DHash*() functions into PLDHashTable. r=poiru. 2015-09-14 14:23:47 -07:00
Nicholas Nethercote
5c81422b5c Bug 1121760 (part 3) - Remove PL_DHashTableRemove(). r=poiru. 2015-09-14 14:23:24 -07:00
Nicholas Nethercote
3bbd89a422 Bug 1121760 (part 2) - Remove PL_DHashTableAdd(). r=poiru. 2015-09-14 14:23:12 -07:00
Nicholas Nethercote
f9fdfba566 Bug 1121760 (part 1) - Remove PL_DHashTableSearch(). r=poiru. 2015-05-21 00:34:25 -07:00
Nicholas Nethercote
eb7596ed1d Bug 1174631 (part 4) - Replace nsFrameManager's uses of PL_DHashTableEnumerate() with PLDHashTable::Iterator. r=dholbert. 2015-06-16 21:09:39 -07:00
Nicholas Nethercote
920bcd7199 Bug 1170416 (part 5) - Remove PLDHashTable::IsInitialized(). r=froydnj.
|mOps| is always non-null now, and there's no longer any distinction between
and uninitialized and initialized table. Yay.
2015-05-20 21:23:55 -07:00
Nicholas Nethercote
4500bfa831 Bug 1170416 (part 3) - Remove the PLDHashTable2 typedef. r=froydnj. 2015-05-19 16:46:17 -07:00
Nicholas Nethercote
e0c721a715 Bug 1168007 (part 2) - Use PLDHashTable2 in nsFrameManagerBase. r=froydnj. 2015-05-18 19:24:34 -07:00
Nicholas Nethercote
3b0764a330 Bug 1131901 (part 1) - Make PL_DHashTableAdd() infallible by default, and add a fallible alternative. r=froydnj.
I kept all the existing PL_DHashTableAdd() calls fallible, in order to be
conservative, except for the ones in nsAtomTable.cpp which already were
followed immediately by an abort on failure.
2015-02-02 14:48:58 -08:00
Nicholas Nethercote
1ce96de5ae Back out changesets 2fcef6b54be7, 2be07829fefc, 66dfe37b8532, df3fcd2be8fd, 0a436bce77a6 (bug 1050035) for causing intermittent crashes and assertion failures. 2015-02-10 14:39:49 -08:00
Nicholas Nethercote
a3bf151ee6 Bug 1050035 (part 4) - Make PL_DHashTableAdd() infallible by default, and add a fallible alternative. r=froydnj.
I kept all the existing PL_DHashTableAdd() calls fallible, in order to be
conservative, except for the ones in nsAtomTable.cpp which already were
followed immediately by an abort on failure.
2015-02-02 14:48:58 -08:00
Nicholas Nethercote
c38455902a Bug 1124973 (part 2) - Introduce PL_DHashTableSearch(), and replace most PL_DHashTableLookup() calls with it. r=froydnj.
It feels safer to use a function with a new name, rather than just changing the
behaviour of the existing function.

For most of these cases the PL_DHashTableLookup() result was checked with
PL_DHASH_ENTRY_IS_{FREE,BUSY} so the conversion was easy. A few of them
preceded that check with a useless null check, but the intent of these was
still easy to determine.

I'll do the trickier ones in subsequent patches.
2015-01-22 21:06:55 -08:00
Nicholas Nethercote
4604f714c6 Bug 1123151 (part 2) - Add PLDHashTable::IsInitialized(). r=froydnj.
This encapsulates most of the uses of PLDHashTable::ops.
2015-01-19 16:11:34 -08:00
Nicholas Nethercote
009293c72a Bug 1123151 (part 1) - Set PLDHashTable::ops consistently. r=froydnj.
Currently the setting of PLDHashTable::ops is very haphazard.

- PLDHashTable has no constructor, so it's not auto-nulled, so lots of places
  null it themselves.

- In the fallible PLDHashTable::Init() function, if the entry storage
  allocation fails we'll be left with a table that has |ops| set -- indicating
  it's been initialized -- but has null entry storage. I'm not certain this can
  cause problems but it feels unsafe, and some (but not all) callers of Init()
  null it on failure.

- PLDHashTable does not null |ops| in Finish(), so some (but not all) callers
  do this themselves.

This patch makes things simpler.

- It adds a constructor that zeroes |ops|.

- It modifies Init() so that it only sets |ops| once success is ensured.

- It zeroes |ops| in Finish().

- Finally, it removes all the now-unnecessary |ops| nulling done by the users
  of PLDHashTable.
2015-01-19 16:01:24 -08:00
Nicholas Nethercote
d746138aca Bug 1121304 (part 2, attempt 2) - Remove PLDHashTableOps::{alloc,free}Table. r=froydnj. 2015-01-14 14:35:56 -08:00
Phil Ringnalda
41e41579d9 Backed out 2 changesets (bug 1121304) for consistent b2g hangs in webgl-color-test.html?frame=1&__&preserve&premult&_____
Backed out changeset 20651ac19549 (bug 1121304)
Backed out changeset 758afec77c95 (bug 1121304)
2015-01-14 22:02:23 -08:00
Nicholas Nethercote
70f5bf6167 Bug 1121304 (part 2) - Remove PLDHashTableOps::{alloc,free}Table. r=froydnj. 2015-01-14 14:35:56 -08:00
Nicholas Nethercote
43fc26b699 Bug 1120476 (part 4) - Remove PLDHashTableOps::finalize. r=froydnj. 2015-01-13 19:02:35 -08:00
Nicholas Nethercote
eda870fe92 Bug 1120476 (part 3) - Remove PLDHashTable::data. r=froydnj. 2015-01-13 16:42:13 -08:00
Michael Pruett
cbe37abc44 Bug 1118024 - Use new PL_DHashTable{Add,Lookup,Remove} functions. r=nfroyd 2015-01-05 20:27:28 -06:00
Mats Palmgren
e9a74a0340 Bug 907396 - Frame manager support for display:contents. r=bzbarsky 2014-11-20 18:24:09 +00:00
Ehsan Akhgari
8bb87f8a27 Bug 1060985 - Fix more bad implicit constructors in layout; r=roc 2014-08-31 23:36:37 -04:00
Nicholas Nethercote
663b82ea3b Bug 1050009 - Initialize pldhash tables with a length, not a capacity. r=roc.
* * *
imported patch rm-dummy-params
2014-08-06 06:31:21 -07:00
Robert O'Callahan
9595e19b9a Bug 1015664. Part 2: Remove some NS_HIDDEN usage. r=bsmedberg 2014-06-03 00:08:24 +12:00
Robert O'Callahan
2c1ab3f641 Bug 1015664. Part 1: Remove NS_HIDDEN_() usage. r=bsmedberg 2014-06-03 00:08:21 +12:00
Mats Palmgren
a43fc7a0a3 Bug 1015781 - part 1+2, Make the SetInitialChildList/AppendFrames/InsertFrames/RemoveFrame methods return void (scripted change). Remove code handling the return values. r=roc 2014-05-28 19:36:58 +00:00
Mats Palmgren
958105e77a Bug 508665 - part 7, Require a nsContainerFrame* for aParent in nsFrameManager methods. r=roc 2014-05-24 22:20:40 +00:00
Mats Palmgren
a73e99dbc1 Bug 508665 - part 1, Change the signature of SetParent/GetParent from nsIFrame* to nsContainerFrame*. r=roc 2014-05-24 22:20:39 +00:00
Andrew McCreight
aded529f53 Bug 962608 - Make PL_DHashTableInit infallible by default. r=briansmith,bsmedberg,ehsan,froydnj,jduell,jfkthame,roc,smaug 2014-02-27 10:04:09 -08:00
William Chen
f69dba4ca4 Bug 929885 - Implement web components ShadowRoot style sheet behavior. r=mrbkap 2013-12-02 02:26:12 -08:00
Nathan Froyd
4ea995c389 Bug 940170 - part 1 - constify PLDHashTableOps in layout/; r=bz 2013-11-18 21:51:48 -05:00
Birunthan Mohanathas
e30d39fc7a Bug 784739 - Switch from NULL to nullptr in layout/; r=ehsan 2013-10-08 14:47:21 -04:00
Ehsan Akhgari
45b9b9b617 Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
Ms2ger
7bd450425f Bug 893925 - Cleanup nsILayoutHistoryState and nsGenericHTMLElement::GetPrimaryPresState; r=smaug 2013-07-24 09:38:13 +02:00
L. David Baron
82f7e7134b Bug 896138 patch 6: Move restyle management code from nsFrameManager to RestyleManager. r=heycam
This is the second of two big chunks of code moved into the new
RestyleManager class from another sources.

Note that the undisplayed map remains in nsFrameManager, although it
could perhaps have moved.
2013-07-20 12:14:25 -07:00
L. David Baron
39d065830d Bug 896138 patch 5: Expose UndisplayedNode list from nsFrameManager. r=heycam
This is needed for the following patch, which leaves the undisplayed map
in nsFrameManager rather than moving it to RestyleManager (I think one
could argue for either way, but it was easier not to move it).
2013-07-20 12:14:25 -07:00
Blake Kaplan
e023385196 Bug 890775 - Not all xbl:children elements should be treated specially. r=peterv 2013-07-11 17:52:49 -04:00