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

586 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez aff5090202 Bug 1425769: Base class for ShadowRoot and Document to manage style state. r=smaug
This also removes some confusing comments around nsIDocument regarding some kind
of "special" stylesheets, which don't seem to exist anymore, and consolidates
StyleSheetList so that we only have one implementation.

I think that fixes a potential leak on the shadow root code (even though the API
is v0 only), given the pointer from the ShadowRootStyleSheetList to the
ShadowRoot wasn't being CCd.

Also, more stuff could be renamed, methods removed, etc, feel free to suggest
more cleanup, I've done mostly the minimal.

Next steps are moving the stylesets there and stop using the proto binding sheet
list / resources.

MozReview-Commit-ID: D9hnDgPQAS5
2017-12-19 11:09:59 +01:00
Dorel Luca e968e809aa Backed out changeset 13faabcf8e96 (bug 1425769) for Linux bustage on build/src/dom/base/nsLineBreaker.h 2017-12-19 11:07:44 +02:00
Emilio Cobos Álvarez 5ae586e759 Bug 1425769: Base class for ShadowRoot and Document to manage style state. r=smaug
This also removes some confusing comments around nsIDocument regarding some kind
of "special" stylesheets, which don't seem to exist anymore, and consolidates
StyleSheetList so that we only have one implementation.

I think that fixes a potential leak on the shadow root code (even though the API
is v0 only), given the pointer from the ShadowRootStyleSheetList to the
ShadowRoot wasn't being CCd.

Also, more stuff could be renamed, methods removed, etc, feel free to suggest
more cleanup, I've done mostly the minimal.

Next steps are moving the stylesets there and stop using the proto binding sheet
list / resources.

MozReview-Commit-ID: D9hnDgPQAS5

--HG--
extra : rebase_source : 0597917521894288c6b749e5d3ac6ac3b7db44a0
2017-12-17 22:29:10 +01:00
Emilio Cobos Álvarez 5604b99826 Bug 1420762: Make StyleSheets notify directly to their StyleSets. r=heycam
This also makes the rule map not process all the stylesheets for the document,
which would be a mess with shadow DOM.

Far from the final, ideal state, but hey, progress.

MozReview-Commit-ID: 7TrifME9VZ
2017-12-01 08:46:39 +01:00
Brindusan Cristian 6f5b49da3e Backed out 2 changesets (bug 1420762) for merge conflicts r=merge a=merge
Backed out changeset ba350c82d823 (bug 1420762)
Backed out changeset 00287b88254b (bug 1420762)
2017-12-01 00:20:10 +02:00
Emilio Cobos Álvarez f28656c543 Bug 1420762: Make StyleSheets notify directly to their StyleSets. r=heycam
This also makes the rule map not process all the stylesheets for the document,
which would be a mess with shadow DOM.

Far from the final, ideal state, but hey, progress.

MozReview-Commit-ID: 7TrifME9VZ
2017-11-30 15:42:45 +01:00
Cameron McCormack 12c5248d34 Bug 1418216 - Move IsCSSSheetType out of nsStyleSet. r=TYLin
MozReview-Commit-ID: 6OV5WHX4INb

--HG--
extra : rebase_source : 35bc872210252aeed011734aaa54b9e25da92c6f
2017-11-16 09:37:17 +08:00
Daniel Holbert 680815cd6e Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK

--HG--
extra : rebase_source : 3356d4b80ff6213935192e87cdbc9103fec6084c
2017-10-27 10:33:53 -07:00
Xidorn Quan 22466ec8dd Bug 1407843 part 2 - Move tree pseudo matching code from nsTreeBodyFrame into nsCSSRuleProcessor. r=heycam
MozReview-Commit-ID: FyPhBLGX2qD

--HG--
extra : rebase_source : b401f41a6132be6ca4d438c97aa7e09865c94adb
2017-10-13 12:54:18 +11:00
Hiroyuki Ikezoe 5e34bc1f57 Bug 1329169 - Use atom for animation-name property. r=xidorn
MozReview-Commit-ID: 9yVWXVi1oXf

--HG--
extra : rebase_source : f0d8a731c3e6caaf248a0b0e25ef96370af3ecd8
2017-10-10 17:00:28 +09:00
Nicholas Nethercote d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Brad Werth 4560a2c23f Bug 1374181 Part 1: Don't attempt EnsureUniqueInner on incomplete sheets in a StyleSet. r=xidorn
One remaining issue is that requesters of CSSRules might also want to know if those rules are complete, and to listen for completion if the rules are incomplete. Bug 1404538 will fix this up at least for devtools.

MozReview-Commit-ID: COnkS40Ooe2

