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 11 SearchIPCRouterPolicyImpl::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 23 SearchIPCRouterPolicyImpl::~SearchIPCRouterPolicyImpl() {} 24 25 bool SearchIPCRouterPolicyImpl::ShouldProcessSetVoiceSearchSupport() { 26 return true; 27 } 28 29 bool SearchIPCRouterPolicyImpl::ShouldProcessFocusOmnibox(bool is_active_tab) { 30 return is_active_tab && !is_incognito_ && chrome::IsInstantNTP(web_contents_); 31 } 32 33 bool SearchIPCRouterPolicyImpl::ShouldProcessNavigateToURL(bool is_active_tab) { 34 return is_active_tab && !is_incognito_; 35 } 36 37 bool SearchIPCRouterPolicyImpl::ShouldProcessDeleteMostVisitedItem() { 38 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 39 } 40 41 bool SearchIPCRouterPolicyImpl::ShouldProcessUndoMostVisitedDeletion() { 42 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 43 } 44 45 bool SearchIPCRouterPolicyImpl::ShouldProcessUndoAllMostVisitedDeletions() { 46 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 47 } 48 49 bool SearchIPCRouterPolicyImpl::ShouldProcessLogEvent() { 50 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 51 } 52 53 bool SearchIPCRouterPolicyImpl::ShouldProcessPasteIntoOmnibox( 54 bool is_active_tab) { 55 return is_active_tab && !is_incognito_ && chrome::IsInstantNTP(web_contents_); 56 } 57 58 bool SearchIPCRouterPolicyImpl::ShouldProcessChromeIdentityCheck() { 59 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 60 } 61 62 bool SearchIPCRouterPolicyImpl::ShouldSendSetPromoInformation() { 63 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 64 } 65 66 bool SearchIPCRouterPolicyImpl::ShouldSendSetDisplayInstantResults() { 67 return !is_incognito_; 68 } 69 70 bool SearchIPCRouterPolicyImpl::ShouldSendSetSuggestionToPrefetch() { 71 return !is_incognito_; 72 } 73 74 bool SearchIPCRouterPolicyImpl::ShouldSendMostVisitedItems() { 75 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 76 } 77 78 bool SearchIPCRouterPolicyImpl::ShouldSendThemeBackgroundInfo() { 79 return !is_incognito_ && chrome::IsInstantNTP(web_contents_); 80 } 81 82 bool SearchIPCRouterPolicyImpl::ShouldSendToggleVoiceSearch() { 83 return true; 84 } 85 86 bool SearchIPCRouterPolicyImpl::ShouldSubmitQuery() { 87 return true; 88 } 89