Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(267)

Side by Side Diff: chrome/browser/plugins/plugin_infobar_delegates.cc

Issue 11667015: For the Metro mode infobar, move various variables from the caller side to the (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/plugins/plugin_infobar_delegates.h" 5 #include "chrome/browser/plugins/plugin_infobar_delegates.h"
6 6
7 #include "base/utf_string_conversions.h" 7 #include "base/utf_string_conversions.h"
8 #include "chrome/browser/api/infobars/infobar_service.h" 8 #include "chrome/browser/api/infobars/infobar_service.h"
9 #include "chrome/browser/content_settings/host_content_settings_map.h" 9 #include "chrome/browser/content_settings/host_content_settings_map.h"
10 #include "chrome/browser/google/google_util.h" 10 #include "chrome/browser/google/google_util.h"
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 InfoBarDelegate* delegate = new PluginInstallerInfoBarDelegate( 431 InfoBarDelegate* delegate = new PluginInstallerInfoBarDelegate(
432 owner(), installer(), plugin_metadata_->Clone(), 432 owner(), installer(), plugin_metadata_->Clone(),
433 InstallCallback(), new_install_, message); 433 InstallCallback(), new_install_, message);
434 owner()->ReplaceInfoBar(this, delegate); 434 owner()->ReplaceInfoBar(this, delegate);
435 } 435 }
436 436
437 // PluginMetroModeInfoBarDelegate --------------------------------------------- 437 // PluginMetroModeInfoBarDelegate ---------------------------------------------
438 #if defined(OS_WIN) 438 #if defined(OS_WIN)
439 PluginMetroModeInfoBarDelegate::PluginMetroModeInfoBarDelegate( 439 PluginMetroModeInfoBarDelegate::PluginMetroModeInfoBarDelegate(
440 InfoBarService* infobar_service, 440 InfoBarService* infobar_service,
441 const string16& message, 441 PluginMetroModeInfoBarDelegate::Mode mode,
442 const string16& ok_label, 442 const string16& name)
443 const GURL& learn_more_url,
444 bool show_dont_ask_again_button)
445 : ConfirmInfoBarDelegate(infobar_service), 443 : ConfirmInfoBarDelegate(infobar_service),
446 message_(message), 444 mode_(mode),
447 ok_label_(ok_label), 445 name_(name) {
448 learn_more_url_(learn_more_url),
449 show_dont_ask_again_button_(show_dont_ask_again_button) {
450 } 446 }
451 447
452 PluginMetroModeInfoBarDelegate::~PluginMetroModeInfoBarDelegate() { 448 PluginMetroModeInfoBarDelegate::~PluginMetroModeInfoBarDelegate() {
453 } 449 }
454 450
455 gfx::Image* PluginMetroModeInfoBarDelegate::GetIcon() const { 451 gfx::Image* PluginMetroModeInfoBarDelegate::GetIcon() const {
456 return &ResourceBundle::GetSharedInstance().GetNativeImageNamed( 452 return &ResourceBundle::GetSharedInstance().GetNativeImageNamed(
457 IDR_INFOBAR_PLUGIN_INSTALL); 453 IDR_INFOBAR_PLUGIN_INSTALL);
458 } 454 }
459 455
460 string16 PluginMetroModeInfoBarDelegate::GetMessageText() const { 456 string16 PluginMetroModeInfoBarDelegate::GetMessageText() const {
461 return message_; 457 return l10n_util::GetStringFUTF16((mode_ == MISSING_PLUGIN) ?
458 IDS_METRO_MISSING_PLUGIN_PROMPT : IDS_METRO_NPAPI_PLUGIN_PROMPT, name_);
462 } 459 }
463 460
464 int PluginMetroModeInfoBarDelegate::GetButtons() const { 461 int PluginMetroModeInfoBarDelegate::GetButtons() const {
465 int buttons = BUTTON_OK; 462 return (mode_ == MISSING_PLUGIN) ? BUTTON_OK : (BUTTON_OK | BUTTON_CANCEL);
466 if (show_dont_ask_again_button_)
467 buttons |= BUTTON_CANCEL;
468 return buttons;
469 } 463 }
470 464
471 string16 PluginMetroModeInfoBarDelegate::GetButtonLabel( 465 string16 PluginMetroModeInfoBarDelegate::GetButtonLabel(
472 InfoBarButton button) const { 466 InfoBarButton button) const {
473 if (button == BUTTON_OK) 467 if (button == BUTTON_CANCEL)
474 return ok_label_;
475 if (button == BUTTON_CANCEL) {
476 DCHECK(show_dont_ask_again_button_);
477 return l10n_util::GetStringUTF16(IDS_DONT_ASK_AGAIN_INFOBAR_BUTTON_LABEL); 468 return l10n_util::GetStringUTF16(IDS_DONT_ASK_AGAIN_INFOBAR_BUTTON_LABEL);
478 } 469 return l10n_util::GetStringUTF16((mode_ == MISSING_PLUGIN) ?
479 NOTREACHED(); 470 IDS_WIN8_DESKTOP_RESTART : IDS_WIN8_RESTART);
480 return string16();
481 } 471 }
482 472
483 bool PluginMetroModeInfoBarDelegate::Accept() { 473 bool PluginMetroModeInfoBarDelegate::Accept() {
484 browser::AttemptRestartWithModeSwitch(); 474 browser::AttemptRestartWithModeSwitch();
485 return true; 475 return true;
486 } 476 }
487 477
488 bool PluginMetroModeInfoBarDelegate::Cancel() { 478 bool PluginMetroModeInfoBarDelegate::Cancel() {
489 DCHECK(show_dont_ask_again_button_); 479 DCHECK_EQ(DESKTOP_MODE_REQUIRED, mode_);
490 content::WebContents* web_contents = owner()->GetWebContents(); 480 content::WebContents* web_contents = owner()->GetWebContents();
491 Profile* profile = 481 Profile* profile =
492 Profile::FromBrowserContext(web_contents->GetBrowserContext()); 482 Profile::FromBrowserContext(web_contents->GetBrowserContext());
493 HostContentSettingsMap* content_settings = 483 HostContentSettingsMap* content_settings =
494 profile->GetHostContentSettingsMap(); 484 profile->GetHostContentSettingsMap();
495 GURL url = web_contents->GetURL(); 485 GURL url = web_contents->GetURL();
496 content_settings->SetContentSetting( 486 content_settings->SetContentSetting(
497 ContentSettingsPattern::FromURL(url), 487 ContentSettingsPattern::FromURL(url),
498 ContentSettingsPattern::Wildcard(), 488 ContentSettingsPattern::Wildcard(),
499 CONTENT_SETTINGS_TYPE_METRO_SWITCH_TO_DESKTOP, 489 CONTENT_SETTINGS_TYPE_METRO_SWITCH_TO_DESKTOP,
500 std::string(), 490 std::string(),
501 CONTENT_SETTING_BLOCK); 491 CONTENT_SETTING_BLOCK);
502 return true; 492 return true;
503 } 493 }
504 494
505 string16 PluginMetroModeInfoBarDelegate::GetLinkText() const { 495 string16 PluginMetroModeInfoBarDelegate::GetLinkText() const {
506 return l10n_util::GetStringUTF16(IDS_LEARN_MORE); 496 return l10n_util::GetStringUTF16(IDS_LEARN_MORE);
507 } 497 }
508 498
509 bool PluginMetroModeInfoBarDelegate::LinkClicked( 499 bool PluginMetroModeInfoBarDelegate::LinkClicked(
510 WindowOpenDisposition disposition) { 500 WindowOpenDisposition disposition) {
511 OpenURLParams params( 501 OpenURLParams params(
512 learn_more_url_, Referrer(), 502 GURL((mode_ == MISSING_PLUGIN) ?
503 "https://support.google.com/chrome/?ib_display_in_desktop" :
504 "https://support.google.com/chrome/?ib_redirect_to_desktop"),
505 Referrer(),
513 (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition, 506 (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition,
514 content::PAGE_TRANSITION_LINK, false); 507 content::PAGE_TRANSITION_LINK, false);
515 owner()->GetWebContents()->OpenURL(params); 508 owner()->GetWebContents()->OpenURL(params);
516 return false; 509 return false;
517 } 510 }
518 #endif // defined(OS_WIN) 511 #endif // defined(OS_WIN)
519 #endif // defined(ENABLE_PLUGIN_INSTALLATION) 512 #endif // defined(ENABLE_PLUGIN_INSTALLATION)
OLDNEW
« no previous file with comments | « chrome/browser/plugins/plugin_infobar_delegates.h ('k') | chrome/browser/plugins/plugin_observer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698