Modern IDB (Workers): Enable INDEXED_DATABASE_IN_WORKERS compile time flag, but disab...
authorbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 Apr 2016 18:59:45 +0000 (18:59 +0000)
committerbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 Apr 2016 18:59:45 +0000 (18:59 +0000)
https://bugs.webkit.org/show_bug.cgi?id=156782

Reviewed by Alex Christensen.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Test: storage/indexeddb/modern/workers-disabled.html
      storage/indexeddb/modern/workers-enable.html

* Configurations/FeatureDefines.xcconfig:

ScriptExecutionContext shouldn't really be supplementable:
* dom/ScriptExecutionContext.h:

WorkerGlobalScope should be supplementable.
Also modernize this archaic header (pragma once, and re-indent):
* workers/WorkerGlobalScope.h:

Update for WorkerGlobalScope now being directly supplementable:
* Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
(WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase):
(WebCore::WorkerGlobalScopeIndexedDatabase::from):
(WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
* Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
* Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl:
* Modules/notifications/WorkerGlobalScopeNotifications.cpp:
(WebCore::WorkerGlobalScopeNotifications::WorkerGlobalScopeNotifications):
(WebCore::WorkerGlobalScopeNotifications::from):
(WebCore::WorkerGlobalScopeNotifications::webkitNotifications):
* Modules/notifications/WorkerGlobalScopeNotifications.h:

Expose IndexedDBWorkers to RuntimeEnabledFeatures:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setIndexedDBWorkersEnabled):
(WebCore::RuntimeEnabledFeatures::indexedDBWorkersEnabled):

Expose IndexedDBWorkers to InternalSettings:
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setIndexedDBWorkersEnabled):
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

Note: One test has some "FAIL" lines in the expected results, which is intentional.
As work on this progresses, those FAILs will become PASSes and the expectations will be updated.

* storage/indexeddb/modern/resources/workers-disabled.js: Added.
* storage/indexeddb/modern/resources/workers-enable.js: Added.
* storage/indexeddb/modern/workers-disabled-expected.txt: Added.
* storage/indexeddb/modern/workers-disabled.html: Added.
* storage/indexeddb/modern/workers-enable-expected.txt: Added.
* storage/indexeddb/modern/workers-enable.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@199779 268f45cc-cd09-0410-ab3c-d52691b4dbfc

29 files changed:
LayoutTests/ChangeLog
LayoutTests/storage/indexeddb/modern/resources/workers-disabled.js [new file with mode: 0644]
LayoutTests/storage/indexeddb/modern/resources/workers-enable.js [new file with mode: 0644]
LayoutTests/storage/indexeddb/modern/workers-disabled-expected.txt [new file with mode: 0644]
LayoutTests/storage/indexeddb/modern/workers-disabled.html [new file with mode: 0644]
LayoutTests/storage/indexeddb/modern/workers-enable-expected.txt [new file with mode: 0644]
LayoutTests/storage/indexeddb/modern/workers-enable.html [new file with mode: 0644]
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
Source/WebCore/ChangeLog
Source/WebCore/Configurations/FeatureDefines.xcconfig
Source/WebCore/Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp
Source/WebCore/Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h
Source/WebCore/Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl
Source/WebCore/Modules/notifications/WorkerGlobalScopeNotifications.cpp
Source/WebCore/Modules/notifications/WorkerGlobalScopeNotifications.h
Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp
Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h
Source/WebCore/dom/ScriptExecutionContext.h
Source/WebCore/testing/InternalSettings.cpp
Source/WebCore/testing/InternalSettings.h
Source/WebCore/testing/InternalSettings.idl
Source/WebCore/workers/WorkerGlobalScope.h
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
Source/WebKit2/ChangeLog
Source/WebKit2/Configurations/FeatureDefines.xcconfig
Tools/ChangeLog
Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig

index 0e5117a..f8e66e8 100644 (file)
@@ -1,3 +1,20 @@
+2016-04-20  Brady Eidson  <beidson@apple.com>
+
+        Modern IDB (Workers): Enable INDEXED_DATABASE_IN_WORKERS compile time flag, but disabled in RuntimeEnabledFeatures.
+        https://bugs.webkit.org/show_bug.cgi?id=156782
+
+        Reviewed by Alex Christensen.
+
+        Note: One test has some "FAIL" lines in the expected results, which is intentional.
+        As work on this progresses, those FAILs will become PASSes and the expectations will be updated.
+        
+        * storage/indexeddb/modern/resources/workers-disabled.js: Added.
+        * storage/indexeddb/modern/resources/workers-enable.js: Added.
+        * storage/indexeddb/modern/workers-disabled-expected.txt: Added.
+        * storage/indexeddb/modern/workers-disabled.html: Added.
+        * storage/indexeddb/modern/workers-enable-expected.txt: Added.
+        * storage/indexeddb/modern/workers-enable.html: Added.
+
 2016-04-20  Brent Fulgham  <bfulgham@apple.com>
 
         [WK2][Mac][iOS] WebContent crash when using special file:// URI scheme @ WebKit::resolveSymlinksInPath(WTF::CString const&) + 159
