Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: third_party/WebKit/Source/core/css/FontFace.cpp

Issue 1750453002: Reduce ActiveDOMObjects from core/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 && fontFace->setPropertyFromStyle(properties, CSSPropertyFontDisplay) 131 && fontFace->setPropertyFromStyle(properties, CSSPropertyFontDisplay)
132 && !fontFace->family().isEmpty() 132 && !fontFace->family().isEmpty()
133 && fontFace->traits().bitfield()) { 133 && fontFace->traits().bitfield()) {
134 fontFace->initCSSFontFace(document, src); 134 fontFace->initCSSFontFace(document, src);
135 return fontFace.release(); 135 return fontFace.release();
136 } 136 }
137 return nullptr; 137 return nullptr;
138 } 138 }
139 139
140 FontFace::FontFace(ExecutionContext* context) 140 FontFace::FontFace(ExecutionContext* context)
141 : ActiveDOMObject(context) 141 : ContextLifecycleObserver(context)
142 , m_status(Unloaded) 142 , m_status(Unloaded)
143 { 143 {
144 suspendIfNeeded();
145 } 144 }
146 145
147 FontFace::FontFace(ExecutionContext* context, const AtomicString& family, const FontFaceDescriptors& descriptors) 146 FontFace::FontFace(ExecutionContext* context, const AtomicString& family, const FontFaceDescriptors& descriptors)
148 : ActiveDOMObject(context) 147 : ContextLifecycleObserver(context)
149 , m_family(family) 148 , m_family(family)
150 , m_status(Unloaded) 149 , m_status(Unloaded)
151 { 150 {
152 Document* document = toDocument(context); 151 Document* document = toDocument(context);
153 setPropertyFromString(document, descriptors.style(), CSSPropertyFontStyle); 152 setPropertyFromString(document, descriptors.style(), CSSPropertyFontStyle);
154 setPropertyFromString(document, descriptors.weight(), CSSPropertyFontWeight) ; 153 setPropertyFromString(document, descriptors.weight(), CSSPropertyFontWeight) ;
155 setPropertyFromString(document, descriptors.stretch(), CSSPropertyFontStretc h); 154 setPropertyFromString(document, descriptors.stretch(), CSSPropertyFontStretc h);
156 setPropertyFromString(document, descriptors.unicodeRange(), CSSPropertyUnico deRange); 155 setPropertyFromString(document, descriptors.unicodeRange(), CSSPropertyUnico deRange);
157 setPropertyFromString(document, descriptors.variant(), CSSPropertyFontVarian t); 156 setPropertyFromString(document, descriptors.variant(), CSSPropertyFontVarian t);
158 setPropertyFromString(document, descriptors.featureSettings(), CSSPropertyFo ntFeatureSettings); 157 setPropertyFromString(document, descriptors.featureSettings(), CSSPropertyFo ntFeatureSettings);
159
160 suspendIfNeeded();
161 } 158 }
162 159
163 FontFace::~FontFace() 160 FontFace::~FontFace()
164 { 161 {
165 } 162 }
166 163
167 String FontFace::style() const 164 String FontFace::style() const
168 { 165 {
169 return m_style ? m_style->cssText() : "normal"; 166 return m_style ? m_style->cssText() : "normal";
170 } 167 }
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 visitor->trace(m_weight); 626 visitor->trace(m_weight);
630 visitor->trace(m_stretch); 627 visitor->trace(m_stretch);
631 visitor->trace(m_unicodeRange); 628 visitor->trace(m_unicodeRange);
632 visitor->trace(m_variant); 629 visitor->trace(m_variant);
633 visitor->trace(m_featureSettings); 630 visitor->trace(m_featureSettings);
634 visitor->trace(m_display); 631 visitor->trace(m_display);
635 visitor->trace(m_error); 632 visitor->trace(m_error);
636 visitor->trace(m_loadedProperty); 633 visitor->trace(m_loadedProperty);
637 visitor->trace(m_cssFontFace); 634 visitor->trace(m_cssFontFace);
638 visitor->trace(m_callbacks); 635 visitor->trace(m_callbacks);
639 ActiveDOMObject::trace(visitor); 636 ContextLifecycleObserver::trace(visitor);
640 } 637 }
641 638
642 bool FontFace::hadBlankText() const 639 bool FontFace::hadBlankText() const
643 { 640 {
644 return m_cssFontFace->hadBlankText(); 641 return m_cssFontFace->hadBlankText();
645 } 642 }
646 643
647 bool FontFace::hasPendingActivity() const 644 bool FontFace::hasPendingActivity() const
648 { 645 {
649 return m_status == Loading && executionContext() && !executionContext()->act iveDOMObjectsAreStopped(); 646 return m_status == Loading && executionContext() && !executionContext()->act iveDOMObjectsAreStopped();
sof 2016/02/29 08:38:51 So FontFace is only a ContextLifecycleObserver to
haraken 2016/02/29 08:58:00 Good point. At the very least, we shouldn't need t
sof 2016/02/29 09:02:23 Thanks, good plan.
650 } 647 }
651 648
652 } // namespace blink 649 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698