summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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.cc8
-rw-r--r--chrome/browser/browser_main.cc4
-rw-r--r--chrome/browser/dom_ui/dom_ui_factory.cc12
-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.cc8
-rw-r--r--chrome/browser/profile_impl.cc4
-rw-r--r--chrome/browser/resources/flags.html8
-rw-r--r--chrome/chrome_browser.gypi8
-rw-r--r--chrome/common/chrome_switches.cc12
-rw-r--r--chrome/common/chrome_switches.h2
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[];