diff --git a/LayoutTests/storage/indexeddb/modern/resources/workers-disabled.js b/LayoutTests/storage/indexeddb/modern/resources/workers-disabled.js
new file mode 100644 (file)
index 0000000..5171eae
--- /dev/null
@@ -0,0 +1,10 @@
+if (this.importScripts) {
+    importScripts('../../../../resources/js-test.js');
+    importScripts('../../resources/shared.js');
+}
+
+description("Check to make sure IndexedDB in workers can be disabled at runtime");
+
+shouldBeUndefined("self.indexedDB");
+
+finishJSTest();
diff --git a/LayoutTests/storage/indexeddb/modern/resources/workers-enable.js b/LayoutTests/storage/indexeddb/modern/resources/workers-enable.js
new file mode 100644 (file)
index 0000000..67d1882
--- /dev/null
@@ -0,0 +1,12 @@
+if (this.importScripts) {
+    importScripts('../../../../resources/js-test.js');
+    importScripts('../../resources/shared.js');
+}
+
+description("Check to make sure we can enable IndexedDB in workers via a runtime setting");
+
+shouldBeDefined("self.indexedDB");
+shouldBeNonNull("self.indexedDB");
+shouldBeTrue("self.indexedDB instanceof IDBFactory");
+
+finishJSTest();
diff --git a/LayoutTests/storage/indexeddb/modern/workers-disabled-expected.txt b/LayoutTests/storage/indexeddb/modern/workers-disabled-expected.txt
new file mode 100644 (file)
index 0000000..7c09a94
--- /dev/null
@@ -0,0 +1,11 @@
+[Worker] Check to make sure IndexedDB in workers can be disabled at runtime
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Starting worker: resources/workers-disabled.js
+PASS [Worker] self.indexedDB is undefined.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/storage/indexeddb/modern/workers-disabled.html b/LayoutTests/storage/indexeddb/modern/workers-disabled.html
new file mode 100644 (file)
index 0000000..853f304
--- /dev/null
@@ -0,0 +1,17 @@
+<html>
+<head>
+<script src="../../../resources/js-test.js"></script>
+<script src="../resources/shared.js"></script>
+</head>
+<body>
+<script>
+
+/*
+IndexedDB for workers is currently disabled by default.
+Once that changes, we'll need the following code to keep this test passing.
+if (window.internals)
+    window.internals.settings.setIndexedDBWorkersEnabled(false);
+*/
+worker = startWorker('resources/workers-disabled.js');</script>
+</body>
+</html>
diff --git a/LayoutTests/storage/indexeddb/modern/workers-enable-expected.txt b/LayoutTests/storage/indexeddb/modern/workers-enable-expected.txt
new file mode 100644 (file)
index 0000000..60d310f
--- /dev/null
@@ -0,0 +1,13 @@
+[Worker] Check to make sure we can enable IndexedDB in workers via a runtime setting
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Starting worker: resources/workers-enable.js
+PASS [Worker] self.indexedDB is defined.
+FAIL [Worker] self.indexedDB should be non-null. Was null
+FAIL [Worker] self.indexedDB instanceof IDBFactory should be true. Was false.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/storage/indexeddb/modern/workers-enable.html b/LayoutTests/storage/indexeddb/modern/workers-enable.html
new file mode 100644 (file)
index 0000000..8daa5e6
--- /dev/null
@@ -0,0 +1,12 @@
+<html>
+<head>
+<script src="../../../resources/js-test.js"></script>
+<script src="../resources/shared.js"></script>
+</head>
+<body>
+<script>
+if (window.internals)
+    window.internals.settings.setIndexedDBWorkersEnabled(true);
+worker = startWorker('resources/workers-enable.js');</script>
+</body>
+</html>
index 12932fe..12f175b 100644 (file)
@@ -1,3 +1,12 @@
+2016-04-20  Brady Eidson  <beidson@apple.com>
+
+        Modern IDB (Workers): Enable INDEXED_DATABASE_IN_WORKERS compile time flag, but disabled in RuntimeEnabledFeatures.
+        https://bugs.webkit.org/show_bug.cgi?id=156782
+
+        Reviewed by Alex Christensen.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2016-04-20  Saam barati  <sbarati@apple.com>
 
         Remove unused m_writtenVariables from the parser and related bits
index a5ea1f4..835c822 100644 (file)
@@ -77,7 +77,7 @@ ENABLE_GEOLOCATION = ENABLE_GEOLOCATION;
 ENABLE_ICONDATABASE[sdk=macosx*] = ENABLE_ICONDATABASE;
 ENABLE_SERVICE_CONTROLS[sdk=macosx*] = ENABLE_SERVICE_CONTROLS;
 ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE;
-ENABLE_INDEXED_DATABASE_IN_WORKERS = ;
+ENABLE_INDEXED_DATABASE_IN_WORKERS = ENABLE_INDEXED_DATABASE_IN_WORKERS;
 ENABLE_INDIE_UI = ENABLE_INDIE_UI;
 ENABLE_INPUT_TYPE_COLOR[sdk=macosx*] = ENABLE_INPUT_TYPE_COLOR;
 ENABLE_INPUT_TYPE_COLOR_POPOVER[sdk=macosx*] = ENABLE_INPUT_TYPE_COLOR_POPOVER;
