diff options
-rw-r--r-- | chrome/browser/about_flags.cc (renamed from chrome/browser/labs.cc) | 42 | ||||
-rw-r--r-- | chrome/browser/about_flags.h (renamed from chrome/browser/labs.h) | 21 | ||||
-rw-r--r-- | chrome/browser/browser_about_handler.cc | 8 | ||||
-rw-r--r-- | chrome/browser/browser_main.cc | 4 | ||||
-rw-r--r-- | chrome/browser/dom_ui/dom_ui_factory.cc | 12 | ||||
-rw-r--r-- | chrome/browser/dom_ui/flags_ui.cc (renamed from chrome/browser/dom_ui/labs_ui.cc) | 75 | ||||
-rw-r--r-- | chrome/browser/dom_ui/flags_ui.h (renamed from chrome/browser/dom_ui/labs_ui.h) | 12 | ||||
-rw-r--r-- | chrome/browser/prefs/browser_prefs.cc | 8 | ||||
-rw-r--r-- | chrome/browser/profile_impl.cc | 4 | ||||
-rw-r--r-- | chrome/browser/resources/flags.html | 8 | ||||
-rw-r--r-- | chrome/chrome_browser.gypi | 8 | ||||
-rw-r--r-- | chrome/common/chrome_switches.cc | 12 | ||||
-rw-r--r-- | chrome/common/chrome_switches.h | 2 |
13 files changed, 107 insertions, 109 deletions
diff --git a/chrome/browser/labs.cc b/chrome/browser/about_flags.cc index d9fb7c5..7824dee 100644 --- a/chrome/browser/labs.cc +++ b/chrome/browser/about_flags.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/labs.h" +#include "chrome/browser/about_flags.h" #include <algorithm> #include <iterator> @@ -17,7 +17,7 @@ #include "chrome/common/pref_names.h" #include "grit/generated_resources.h" -namespace about_labs { +namespace about_flags { enum { kOsMac = 1 << 0, kOsWin = 1 << 1, kOsLinux = 1 << 2 }; @@ -26,7 +26,7 @@ unsigned kOsAll = kOsMac | kOsWin | kOsLinux; struct Experiment { // The internal name of the experiment. This is never shown to the user. // It _is_ however stored in the prefs file, so you shouldn't change the - // name of existing labs. + // name of existing flags. const char* internal_name; // String id of the message containing the experiment's name. @@ -131,7 +131,7 @@ const Experiment kExperiments[] = { kOsMac, switches::kEnableMatchPreview }, - // FIXME(scheib): Add Labs entry for accelerated Compositing, + // FIXME(scheib): Add Flags entry for accelerated Compositing, // or pull it and the strings in generated_resources.grd by Dec 2010 //{ // "gpu-compositing", // Do not change; see above @@ -147,7 +147,7 @@ const Experiment kExperiments[] = { kOsWin | kOsLinux, switches::kEnableAccelerated2dCanvas }, - // FIXME(scheib): Add Labs entry for WebGL, + // FIXME(scheib): Add Flags entry for WebGL, // or pull it and the strings in generated_resources.grd by Dec 2010 //{ // "webgl", // Do not change; see above @@ -167,7 +167,7 @@ const Experiment kExperiments[] = { // Extracts the list of enabled lab experiments from preferences and stores them // in a set. -void GetEnabledLabs(const PrefService* prefs, std::set<std::string>* result) { +void GetEnabledFlags(const PrefService* prefs, std::set<std::string>* result) { const ListValue* enabled_experiments = prefs->GetList( prefs::kEnabledLabsExperiments); if (!enabled_experiments) @@ -186,7 +186,7 @@ void GetEnabledLabs(const PrefService* prefs, std::set<std::string>* result) { } // Takes a set of enabled lab experiments -void SetEnabledLabs( +void SetEnabledFlags( PrefService* prefs, const std::set<std::string>& enabled_experiments) { ListValue* experiments_list = prefs->GetMutableList( prefs::kEnabledLabsExperiments); @@ -210,7 +210,7 @@ void SanitizeList(PrefService* prefs) { known_experiments.insert(kExperiments[i].internal_name); std::set<std::string> enabled_experiments; - GetEnabledLabs(prefs, &enabled_experiments); + GetEnabledFlags(prefs, &enabled_experiments); std::set<std::string> new_enabled_experiments; std::set_intersection( @@ -218,13 +218,13 @@ void SanitizeList(PrefService* prefs) { enabled_experiments.begin(), enabled_experiments.end(), std::inserter(new_enabled_experiments, new_enabled_experiments.begin())); - SetEnabledLabs(prefs, new_enabled_experiments); + SetEnabledFlags(prefs, new_enabled_experiments); } -void GetSanitizedEnabledLabs( +void GetSanitizedEnabledFlags( PrefService* prefs, std::set<std::string>* result) { SanitizeList(prefs); - GetEnabledLabs(prefs, result); + GetEnabledFlags(prefs, result); } int GetCurrentPlatform() { @@ -241,24 +241,22 @@ int GetCurrentPlatform() { bool IsEnabled() { #if defined(OS_CHROMEOS) - // ChromeOS uses a different mechanism for about:labs; integrated with their - // dom ui options. - // TODO(thakis): Port about:labs to chromeos -- http://crbug.com/57634 + // TODO(thakis): Port about:flags to chromeos -- http://crbug.com/57634 return false; #else return true; #endif } -void ConvertLabsToSwitches(PrefService* prefs, CommandLine* command_line) { +void ConvertFlagsToSwitches(PrefService* prefs, CommandLine* command_line) { if (!IsEnabled()) return; - if (command_line->HasSwitch(switches::kNoLabs)) + if (command_line->HasSwitch(switches::kNoExperiments)) return; std::set<std::string> enabled_experiments; - GetSanitizedEnabledLabs(prefs, &enabled_experiments); + GetSanitizedEnabledFlags(prefs, &enabled_experiments); std::map<std::string, const Experiment*> experiments; for (size_t i = 0; i < arraysize(kExperiments); ++i) @@ -278,9 +276,9 @@ void ConvertLabsToSwitches(PrefService* prefs, CommandLine* command_line) { } } -ListValue* GetLabsExperimentsData(PrefService* prefs) { +ListValue* GetFlagsExperimentsData(PrefService* prefs) { std::set<std::string> enabled_experiments; - GetSanitizedEnabledLabs(prefs, &enabled_experiments); + GetSanitizedEnabledFlags(prefs, &enabled_experiments); int current_platform = GetCurrentPlatform(); @@ -316,14 +314,14 @@ void SetExperimentEnabled( needs_restart_ = true; std::set<std::string> enabled_experiments; - GetSanitizedEnabledLabs(prefs, &enabled_experiments); + GetSanitizedEnabledFlags(prefs, &enabled_experiments); if (enable) enabled_experiments.insert(internal_name); else enabled_experiments.erase(internal_name); - SetEnabledLabs(prefs, enabled_experiments); + SetEnabledFlags(prefs, enabled_experiments); } -} // namespace Labs +} // namespace about_flags diff --git a/chrome/browser/labs.h b/chrome/browser/about_flags.h index 7a13b1b..fd6d8e4 100644 --- a/chrome/browser/labs.h +++ b/chrome/browser/about_flags.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_LABS_H_ -#define CHROME_BROWSER_LABS_H_ +#ifndef CHROME_BROWSER_ABOUT_FLAGS_H_ +#define CHROME_BROWSER_ABOUT_FLAGS_H_ #pragma once #include <string> @@ -12,18 +12,17 @@ class CommandLine; class ListValue; class PrefService; -// Can't be called "labs", that collides with the C function |labs()|. -namespace about_labs { +namespace about_flags { -// Returns if Labs is enabled (it isn't on the stable channel). +// Returns if Flags is enabled (it isn't for ChromeOS at the moment). bool IsEnabled(); -// Reads the Labs |prefs| and adds the commandline flags belonging -// to the active experiments to |command_line|. -void ConvertLabsToSwitches(PrefService* prefs, CommandLine* command_line); +// Reads the Labs |prefs| (called "Labs" for historical reasons) and adds the +// commandline flags belonging to the active experiments to |command_line|. +void ConvertFlagsToSwitches(PrefService* prefs, CommandLine* command_line); // Get a list of all available experiments. The caller owns the result. -ListValue* GetLabsExperimentsData(PrefService* prefs); +ListValue* GetFlagsExperimentsData(PrefService* prefs); // Returns true if one of the experiment flags has been flipped since startup. bool IsRestartNeededToCommitChanges(); @@ -32,6 +31,6 @@ bool IsRestartNeededToCommitChanges(); void SetExperimentEnabled( PrefService* prefs, const std::string& internal_name, bool enable); -} // namespace Labs +} // namespace about_flags -#endif // CHROME_BROWSER_LABS_H_ +#endif // CHROME_BROWSER_ABOUT_FLAGS_H_ diff --git a/chrome/browser/browser_about_handler.cc b/chrome/browser/browser_about_handler.cc index be8317a..a93dd91c 100644 --- a/chrome/browser/browser_about_handler.cc +++ b/chrome/browser/browser_about_handler.cc @@ -24,6 +24,7 @@ #include "base/thread.h" #include "base/tracked_objects.h" #include "base/utf_string_conversions.h" +#include "chrome/browser/about_flags.h" #include "chrome/browser/browser.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/browser_thread.h" @@ -31,7 +32,6 @@ #include "chrome/browser/dom_ui/chrome_url_data_manager.h" #include "chrome/browser/gpu_process_host.h" #include "chrome/browser/gpu_process_host_ui_shim.h" -#include "chrome/browser/labs.h" #include "chrome/browser/memory_details.h" #include "chrome/browser/metrics/histogram_synchronizer.h" #include "chrome/browser/net/predictor_api.h" @@ -259,7 +259,7 @@ std::string AboutAbout() { html.append("<html><head><title>About Pages</title></head><body>\n"); html.append("<h2>List of About pages</h2><ul>\n"); for (size_t i = 0; i < arraysize(kAllAboutPaths); i++) { - if (kAllAboutPaths[i] == kFlagsPath && !about_labs::IsEnabled()) + if (kAllAboutPaths[i] == kFlagsPath && !about_flags::IsEnabled()) continue; if (kAllAboutPaths[i] == kAppCacheInternalsPath || kAllAboutPaths[i] == kBlobInternalsPath || @@ -1178,8 +1178,8 @@ bool WillHandleBrowserAboutURL(GURL* url, Profile* profile) { return true; } - if (about_labs::IsEnabled()) { - // Rewrite about:labs and about:vaporware to chrome://labs/. + if (about_flags::IsEnabled()) { + // Rewrite about:flags and about:vaporware to chrome://flags/. if (LowerCaseEqualsASCII(url->spec(), chrome::kAboutFlagsURL) || LowerCaseEqualsASCII(url->spec(), chrome::kAboutVaporwareURL)) { *url = GURL(chrome::kChromeUIFlagsURL); diff --git a/chrome/browser/browser_main.cc b/chrome/browser/browser_main.cc index 7af8504..ac9fe52 100644 --- a/chrome/browser/browser_main.cc +++ b/chrome/browser/browser_main.cc @@ -46,7 +46,6 @@ #include "chrome/browser/extensions/extensions_startup.h" #include "chrome/browser/first_run/first_run.h" #include "chrome/browser/jankometer.h" -#include "chrome/browser/labs.h" #include "chrome/browser/metrics/histogram_synchronizer.h" #include "chrome/browser/metrics/metrics_log.h" #include "chrome/browser/metrics/metrics_service.h" @@ -1214,7 +1213,8 @@ int BrowserMain(const MainFunctionParams& parameters) { SetBrowserX11ErrorHandlers(); #endif - // Modifies the current command line based on active labs. + // Modifies the current command line based on active experiments on + // about:flags. Profile* profile = CreateProfile(parameters, user_data_dir); if (!profile) return ResultCodes::NORMAL_EXIT; diff --git a/chrome/browser/dom_ui/dom_ui_factory.cc b/chrome/browser/dom_ui/dom_ui_factory.cc index aebc186..88a3b4f 100644 --- a/chrome/browser/dom_ui/dom_ui_factory.cc +++ b/chrome/browser/dom_ui/dom_ui_factory.cc @@ -5,6 +5,7 @@ #include "chrome/browser/dom_ui/dom_ui_factory.h" #include "base/command_line.h" +#include "chrome/browser/about_flags.h" #include "chrome/browser/browser_thread.h" #include "chrome/browser/dom_ui/bookmarks_ui.h" #include "chrome/browser/dom_ui/bug_report_ui.h" @@ -16,7 +17,7 @@ #if defined(TOUCH_UI) #include "chrome/browser/dom_ui/keyboard_ui.h" #endif -#include "chrome/browser/dom_ui/labs_ui.h" +#include "chrome/browser/dom_ui/flags_ui.h" #include "chrome/browser/dom_ui/net_internals_ui.h" #include "chrome/browser/dom_ui/new_tab_ui.h" #include "chrome/browser/dom_ui/plugins_ui.h" @@ -27,7 +28,6 @@ #include "chrome/browser/extensions/extension_dom_ui.h" #include "chrome/browser/extensions/extensions_service.h" #include "chrome/browser/extensions/extensions_ui.h" -#include "chrome/browser/labs.h" #include "chrome/browser/printing/print_dialog_cloud.h" #include "chrome/browser/profile.h" #include "chrome/browser/tab_contents/tab_contents.h" @@ -128,8 +128,8 @@ static DOMUIFactoryFunction GetDOMUIFactoryFunction(Profile* profile, return &NewDOMUI<HistoryUI>; if (url.host() == chrome::kChromeUIHistory2Host) return &NewDOMUI<HistoryUI2>; - if (about_labs::IsEnabled() && url.host() == chrome::kChromeUIFlagsHost) - return &NewDOMUI<LabsUI>; + if (about_flags::IsEnabled() && url.host() == chrome::kChromeUIFlagsHost) + return &NewDOMUI<FlagsUI>; #if defined(TOUCH_UI) if (url.host() == chrome::kChromeUIKeyboardHost) return &NewDOMUI<KeyboardUI>; @@ -266,8 +266,8 @@ RefCountedMemory* DOMUIFactory::GetFaviconResourceBytes(Profile* profile, if (page_url.host() == chrome::kChromeUIHistory2Host) return HistoryUI2::GetFaviconResourceBytes(); - if (about_labs::IsEnabled() && page_url.host() == chrome::kChromeUIFlagsHost) - return LabsUI::GetFaviconResourceBytes(); + if (about_flags::IsEnabled() && page_url.host() == chrome::kChromeUIFlagsHost) + return FlagsUI::GetFaviconResourceBytes(); if (page_url.host() == chrome::kChromeUISettingsHost) return OptionsUI::GetFaviconResourceBytes(); diff --git a/chrome/browser/dom_ui/labs_ui.cc b/chrome/browser/dom_ui/flags_ui.cc index 7c06647..a21bda2 100644 --- a/chrome/browser/dom_ui/labs_ui.cc +++ b/chrome/browser/dom_ui/flags_ui.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/dom_ui/labs_ui.h" +#include "chrome/browser/dom_ui/flags_ui.h" #include <string> @@ -10,11 +10,11 @@ #include "app/resource_bundle.h" #include "base/singleton.h" #include "base/values.h" +#include "chrome/browser/about_flags.h" #include "chrome/browser/browser_list.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/browser_thread.h" #include "chrome/browser/dom_ui/chrome_url_data_manager.h" -#include "chrome/browser/labs.h" #include "chrome/browser/prefs/pref_service.h" #include "chrome/browser/profile.h" #include "chrome/common/jstemplate_builder.h" @@ -29,13 +29,13 @@ namespace { /////////////////////////////////////////////////////////////////////////////// // -// LabsUIHTMLSource +// FlagsUIHTMLSource // /////////////////////////////////////////////////////////////////////////////// -class LabsUIHTMLSource : public ChromeURLDataManager::DataSource { +class FlagsUIHTMLSource : public ChromeURLDataManager::DataSource { public: - LabsUIHTMLSource() + FlagsUIHTMLSource() : DataSource(chrome::kChromeUIFlagsHost, MessageLoop::current()) {} // Called when the network layer has requested a resource underneath @@ -48,12 +48,12 @@ class LabsUIHTMLSource : public ChromeURLDataManager::DataSource { } private: - ~LabsUIHTMLSource() {} + ~FlagsUIHTMLSource() {} - DISALLOW_COPY_AND_ASSIGN(LabsUIHTMLSource); + DISALLOW_COPY_AND_ASSIGN(FlagsUIHTMLSource); }; -void LabsUIHTMLSource::StartDataRequest(const std::string& path, +void FlagsUIHTMLSource::StartDataRequest(const std::string& path, bool is_off_the_record, int request_id) { // Strings used in the JsTemplate file. @@ -81,9 +81,9 @@ void LabsUIHTMLSource::StartDataRequest(const std::string& path, ChromeURLDataManager::DataSource::SetFontAndTextDirection(&localized_strings); - static const base::StringPiece labs_html( + static const base::StringPiece flags_html( ResourceBundle::GetSharedInstance().GetRawDataResource(IDR_FLAGS_HTML)); - std::string full_html(labs_html.data(), labs_html.size()); + std::string full_html(flags_html.data(), flags_html.size()); jstemplate_builder::AppendJsonHtml(&localized_strings, &full_html); jstemplate_builder::AppendI18nTemplateSourceHtml(&full_html); jstemplate_builder::AppendI18nTemplateProcessHtml(&full_html); @@ -98,52 +98,53 @@ void LabsUIHTMLSource::StartDataRequest(const std::string& path, //////////////////////////////////////////////////////////////////////////////// // -// LabsDOMHandler +// FlagsDOMHandler // //////////////////////////////////////////////////////////////////////////////// -// The handler for Javascript messages for the chrome://labs/ page. -class LabsDOMHandler : public DOMMessageHandler { +// The handler for Javascript messages for the about:flags page. +class FlagsDOMHandler : public DOMMessageHandler { public: - LabsDOMHandler() {} - virtual ~LabsDOMHandler() {} + FlagsDOMHandler() {} + virtual ~FlagsDOMHandler() {} // DOMMessageHandler implementation. virtual void RegisterMessages(); - // Callback for the "requestLabsExperiments" message. - void HandleRequestLabsExperiments(const ListValue* args); + // Callback for the "requestFlagsExperiments" message. + void HandleRequestFlagsExperiments(const ListValue* args); - // Callback for the "enableLabsExperiment" message. - void HandleEnableLabsExperimentMessage(const ListValue* args); + // Callback for the "enableFlagsExperiment" message. + void HandleEnableFlagsExperimentMessage(const ListValue* args); // Callback for the "restartBrowser" message. Restores all tabs on restart. void HandleRestartBrowser(const ListValue* args); private: - DISALLOW_COPY_AND_ASSIGN(LabsDOMHandler); + DISALLOW_COPY_AND_ASSIGN(FlagsDOMHandler); }; -void LabsDOMHandler::RegisterMessages() { +void FlagsDOMHandler::RegisterMessages() { dom_ui_->RegisterMessageCallback("requestFlagsExperiments", - NewCallback(this, &LabsDOMHandler::HandleRequestLabsExperiments)); + NewCallback(this, &FlagsDOMHandler::HandleRequestFlagsExperiments)); dom_ui_->RegisterMessageCallback("enableFlagsExperiment", - NewCallback(this, &LabsDOMHandler::HandleEnableLabsExperimentMessage)); + NewCallback(this, &FlagsDOMHandler::HandleEnableFlagsExperimentMessage)); dom_ui_->RegisterMessageCallback("restartBrowser", - NewCallback(this, &LabsDOMHandler::HandleRestartBrowser)); + NewCallback(this, &FlagsDOMHandler::HandleRestartBrowser)); } -void LabsDOMHandler::HandleRequestLabsExperiments(const ListValue* args) { +void FlagsDOMHandler::HandleRequestFlagsExperiments(const ListValue* args) { DictionaryValue results; results.Set("flagsExperiments", - about_labs::GetLabsExperimentsData( + about_flags::GetFlagsExperimentsData( dom_ui_->GetProfile()->GetPrefs())); results.SetBoolean("needsRestart", - about_labs::IsRestartNeededToCommitChanges()); + about_flags::IsRestartNeededToCommitChanges()); dom_ui_->CallJavascriptFunction(L"returnFlagsExperiments", results); } -void LabsDOMHandler::HandleEnableLabsExperimentMessage(const ListValue* args) { +void FlagsDOMHandler::HandleEnableFlagsExperimentMessage( + const ListValue* args) { DCHECK_EQ(2u, args->GetSize()); if (args->GetSize() != 2) return; @@ -154,13 +155,13 @@ void LabsDOMHandler::HandleEnableLabsExperimentMessage(const ListValue* args) { !args->GetString(1, &enable_str)) return; - about_labs::SetExperimentEnabled( + about_flags::SetExperimentEnabled( dom_ui_->GetProfile()->GetPrefs(), experiment_internal_name, enable_str == "true"); } -void LabsDOMHandler::HandleRestartBrowser(const ListValue* args) { +void FlagsDOMHandler::HandleRestartBrowser(const ListValue* args) { // Set the flag to restore state after the restart. PrefService* pref_service = g_browser_process->local_state(); pref_service->SetBoolean(prefs::kRestartLastSessionOnShutdown, true); @@ -171,16 +172,16 @@ void LabsDOMHandler::HandleRestartBrowser(const ListValue* args) { /////////////////////////////////////////////////////////////////////////////// // -// LabsUI +// FlagsUI // /////////////////////////////////////////////////////////////////////////////// -LabsUI::LabsUI(TabContents* contents) : DOMUI(contents) { - AddMessageHandler((new LabsDOMHandler())->Attach(this)); +FlagsUI::FlagsUI(TabContents* contents) : DOMUI(contents) { + AddMessageHandler((new FlagsDOMHandler())->Attach(this)); - LabsUIHTMLSource* html_source = new LabsUIHTMLSource(); + FlagsUIHTMLSource* html_source = new FlagsUIHTMLSource(); - // Set up the chrome://labs/ source. + // Set up the about:flags source. BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, NewRunnableMethod(Singleton<ChromeURLDataManager>::get(), @@ -189,12 +190,12 @@ LabsUI::LabsUI(TabContents* contents) : DOMUI(contents) { } // static -RefCountedMemory* LabsUI::GetFaviconResourceBytes() { +RefCountedMemory* FlagsUI::GetFaviconResourceBytes() { return ResourceBundle::GetSharedInstance(). LoadDataResourceBytes(IDR_FLAGS); } // static -void LabsUI::RegisterUserPrefs(PrefService* prefs) { +void FlagsUI::RegisterUserPrefs(PrefService* prefs) { prefs->RegisterListPref(prefs::kEnabledLabsExperiments); } diff --git a/chrome/browser/dom_ui/labs_ui.h b/chrome/browser/dom_ui/flags_ui.h index 0919030..831ffe4 100644 --- a/chrome/browser/dom_ui/labs_ui.h +++ b/chrome/browser/dom_ui/flags_ui.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_DOM_UI_LABS_UI_H_ -#define CHROME_BROWSER_DOM_UI_LABS_UI_H_ +#ifndef CHROME_BROWSER_DOM_UI_FLAGS_UI_H_ +#define CHROME_BROWSER_DOM_UI_FLAGS_UI_H_ #pragma once #include "chrome/browser/dom_ui/dom_ui.h" @@ -11,15 +11,15 @@ class PrefService; class RefCountedMemory; -class LabsUI : public DOMUI { +class FlagsUI : public DOMUI { public: - explicit LabsUI(TabContents* contents); + explicit FlagsUI(TabContents* contents); static RefCountedMemory* GetFaviconResourceBytes(); static void RegisterUserPrefs(PrefService* prefs); private: - DISALLOW_COPY_AND_ASSIGN(LabsUI); + DISALLOW_COPY_AND_ASSIGN(FlagsUI); }; -#endif // CHROME_BROWSER_DOM_UI_LABS_UI_H_ +#endif // CHROME_BROWSER_DOM_UI_FLAGS_UI_H_ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc index 83bc462..3a40535 100644 --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc @@ -4,6 +4,7 @@ #include "chrome/browser/prefs/browser_prefs.h" +#include "chrome/browser/about_flags.h" #include "chrome/browser/autofill/autofill_manager.h" #include "chrome/browser/background_contents_service.h" #include "chrome/browser/background_mode_manager.h" @@ -11,7 +12,7 @@ #include "chrome/browser/browser.h" #include "chrome/browser/browser_shutdown.h" #include "chrome/browser/debugger/devtools_manager.h" -#include "chrome/browser/dom_ui/labs_ui.h" +#include "chrome/browser/dom_ui/flags_ui.h" #include "chrome/browser/dom_ui/new_tab_ui.h" #include "chrome/browser/dom_ui/plugins_ui.h" #include "chrome/browser/download/download_prefs.h" @@ -26,7 +27,6 @@ #include "chrome/browser/host_zoom_map.h" #include "chrome/browser/intranet_redirect_detector.h" #include "chrome/browser/instant/instant_controller.h" -#include "chrome/browser/labs.h" #include "chrome/browser/metrics/metrics_log.h" #include "chrome/browser/metrics/metrics_service.h" #include "chrome/browser/net/chrome_url_request_context.h" @@ -119,8 +119,8 @@ void RegisterUserPrefs(PrefService* user_prefs) { TemplateURLPrepopulateData::RegisterUserPrefs(user_prefs); ExtensionDOMUI::RegisterUserPrefs(user_prefs); ExtensionsUI::RegisterUserPrefs(user_prefs); - if (about_labs::IsEnabled()) - LabsUI::RegisterUserPrefs(user_prefs); + if (about_flags::IsEnabled()) + FlagsUI::RegisterUserPrefs(user_prefs); NewTabUI::RegisterUserPrefs(user_prefs); PluginsUI::RegisterUserPrefs(user_prefs); ProfileImpl::RegisterUserPrefs(user_prefs); diff --git a/chrome/browser/profile_impl.cc b/chrome/browser/profile_impl.cc index 491008c..9b0f887 100644 --- a/chrome/browser/profile_impl.cc +++ b/chrome/browser/profile_impl.cc @@ -14,6 +14,7 @@ #include "base/scoped_ptr.h" #include "base/string_number_conversions.h" #include "base/string_util.h" +#include "chrome/browser/about_flags.h" #include "chrome/browser/appcache/chrome_appcache_service.h" #include "chrome/browser/autocomplete/autocomplete_classifier.h" #include "chrome/browser/autofill/personal_data_manager.h" @@ -44,7 +45,6 @@ #include "chrome/browser/host_content_settings_map.h" #include "chrome/browser/host_zoom_map.h" #include "chrome/browser/in_process_webkit/webkit_context.h" -#include "chrome/browser/labs.h" #include "chrome/browser/net/chrome_url_request_context.h" #include "chrome/browser/net/gaia/token_service.h" #include "chrome/browser/net/net_pref_observer.h" @@ -267,7 +267,7 @@ ProfileImpl::ProfileImpl(const FilePath& path) pref_change_registrar_.Add(prefs::kEnableAutoSpellCorrect, this); // Convert active labs into switches. Modifies the current command line. - about_labs::ConvertLabsToSwitches(prefs, CommandLine::ForCurrentProcess()); + about_flags::ConvertFlagsToSwitches(prefs, CommandLine::ForCurrentProcess()); #if defined(OS_MACOSX) // If the profile directory doesn't already have a cache directory and it diff --git a/chrome/browser/resources/flags.html b/chrome/browser/resources/flags.html index 92d43a7..9798c82 100644 --- a/chrome/browser/resources/flags.html +++ b/chrome/browser/resources/flags.html @@ -196,8 +196,8 @@ function renderTemplate(flagsExperimentsData) { } /** - * Asks the C++ LabsDOMHandler to get details about the available experiments - * and return detailed data about the configuration. The LabsDOMHandler + * Asks the C++ FlagsDOMHandler to get details about the available experiments + * and return detailed data about the configuration. The FlagsDOMHandler * should reply to returnFlagsExperiments() (below). */ function requestFlagsExperimentsData() { @@ -205,7 +205,7 @@ function requestFlagsExperimentsData() { } /** - * Asks the C++ LabsDOMHandler to restart the browser (restoring tabs). + * Asks the C++ FlagsDOMHandler to restart the browser (restoring tabs). */ function restartBrowser() { chrome.send('restartBrowser', []); @@ -225,7 +225,7 @@ function returnFlagsExperiments(flagsExperimentsData){ * Handles a 'enable' or 'disable' button getting clicked. */ function handleEnableExperiment(node, enable) { - // Tell the C++ LabsDOMHandler to enable/disable the experiment. + // Tell the C++ FlagsDOMHandler to enable/disable the experiment. chrome.send('enableFlagsExperiment', [String(node.internal_name), String(enable)]); requestFlagsExperimentsData(); diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 33a4f57..3064c27 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -59,6 +59,8 @@ 'sources': [ # All .cc, .h, .m, and .mm files under browser except for tests and # mocks. + 'browser/about_flags.cc', + 'browser/about_flags.h', 'browser/accessibility/browser_accessibility.cc', 'browser/accessibility/browser_accessibility.h', 'browser/accessibility/browser_accessibility_state.cc', @@ -1290,6 +1292,8 @@ 'browser/dom_ui/fileicon_source.h', 'browser/dom_ui/filebrowse_ui.cc', 'browser/dom_ui/filebrowse_ui.h', + 'browser/dom_ui/flags_ui.cc', + 'browser/dom_ui/flags_ui.h', 'browser/dom_ui/foreign_session_handler.cc', 'browser/dom_ui/foreign_session_handler.h', 'browser/dom_ui/history_ui.cc', @@ -1302,8 +1306,6 @@ 'browser/dom_ui/html_dialog_ui.h', 'browser/dom_ui/keyboard_ui.cc', 'browser/dom_ui/keyboard_ui.h', - 'browser/dom_ui/labs_ui.cc', - 'browser/dom_ui/labs_ui.h', 'browser/dom_ui/mediaplayer_ui.cc', 'browser/dom_ui/mediaplayer_ui.h', 'browser/dom_ui/most_visited_handler.cc', @@ -2125,8 +2127,6 @@ 'browser/js_modal_dialog.h', 'browser/keychain_mac.cc', 'browser/keychain_mac.h', - 'browser/labs.cc', - 'browser/labs.h', 'browser/language_combobox_model.cc', 'browser/language_combobox_model.h', 'browser/language_order_table_model.cc', diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc index a4e07fc..eabe4e8 100644 --- a/chrome/common/chrome_switches.cc +++ b/chrome/common/chrome_switches.cc @@ -763,6 +763,12 @@ const char kNoDefaultBrowserCheck[] = "no-default-browser-check"; const char kNoEvents[] = "no-events"; // Bypass the First Run experience when the browser is started, regardless of +// Disables all experiments set on about:flags. Does not disable about:flags +// itself. Useful if an experiment makes chrome crash at startup: One can start +// chrome with --no-experiments, disable the problematic lab at about:flags and +// then restart chrome without this switch again. +const char kNoExperiments[] = "no-experiments"; + // whether or not it's actually the first run. Overrides kFirstRun in case // you're for some reason tempted to pass them both. const char kNoFirstRun[] = "no-first-run"; @@ -774,12 +780,6 @@ const char kNoFirstRun[] = "no-first-run"; // Pages may still be able to generate inconsistent data from plugins. const char kNoJsRandomness[] = "no-js-randomness"; -// Disables all labs. Does not disable about:labs. Useful if a lab makes chrome -// crash at startup: One can start chrome with --no-labs, disable the -// problematic lab at about:labs and then restart chrome without this switch -// again. -const char kNoLabs[] = "no-labs"; - // Don't send hyperlink auditing pings const char kNoPings[] = "no-pings"; diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h index 1f61e3d..1f55280 100644 --- a/chrome/common/chrome_switches.h +++ b/chrome/common/chrome_switches.h @@ -222,9 +222,9 @@ extern const char kNaClLoaderProcess[]; extern const char kNaClStartupDialog[]; extern const char kNoDefaultBrowserCheck[]; extern const char kNoEvents[]; +extern const char kNoExperiments[]; extern const char kNoFirstRun[]; extern const char kNoJsRandomness[]; -extern const char kNoLabs[]; extern const char kNoProxyServer[]; extern const char kNoReferrers[]; extern const char kNoPings[]; |