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 16namespace { 17 18// How long do we wait before we consider a window hung (in ms). 19const int kDefaultPluginMessageResponseTimeout = 25000; 20 21// How frequently we check for hung plugin windows. 22const 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. 27const char kTabStripLayoutType[] = "tab_strip_layout_type"; 28 29} // namespace 30 31namespace chrome { 32 33void 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 42void 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 55void 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