index a4f5c71..b9f702c 100644 (file)
@@ -1,3 +1,50 @@
+2016-04-20  Brady Eidson  <beidson@apple.com>
+
+        Modern IDB (Workers): Enable INDEXED_DATABASE_IN_WORKERS compile time flag, but disabled in RuntimeEnabledFeatures.
+        https://bugs.webkit.org/show_bug.cgi?id=156782
+
+        Reviewed by Alex Christensen.
+
+        Test: storage/indexeddb/modern/workers-disabled.html
+              storage/indexeddb/modern/workers-enable.html
+
+        * Configurations/FeatureDefines.xcconfig:
+
+        ScriptExecutionContext shouldn't really be supplementable:
+        * dom/ScriptExecutionContext.h:
+
+        WorkerGlobalScope should be supplementable.
+        Also modernize this archaic header (pragma once, and re-indent):
+        * workers/WorkerGlobalScope.h:
+        
+        Update for WorkerGlobalScope now being directly supplementable:
+        * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
+        (WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase):
+        (WebCore::WorkerGlobalScopeIndexedDatabase::from):
+        (WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
+        * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
+        * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl:
+        * Modules/notifications/WorkerGlobalScopeNotifications.cpp:
+        (WebCore::WorkerGlobalScopeNotifications::WorkerGlobalScopeNotifications):
+        (WebCore::WorkerGlobalScopeNotifications::from):
+        (WebCore::WorkerGlobalScopeNotifications::webkitNotifications):
+        * Modules/notifications/WorkerGlobalScopeNotifications.h:
+        
+        Expose IndexedDBWorkers to RuntimeEnabledFeatures:
+        * bindings/generic/RuntimeEnabledFeatures.cpp:
+        (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
+        * bindings/generic/RuntimeEnabledFeatures.h:
+        (WebCore::RuntimeEnabledFeatures::setIndexedDBWorkersEnabled):
+        (WebCore::RuntimeEnabledFeatures::indexedDBWorkersEnabled):
+
+        Expose IndexedDBWorkers to InternalSettings:
+        * testing/InternalSettings.cpp:
+        (WebCore::InternalSettings::Backup::Backup):
+        (WebCore::InternalSettings::Backup::restoreTo):
+        (WebCore::InternalSettings::setIndexedDBWorkersEnabled):
+        * testing/InternalSettings.h:
+        * testing/InternalSettings.idl:
+
 2016-04-20  Dave Hyatt  <hyatt@apple.com>
 
         Hangable punctuation measurement using the wrong indices.
index a5ea1f4..835c822 100644 (file)
@@ -77,7 +77,7 @@ ENABLE_GEOLOCATION = ENABLE_GEOLOCATION;
 ENABLE_ICONDATABASE[sdk=macosx*] = ENABLE_ICONDATABASE;
 ENABLE_SERVICE_CONTROLS[sdk=macosx*] = ENABLE_SERVICE_CONTROLS;
 ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE;
-ENABLE_INDEXED_DATABASE_IN_WORKERS = ;
+ENABLE_INDEXED_DATABASE_IN_WORKERS = ENABLE_INDEXED_DATABASE_IN_WORKERS;
 ENABLE_INDIE_UI = ENABLE_INDIE_UI;
 ENABLE_INPUT_TYPE_COLOR[sdk=macosx*] = ENABLE_INPUT_TYPE_COLOR;
 ENABLE_INPUT_TYPE_COLOR_POPOVER[sdk=macosx*] = ENABLE_INPUT_TYPE_COLOR_POPOVER;
index a2ab020..f713b43 100644 (file)
 #include "IDBFactory.h"
 #include "ScriptExecutionContext.h"
 #include "SecurityOrigin.h"
+#include "WorkerGlobalScope.h"
 
 namespace WebCore {
 
-WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase()
+WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase(WorkerGlobalScope&)
 {
 }
 
@@ -50,20 +51,20 @@ const char* WorkerGlobalScopeIndexedDatabase::supplementName()
     return "WorkerGlobalScopeIndexedDatabase";
 }
 
-WorkerGlobalScopeIndexedDatabase* WorkerGlobalScopeIndexedDatabase::from(ScriptExecutionContext* context)
+WorkerGlobalScopeIndexedDatabase* WorkerGlobalScopeIndexedDatabase::from(WorkerGlobalScope& scope)
 {
-    WorkerGlobalScopeIndexedDatabase* supplement = static_cast<WorkerGlobalScopeIndexedDatabase*>(Supplement<ScriptExecutionContext>::from(context, supplementName()));
+    WorkerGlobalScopeIndexedDatabase* supplement = static_cast<WorkerGlobalScopeIndexedDatabase*>(Supplement<WorkerGlobalScope>::from(&scope, supplementName()));
     if (!supplement) {
-        auto newSupplement = std::make_unique<WorkerGlobalScopeIndexedDatabase>();
+        auto newSupplement = std::make_unique<WorkerGlobalScopeIndexedDatabase>(scope);
         supplement = newSupplement.get();
-        provideTo(context, supplementName(), WTFMove(newSupplement));
+        provideTo(&scope, supplementName(), WTFMove(newSupplement));
     }
     return supplement;
 }
 
-IDBFactory* WorkerGlobalScopeIndexedDatabase::indexedDB(ScriptExecutionContext* context)
+IDBFactory* WorkerGlobalScopeIndexedDatabase::indexedDB(WorkerGlobalScope& scope)
 {
-    return from(context)->indexedDB();
+    return from(scope)->indexedDB();
 }
 
 IDBFactory* WorkerGlobalScopeIndexedDatabase::indexedDB()
@@ -73,4 +74,4 @@ IDBFactory* WorkerGlobalScopeIndexedDatabase::indexedDB()
 
 } // namespace WebCore
 
-#endif // ENABLE(INDEXED_DATABASE)
+#endif // ENABLE(INDEXED_DATABASE_IN_WORKERS)
index 956cb67..c394701 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2008, 2009, 2013, 2014, 2015, 2016 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -24,8 +24,7 @@
  *
  */
 
-#ifndef WorkerGlobalScopeIndexedDatabase_h
-#define WorkerGlobalScopeIndexedDatabase_h
+#pragma once
 
 #if ENABLE(INDEXED_DATABASE_IN_WORKERS)
 
 namespace WebCore {
 
 class IDBFactory;
-class ScriptExecutionContext;
+class WorkerGlobalScope;
 
-class WorkerGlobalScopeIndexedDatabase : public Supplement<ScriptExecutionContext> {
+class WorkerGlobalScopeIndexedDatabase : public Supplement<WorkerGlobalScope> {
 public:
-    explicit WorkerGlobalScopeIndexedDatabase();
+    explicit WorkerGlobalScopeIndexedDatabase(WorkerGlobalScope&);
     virtual ~WorkerGlobalScopeIndexedDatabase();
-    static WorkerGlobalScopeIndexedDatabase* from(ScriptExecutionContext*);
 
-    static IDBFactory* indexedDB(ScriptExecutionContext*);
+    static WorkerGlobalScopeIndexedDatabase* from(WorkerGlobalScope&);
+    static IDBFactory* indexedDB(WorkerGlobalScope&);
 
 private:
     IDBFactory* indexedDB();
@@ -54,6 +53,4 @@ private:
 
 } // namespace WebCore
 
-#endif // ENABLE(INDEXED_DATABASE)
-
-#endif // WorkerGlobalScopeIndexedDatabase_h
+#endif // ENABLE(INDEXED_DATABASE_IN_WORKERS)
index 755f5bf..fc7f775 100644 (file)
@@ -27,6 +27,6 @@
 [
     Conditional=INDEXED_DATABASE_IN_WORKERS,
 ] partial interface WorkerGlobalScope {
-    [EnabledAtRuntime=IndexedDB] readonly attribute IDBFactory indexedDB;
+    [EnabledAtRuntime=IndexedDBWorkers] readonly attribute IDBFactory indexedDB;
 };
 
index a974efc..fa88674 100644 (file)
@@ -36,8 +36,8 @@
 
 namespace WebCore {
 
-WorkerGlobalScopeNotifications::WorkerGlobalScopeNotifications(WorkerGlobalScope* context)
-    : m_context(context)
+WorkerGlobalScopeNotifications::WorkerGlobalScopeNotifications(WorkerGlobalScope& scope)
+    : m_context(&scope)
 {
 }
 
@@ -50,20 +50,20 @@ const char* WorkerGlobalScopeNotifications::supplementName()
     return "WorkerGlobalScopeNotifications";
 }
 
-WorkerGlobalScopeNotifications* WorkerGlobalScopeNotifications::from(WorkerGlobalScope* context)
+WorkerGlobalScopeNotifications* WorkerGlobalScopeNotifications::from(WorkerGlobalScope& scope)
 {
-    WorkerGlobalScopeNotifications* supplement = static_cast<WorkerGlobalScopeNotifications*>(Supplement<ScriptExecutionContext>::from(context, supplementName()));
+    WorkerGlobalScopeNotifications* supplement = static_cast<WorkerGlobalScopeNotifications*>(Supplement<WorkerGlobalScope>::from(&scope, supplementName()));
     if (!supplement) {
-        auto newSupplement = std::make_unique<WorkerGlobalScopeNotifications>(context);
+        auto newSupplement = std::make_unique<WorkerGlobalScopeNotifications>(scope);
         supplement = newSupplement.get();
-        provideTo(context, supplementName(), WTFMove(newSupplement));
+        provideTo(&scope, supplementName(), WTFMove(newSupplement));
     }
     return supplement;
 }
 
-NotificationCenter* WorkerGlobalScopeNotifications::webkitNotifications(WorkerGlobalScope& context)
+NotificationCenter* WorkerGlobalScopeNotifications::webkitNotifications(WorkerGlobalScope& scope)
 {
-    return WorkerGlobalScopeNotifications::from(&context)->webkitNotifications();
+    return WorkerGlobalScopeNotifications::from(scope)->webkitNotifications();
 }
 
 NotificationCenter* WorkerGlobalScopeNotifications::webkitNotifications()
index 90ba511..bcd6807 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2008, 2009, 2013, 2014, 2015, 2016 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -24,8 +24,7 @@
  *
  */
 
-#ifndef WorkerGlobalScopeNotifications_h
-#define WorkerGlobalScopeNotifications_h
+#pragma once
 
 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
 
@@ -37,13 +36,13 @@ class NotificationCenter;
 class ScriptExecutionContext;
 class WorkerGlobalScope;
 
-class WorkerGlobalScopeNotifications : public Supplement<ScriptExecutionContext> {
+class WorkerGlobalScopeNotifications : public Supplement<WorkerGlobalScope> {
 public:
-    explicit WorkerGlobalScopeNotifications(WorkerGlobalScope*);
+    explicit WorkerGlobalScopeNotifications(WorkerGlobalScope&);
     virtual ~WorkerGlobalScopeNotifications();
 
     static NotificationCenter* webkitNotifications(WorkerGlobalScope&);
-    static WorkerGlobalScopeNotifications* from(WorkerGlobalScope*);
+    static WorkerGlobalScopeNotifications* from(WorkerGlobalScope&);
 
 private:
     NotificationCenter* webkitNotifications();
@@ -56,5 +55,3 @@ private:
 } // namespace WebCore
 
 #endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-
-#endif // WorkerGlobalScopeNotifications_h
index e1e4c3e..1cf4aa7 100644 (file)
@@ -46,7 +46,6 @@ RuntimeEnabledFeatures::RuntimeEnabledFeatures()
     , m_isApplicationCacheEnabled(true)
     , m_isDataTransferItemsEnabled(true)
     , m_isGeolocationEnabled(true)
-    , m_isIndexedDBEnabled(false)
     , m_isTouchEnabled(true)
     , m_isDeviceMotionEnabled(true)
     , m_isDeviceOrientationEnabled(true)
@@ -60,6 +59,12 @@ RuntimeEnabledFeatures::RuntimeEnabledFeatures()
 #else
     , m_isPluginReplacementEnabled(false)
 #endif
+#if ENABLE(INDEXED_DATABASE)
+    , m_isIndexedDBEnabled(false)
+#endif
+#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
+    , m_isIndexedDBWorkersEnabled(false)
+#endif
 #if ENABLE(MEDIA_STREAM)
     , m_isMediaStreamEnabled(true)
 #endif
index d524fce..5d64686 100644 (file)
@@ -29,8 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef RuntimeEnabledFeatures_h
-#define RuntimeEnabledFeatures_h
+#pragma once
 
 #include "PlatformExportMacros.h"
 #include <wtf/NeverDestroyed.h>
@@ -62,9 +61,16 @@ public:
     void setGeolocationEnabled(bool isEnabled) { m_isGeolocationEnabled = isEnabled; }
     bool geolocationEnabled() const { return m_isGeolocationEnabled; }
 
+#if ENABLE(INDEXED_DATABASE)
     void setWebkitIndexedDBEnabled(bool isEnabled) { m_isIndexedDBEnabled = isEnabled; }
     bool webkitIndexedDBEnabled() const { return m_isIndexedDBEnabled; }
     bool indexedDBEnabled() const { return m_isIndexedDBEnabled; }
+#endif
+
+#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
+    void setIndexedDBWorkersEnabled(bool isEnabled) { m_isIndexedDBWorkersEnabled = isEnabled; }
+    bool indexedDBWorkersEnabled() const { return m_isIndexedDBWorkersEnabled; }
+#endif
 
 #if ENABLE(CSS_SHAPES)
     void setCSSShapesEnabled(bool isEnabled) { m_isCSSShapesEnabled = isEnabled; }
@@ -247,7 +253,6 @@ private:
     bool m_isApplicationCacheEnabled;
     bool m_isDataTransferItemsEnabled;
     bool m_isGeolocationEnabled;
-    bool m_isIndexedDBEnabled;
     bool m_isTouchEnabled;
     bool m_isDeviceMotionEnabled;
     bool m_isDeviceOrientationEnabled;
@@ -258,6 +263,14 @@ private:
     bool m_isLangAttributeAwareFormControlUIEnabled;
     bool m_isPluginReplacementEnabled;
 
+#if ENABLE(INDEXED_DATABASE)
+    bool m_isIndexedDBEnabled;
+#endif
+
+#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
+    bool m_isIndexedDBWorkersEnabled;
+#endif
+
 #if ENABLE(JAVASCRIPT_I18N_API)
     bool m_isJavaScriptI18NAPIEnabled;
 #endif
@@ -345,5 +358,3 @@ private:
 };
 
 } // namespace WebCore
-
-#endif // RuntimeEnabledFeatures_h
index 9c59b39..63f106f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016 Apple Inc. All Rights Reserved.
  * Copyright (C) 2012 Google Inc. All Rights Reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,8 +25,7 @@
  *
  */
 
-#ifndef ScriptExecutionContext_h
-#define ScriptExecutionContext_h
+#pragma once
 
 #include "ActiveDOMObject.h"
 #include "DOMTimer.h"
@@ -56,7 +55,7 @@ class PublicURLManager;
 class SecurityOrigin;
 class URL;
 
-class ScriptExecutionContext : public SecurityContext, public Supplementable<ScriptExecutionContext> {
+class ScriptExecutionContext : public SecurityContext {
 public:
     ScriptExecutionContext();
     virtual ~ScriptExecutionContext();
@@ -247,5 +246,3 @@ private:
 };
 
 } // namespace WebCore
-
-#endif // ScriptExecutionContext_h
index ba4fa90..39d36d7 100644 (file)
@@ -103,6 +103,7 @@ InternalSettings::Backup::Backup(Settings& settings)
 #endif
     , m_allowsInlineMediaPlayback(settings.allowsInlineMediaPlayback())
     , m_inlineMediaPlaybackRequiresPlaysInlineAttribute(settings.inlineMediaPlaybackRequiresPlaysInlineAttribute())
+    , m_indexedDBWorkersEnabled(RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled())
 {
 }
 
@@ -170,6 +171,7 @@ void InternalSettings::Backup::restoreTo(Settings& settings)
     settings.setAllowsInlineMediaPlayback(m_allowsInlineMediaPlayback);
     settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute(m_inlineMediaPlaybackRequiresPlaysInlineAttribute);
     RuntimeEnabledFeatures::sharedFeatures().setPluginReplacementEnabled(m_pluginReplacementEnabled);
+    RuntimeEnabledFeatures::sharedFeatures().setIndexedDBWorkersEnabled(m_indexedDBWorkersEnabled);
 }
 
 class InternalSettingsWrapper : public Supplement<Page> {
@@ -540,6 +542,14 @@ void InternalSettings::setInlineMediaPlaybackRequiresPlaysInlineAttribute(bool r
     settings()->setInlineMediaPlaybackRequiresPlaysInlineAttribute(requires);
 }
 
+void InternalSettings::setIndexedDBWorkersEnabled(bool enabled, ExceptionCode&)
+{
+#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
+    RuntimeEnabledFeatures::sharedFeatures().setIndexedDBWorkersEnabled(enabled);
+#endif
+}
+
+
 // If you add to this list, make sure that you update the Backup class for test reproducability!
 
 }
index e717cbb..def69ed 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2012 Google Inc. All rights reserved.
- * Copyright (C) 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2013, 2014, 2015, 2016 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -24,8 +24,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef InternalSettings_h
-#define InternalSettings_h
+#pragma once
 
 // FIXME (121927): This include should not be needed.
 #include <wtf/text/AtomicStringHash.h>
@@ -100,6 +99,7 @@ public:
 #endif
         bool m_allowsInlineMediaPlayback;
         bool m_inlineMediaPlaybackRequiresPlaysInlineAttribute;
+        bool m_indexedDBWorkersEnabled;
     };
 
     static Ref<InternalSettings> create(Page* page)