--HG--
extra : rebase_source : 453bed12805fec668e90d5194fcd3df2d48af56e
2017-10-03 11:15:26 -07:00
Cameron McCormack 7713fdd126 Bug 1397626 - Part 2: Replace uses of FontFamilyListRefCnt with SharedFontList. r=xidorn
MozReview-Commit-ID: 7HoBae9UOks

--HG--
extra : rebase_source : c0938e034847e825cab3684b70d097b0e0b8c9f9
2017-10-02 10:24:25 +08:00
Ting-Yu Lin a61a1227e9 Bug 1382078 Part 2 - Make nsBindingManager::MediumFeaturesChanged() return bool directly. r=emilio
The method always returns NS_OK, and no other caller checks the nsresult.
Hence the patch.

MozReview-Commit-ID: CnYCZ8VchG

--HG--
extra : rebase_source : 8626332e2774c1d6f42c7afa5e9679091a3aeaa2
2017-08-30 15:22:31 +08:00
Sebastian Hengst 55fe61b6d6 Backed out changeset 06fd7e672abd (bug 1382078) 2017-09-02 20:43:42 +02:00
Ting-Yu Lin 6d69dabd0c Bug 1382078 Part 2 - Make nsBindingManager::MediumFeaturesChanged() return bool directly. r=emilio
The method always returns NS_OK, and no other caller checks the nsresult.
Hence the patch.

MozReview-Commit-ID: CnYCZ8VchG

--HG--
extra : rebase_source : 062d643308b309dfe442384301860ffeec2dff9f
2017-08-30 15:22:31 +08:00
Nicholas Nethercote 9251ef42b7 Bug 1394729 - Measure memory usage of Stylo's Rule Tree. r=heycam.
This patch splits up the existing "layout/style-sets" measurement into
"layout/gecko-style-sets", or "layout/servo-style-sets/stylist/rule-tree" and
"layout/servo-style-sets/other". (Additional things will be measured under
"layout/servo-style-sets/" later, such as cascade data.)

This requires introducing a new type, ServoStyleSetSizes, for transferring the
multiple measurements from Rust code to C++ code.

MozReview-Commit-ID: FbmzpsjBpgI

--HG--
extra : rebase_source : f2d1441705139e6674d355792255302fcd89f748
2017-08-30 18:21:26 +10:00
Nazım Can Altınova b2b88364dd Bug 1355721 - stylo: Implement font feature values lookup r=emilio,xidorn
MozReview-Commit-ID: 7wgQ1NCn7vL

--HG--
extra : rebase_source : 6c774e87b8bd3f30d819302aba5a73a50047981a
2017-08-23 18:05:53 -07:00
Gregory Szorc 2a5e786286 Backed out changesets b749fc196a50, 2791eac8d760 (bug 1355721) for build bustage
CLOSED TREE

--HG--
extra : amend_source : 7618f27e1cf71347f12384935374d303d5c1ab23
extra : histedit_source : 1143d226673ace563bb5d9ff3c420ded33439791%2C9746a30097304bd2214a0072773dc00c767d31cd
2017-08-24 20:30:17 -07:00
Nazım Can Altınova 00f1cc4565 Bug 1355721 - stylo: Implement font feature values lookup r=emilio,xidorn
MozReview-Commit-ID: 7wgQ1NCn7vL

--HG--
extra : rebase_source : c104c2b09ebfbf5cdb98bc5638473cac1bfc40c9
2017-08-23 18:05:53 -07:00
Xidorn Quan d645f266b8 Bug 1382077 part 2 - Move mUsesViewportUnits into nsStyleSet. r=heycam
MozReview-Commit-ID: DQ4ZoLLNPeN

--HG--
extra : rebase_source : 789b1b58eb760e74802dfac1c5b4070f02e1185c
2017-07-24 11:51:32 +10:00
Xidorn Quan 7399a0157a Bug 1382077 part 1 - Have StyleSet::MediumFeaturesChanged return nsRestyleHint rather than a bool. r=heycam
MozReview-Commit-ID: 5g3mHU8pxXP

--HG--
extra : rebase_source : aff51be14395850620fe43d814c49e30a3048be5
2017-07-24 11:27:08 +10:00
Carsten "Tomcat" Book 41e41e6d05 Backed out changeset 23c6326dd926 (bug 1382077) on request from xidorn 2017-07-25 12:17:56 +02:00
Carsten "Tomcat" Book c7741ea7ea Backed out changeset 972821835d48 (bug 1382077) 2017-07-25 12:17:16 +02:00
Xidorn Quan 935b4c943f Bug 1382077 part 2 - Move mUsesViewportUnits into nsStyleSet. r=heycam
MozReview-Commit-ID: DQ4ZoLLNPeN

