gfx/skia/trunk/src/gpu/GrClipData.cpp

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.

michael@0 1 /*
michael@0 2 * Copyright 2010 Google Inc.
michael@0 3 *
michael@0 4 * Use of this source code is governed by a BSD-style license that can be
michael@0 5 * found in the LICENSE file.
michael@0 6 */
michael@0 7
michael@0 8 #include "GrClipData.h"
michael@0 9
michael@0 10 #include "GrSurface.h"
michael@0 11 #include "SkRect.h"
michael@0 12
michael@0 13 ///////////////////////////////////////////////////////////////////////////////
michael@0 14
michael@0 15 /**
michael@0 16 * getConservativeBounds returns the conservative bounding box of the clip
michael@0 17 * in device (as opposed to canvas) coordinates. If the bounding box is
michael@0 18 * the result of purely intersections of rects (with an initial replace)
michael@0 19 * isIntersectionOfRects will be set to true.
michael@0 20 */
michael@0 21 void GrClipData::getConservativeBounds(const GrSurface* surface,
michael@0 22 SkIRect* devResult,
michael@0 23 bool* isIntersectionOfRects) const {
michael@0 24 SkRect devBounds;
michael@0 25
michael@0 26 fClipStack->getConservativeBounds(-fOrigin.fX,
michael@0 27 -fOrigin.fY,
michael@0 28 surface->width(),
michael@0 29 surface->height(),
michael@0 30 &devBounds,
michael@0 31 isIntersectionOfRects);
michael@0 32
michael@0 33 devBounds.roundOut(devResult);
michael@0 34 }

mercurial