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.
1 /*
2 * Copyright 2006 The Android Open Source Project
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 #ifndef SkDiscretePathEffect_DEFINED
9 #define SkDiscretePathEffect_DEFINED
11 #include "SkPathEffect.h"
13 /** \class SkDiscretePathEffect
15 This path effect chops a path into discrete segments, and randomly displaces them.
16 */
17 class SK_API SkDiscretePathEffect : public SkPathEffect {
18 public:
19 /** Break the path into segments of segLength length, and randomly move the endpoints
20 away from the original path by a maximum of deviation.
21 Note: works on filled or framed paths
22 */
23 static SkDiscretePathEffect* Create(SkScalar segLength, SkScalar deviation) {
24 return SkNEW_ARGS(SkDiscretePathEffect, (segLength, deviation));
25 }
27 virtual bool filterPath(SkPath* dst, const SkPath& src,
28 SkStrokeRec*, const SkRect*) const SK_OVERRIDE;
30 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDiscretePathEffect)
32 protected:
33 SkDiscretePathEffect(SkReadBuffer&);
34 virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE;
36 #ifdef SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS
37 public:
38 #endif
39 SkDiscretePathEffect(SkScalar segLength, SkScalar deviation);
41 private:
42 SkScalar fSegLength, fPerterb;
44 typedef SkPathEffect INHERITED;
45 };
47 #endif