mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
I used do-webcore-rename from Blink/WebKit which is very good at doing this kind of search-replace. Also removed toRefPrtNativeArray after conversion since it previously had two separate flavors. Both versions are no longer used so I've removed the code until we need one again. https://www.irccloud.com/pastebin/5C16p5cE is the diff I used to do-webcore-rename TBR=abarth@chromium.org
67 lines
2.1 KiB
C++
67 lines
2.1 KiB
C++
// 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.
|
|
|
|
#ifndef RemoteFontFaceSource_h
|
|
#define RemoteFontFaceSource_h
|
|
|
|
#include "core/css/CSSFontFaceSource.h"
|
|
#include "core/fetch/FontResource.h"
|
|
#include "core/fetch/ResourcePtr.h"
|
|
|
|
namespace blink {
|
|
|
|
class FontLoader;
|
|
|
|
class RemoteFontFaceSource : public CSSFontFaceSource, public FontResourceClient {
|
|
public:
|
|
explicit RemoteFontFaceSource(FontResource*, PassRefPtr<FontLoader>);
|
|
virtual ~RemoteFontFaceSource();
|
|
|
|
virtual FontResource* resource() override { return m_font.get(); }
|
|
virtual bool isLoading() const override;
|
|
virtual bool isLoaded() const override;
|
|
virtual bool isValid() const override;
|
|
|
|
void beginLoadIfNeeded() override;
|
|
virtual bool ensureFontData();
|
|
|
|
virtual void didStartFontLoad(FontResource*) override;
|
|
virtual void fontLoaded(FontResource*) override;
|
|
virtual void fontLoadWaitLimitExceeded(FontResource*) override;
|
|
|
|
// For UMA reporting
|
|
virtual bool hadBlankText() override { return m_histograms.hadBlankText(); }
|
|
void paintRequested() { m_histograms.fallbackFontPainted(); }
|
|
|
|
virtual void trace(Visitor*) override;
|
|
|
|
protected:
|
|
virtual PassRefPtr<SimpleFontData> createFontData(const FontDescription&) override;
|
|
PassRefPtr<SimpleFontData> createLoadingFallbackFontData(const FontDescription&);
|
|
void pruneTable();
|
|
|
|
private:
|
|
class FontLoadHistograms {
|
|
public:
|
|
FontLoadHistograms() : m_loadStartTime(0), m_fallbackPaintTime(0) { }
|
|
void loadStarted();
|
|
void fallbackFontPainted();
|
|
void recordRemoteFont(const FontResource*);
|
|
void recordFallbackTime(const FontResource*);
|
|
bool hadBlankText() { return m_fallbackPaintTime; }
|
|
private:
|
|
const char* histogramName(const FontResource*);
|
|
double m_loadStartTime;
|
|
double m_fallbackPaintTime;
|
|
};
|
|
|
|
ResourcePtr<FontResource> m_font;
|
|
RefPtr<FontLoader> m_fontLoader;
|
|
FontLoadHistograms m_histograms;
|
|
};
|
|
|
|
} // namespace blink
|
|
|
|
#endif
|