OLD | NEW |
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 "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 } | 174 } |
175 | 175 |
176 void SupervisedUserNavigationObserver::WarnInfoBarDismissed() { | 176 void SupervisedUserNavigationObserver::WarnInfoBarDismissed() { |
177 DCHECK(warn_infobar_); | 177 DCHECK(warn_infobar_); |
178 warn_infobar_ = NULL; | 178 warn_infobar_ = NULL; |
179 } | 179 } |
180 | 180 |
181 void SupervisedUserNavigationObserver::DidCommitProvisionalLoadForFrame( | 181 void SupervisedUserNavigationObserver::DidCommitProvisionalLoadForFrame( |
182 content::RenderFrameHost* render_frame_host, | 182 content::RenderFrameHost* render_frame_host, |
183 const GURL& url, | 183 const GURL& url, |
184 content::PageTransition transition_type) { | 184 ui::PageTransition transition_type) { |
185 if (render_frame_host->GetParent()) | 185 if (render_frame_host->GetParent()) |
186 return; | 186 return; |
187 | 187 |
188 DVLOG(1) << "DidCommitProvisionalLoadForFrame " << url.spec(); | 188 DVLOG(1) << "DidCommitProvisionalLoadForFrame " << url.spec(); |
189 SupervisedUserURLFilter::FilteringBehavior behavior = | 189 SupervisedUserURLFilter::FilteringBehavior behavior = |
190 url_filter_->GetFilteringBehaviorForURL(url); | 190 url_filter_->GetFilteringBehaviorForURL(url); |
191 | 191 |
192 if (behavior == SupervisedUserURLFilter::WARN && !warn_infobar_) { | 192 if (behavior == SupervisedUserURLFilter::WARN && !warn_infobar_) { |
193 warn_infobar_ = SupervisedUserWarningInfoBarDelegate::Create( | 193 warn_infobar_ = SupervisedUserWarningInfoBarDelegate::Create( |
194 InfoBarService::FromWebContents(web_contents())); | 194 InfoBarService::FromWebContents(web_contents())); |
(...skipping 27 matching lines...) Expand all Loading... |
222 SupervisedUserInterstitial::Show(web_contents, url, callback); | 222 SupervisedUserInterstitial::Show(web_contents, url, callback); |
223 } | 223 } |
224 | 224 |
225 void SupervisedUserNavigationObserver::OnRequestBlockedInternal( | 225 void SupervisedUserNavigationObserver::OnRequestBlockedInternal( |
226 const GURL& url) { | 226 const GURL& url) { |
227 Time timestamp = Time::Now(); // TODO(bauerb): Use SaneTime when available. | 227 Time timestamp = Time::Now(); // TODO(bauerb): Use SaneTime when available. |
228 // Create a history entry for the attempt and mark it as such. | 228 // Create a history entry for the attempt and mark it as such. |
229 history::HistoryAddPageArgs add_page_args( | 229 history::HistoryAddPageArgs add_page_args( |
230 url, timestamp, web_contents(), 0, | 230 url, timestamp, web_contents(), 0, |
231 url, history::RedirectList(), | 231 url, history::RedirectList(), |
232 content::PAGE_TRANSITION_BLOCKED, history::SOURCE_BROWSED, | 232 ui::PAGE_TRANSITION_BLOCKED, history::SOURCE_BROWSED, |
233 false); | 233 false); |
234 | 234 |
235 // Add the entry to the history database. | 235 // Add the entry to the history database. |
236 Profile* profile = | 236 Profile* profile = |
237 Profile::FromBrowserContext(web_contents()->GetBrowserContext()); | 237 Profile::FromBrowserContext(web_contents()->GetBrowserContext()); |
238 HistoryService* history_service = | 238 HistoryService* history_service = |
239 HistoryServiceFactory::GetForProfile(profile, Profile::IMPLICIT_ACCESS); | 239 HistoryServiceFactory::GetForProfile(profile, Profile::IMPLICIT_ACCESS); |
240 | 240 |
241 // |history_service| is null if saving history is disabled. | 241 // |history_service| is null if saving history is disabled. |
242 if (history_service) | 242 if (history_service) |
243 history_service->AddPage(add_page_args); | 243 history_service->AddPage(add_page_args); |
244 | 244 |
245 scoped_ptr<NavigationEntry> entry(NavigationEntry::Create()); | 245 scoped_ptr<NavigationEntry> entry(NavigationEntry::Create()); |
246 entry->SetVirtualURL(url); | 246 entry->SetVirtualURL(url); |
247 entry->SetTimestamp(timestamp); | 247 entry->SetTimestamp(timestamp); |
248 blocked_navigations_.push_back(entry.release()); | 248 blocked_navigations_.push_back(entry.release()); |
249 SupervisedUserService* supervised_user_service = | 249 SupervisedUserService* supervised_user_service = |
250 SupervisedUserServiceFactory::GetForProfile(profile); | 250 SupervisedUserServiceFactory::GetForProfile(profile); |
251 supervised_user_service->DidBlockNavigation(web_contents()); | 251 supervised_user_service->DidBlockNavigation(web_contents()); |
252 } | 252 } |
OLD | NEW |