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

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

Issue 1481983002: Drop [LegacyInterfaceTypeChecking] where trivial in core/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more tests Created 5 years 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 met: 5 * modification, are permitted provided that the following conditions are met:
6 * 6 *
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 m_loadingFonts.remove(fontFace); 250 m_loadingFonts.remove(fontFace);
251 if (m_loadingFonts.isEmpty()) 251 if (m_loadingFonts.isEmpty())
252 handlePendingEventsAndPromisesSoon(); 252 handlePendingEventsAndPromisesSoon();
253 } 253 }
254 254
255 ScriptPromise FontFaceSet::ready(ScriptState* scriptState) 255 ScriptPromise FontFaceSet::ready(ScriptState* scriptState)
256 { 256 {
257 return m_ready->promise(scriptState->world()); 257 return m_ready->promise(scriptState->world());
258 } 258 }
259 259
260 PassRefPtrWillBeRawPtr<FontFaceSet> FontFaceSet::addForBinding(ScriptState*, Fon tFace* fontFace, ExceptionState& exceptionState) 260 PassRefPtrWillBeRawPtr<FontFaceSet> FontFaceSet::addForBinding(ScriptState*, Fon tFace* fontFace, ExceptionState&)
261 { 261 {
262 ASSERT(fontFace);
262 if (!inActiveDocumentContext()) 263 if (!inActiveDocumentContext())
263 return this; 264 return this;
264 if (!fontFace) {
265 exceptionState.throwTypeError("The argument is not a FontFace.");
266 return this;
267 }
268 if (m_nonCSSConnectedFaces.contains(fontFace)) 265 if (m_nonCSSConnectedFaces.contains(fontFace))
269 return this; 266 return this;
270 if (isCSSConnectedFontFace(fontFace)) 267 if (isCSSConnectedFontFace(fontFace))
271 return this; 268 return this;
272 CSSFontSelector* fontSelector = document()->styleEngine().fontSelector(); 269 CSSFontSelector* fontSelector = document()->styleEngine().fontSelector();
273 m_nonCSSConnectedFaces.add(fontFace); 270 m_nonCSSConnectedFaces.add(fontFace);
274 fontSelector->fontFaceCache()->addFontFace(fontSelector, fontFace, false); 271 fontSelector->fontFaceCache()->addFontFace(fontSelector, fontFace, false);
275 if (fontFace->loadStatus() == FontFace::Loading) 272 if (fontFace->loadStatus() == FontFace::Loading)
276 addToLoadingFonts(fontFace); 273 addToLoadingFonts(fontFace);
277 fontSelector->fontFaceInvalidated(); 274 fontSelector->fontFaceInvalidated();
278 return this; 275 return this;
279 } 276 }
280 277
281 void FontFaceSet::clearForBinding(ScriptState*, ExceptionState&) 278 void FontFaceSet::clearForBinding(ScriptState*, ExceptionState&)
282 { 279 {
283 if (!inActiveDocumentContext() || m_nonCSSConnectedFaces.isEmpty()) 280 if (!inActiveDocumentContext() || m_nonCSSConnectedFaces.isEmpty())
284 return; 281 return;
285 CSSFontSelector* fontSelector = document()->styleEngine().fontSelector(); 282 CSSFontSelector* fontSelector = document()->styleEngine().fontSelector();
286 FontFaceCache* fontFaceCache = fontSelector->fontFaceCache(); 283 FontFaceCache* fontFaceCache = fontSelector->fontFaceCache();
287 for (const auto& fontFace : m_nonCSSConnectedFaces) { 284 for (const auto& fontFace : m_nonCSSConnectedFaces) {
288 fontFaceCache->removeFontFace(fontFace.get(), false); 285 fontFaceCache->removeFontFace(fontFace.get(), false);
289 if (fontFace->loadStatus() == FontFace::Loading) 286 if (fontFace->loadStatus() == FontFace::Loading)
290 removeFromLoadingFonts(fontFace); 287 removeFromLoadingFonts(fontFace);
291 } 288 }
292 m_nonCSSConnectedFaces.clear(); 289 m_nonCSSConnectedFaces.clear();
293 fontSelector->fontFaceInvalidated(); 290 fontSelector->fontFaceInvalidated();
294 } 291 }
295 292
296 bool FontFaceSet::deleteForBinding(ScriptState*, FontFace* fontFace, ExceptionSt ate& exceptionState) 293 bool FontFaceSet::deleteForBinding(ScriptState*, FontFace* fontFace, ExceptionSt ate&)
297 { 294 {
295 ASSERT(fontFace);
298 if (!inActiveDocumentContext()) 296 if (!inActiveDocumentContext())
299 return false; 297 return false;
300 if (!fontFace) {
301 exceptionState.throwTypeError("The argument is not a FontFace.");
302 return false;
303 }
304 WillBeHeapListHashSet<RefPtrWillBeMember<FontFace>>::iterator it = m_nonCSSC onnectedFaces.find(fontFace); 298 WillBeHeapListHashSet<RefPtrWillBeMember<FontFace>>::iterator it = m_nonCSSC onnectedFaces.find(fontFace);
305 if (it != m_nonCSSConnectedFaces.end()) { 299 if (it != m_nonCSSConnectedFaces.end()) {
306 m_nonCSSConnectedFaces.remove(it); 300 m_nonCSSConnectedFaces.remove(it);
307 CSSFontSelector* fontSelector = document()->styleEngine().fontSelector() ; 301 CSSFontSelector* fontSelector = document()->styleEngine().fontSelector() ;
308 fontSelector->fontFaceCache()->removeFontFace(fontFace, false); 302 fontSelector->fontFaceCache()->removeFontFace(fontFace, false);
309 if (fontFace->loadStatus() == FontFace::Loading) 303 if (fontFace->loadStatus() == FontFace::Loading)
310 removeFromLoadingFonts(fontFace); 304 removeFromLoadingFonts(fontFace);
311 fontSelector->fontFaceInvalidated(); 305 fontSelector->fontFaceInvalidated();
312 return true; 306 return true;
313 } 307 }
314 return false; 308 return false;
315 } 309 }
316 310
317 bool FontFaceSet::hasForBinding(ScriptState*, FontFace* fontFace, ExceptionState & exceptionState) const 311 bool FontFaceSet::hasForBinding(ScriptState*, FontFace* fontFace, ExceptionState &) const
318 { 312 {
313 ASSERT(fontFace);
319 if (!inActiveDocumentContext()) 314 if (!inActiveDocumentContext())
320 return false; 315 return false;
321 if (!fontFace) {
322 exceptionState.throwTypeError("The argument is not a FontFace.");
323 return false;
324 }
325 return m_nonCSSConnectedFaces.contains(fontFace) || isCSSConnectedFontFace(f ontFace); 316 return m_nonCSSConnectedFaces.contains(fontFace) || isCSSConnectedFontFace(f ontFace);
326 } 317 }
327 318
328 const WillBeHeapListHashSet<RefPtrWillBeMember<FontFace>>& FontFaceSet::cssConne ctedFontFaceList() const 319 const WillBeHeapListHashSet<RefPtrWillBeMember<FontFace>>& FontFaceSet::cssConne ctedFontFaceList() const
329 { 320 {
330 Document* d = document(); 321 Document* d = document();
331 d->ensureStyleResolver(); // Flush pending style changes. 322 d->ensureStyleResolver(); // Flush pending style changes.
332 return d->styleEngine().fontSelector()->fontFaceCache()->cssConnectedFontFac es(); 323 return d->styleEngine().fontSelector()->fontFaceCache()->cssConnectedFontFac es();
333 } 324 }
334 325
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 visitor->trace(m_loadedFonts); 540 visitor->trace(m_loadedFonts);
550 visitor->trace(m_failedFonts); 541 visitor->trace(m_failedFonts);
551 visitor->trace(m_nonCSSConnectedFaces); 542 visitor->trace(m_nonCSSConnectedFaces);
552 HeapSupplement<Document>::trace(visitor); 543 HeapSupplement<Document>::trace(visitor);
553 #endif 544 #endif
554 EventTargetWithInlineData::trace(visitor); 545 EventTargetWithInlineData::trace(visitor);
555 ActiveDOMObject::trace(visitor); 546 ActiveDOMObject::trace(visitor);
556 } 547 }
557 548
558 } // namespace blink 549 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/clipboard/DataTransfer.idl ('k') | third_party/WebKit/Source/core/css/FontFaceSet.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698