<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[211364] trunk/Source/WebKit2</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/211364">211364</a></dd>
<dt>Author</dt> <dd>rego@igalia.com</dd>
<dt>Date</dt> <dd>2017-01-30 08:35:03 -0800 (Mon, 30 Jan 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>[GTK] Remove support to enable/disable experimental features
https://bugs.webkit.org/show_bug.cgi?id=167586

Reviewed by Michael Catanzaro.

As requested in bug #167578 we should remove the support to enable/disable
experimental features in WebKitGTK+.
One reason is that CSS Grid Layout is going to be enabled by default now,
so we don't need it to be in this file.
Another is that this support needs to be rewritten to use
the enumerable experimental features API.

* PlatformGTK.cmake:
* UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsConstructed):
* UIProcess/gtk/ExperimentalFeatures.cpp: Removed.
* UIProcess/gtk/ExperimentalFeatures.h: Removed.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2PlatformGTKcmake">trunk/Source/WebKit2/PlatformGTK.cmake</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIgtkWebKitSettingscpp">trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2UIProcessgtkExperimentalFeaturescpp">trunk/Source/WebKit2/UIProcess/gtk/ExperimentalFeatures.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessgtkExperimentalFeaturesh">trunk/Source/WebKit2/UIProcess/gtk/ExperimentalFeatures.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (211363 => 211364)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2017-01-30 13:50:37 UTC (rev 211363)
+++ trunk/Source/WebKit2/ChangeLog        2017-01-30 16:35:03 UTC (rev 211364)
</span><span class="lines">@@ -1,3 +1,23 @@
</span><ins>+2017-01-30  Manuel Rego Casasnovas  &lt;rego@igalia.com&gt;
+
+        [GTK] Remove support to enable/disable experimental features
+        https://bugs.webkit.org/show_bug.cgi?id=167586
+
+        Reviewed by Michael Catanzaro.
+
+        As requested in bug #167578 we should remove the support to enable/disable
+        experimental features in WebKitGTK+.
+        One reason is that CSS Grid Layout is going to be enabled by default now,
+        so we don't need it to be in this file.
+        Another is that this support needs to be rewritten to use
+        the enumerable experimental features API.
+
+        * PlatformGTK.cmake:
+        * UIProcess/API/gtk/WebKitSettings.cpp:
+        (webKitSettingsConstructed):
+        * UIProcess/gtk/ExperimentalFeatures.cpp: Removed.
+        * UIProcess/gtk/ExperimentalFeatures.h: Removed.
+
</ins><span class="cx"> 2017-01-30  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [GTK] Add API to handle the accelerated compositing policy
</span></span></pre></div>
<a id="trunkSourceWebKit2PlatformGTKcmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/PlatformGTK.cmake (211363 => 211364)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/PlatformGTK.cmake        2017-01-30 13:50:37 UTC (rev 211363)
+++ trunk/Source/WebKit2/PlatformGTK.cmake        2017-01-30 16:35:03 UTC (rev 211364)
</span><span class="lines">@@ -309,7 +309,6 @@
</span><span class="cx">     UIProcess/gtk/AcceleratedBackingStoreWayland.cpp
</span><span class="cx">     UIProcess/gtk/AcceleratedBackingStoreX11.cpp
</span><span class="cx">     UIProcess/gtk/DragAndDropHandler.cpp
</span><del>-    UIProcess/gtk/ExperimentalFeatures.cpp
</del><span class="cx">     UIProcess/gtk/GestureController.cpp
</span><span class="cx">     UIProcess/gtk/InputMethodFilter.cpp
</span><span class="cx">     UIProcess/gtk/KeyBindingTranslator.cpp
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIgtkWebKitSettingscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp (211363 => 211364)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp        2017-01-30 13:50:37 UTC (rev 211363)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp        2017-01-30 16:35:03 UTC (rev 211364)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;WebKitSettings.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;ExperimentalFeatures.h&quot;
</del><span class="cx"> #include &quot;WebKitEnumTypes.h&quot;
</span><span class="cx"> #include &quot;WebKitPrivate.h&quot;
</span><span class="cx"> #include &quot;WebKitSettingsPrivate.h&quot;
</span><span class="lines">@@ -156,10 +155,6 @@
</span><span class="cx"> 
</span><span class="cx">     WebPreferences* prefs = WEBKIT_SETTINGS(object)-&gt;priv-&gt;preferences.get();
</span><span class="cx">     prefs-&gt;setShouldRespectImageOrientation(true);
</span><del>-    ExperimentalFeatures features;
-    bool cssGridLayoutEnabled = features.isEnabled(ExperimentalFeatures::CSSGridLayout);
-    if (prefs-&gt;cssGridLayoutEnabled() != cssGridLayoutEnabled)
-        prefs-&gt;setCSSGridLayoutEnabled(cssGridLayoutEnabled);
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static void webKitSettingsSetProperty(GObject* object, guint propId, const GValue* value, GParamSpec* paramSpec)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessgtkExperimentalFeaturescpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/gtk/ExperimentalFeatures.cpp (211363 => 211364)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/gtk/ExperimentalFeatures.cpp        2017-01-30 13:50:37 UTC (rev 211363)
+++ trunk/Source/WebKit2/UIProcess/gtk/ExperimentalFeatures.cpp        2017-01-30 16:35:03 UTC (rev 211364)
</span><span class="lines">@@ -1,86 +0,0 @@
</span><del>-/*
- * 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
- * &quot;AS IS&quot; 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 &quot;config.h&quot;
-#include &quot;ExperimentalFeatures.h&quot;
-
-namespace WebKit {
-
-struct Setting {
-    ExperimentalFeatures::Feature feature;
-    const char* featureName;
-    bool enabled;
-};
-
-static Setting settings[] = {
-    { ExperimentalFeatures::CSSGridLayout, &quot;CSS_GRID_LAYOUT&quot;, true }
-};
-
-ExperimentalFeatures::ExperimentalFeatures()
-{
-    parseEnvironment();
-}
-
-bool ExperimentalFeatures::isEnabled(Feature feature)
-{
-    return settings[feature].enabled;
-}
-
-void ExperimentalFeatures::setEnableByName(const String&amp; key, bool enable)
-{
-    for (unsigned i = 0; i &lt; WTF_ARRAY_LENGTH(settings); i++) {
-        if (key == settings[i].featureName) {
-            settings[i].enabled = enable;
-            break;
-        }
-    }
-}
-
-void ExperimentalFeatures::parseEnvironment()
-{
-    const char* data = getenv(&quot;WEBKITGTK_EXPERIMENTAL_FEATURES&quot;);
-    if (!data)
-        return;
-    if (!strcmp(data, &quot;all&quot;)) {
-        for (unsigned i = 0; i &lt; WTF_ARRAY_LENGTH(settings); i++)
-            settings[i].enabled = true;
-    } else {
-        Vector&lt;String&gt; variables;
-        String(data).split(',', false, variables);
-        for (unsigned i = 0; i &lt; variables.size(); i++) {
-            Vector&lt;String&gt; keyAndValue;
-            variables[i].split('=', false, keyAndValue);
-            if (keyAndValue.size() != 2)
-                continue;
-            setEnableByName(keyAndValue[0], keyAndValue[1][0] - '0');
-        }
-    }
-}
-
-} // namespace WebKit
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessgtkExperimentalFeaturesh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/gtk/ExperimentalFeatures.h (211363 => 211364)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/gtk/ExperimentalFeatures.h        2017-01-30 13:50:37 UTC (rev 211363)
+++ trunk/Source/WebKit2/UIProcess/gtk/ExperimentalFeatures.h        2017-01-30 16:35:03 UTC (rev 211364)
</span><span class="lines">@@ -1,54 +0,0 @@
</span><del>-/*
- * 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
- * &quot;AS IS&quot; 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.
- */
-
-#ifndef ExperimentalFeatures_h
-#define ExperimentalFeatures_h
-
-#include &lt;wtf/text/WTFString.h&gt;
-
-namespace WebKit {
-
-class ExperimentalFeatures {
-public:
-    enum Feature {
-        CSSGridLayout
-    };
-
-    ExperimentalFeatures();
-
-    bool isEnabled(Feature);
-
-private:
-    void setEnableByName(const String&amp; key, bool enable);
-    void parseEnvironment();
-};
-
-} // namespace WebKit
-
-#endif // ExperimentalFeatures_h
</del></span></pre>
</div>
</div>

</body>
</html>