| Index: chrome/browser/chromeos/chrome_browser_main_chromeos.cc
|
| diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
|
| index fa32096034d392640984ef88faa047cd8a50c479..bee47b77073be70e3e2546322334518bf23ce94c 100644
|
| --- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
|
| +++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
|
| @@ -96,6 +96,7 @@
|
| #include "chromeos/dbus/dbus_thread_manager.h"
|
| #include "chromeos/dbus/power_policy_controller.h"
|
| #include "chromeos/dbus/session_manager_client.h"
|
| +#include "chromeos/dbus/shill_manager_client.h"
|
| #include "chromeos/disks/disk_mount_manager.h"
|
| #include "chromeos/ime/ime_keyboard.h"
|
| #include "chromeos/ime/input_method_manager.h"
|
| @@ -105,6 +106,7 @@
|
| #include "chromeos/network/network_handler.h"
|
| #include "chromeos/system/statistics_provider.h"
|
| #include "chromeos/tpm_token_loader.h"
|
| +#include "components/gcm_driver/default_gcm_app_handler.h"
|
| #include "components/metrics/metrics_service.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/notification_service.h"
|
| @@ -750,9 +752,36 @@ void ChromeBrowserMainPartsChromeos::PreBrowserStart() {
|
| system::InputDeviceSettings::Get()->SetTapToClick(true);
|
| }
|
|
|
| + // Register GCM connection callbacks.
|
| + gcm::DefaultGCMAppHandler::RegisterConnectionCallbacks(
|
| + ChromeBrowserMainPartsChromeos::OnGCMConnected,
|
| + ChromeBrowserMainPartsChromeos::OnGCMDisconnected);
|
| +
|
| ChromeBrowserMainPartsLinux::PreBrowserStart();
|
| }
|
|
|
| +// static
|
| +void ChromeBrowserMainPartsChromeos::GCMErrorCallback(
|
| + const std::string &error_name,
|
| + const std::string &error) {
|
| + LOG(ERROR) << "GCM callback error " << error_name << ": " << error;
|
| +}
|
| +
|
| +// static
|
| +void ChromeBrowserMainPartsChromeos::OnGCMConnected(
|
| + const net::IPEndPoint& ip_endpoint) {
|
| + const std::string ip_endpoint_string = ip_endpoint.ToString();
|
| + chromeos::DBusThreadManager::Get()->
|
| + GetShillManagerClient()->
|
| + AddWakeOnPacketConnection(
|
| + ip_endpoint_string,
|
| + base::Bind(&base::DoNothing),
|
| + base::Bind(&ChromeBrowserMainPartsChromeos::GCMErrorCallback));
|
| +}
|
| +
|
| +void ChromeBrowserMainPartsChromeos::OnGCMDisconnected() {
|
| +}
|
| +
|
| void ChromeBrowserMainPartsChromeos::PostBrowserStart() {
|
| // These are dependent on the ash::Shell singleton already having been
|
| // initialized.
|
|
|