@@ -147,6 +147,7 @@ public:
     void setScrollingTreeIncludesFrames(bool, ExceptionCode&);
     void setAllowsInlineMediaPlayback(bool, ExceptionCode&);
     void setInlineMediaPlaybackRequiresPlaysInlineAttribute(bool, ExceptionCode&);
+    void setIndexedDBWorkersEnabled(bool, ExceptionCode&);
 
 private:
     explicit InternalSettings(Page*);
@@ -160,5 +161,3 @@ private:
 };
 
 } // namespace WebCore
-
-#endif
index 88323cf..e39e741 100644 (file)
@@ -77,5 +77,7 @@
     [RaisesException] void setMinimumTimerInterval(unrestricted double intervalInSeconds);
     [RaisesException] void setAllowsInlineMediaPlayback(boolean allows);
     [RaisesException] void setInlineMediaPlaybackRequiresPlaysInlineAttribute(boolean requires);
+
+    [RaisesException] void setIndexedDBWorkersEnabled(boolean requires);
 };
 
index 0630c1e..fead64a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -24,8 +24,7 @@
  *
  */
 
-#ifndef WorkerGlobalScope_h
-#define WorkerGlobalScope_h
+#pragma once
 
 #include "EventListener.h"
 #include "EventTarget.h"
@@ -47,139 +46,137 @@ class ConsoleMessage;
 
 namespace WebCore {
 
-    class Blob;
-    class ContentSecurityPolicyResponseHeaders;
-    class ScheduledAction;
-    class WorkerLocation;
-    class WorkerNavigator;
-    class WorkerThread;
+class Blob;
+class ContentSecurityPolicyResponseHeaders;
+class ScheduledAction;
+class WorkerLocation;
+class WorkerNavigator;
+class WorkerThread;
 
-    class WorkerGlobalScope : public RefCounted<WorkerGlobalScope>, public ScriptExecutionContext, public EventTargetWithInlineData {
-    public:
-        virtual ~WorkerGlobalScope();
+class WorkerGlobalScope : public RefCounted<WorkerGlobalScope>, public Supplementable<WorkerGlobalScope>, public ScriptExecutionContext, public EventTargetWithInlineData {
+public:
+    virtual ~WorkerGlobalScope();
 
-        bool isWorkerGlobalScope() const override { return true; }
+    bool isWorkerGlobalScope() const override { return true; }
 
-        ScriptExecutionContext* scriptExecutionContext() const final { return const_cast<WorkerGlobalScope*>(this); }
+    ScriptExecutionContext* scriptExecutionContext() const final { return const_cast<WorkerGlobalScope*>(this); }
 
-        virtual bool isDedicatedWorkerGlobalScope() const { return false; }
+    virtual bool isDedicatedWorkerGlobalScope() const { return false; }
 
-        const URL& url() const final { return m_url; }
-        URL completeURL(const String&) const final;
+    const URL& url() const final { return m_url; }
+    URL completeURL(const String&) const final;
 
-        String userAgent(const URL&) const override;
+    String userAgent(const URL&) const override;
 
-        void disableEval(const String& errorMessage) override;
+    void disableEval(const String& errorMessage) override;
 
-        bool shouldBypassMainWorldContentSecurityPolicy() const final { return m_shouldBypassMainWorldContentSecurityPolicy; }
+    bool shouldBypassMainWorldContentSecurityPolicy() const final { return m_shouldBypassMainWorldContentSecurityPolicy; }
 
-        WorkerScriptController* script() { return m_script.get(); }
-        void clearScript() { m_script = nullptr; }
+    WorkerScriptController* script() { return m_script.get(); }
+    void clearScript() { m_script = nullptr; }
 
-        WorkerThread& thread() const { return m_thread; }
+    WorkerThread& thread() const { return m_thread; }
 
-        using ScriptExecutionContext::hasPendingActivity;
+    using ScriptExecutionContext::hasPendingActivity;
 
-        void postTask(Task) override; // Executes the task on context's thread asynchronously.
+    void postTask(Task) override; // Executes the task on context's thread asynchronously.
 
-        // WorkerGlobalScope
-        WorkerGlobalScope* self() { return this; }
-        WorkerLocation* location() const;
-        void close();
+    // WorkerGlobalScope
+    WorkerGlobalScope* self() { return this; }
+    WorkerLocation* location() const;
+    void close();
 
-        // WorkerUtils
-        virtual void importScripts(const Vector<String>& urls, ExceptionCode&);
-        WorkerNavigator* navigator() const;
+    // WorkerUtils
+    virtual void importScripts(const Vector<String>& urls, ExceptionCode&);
+    WorkerNavigator* navigator() const;
 
-        // Timers
-        int setTimeout(std::unique_ptr<ScheduledAction>, int timeout);
-        void clearTimeout(int timeoutId);
-        int setInterval(std::unique_ptr<ScheduledAction>, int timeout);
-        void clearInterval(int timeoutId);
+    // Timers
+    int setTimeout(std::unique_ptr<ScheduledAction>, int timeout);
+    void clearTimeout(int timeoutId);
+    int setInterval(std::unique_ptr<ScheduledAction>, int timeout);
+    void clearInterval(int timeoutId);
 
-        bool isContextThread() const override;
-        bool isJSExecutionForbidden() const override;
+    bool isContextThread() const override;
+    bool isJSExecutionForbidden() const override;
 
-        // These methods are used for GC marking. See JSWorkerGlobalScope::visitChildrenVirtual(SlotVisitor&) in
-        // JSWorkerGlobalScopeCustom.cpp.
-        WorkerNavigator* optionalNavigator() const { return m_navigator.get(); }
-        WorkerLocation* optionalLocation() const { return m_location.get(); }
+    // These methods are used for GC marking. See JSWorkerGlobalScope::visitChildrenVirtual(SlotVisitor&) in
+    // JSWorkerGlobalScopeCustom.cpp.
+    WorkerNavigator* optionalNavigator() const { return m_navigator.get(); }
+    WorkerLocation* optionalLocation() const { return m_location.get(); }
 
-        using RefCounted<WorkerGlobalScope>::ref;
-        using RefCounted<WorkerGlobalScope>::deref;
+    using RefCounted<WorkerGlobalScope>::ref;
+    using RefCounted<WorkerGlobalScope>::deref;
 
-        bool isClosing() { return m_closing; }
+    bool isClosing() { return m_closing; }
 
-        // An observer interface to be notified when the worker thread is getting stopped.
-        class Observer {
-            WTF_MAKE_NONCOPYABLE(Observer);
-        public:
-            Observer(WorkerGlobalScope*);
-            virtual ~Observer();
-            virtual void notifyStop() = 0;
-            void stopObserving();
-        private:
-            WorkerGlobalScope* m_context;
-        };
-        friend class Observer;
-        void registerObserver(Observer*);
-        void unregisterObserver(Observer*);
-        void notifyObserversOfStop();
+    // An observer interface to be notified when the worker thread is getting stopped.
+    class Observer {
+        WTF_MAKE_NONCOPYABLE(Observer);
+    public:
+        Observer(WorkerGlobalScope*);
+        virtual ~Observer();
+        virtual void notifyStop() = 0;
+        void stopObserving();
+    private:
+        WorkerGlobalScope* m_context;
+    };
+    friend class Observer;
+    void registerObserver(Observer*);
+    void unregisterObserver(Observer*);
+    void notifyObserversOfStop();
 
-        SecurityOrigin* topOrigin() const override { return m_topOrigin.get(); }
+    SecurityOrigin* topOrigin() const override { return m_topOrigin.get(); }
 
-        void addConsoleMessage(std::unique_ptr<Inspector::ConsoleMessage>);
-        void addConsoleMessage(MessageSource, MessageLevel, const String& message, unsigned long requestIdentifier = 0) override;
+    void addConsoleMessage(std::unique_ptr<Inspector::ConsoleMessage>);
+    void addConsoleMessage(MessageSource, MessageLevel, const String& message, unsigned long requestIdentifier = 0) override;
 
 #if ENABLE(SUBTLE_CRYPTO)
-        bool wrapCryptoKey(const Vector<uint8_t>& key, Vector<uint8_t>& wrappedKey) override;
-        bool unwrapCryptoKey(const Vector<uint8_t>& wrappedKey, Vector<uint8_t>& key) override;
+    bool wrapCryptoKey(const Vector<uint8_t>& key, Vector<uint8_t>& wrappedKey) override;
+    bool unwrapCryptoKey(const Vector<uint8_t>& wrappedKey, Vector<uint8_t>& key) override;
 #endif
 
-    protected:
-        WorkerGlobalScope(const URL&, const String& userAgent, WorkerThread&, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin);
-        void applyContentSecurityPolicyResponseHeaders(const ContentSecurityPolicyResponseHeaders&);
+protected:
+    WorkerGlobalScope(const URL&, const String& userAgent, WorkerThread&, bool shouldBypassMainWorldContentSecurityPolicy, PassRefPtr<SecurityOrigin> topOrigin);
+    void applyContentSecurityPolicyResponseHeaders(const ContentSecurityPolicyResponseHeaders&);
 
-        void logExceptionToConsole(const String& errorMessage, const String& sourceURL, int lineNumber, int columnNumber, RefPtr<Inspector::ScriptCallStack>&&) override;
-        void addMessageToWorkerConsole(std::unique_ptr<Inspector::ConsoleMessage>);
-        void addMessageToWorkerConsole(MessageSource, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, unsigned columnNumber, RefPtr<Inspector::ScriptCallStack>&&, JSC::ExecState* = 0, unsigned long requestIdentifier = 0);
+    void logExceptionToConsole(const String& errorMessage, const String& sourceURL, int lineNumber, int columnNumber, RefPtr<Inspector::ScriptCallStack>&&) override;
+    void addMessageToWorkerConsole(std::unique_ptr<Inspector::ConsoleMessage>);
+    void addMessageToWorkerConsole(MessageSource, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, unsigned columnNumber, RefPtr<Inspector::ScriptCallStack>&&, JSC::ExecState* = 0, unsigned long requestIdentifier = 0);
 
-    private:
-        void refScriptExecutionContext() override { ref(); }
-        void derefScriptExecutionContext() override { deref(); }
+private:
+    void refScriptExecutionContext() override { ref(); }
+    void derefScriptExecutionContext() override { deref(); }
 
-        void refEventTarget() final { ref(); }
-        void derefEventTarget() final { deref(); }
+    void refEventTarget() final { ref(); }
+    void derefEventTarget() final { deref(); }
 
-        void addMessage(MessageSource, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, unsigned columnNumber, RefPtr<Inspector::ScriptCallStack>&&, JSC::ExecState* = 0, unsigned long requestIdentifier = 0) override;
+    void addMessage(MessageSource, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, unsigned columnNumber, RefPtr<Inspector::ScriptCallStack>&&, JSC::ExecState* = 0, unsigned long requestIdentifier = 0) override;
 
-        EventTarget* errorEventTarget() override;
+    EventTarget* errorEventTarget() override;
 
-        WorkerEventQueue& eventQueue() const final;
+    WorkerEventQueue& eventQueue() const final;
 
-        URL m_url;
-        String m_userAgent;
+    URL m_url;
+    String m_userAgent;
 
-        mutable RefPtr<WorkerLocation> m_location;
-        mutable RefPtr<WorkerNavigator> m_navigator;
+    mutable RefPtr<WorkerLocation> m_location;
+    mutable RefPtr<WorkerNavigator> m_navigator;
 
-        std::unique_ptr<WorkerScriptController> m_script;
-        WorkerThread& m_thread;
+    std::unique_ptr<WorkerScriptController> m_script;
+    WorkerThread& m_thread;
 
-        bool m_closing;
-        bool m_shouldBypassMainWorldContentSecurityPolicy;
+    bool m_closing;
+    bool m_shouldBypassMainWorldContentSecurityPolicy;
 
-        HashSet<Observer*> m_workerObservers;
+    HashSet<Observer*> m_workerObservers;
 
-        mutable WorkerEventQueue m_eventQueue;
+    mutable WorkerEventQueue m_eventQueue;
 
-        RefPtr<SecurityOrigin> m_topOrigin;
-    };
+    RefPtr<SecurityOrigin> m_topOrigin;
+};
 
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::WorkerGlobalScope)
     static bool isType(const WebCore::ScriptExecutionContext& context) { return context.isWorkerGlobalScope(); }
 SPECIALIZE_TYPE_TRAITS_END()
