gfx/skia/trunk/src/pdf/SkPDFFontImpl.h

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     2 /*
     3  * Copyright 2011 Google Inc.
     4  *
     5  * Use of this source code is governed by a BSD-style license that can be
     6  * found in the LICENSE file.
     7  */
    10 #ifndef SkPDFFontImpl_DEFINED
    11 #define SkPDFFontImpl_DEFINED
    13 #include "SkPDFFont.h"
    15 class SkPDFType0Font : public SkPDFFont {
    16 public:
    17     virtual ~SkPDFType0Font();
    18     virtual bool multiByteGlyphs() const { return true; }
    19     SK_API virtual SkPDFFont* getFontSubset(const SkPDFGlyphSet* usage);
    20 #ifdef SK_DEBUG
    21     virtual void emitObject(SkWStream* stream, SkPDFCatalog* catalog,
    22                             bool indirect);
    23 #endif
    25 private:
    26     friend class SkPDFFont;  // to access the constructor
    27 #ifdef SK_DEBUG
    28     bool fPopulated;
    29     typedef SkPDFDict INHERITED;
    30 #endif
    32     SkPDFType0Font(SkAdvancedTypefaceMetrics* info, SkTypeface* typeface);
    34     bool populate(const SkPDFGlyphSet* subset);
    35 };
    37 class SkPDFCIDFont : public SkPDFFont {
    38 public:
    39     virtual ~SkPDFCIDFont();
    40     virtual bool multiByteGlyphs() const { return true; }
    42 private:
    43     friend class SkPDFType0Font;  // to access the constructor
    45     SkPDFCIDFont(SkAdvancedTypefaceMetrics* info, SkTypeface* typeface,
    46                  const SkPDFGlyphSet* subset);
    48     bool populate(const SkPDFGlyphSet* subset);
    49     bool addFontDescriptor(int16_t defaultWidth,
    50                            const SkTDArray<uint32_t>* subset);
    51 };
    53 class SkPDFType1Font : public SkPDFFont {
    54 public:
    55     virtual ~SkPDFType1Font();
    56     virtual bool multiByteGlyphs() const { return false; }
    58 private:
    59     friend class SkPDFFont;  // to access the constructor
    61     SkPDFType1Font(SkAdvancedTypefaceMetrics* info, SkTypeface* typeface,
    62                    uint16_t glyphID, SkPDFDict* relatedFontDescriptor);
    64     bool populate(int16_t glyphID);
    65     bool addFontDescriptor(int16_t defaultWidth);
    66     void addWidthInfoFromRange(int16_t defaultWidth,
    67         const SkAdvancedTypefaceMetrics::WidthRange* widthRangeEntry);
    68 };
    70 class SkPDFType3Font : public SkPDFFont {
    71 public:
    72     virtual ~SkPDFType3Font();
    73     virtual bool multiByteGlyphs() const { return false; }
    75 private:
    76     friend class SkPDFFont;  // to access the constructor
    78     SkPDFType3Font(SkAdvancedTypefaceMetrics* info, SkTypeface* typeface, uint16_t glyphID);
    80     bool populate(int16_t glyphID);
    81 };
    83 #endif

mercurial