From 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Tue, 27 Jun 2017 06:07:23 +0000 Subject: webkitgtk-2.16.5 --- Source/WebCore/css/StyleScopeResolver.h | 125 -------------------------------- 1 file changed, 125 deletions(-) delete mode 100644 Source/WebCore/css/StyleScopeResolver.h (limited to 'Source/WebCore/css/StyleScopeResolver.h') diff --git a/Source/WebCore/css/StyleScopeResolver.h b/Source/WebCore/css/StyleScopeResolver.h deleted file mode 100644 index 4557e9e03..000000000 --- a/Source/WebCore/css/StyleScopeResolver.h +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (C) 1999 Lars Knoll (knoll@kde.org) - * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef StyleScopeResolver_h -#define StyleScopeResolver_h - -#include -#include -#include -#include -#include - -namespace WebCore { - -class ContainerNode; -class CSSStyleSheet; -class Element; -class RuleSet; -class ShadowRoot; -class StyleRuleHost; -struct RuleFeatureSet; - -#if ENABLE(SHADOW_DOM) - -class StyleScopeResolver { -public: - typedef HashMap> ScopedRuleSetMap; - - struct StackFrame { - StackFrame() : m_scope(0), m_authorStyleBoundsIndex(0), m_ruleSet(0) { } - StackFrame(const ContainerNode* scope, int authorStyleBoundsIndex, RuleSet* ruleSet) - : m_scope(scope), m_authorStyleBoundsIndex(authorStyleBoundsIndex), m_ruleSet(ruleSet) - { } - - const ContainerNode* m_scope; - int m_authorStyleBoundsIndex; - RuleSet* m_ruleSet; - }; - - StyleScopeResolver(); - ~StyleScopeResolver(); - - static const ContainerNode* scopeFor(const CSSStyleSheet*); - - void push(const ContainerNode* scope, const ContainerNode* scopeParent); - void pop(const ContainerNode* scope); - bool hasScopedStyles() const { return !m_authorStyles.isEmpty(); } - RuleSet* ensureRuleSetFor(const ContainerNode* scope); - bool ensureStackConsistency(ContainerNode*); - unsigned stackSize() const { return m_stack.size(); } - const StackFrame& stackFrameAt(unsigned index) const { return m_stack.at(index); } - bool matchesStyleBounds(const StackFrame& frame) const { return frame.m_authorStyleBoundsIndex == m_stackParentBoundsIndex; } - void collectFeaturesTo(RuleFeatureSet&); - - void addHostRule(StyleRuleHost*, bool hasDocumentSecurityOrigin, const ContainerNode* scope); - bool styleSharingCandidateMatchesHostRules(const Element*); - void matchHostRules(const Element*, Vector& matchedRules); - -private: - RuleSet* ruleSetFor(const ContainerNode* scope) const; - void setupStack(const ContainerNode*); - bool stackIsConsistent(const ContainerNode* parent) const { return parent && parent == m_stackParent; } - RuleSet* ensureAtHostRuleSetFor(const ShadowRoot*); - RuleSet* atHostRuleSetFor(const ShadowRoot*) const; - - ScopedRuleSetMap m_authorStyles; - - // Vector (used as stack) that keeps track of scoping elements (i.e., elements with a