-
-#endif // WorkerGlobalScope_h
index 51cacba..e39055c 100644 (file)
@@ -1,3 +1,12 @@
+2016-04-20  Brady Eidson  <beidson@apple.com>
+
+        Modern IDB (Workers): Enable INDEXED_DATABASE_IN_WORKERS compile time flag, but disabled in RuntimeEnabledFeatures.
+        https://bugs.webkit.org/show_bug.cgi?id=156782
+
+        Reviewed by Alex Christensen.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2016-04-18  Anders Carlsson  <andersca@apple.com>
 
         Fix build with newer versions of clang.
index a5ea1f4..835c822 100644 (file)
@@ -77,7 +77,7 @@ ENABLE_GEOLOCATION = ENABLE_GEOLOCATION;
 ENABLE_ICONDATABASE[sdk=macosx*] = ENABLE_ICONDATABASE;
 ENABLE_SERVICE_CONTROLS[sdk=macosx*] = ENABLE_SERVICE_CONTROLS;
 ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE;
-ENABLE_INDEXED_DATABASE_IN_WORKERS = ;
+ENABLE_INDEXED_DATABASE_IN_WORKERS = ENABLE_INDEXED_DATABASE_IN_WORKERS;
 ENABLE_INDIE_UI = ENABLE_INDIE_UI;
 ENABLE_INPUT_TYPE_COLOR[sdk=macosx*] = ENABLE_INPUT_TYPE_COLOR;
 ENABLE_INPUT_TYPE_COLOR_POPOVER[sdk=macosx*] = ENABLE_INPUT_TYPE_COLOR_POPOVER;
