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

Side by Side Diff: bindings/v8/RuntimeCSSEnabled.cpp

Issue 14324009: Add support for disabling CSS Properties at runtime (Closed) Base URL: http://src.chromium.org/blink/trunk/Source/
Patch Set: Created 7 years, 8 months 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
(Empty)
1 /*
2 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above
9 * copyright notice, this list of conditions and the following
10 * disclaimer.
11 * 2. Redistributions in binary form must reproduce the above
12 * copyright notice, this list of conditions and the following
13 * disclaimer in the documentation and/or other materials
14 * provided with the distribution.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
19 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
20 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
21 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
25 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
27 * OF THE POSSIBILITY OF SUCH DAMAGE.
28 */
29
30 #include "config.h"
31 #include "RuntimeCSSEnabled.h"
32
33 namespace WebCore {
34
35 Vector<bool, numCSSProperties>* RuntimeCSSEnabled::CSSPropertiesSwitches = NULL;
36 Vector<bool, numCSSValueKeywords>* RuntimeCSSEnabled::CSSValuesSwitches = NULL;
37
38 Vector<bool, numCSSProperties>* RuntimeCSSEnabled::getCSSPropertiesSwitches()
39 {
40 if (!CSSPropertiesSwitches) {
41 CSSPropertiesSwitches = new Vector<bool, numCSSProperties>;
42 CSSPropertiesSwitches->fill(true, numCSSProperties);
43 }
44
45 return CSSPropertiesSwitches;
46 }
47
48 Vector<bool, numCSSValueKeywords>* RuntimeCSSEnabled::getCSSValuesSwitches()
49 {
50 if (!CSSValuesSwitches) {
51 CSSValuesSwitches = new Vector<bool, numCSSValueKeywords>;
52 CSSValuesSwitches->fill(true, numCSSValueKeywords);
53 }
54
55 return CSSValuesSwitches;
56 }
57
58 bool RuntimeCSSEnabled::isCSSValueEnabled(CSSValueID valueID)
59 {
60 return getCSSValuesSwitches()->at(
61 static_cast<size_t>(valueID));
62 }
63
64 void RuntimeCSSEnabled::setCSSValueEnabled(CSSValueID valueID, bool enable)
65 {
66 getCSSValuesSwitches()->at(
67 static_cast<size_t>(valueID)) = enable;
68 }
69
70 bool RuntimeCSSEnabled::isCSSPropertyEnabled(CSSPropertyID propID)
71 {
72 size_t propIDIndex = static_cast<size_t>(propID);
73 if (propIDIndex < firstCSSProperty || propIDIndex > lastCSSProperty)
74 return true;
75
76 propIDIndex -= firstCSSProperty;
77 return getCSSPropertiesSwitches()->at(propIDIndex);
78 }
79
80 void RuntimeCSSEnabled::setCSSPropertyEnabled(CSSPropertyID propID, bool enable)
81 {
82 size_t propIDIndex = static_cast<size_t>(propID);
83 if (propIDIndex < firstCSSProperty || propIDIndex > lastCSSProperty)
84 return;
85
86 propIDIndex -= firstCSSProperty;
87 getCSSPropertiesSwitches()->at(propIDIndex) = enable;
88 }
89
90 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698