Fix emulator build error
[platform/framework/web/chromium-efl.git] / components / prefs / pref_value_store.cc
index 0db795a..f5b4501 100644 (file)
@@ -1,12 +1,14 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2012 The Chromium Authors
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
 #include "components/prefs/pref_value_store.h"
 
 #include <stddef.h>
+#include <string>
 
 #include "base/logging.h"
+#include "base/strings/string_piece.h"
 #include "components/prefs/pref_notifier.h"
 #include "components/prefs/pref_observer.h"
 
@@ -49,29 +51,23 @@ void PrefValueStore::PrefStoreKeeper::OnInitializationCompleted(
 PrefValueStore::PrefValueStore(PrefStore* managed_prefs,
                                PrefStore* supervised_user_prefs,
                                PrefStore* extension_prefs,
+                               PrefStore* standalone_browser_prefs,
                                PrefStore* command_line_prefs,
                                PrefStore* user_prefs,
                                PrefStore* recommended_prefs,
                                PrefStore* default_prefs,
-                               PrefNotifier* pref_notifier,
-                               std::unique_ptr<Delegate> delegate)
-    : pref_notifier_(pref_notifier),
-      initialization_failed_(false),
-      delegate_(std::move(delegate)) {
+                               PrefNotifier* pref_notifier)
+    : pref_notifier_(pref_notifier), initialization_failed_(false) {
   InitPrefStore(MANAGED_STORE, managed_prefs);
   InitPrefStore(SUPERVISED_USER_STORE, supervised_user_prefs);
   InitPrefStore(EXTENSION_STORE, extension_prefs);
+  InitPrefStore(STANDALONE_BROWSER_STORE, standalone_browser_prefs);
   InitPrefStore(COMMAND_LINE_STORE, command_line_prefs);
   InitPrefStore(USER_STORE, user_prefs);
   InitPrefStore(RECOMMENDED_STORE, recommended_prefs);
   InitPrefStore(DEFAULT_STORE, default_prefs);
 
   CheckInitializationCompleted();
-  if (delegate_) {
-    delegate_->Init(managed_prefs, supervised_user_prefs, extension_prefs,
-                    command_line_prefs, user_prefs, recommended_prefs,
-                    default_prefs, pref_notifier);
-  }
 }
 
 PrefValueStore::~PrefValueStore() {}
@@ -80,12 +76,12 @@ std::unique_ptr<PrefValueStore> PrefValueStore::CloneAndSpecialize(
     PrefStore* managed_prefs,
     PrefStore* supervised_user_prefs,
     PrefStore* extension_prefs,
+    PrefStore* standalone_browser_prefs,
     PrefStore* command_line_prefs,
     PrefStore* user_prefs,
     PrefStore* recommended_prefs,
     PrefStore* default_prefs,
-    PrefNotifier* pref_notifier,
-    std::unique_ptr<Delegate> delegate) {
+    PrefNotifier* pref_notifier) {
   DCHECK(pref_notifier);
   if (!managed_prefs)
     managed_prefs = GetPrefStore(MANAGED_STORE);
@@ -93,6 +89,8 @@ std::unique_ptr<PrefValueStore> PrefValueStore::CloneAndSpecialize(
     supervised_user_prefs = GetPrefStore(SUPERVISED_USER_STORE);
   if (!extension_prefs)
     extension_prefs = GetPrefStore(EXTENSION_STORE);
+  if (!standalone_browser_prefs)
+    standalone_browser_prefs = GetPrefStore(STANDALONE_BROWSER_STORE);
   if (!command_line_prefs)
     command_line_prefs = GetPrefStore(COMMAND_LINE_STORE);
   if (!user_prefs)
@@ -103,16 +101,22 @@ std::unique_ptr<PrefValueStore> PrefValueStore::CloneAndSpecialize(
     default_prefs = GetPrefStore(DEFAULT_STORE);
 
   return std::make_unique<PrefValueStore>(
-      managed_prefs, supervised_user_prefs, extension_prefs, command_line_prefs,
-      user_prefs, recommended_prefs, default_prefs, pref_notifier,
-      std::move(delegate));
+      managed_prefs, supervised_user_prefs, extension_prefs,
+      standalone_browser_prefs, command_line_prefs, user_prefs,
+      recommended_prefs, default_prefs, pref_notifier);
 }
 
-void PrefValueStore::set_callback(const PrefChangedCallback& callback) {
-  pref_changed_callback_ = callback;
+PrefValueStore::PrefStoreType PrefValueStore::ControllingPrefStoreForPref(
+    const std::string& name) const {
+  for (size_t i = 0; i <= PREF_STORE_TYPE_MAX; ++i) {
+    if (PrefValueInStore(name, static_cast<PrefStoreType>(i))) {
+      return static_cast<PrefStoreType>(i);
+    }
+  }
+  return INVALID_STORE;
 }
 
-bool PrefValueStore::GetValue(const std::string& name,
+bool PrefValueStore::GetValue(base::StringPiece name,
                               base::Value::Type type,
                               const base::Value** out_value) const {
   // Check the |PrefStore|s in order of their priority from highest to lowest,
@@ -139,8 +143,6 @@ void PrefValueStore::NotifyPrefChanged(
   // store is currently being overridden by a higher-priority store, the
   // effective value of the pref will not have changed.
   pref_notifier_->OnPreferenceChanged(path);
-  if (!pref_changed_callback_.is_null())
-    pref_changed_callback_.Run(path);
 }
 
 bool PrefValueStore::PrefValueInManagedStore(const std::string& name) const {
@@ -173,6 +175,11 @@ bool PrefValueStore::PrefValueFromRecommendedStore(
   return ControllingPrefStoreForPref(name) == RECOMMENDED_STORE;
 }
 
+bool PrefValueStore::PrefValueFromStandaloneBrowserStore(
+    const std::string& name) const {
+  return ControllingPrefStoreForPref(name) == STANDALONE_BROWSER_STORE;
+}
+
 bool PrefValueStore::PrefValueFromDefaultStore(const std::string& name) const {
   return ControllingPrefStoreForPref(name) == DEFAULT_STORE;
 }
@@ -190,17 +197,23 @@ bool PrefValueStore::PrefValueExtensionModifiable(
          effective_store == INVALID_STORE;
 }
 
+bool PrefValueStore::PrefValueStandaloneBrowserModifiable(
+    const std::string& name) const {
+  PrefStoreType effective_store = ControllingPrefStoreForPref(name);
+  return effective_store >= STANDALONE_BROWSER_STORE ||
+         effective_store == INVALID_STORE;
+}
+
 void PrefValueStore::UpdateCommandLinePrefStore(PrefStore* command_line_prefs) {
   InitPrefStore(COMMAND_LINE_STORE, command_line_prefs);
-  if (delegate_)
-    delegate_->UpdateCommandLinePrefStore(command_line_prefs);
 }
 
 bool PrefValueStore::IsInitializationComplete() const {
   for (size_t i = 0; i <= PREF_STORE_TYPE_MAX; ++i) {
     const PrefStore* pref_store = GetPrefStore(static_cast<PrefStoreType>(i));
-    if (pref_store && !pref_store->IsInitializationComplete())
+    if (pref_store && !pref_store->IsInitializationComplete()) {
       return false;
+    }
   }
   return true;
 }
@@ -231,16 +244,7 @@ bool PrefValueStore::PrefValueInStoreRange(
   return false;
 }
 
-PrefValueStore::PrefStoreType PrefValueStore::ControllingPrefStoreForPref(
-    const std::string& name) const {
-  for (size_t i = 0; i <= PREF_STORE_TYPE_MAX; ++i) {
-    if (PrefValueInStore(name, static_cast<PrefStoreType>(i)))
-      return static_cast<PrefStoreType>(i);
-  }
-  return INVALID_STORE;
-}
-
-bool PrefValueStore::GetValueFromStore(const std::string& name,
+bool PrefValueStore::GetValueFromStore(base::StringPiece name,
                                        PrefValueStore::PrefStoreType store_type,
                                        const base::Value** out_value) const {
   // Only return true if we find a value and it is the correct type, so stale
@@ -256,7 +260,7 @@ bool PrefValueStore::GetValueFromStore(const std::string& name,
 }
 
 bool PrefValueStore::GetValueFromStoreWithType(
-    const std::string& name,
+    base::StringPiece name,
     base::Value::Type type,
     PrefStoreType store,
     const base::Value** out_value) const {