Home | History | Annotate | Download | only in search
      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