index 9023e1b..200018d 100644 (file)
@@ -1,3 +1,12 @@
+2016-04-20  Brady Eidson  <beidson@apple.com>
+
+        Modern IDB (Workers): Enable INDEXED_DATABASE_IN_WORKERS compile time flag, but disabled in RuntimeEnabledFeatures.
+        https://bugs.webkit.org/show_bug.cgi?id=156782
+
+        Reviewed by Alex Christensen.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2016-04-20  Brent Fulgham  <bfulgham@apple.com>
 
         [WK2][Mac][iOS] WebContent crash when using special file:// URI scheme @ WebKit::resolveSymlinksInPath(WTF::CString const&) + 159
index a5ea1f4..835c822 100644 (file)
@@ -77,7 +77,7 @@ ENABLE_GEOLOCATION = ENABLE_GEOLOCATION;
 ENABLE_ICONDATABASE[sdk=macosx*] = ENABLE_ICONDATABASE;
 ENABLE_SERVICE_CONTROLS[sdk=macosx*] = ENABLE_SERVICE_CONTROLS;
 ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE;
-ENABLE_INDEXED_DATABASE_IN_WORKERS = ;
+ENABLE_INDEXED_DATABASE_IN_WORKERS = ENABLE_INDEXED_DATABASE_IN_WORKERS;
 ENABLE_INDIE_UI = ENABLE_INDIE_UI;
 ENABLE_INPUT_TYPE_COLOR[sdk=macosx*] = ENABLE_INPUT_TYPE_COLOR;
 ENABLE_INPUT_TYPE_COLOR_POPOVER[sdk=macosx*] = ENABLE_INPUT_TYPE_COLOR_POPOVER;