--HG--
extra : rebase_source : 789b1b58eb760e74802dfac1c5b4070f02e1185c
2017-07-24 11:51:32 +10:00
Xidorn Quan d8543d6975 Bug 1382077 part 1 - Have StyleSet::MediumFeaturesChanged return nsRestyleHint rather than a bool. r=heycam
MozReview-Commit-ID: 5g3mHU8pxXP

--HG--
extra : rebase_source : aff51be14395850620fe43d814c49e30a3048be5
2017-07-24 11:27:08 +10:00
Emilio Cobos Álvarez 2b7de51623 Bug 1381844: Be more explicit about the kind of style context we handle all the time. r=bholley
MozReview-Commit-ID: E0mdkhU3XBz
2017-07-22 18:02:57 +02:00
Manish Goregaokar 27f49a8a16 Bug 1367904 - Part 17: stylo: Clean up GetContext, call it UpdateWithElementState; r=bholley
MozReview-Commit-ID: I23w5hFatk8
2017-07-17 21:01:33 -07:00
Manish Goregaokar f33beecc59 Bug 1367904 - Part 10: stylo: Switch Gecko over to ServoStyleContext; r=bholley
MozReview-Commit-ID: EmopKVjEzlz
2017-07-17 21:00:46 -07:00
Xidorn Quan a0d0686267 Bug 1378287 - Skip parent-display-based display type fixup for all anonymous boxes. r=bz
MozReview-Commit-ID: C4R3sVl83jJ

--HG--
extra : rebase_source : 60eda1019d5aeab0d4faa51a098c2e684fdcbb79
2017-07-05 16:21:10 +10:00
Cameron McCormack 81de43d854 Bug 1376406 - Make ::before and ::after the only pseudos that do parent display-based style fixup. r=dbaron
MozReview-Commit-ID: Hxq8v1NSYvc

--HG--
extra : rebase_source : c5998f82446f078dcead1c6aa49d6b38296929ce
2017-07-11 10:38:23 +08:00
Ting-Yu Lin 3ea291f24f Bug 1377196 Part 2 - Add AppendAllXBLStyleSheets to ServoStyleSet. r=heycam
MozReview-Commit-ID: HSQnBk8djil

--HG--
extra : rebase_source : 458787e519c556b659591ab3f627e71a5f87e60d
2017-06-29 16:09:22 -07:00
Ting-Yu Lin 51d252c459 Bug 1377196 Part 1 - Store nsBindingManager* in ServoStyleSet. r=heycam
We need to call nsBindingManager's method from ServoStyleSet in a later
patch.

Also, we call nsStyleSet::SetBindingManager() immediately after we call
nsStyleSet::Init(). Therefore, we could pass binding manager to Init()
directly, and delete SetBindingManager().

MozReview-Commit-ID: 43WTpW3mSKX

--HG--
extra : rebase_source : f24f6085c51dfae1a969aee1e073720097d240d5
2017-06-29 13:43:59 -07:00
Carsten "Tomcat" Book 259377b6ab merge mozilla-inbound to mozilla-central a=merge 2017-06-26 13:25:51 +02:00
Emilio Cobos Álvarez b7a3d1be4c Bug 1376077: Remove aPseudoElement argument from the StyleSet classes. r=heycam
MozReview-Commit-ID: InxDtd5Pmf3

--HG--
extra : rebase_source : 68bfc7fafb75b6b547f035e635300a202a60086d
2017-06-24 11:25:05 +02:00
Nicholas Nethercote 58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Manish Goregaokar 70773cfc42 Bug 1373018 - Part 5: stylo: Move child/sibling pointers to GeckoStyleContext; r=bholley
MozReview-Commit-ID: Gay6RwpkNcu

--HG--
extra : rebase_source : 57a7f22b3d830e2fdc47faa15ceafbe5020a5964
2017-06-10 22:27:45 -07:00
Manish Goregaokar 2991af8d79 Bug 1373018 - Part 4: stylo: Rename eArenaObjectID_nsStyleContext to eArenaObjectID_GeckoStyleContext; r=bholley
MozReview-Commit-ID: 5oZwxG8r9Ty

--HG--
extra : rebase_source : 32fdfe60a20b2d90f531df1999b3aee0e4c8a5c2
2017-06-10 22:27:45 -07:00
L. David Baron 53383e2d5c Bug 1369260 - Remove use of MOZ_ASSERT_IF in layout. r=heycam
As I've said before, as module owner I prefer that MOZ_ASSERT_IF not be
used in the module because I consider it to be unreadable.  However, a
few uses have crept in, and this patch removes them.

I consider it to be unreadable because the name looks like a name that
uses smalltalk-ish naming conventions, i.e., with a part of the name
corresponding to each parameter, in order.  However, the parameters are
in the order opposite the name.

