Commit Graph

1790 Commits

Author SHA1 Message Date
Boris Zbarsky
1885190f17 Bug 1364816 part 3. Switch NeedResolve bindings to using a newResolve hook instead of a resolve hook. r=qdot,jandem 2017-06-06 21:21:44 -04:00
Bill McCloskey
282a52af54 Bug 1359245 - Eliminate some XPCJSContext::Get() usage (r=mccr8)
XPCJSContext::Get() now does a TLS lookup, which is a little more expensive
than looking up a global variable. This patch removes as many of the TLS
lookups as possible.

MozReview-Commit-ID: GsqzJn55Lya
2017-04-27 15:34:46 -07:00
Nicholas Nethercote
8207e5343f Bug 1332172 - Remove XPC_MAP_WANT_*. r=mccr8.
nsIXPCScriptable flags handling in xpc_map_end.h is a bit of a mess.

- Half the flags relate to whether various functions are defined (PreCreate,
  GetProperty, etc). These are set using the XPC_MAP_WANT_* macros;
  for each one xpc_map_end.h  inserts the corresponding flag using the
  preprocessor (see XPC_MAP_CLASSNAME::GetScriptableFlags()).

- The other half of the flags relate to other things (IS_GLOBAL_OBJECT,
  DONT_REFLECT_INTERFACE_NAMES, etc). These are set using the XPC_MAP_FLAGS
  macro.

Having two similar but different mechanisms to set the flags for a class is
confusing. (Indeed, until recently we had some classes where a single flag was
redundantly specified via both mechanisms.) Note also that the classes done in
dom/base/nsIDOMClassInfo.h also specify all the flags in a single value,
similar to how XPC_MAP_FLAGS works.

This patch removes the XPC_MAP_WANT_* macros. All flags are now set
via XPC_MAP_FLAGS. This is a significant simplification to xpc_map_end.h and
all the places that use it.

The downside of this change is that I had to change the flag constants from
class constants (i.e. nsIXPCScriptable::FOO) to macros (i.e.
NSIXPCSCRIPTABLE_FOO) because they need to be used in #if statements like this
in xpc_map_end.h:

  #if !((XPC_MAP_FLAGS) & NSIXPCSCRIPTABLE_WANT_PRECREATE)

and you can't use a '::'-qualified name inside a #if. I think this downside is
outweighed by the simplification described above.

