diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/gtk/ExperimentalFeatures.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/gtk/ExperimentalFeatures.cpp | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/Source/WebKit2/UIProcess/gtk/ExperimentalFeatures.cpp b/Source/WebKit2/UIProcess/gtk/ExperimentalFeatures.cpp deleted file mode 100644 index 1b69302ac..000000000 --- a/Source/WebKit2/UIProcess/gtk/ExperimentalFeatures.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (c) 2013, Opera Software ASA. 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. - * 3. Neither the name of Opera Software ASA nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE - * COPYRIGHT HOLDER OR 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. - */ - -#include "config.h" -#include "ExperimentalFeatures.h" - -namespace WebKit { - -struct Setting { - ExperimentalFeatures::Feature feature; - const char* featureName; - bool enabled; -}; - -static Setting settings[] = { - { ExperimentalFeatures::CSSGridLayout, "CSS_GRID_LAYOUT", false }, - { ExperimentalFeatures::RegionBasedColumns, "REGION_BASED_COLUMNS", false } -}; - -ExperimentalFeatures::ExperimentalFeatures() -{ - parseEnvironment(); -} - -bool ExperimentalFeatures::isEnabled(Feature feature) -{ - return settings[feature].enabled; -} - -void ExperimentalFeatures::setEnableByName(const String& key, bool enable) -{ - for (unsigned i = 0; i < WTF_ARRAY_LENGTH(settings); i++) { - if (key == settings[i].featureName) { - settings[i].enabled = enable; - break; - } - } -} - -void ExperimentalFeatures::parseEnvironment() -{ - const char* data = getenv("WEBKITGTK_EXPERIMENTAL_FEATURES"); - if (!data) - return; - if (!strcmp(data, "all")) { - for (unsigned i = 0; i < WTF_ARRAY_LENGTH(settings); i++) - settings[i].enabled = true; - } else { - Vector<String> variables; - String(data).split(',', false, variables); - for (unsigned i = 0; i < variables.size(); i++) { - Vector<String> keyAndValue; - variables[i].split('=', false, keyAndValue); - if (keyAndValue.size() != 2) - continue; - setEnableByName(keyAndValue[0], keyAndValue[1][0] - '0'); - } - } -} - -} // namespace WebKit |