| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012 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/android/new_tab_page_ready_handler.h" | |
| 6 | |
| 7 #include "base/bind.h" | |
| 8 #include "base/logging.h" | |
| 9 #include "base/values.h" | |
| 10 #include "chrome/browser/android/tab_android.h" | |
| 11 #include "content/public/browser/web_contents.h" | |
| 12 #include "content/public/browser/web_ui.h" | |
| 13 | |
| 14 NewTabPageReadyHandler::NewTabPageReadyHandler() { | |
| 15 } | |
| 16 | |
| 17 NewTabPageReadyHandler::~NewTabPageReadyHandler() { | |
| 18 } | |
| 19 | |
| 20 void NewTabPageReadyHandler::RegisterMessages() { | |
| 21 web_ui()->RegisterMessageCallback("notifyNTPReady", base::Bind( | |
| 22 &NewTabPageReadyHandler::HandleNewTabPageReady, base::Unretained(this))); | |
| 23 web_ui()->RegisterMessageCallback("NTPUnexpectedNavigation", base::Bind( | |
| 24 &NewTabPageReadyHandler::HandleNewTabPageUnexpectedNavigation, | |
| 25 base::Unretained(this))); | |
| 26 web_ui()->RegisterMessageCallback("notifyNTPTitleLoaded", base::Bind( | |
| 27 &NewTabPageReadyHandler::HandleNewTabPageTitleLoaded, | |
| 28 base::Unretained(this))); | |
| 29 } | |
| 30 | |
| 31 void NewTabPageReadyHandler::HandleNewTabPageTitleLoaded( | |
| 32 const base::ListValue* args) { | |
| 33 web_ui()->OverrideTitle(base::string16()); | |
| 34 } | |
| 35 | |
| 36 void NewTabPageReadyHandler::HandleNewTabPageReady( | |
| 37 const base::ListValue* args) { | |
| 38 TabAndroid* tab = TabAndroid::FromWebContents(web_ui()->GetWebContents()); | |
| 39 if (!tab) | |
| 40 return; | |
| 41 tab->OnNewTabPageReady(); | |
| 42 } | |
| 43 | |
| 44 void NewTabPageReadyHandler::HandleNewTabPageUnexpectedNavigation( | |
| 45 const base::ListValue* args) { | |
| 46 // NTP reached an unexpected state trying to send finish loading notification | |
| 47 // a second time. The notification should be sent only when page is | |
| 48 // completely done loading. This could otherwise create a race condition in | |
| 49 // tests waiting for the NTP to have loaded (any navigation NTP does after | |
| 50 // loading could interfere with the test navigation). | |
| 51 NOTREACHED(); | |
| 52 } | |
| OLD | NEW |