summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/WebPreferences.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/WebPreferences.h')
-rw-r--r--Source/WebKit2/UIProcess/WebPreferences.h65
1 files changed, 36 insertions, 29 deletions
diff --git a/Source/WebKit2/UIProcess/WebPreferences.h b/Source/WebKit2/UIProcess/WebPreferences.h
index 725d6113d..54435b87a 100644
--- a/Source/WebKit2/UIProcess/WebPreferences.h
+++ b/Source/WebKit2/UIProcess/WebPreferences.h
@@ -26,68 +26,62 @@
#ifndef WebPreferences_h
#define WebPreferences_h
+#include "APIExperimentalFeature.h"
#include "APIObject.h"
#include "FontSmoothingLevel.h"
+#include "WebPreferencesDefinitions.h"
#include "WebPreferencesStore.h"
#include <wtf/HashSet.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
-#define DECLARE_PREFERENCE_GETTER_AND_SETTERS(KeyUpper, KeyLower, TypeName, Type, DefaultValue) \
+#define DECLARE_PREFERENCE_GETTER_AND_SETTERS(KeyUpper, KeyLower, TypeName, Type, DefaultValue, HumanReadableName, HumanReadableDescription) \
void set##KeyUpper(const Type& value); \
Type KeyLower() const;
namespace WebKit {
-class WebPageGroup;
+class WebPageProxy;
class WebPreferences : public API::ObjectImpl<API::Object::Type::Preferences> {
public:
- static PassRefPtr<WebPreferences> create()
- {
- return adoptRef(new WebPreferences);
- }
- static PassRefPtr<WebPreferences> create(const String& identifier)
- {
- return adoptRef(new WebPreferences(identifier));
- }
-
- static PassRefPtr<WebPreferences> create(const WebPreferences& other)
- {
- return adoptRef(new WebPreferences(other));
- }
+ static Ref<WebPreferences> create(const String& identifier, const String& keyPrefix, const String& globalDebugKeyPrefix);
+ static PassRefPtr<WebPreferences> createWithLegacyDefaults(const String& identifier, const String& keyPrefix, const String& globalDebugKeyPrefix);
+
+ explicit WebPreferences(const String& identifier, const String& keyPrefix, const String& globalDebugKeyPrefix);
+ WebPreferences(const WebPreferences&);
virtual ~WebPreferences();
- void addPageGroup(WebPageGroup*);
- void removePageGroup(WebPageGroup*);
+ PassRefPtr<WebPreferences> copy() const;
- const WebPreferencesStore& store() const { return m_store; }
+ void addPage(WebPageProxy&);
+ void removePage(WebPageProxy&);
-#define DECLARE_PREFERENCE_GETTER_AND_SETTERS(KeyUpper, KeyLower, TypeName, Type, DefaultValue) \
- void set##KeyUpper(const Type& value); \
- Type KeyLower() const; \
+ const WebPreferencesStore& store() const { return m_store; }
FOR_EACH_WEBKIT_PREFERENCE(DECLARE_PREFERENCE_GETTER_AND_SETTERS)
+ FOR_EACH_WEBKIT_DEBUG_PREFERENCE(DECLARE_PREFERENCE_GETTER_AND_SETTERS)
+ FOR_EACH_WEBKIT_EXPERIMENTAL_FEATURE_PREFERENCE(DECLARE_PREFERENCE_GETTER_AND_SETTERS)
-#undef DECLARE_PREFERENCE_GETTER_AND_SETTERS
+ static const Vector<RefPtr<API::Object>>& experimentalFeatures();
+ bool isEnabledForFeature(const API::ExperimentalFeature&) const;
+ void setEnabledForFeature(bool, const API::ExperimentalFeature&);
+ void enableAllExperimentalFeatures();
// Exposed for WebKitTestRunner use only.
void forceUpdate() { update(); }
- static bool anyPageGroupsAreUsingPrivateBrowsing();
+ static bool anyPagesAreUsingPrivateBrowsing();
private:
- WebPreferences();
- explicit WebPreferences(const String&);
- WebPreferences(const WebPreferences&);
-
void platformInitializeStore();
void update();
void updateStringValueForKey(const String& key, const String& value);
void updateBoolValueForKey(const String& key, bool value);
+ void updateBoolValueForExperimentalFeatureKey(const String& key, bool value);
void updateUInt32ValueForKey(const String& key, uint32_t value);
void updateDoubleValueForKey(const String& key, double value);
void updateFloatValueForKey(const String& key, float value);
@@ -99,9 +93,22 @@ private:
void updatePrivateBrowsingValue(bool value);
- HashSet<WebPageGroup*> m_pageGroups;
+ void setPeerConnectionAndMediaStreamEnabled(bool value);
+
+ void registerDefaultBoolValueForKey(const String&, bool);
+ void registerDefaultUInt32ValueForKey(const String&, uint32_t);
+
+ bool platformGetStringUserValueForKey(const String& key, String& userValue);
+ bool platformGetBoolUserValueForKey(const String&, bool&);
+ bool platformGetUInt32UserValueForKey(const String&, uint32_t&);
+ bool platformGetDoubleUserValueForKey(const String&, double&);
+
+ const String m_identifier;
+ const String m_keyPrefix;
+ const String m_globalDebugKeyPrefix;
WebPreferencesStore m_store;
- String m_identifier;
+
+ HashSet<WebPageProxy*> m_pages;
};
} // namespace WebKit