gfx/ots/src/vdmx.h

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
     2 // Use of this source code is governed by a BSD-style license that can be
     3 // found in the LICENSE file.
     5 #ifndef OTS_VDMX_H_
     6 #define OTS_VDMX_H_
     8 #include <vector>
    10 #include "ots.h"
    12 namespace ots {
    14 struct OpenTypeVDMXRatioRecord {
    15   uint8_t charset;
    16   uint8_t x_ratio;
    17   uint8_t y_start_ratio;
    18   uint8_t y_end_ratio;
    19 };
    21 struct OpenTypeVDMXVTable {
    22   uint16_t y_pel_height;
    23   int16_t y_max;
    24   int16_t y_min;
    25 };
    27 struct OpenTypeVDMXGroup {
    28   uint16_t recs;
    29   uint8_t startsz;
    30   uint8_t endsz;
    31   std::vector<OpenTypeVDMXVTable> entries;
    32 };
    34 struct OpenTypeVDMX {
    35   uint16_t version;
    36   uint16_t num_recs;
    37   uint16_t num_ratios;
    38   std::vector<OpenTypeVDMXRatioRecord> rat_ranges;
    39   std::vector<uint16_t> offsets;
    40   std::vector<OpenTypeVDMXGroup> groups;
    41 };
    43 }  // namespace ots
    45 #endif  // OTS_VDMX_H_

mercurial