diff options
author | skuhne <skuhne@chromium.org> | 2014-09-18 16:14:17 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-18 23:14:54 +0000 |
commit | 8e7b4ff4742ed5f78fa57550af1fb4cfc5705372 (patch) | |
tree | 8714d14f10bf8e41ba667eb8ecf7470b3ab3b1c2 | |
parent | 01c68e8765254d9971296b291ff718b4f6af3004 (diff) | |
download | chromium_src-8e7b4ff4742ed5f78fa57550af1fb4cfc5705372.zip chromium_src-8e7b4ff4742ed5f78fa57550af1fb4cfc5705372.tar.gz chromium_src-8e7b4ff4742ed5f78fa57550af1fb4cfc5705372.tar.bz2 |
Revert of GCM: D-Bus methods for wake-on-packet (patchset #15 id:280001 of https://codereview.chromium.org/409883006/)
Reason for revert:
See issue https://code.google.com/p/chromium/issues/detail?id=415281
I bissected chrome to this patch and figured that this is causing chrome to crash.
Sorry.
Original issue's description:
> GCM: D-Bus methods for wake-on-packet
>
> Program the NIC to wake-on-packet for packets arriving from
> the GCM server. Chrome notifies the connection manager (shill)
> by calling D-Bus methods. The return status indicates if the
> operation succeeded or not (depending on hardware support and
> the type of connection).
>
> Keywords: wowlan, wake-on-lan, wake-on-wlan
>
> BUG=360295
> TEST=verified dbus methods are called, and packets are sent on the
> TEST=connection passed to the methods. Also verified that shill
> TEST=programs the NIC correctly, and packets wake up the device.
>
> Committed: https://crrev.com/88a95a70fa94bb578b371490d0f9868584b7096e
> Cr-Commit-Position: refs/heads/master@{#294936}
TBR=derat@chromium.org,fgorski@chromium.org,stevenjb@chromium.org,zea@chromium.org,scheib@chromium.org,yoz@chromium.org,semenzato@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=360295
Review URL: https://codereview.chromium.org/584753002
Cr-Commit-Position: refs/heads/master@{#295592}
-rw-r--r-- | DEPS | 2 | ||||
-rw-r--r-- | chrome/browser/extensions/extension_gcm_app_handler_unittest.cc | 4 | ||||
-rw-r--r-- | chrome/browser/services/gcm/chromeos_gcm_connection_observer.cc | 47 | ||||
-rw-r--r-- | chrome/browser/services/gcm/chromeos_gcm_connection_observer.h | 34 | ||||
-rw-r--r-- | chrome/browser/services/gcm/gcm_profile_service.cc | 12 | ||||
-rw-r--r-- | chrome/browser/services/gcm/gcm_profile_service.h | 3 | ||||
-rw-r--r-- | chrome/browser/services/gcm/gcm_profile_service_unittest.cc | 8 | ||||
-rw-r--r-- | chrome/chrome_browser.gypi | 2 | ||||
-rw-r--r-- | chromeos/dbus/fake_shill_manager_client.cc | 17 | ||||
-rw-r--r-- | chromeos/dbus/fake_shill_manager_client.h | 16 | ||||
-rw-r--r-- | chromeos/dbus/mock_shill_manager_client.h | 12 | ||||
-rw-r--r-- | chromeos/dbus/shill_manager_client.cc | 38 | ||||
-rw-r--r-- | chromeos/dbus/shill_manager_client.h | 42 |
13 files changed, 12 insertions, 225 deletions
@@ -432,7 +432,7 @@ deps_os = { # For Linux and Chromium OS. 'src/third_party/cros_system_api': - Var('chromium_git') + '/chromiumos/platform/system_api.git' + '@' + '58e64ad700fb0e9d182feba37fa02af612d4179e', + Var('chromium_git') + '/chromiumos/platform/system_api.git' + '@' + '3a7cfa4ba91518b8dd03282d09996d2f42ec6a2b', # Note that this is different from Android's freetype repo. 'src/third_party/freetype2/src': diff --git a/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc b/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc index 1c7234f..cee0ea9 100644 --- a/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc +++ b/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc @@ -56,7 +56,6 @@ #include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h" #include "chrome/browser/chromeos/settings/cros_settings.h" #include "chrome/browser/chromeos/settings/device_settings_service.h" -#include "chromeos/dbus/dbus_thread_manager.h" #endif namespace extensions { @@ -221,9 +220,6 @@ class ExtensionGCMAppHandlerTest : public testing::Test { // This is needed to create extension service under CrOS. #if defined(OS_CHROMEOS) test_user_manager_.reset(new chromeos::ScopedTestUserManager()); - // Create a DBus thread manager setter for its side effect. - // Ignore the return value. - chromeos::DBusThreadManager::GetSetterForTesting(); #endif // Create a new profile. diff --git a/chrome/browser/services/gcm/chromeos_gcm_connection_observer.cc b/chrome/browser/services/gcm/chromeos_gcm_connection_observer.cc deleted file mode 100644 index 99a1873..0000000 --- a/chrome/browser/services/gcm/chromeos_gcm_connection_observer.cc +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/services/gcm/chromeos_gcm_connection_observer.h" - -#include "base/callback.h" -#include "base/logging.h" -#include "chromeos/dbus/dbus_thread_manager.h" -#include "chromeos/dbus/shill_manager_client.h" - -namespace gcm { - -ChromeOSGCMConnectionObserver::ChromeOSGCMConnectionObserver() { -} - -ChromeOSGCMConnectionObserver::~ChromeOSGCMConnectionObserver() { -} - -// static -void ChromeOSGCMConnectionObserver::ErrorCallback( - const std::string& error_name, - const std::string& error) { - LOG(ERROR) << "GCM D-Bus method error " << error_name << ": " << error; -} - -void ChromeOSGCMConnectionObserver::OnConnected( - const net::IPEndPoint& ip_endpoint) { - ip_endpoint_ = ip_endpoint; - chromeos::DBusThreadManager::Get()-> - GetShillManagerClient()-> - AddWakeOnPacketConnection( - ip_endpoint, - base::Bind(&base::DoNothing), - base::Bind(&ChromeOSGCMConnectionObserver::ErrorCallback)); -} - -void ChromeOSGCMConnectionObserver::OnDisconnected() { - chromeos::DBusThreadManager::Get()-> - GetShillManagerClient()-> - RemoveWakeOnPacketConnection( - ip_endpoint_, - base::Bind(&base::DoNothing), - base::Bind(&ChromeOSGCMConnectionObserver::ErrorCallback)); -} - -} // namespace gcm diff --git a/chrome/browser/services/gcm/chromeos_gcm_connection_observer.h b/chrome/browser/services/gcm/chromeos_gcm_connection_observer.h deleted file mode 100644 index f224e38..0000000 --- a/chrome/browser/services/gcm/chromeos_gcm_connection_observer.h +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CHROME_BROWSER_SERVICES_GCM_CHROMEOS_GCM_CONNECTION_OBSERVER_H_ -#define CHROME_BROWSER_SERVICES_GCM_CHROMEOS_GCM_CONNECTION_OBSERVER_H_ - -#include "base/compiler_specific.h" -#include "components/gcm_driver/gcm_connection_observer.h" -#include "net/base/ip_endpoint.h" - -namespace gcm { - -class ChromeOSGCMConnectionObserver : public GCMConnectionObserver { - public: - ChromeOSGCMConnectionObserver(); - virtual ~ChromeOSGCMConnectionObserver(); - // gcm::GCMConnectionObserver implementation: - virtual void OnConnected(const net::IPEndPoint& ip_endpoint) OVERRIDE; - virtual void OnDisconnected() OVERRIDE; - - static void ErrorCallback( - const std::string& error_name, - const std::string& error); - - private: - net::IPEndPoint ip_endpoint_; - - DISALLOW_COPY_AND_ASSIGN(ChromeOSGCMConnectionObserver); -}; - -} // namespace gcm - -#endif // CHROME_BROWSER_SERVICES_GCM_CHROMEOS_GCM_CONNECTION_OBSERVER_H_ diff --git a/chrome/browser/services/gcm/gcm_profile_service.cc b/chrome/browser/services/gcm/gcm_profile_service.cc index 5324ffd..069862d 100644 --- a/chrome/browser/services/gcm/gcm_profile_service.cc +++ b/chrome/browser/services/gcm/gcm_profile_service.cc @@ -16,9 +16,6 @@ #include "components/gcm_driver/gcm_driver_android.h" #else #include "base/bind.h" -#if defined(OS_CHROMEOS) -#include "chrome/browser/services/gcm/chromeos_gcm_connection_observer.h" -#endif #include "base/files/file_path.h" #include "base/memory/weak_ptr.h" #include "chrome/browser/services/gcm/gcm_account_tracker.h" @@ -172,11 +169,6 @@ GCMProfileService::GCMProfileService( profile_->GetPath().Append(chrome::kGCMStoreDirname), profile_->GetRequestContext()); -#ifdef CHROMEOS - chromeos_connection_observer_.reset(new gcm::ChromeOSGCMConnectionObserver); - driver_->AddConnectionObserver(chromeos_connection_observer_.get()); -#endif - identity_observer_.reset(new IdentityObserver( profile, static_cast<gcm::GCMDriverDesktop*>(driver_.get()))); } @@ -212,10 +204,6 @@ void GCMProfileService::Shutdown() { #if !defined(OS_ANDROID) identity_observer_.reset(); #endif // !defined(OS_ANDROID) -#if defined(OS_CHROMEOS) - driver_->RemoveConnectionObserver(chromeos_connection_observer_.get()); - chromeos_connection_observer_.reset(); -#endif if (driver_) { driver_->Shutdown(); diff --git a/chrome/browser/services/gcm/gcm_profile_service.h b/chrome/browser/services/gcm/gcm_profile_service.h index 83f9372..abfd3ce 100644 --- a/chrome/browser/services/gcm/gcm_profile_service.h +++ b/chrome/browser/services/gcm/gcm_profile_service.h @@ -86,9 +86,6 @@ class GCMProfileService : public KeyedService { class IdentityObserver; scoped_ptr<IdentityObserver> identity_observer_; #endif -#if defined(OS_CHROMEOS) - scoped_ptr<GCMConnectionObserver> chromeos_connection_observer_; -#endif DISALLOW_COPY_AND_ASSIGN(GCMProfileService); }; diff --git a/chrome/browser/services/gcm/gcm_profile_service_unittest.cc b/chrome/browser/services/gcm/gcm_profile_service_unittest.cc index 7f0d632..3d77031 100644 --- a/chrome/browser/services/gcm/gcm_profile_service_unittest.cc +++ b/chrome/browser/services/gcm/gcm_profile_service_unittest.cc @@ -15,9 +15,6 @@ #include "chrome/browser/services/gcm/gcm_profile_service_factory.h" #include "chrome/browser/signin/signin_manager_factory.h" #include "chrome/test/base/testing_profile.h" -#if defined(OS_CHROMEOS) -#include "chromeos/dbus/dbus_thread_manager.h" -#endif #include "components/gcm_driver/fake_gcm_app_handler.h" #include "components/gcm_driver/fake_gcm_client.h" #include "components/gcm_driver/fake_gcm_client_factory.h" @@ -119,11 +116,6 @@ FakeGCMClient* GCMProfileServiceTest::GetGCMClient() const { } void GCMProfileServiceTest::SetUp() { -#if defined(OS_CHROMEOS) - // Create a DBus thread manager setter for its side effect. - // Ignore the return value. - chromeos::DBusThreadManager::GetSetterForTesting(); -#endif TestingProfile::Builder builder; builder.AddTestingFactory(SigninManagerFactory::GetInstance(), FakeSigninManager::Build); diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index c85805b..e5fd182 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -2629,8 +2629,6 @@ # support ChromeOS with enable_plugins==0. 'browser/renderer_host/pepper/pepper_platform_verification_message_filter.cc', 'browser/renderer_host/pepper/pepper_platform_verification_message_filter.h', - 'browser/services/gcm/chromeos_gcm_connection_observer.cc', - 'browser/services/gcm/chromeos_gcm_connection_observer.h', ], # Used everywhere but ChromeOS. 'chrome_browser_non_chromeos_sources': [ diff --git a/chromeos/dbus/fake_shill_manager_client.cc b/chromeos/dbus/fake_shill_manager_client.cc index f5ab9a59..25ad05d 100644 --- a/chromeos/dbus/fake_shill_manager_client.cc +++ b/chromeos/dbus/fake_shill_manager_client.cc @@ -355,23 +355,6 @@ void FakeShillManagerClient::ConnectToBestServices( dbus::ObjectPath(best_service_), callback, error_callback); } -void FakeShillManagerClient::AddWakeOnPacketConnection( - const net::IPEndPoint& ip_endpoint, - const base::Closure& callback, - const ErrorCallback& error_callback) { -} - -void FakeShillManagerClient::RemoveWakeOnPacketConnection( - const net::IPEndPoint& ip_endpoint, - const base::Closure& callback, - const ErrorCallback& error_callback) { -} - -void FakeShillManagerClient::RemoveAllWakeOnPacketConnections( - const base::Closure& callback, - const ErrorCallback& error_callback) { -} - ShillManagerClient::TestInterface* FakeShillManagerClient::GetTestInterface() { return this; } diff --git a/chromeos/dbus/fake_shill_manager_client.h b/chromeos/dbus/fake_shill_manager_client.h index 7f24ca2..34b10a5 100644 --- a/chromeos/dbus/fake_shill_manager_client.h +++ b/chromeos/dbus/fake_shill_manager_client.h @@ -12,10 +12,6 @@ #include "chromeos/chromeos_export.h" #include "chromeos/dbus/shill_manager_client.h" -namespace net { -class IPEndPoint; -} - namespace chromeos { // A fake implementation of ShillManagerClient. This works in close coordination @@ -81,18 +77,6 @@ class CHROMEOS_EXPORT FakeShillManagerClient virtual void ConnectToBestServices( const base::Closure& callback, const ErrorCallback& error_callback) OVERRIDE; - virtual void AddWakeOnPacketConnection( - const net::IPEndPoint& ip_connection, - const base::Closure& callback, - const ErrorCallback& error_callback) OVERRIDE; - virtual void RemoveWakeOnPacketConnection( - const net::IPEndPoint& ip_endpoint, - const base::Closure& callback, - const ErrorCallback& error_callback) OVERRIDE; - virtual void RemoveAllWakeOnPacketConnections( - const base::Closure& callback, - const ErrorCallback& error_callback) OVERRIDE; - virtual ShillManagerClient::TestInterface* GetTestInterface() OVERRIDE; // ShillManagerClient::TestInterface overrides. diff --git a/chromeos/dbus/mock_shill_manager_client.h b/chromeos/dbus/mock_shill_manager_client.h index 63c8c9c4..bf80b64 100644 --- a/chromeos/dbus/mock_shill_manager_client.h +++ b/chromeos/dbus/mock_shill_manager_client.h @@ -8,7 +8,6 @@ #include "base/values.h" #include "chromeos/dbus/shill_manager_client.h" #include "chromeos/dbus/shill_property_changed_observer.h" -#include "net/base/ip_endpoint.h" #include "testing/gmock/include/gmock/gmock.h" namespace chromeos { @@ -67,17 +66,6 @@ class MockShillManagerClient : public ShillManagerClient { MOCK_METHOD2(ConnectToBestServices, void(const base::Closure& callback, const ErrorCallback& error_callback)); - MOCK_METHOD3(AddWakeOnPacketConnection, - void(const net::IPEndPoint& ip_connection, - const base::Closure& callback, - const ErrorCallback& error_callback)); - MOCK_METHOD3(RemoveWakeOnPacketConnection, - void(const net::IPEndPoint& ip_connection, - const base::Closure& callback, - const ErrorCallback& error_callback)); - MOCK_METHOD2(RemoveAllWakeOnPacketConnections, - void(const base::Closure& callback, - const ErrorCallback& error_callback)); MOCK_METHOD0(GetTestInterface, TestInterface*()); }; diff --git a/chromeos/dbus/shill_manager_client.cc b/chromeos/dbus/shill_manager_client.cc index d4c0019..0ad602f 100644 --- a/chromeos/dbus/shill_manager_client.cc +++ b/chromeos/dbus/shill_manager_client.cc @@ -14,7 +14,6 @@ #include "dbus/object_path.h" #include "dbus/object_proxy.h" #include "dbus/values_util.h" -#include "net/base/ip_endpoint.h" #include "third_party/cros_system_api/dbus/service_constants.h" namespace chromeos { @@ -211,43 +210,6 @@ class ShillManagerClientImpl : public ShillManagerClient { error_callback); } - virtual void AddWakeOnPacketConnection( - const net::IPEndPoint& ip_endpoint, - const base::Closure& callback, - const ErrorCallback& error_callback) OVERRIDE { - dbus::MethodCall method_call(shill::kFlimflamManagerInterface, - shill::kAddWakeOnPacketConnectionFunction); - dbus::MessageWriter writer(&method_call); - writer.AppendString(net::IPAddressToString(ip_endpoint.address())); - helper_->CallVoidMethodWithErrorCallback(&method_call, - callback, - error_callback); - } - - virtual void RemoveWakeOnPacketConnection( - const net::IPEndPoint& ip_endpoint, - const base::Closure& callback, - const ErrorCallback& error_callback) OVERRIDE { - dbus::MethodCall method_call(shill::kFlimflamManagerInterface, - shill::kRemoveWakeOnPacketConnectionFunction); - dbus::MessageWriter writer(&method_call); - writer.AppendString(net::IPAddressToString(ip_endpoint.address())); - helper_->CallVoidMethodWithErrorCallback(&method_call, - callback, - error_callback); - } - - virtual void RemoveAllWakeOnPacketConnections( - const base::Closure& callback, - const ErrorCallback& error_callback) OVERRIDE { - dbus::MethodCall method_call( - shill::kFlimflamManagerInterface, - shill::kRemoveAllWakeOnPacketConnectionsFunction); - helper_->CallVoidMethodWithErrorCallback(&method_call, - callback, - error_callback); - } - virtual TestInterface* GetTestInterface() OVERRIDE { return NULL; } diff --git a/chromeos/dbus/shill_manager_client.h b/chromeos/dbus/shill_manager_client.h index 8bc7251..9b9541d 100644 --- a/chromeos/dbus/shill_manager_client.h +++ b/chromeos/dbus/shill_manager_client.h @@ -14,12 +14,10 @@ #include "chromeos/dbus/shill_client_helper.h" namespace dbus { + class ObjectPath; -} -namespace net { -class IPEndPoint; -} +} // namespace dbus namespace chromeos { @@ -195,53 +193,35 @@ class CHROMEOS_EXPORT ShillManagerClient : public DBusClient { const ObjectPathCallback& callback, const ErrorCallback& error_callback) = 0; - // Verifies that the given data corresponds to a trusted device, and returns - // true to the callback if it is. + // Verify that the given data corresponds to a trusted device, and return true + // to the callback if it is. virtual void VerifyDestination(const VerificationProperties& properties, const BooleanCallback& callback, const ErrorCallback& error_callback) = 0; - // Verifies that the given data corresponds to a trusted device, and if it is, - // returns the encrypted credentials for connecting to the network represented + // Verify that the given data corresponds to a trusted device, and if it is, + // return the encrypted credentials for connecting to the network represented // by the given |service_path|, encrypted using the |public_key| for the - // trusted device. If the device is not trusted, returns the empty string. + // trusted device. If the device is not trusted, return the empty string. virtual void VerifyAndEncryptCredentials( const VerificationProperties& properties, const std::string& service_path, const StringCallback& callback, const ErrorCallback& error_callback) = 0; - // Verifies that the given data corresponds to a trusted device, and returns - // the |data| encrypted using the |public_key| for the trusted device. If the - // device is not trusted, returns the empty string. + // Verify that the given data corresponds to a trusted device, and return the + // |data| encrypted using the |public_key| for the trusted device. If the + // device is not trusted, return the empty string. virtual void VerifyAndEncryptData(const VerificationProperties& properties, const std::string& data, const StringCallback& callback, const ErrorCallback& error_callback) = 0; - // For each technology present, connects to the "best" service available. + // For each technology present, connect to the "best" service available. // Called once the user is logged in and certificates are loaded. virtual void ConnectToBestServices(const base::Closure& callback, const ErrorCallback& error_callback) = 0; - // Requests that shill program the NIC so that packets incoming on - // |ip_connection| wake up the CPU. - virtual void AddWakeOnPacketConnection( - const net::IPEndPoint& ip_endpoint, - const base::Closure& callback, - const ErrorCallback& error_callback) = 0; - - // Removes a request to wake up on packets coming on |ip_connection|. - virtual void RemoveWakeOnPacketConnection( - const net::IPEndPoint& ip_endpoint, - const base::Closure& callback, - const ErrorCallback& error_callback) = 0; - - // Clears all requests to wake up on packets. - virtual void RemoveAllWakeOnPacketConnections( - const base::Closure& callback, - const ErrorCallback& error_callback) = 0; - // Returns an interface for testing (stub only), or returns NULL. virtual TestInterface* GetTestInterface() = 0; |