Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Side by Side Diff: Source/core/css/CSSGroupingRule.cpp

Issue 99083002: WIP: Migrate generated bindings to new ExceptionState constructor. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: MessagePort. Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. 2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved.
3 * Copyright (C) 2012 Apple Inc. All rights reserved. 3 * Copyright (C) 2012 Apple Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above 9 * 1. Redistributions of source code must retain the above
10 * copyright notice, this list of conditions and the following 10 * copyright notice, this list of conditions and the following
(...skipping 13 matching lines...) Expand all
24 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
26 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 26 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
27 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE. 28 * SUCH DAMAGE.
29 */ 29 */
30 30
31 #include "config.h" 31 #include "config.h"
32 #include "core/css/CSSGroupingRule.h" 32 #include "core/css/CSSGroupingRule.h"
33 33
34 #include "bindings/v8/ExceptionMessages.h"
35 #include "bindings/v8/ExceptionState.h" 34 #include "bindings/v8/ExceptionState.h"
36 #include "core/css/CSSParser.h" 35 #include "core/css/CSSParser.h"
37 #include "core/css/CSSRuleList.h" 36 #include "core/css/CSSRuleList.h"
38 #include "core/css/CSSStyleSheet.h" 37 #include "core/css/CSSStyleSheet.h"
39 #include "core/dom/ExceptionCode.h" 38 #include "core/dom/ExceptionCode.h"
40 #include "wtf/text/StringBuilder.h" 39 #include "wtf/text/StringBuilder.h"
41 40
42 namespace WebCore { 41 namespace WebCore {
43 42
44 CSSGroupingRule::CSSGroupingRule(StyleRuleGroup* groupRule, CSSStyleSheet* paren t) 43 CSSGroupingRule::CSSGroupingRule(StyleRuleGroup* groupRule, CSSStyleSheet* paren t)
(...skipping 10 matching lines...) Expand all
55 if (m_childRuleCSSOMWrappers[i]) 54 if (m_childRuleCSSOMWrappers[i])
56 m_childRuleCSSOMWrappers[i]->setParentRule(0); 55 m_childRuleCSSOMWrappers[i]->setParentRule(0);
57 } 56 }
58 } 57 }
59 58
60 unsigned CSSGroupingRule::insertRule(const String& ruleString, unsigned index, E xceptionState& exceptionState) 59 unsigned CSSGroupingRule::insertRule(const String& ruleString, unsigned index, E xceptionState& exceptionState)
61 { 60 {
62 ASSERT(m_childRuleCSSOMWrappers.size() == m_groupRule->childRules().size()); 61 ASSERT(m_childRuleCSSOMWrappers.size() == m_groupRule->childRules().size());
63 62
64 if (index > m_groupRule->childRules().size()) { 63 if (index > m_groupRule->childRules().size()) {
65 exceptionState.throwDOMException(IndexSizeError, ExceptionMessages::fail edToExecute("insertRule", "CSSGroupingRule", "the index " + String::number(index ) + " must be less than or equal to the length of the rule list.")); 64 exceptionState.throwDOMException(IndexSizeError, "the index " + String:: number(index) + " must be less than or equal to the length of the rule list.");
sof 2013/12/03 16:04:29 "the" => "The" is perhaps consistent with capitali
Mike West 2013/12/04 08:42:19 It does matter. I stopped caring about changing it
66 return 0; 65 return 0;
67 } 66 }
68 67
69 CSSStyleSheet* styleSheet = parentStyleSheet(); 68 CSSStyleSheet* styleSheet = parentStyleSheet();
70 CSSParser parser(parserContext(), UseCounter::getFrom(styleSheet)); 69 CSSParser parser(parserContext(), UseCounter::getFrom(styleSheet));
71 RefPtr<StyleRuleBase> newRule = parser.parseRule(styleSheet ? styleSheet->co ntents() : 0, ruleString); 70 RefPtr<StyleRuleBase> newRule = parser.parseRule(styleSheet ? styleSheet->co ntents() : 0, ruleString);
72 if (!newRule) { 71 if (!newRule) {
73 exceptionState.throwDOMException(SyntaxError, ExceptionMessages::failedT oExecute("insertRule", "CSSGroupingRule", "the rule '" + ruleString + "' is inva lid and cannot be parsed.")); 72 exceptionState.throwDOMException(SyntaxError, "the rule '" + ruleString + "' is invalid and cannot be parsed.");
74 return 0; 73 return 0;
75 } 74 }
76 75
77 if (newRule->isImportRule()) { 76 if (newRule->isImportRule()) {
78 // FIXME: an HierarchyRequestError should also be thrown for a @charset or a nested 77 // FIXME: an HierarchyRequestError should also be thrown for a @charset or a nested
79 // @media rule. They are currently not getting parsed, resulting in a Sy ntaxError 78 // @media rule. They are currently not getting parsed, resulting in a Sy ntaxError
80 // to get raised above. 79 // to get raised above.
81 exceptionState.throwDOMException(HierarchyRequestError, ExceptionMessage s::failedToExecute("insertRule", "CSSGroupingRule", "'@import' rules cannot be i nserted inside a group rule.")); 80 exceptionState.throwDOMException(HierarchyRequestError, "'@import' rules cannot be inserted inside a group rule.");
82 return 0; 81 return 0;
83 } 82 }
84 CSSStyleSheet::RuleMutationScope mutationScope(this); 83 CSSStyleSheet::RuleMutationScope mutationScope(this);
85 84
86 m_groupRule->wrapperInsertRule(index, newRule); 85 m_groupRule->wrapperInsertRule(index, newRule);
87 86
88 m_childRuleCSSOMWrappers.insert(index, RefPtr<CSSRule>()); 87 m_childRuleCSSOMWrappers.insert(index, RefPtr<CSSRule>());
89 return index; 88 return index;
90 } 89 }
91 90
92 void CSSGroupingRule::deleteRule(unsigned index, ExceptionState& exceptionState) 91 void CSSGroupingRule::deleteRule(unsigned index, ExceptionState& exceptionState)
93 { 92 {
94 ASSERT(m_childRuleCSSOMWrappers.size() == m_groupRule->childRules().size()); 93 ASSERT(m_childRuleCSSOMWrappers.size() == m_groupRule->childRules().size());
95 94
96 if (index >= m_groupRule->childRules().size()) { 95 if (index >= m_groupRule->childRules().size()) {
97 exceptionState.throwDOMException(IndexSizeError, ExceptionMessages::fail edToExecute("deleteRule", "CSSGroupingRule", "the index " + String::number(index ) + " is greated than the length of the rule list.")); 96 exceptionState.throwDOMException(IndexSizeError, "the index " + String:: number(index) + " is greated than the length of the rule list.");
98 return; 97 return;
99 } 98 }
100 99
101 CSSStyleSheet::RuleMutationScope mutationScope(this); 100 CSSStyleSheet::RuleMutationScope mutationScope(this);
102 101
103 m_groupRule->wrapperRemoveRule(index); 102 m_groupRule->wrapperRemoveRule(index);
104 103
105 if (m_childRuleCSSOMWrappers[index]) 104 if (m_childRuleCSSOMWrappers[index])
106 m_childRuleCSSOMWrappers[index]->setParentRule(0); 105 m_childRuleCSSOMWrappers[index]->setParentRule(0);
107 m_childRuleCSSOMWrappers.remove(index); 106 m_childRuleCSSOMWrappers.remove(index);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 { 143 {
145 ASSERT(rule); 144 ASSERT(rule);
146 m_groupRule = static_cast<StyleRuleGroup*>(rule); 145 m_groupRule = static_cast<StyleRuleGroup*>(rule);
147 for (unsigned i = 0; i < m_childRuleCSSOMWrappers.size(); ++i) { 146 for (unsigned i = 0; i < m_childRuleCSSOMWrappers.size(); ++i) {
148 if (m_childRuleCSSOMWrappers[i]) 147 if (m_childRuleCSSOMWrappers[i])
149 m_childRuleCSSOMWrappers[i]->reattach(m_groupRule->childRules()[i].g et()); 148 m_childRuleCSSOMWrappers[i]->reattach(m_groupRule->childRules()[i].g et());
150 } 149 }
151 } 150 }
152 151
153 } // namespace WebCore 152 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698