1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/ui/search/search_ipc_router_policy_impl.h" 6 7#include "chrome/browser/profiles/profile.h" 8#include "chrome/browser/search/search.h" 9#include "content/public/browser/web_contents.h" 10 11SearchIPCRouterPolicyImpl::SearchIPCRouterPolicyImpl( 12 const content::WebContents* web_contents) 13 : web_contents_(web_contents), 14 is_incognito_(true) { 15 DCHECK(web_contents); 16 17 Profile* profile = 18 Profile::FromBrowserContext(web_contents_->GetBrowserContext()); 19 if (profile) 20 is_incognito_ = profile->IsOffTheRecord(); 21} 22 23SearchIPCRouterPolicyImpl::~SearchIPCRouterPolicyImpl() {} 24 25bool SearchIPCRouterPolicyImpl::ShouldProcessSetVoiceSearchSupport() { 26 return true; 27} 28 29bool SearchIPCRouterPolicyImpl::ShouldProcessFocusOmnibox(bool is_active_tab) { 30 return is_active_tab && !is_incognito_ && chrome::IsInstantNTP(web_contents_); 31} 32 33bool SearchIPCRouterPolicyImpl::ShouldProcessNavigateToURL(bool is_active_tab) { 34 return is_active_tab && !is_incognito_ && chrome::IsInstantNTP(web_contents_); 35} 36 37bool SearchIPCRouterPolicyImpl::ShouldProcessDeleteMostVisitedItem() { 38 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 39} 40 41bool SearchIPCRouterPolicyImpl::ShouldProcessUndoMostVisitedDeletion() { 42 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 43} 44 45bool SearchIPCRouterPolicyImpl::ShouldProcessUndoAllMostVisitedDeletions() { 46 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 47} 48 49bool SearchIPCRouterPolicyImpl::ShouldProcessLogEvent() { 50 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 51} 52 53bool SearchIPCRouterPolicyImpl::ShouldProcessPasteIntoOmnibox( 54 bool is_active_tab) { 55 return is_active_tab && !is_incognito_ && chrome::IsInstantNTP(web_contents_); 56} 57 58bool SearchIPCRouterPolicyImpl::ShouldProcessChromeIdentityCheck() { 59 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 60} 61 62bool SearchIPCRouterPolicyImpl::ShouldSendSetPromoInformation() { 63 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 64} 65 66bool SearchIPCRouterPolicyImpl::ShouldSendSetDisplayInstantResults() { 67 return !is_incognito_; 68} 69 70bool SearchIPCRouterPolicyImpl::ShouldSendSetSuggestionToPrefetch() { 71 return !is_incognito_; 72} 73 74bool SearchIPCRouterPolicyImpl::ShouldSendSetOmniboxStartMargin() { 75 return true; 76} 77 78bool SearchIPCRouterPolicyImpl::ShouldSendSetInputInProgress( 79 bool is_active_tab) { 80 return is_active_tab && !is_incognito_; 81} 82 83bool SearchIPCRouterPolicyImpl::ShouldSendOmniboxFocusChanged() { 84 return !is_incognito_; 85} 86 87bool SearchIPCRouterPolicyImpl::ShouldSendMostVisitedItems() { 88 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 89} 90 91bool SearchIPCRouterPolicyImpl::ShouldSendThemeBackgroundInfo() { 92 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 93} 94 95bool SearchIPCRouterPolicyImpl::ShouldSendToggleVoiceSearch() { 96 return true; 97} 98 99bool SearchIPCRouterPolicyImpl::ShouldSubmitQuery() { 100 return true; 101} 102