| Index: chrome/browser/search_engines/search_provider_install_state_dispatcher_host.cc
|
| ===================================================================
|
| --- chrome/browser/search_engines/search_provider_install_state_dispatcher_host.cc (revision 68877)
|
| +++ chrome/browser/search_engines/search_provider_install_state_dispatcher_host.cc (working copy)
|
| @@ -1,123 +0,0 @@
|
| -// Copyright (c) 2010 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/search_engines/search_provider_install_state_dispatcher_host.h"
|
| -
|
| -#include "base/logging.h"
|
| -#include "chrome/browser/browser_thread.h"
|
| -#include "chrome/browser/profiles/profile.h"
|
| -#include "chrome/browser/renderer_host/render_process_host.h"
|
| -#include "chrome/browser/renderer_host/render_view_host.h"
|
| -#include "chrome/browser/renderer_host/resource_message_filter.h"
|
| -#include "chrome/common/notification_source.h"
|
| -#include "chrome/common/notification_type.h"
|
| -#include "chrome/common/render_messages.h"
|
| -#include "chrome/common/render_messages_params.h"
|
| -#include "ipc/ipc_message.h"
|
| -#include "googleurl/src/gurl.h"
|
| -
|
| -SearchProviderInstallStateDispatcherHost::
|
| -SearchProviderInstallStateDispatcherHost(
|
| - ResourceMessageFilter* ipc_sender,
|
| - Profile* profile,
|
| - int render_process_id)
|
| - : ALLOW_THIS_IN_INITIALIZER_LIST(
|
| - reply_with_provider_install_state_factory_(this)),
|
| - provider_data_(profile->GetWebDataService(Profile::EXPLICIT_ACCESS),
|
| - NotificationType::RENDERER_PROCESS_TERMINATED,
|
| - Source<RenderProcessHost>(
|
| - RenderProcessHost::FromID(render_process_id))),
|
| - ipc_sender_(ipc_sender),
|
| - is_off_the_record_(profile->IsOffTheRecord()) {
|
| - // This is initialized by ResourceMessageFilter. Do not add any non-trivial
|
| - // initialization here. Instead do it lazily when required.
|
| - DCHECK(ipc_sender);
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| -}
|
| -
|
| -SearchProviderInstallStateDispatcherHost::
|
| -~SearchProviderInstallStateDispatcherHost() {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| -}
|
| -
|
| -void SearchProviderInstallStateDispatcherHost::Send(IPC::Message* message) {
|
| - ipc_sender_->Send(message);
|
| -}
|
| -
|
| -bool SearchProviderInstallStateDispatcherHost::OnMessageReceived(
|
| - const IPC::Message& message,
|
| - bool* message_was_ok) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| - bool handled = true;
|
| - IPC_BEGIN_MESSAGE_MAP_EX(SearchProviderInstallStateDispatcherHost, message,
|
| - *message_was_ok)
|
| - IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_GetSearchProviderInstallState,
|
| - OnMsgGetSearchProviderInstallState)
|
| - IPC_MESSAGE_UNHANDLED(handled = false)
|
| - IPC_END_MESSAGE_MAP()
|
| - return handled;
|
| -}
|
| -
|
| -ViewHostMsg_GetSearchProviderInstallState_Params
|
| -SearchProviderInstallStateDispatcherHost::GetSearchProviderInstallState(
|
| - const GURL& page_location,
|
| - const GURL& requested_host) {
|
| - GURL requested_origin = requested_host.GetOrigin();
|
| -
|
| - // Do the security check before any others to avoid information leaks.
|
| - if (page_location.GetOrigin() != requested_origin)
|
| - return ViewHostMsg_GetSearchProviderInstallState_Params::Denied();
|
| -
|
| - // In incognito mode, no search information is exposed. (This check must be
|
| - // done after the security check or else a web site can detect that the
|
| - // user is in incognito mode just by doing a cross origin request.)
|
| - if (is_off_the_record_)
|
| - return ViewHostMsg_GetSearchProviderInstallState_Params::NotInstalled();
|
| -
|
| - switch (provider_data_.GetInstallState(requested_origin)) {
|
| - case SearchProviderInstallData::NOT_INSTALLED:
|
| - return ViewHostMsg_GetSearchProviderInstallState_Params::
|
| - NotInstalled();
|
| -
|
| - case SearchProviderInstallData::INSTALLED_BUT_NOT_DEFAULT:
|
| - return ViewHostMsg_GetSearchProviderInstallState_Params::
|
| - InstallButNotDefault();
|
| -
|
| - case SearchProviderInstallData::INSTALLED_AS_DEFAULT:
|
| - return ViewHostMsg_GetSearchProviderInstallState_Params::
|
| - InstalledAsDefault();
|
| - }
|
| -
|
| - NOTREACHED();
|
| - return ViewHostMsg_GetSearchProviderInstallState_Params::
|
| - NotInstalled();
|
| -}
|
| -
|
| -void
|
| -SearchProviderInstallStateDispatcherHost::OnMsgGetSearchProviderInstallState(
|
| - const GURL& page_location,
|
| - const GURL& requested_host,
|
| - IPC::Message* reply_msg) {
|
| - provider_data_.CallWhenLoaded(
|
| - reply_with_provider_install_state_factory_.NewRunnableMethod(
|
| - &SearchProviderInstallStateDispatcherHost::
|
| - ReplyWithProviderInstallState,
|
| - page_location,
|
| - requested_host,
|
| - reply_msg));
|
| -}
|
| -
|
| -void SearchProviderInstallStateDispatcherHost::ReplyWithProviderInstallState(
|
| - const GURL& page_location,
|
| - const GURL& requested_host,
|
| - IPC::Message* reply_msg) {
|
| - DCHECK(reply_msg);
|
| - ViewHostMsg_GetSearchProviderInstallState_Params install_state =
|
| - GetSearchProviderInstallState(page_location, requested_host);
|
| -
|
| - ViewHostMsg_GetSearchProviderInstallState::WriteReplyParams(
|
| - reply_msg,
|
| - install_state);
|
| - Send(reply_msg);
|
| -}
|
|
|