- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / search / search_ipc_router_policy_impl.cc
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::ShouldSubmitQuery() {
83   return true;
84 }