gfx/skia/trunk/include/utils/SkFrontBufferedStream.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.

     1 /*
     2  * Copyright 2013 Google Inc.
     3  *
     4  * Use of this source code is governed by a BSD-style license that can be
     5  * found in the LICENSE file.
     6  */
     8 #include "SkTypes.h"
    10 class SkStream;
    11 class SkStreamRewindable;
    13 /**
    14  *  Specialized stream that buffers the first X bytes of a stream,
    15  *  where X is passed in by the user. Note that unlike some buffered
    16  *  stream APIs, once more bytes than can fit in the buffer are read,
    17  *  no more buffering is done. This stream is designed for a use case
    18  *  where the caller knows that rewind will only be called from within
    19  *  X bytes (inclusive), and the wrapped stream is not necessarily
    20  *  able to rewind at all.
    21  */
    22 class SkFrontBufferedStream {
    23 public:
    24     /**
    25      *  Creates a new stream that wraps and buffers an SkStream.
    26      *  @param stream SkStream to buffer. If stream is NULL, NULL is
    27      *      returned. When this call succeeds (i.e. returns non NULL),
    28      *      SkFrontBufferedStream is expected to be the only owner of
    29      *      stream, so it should be unreffed and no longer used directly.
    30      *  @param minBufferSize Minimum size of buffer required.
    31      *  @return An SkStream that can buffer at least minBufferSize, or
    32      *      NULL on failure.
    33      */
    34     static SkStreamRewindable* Create(SkStream* stream, size_t minBufferSize);
    35 };

mercurial