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

Side by Side Diff: chrome/browser/content_settings/tab_specific_content_settings.cc

Issue 23537029: Save password functionality added to the save password bubble (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review 3 Created 7 years, 3 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
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/content_settings/tab_specific_content_settings.h" 5 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
6 6
7 #include <list> 7 #include <list>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
11 #include "base/strings/utf_string_conversions.h" 11 #include "base/strings/utf_string_conversions.h"
12 #include "chrome/browser/browsing_data/browsing_data_appcache_helper.h" 12 #include "chrome/browser/browsing_data/browsing_data_appcache_helper.h"
13 #include "chrome/browser/browsing_data/browsing_data_cookie_helper.h" 13 #include "chrome/browser/browsing_data/browsing_data_cookie_helper.h"
14 #include "chrome/browser/browsing_data/browsing_data_database_helper.h" 14 #include "chrome/browser/browsing_data/browsing_data_database_helper.h"
15 #include "chrome/browser/browsing_data/browsing_data_file_system_helper.h" 15 #include "chrome/browser/browsing_data/browsing_data_file_system_helper.h"
16 #include "chrome/browser/browsing_data/browsing_data_indexed_db_helper.h" 16 #include "chrome/browser/browsing_data/browsing_data_indexed_db_helper.h"
17 #include "chrome/browser/browsing_data/browsing_data_local_storage_helper.h" 17 #include "chrome/browser/browsing_data/browsing_data_local_storage_helper.h"
18 #include "chrome/browser/browsing_data/cookies_tree_model.h" 18 #include "chrome/browser/browsing_data/cookies_tree_model.h"
19 #include "chrome/browser/chrome_notification_types.h" 19 #include "chrome/browser/chrome_notification_types.h"
20 #include "chrome/browser/content_settings/content_settings_details.h" 20 #include "chrome/browser/content_settings/content_settings_details.h"
21 #include "chrome/browser/content_settings/content_settings_utils.h" 21 #include "chrome/browser/content_settings/content_settings_utils.h"
22 #include "chrome/browser/content_settings/host_content_settings_map.h" 22 #include "chrome/browser/content_settings/host_content_settings_map.h"
23 #include "chrome/browser/password_manager/password_form_manager.h"
24 #include "chrome/browser/profiles/profile.h" 23 #include "chrome/browser/profiles/profile.h"
25 #include "chrome/common/chrome_switches.h" 24 #include "chrome/common/chrome_switches.h"
26 #include "chrome/common/render_messages.h" 25 #include "chrome/common/render_messages.h"
27 #include "content/public/browser/browser_thread.h" 26 #include "content/public/browser/browser_thread.h"
28 #include "content/public/browser/navigation_controller.h" 27 #include "content/public/browser/navigation_controller.h"
29 #include "content/public/browser/navigation_details.h" 28 #include "content/public/browser/navigation_details.h"
30 #include "content/public/browser/navigation_entry.h" 29 #include "content/public/browser/navigation_entry.h"
31 #include "content/public/browser/notification_service.h" 30 #include "content/public/browser/notification_service.h"
32 #include "content/public/browser/render_view_host.h" 31 #include "content/public/browser/render_view_host.h"
33 #include "content/public/browser/render_view_host_observer.h" 32 #include "content/public/browser/render_view_host_observer.h"
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 registrar_.Add(this, chrome::NOTIFICATION_CONTENT_SETTINGS_CHANGED, 91 registrar_.Add(this, chrome::NOTIFICATION_CONTENT_SETTINGS_CHANGED,
93 content::Source<HostContentSettingsMap>( 92 content::Source<HostContentSettingsMap>(
94 profile_->GetHostContentSettingsMap())); 93 profile_->GetHostContentSettingsMap()));
95 } 94 }
96 95
97 TabSpecificContentSettings::~TabSpecificContentSettings() { 96 TabSpecificContentSettings::~TabSpecificContentSettings() {
98 FOR_EACH_OBSERVER( 97 FOR_EACH_OBSERVER(
99 SiteDataObserver, observer_list_, ContentSettingsDestroyed()); 98 SiteDataObserver, observer_list_, ContentSettingsDestroyed());
100 } 99 }
101 100
102 bool TabSpecificContentSettings::PasswordAccepted() {
103 DCHECK(form_to_save_.get());
104 form_to_save_->SavePassword();
105 return true;
106 }
107
108 bool TabSpecificContentSettings::PasswordFormBlacklisted() {
109 DCHECK(form_to_save_.get());
110 form_to_save_->BlacklistPassword();
111 return true;
112 }
113
114 TabSpecificContentSettings* TabSpecificContentSettings::Get( 101 TabSpecificContentSettings* TabSpecificContentSettings::Get(
115 int render_process_id, int render_view_id) { 102 int render_process_id, int render_view_id) {
116 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 103 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
117 104
118 RenderViewHost* view = RenderViewHost::FromID(render_process_id, 105 RenderViewHost* view = RenderViewHost::FromID(render_process_id,
119 render_view_id); 106 render_view_id);
120 if (!view) 107 if (!view)
121 return NULL; 108 return NULL;
122 109
123 WebContents* web_contents = WebContents::FromRenderViewHost(view); 110 WebContents* web_contents = WebContents::FromRenderViewHost(view);
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 const GURL& requesting_origin, 456 const GURL& requesting_origin,
470 bool allowed) { 457 bool allowed) {
471 geolocation_usages_state_.OnPermissionSet(requesting_origin, allowed); 458 geolocation_usages_state_.OnPermissionSet(requesting_origin, allowed);
472 content::NotificationService::current()->Notify( 459 content::NotificationService::current()->Notify(
473 chrome::NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED, 460 chrome::NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED,
474 content::Source<WebContents>(web_contents()), 461 content::Source<WebContents>(web_contents()),
475 content::NotificationService::NoDetails()); 462 content::NotificationService::NoDetails());
476 } 463 }
477 464
478 void TabSpecificContentSettings::OnPasswordSubmitted( 465 void TabSpecificContentSettings::OnPasswordSubmitted(
479 PasswordFormManager* form_to_save) { 466 PasswordFormManager* form_manager) {
480 form_to_save_.reset(form_to_save); 467 form_manager_.reset(form_manager);
481 OnContentAllowed(CONTENT_SETTINGS_TYPE_SAVE_PASSWORD); 468 OnContentAllowed(CONTENT_SETTINGS_TYPE_SAVE_PASSWORD);
482 NotifySiteDataObservers(); 469 NotifySiteDataObservers();
483 } 470 }
484 471
485 TabSpecificContentSettings::PasswordSavingState 472 TabSpecificContentSettings::PasswordSavingState
486 TabSpecificContentSettings::GetPasswordSavingState() const { 473 TabSpecificContentSettings::GetPasswordSavingState() const {
487 if (IsContentAllowed(CONTENT_SETTINGS_TYPE_SAVE_PASSWORD)) 474 if (IsContentAllowed(CONTENT_SETTINGS_TYPE_SAVE_PASSWORD))
488 return PASSWORD_TO_BE_SAVED; 475 return PASSWORD_TO_BE_SAVED;
489 else 476 else
490 return NO_PASSWORD_TO_BE_SAVED; 477 return NO_PASSWORD_TO_BE_SAVED;
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 IPC_BEGIN_MESSAGE_MAP(TabSpecificContentSettings, message) 639 IPC_BEGIN_MESSAGE_MAP(TabSpecificContentSettings, message)
653 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_ContentBlocked, OnContentBlocked) 640 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_ContentBlocked, OnContentBlocked)
654 IPC_MESSAGE_UNHANDLED(handled = false) 641 IPC_MESSAGE_UNHANDLED(handled = false)
655 IPC_END_MESSAGE_MAP() 642 IPC_END_MESSAGE_MAP()
656 return handled; 643 return handled;
657 } 644 }
658 645
659 void TabSpecificContentSettings::DidNavigateMainFrame( 646 void TabSpecificContentSettings::DidNavigateMainFrame(
660 const content::LoadCommittedDetails& details, 647 const content::LoadCommittedDetails& details,
661 const content::FrameNavigateParams& params) { 648 const content::FrameNavigateParams& params) {
662 if (form_to_save_) 649 if (form_manager_)
663 form_to_save_->ApplyChange(); 650 form_manager_->ApplyChange();
664 if (!details.is_in_page) { 651 if (!details.is_in_page) {
665 // Clear "blocked" flags. 652 // Clear "blocked" flags.
666 ClearBlockedContentSettingsExceptForCookies(); 653 ClearBlockedContentSettingsExceptForCookies();
667 GeolocationDidNavigate(details); 654 GeolocationDidNavigate(details);
668 MIDIDidNavigate(details); 655 MIDIDidNavigate(details);
669 } 656 }
670 } 657 }
671 658
672 void TabSpecificContentSettings::DidStartProvisionalLoadForFrame( 659 void TabSpecificContentSettings::DidStartProvisionalLoadForFrame(
673 int64 frame_id, 660 int64 frame_id,
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 } 718 }
732 719
733 void TabSpecificContentSettings::RemoveSiteDataObserver( 720 void TabSpecificContentSettings::RemoveSiteDataObserver(
734 SiteDataObserver* observer) { 721 SiteDataObserver* observer) {
735 observer_list_.RemoveObserver(observer); 722 observer_list_.RemoveObserver(observer);
736 } 723 }
737 724
738 void TabSpecificContentSettings::NotifySiteDataObservers() { 725 void TabSpecificContentSettings::NotifySiteDataObservers() {
739 FOR_EACH_OBSERVER(SiteDataObserver, observer_list_, OnSiteDataAccessed()); 726 FOR_EACH_OBSERVER(SiteDataObserver, observer_list_, OnSiteDataAccessed());
740 } 727 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698