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// Defines various defaults whose values varies depending upon the OS.
6
7#ifndef CHROME_BROWSER_DEFAULTS_H_
8#define CHROME_BROWSER_DEFAULTS_H_
9
10#include "build/build_config.h"
11#include "chrome/browser/prefs/session_startup_pref.h"
12#include "ui/base/resource/resource_bundle.h"
13
14namespace browser_defaults {
15
16#if defined(USE_X11)
17
18// Can the user toggle the system title bar?
19extern const bool kCanToggleSystemTitleBar;
20
21#endif
22
23// Size of the font used in the omnibox, in pixels.
24extern const int kOmniboxFontPixelSize;
25
26// Width of mini-tabs.  Inline because other constants are computed depending
27// on this, which causes static initializers if the value isn't available in
28// all translation units that do this.
29#if defined(TOOLKIT_VIEWS)
30// Windows and Chrome OS have bigger shadows in the tab art.
31const int kMiniTabWidth = 64;
32#else
33const int kMiniTabWidth = 56;
34#endif
35
36// Can the browser be alive without any browser windows?
37extern const bool kBrowserAliveWithNoWindows;
38
39// Whether various menu items are shown.
40extern const bool kShowExitMenuItem;
41extern const bool kShowHelpMenuItemIcon;
42extern const bool kShowUpgradeMenuItem;
43
44// Should a link be shown on the bookmark bar allowing the user to import
45// bookmarks?
46extern const bool kShowImportOnBookmarkBar;
47
48// Should always open incognito windows when started with --incognito switch?
49extern const bool kAlwaysOpenIncognitoWindow;
50
51// Indicates whether session restore should always create a new
52// tabbed browser. This is true every where except on ChromeOS
53// where we want the desktop to show through in this situation.
54extern const bool kAlwaysCreateTabbedBrowserOnSessionRestore;
55
56// Does the download page have the show in folder option?
57extern const bool kDownloadPageHasShowInFolder;
58
59// Should the tab strip be sized to the top of the tab strip?
60extern const bool kSizeTabButtonToTopOfTabStrip;
61
62// If true, we want to automatically start sync signin whenever we have
63// credentials (user doesn't need to go through the startup flow). This is
64// typically enabled on platforms (like ChromeOS) that have their own
65// distinct signin flow.
66extern const bool kSyncAutoStarts;
67
68// Should other browsers be shown in about:memory page?
69extern const bool kShowOtherBrowsersInAboutMemory;
70
71// Should scroll events on the tabstrip change tabs?
72extern const bool kScrollEventChangesTab;
73
74// ChromiumOS network menu font
75extern const ui::ResourceBundle::FontStyle kAssociatedNetworkFontStyle;
76
77// Last character display for passwords.
78extern const bool kPasswordEchoEnabled;
79
80//=============================================================================
81// Runtime "const" - set only once after parsing command line option and should
82// never be modified after that.
83
84// Are bookmark enabled? True by default.
85extern bool bookmarks_enabled;
86
87// Whether HelpApp is enabled. True by default. This is only used by Chrome OS
88// today.
89extern bool enable_help_app;
90
91}  // namespace browser_defaults
92
93#endif  // CHROME_BROWSER_DEFAULTS_H_
94