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

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

Issue 10758024: Re-land https://src.chromium.org/viewvc/chrome?view=rev&revision=145774 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 5 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/plugin_infobar_delegates.h" 5 #include "chrome/browser/plugin_infobar_delegates.h"
6 6
7 #include "base/utf_string_conversions.h" 7 #include "base/utf_string_conversions.h"
8 #include "chrome/browser/content_settings/host_content_settings_map.h" 8 #include "chrome/browser/content_settings/host_content_settings_map.h"
9 #include "chrome/browser/google/google_util.h" 9 #include "chrome/browser/google/google_util.h"
10 #include "chrome/browser/infobars/infobar_tab_helper.h" 10 #include "chrome/browser/infobars/infobar_tab_helper.h"
11 #include "chrome/browser/plugin_observer.h" 11 #include "chrome/browser/plugin_observer.h"
12 #include "chrome/browser/ui/tab_contents/tab_contents.h" 12 #include "chrome/browser/ui/tab_contents/tab_contents.h"
13 #include "chrome/common/render_messages.h" 13 #include "chrome/common/render_messages.h"
14 #include "chrome/common/url_constants.h" 14 #include "chrome/common/url_constants.h"
15 #include "content/public/browser/render_view_host.h" 15 #include "content/public/browser/render_view_host.h"
16 #include "content/public/browser/user_metrics.h" 16 #include "content/public/browser/user_metrics.h"
17 #include "content/public/browser/web_contents.h" 17 #include "content/public/browser/web_contents.h"
18 #include "grit/generated_resources.h" 18 #include "grit/generated_resources.h"
19 #include "grit/locale_settings.h" 19 #include "grit/locale_settings.h"
20 #include "grit/theme_resources_standard.h" 20 #include "grit/theme_resources_standard.h"
21 #include "ui/base/l10n/l10n_util.h" 21 #include "ui/base/l10n/l10n_util.h"
22 #include "ui/base/resource/resource_bundle.h" 22 #include "ui/base/resource/resource_bundle.h"
23 #include "webkit/plugins/npapi/plugin_group.h" 23 #include "webkit/plugins/npapi/plugin_group.h"
24 24
25 #if defined(OS_WIN)
26 #include <shellapi.h>
27 #include "ui/base/win/shell.h"
28 #endif
29
25 #if defined(ENABLE_PLUGIN_INSTALLATION) 30 #if defined(ENABLE_PLUGIN_INSTALLATION)
26 #include "chrome/browser/plugin_installer.h" 31 #include "chrome/browser/plugin_installer.h"
27 #endif // defined(ENABLE_PLUGIN_INSTALLATION) 32 #endif // defined(ENABLE_PLUGIN_INSTALLATION)
28 33
29 using content::OpenURLParams; 34 using content::OpenURLParams;
30 using content::Referrer; 35 using content::Referrer;
31 using content::UserMetricsAction; 36 using content::UserMetricsAction;
32 37
33 PluginInfoBarDelegate::PluginInfoBarDelegate(InfoBarTabHelper* infobar_helper, 38 PluginInfoBarDelegate::PluginInfoBarDelegate(InfoBarTabHelper* infobar_helper,
34 const string16& name, 39 const string16& name,
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 return BUTTON_OK; 450 return BUTTON_OK;
446 } 451 }
447 452
448 string16 PluginMetroModeInfoBarDelegate::GetButtonLabel( 453 string16 PluginMetroModeInfoBarDelegate::GetButtonLabel(
449 InfoBarButton button) const { 454 InfoBarButton button) const {
450 DCHECK_EQ(BUTTON_OK, button); 455 DCHECK_EQ(BUTTON_OK, button);
451 return l10n_util::GetStringUTF16(IDS_METRO_SWITCH_TO_DESKTOP_BUTTON); 456 return l10n_util::GetStringUTF16(IDS_METRO_SWITCH_TO_DESKTOP_BUTTON);
452 } 457 }
453 458
454 bool PluginMetroModeInfoBarDelegate::Accept() { 459 bool PluginMetroModeInfoBarDelegate::Accept() {
455 // TODO(cpu) switch to desktop chrome here. 460 content::WebContents* web_contents = owner()->web_contents();
456 return false; 461 if (!web_contents)
462 return false;
463 // Note that empty urls are not valid.
464 if (!web_contents->GetURL().is_valid())
465 return false;
466 std::string url(web_contents->GetURL().spec());
467 // This obscure use of the 'log usage' mask for windows 8 is documented
468 // here http://goo.gl/HBOe9.
469 ui::win::OpenAnyViaShell(UTF8ToUTF16(url),
470 string16(),
471 SEE_MASK_FLAG_LOG_USAGE);
472 return true;
457 } 473 }
458 474
459 string16 PluginMetroModeInfoBarDelegate::GetLinkText() const { 475 string16 PluginMetroModeInfoBarDelegate::GetLinkText() const {
460 return l10n_util::GetStringUTF16(IDS_METRO_SWITCH_WHY_LINK); 476 return l10n_util::GetStringUTF16(IDS_METRO_SWITCH_WHY_LINK);
461 } 477 }
462 478
463 bool PluginMetroModeInfoBarDelegate::LinkClicked( 479 bool PluginMetroModeInfoBarDelegate::LinkClicked(
464 WindowOpenDisposition disposition) { 480 WindowOpenDisposition disposition) {
465 // TODO(cpu): replace with the final url. 481 // TODO(cpu): replace with the final url.
466 GURL url = google_util::AppendGoogleLocaleParam(GURL( 482 GURL url = google_util::AppendGoogleLocaleParam(GURL(
467 "https://www.google.com/support/chrome/bin/answer.py?answer=142064")); 483 "https://support.google.com/chrome/?ib_display_in_desktop"));
468 OpenURLParams params( 484 OpenURLParams params(
469 url, Referrer(), 485 url, Referrer(),
470 (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition, 486 (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition,
471 content::PAGE_TRANSITION_LINK, false); 487 content::PAGE_TRANSITION_LINK, false);
472 owner()->web_contents()->OpenURL(params); 488 owner()->web_contents()->OpenURL(params);
473 return false; 489 return false;
474 } 490 }
475 #endif // defined(OS_WIN) 491 #endif // defined(OS_WIN)
476 #endif // defined(ENABLE_PLUGIN_INSTALLATION) 492 #endif // defined(ENABLE_PLUGIN_INSTALLATION)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698