gfx/angle/src/compiler/depgraph/DependencyGraphTraverse.cpp

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 (c) 2012 The ANGLE Project Authors. All rights reserved.
     3 // Use of this source code is governed by a BSD-style license that can be
     4 // found in the LICENSE file.
     5 //
     7 #include "compiler/depgraph/DependencyGraph.h"
     9 // These methods do a breadth-first traversal through the graph and mark visited nodes.
    11 void TGraphNode::traverse(TDependencyGraphTraverser* graphTraverser)
    12 {
    13     graphTraverser->markVisited(this);
    14 }
    16 void TGraphParentNode::traverse(TDependencyGraphTraverser* graphTraverser)
    17 {
    18     TGraphNode::traverse(graphTraverser);
    20     graphTraverser->incrementDepth();
    22     // Visit the parent node's children.
    23     for (TGraphNodeSet::const_iterator iter = mDependentNodes.begin();
    24          iter != mDependentNodes.end();
    25          ++iter)
    26     {
    27         TGraphNode* node = *iter;
    28         if (!graphTraverser->isVisited(node))
    29             node->traverse(graphTraverser);
    30     }
    32     graphTraverser->decrementDepth();
    33 }
    35 void TGraphArgument::traverse(TDependencyGraphTraverser* graphTraverser)
    36 {
    37     graphTraverser->visitArgument(this);
    38     TGraphParentNode::traverse(graphTraverser);
    39 }
    41 void TGraphFunctionCall::traverse(TDependencyGraphTraverser* graphTraverser)
    42 {
    43     graphTraverser->visitFunctionCall(this);
    44     TGraphParentNode::traverse(graphTraverser);
    45 }
    47 void TGraphSymbol::traverse(TDependencyGraphTraverser* graphTraverser)
    48 {
    49     graphTraverser->visitSymbol(this);
    50     TGraphParentNode::traverse(graphTraverser);
    51 }
    53 void TGraphSelection::traverse(TDependencyGraphTraverser* graphTraverser)
    54 {
    55     graphTraverser->visitSelection(this);
    56     TGraphNode::traverse(graphTraverser);
    57 }
    59 void TGraphLoop::traverse(TDependencyGraphTraverser* graphTraverser)
    60 {
    61     graphTraverser->visitLoop(this);
    62     TGraphNode::traverse(graphTraverser);
    63 }
    65 void TGraphLogicalOp::traverse(TDependencyGraphTraverser* graphTraverser)
    66 {
    67     graphTraverser->visitLogicalOp(this);
    68     TGraphNode::traverse(graphTraverser);
    69 }

mercurial