| Index: third_party/WebKit/Source/core/css/parser/CSSParserContext.h
|
| diff --git a/third_party/WebKit/Source/core/css/parser/CSSParserContext.h b/third_party/WebKit/Source/core/css/parser/CSSParserContext.h
|
| index b96c3db467e536ec14bba21ebeb28bc3ddd68407..fbe7c94d667b3d88df45050f9d836bba3996ae92 100644
|
| --- a/third_party/WebKit/Source/core/css/parser/CSSParserContext.h
|
| +++ b/third_party/WebKit/Source/core/css/parser/CSSParserContext.h
|
| @@ -13,31 +13,41 @@
|
|
|
| namespace blink {
|
|
|
| +class CSSStyleSheet;
|
| class Document;
|
| +class StyleSheetContents;
|
| class UseCounter;
|
|
|
| -class CORE_EXPORT CSSParserContext {
|
| - USING_FAST_MALLOC(CSSParserContext);
|
| -
|
| +class CORE_EXPORT CSSParserContext
|
| + : public GarbageCollectedFinalized<CSSParserContext> {
|
| public:
|
| // https://drafts.csswg.org/selectors/#profiles
|
| enum SelectorProfile { DynamicProfile, StaticProfile };
|
|
|
| - CSSParserContext(CSSParserMode,
|
| - UseCounter*,
|
| - SelectorProfile = DynamicProfile);
|
| - // FIXME: We shouldn't need the UseCounter argument as we could infer it from
|
| - // the Document but some callers want to disable use counting (e.g. the
|
| - // WebInspector).
|
| - CSSParserContext(const Document&,
|
| - UseCounter*,
|
| - const KURL& baseURL = KURL(),
|
| - const String& charset = emptyString(),
|
| - SelectorProfile = DynamicProfile);
|
| + // All three of these factories copy the context and override the current
|
| + // UseCounter handle.
|
| + static CSSParserContext* createWithStyleSheet(const CSSParserContext*,
|
| + const CSSStyleSheet*);
|
| + static CSSParserContext* createWithStyleSheetContents(
|
| + const CSSParserContext*,
|
| + const StyleSheetContents*);
|
| // FIXME: This constructor shouldn't exist if we properly piped the UseCounter
|
| // through the CSS subsystem. Currently the UseCounter life time is too crazy
|
| // and we need a way to override it.
|
| - CSSParserContext(const CSSParserContext&, UseCounter*);
|
| + static CSSParserContext* create(const CSSParserContext* other, UseCounter*);
|
| +
|
| + static CSSParserContext* create(CSSParserMode,
|
| + SelectorProfile = DynamicProfile,
|
| + UseCounter* = nullptr);
|
| + // FIXME: We shouldn't need the UseCounter argument as we could infer it from
|
| + // the Document but some callers want to disable use counting (e.g. the
|
| + // WebInspector).
|
| + static CSSParserContext* create(const Document&, UseCounter*);
|
| + static CSSParserContext* create(const Document&,
|
| + const KURL& baseURLOverride = KURL(),
|
| + const String& charset = emptyString(),
|
| + SelectorProfile = DynamicProfile,
|
| + UseCounter* = nullptr);
|
|
|
| bool operator==(const CSSParserContext&) const;
|
| bool operator!=(const CSSParserContext& other) const {
|
| @@ -73,12 +83,26 @@ class CORE_EXPORT CSSParserContext {
|
| // This may return nullptr if counting is disabled.
|
| // See comments on constructors.
|
| UseCounter* useCounter() const { return m_useCounter; }
|
| + bool isUseCounterRecordingEnabled() const { return m_useCounter; }
|
|
|
| ContentSecurityPolicyDisposition shouldCheckContentSecurityPolicy() const {
|
| return m_shouldCheckContentSecurityPolicy;
|
| }
|
|
|
| + DEFINE_INLINE_TRACE() {}
|
| +
|
| private:
|
| + CSSParserContext(const KURL& baseURL,
|
| + const String& charset,
|
| + CSSParserMode,
|
| + CSSParserMode matchMode,
|
| + SelectorProfile,
|
| + const Referrer&,
|
| + bool isHTMLDocument,
|
| + bool useLegacyBackgroundSizeShorthandBehavior,
|
| + ContentSecurityPolicyDisposition,
|
| + UseCounter*);
|
| +
|
| KURL m_baseURL;
|
| String m_charset;
|
| CSSParserMode m_mode;
|
| @@ -92,8 +116,8 @@ class CORE_EXPORT CSSParserContext {
|
| UseCounter* m_useCounter;
|
| };
|
|
|
| -CORE_EXPORT const CSSParserContext& strictCSSParserContext();
|
| +CORE_EXPORT const CSSParserContext* strictCSSParserContext();
|
|
|
| } // namespace blink
|
|
|
| -#endif // CSSParserMode_h
|
| +#endif // CSSParserContext_h
|
|
|