This was written primarily with the vim commands:
:%s/MOZ_ASSERT_IF(\([^,]*\),/MOZ_ASSERT(!\1 ||/
:wn
followed by manual cleanup for indentation and removal of !!.

MozReview-Commit-ID: G6rLbOn7k8d
2017-06-06 22:27:17 -07:00
Hiroyuki Ikezoe 14e0273b91 Bug 1367293 - Don't get parent style for GetComputedKeyframeValuesFor. r=birtles
MozReview-Commit-ID: 7WjsO7P2QGz

--HG--
extra : rebase_source : b9d2d672dd670f54174a5811c7d28efe268c0c4d
2017-06-02 09:38:54 +09:00
Emilio Cobos Álvarez 0eea23decf Bug 1357583: Tidy the PostRestyleEventForCSSRuleChanges API. r=heycam
MozReview-Commit-ID: BtOWWC5knsi
2017-05-29 23:01:50 +02:00
Emilio Cobos Álvarez 69601ee10e Bug 1367553: Provide the kind of change that the stylesheet suffered to RecordStyleSheetChange. r=heycam
I plan to use it for now to force a full document restyle when a standalone rule
changes or something like that.

In practice, we can do better sometimes, and we may just want to propagate to
the StyleSet all the style change notifications in order to have access to the
rule that changed and all that...

But for now this seemed easier than adding other four or five functions to
StyleSetHandle.

MozReview-Commit-ID: 2BEIliGu4mO

--HG--
extra : rebase_source : 386a1b9fe5ffc5fefbf20678068573ea195043f0
2017-05-24 04:28:58 +02:00
Emilio Cobos Álvarez d4ee389879 Bug 1367553: Move dirty style tracking to the StyleSet. r=heycam
MozReview-Commit-ID: 2ut8SAwNGN2

--HG--
extra : rebase_source : d9f7d7f1da7b38e595021795ee902e63746c8161
2017-05-24 02:53:08 +02:00
Phil Ringnalda 4dcbd3095c Backed out 2 changesets (bug 1367553) for build bustage
CLOSED TREE

Backed out changeset 3e6c9a752596 (bug 1367553)
Backed out changeset 1ee24478fa16 (bug 1367553)

MozReview-Commit-ID: B805jBJYcqL
2017-05-25 06:13:01 -07:00
Emilio Cobos Álvarez 38735b0dbd Bug 1367553: Provide the kind of change that the stylesheet suffered to RecordStyleSheetChange. r=heycam
I plan to use it for now to force a full document restyle when a standalone rule
changes or something like that.

In practice, we can do better sometimes, and we may just want to propagate to
the StyleSet all the style change notifications in order to have access to the
rule that changed and all that...

But for now this seemed easier than adding other four or five functions to
StyleSetHandle.

MozReview-Commit-ID: 2BEIliGu4mO

--HG--
extra : rebase_source : 926f8442fbd17c7ffa7f72b6b4a515a28b9aa18b
2017-05-24 04:28:58 +02:00
Emilio Cobos Álvarez e2b5e966dc Bug 1367553: Move dirty style tracking to the StyleSet. r=heycam
MozReview-Commit-ID: 2ut8SAwNGN2

--HG--
extra : rebase_source : 5f84d20bd197cd2203093ef4b57cb6b8ce2eb15f
2017-05-24 02:53:08 +02:00
Brad Werth 50e3299bf1 Bug 1339629 Part 10: Implement ServoStyleSet::EnsureUniqueInnerOnCSSSheets. r=heycam
MozReview-Commit-ID: GuUqKYrV60z

--HG--
extra : rebase_source : 6a433ab77e2295450cc68ad0dc9d2e55ba08976a
2017-05-15 17:11:08 -07:00
Brad Werth a13dd3c171 Bug 1339629 Part 6: Uplift mStyleSets into StyleSheet. r=heycam
MozReview-Commit-ID: G8xQ5gLJ3dr

--HG--
extra : rebase_source : 76ebce99d0e2570a6893691c7bc6f86a11a06f9d
2017-05-15 16:27:15 -07:00
Xidorn Quan 98f239480d Bug 1362302 part 1 - Use nsIAtom for counter style names. r=dbaron
MozReview-Commit-ID: 5VK6BgGRVRs

--HG--
extra : rebase_source : 104a28eddeb7984bd9f691693cf8debc1387fb87
2017-05-06 11:34:35 +10:00
Cameron McCormack 234f4ebfd7 Bug 1358968 - Part 3: Use nsCSSAnonBoxList.h data to skip parent display-based style fixups when restyling anon boxes with ReparentStyleContext. r=bz
MozReview-Commit-ID: 5jqBEuVt3GH

--HG--
extra : rebase_source : 266a2a9280ce7588f4c4eeba58f4a370f41339c5
2017-04-24 16:26:29 +08:00