• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 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/webui/ntp/new_tab_page_sync_handler.h"
6 
7 #include "base/prefs/pref_service.h"
8 #include "chrome/browser/ui/browser.h"
9 #include "chrome/browser/ui/tabs/tab_strip_model.h"
10 #include "chrome/common/pref_names.h"
11 #include "chrome/common/url_constants.h"
12 #include "chrome/test/base/in_process_browser_test.h"
13 #include "chrome/test/base/testing_profile.h"
14 #include "chrome/test/base/ui_test_utils.h"
15 #include "content/public/browser/web_contents.h"
16 #include "content/public/browser/web_ui.h"
17 #include "content/public/test/browser_test_utils.h"
18 #include "testing/gmock/include/gmock/gmock.h"
19 #include "url/gurl.h"
20 
21 using ::testing::_;
22 
23 typedef InProcessBrowserTest NewTabPageSyncHandlerBrowserTest;
24 
25 class MockNewTabPageSyncHandler : public NewTabPageSyncHandler {
26  public:
27   MOCK_METHOD3(SendSyncMessageToPage, void(MessageType type, std::string msg,
28       std::string linktext));
29 
SetWaitingForInitialPageLoad(bool waiting)30   void SetWaitingForInitialPageLoad(bool waiting) {
31     waiting_for_initial_page_load_ = waiting;
32   }
33 };
34 
35 // TODO(samarth): Delete along with the rest of the NTP4 code.
IN_PROC_BROWSER_TEST_F(NewTabPageSyncHandlerBrowserTest,DISABLED_ChangeSigninAllowedToFalse)36 IN_PROC_BROWSER_TEST_F(NewTabPageSyncHandlerBrowserTest,
37                        DISABLED_ChangeSigninAllowedToFalse) {
38   ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUINewTabURL));
39   content::WebUI* web_ui =
40       browser()->tab_strip_model()->GetActiveWebContents()->GetWebUI();
41   MockNewTabPageSyncHandler* mock_handler = new MockNewTabPageSyncHandler();
42   mock_handler->SetWaitingForInitialPageLoad(false);
43   web_ui->AddMessageHandler(mock_handler);
44   EXPECT_CALL(*mock_handler, SendSyncMessageToPage(mock_handler->HIDE, _, _));
45   browser()->profile()->GetPrefs()->SetBoolean(prefs::kSigninAllowed, false);
46 }
47