author | Michael Layzell <michael@thelayzells.com> |
Tue, 16 Jun 2015 08:23:00 -0400 | |
changeset 249216 | a1558d74b4db051c079d1cf3414effae2ef8160b |
parent 249215 | 57f67506a3541717bf7cf382e100e09bca89d494 |
child 249217 | 2b1d3372ecd8c93e6c4de2c0e93c0460b852eaea |
push id | 28923 |
push user | ryanvm@gmail.com |
push date | Wed, 17 Jun 2015 18:57:11 +0000 |
treeherder | mozilla-central@099d6cd6725e [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | dbaron |
bugs | 1167589 |
milestone | 41.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/layout/style/nsDOMCSSDeclaration.h +++ b/layout/style/nsDOMCSSDeclaration.h @@ -129,22 +129,28 @@ protected: // Information neded to parse a declaration. We need the mSheetURI // for error reporting, mBaseURI to resolve relative URIs, // mPrincipal for subresource loads, and mCSSLoader for determining // whether we're in quirks mode. mBaseURI needs to be a strong // pointer because of xml:base possibly creating base URIs on the // fly. This is why we don't use CSSParsingEnvironment as a return // value, to avoid multiple-refcounting of mBaseURI. struct CSSParsingEnvironment { - nsIURI* mSheetURI; + nsIURI* MOZ_UNSAFE_REF("user of CSSParsingEnviroment must hold an owning " + "reference; reference counting here has unacceptable " + "performance overhead (see bug 649163)") mSheetURI; nsCOMPtr<nsIURI> mBaseURI; - nsIPrincipal* mPrincipal; - mozilla::css::Loader* mCSSLoader; + nsIPrincipal* MOZ_UNSAFE_REF("user of CSSParsingEnviroment must hold an owning " + "reference; reference counting here has unacceptable " + "performance overhead (see bug 649163)") mPrincipal; + mozilla::css::Loader* MOZ_UNSAFE_REF("user of CSSParsingEnviroment must hold an owning " + "reference; reference counting here has unacceptable " + "performance overhead (see bug 649163)") mCSSLoader; }; - + // On failure, mPrincipal should be set to null in aCSSParseEnv. // If mPrincipal is null, the other members may not be set to // anything meaningful. virtual void GetCSSParsingEnvironment(CSSParsingEnvironment& aCSSParseEnv) = 0; // An implementation for GetCSSParsingEnvironment for callers wrapping // an css::Rule. static void GetCSSParsingEnvironmentForRule(mozilla::css::Rule* aRule,