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_ && chrome::IsInstantNTP(web_contents_);
     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::ShouldSendSetOmniboxStartMargin() {
     75   return true;
     76 }
     77 
     78 bool SearchIPCRouterPolicyImpl::ShouldSendSetInputInProgress(
     79     bool is_active_tab) {
     80   return is_active_tab && !is_incognito_;
     81 }
     82 
     83 bool SearchIPCRouterPolicyImpl::ShouldSendOmniboxFocusChanged() {
     84   return !is_incognito_;
     85 }
     86 
     87 bool SearchIPCRouterPolicyImpl::ShouldSendMostVisitedItems() {
     88   return !is_incognito_ && chrome::IsInstantNTP(web_contents_);
     89 }
     90 
     91 bool SearchIPCRouterPolicyImpl::ShouldSendThemeBackgroundInfo() {
     92   return !is_incognito_ && chrome::IsInstantNTP(web_contents_);
     93 }
     94 
     95 bool SearchIPCRouterPolicyImpl::ShouldSendToggleVoiceSearch() {
     96   return true;
     97 }
     98 
     99 bool SearchIPCRouterPolicyImpl::ShouldSubmitQuery() {
    100   return true;
    101 }
    102