Sat, 03 Jan 2015 20:18:00 +0100
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