Add a minor text member to ui::MenuModel.
[chromium-blink-merge.git] / chrome / browser / ui / startup / bad_flags_prompt.cc
blobb5d33d8e0fbfb033ae302850fee7a2f104bf7130
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.
5 #include "chrome/browser/ui/startup/bad_flags_prompt.h"
7 #include "base/command_line.h"
8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/infobars/infobar_service.h"
10 #include "chrome/browser/infobars/simple_alert_infobar_delegate.h"
11 #include "chrome/browser/ui/browser.h"
12 #include "chrome/browser/ui/tabs/tab_strip_model.h"
13 #include "chrome/common/chrome_switches.h"
14 #include "extensions/common/switches.h"
15 #include "grit/generated_resources.h"
16 #include "ui/base/l10n/l10n_util.h"
18 namespace chrome {
20 void ShowBadFlagsPrompt(Browser* browser) {
21 content::WebContents* web_contents =
22 browser->tab_strip_model()->GetActiveWebContents();
23 if (!web_contents)
24 return;
26 // Unsupported flags for which to display a warning that "stability and
27 // security will suffer".
28 static const char* kBadFlags[] = {
29 // These imply disabling the sandbox.
30 switches::kSingleProcess,
31 switches::kNoSandbox,
32 switches::kDisableWebSecurity,
33 // Browser plugin is dangerous on regular pages because it breaks the Same
34 // Origin Policy.
35 switches::kEnableBrowserPluginForAllViewTypes,
36 extensions::switches::kExtensionsOnChromeURLs,
37 // This parameter should be used only for server side developments.
38 switches::kTranslateScriptURL,
39 switches::kTranslateSecurityOrigin,
40 NULL
43 for (const char** flag = kBadFlags; *flag; ++flag) {
44 if (CommandLine::ForCurrentProcess()->HasSwitch(*flag)) {
45 SimpleAlertInfoBarDelegate::Create(
46 InfoBarService::FromWebContents(web_contents),
47 InfoBarDelegate::kNoIconID,
48 l10n_util::GetStringFUTF16(IDS_BAD_FLAGS_WARNING_MESSAGE,
49 UTF8ToUTF16(std::string("--") + *flag)),
50 false);
51 return;
56 } // namespace chrome