summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorskuhne <skuhne@chromium.org>2014-09-18 16:14:17 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-18 23:14:54 +0000
commit8e7b4ff4742ed5f78fa57550af1fb4cfc5705372 (patch)
tree8714d14f10bf8e41ba667eb8ecf7470b3ab3b1c2
parent01c68e8765254d9971296b291ff718b4f6af3004 (diff)
downloadchromium_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--DEPS2
-rw-r--r--chrome/browser/extensions/extension_gcm_app_handler_unittest.cc4
-rw-r--r--chrome/browser/services/gcm/chromeos_gcm_connection_observer.cc47
-rw-r--r--chrome/browser/services/gcm/chromeos_gcm_connection_observer.h34
-rw-r--r--chrome/browser/services/gcm/gcm_profile_service.cc12
-rw-r--r--chrome/browser/services/gcm/gcm_profile_service.h3
-rw-r--r--chrome/browser/services/gcm/gcm_profile_service_unittest.cc8
-rw-r--r--chrome/chrome_browser.gypi2
-rw-r--r--chromeos/dbus/fake_shill_manager_client.cc17
-rw-r--r--chromeos/dbus/fake_shill_manager_client.h16
-rw-r--r--chromeos/dbus/mock_shill_manager_client.h12
-rw-r--r--chromeos/dbus/shill_manager_client.cc38
-rw-r--r--chromeos/dbus/shill_manager_client.h42
13 files changed, 12 insertions, 225 deletions
diff --git a/DEPS b/DEPS
index 0bf177b..f886117 100644
--- a/DEPS
+++ b/DEPS
@@ -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;