index 9571d25..019521b 100644 (file)
@@ -1,3 +1,12 @@
+2016-04-20  Brady Eidson  <beidson@apple.com>
+
+        Modern IDB (Workers): Enable INDEXED_DATABASE_IN_WORKERS compile time flag, but disabled in RuntimeEnabledFeatures.
+        https://bugs.webkit.org/show_bug.cgi?id=156782
+
+        Reviewed by Alex Christensen.
+
+        * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
+
 2016-04-19  Brent Fulgham  <bfulgham@apple.com>
 
         Unreviewed build fix after r199752.
index a5ea1f4..835c822 100644 (file)
@@ -77,7 +77,7 @@ ENABLE_GEOLOCATION = ENABLE_GEOLOCATION;
 ENABLE_ICONDATABASE[sdk=macosx*] = ENABLE_ICONDATABASE;
 ENABLE_SERVICE_CONTROLS[sdk=macosx*] = ENABLE_SERVICE_CONTROLS;
 ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE;
-ENABLE_INDEXED_DATABASE_IN_WORKERS = ;
+ENABLE_INDEXED_DATABASE_IN_WORKERS = ENABLE_INDEXED_DATABASE_IN_WORKERS;
 ENABLE_INDIE_UI = ENABLE_INDIE_UI;
 ENABLE_INPUT_TYPE_COLOR[sdk=macosx*] = ENABLE_INPUT_TYPE_COLOR;
 ENABLE_INPUT_TYPE_COLOR_POPOVER[sdk=macosx*] = ENABLE_INPUT_TYPE_COLOR_POPOVER;