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

Unified Diff: chrome/browser/managed_mode/managed_mode_navigation_observer.cc

Issue 335833003: Rename "managed (mode|user)" to "supervised user" (part 2) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review comments (+ a few other cleanups) Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/managed_mode/managed_mode_navigation_observer.cc
diff --git a/chrome/browser/managed_mode/managed_mode_navigation_observer.cc b/chrome/browser/managed_mode/managed_mode_navigation_observer.cc
deleted file mode 100644
index cec59589f7962600f8a1a1f7a8402b4baa532ca7..0000000000000000000000000000000000000000
--- a/chrome/browser/managed_mode/managed_mode_navigation_observer.cc
+++ /dev/null
@@ -1,263 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/managed_mode/managed_mode_navigation_observer.h"
-
-#include "base/bind.h"
-#include "base/callback.h"
-#include "base/metrics/histogram.h"
-#include "base/strings/string_util.h"
-#include "chrome/browser/history/history_service.h"
-#include "chrome/browser/history/history_service_factory.h"
-#include "chrome/browser/history/history_types.h"
-#include "chrome/browser/infobars/infobar_service.h"
-#include "chrome/browser/managed_mode/managed_mode_interstitial.h"
-#include "chrome/browser/managed_mode/managed_mode_resource_throttle.h"
-#include "chrome/browser/managed_mode/managed_mode_url_filter.h"
-#include "chrome/browser/managed_mode/managed_user_service.h"
-#include "chrome/browser/managed_mode/managed_user_service_factory.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/tab_contents/tab_util.h"
-#include "components/infobars/core/confirm_infobar_delegate.h"
-#include "components/infobars/core/infobar.h"
-#include "content/public/browser/browser_thread.h"
-#include "content/public/browser/navigation_entry.h"
-#include "content/public/browser/render_process_host.h"
-#include "content/public/browser/render_view_host.h"
-#include "content/public/browser/user_metrics.h"
-#include "grit/generated_resources.h"
-#include "ui/base/l10n/l10n_util.h"
-
-#if !defined(OS_ANDROID)
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_commands.h"
-#include "chrome/browser/ui/browser_finder.h"
-#include "chrome/browser/ui/browser_list.h"
-#include "chrome/browser/ui/host_desktop.h"
-#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#endif
-
-using base::Time;
-using content::NavigationEntry;
-
-namespace {
-
-
-// Helpers --------------------------------------------------------------------
-
-#if !defined(OS_ANDROID)
-// TODO(bauerb): Get rid of the platform-specific #ifdef here.
-// http://crbug.com/313377
-void GoBackToSafety(content::WebContents* web_contents) {
- // For now, just go back one page (the user didn't retreat from that page,
- // so it should be okay).
- content::NavigationController* controller =
- &web_contents->GetController();
- if (controller->CanGoBack()) {
- controller->GoBack();
- return;
- }
-
- // If we can't go back (because we opened a new tab), try to close the tab.
- // If this is the last tab on this desktop, open a new window.
- chrome::HostDesktopType host_desktop_type =
- chrome::GetHostDesktopTypeForNativeView(web_contents->GetNativeView());
- const BrowserList* browser_list = BrowserList::GetInstance(host_desktop_type);
- if (browser_list->size() == 1) {
- Browser* browser = browser_list->get(0);
- DCHECK(browser == chrome::FindBrowserWithWebContents(web_contents));
- if (browser->tab_strip_model()->count() == 1)
- chrome::NewEmptyWindow(browser->profile(), browser->host_desktop_type());
- }
-
- web_contents->GetDelegate()->CloseContents(web_contents);
-}
-#endif
-
-// ManagedModeWarningInfoBarDelegate ------------------------------------------
-
-class ManagedModeWarningInfoBarDelegate : public ConfirmInfoBarDelegate {
- public:
- // Creates a managed mode warning infobar and delegate and adds the infobar to
- // |infobar_service|. Returns the infobar if it was successfully added.
- static infobars::InfoBar* Create(InfoBarService* infobar_service);
-
- private:
- ManagedModeWarningInfoBarDelegate();
- virtual ~ManagedModeWarningInfoBarDelegate();
-
- // ConfirmInfoBarDelegate:
- virtual bool ShouldExpire(const NavigationDetails& details) const OVERRIDE;
- virtual void InfoBarDismissed() OVERRIDE;
- virtual base::string16 GetMessageText() const OVERRIDE;
- virtual int GetButtons() const OVERRIDE;
- virtual base::string16 GetButtonLabel(InfoBarButton button) const OVERRIDE;
- virtual bool Accept() OVERRIDE;
-
- DISALLOW_COPY_AND_ASSIGN(ManagedModeWarningInfoBarDelegate);
-};
-
-// static
-infobars::InfoBar* ManagedModeWarningInfoBarDelegate::Create(
- InfoBarService* infobar_service) {
- return infobar_service->AddInfoBar(ConfirmInfoBarDelegate::CreateInfoBar(
- scoped_ptr<ConfirmInfoBarDelegate>(
- new ManagedModeWarningInfoBarDelegate())));
-}
-
-ManagedModeWarningInfoBarDelegate::ManagedModeWarningInfoBarDelegate()
- : ConfirmInfoBarDelegate() {
-}
-
-ManagedModeWarningInfoBarDelegate::~ManagedModeWarningInfoBarDelegate() {
-}
-
-bool ManagedModeWarningInfoBarDelegate::ShouldExpire(
- const NavigationDetails& details) const {
- // ManagedModeNavigationObserver removes us below.
- return false;
-}
-
-void ManagedModeWarningInfoBarDelegate::InfoBarDismissed() {
- content::WebContents* web_contents =
- InfoBarService::WebContentsFromInfoBar(infobar());
- ManagedModeNavigationObserver::FromWebContents(
- web_contents)->WarnInfoBarDismissed();
-}
-
-base::string16 ManagedModeWarningInfoBarDelegate::GetMessageText() const {
- return l10n_util::GetStringUTF16(IDS_MANAGED_USER_WARN_INFOBAR_MESSAGE);
-}
-
-int ManagedModeWarningInfoBarDelegate::GetButtons() const {
- return BUTTON_OK;
-}
-
-base::string16 ManagedModeWarningInfoBarDelegate::GetButtonLabel(
- InfoBarButton button) const {
- DCHECK_EQ(BUTTON_OK, button);
- return l10n_util::GetStringUTF16(IDS_MANAGED_USER_WARN_INFOBAR_GO_BACK);
-}
-
-bool ManagedModeWarningInfoBarDelegate::Accept() {
-#if defined(OS_ANDROID)
- // TODO(bauerb): Get rid of the platform-specific #ifdef here.
- // http://crbug.com/313377
- NOTIMPLEMENTED();
-#else
- GoBackToSafety(InfoBarService::WebContentsFromInfoBar(infobar()));
-#endif
-
- return false;
-}
-
-
-} // namespace
-
-// ManagedModeNavigationObserver ----------------------------------------------
-
-DEFINE_WEB_CONTENTS_USER_DATA_KEY(ManagedModeNavigationObserver);
-
-ManagedModeNavigationObserver::~ManagedModeNavigationObserver() {
-}
-
-ManagedModeNavigationObserver::ManagedModeNavigationObserver(
- content::WebContents* web_contents)
- : WebContentsObserver(web_contents),
- warn_infobar_(NULL) {
- Profile* profile =
- Profile::FromBrowserContext(web_contents->GetBrowserContext());
- managed_user_service_ = ManagedUserServiceFactory::GetForProfile(profile);
- url_filter_ = managed_user_service_->GetURLFilterForUIThread();
-}
-
-void ManagedModeNavigationObserver::WarnInfoBarDismissed() {
- DCHECK(warn_infobar_);
- warn_infobar_ = NULL;
-}
-
-void ManagedModeNavigationObserver::ProvisionalChangeToMainFrameUrl(
- const GURL& url,
- content::RenderFrameHost* render_frame_host) {
- ManagedModeURLFilter::FilteringBehavior behavior =
- url_filter_->GetFilteringBehaviorForURL(url);
-
- if (behavior == ManagedModeURLFilter::WARN || !warn_infobar_)
- return;
-
- // If we shouldn't have a warn infobar remove it here.
- InfoBarService::FromWebContents(web_contents())->RemoveInfoBar(warn_infobar_);
- warn_infobar_ = NULL;
-}
-
-void ManagedModeNavigationObserver::DidCommitProvisionalLoadForFrame(
- int64 frame_id,
- const base::string16& frame_unique_name,
- bool is_main_frame,
- const GURL& url,
- content::PageTransition transition_type,
- content::RenderViewHost* render_view_host) {
- if (!is_main_frame)
- return;
-
- DVLOG(1) << "DidCommitProvisionalLoadForFrame " << url.spec();
- ManagedModeURLFilter::FilteringBehavior behavior =
- url_filter_->GetFilteringBehaviorForURL(url);
-
- if (behavior == ManagedModeURLFilter::WARN && !warn_infobar_) {
- warn_infobar_ = ManagedModeWarningInfoBarDelegate::Create(
- InfoBarService::FromWebContents(web_contents()));
- }
-}
-
-// static
-void ManagedModeNavigationObserver::OnRequestBlocked(
- int render_process_host_id,
- int render_view_id,
- const GURL& url,
- const base::Callback<void(bool)>& callback) {
- content::WebContents* web_contents =
- tab_util::GetWebContentsByID(render_process_host_id, render_view_id);
- if (!web_contents) {
- content::BrowserThread::PostTask(
- content::BrowserThread::IO, FROM_HERE, base::Bind(callback, false));
- return;
- }
-
- ManagedModeNavigationObserver* navigation_observer =
- ManagedModeNavigationObserver::FromWebContents(web_contents);
- if (navigation_observer)
- navigation_observer->OnRequestBlockedInternal(url);
-
- // Show the interstitial.
- ManagedModeInterstitial::Show(web_contents, url, callback);
-}
-
-void ManagedModeNavigationObserver::OnRequestBlockedInternal(const GURL& url) {
- Time timestamp = Time::Now(); // TODO(bauerb): Use SaneTime when available.
- // Create a history entry for the attempt and mark it as such.
- history::HistoryAddPageArgs add_page_args(
- url, timestamp, web_contents(), 0,
- url, history::RedirectList(),
- content::PAGE_TRANSITION_BLOCKED, history::SOURCE_BROWSED,
- false);
-
- // Add the entry to the history database.
- Profile* profile =
- Profile::FromBrowserContext(web_contents()->GetBrowserContext());
- HistoryService* history_service =
- HistoryServiceFactory::GetForProfile(profile, Profile::IMPLICIT_ACCESS);
-
- // |history_service| is null if saving history is disabled.
- if (history_service)
- history_service->AddPage(add_page_args);
-
- scoped_ptr<NavigationEntry> entry(NavigationEntry::Create());
- entry->SetVirtualURL(url);
- entry->SetTimestamp(timestamp);
- blocked_navigations_.push_back(entry.release());
- ManagedUserService* managed_user_service =
- ManagedUserServiceFactory::GetForProfile(profile);
- managed_user_service->DidBlockNavigation(web_contents());
-}

Powered by Google App Engine
This is Rietveld 408576698