Home | History | Annotate | Download | only in ui
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/browser/ui/browser_view_prefs.h"
      6 
      7 #include "base/prefs/pref_registry_simple.h"
      8 #include "base/prefs/pref_service.h"
      9 #include "chrome/common/pref_names.h"
     10 #include "components/pref_registry/pref_registry_syncable.h"
     11 
     12 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
     13 #include "ui/base/x/x11_util.h"
     14 #endif
     15 
     16 namespace {
     17 
     18 // How long do we wait before we consider a window hung (in ms).
     19 const int kDefaultPluginMessageResponseTimeout = 25000;
     20 
     21 // How frequently we check for hung plugin windows.
     22 const int kDefaultHungPluginDetectFrequency = 2000;
     23 
     24 // DEPRECATED: this is replaced by kTabStripStackedLayout and exists for
     25 // backwards compatibility.
     26 // Old values: 0 = SHRINK (default), 1 = STACKED.
     27 const char kTabStripLayoutType[] = "tab_strip_layout_type";
     28 
     29 }  // namespace
     30 
     31 namespace chrome {
     32 
     33 void RegisterBrowserViewLocalPrefs(PrefRegistrySimple* registry) {
     34   registry->RegisterIntegerPref(prefs::kPluginMessageResponseTimeout,
     35                                 kDefaultPluginMessageResponseTimeout);
     36   registry->RegisterIntegerPref(prefs::kHungPluginDetectFrequency,
     37                                 kDefaultHungPluginDetectFrequency);
     38   registry->RegisterIntegerPref(kTabStripLayoutType, 0);
     39   registry->RegisterBooleanPref(prefs::kTabStripStackedLayout, false);
     40 }
     41 
     42 void RegisterBrowserViewProfilePrefs(
     43     user_prefs::PrefRegistrySyncable* registry) {
     44   bool custom_frame_default = false;
     45 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
     46   custom_frame_default = ui::GetCustomFramePrefDefault();
     47 #endif
     48 
     49   registry->RegisterBooleanPref(
     50       prefs::kUseCustomChromeFrame,
     51       custom_frame_default,
     52       user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
     53 }
     54 
     55 void MigrateBrowserTabStripPrefs(PrefService* prefs) {
     56   if (prefs->HasPrefPath(kTabStripLayoutType)) {
     57     prefs->SetBoolean(prefs::kTabStripStackedLayout,
     58                       prefs->GetInteger(kTabStripLayoutType) != 0);
     59     prefs->ClearPref(kTabStripLayoutType);
     60   }
     61 }
     62 
     63 }  // namespace chrome
     64