Overall the patch removes 80 lines of code.
2017-01-23 13:33:58 +11:00
Boris Zbarsky
cde19cde0e Bug 851892 part 20. Remove the remaining bits we added to support a mix of WebIDL and non-WebIDL rules. r=peterv 2017-01-13 10:41:05 -05:00
Boris Zbarsky
c69a8a8862 Bug 851892 part 19. Convert CSSCounterStyleRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
f87a32aab0 Bug 851892 part 18. Convert CSSKeyframesRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
75d5181a1e Bug 851892 part 17. Convert CSSKeyframeRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
587c32b403 Bug 851892 part 16. Convert CSSFontFeatureValuesRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
8b0d30d020 Bug 851892 part 15. Convert CSSFontFaceRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
2b9d7a3595 Bug 851892 part 14. Convert CSSPageRule to WebIDL. r=peterv,heycam
The PutForwards bit is a new feature, but easy enough to implement here.
2017-01-13 10:41:04 -05:00
Boris Zbarsky
6fc07f0d49 Bug 851892 part 13. Convert media, supports, and moz-document rules to WebIDL. r=peterv,heycam 2017-01-13 10:41:03 -05:00
Boris Zbarsky
07ac6be52e Bug 851892 part 12. Convert CSSStyleRule to WebIDL. r=peterv,heycam,mccr8
The .style PutForwards bit is coming along for the ride; I did check that Chrome
already implements this, so we're not the only ones.
2017-01-13 10:41:03 -05:00
Boris Zbarsky
296e4232a8 Bug 851892 part 11. Convert CSSImportRule to WebIDL. r=peterv,heycam,mccr8
Note that the .media PutForwards is a new feature coming along for the ride now
that we're using the spec IDL.
2017-01-13 10:41:03 -05:00
Boris Zbarsky
234ce79592 Bug 851892 part 10. Convert CSSNamespaceRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:03 -05:00
Boris Zbarsky
048878096a Bug 851892 part 6. Make css::Rule inherit from nsIDOMCSSRule. r=heycam 2017-01-13 10:41:02 -05:00
Boris Zbarsky
8ac7b2fecc Bug 851892 part 3. Give CSS rules a PreCreate hook so we can safely wrappercache them. r=peterv 2017-01-13 10:41:02 -05:00
Sebastian Hengst
5ca582768f Backed out changeset ca8c00f9738d (bug 851892) 2017-01-20 19:30:55 +01:00
Sebastian Hengst
f21d58966b Backed out changeset 271c7cd7b59a (bug 851892) 2017-01-20 19:30:41 +01:00
Sebastian Hengst
dd5318db84 Backed out changeset 9dee4f98503c (bug 851892) 2017-01-20 19:30:23 +01:00
Sebastian Hengst
43da372354 Backed out changeset eab8ccda41b8 (bug 851892) 2017-01-20 19:30:19 +01:00
Sebastian Hengst
7cab842632 Backed out changeset 31103a03f2c2 (bug 851892) 2017-01-20 19:30:14 +01:00
Sebastian Hengst
c5d4662d6f Backed out changeset 1bbbc436690d (bug 851892) 2017-01-20 19:30:10 +01:00
Sebastian Hengst
e618866b54 Backed out changeset 34c280ac5f73 (bug 851892) 2017-01-20 19:30:05 +01:00
Sebastian Hengst
b549542828 Backed out changeset 332bb85695a9 (bug 851892) 2017-01-20 19:30:01 +01:00
Sebastian Hengst
5210e8b2a2 Backed out changeset 430f2759de65 (bug 851892) 2017-01-20 19:29:56 +01:00
Sebastian Hengst
38f8942c5e Backed out changeset 76136a4cadcc (bug 851892) 2017-01-20 19:29:52 +01:00
Sebastian Hengst
655c59a134 Backed out changeset 663ad79f5c13 (bug 851892) 2017-01-20 19:29:47 +01:00
Sebastian Hengst
5eb1781f45 Backed out changeset f62d345e9d41 (bug 851892) 2017-01-20 19:29:42 +01:00
Sebastian Hengst
5d05724333 Backed out changeset c79e8bee853e (bug 851892) 2017-01-20 19:29:38 +01:00
Boris Zbarsky
6cb829110d Bug 851892 part 20. Remove the remaining bits we added to support a mix of WebIDL and non-WebIDL rules. r=peterv 2017-01-13 10:41:05 -05:00
Boris Zbarsky
060f095607 Bug 851892 part 19. Convert CSSCounterStyleRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
b0d9f497d2 Bug 851892 part 18. Convert CSSKeyframesRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
bda0322b6c Bug 851892 part 17. Convert CSSKeyframeRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
75120bf6e3 Bug 851892 part 16. Convert CSSFontFeatureValuesRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
6fa31c0795 Bug 851892 part 15. Convert CSSFontFaceRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
b400482695 Bug 851892 part 14. Convert CSSPageRule to WebIDL. r=peterv,heycam
The PutForwards bit is a new feature, but easy enough to implement here.
2017-01-13 10:41:04 -05:00
Boris Zbarsky
6a9a4c87d2 Bug 851892 part 13. Convert media, supports, and moz-document rules to WebIDL. r=peterv,heycam 2017-01-13 10:41:03 -05:00
Boris Zbarsky
f7f00f8c97 Bug 851892 part 12. Convert CSSStyleRule to WebIDL. r=peterv,heycam,mccr8
The .style PutForwards bit is coming along for the ride; I did check that Chrome
already implements this, so we're not the only ones.
2017-01-13 10:41:03 -05:00
Boris Zbarsky
1cc3deed6f Bug 851892 part 11. Convert CSSImportRule to WebIDL. r=peterv,heycam,mccr8
Note that the .media PutForwards is a new feature coming along for the ride now
that we're using the spec IDL.
2017-01-13 10:41:03 -05:00
Boris Zbarsky
47d727d622 Bug 851892 part 10. Convert CSSNamespaceRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:03 -05:00
Boris Zbarsky
3758678f78 Bug 851892 part 6. Make css::Rule inherit from nsIDOMCSSRule. r=heycam 2017-01-13 10:41:02 -05:00
Boris Zbarsky
5470e0a2b0 Bug 851892 part 3. Give CSS rules a PreCreate hook so we can safely wrappercache them. r=peterv 2017-01-13 10:41:02 -05:00
Phil Ringnalda
7646bbe020 Backed out 20 changesets (bug 851892) for load failures in Android crashtest-4
Backed out changeset b9c4115cdeac (bug 851892)
Backed out changeset 5f491bf49b85 (bug 851892)
Backed out changeset 9bf5bcb3e8c5 (bug 851892)
Backed out changeset a9cab46e8b45 (bug 851892)
Backed out changeset 73858e15c8c0 (bug 851892)
Backed out changeset a25638588b6b (bug 851892)
Backed out changeset d58e0e5069ef (bug 851892)
Backed out changeset d8da2a3d8f10 (bug 851892)
Backed out changeset a8da3c34983f (bug 851892)
Backed out changeset 29cf8acbd21e (bug 851892)
Backed out changeset c53cd7bdf8b3 (bug 851892)
Backed out changeset e841a2796375 (bug 851892)
Backed out changeset 2eab85b00159 (bug 851892)
Backed out changeset ca4b1fb9cae4 (bug 851892)
Backed out changeset 74c0ba66f108 (bug 851892)
Backed out changeset 719bb9f41e5b (bug 851892)
Backed out changeset d6aa4c6192df (bug 851892)
Backed out changeset dc81a167a75d (bug 851892)
Backed out changeset 65422477b3a5 (bug 851892)
Backed out changeset 3089dd379077 (bug 851892)
2017-01-15 11:50:10 -08:00
Boris Zbarsky
c1b961815e Bug 851892 part 20. Remove the remaining bits we added to support a mix of WebIDL and non-WebIDL rules. r=peterv 2017-01-13 10:41:05 -05:00
Boris Zbarsky
a45291f4ff Bug 851892 part 19. Convert CSSCounterStyleRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
565ee1c623 Bug 851892 part 18. Convert CSSKeyframesRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
04758a4101 Bug 851892 part 17. Convert CSSKeyframeRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
7cf00a7a8d Bug 851892 part 16. Convert CSSFontFeatureValuesRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
21327fbf4a Bug 851892 part 15. Convert CSSFontFaceRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:04 -05:00
Boris Zbarsky
c4def199d1 Bug 851892 part 14. Convert CSSPageRule to WebIDL. r=peterv,heycam
The PutForwards bit is a new feature, but easy enough to implement here.
2017-01-13 10:41:04 -05:00