Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Side by Side Diff: chrome/browser/ui/search/search_ipc_router_unittest.cc

Issue 1908363002: Nuke chrome.embeddedeseach.newTabPage.navigateContentWindow (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/search/search_ipc_router.h" 5 #include "chrome/browser/ui/search/search_ipc_router.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <tuple> 10 #include <tuple>
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 #include "url/gurl.h" 43 #include "url/gurl.h"
44 44
45 namespace { 45 namespace {
46 46
47 class MockSearchIPCRouterDelegate : public SearchIPCRouter::Delegate { 47 class MockSearchIPCRouterDelegate : public SearchIPCRouter::Delegate {
48 public: 48 public:
49 virtual ~MockSearchIPCRouterDelegate() {} 49 virtual ~MockSearchIPCRouterDelegate() {}
50 50
51 MOCK_METHOD1(OnInstantSupportDetermined, void(bool supports_instant)); 51 MOCK_METHOD1(OnInstantSupportDetermined, void(bool supports_instant));
52 MOCK_METHOD1(FocusOmnibox, void(OmniboxFocusState state)); 52 MOCK_METHOD1(FocusOmnibox, void(OmniboxFocusState state));
53 MOCK_METHOD2(NavigateToURL, void(const GURL&, WindowOpenDisposition));
54 MOCK_METHOD1(OnDeleteMostVisitedItem, void(const GURL& url)); 53 MOCK_METHOD1(OnDeleteMostVisitedItem, void(const GURL& url));
55 MOCK_METHOD1(OnUndoMostVisitedDeletion, void(const GURL& url)); 54 MOCK_METHOD1(OnUndoMostVisitedDeletion, void(const GURL& url));
56 MOCK_METHOD0(OnUndoAllMostVisitedDeletions, void()); 55 MOCK_METHOD0(OnUndoAllMostVisitedDeletions, void());
57 MOCK_METHOD2(OnLogEvent, void(NTPLoggingEventType event, 56 MOCK_METHOD2(OnLogEvent, void(NTPLoggingEventType event,
58 base::TimeDelta time)); 57 base::TimeDelta time));
59 MOCK_METHOD2(OnLogMostVisitedImpression, 58 MOCK_METHOD2(OnLogMostVisitedImpression,
60 void(int position, const base::string16& provider)); 59 void(int position, const base::string16& provider));
61 MOCK_METHOD2(OnLogMostVisitedNavigation, 60 MOCK_METHOD2(OnLogMostVisitedNavigation,
62 void(int position, const base::string16& provider)); 61 void(int position, const base::string16& provider));
63 MOCK_METHOD1(PasteIntoOmnibox, void(const base::string16&)); 62 MOCK_METHOD1(PasteIntoOmnibox, void(const base::string16&));
64 MOCK_METHOD1(OnChromeIdentityCheck, void(const base::string16& identity)); 63 MOCK_METHOD1(OnChromeIdentityCheck, void(const base::string16& identity));
65 MOCK_METHOD0(OnHistorySyncCheck, void()); 64 MOCK_METHOD0(OnHistorySyncCheck, void());
66 }; 65 };
67 66
68 class MockSearchIPCRouterPolicy : public SearchIPCRouter::Policy { 67 class MockSearchIPCRouterPolicy : public SearchIPCRouter::Policy {
69 public: 68 public:
70 virtual ~MockSearchIPCRouterPolicy() {} 69 virtual ~MockSearchIPCRouterPolicy() {}
71 70
72 MOCK_METHOD1(ShouldProcessFocusOmnibox, bool(bool)); 71 MOCK_METHOD1(ShouldProcessFocusOmnibox, bool(bool));
73 MOCK_METHOD1(ShouldProcessNavigateToURL, bool(bool));
74 MOCK_METHOD0(ShouldProcessDeleteMostVisitedItem, bool()); 72 MOCK_METHOD0(ShouldProcessDeleteMostVisitedItem, bool());
75 MOCK_METHOD0(ShouldProcessUndoMostVisitedDeletion, bool()); 73 MOCK_METHOD0(ShouldProcessUndoMostVisitedDeletion, bool());
76 MOCK_METHOD0(ShouldProcessUndoAllMostVisitedDeletions, bool()); 74 MOCK_METHOD0(ShouldProcessUndoAllMostVisitedDeletions, bool());
77 MOCK_METHOD0(ShouldProcessLogEvent, bool()); 75 MOCK_METHOD0(ShouldProcessLogEvent, bool());
78 MOCK_METHOD1(ShouldProcessPasteIntoOmnibox, bool(bool)); 76 MOCK_METHOD1(ShouldProcessPasteIntoOmnibox, bool(bool));
79 MOCK_METHOD0(ShouldProcessChromeIdentityCheck, bool()); 77 MOCK_METHOD0(ShouldProcessChromeIdentityCheck, bool());
80 MOCK_METHOD0(ShouldProcessHistorySyncCheck, bool()); 78 MOCK_METHOD0(ShouldProcessHistorySyncCheck, bool());
81 MOCK_METHOD0(ShouldSendSetPromoInformation, bool()); 79 MOCK_METHOD0(ShouldSendSetPromoInformation, bool());
82 MOCK_METHOD0(ShouldSendSetDisplayInstantResults, bool()); 80 MOCK_METHOD0(ShouldSendSetDisplayInstantResults, bool());
83 MOCK_METHOD0(ShouldSendSetSuggestionToPrefetch, bool()); 81 MOCK_METHOD0(ShouldSendSetSuggestionToPrefetch, bool());
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 } 200 }
203 201
204 private: 202 private:
205 MockSearchIPCRouterDelegate delegate_; 203 MockSearchIPCRouterDelegate delegate_;
206 base::FieldTrialList field_trial_list_; 204 base::FieldTrialList field_trial_list_;
207 }; 205 };
208 206
209 TEST_F(SearchIPCRouterTest, IgnoreMessagesFromNonInstantRenderers) { 207 TEST_F(SearchIPCRouterTest, IgnoreMessagesFromNonInstantRenderers) {
210 NavigateAndCommitActiveTab(GURL("file://foo/bar")); 208 NavigateAndCommitActiveTab(GURL("file://foo/bar"));
211 SetupMockDelegateAndPolicy(); 209 SetupMockDelegateAndPolicy();
212 GURL destination_url("www.foo.com"); 210 EXPECT_CALL(*mock_delegate(), FocusOmnibox(OMNIBOX_FOCUS_VISIBLE)).Times(0);
213 EXPECT_CALL(*mock_delegate(),
214 NavigateToURL(destination_url, CURRENT_TAB)).Times(0);
215 content::WebContents* contents = web_contents(); 211 content::WebContents* contents = web_contents();
216 bool is_active_tab = IsActiveTab(contents); 212 bool is_active_tab = IsActiveTab(contents);
217 EXPECT_TRUE(is_active_tab); 213 EXPECT_TRUE(is_active_tab);
218 214
219 MockSearchIPCRouterPolicy* policy = GetSearchIPCRouterPolicy(); 215 MockSearchIPCRouterPolicy* policy = GetSearchIPCRouterPolicy();
220 EXPECT_CALL(*policy, ShouldProcessNavigateToURL(is_active_tab)).Times(0); 216 EXPECT_CALL(*policy, ShouldProcessFocusOmnibox(is_active_tab)).Times(0);
221 217
222 OnMessageReceived(ChromeViewHostMsg_SearchBoxNavigate( 218 OnMessageReceived(ChromeViewHostMsg_FocusOmnibox(
223 contents->GetRoutingID(), GetSearchIPCRouterSeqNo(), destination_url, 219 contents->GetRoutingID(), GetSearchIPCRouterSeqNo(),
224 CURRENT_TAB)); 220 OMNIBOX_FOCUS_VISIBLE));
225 } 221 }
226 222
227 TEST_F(SearchIPCRouterTest, ProcessFocusOmniboxMsg) { 223 TEST_F(SearchIPCRouterTest, ProcessFocusOmniboxMsg) {
228 NavigateAndCommitActiveTab(GURL(chrome::kChromeSearchLocalNtpUrl)); 224 NavigateAndCommitActiveTab(GURL(chrome::kChromeSearchLocalNtpUrl));
229 SetupMockDelegateAndPolicy(); 225 SetupMockDelegateAndPolicy();
230 MockSearchIPCRouterPolicy* policy = GetSearchIPCRouterPolicy(); 226 MockSearchIPCRouterPolicy* policy = GetSearchIPCRouterPolicy();
231 EXPECT_CALL(*mock_delegate(), FocusOmnibox(OMNIBOX_FOCUS_VISIBLE)).Times(1); 227 EXPECT_CALL(*mock_delegate(), FocusOmnibox(OMNIBOX_FOCUS_VISIBLE)).Times(1);
232 228
233 content::WebContents* contents = web_contents(); 229 content::WebContents* contents = web_contents();
234 bool is_active_tab = IsActiveTab(contents); 230 bool is_active_tab = IsActiveTab(contents);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 EXPECT_EQ(0, browser()->tab_strip_model()->active_index()); 267 EXPECT_EQ(0, browser()->tab_strip_model()->active_index());
272 EXPECT_FALSE(IsActiveTab(contents)); 268 EXPECT_FALSE(IsActiveTab(contents));
273 269
274 // Activate the first tab. 270 // Activate the first tab.
275 browser()->tab_strip_model()->ActivateTabAt(1, false); 271 browser()->tab_strip_model()->ActivateTabAt(1, false);
276 EXPECT_EQ(browser()->tab_strip_model()->active_index(), 272 EXPECT_EQ(browser()->tab_strip_model()->active_index(),
277 browser()->tab_strip_model()->GetIndexOfWebContents(contents)); 273 browser()->tab_strip_model()->GetIndexOfWebContents(contents));
278 EXPECT_TRUE(IsActiveTab(contents)); 274 EXPECT_TRUE(IsActiveTab(contents));
279 } 275 }
280 276
281 TEST_F(SearchIPCRouterTest, ProcessNavigateToURLMsg) {
282 NavigateAndCommitActiveTab(GURL(chrome::kChromeSearchLocalNtpUrl));
283 SetupMockDelegateAndPolicy();
284 GURL destination_url("www.foo.com");
285 EXPECT_CALL(*mock_delegate(),
286 NavigateToURL(destination_url, CURRENT_TAB)).Times(1);
287 content::WebContents* contents = web_contents();
288 bool is_active_tab = IsActiveTab(contents);
289 EXPECT_TRUE(is_active_tab);
290
291 MockSearchIPCRouterPolicy* policy = GetSearchIPCRouterPolicy();
292 EXPECT_CALL(*policy, ShouldProcessNavigateToURL(is_active_tab)).Times(1)
293 .WillOnce(testing::Return(true));
294
295 OnMessageReceived(ChromeViewHostMsg_SearchBoxNavigate(
296 contents->GetRoutingID(), GetSearchIPCRouterSeqNo(), destination_url,
297 CURRENT_TAB));
298 }
299
300 TEST_F(SearchIPCRouterTest, IgnoreNavigateToURLMsg) {
301 NavigateAndCommitActiveTab(GURL("chrome-search://foo/bar"));
302 SetupMockDelegateAndPolicy();
303 GURL destination_url("www.foo.com");
304 EXPECT_CALL(*mock_delegate(),
305 NavigateToURL(destination_url, CURRENT_TAB)).Times(0);
306 content::WebContents* contents = web_contents();
307 bool is_active_tab = IsActiveTab(contents);
308 EXPECT_TRUE(is_active_tab);
309
310 MockSearchIPCRouterPolicy* policy = GetSearchIPCRouterPolicy();
311 EXPECT_CALL(*policy, ShouldProcessNavigateToURL(is_active_tab)).Times(1)
312 .WillOnce(testing::Return(false));
313
314 OnMessageReceived(ChromeViewHostMsg_SearchBoxNavigate(
315 contents->GetRoutingID(), GetSearchIPCRouterSeqNo(), destination_url,
316 CURRENT_TAB));
317 }
318
319 TEST_F(SearchIPCRouterTest, ProcessLogEventMsg) { 277 TEST_F(SearchIPCRouterTest, ProcessLogEventMsg) {
320 base::TimeDelta delta = base::TimeDelta::FromMilliseconds(123); 278 base::TimeDelta delta = base::TimeDelta::FromMilliseconds(123);
321 NavigateAndCommitActiveTab(GURL(chrome::kChromeSearchLocalNtpUrl)); 279 NavigateAndCommitActiveTab(GURL(chrome::kChromeSearchLocalNtpUrl));
322 SetupMockDelegateAndPolicy(); 280 SetupMockDelegateAndPolicy();
323 MockSearchIPCRouterPolicy* policy = GetSearchIPCRouterPolicy(); 281 MockSearchIPCRouterPolicy* policy = GetSearchIPCRouterPolicy();
324 EXPECT_CALL(*mock_delegate(), OnLogEvent(NTP_MOUSEOVER, delta)).Times(1); 282 EXPECT_CALL(*mock_delegate(), OnLogEvent(NTP_MOUSEOVER, delta)).Times(1);
325 EXPECT_CALL(*policy, ShouldProcessLogEvent()).Times(1) 283 EXPECT_CALL(*policy, ShouldProcessLogEvent()).Times(1)
326 .WillOnce(testing::Return(true)); 284 .WillOnce(testing::Return(true));
327 285
328 content::WebContents* contents = web_contents(); 286 content::WebContents* contents = web_contents();
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 474
517 TEST_F(SearchIPCRouterTest, IgnoreMessageIfThePageIsNotActive) { 475 TEST_F(SearchIPCRouterTest, IgnoreMessageIfThePageIsNotActive) {
518 NavigateAndCommitActiveTab(GURL(chrome::kChromeSearchLocalNtpUrl)); 476 NavigateAndCommitActiveTab(GURL(chrome::kChromeSearchLocalNtpUrl));
519 SetupMockDelegateAndPolicy(); 477 SetupMockDelegateAndPolicy();
520 MockSearchIPCRouterPolicy* policy = GetSearchIPCRouterPolicy(); 478 MockSearchIPCRouterPolicy* policy = GetSearchIPCRouterPolicy();
521 int page_seq_no = GetSearchIPCRouterSeqNo(); 479 int page_seq_no = GetSearchIPCRouterSeqNo();
522 480
523 content::WebContents* contents = web_contents(); 481 content::WebContents* contents = web_contents();
524 bool is_active_tab = IsActiveTab(contents); 482 bool is_active_tab = IsActiveTab(contents);
525 GURL item_url("www.foo.com"); 483 GURL item_url("www.foo.com");
526 EXPECT_CALL(*mock_delegate(), NavigateToURL(item_url, CURRENT_TAB)).Times(0); 484
527 // At this point, in a real test, the navigation would cause the 485 // Navigate away from the NTP. Afterwards, all messages should be ignored.
528 // SearchIPCRouter's page sequence to advance. In this test it doesn't, so 486 NavigateAndCommitActiveTab(item_url);
529 // we'll decrement the sequence number on this side to simulate it.
530 --page_seq_no;
531 EXPECT_CALL(*policy, ShouldProcessNavigateToURL(is_active_tab)).Times(0);
532 OnMessageReceived(ChromeViewHostMsg_SearchBoxNavigate(
533 contents->GetRoutingID(), page_seq_no, item_url, CURRENT_TAB));
534 487
535 EXPECT_CALL(*mock_delegate(), OnDeleteMostVisitedItem(item_url)).Times(0); 488 EXPECT_CALL(*mock_delegate(), OnDeleteMostVisitedItem(item_url)).Times(0);
536 EXPECT_CALL(*policy, ShouldProcessDeleteMostVisitedItem()).Times(0); 489 EXPECT_CALL(*policy, ShouldProcessDeleteMostVisitedItem()).Times(0);
537 OnMessageReceived(ChromeViewHostMsg_SearchBoxDeleteMostVisitedItem( 490 OnMessageReceived(ChromeViewHostMsg_SearchBoxDeleteMostVisitedItem(
538 contents->GetRoutingID(), page_seq_no, item_url)); 491 contents->GetRoutingID(), page_seq_no, item_url));
539 492
540 EXPECT_CALL(*mock_delegate(), OnUndoMostVisitedDeletion(item_url)).Times(0); 493 EXPECT_CALL(*mock_delegate(), OnUndoMostVisitedDeletion(item_url)).Times(0);
541 EXPECT_CALL(*policy, ShouldProcessUndoMostVisitedDeletion()).Times(0); 494 EXPECT_CALL(*policy, ShouldProcessUndoMostVisitedDeletion()).Times(0);
542 OnMessageReceived(ChromeViewHostMsg_SearchBoxUndoMostVisitedDeletion( 495 OnMessageReceived(ChromeViewHostMsg_SearchBoxUndoMostVisitedDeletion(
543 contents->GetRoutingID(), page_seq_no, item_url)); 496 contents->GetRoutingID(), page_seq_no, item_url));
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 784
832 // Construct a series of synthetic messages for each valid IPC message type, 785 // Construct a series of synthetic messages for each valid IPC message type,
833 // ensuring the router ignores them all. 786 // ensuring the router ignores them all.
834 for (int i = 0; i < LastIPCMsgStart; ++i) { 787 for (int i = 0; i < LastIPCMsgStart; ++i) {
835 const int message_id = i << 16; 788 const int message_id = i << 16;
836 ASSERT_EQ(IPC_MESSAGE_ID_CLASS(message_id), i); 789 ASSERT_EQ(IPC_MESSAGE_ID_CLASS(message_id), i);
837 IPC::Message msg(routing_id, message_id, IPC::Message::PRIORITY_LOW); 790 IPC::Message msg(routing_id, message_id, IPC::Message::PRIORITY_LOW);
838 EXPECT_FALSE(OnSpuriousMessageReceived(msg)) << i; 791 EXPECT_FALSE(OnSpuriousMessageReceived(msg)) << i;
839 } 792 }
840 } 793 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/search/search_ipc_router_policy_unittest.cc ('k') | chrome/browser/ui/search/search_tab_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698