Chromium Code Reviews| Index: third_party/WebKit/Source/core/css/FontLoader.cpp |
| diff --git a/third_party/WebKit/Source/core/css/FontLoader.cpp b/third_party/WebKit/Source/core/css/FontLoader.cpp |
| deleted file mode 100644 |
| index 94b4e16704c4bdccabb630cda0d86032b22d72f9..0000000000000000000000000000000000000000 |
| --- a/third_party/WebKit/Source/core/css/FontLoader.cpp |
| +++ /dev/null |
| @@ -1,150 +0,0 @@ |
| -// Copyright 2014 The Chromium Authors. All rights reserved. |
| -// Use of this source code is governed by a BSD-style license that can be |
| -// found in the LICENSE file. |
| - |
| -#include "core/css/FontLoader.h" |
| - |
| -#include "core/css/CSSFontSelector.h" |
| -#include "core/dom/Document.h" |
| -#include "core/dom/IncrementLoadEventDelayCount.h" |
| -#include "core/fetch/FontResource.h" |
| -#include "core/inspector/ConsoleMessage.h" |
| - |
| -namespace blink { |
| - |
| -struct FontLoader::FontToLoad : public GarbageCollectedFinalized<FontLoader::FontToLoad> { |
| -public: |
| - static FontToLoad* create(FontResource* fontResource, Document& document) |
| - { |
| - return new FontToLoad(fontResource, document); |
| - } |
| - |
| - virtual ~FontToLoad() |
| - { |
| - ASSERT(!fontResource); |
| - } |
| - |
| - Member<FontResource> fontResource; |
| - OwnPtr<IncrementLoadEventDelayCount> delay; |
| - |
| - void dispose() |
| - { |
| - fontResource = nullptr; |
| - delay.clear(); |
| - } |
| - |
| - DEFINE_INLINE_TRACE() { visitor->trace(fontResource); } |
| - |
| -private: |
| - FontToLoad(FontResource* resource, Document& document) |
| - : fontResource(resource) |
| - , delay(IncrementLoadEventDelayCount::create(document)) |
| - { |
| - } |
| -}; |
| - |
| -FontLoader::FontLoader(CSSFontSelector* fontSelector, Document* document) |
| - : m_beginLoadingTimer(this, &FontLoader::beginLoadTimerFired) |
| - , m_fontSelector(fontSelector) |
| - , m_document(document) |
| -{ |
| -} |
| - |
| -FontLoader::~FontLoader() |
| -{ |
| -#if ENABLE(OILPAN) |
| - if (!m_document) { |
| - ASSERT(m_fontsToBeginLoading.isEmpty()); |
| - return; |
| - } |
| - m_beginLoadingTimer.stop(); |
| - // This will decrement the request counts on the ResourceFetcher for all the |
| - // fonts that were pending at the time the FontLoader dies. |
| - clearPendingFonts(); |
| -#endif |
| -} |
| - |
| -void FontLoader::addFontToBeginLoading(FontResource* fontResource) |
| -{ |
| - if (!m_document || !fontResource->stillNeedsLoad() || fontResource->loadScheduled()) |
| - return; |
| - |
| - m_fontsToBeginLoading.append(FontToLoad::create(fontResource, *m_document)); |
| - fontResource->didScheduleLoad(); |
| - if (!m_beginLoadingTimer.isActive()) |
| - m_beginLoadingTimer.startOneShot(0, BLINK_FROM_HERE); |
|
Nate Chapin
2016/04/07 23:46:16
Instead of starting the font load on a timer, just
|
| -} |
| - |
| -void FontLoader::beginLoadTimerFired(Timer<blink::FontLoader>*) |
| -{ |
| - loadPendingFonts(); |
| -} |
| - |
| -void FontLoader::loadPendingFonts() |
| -{ |
| - ASSERT(m_document); |
| - |
| - FontsToLoadVector fontsToBeginLoading; |
| - fontsToBeginLoading.swap(m_fontsToBeginLoading); |
| - for (const auto& fontToLoad : fontsToBeginLoading) { |
| - if (m_document->frame()) |
| - fontToLoad->fontResource->beginLoadIfNeeded(m_document->fetcher()); |
| - else |
| - fontToLoad->fontResource->error(Resource::LoadError); |
| - fontToLoad->dispose(); |
| - } |
| - |
| - // When the local fontsToBeginLoading vector goes out of scope it will |
| - // decrement the request counts on the ResourceFetcher for all the fonts |
| - // that were just loaded. |
| -} |
| - |
| -void FontLoader::fontFaceInvalidated() |
| -{ |
| - if (m_fontSelector) |
| - m_fontSelector->fontFaceInvalidated(); |
|
Nate Chapin
2016/04/07 23:46:16
RemoteFontFaceSource now calls this directly.
|
| -} |
| - |
| -void FontLoader::didFailToDecode(FontResource* fontResource) |
| -{ |
| - // FIXME: Provide more useful message such as OTS rejection reason. |
| - // See crbug.com/97467 |
| - if (m_fontSelector && m_fontSelector->document()) { |
| - m_fontSelector->document()->addConsoleMessage(ConsoleMessage::create(OtherMessageSource, WarningMessageLevel, "Failed to decode downloaded font: " + fontResource->url().elidedString())); |
|
Nate Chapin
2016/04/07 23:46:16
Inlined in RemoteFontFaceSource::fontLoaded.
|
| - if (fontResource->otsParsingMessage().length() > 1) |
| - m_fontSelector->document()->addConsoleMessage(ConsoleMessage::create(OtherMessageSource, WarningMessageLevel, "OTS parsing error: " + fontResource->otsParsingMessage())); |
| - } |
| -} |
| - |
| -#if !ENABLE(OILPAN) |
| -void FontLoader::clearDocumentAndFontSelector() |
| -{ |
| - if (!m_document) { |
| - ASSERT(m_fontsToBeginLoading.isEmpty()); |
| - return; |
| - } |
| - |
| - m_beginLoadingTimer.stop(); |
| - clearPendingFonts(); |
| - m_document = nullptr; |
| - m_fontSelector = nullptr; |
| -} |
| -#endif |
| - |
| -void FontLoader::clearPendingFonts() |
| -{ |
| - for (const auto& fontToLoad : m_fontsToBeginLoading) { |
| - fontToLoad->fontResource->didUnscheduleLoad(); |
| - fontToLoad->dispose(); |
| - } |
| - m_fontsToBeginLoading.clear(); |
| -} |
| - |
| -DEFINE_TRACE(FontLoader) |
| -{ |
| - visitor->trace(m_fontsToBeginLoading); |
| - visitor->trace(m_document); |
| - visitor->trace(m_fontSelector); |
| -} |
| - |
| -} // namespace blink |