Home | History | Annotate | Download | only in ui
      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.
      4 
      5 #include "chrome/browser/ui/browser_content_setting_bubble_model_delegate.h"
      6 
      7 #include "chrome/browser/ui/browser.h"
      8 #include "chrome/browser/ui/browser_dialogs.h"
      9 #include "chrome/browser/ui/browser_tabstrip.h"
     10 #include "chrome/browser/ui/chrome_pages.h"
     11 #include "chrome/common/url_constants.h"
     12 #include "components/google/core/browser/google_util.h"
     13 
     14 // The URL for when the user clicks "learn more" on the mixed scripting page
     15 // icon bubble.
     16 const char kInsecureScriptHelpUrl[] =
     17     "https://support.google.com/chrome/bin/answer.py?answer=1342714";
     18 
     19 BrowserContentSettingBubbleModelDelegate::
     20 BrowserContentSettingBubbleModelDelegate(Browser* browser) : browser_(browser) {
     21 }
     22 
     23 BrowserContentSettingBubbleModelDelegate::
     24 ~BrowserContentSettingBubbleModelDelegate() {
     25 }
     26 
     27 void BrowserContentSettingBubbleModelDelegate::ShowCollectedCookiesDialog(
     28     content::WebContents* web_contents) {
     29   chrome::ShowCollectedCookiesDialog(web_contents);
     30 }
     31 
     32 void BrowserContentSettingBubbleModelDelegate::ShowContentSettingsPage(
     33     ContentSettingsType type) {
     34   switch (type) {
     35     case CONTENT_SETTINGS_TYPE_MIXEDSCRIPT:
     36       // We don't (yet?) implement user-settable exceptions for mixed script
     37       // blocking, so bounce to an explanatory page for now.
     38       chrome::AddSelectedTabWithURL(browser_,
     39                                     GURL(kInsecureScriptHelpUrl),
     40                                     content::PAGE_TRANSITION_LINK);
     41       return;
     42     case CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS:
     43       chrome::ShowSettingsSubPage(browser_, chrome::kHandlerSettingsSubPage);
     44       return;
     45     default:
     46       chrome::ShowContentSettings(browser_, type);
     47       return;
     48   }
     49 }
     50 
     51 void BrowserContentSettingBubbleModelDelegate::ShowLearnMorePage(
     52     ContentSettingsType type) {
     53   if (type != CONTENT_SETTINGS_TYPE_PLUGINS)
     54     return;
     55   chrome::AddSelectedTabWithURL(browser_,
     56                                 GURL(chrome::kBlockedPluginLearnMoreURL),
     57                                 content::PAGE_TRANSITION_LINK);
     58 }
     59