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

Side by Side Diff: chrome/browser/supervised_user/supervised_user_navigation_observer.cc

Issue 1408643002: [Sync] Componentize synced_tab_delegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test broken by rebase Created 5 years, 1 month 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/supervised_user/supervised_user_navigation_observer.h" 5 #include "chrome/browser/supervised_user/supervised_user_navigation_observer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "chrome/browser/history/history_service_factory.h" 9 #include "chrome/browser/history/history_service_factory.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
11 #include "chrome/browser/supervised_user/supervised_user_interstitial.h" 11 #include "chrome/browser/supervised_user/supervised_user_interstitial.h"
12 #include "chrome/browser/supervised_user/supervised_user_service.h" 12 #include "chrome/browser/supervised_user/supervised_user_service.h"
13 #include "chrome/browser/supervised_user/supervised_user_service_factory.h" 13 #include "chrome/browser/supervised_user/supervised_user_service_factory.h"
14 #include "chrome/browser/tab_contents/tab_util.h" 14 #include "chrome/browser/tab_contents/tab_util.h"
15 #include "components/history/content/browser/history_context_helper.h" 15 #include "components/history/content/browser/history_context_helper.h"
16 #include "components/history/core/browser/history_service.h" 16 #include "components/history/core/browser/history_service.h"
17 #include "components/history/core/browser/history_types.h" 17 #include "components/history/core/browser/history_types.h"
18 #include "components/sessions/content/content_serialized_navigation_builder.h"
18 #include "content/public/browser/browser_thread.h" 19 #include "content/public/browser/browser_thread.h"
19 #include "content/public/browser/navigation_entry.h" 20 #include "content/public/browser/navigation_entry.h"
20 21
21 using base::Time; 22 using base::Time;
22 using content::NavigationEntry; 23 using content::NavigationEntry;
23 24
24 DEFINE_WEB_CONTENTS_USER_DATA_KEY(SupervisedUserNavigationObserver); 25 DEFINE_WEB_CONTENTS_USER_DATA_KEY(SupervisedUserNavigationObserver);
25 26
26 SupervisedUserNavigationObserver::~SupervisedUserNavigationObserver() { 27 SupervisedUserNavigationObserver::~SupervisedUserNavigationObserver() {
27 supervised_user_service_->RemoveObserver(this); 28 supervised_user_service_->RemoveObserver(this);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 HistoryServiceFactory::GetForProfile(profile, 79 HistoryServiceFactory::GetForProfile(profile,
79 ServiceAccessType::IMPLICIT_ACCESS); 80 ServiceAccessType::IMPLICIT_ACCESS);
80 81
81 // |history_service| is null if saving history is disabled. 82 // |history_service| is null if saving history is disabled.
82 if (history_service) 83 if (history_service)
83 history_service->AddPage(add_page_args); 84 history_service->AddPage(add_page_args);
84 85
85 scoped_ptr<NavigationEntry> entry(NavigationEntry::Create()); 86 scoped_ptr<NavigationEntry> entry(NavigationEntry::Create());
86 entry->SetVirtualURL(url); 87 entry->SetVirtualURL(url);
87 entry->SetTimestamp(timestamp); 88 entry->SetTimestamp(timestamp);
88 blocked_navigations_.push_back(entry.release()); 89 scoped_ptr<sessions::SerializedNavigationEntry> serialized_entry(
90 new sessions::SerializedNavigationEntry());
91 *serialized_entry =
92 sessions::ContentSerializedNavigationBuilder::FromNavigationEntry(
93 blocked_navigations_.size(), *entry);
94 blocked_navigations_.push_back(serialized_entry.release());
89 supervised_user_service_->DidBlockNavigation(web_contents_); 95 supervised_user_service_->DidBlockNavigation(web_contents_);
90 } 96 }
91 97
92 void SupervisedUserNavigationObserver::OnURLFilterChanged() { 98 void SupervisedUserNavigationObserver::OnURLFilterChanged() {
93 url_filter_->GetFilteringBehaviorForURLWithAsyncChecks( 99 url_filter_->GetFilteringBehaviorForURLWithAsyncChecks(
94 web_contents_->GetLastCommittedURL(), 100 web_contents_->GetLastCommittedURL(),
95 base::Bind(&SupervisedUserNavigationObserver::URLFilterCheckCallback, 101 base::Bind(&SupervisedUserNavigationObserver::URLFilterCheckCallback,
96 weak_ptr_factory_.GetWeakPtr(), 102 weak_ptr_factory_.GetWeakPtr(),
97 web_contents_->GetLastCommittedURL())); 103 web_contents_->GetLastCommittedURL()));
98 } 104 }
99 105
100 void SupervisedUserNavigationObserver::URLFilterCheckCallback( 106 void SupervisedUserNavigationObserver::URLFilterCheckCallback(
101 const GURL& url, 107 const GURL& url,
102 SupervisedUserURLFilter::FilteringBehavior behavior, 108 SupervisedUserURLFilter::FilteringBehavior behavior,
103 SupervisedUserURLFilter::FilteringBehaviorReason reason, 109 SupervisedUserURLFilter::FilteringBehaviorReason reason,
104 bool uncertain) { 110 bool uncertain) {
105 // If the page has been changed in the meantime, we can exit. 111 // If the page has been changed in the meantime, we can exit.
106 if (url != web_contents_->GetLastCommittedURL()) 112 if (url != web_contents_->GetLastCommittedURL())
107 return; 113 return;
108 114
109 if (behavior == SupervisedUserURLFilter::FilteringBehavior::BLOCK) { 115 if (behavior == SupervisedUserURLFilter::FilteringBehavior::BLOCK) {
110 SupervisedUserInterstitial::Show(web_contents_, url, reason, 116 SupervisedUserInterstitial::Show(web_contents_, url, reason,
111 base::Callback<void(bool)>()); 117 base::Callback<void(bool)>());
112 } 118 }
113 } 119 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698