diff options
37 files changed, 277 insertions, 288 deletions
diff --git a/chrome/app/mash/mash_runner.cc b/chrome/app/mash/mash_runner.cc index 787afc7..14a5500 100644 --- a/chrome/app/mash/mash_runner.cc +++ b/chrome/app/mash/mash_runner.cc @@ -20,7 +20,7 @@ #include "mash/shell/shell_application_delegate.h" #include "mash/wm/window_manager_application.h" #include "mojo/common/mojo_scheme_register.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/shell/background/background_shell.h" #include "mojo/shell/identity.h" #include "mojo/shell/native_runner_delegate.h" @@ -105,7 +105,7 @@ class DefaultShellClient : public mojo::ShellClient, return nullptr; } - mojo::WeakBindingSet<ShellClientFactory> shell_client_factory_bindings_; + mojo::BindingSet<ShellClientFactory> shell_client_factory_bindings_; scoped_ptr<mojo::ShellClient> shell_client_; scoped_ptr<mojo::ShellConnection> shell_connection_; diff --git a/chrome/browser/chromeos/chrome_interface_factory.h b/chrome/browser/chromeos/chrome_interface_factory.h index 5b2da45..3a8f8f1 100644 --- a/chrome/browser/chromeos/chrome_interface_factory.h +++ b/chrome/browser/chromeos/chrome_interface_factory.h @@ -6,7 +6,7 @@ #define CHROME_BROWSER_CHROMEOS_CHROME_INTERFACE_FACTORY_H_ #include "content/public/common/mojo_shell_connection.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/shell/public/cpp/interface_factory.h" #include "ui/keyboard/keyboard.mojom.h" @@ -32,7 +32,7 @@ class ChromeInterfaceFactory mojo::InterfaceRequest<keyboard::mojom::Keyboard> request) override; scoped_ptr<KeyboardUIService> keyboard_ui_service_; - mojo::WeakBindingSet<keyboard::mojom::Keyboard> keyboard_bindings_; + mojo::BindingSet<keyboard::mojom::Keyboard> keyboard_bindings_; DISALLOW_COPY_AND_ASSIGN(ChromeInterfaceFactory); }; diff --git a/chrome/browser/usb/web_usb_permission_bubble.h b/chrome/browser/usb/web_usb_permission_bubble.h index 687f2c0..d55ffc6 100644 --- a/chrome/browser/usb/web_usb_permission_bubble.h +++ b/chrome/browser/usb/web_usb_permission_bubble.h @@ -11,8 +11,8 @@ #include "components/bubble/bubble_reference.h" #include "components/webusb/public/interfaces/webusb_permission_bubble.mojom.h" #include "mojo/public/cpp/bindings/array.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/interface_request.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" namespace content { class RenderFrameHost; @@ -39,7 +39,7 @@ class ChromeWebUsbPermissionBubble : public webusb::WebUsbPermissionBubble { private: content::RenderFrameHost* const render_frame_host_; - mojo::WeakBindingSet<webusb::WebUsbPermissionBubble> bindings_; + mojo::BindingSet<webusb::WebUsbPermissionBubble> bindings_; std::vector<BubbleReference> bubbles_; DISALLOW_COPY_AND_ASSIGN(ChromeWebUsbPermissionBubble); diff --git a/chrome/browser/usb/web_usb_permission_provider.h b/chrome/browser/usb/web_usb_permission_provider.h index a85d16a..19b6f30 100644 --- a/chrome/browser/usb/web_usb_permission_provider.h +++ b/chrome/browser/usb/web_usb_permission_provider.h @@ -9,8 +9,8 @@ #include "device/usb/public/interfaces/permission_provider.mojom.h" #include "mojo/public/cpp/bindings/array.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/interface_request.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" namespace content { class RenderFrameHost; @@ -44,7 +44,7 @@ class WebUSBPermissionProvider : public device::usb::PermissionProvider { mojo::InterfaceRequest<device::usb::PermissionProvider> request) override; private: - mojo::WeakBindingSet<PermissionProvider> bindings_; + mojo::BindingSet<PermissionProvider> bindings_; content::RenderFrameHost* const render_frame_host_; }; diff --git a/components/font_service/font_service_app.h b/components/font_service/font_service_app.h index 35fb035..2963720 100644 --- a/components/font_service/font_service_app.h +++ b/components/font_service/font_service_app.h @@ -10,7 +10,7 @@ #include "base/macros.h" #include "components/font_service/public/interfaces/font_service.mojom.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/services/tracing/public/cpp/tracing_impl.h" #include "mojo/shell/public/cpp/interface_factory.h" #include "mojo/shell/public/cpp/shell_client.h" @@ -44,7 +44,7 @@ class FontServiceApp : public mojo::ShellClient, int FindOrAddPath(const SkString& path); - mojo::WeakBindingSet<FontService> bindings_; + mojo::BindingSet<FontService> bindings_; mojo::TracingImpl tracing_; diff --git a/components/leveldb/leveldb_app.h b/components/leveldb/leveldb_app.h index 4de6486..d1cd684 100644 --- a/components/leveldb/leveldb_app.h +++ b/components/leveldb/leveldb_app.h @@ -6,7 +6,7 @@ #define COMPONENTS_LEVELDB_LEVELDB_APP_H_ #include "components/leveldb/public/interfaces/leveldb.mojom.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/services/tracing/public/cpp/tracing_impl.h" #include "mojo/shell/public/cpp/interface_factory.h" #include "mojo/shell/public/cpp/shell_client.h" @@ -36,7 +36,7 @@ class LevelDBApp : public mojo::ShellClient, mojo::TracingImpl tracing_; scoped_ptr<LevelDBService> service_; - mojo::WeakBindingSet<LevelDBService> bindings_; + mojo::BindingSet<LevelDBService> bindings_; DISALLOW_COPY_AND_ASSIGN(LevelDBApp); }; diff --git a/components/leveldb/leveldb_apptest.cc b/components/leveldb/leveldb_apptest.cc index d9e443c..076e9f7 100644 --- a/components/leveldb/leveldb_apptest.cc +++ b/components/leveldb/leveldb_apptest.cc @@ -8,7 +8,7 @@ #include "components/filesystem/public/interfaces/types.mojom.h" #include "components/leveldb/public/interfaces/leveldb.mojom.h" #include "mojo/common/common_type_converters.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/shell/public/cpp/application_test_base.h" #include "mojo/shell/public/cpp/shell_connection.h" #include "mojo/util/capture_util.h" diff --git a/components/mus/mus_app.h b/components/mus/mus_app.h index c058c5f..5a349c5 100644 --- a/components/mus/mus_app.h +++ b/components/mus/mus_app.h @@ -18,7 +18,7 @@ #include "components/mus/public/interfaces/window_tree.mojom.h" #include "components/mus/public/interfaces/window_tree_host.mojom.h" #include "components/mus/ws/connection_manager_delegate.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/services/tracing/public/cpp/tracing_impl.h" #include "mojo/shell/public/cpp/interface_factory.h" #include "mojo/shell/public/cpp/shell_client.h" @@ -104,7 +104,7 @@ class MandolineUIServicesApp void CreateWindowTreeHost(mojo::InterfaceRequest<mojom::WindowTreeHost> host, mojom::WindowTreeClientPtr tree_client) override; - mojo::WeakBindingSet<mojom::WindowTreeHostFactory> factory_bindings_; + mojo::BindingSet<mojom::WindowTreeHostFactory> factory_bindings_; mojo::Shell* shell_; scoped_ptr<ws::ConnectionManager> connection_manager_; scoped_refptr<GpuState> gpu_state_; diff --git a/components/mus/ws/connection_manager.h b/components/mus/ws/connection_manager.h index 7266aa1..94b4afd 100644 --- a/components/mus/ws/connection_manager.h +++ b/components/mus/ws/connection_manager.h @@ -27,8 +27,8 @@ #include "mojo/converters/surfaces/custom_surface_converter.h" #include "mojo/public/cpp/bindings/array.h" #include "mojo/public/cpp/bindings/binding.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" -#include "mojo/public/cpp/bindings/weak_interface_ptr_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" +#include "mojo/public/cpp/bindings/interface_ptr_set.h" namespace mus { namespace ws { @@ -319,10 +319,10 @@ class ConnectionManager : public ServerWindowDelegate, // Next id supplied to the window manager. uint32_t next_wm_change_id_; - mojo::WeakBindingSet<mojom::DisplayManager> display_manager_bindings_; + mojo::BindingSet<mojom::DisplayManager> display_manager_bindings_; // WARNING: only use these once |got_valid_frame_decorations_| is true. // TODO(sky): refactor this out into its own class. - mojo::WeakInterfacePtrSet<mojom::DisplayManagerObserver> + mojo::InterfacePtrSet<mojom::DisplayManagerObserver> display_manager_observers_; bool got_valid_frame_decorations_; diff --git a/components/mus/ws/window_tree_factory.h b/components/mus/ws/window_tree_factory.h index 859a810..e0569c0 100644 --- a/components/mus/ws/window_tree_factory.h +++ b/components/mus/ws/window_tree_factory.h @@ -7,7 +7,7 @@ #include "base/macros.h" #include "components/mus/public/interfaces/window_tree.mojom.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" namespace mus { namespace ws { @@ -29,7 +29,7 @@ class WindowTreeFactory : public mus::mojom::WindowTreeFactory { private: ConnectionManager* connection_manager_; - mojo::WeakBindingSet<mus::mojom::WindowTreeFactory> binding_; + mojo::BindingSet<mus::mojom::WindowTreeFactory> binding_; DISALLOW_COPY_AND_ASSIGN(WindowTreeFactory); }; diff --git a/components/resource_provider/resource_provider_app.h b/components/resource_provider/resource_provider_app.h index 4897d0c..056c97f 100644 --- a/components/resource_provider/resource_provider_app.h +++ b/components/resource_provider/resource_provider_app.h @@ -10,7 +10,7 @@ #include "base/macros.h" #include "components/resource_provider/public/interfaces/resource_provider.mojom.h" #include "mojo/public/cpp/bindings/binding.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/services/tracing/public/cpp/tracing_impl.h" #include "mojo/shell/public/cpp/interface_factory.h" #include "mojo/shell/public/cpp/shell_client.h" @@ -39,7 +39,7 @@ class ResourceProviderApp : public mojo::ShellClient, mojo::TracingImpl tracing_; - mojo::WeakBindingSet<ResourceProvider> bindings_; + mojo::BindingSet<ResourceProvider> bindings_; // The name of the app that the resource provider code lives in. When using // core services, it'll be the url of that. Otherwise it'll just be diff --git a/content/browser/frame_host/frame_mojo_shell.h b/content/browser/frame_host/frame_mojo_shell.h index fa8f6d8..bea71dc 100644 --- a/content/browser/frame_host/frame_mojo_shell.h +++ b/content/browser/frame_host/frame_mojo_shell.h @@ -7,8 +7,8 @@ #include "base/macros.h" #include "base/memory/scoped_ptr.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/interface_request.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" #include "mojo/shell/public/interfaces/shell.mojom.h" namespace content { @@ -41,11 +41,11 @@ class FrameMojoShell : public mojo::shell::mojom::Shell { ServiceRegistryImpl* GetServiceRegistry(); RenderFrameHost* frame_host_; - mojo::WeakBindingSet<mojo::shell::mojom::Shell> bindings_; + mojo::BindingSet<mojo::shell::mojom::Shell> bindings_; // ServiceRegistry providing browser services to connected applications. scoped_ptr<ServiceRegistryImpl> service_registry_; - mojo::WeakBindingSet<mojo::shell::mojom::InterfaceProvider> + mojo::BindingSet<mojo::shell::mojom::InterfaceProvider> service_provider_bindings_; DISALLOW_COPY_AND_ASSIGN(FrameMojoShell); diff --git a/content/browser/vr/vr_device_manager.h b/content/browser/vr/vr_device_manager.h index 5fa84e8..00a51ec 100644 --- a/content/browser/vr/vr_device_manager.h +++ b/content/browser/vr/vr_device_manager.h @@ -18,7 +18,7 @@ #include "content/browser/vr/vr_device_provider.h" #include "content/common/content_export.h" #include "content/common/vr_service.mojom.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" namespace content { @@ -65,7 +65,7 @@ class VRDeviceManager : public VRService { bool vr_initialized_; - mojo::WeakBindingSet<VRService> bindings_; + mojo::BindingSet<VRService> bindings_; // For testing. If true will not delete self when consumer count reaches 0. bool keep_alive_; diff --git a/content/gpu/gpu_child_thread.h b/content/gpu/gpu_child_thread.h index c279c5f..7cbe0fa 100644 --- a/content/gpu/gpu_child_thread.h +++ b/content/gpu/gpu_child_thread.h @@ -24,8 +24,8 @@ #include "content/common/gpu/x_util.h" #include "content/common/process_control.mojom.h" #include "gpu/config/gpu_info.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/interface_request.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" #include "ui/gfx/native_widget_types.h" namespace gpu { @@ -163,7 +163,7 @@ class GpuChildThread : public ChildThreadImpl, scoped_ptr<GpuProcessControlImpl> process_control_; // Bindings to the ProcessControl impl. - mojo::WeakBindingSet<ProcessControl> process_control_bindings_; + mojo::BindingSet<ProcessControl> process_control_bindings_; DISALLOW_COPY_AND_ASSIGN(GpuChildThread); }; diff --git a/content/renderer/mus/render_widget_window_tree_client_factory.cc b/content/renderer/mus/render_widget_window_tree_client_factory.cc index 9ff3538..04f5a52 100644 --- a/content/renderer/mus/render_widget_window_tree_client_factory.cc +++ b/content/renderer/mus/render_widget_window_tree_client_factory.cc @@ -12,7 +12,7 @@ #include "content/common/render_widget_window_tree_client_factory.mojom.h" #include "content/public/common/mojo_shell_connection.h" #include "content/renderer/mus/render_widget_mus_connection.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/shell/public/cpp/connection.h" #include "mojo/shell/public/cpp/interface_factory.h" #include "url/gurl.h" @@ -58,7 +58,7 @@ class RenderWidgetWindowTreeClientFactoryImpl connection->Bind(std::move(request)); } - mojo::WeakBindingSet<mojom::RenderWidgetWindowTreeClientFactory> bindings_; + mojo::BindingSet<mojom::RenderWidgetWindowTreeClientFactory> bindings_; DISALLOW_COPY_AND_ASSIGN(RenderWidgetWindowTreeClientFactoryImpl); }; diff --git a/content/utility/utility_thread_impl.h b/content/utility/utility_thread_impl.h index fef34a6..63cf38f 100644 --- a/content/utility/utility_thread_impl.h +++ b/content/utility/utility_thread_impl.h @@ -16,7 +16,7 @@ #include "content/common/content_export.h" #include "content/common/process_control.mojom.h" #include "content/public/utility/utility_thread.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" namespace base { class FilePath; @@ -72,7 +72,7 @@ class UtilityThreadImpl : public UtilityThread, scoped_ptr<UtilityProcessControlImpl> process_control_; // Bindings to the ProcessControl impl. - mojo::WeakBindingSet<ProcessControl> process_control_bindings_; + mojo::BindingSet<ProcessControl> process_control_bindings_; DISALLOW_COPY_AND_ASSIGN(UtilityThreadImpl); }; diff --git a/device/usb/mojo/fake_permission_provider.h b/device/usb/mojo/fake_permission_provider.h index a1da1b0..5ca1610 100644 --- a/device/usb/mojo/fake_permission_provider.h +++ b/device/usb/mojo/fake_permission_provider.h @@ -9,8 +9,8 @@ #include "device/usb/public/interfaces/permission_provider.mojom.h" #include "mojo/public/cpp/bindings/array.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/interface_request.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" namespace device { namespace usb { @@ -35,7 +35,7 @@ class FakePermissionProvider : public PermissionProvider { void Bind(mojo::InterfaceRequest<PermissionProvider> request) override; private: - mojo::WeakBindingSet<PermissionProvider> bindings_; + mojo::BindingSet<PermissionProvider> bindings_; }; } // namespace usb diff --git a/mash/screenlock/screenlock.h b/mash/screenlock/screenlock.h index 07f9de5..e05a46c 100644 --- a/mash/screenlock/screenlock.h +++ b/mash/screenlock/screenlock.h @@ -10,7 +10,7 @@ #include "base/macros.h" #include "base/memory/scoped_ptr.h" #include "mash/shell/public/interfaces/shell.mojom.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/services/tracing/public/cpp/tracing_impl.h" #include "mojo/shell/public/cpp/shell_client.h" @@ -38,7 +38,7 @@ class Screenlock : public mojo::ShellClient, mojo::Shell* shell_; mojo::TracingImpl tracing_; scoped_ptr<views::AuraInit> aura_init_; - mojo::WeakBindingSet<mash::shell::mojom::ScreenlockStateListener> bindings_; + mojo::BindingSet<mash::shell::mojom::ScreenlockStateListener> bindings_; DISALLOW_COPY_AND_ASSIGN(Screenlock); }; diff --git a/mash/shell/shell_application_delegate.h b/mash/shell/shell_application_delegate.h index 60a1d69..524a554 100644 --- a/mash/shell/shell_application_delegate.h +++ b/mash/shell/shell_application_delegate.h @@ -11,8 +11,8 @@ #include "base/macros.h" #include "base/memory/scoped_ptr.h" #include "mash/shell/public/interfaces/shell.mojom.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" -#include "mojo/public/cpp/bindings/weak_interface_ptr_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" +#include "mojo/public/cpp/bindings/interface_ptr_set.h" #include "mojo/shell/public/cpp/interface_factory.h" #include "mojo/shell/public/cpp/shell_client.h" @@ -63,9 +63,8 @@ class ShellApplicationDelegate mojo::Shell* shell_; std::map<std::string, scoped_ptr<mojo::Connection>> connections_; bool screen_locked_; - mojo::WeakBindingSet<mash::shell::mojom::Shell> bindings_; - mojo::WeakInterfacePtrSet<mojom::ScreenlockStateListener> - screenlock_listeners_; + mojo::BindingSet<mash::shell::mojom::Shell> bindings_; + mojo::InterfacePtrSet<mojom::ScreenlockStateListener> screenlock_listeners_; DISALLOW_COPY_AND_ASSIGN(ShellApplicationDelegate); }; diff --git a/mash/wm/accelerator_registrar_impl.h b/mash/wm/accelerator_registrar_impl.h index fe470c6..3bde90f 100644 --- a/mash/wm/accelerator_registrar_impl.h +++ b/mash/wm/accelerator_registrar_impl.h @@ -13,8 +13,8 @@ #include "base/macros.h" #include "components/mus/public/interfaces/accelerator_registrar.mojom.h" #include "mash/wm/root_windows_observer.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/strong_binding.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" namespace mash { namespace wm { diff --git a/mash/wm/window_manager_application.h b/mash/wm/window_manager_application.h index 7699b9f..7f2806f 100644 --- a/mash/wm/window_manager_application.h +++ b/mash/wm/window_manager_application.h @@ -19,7 +19,7 @@ #include "components/mus/public/interfaces/window_tree_host.mojom.h" #include "mash/wm/public/interfaces/user_window_controller.mojom.h" #include "mojo/public/cpp/bindings/binding.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/services/tracing/public/cpp/tracing_impl.h" #include "mojo/shell/public/cpp/shell_client.h" @@ -107,7 +107,7 @@ class WindowManagerApplication // |user_window_controller_| is created once OnEmbed() is called. Until that // time |user_window_controller_requests_| stores pending interface requests. scoped_ptr<UserWindowControllerImpl> user_window_controller_; - mojo::WeakBindingSet<mash::wm::mojom::UserWindowController> + mojo::BindingSet<mash::wm::mojom::UserWindowController> user_window_controller_binding_; std::vector< scoped_ptr<mojo::InterfaceRequest<mash::wm::mojom::UserWindowController>>> diff --git a/mojo/mojo_public.gyp b/mojo/mojo_public.gyp index 3017df8..10a0dae 100644 --- a/mojo/mojo_public.gyp +++ b/mojo/mojo_public.gyp @@ -104,8 +104,10 @@ 'public/cpp/bindings/associated_interface_ptr_info.h', 'public/cpp/bindings/associated_interface_request.h', 'public/cpp/bindings/binding.h', + 'public/cpp/bindings/binding_set.h', 'public/cpp/bindings/callback.h', 'public/cpp/bindings/interface_ptr.h', + 'public/cpp/bindings/interface_ptr_set.h', 'public/cpp/bindings/interface_request.h', 'public/cpp/bindings/lib/array_internal.cc', 'public/cpp/bindings/lib/array_internal.h', @@ -177,8 +179,6 @@ 'public/cpp/bindings/string.h', 'public/cpp/bindings/strong_binding.h', 'public/cpp/bindings/type_converter.h', - 'public/cpp/bindings/weak_binding_set.h', - 'public/cpp/bindings/weak_interface_ptr_set.h', # This comes from the mojo_interface_bindings_cpp_sources dependency. '>@(mojom_generated_sources)', ], diff --git a/mojo/public/cpp/bindings/BUILD.gn b/mojo/public/cpp/bindings/BUILD.gn index 72079fd..6b7a015 100644 --- a/mojo/public/cpp/bindings/BUILD.gn +++ b/mojo/public/cpp/bindings/BUILD.gn @@ -11,8 +11,10 @@ source_set("bindings") { "associated_interface_ptr_info.h", "associated_interface_request.h", "binding.h", + "binding_set.h", "interface_ptr.h", "interface_ptr_info.h", + "interface_ptr_set.h", "interface_request.h", "lib/array_internal.cc", "lib/array_internal.h", @@ -85,8 +87,6 @@ source_set("bindings") { "struct_ptr.h", "struct_traits.h", "type_converter.h", - "weak_binding_set.h", - "weak_interface_ptr_set.h", ] public_deps = [ diff --git a/mojo/public/cpp/bindings/binding_set.h b/mojo/public/cpp/bindings/binding_set.h new file mode 100644 index 0000000..82e7cfb --- /dev/null +++ b/mojo/public/cpp/bindings/binding_set.h @@ -0,0 +1,113 @@ +// Copyright 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 MOJO_PUBLIC_CPP_BINDINGS_BINDING_SET_H_ +#define MOJO_PUBLIC_CPP_BINDINGS_BINDING_SET_H_ + +#include <algorithm> +#include <utility> +#include <vector> + +#include "base/macros.h" +#include "base/memory/weak_ptr.h" +#include "mojo/public/cpp/bindings/binding.h" + +namespace mojo { + +// Use this class to manage a set of bindings, which are automatically destroyed +// and removed from the set when the pipe they bound to is disconnected. +template <typename Interface> +class BindingSet { + public: + using GenericInterface = typename Interface::GenericInterface; + + BindingSet() {} + ~BindingSet() { CloseAllBindings(); } + + void set_connection_error_handler(const Closure& error_handler) { + error_handler_ = error_handler; + } + + void AddBinding(Interface* impl, InterfaceRequest<GenericInterface> request) { + auto binding = new Element(impl, std::move(request)); + binding->set_connection_error_handler([this]() { OnConnectionError(); }); + bindings_.push_back(binding->GetWeakPtr()); + } + + // Returns an InterfacePtr bound to one end of a pipe whose other end is + // bound to |this|. + InterfacePtr<Interface> CreateInterfacePtrAndBind(Interface* impl) { + InterfacePtr<Interface> interface_ptr; + AddBinding(impl, GetProxy(&interface_ptr)); + return interface_ptr; + } + + void CloseAllBindings() { + for (const auto& it : bindings_) { + if (it) { + it->Close(); + delete it.get(); + } + } + bindings_.clear(); + } + + bool empty() const { return bindings_.empty(); } + + private: + class Element { + public: + using GenericInterface = typename Interface::GenericInterface; + + Element(Interface* impl, InterfaceRequest<GenericInterface> request) + : binding_(impl, std::move(request)), weak_ptr_factory_(this) { + binding_.set_connection_error_handler([this]() { OnConnectionError(); }); + } + + ~Element() {} + + void set_connection_error_handler(const Closure& error_handler) { + error_handler_ = error_handler; + } + + base::WeakPtr<Element> GetWeakPtr() { + return weak_ptr_factory_.GetWeakPtr(); + } + + void Close() { binding_.Close(); } + + void OnConnectionError() { + Closure error_handler = error_handler_; + delete this; + error_handler.Run(); + } + + private: + Binding<Interface> binding_; + Closure error_handler_; + base::WeakPtrFactory<Element> weak_ptr_factory_; + + DISALLOW_COPY_AND_ASSIGN(Element); + }; + + void OnConnectionError() { + // Clear any deleted bindings. + bindings_.erase(std::remove_if(bindings_.begin(), bindings_.end(), + [](const base::WeakPtr<Element>& p) { + return p.get() == nullptr; + }), + bindings_.end()); + + error_handler_.Run(); + } + + Closure error_handler_; + std::vector<base::WeakPtr<Element>> bindings_; + + DISALLOW_COPY_AND_ASSIGN(BindingSet); +}; + +} // namespace mojo + +#endif // MOJO_PUBLIC_CPP_BINDINGS_BINDING_SET_H_ diff --git a/mojo/public/cpp/bindings/interface_ptr_set.h b/mojo/public/cpp/bindings/interface_ptr_set.h new file mode 100644 index 0000000..c5d402d --- /dev/null +++ b/mojo/public/cpp/bindings/interface_ptr_set.h @@ -0,0 +1,83 @@ +// Copyright 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 MOJO_PUBLIC_CPP_BINDINGS_INTERFACE_PTR_SET_H_ +#define MOJO_PUBLIC_CPP_BINDINGS_INTERFACE_PTR_SET_H_ + +#include <utility> +#include <vector> + +#include "base/macros.h" +#include "base/memory/weak_ptr.h" +#include "mojo/public/cpp/bindings/interface_ptr.h" + +namespace mojo { + +template <typename Interface> +class InterfacePtrSet { + public: + InterfacePtrSet() {} + ~InterfacePtrSet() { CloseAll(); } + + void AddInterfacePtr(InterfacePtr<Interface> ptr) { + auto weak_interface_ptr = new Element(std::move(ptr)); + ptrs_.push_back(weak_interface_ptr->GetWeakPtr()); + ClearNullInterfacePtrs(); + } + + template <typename FunctionType> + void ForAllPtrs(FunctionType function) { + for (const auto& it : ptrs_) { + if (it) + function(it->get()); + } + ClearNullInterfacePtrs(); + } + + void CloseAll() { + for (const auto& it : ptrs_) { + if (it) + it->Close(); + } + ptrs_.clear(); + } + + private: + class Element { + public: + explicit Element(InterfacePtr<Interface> ptr) + : ptr_(std::move(ptr)), weak_ptr_factory_(this) { + ptr_.set_connection_error_handler([this]() { delete this; }); + } + ~Element() {} + + void Close() { ptr_.reset(); } + + Interface* get() { return ptr_.get(); } + + base::WeakPtr<Element> GetWeakPtr() { + return weak_ptr_factory_.GetWeakPtr(); + } + + private: + InterfacePtr<Interface> ptr_; + base::WeakPtrFactory<Element> weak_ptr_factory_; + + DISALLOW_COPY_AND_ASSIGN(Element); + }; + + void ClearNullInterfacePtrs() { + ptrs_.erase(std::remove_if(ptrs_.begin(), ptrs_.end(), + [](const base::WeakPtr<Element>& p) { + return p.get() == nullptr; + }), + ptrs_.end()); + } + + std::vector<base::WeakPtr<Element>> ptrs_; +}; + +} // namespace mojo + +#endif // MOJO_PUBLIC_CPP_BINDINGS_INTERFACE_PTR_SET_H_ diff --git a/mojo/public/cpp/bindings/tests/pickle_unittest.cc b/mojo/public/cpp/bindings/tests/pickle_unittest.cc index a0d7a2e..33961b4 100644 --- a/mojo/public/cpp/bindings/tests/pickle_unittest.cc +++ b/mojo/public/cpp/bindings/tests/pickle_unittest.cc @@ -9,10 +9,10 @@ #include "base/logging.h" #include "base/message_loop/message_loop.h" #include "base/run_loop.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/interface_request.h" #include "mojo/public/cpp/bindings/tests/pickled_struct_blink.h" #include "mojo/public/cpp/bindings/tests/pickled_struct_chromium.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" #include "mojo/public/interfaces/bindings/tests/test_native_types.mojom-blink.h" #include "mojo/public/interfaces/bindings/tests/test_native_types.mojom-chromium.h" #include "mojo/public/interfaces/bindings/tests/test_native_types.mojom.h" @@ -134,9 +134,9 @@ class PickleTest : public testing::Test { private: base::MessageLoop loop_; ChromiumPicklePasserImpl chromium_service_; - mojo::WeakBindingSet<chromium::PicklePasser> chromium_bindings_; + mojo::BindingSet<chromium::PicklePasser> chromium_bindings_; BlinkPicklePasserImpl blink_service_; - mojo::WeakBindingSet<blink::PicklePasser> blink_bindings_; + mojo::BindingSet<blink::PicklePasser> blink_bindings_; }; } // namespace diff --git a/mojo/public/cpp/bindings/tests/struct_traits_unittest.cc b/mojo/public/cpp/bindings/tests/struct_traits_unittest.cc index 02fb53f..b4c3e49 100644 --- a/mojo/public/cpp/bindings/tests/struct_traits_unittest.cc +++ b/mojo/public/cpp/bindings/tests/struct_traits_unittest.cc @@ -7,11 +7,11 @@ #include "base/logging.h" #include "base/message_loop/message_loop.h" #include "base/run_loop.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/interface_request.h" #include "mojo/public/cpp/bindings/tests/rect_blink.h" #include "mojo/public/cpp/bindings/tests/rect_chromium.h" #include "mojo/public/cpp/bindings/tests/struct_with_traits_impl.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" #include "mojo/public/interfaces/bindings/tests/struct_with_traits.mojom.h" #include "mojo/public/interfaces/bindings/tests/test_native_types.mojom-blink.h" #include "mojo/public/interfaces/bindings/tests/test_native_types.mojom-chromium.h" @@ -126,12 +126,12 @@ class StructTraitsTest : public testing::Test, base::MessageLoop loop_; ChromiumRectServiceImpl chromium_service_; - mojo::WeakBindingSet<chromium::RectService> chromium_bindings_; + mojo::BindingSet<chromium::RectService> chromium_bindings_; BlinkRectServiceImpl blink_service_; - mojo::WeakBindingSet<blink::RectService> blink_bindings_; + mojo::BindingSet<blink::RectService> blink_bindings_; - mojo::WeakBindingSet<TraitsTestService> traits_test_bindings_; + mojo::BindingSet<TraitsTestService> traits_test_bindings_; }; } // namespace diff --git a/mojo/public/cpp/bindings/weak_binding_set.h b/mojo/public/cpp/bindings/weak_binding_set.h deleted file mode 100644 index bf06a28..0000000 --- a/mojo/public/cpp/bindings/weak_binding_set.h +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright 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 MOJO_PUBLIC_CPP_BINDINGS_WEAK_BINDING_SET_H_ -#define MOJO_PUBLIC_CPP_BINDINGS_WEAK_BINDING_SET_H_ - -#include <algorithm> -#include <utility> -#include <vector> - -#include "base/macros.h" -#include "base/memory/weak_ptr.h" -#include "mojo/public/cpp/bindings/binding.h" - -namespace mojo { - -template <typename Interface> -class WeakBinding; - -// Use this class to manage a set of weak pointers to bindings each of which is -// owned by the pipe they are bound to. -template <typename Interface> -class WeakBindingSet { - public: - using GenericInterface = typename Interface::GenericInterface; - - WeakBindingSet() {} - ~WeakBindingSet() { CloseAllBindings(); } - - void set_connection_error_handler(const Closure& error_handler) { - error_handler_ = error_handler; - } - - void AddBinding(Interface* impl, InterfaceRequest<GenericInterface> request) { - auto binding = new WeakBinding<Interface>(impl, std::move(request)); - binding->set_connection_error_handler([this]() { OnConnectionError(); }); - bindings_.push_back(binding->GetWeakPtr()); - } - - // Returns an InterfacePtr bound to one end of a pipe whose other end is - // bound to |this|. - InterfacePtr<Interface> CreateInterfacePtrAndBind(Interface* impl) { - InterfacePtr<Interface> interface_ptr; - AddBinding(impl, GetProxy(&interface_ptr)); - return interface_ptr; - } - - void CloseAllBindings() { - for (const auto& it : bindings_) { - if (it) { - it->Close(); - delete it.get(); - } - } - bindings_.clear(); - } - - bool empty() const { return bindings_.empty(); } - - private: - void OnConnectionError() { - // Clear any deleted bindings. - bindings_.erase( - std::remove_if(bindings_.begin(), bindings_.end(), - [](const base::WeakPtr<WeakBinding<Interface>>& p) { - return p.get() == nullptr; - }), - bindings_.end()); - - error_handler_.Run(); - } - - Closure error_handler_; - std::vector<base::WeakPtr<WeakBinding<Interface>>> bindings_; - - DISALLOW_COPY_AND_ASSIGN(WeakBindingSet); -}; - -template <typename Interface> -class WeakBinding { - public: - using GenericInterface = typename Interface::GenericInterface; - - WeakBinding(Interface* impl, InterfaceRequest<GenericInterface> request) - : binding_(impl, std::move(request)), weak_ptr_factory_(this) { - binding_.set_connection_error_handler([this]() { OnConnectionError(); }); - } - - ~WeakBinding() {} - - void set_connection_error_handler(const Closure& error_handler) { - error_handler_ = error_handler; - } - - base::WeakPtr<WeakBinding> GetWeakPtr() { - return weak_ptr_factory_.GetWeakPtr(); - } - - void Close() { binding_.Close(); } - - void OnConnectionError() { - Closure error_handler = error_handler_; - delete this; - error_handler.Run(); - } - - private: - Binding<Interface> binding_; - Closure error_handler_; - base::WeakPtrFactory<WeakBinding> weak_ptr_factory_; - - DISALLOW_COPY_AND_ASSIGN(WeakBinding); -}; - -} // namespace mojo - -#endif // MOJO_PUBLIC_CPP_BINDINGS_WEAK_BINDING_SET_H_ diff --git a/mojo/public/cpp/bindings/weak_interface_ptr_set.h b/mojo/public/cpp/bindings/weak_interface_ptr_set.h deleted file mode 100644 index f92a5ed..0000000 --- a/mojo/public/cpp/bindings/weak_interface_ptr_set.h +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 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 MOJO_PUBLIC_CPP_BINDINGS_WEAK_INTERFACE_PTR_SET_H_ -#define MOJO_PUBLIC_CPP_BINDINGS_WEAK_INTERFACE_PTR_SET_H_ - -#include <utility> -#include <vector> - -#include "base/macros.h" -#include "base/memory/weak_ptr.h" -#include "mojo/public/cpp/bindings/interface_ptr.h" - -namespace mojo { - -template <typename Interface> -class WeakInterfacePtr; - -template <typename Interface> -class WeakInterfacePtrSet { - public: - WeakInterfacePtrSet() {} - ~WeakInterfacePtrSet() { CloseAll(); } - - void AddInterfacePtr(InterfacePtr<Interface> ptr) { - auto weak_interface_ptr = new WeakInterfacePtr<Interface>(std::move(ptr)); - ptrs_.push_back(weak_interface_ptr->GetWeakPtr()); - ClearNullInterfacePtrs(); - } - - template <typename FunctionType> - void ForAllPtrs(FunctionType function) { - for (const auto& it : ptrs_) { - if (it) - function(it->get()); - } - ClearNullInterfacePtrs(); - } - - void CloseAll() { - for (const auto& it : ptrs_) { - if (it) - it->Close(); - } - ptrs_.clear(); - } - - private: - using WPWIPI = base::WeakPtr<WeakInterfacePtr<Interface>>; - - void ClearNullInterfacePtrs() { - ptrs_.erase( - std::remove_if(ptrs_.begin(), ptrs_.end(), - [](const WPWIPI& p) { return p.get() == nullptr; }), - ptrs_.end()); - } - - std::vector<WPWIPI> ptrs_; -}; - -template <typename Interface> -class WeakInterfacePtr { - public: - explicit WeakInterfacePtr(InterfacePtr<Interface> ptr) - : ptr_(std::move(ptr)), weak_ptr_factory_(this) { - ptr_.set_connection_error_handler([this]() { delete this; }); - } - ~WeakInterfacePtr() {} - - void Close() { ptr_.reset(); } - - Interface* get() { return ptr_.get(); } - - base::WeakPtr<WeakInterfacePtr> GetWeakPtr() { - return weak_ptr_factory_.GetWeakPtr(); - } - - private: - InterfacePtr<Interface> ptr_; - base::WeakPtrFactory<WeakInterfacePtr> weak_ptr_factory_; - - DISALLOW_COPY_AND_ASSIGN(WeakInterfacePtr); -}; - -} // namespace mojo - -#endif // MOJO_PUBLIC_CPP_BINDINGS_WEAK_INTERFACE_PTR_SET_H_ diff --git a/mojo/services/package_manager/package_manager.h b/mojo/services/package_manager/package_manager.h index a1089f0..2c4c2c88 100644 --- a/mojo/services/package_manager/package_manager.h +++ b/mojo/services/package_manager/package_manager.h @@ -9,7 +9,7 @@ #include "base/memory/weak_ptr.h" #include "base/path_service.h" #include "base/values.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/services/package_manager/public/interfaces/catalog.mojom.h" #include "mojo/services/package_manager/public/interfaces/resolver.mojom.h" #include "mojo/services/package_manager/public/interfaces/shell_resolver.mojom.h" @@ -146,9 +146,9 @@ class PackageManager : public mojo::ShellClient, base::TaskRunner* blocking_pool_; GURL system_package_dir_; - mojo::WeakBindingSet<mojom::Resolver> resolver_bindings_; - mojo::WeakBindingSet<mojom::ShellResolver> shell_resolver_bindings_; - mojo::WeakBindingSet<mojom::Catalog> catalog_bindings_; + mojo::BindingSet<mojom::Resolver> resolver_bindings_; + mojo::BindingSet<mojom::ShellResolver> shell_resolver_bindings_; + mojo::BindingSet<mojom::Catalog> catalog_bindings_; ApplicationCatalogStore* catalog_store_; std::map<std::string, ApplicationInfo> catalog_; diff --git a/mojo/services/tracing/tracing_app.h b/mojo/services/tracing/tracing_app.h index edb189e..f409887 100644 --- a/mojo/services/tracing/tracing_app.h +++ b/mojo/services/tracing/tracing_app.h @@ -10,9 +10,9 @@ #include "base/macros.h" #include "base/memory/scoped_ptr.h" #include "base/memory/scoped_vector.h" +#include "mojo/public/cpp/bindings/binding_set.h" +#include "mojo/public/cpp/bindings/interface_ptr_set.h" #include "mojo/public/cpp/bindings/strong_binding.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" -#include "mojo/public/cpp/bindings/weak_interface_ptr_set.h" #include "mojo/services/tracing/public/interfaces/tracing.mojom.h" #include "mojo/services/tracing/trace_data_sink.h" #include "mojo/services/tracing/trace_recorder_impl.h" @@ -64,9 +64,9 @@ class TracingApp scoped_ptr<TraceDataSink> sink_; ScopedVector<TraceRecorderImpl> recorder_impls_; - mojo::WeakInterfacePtrSet<TraceProvider> provider_ptrs_; + mojo::InterfacePtrSet<TraceProvider> provider_ptrs_; mojo::Binding<TraceCollector> collector_binding_; - mojo::WeakBindingSet<StartupPerformanceDataCollector> + mojo::BindingSet<StartupPerformanceDataCollector> startup_performance_data_collector_bindings_; StartupPerformanceTimes startup_performance_times_; bool tracing_active_; diff --git a/mojo/shell/application_manager.h b/mojo/shell/application_manager.h index b6e657c..16e9ab4 100644 --- a/mojo/shell/application_manager.h +++ b/mojo/shell/application_manager.h @@ -11,8 +11,8 @@ #include "base/macros.h" #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" -#include "mojo/public/cpp/bindings/weak_interface_ptr_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" +#include "mojo/public/cpp/bindings/interface_ptr_set.h" #include "mojo/services/package_manager/public/interfaces/shell_resolver.mojom.h" #include "mojo/shell/application_loader.h" #include "mojo/shell/capability_filter.h" @@ -181,14 +181,14 @@ class ApplicationManager : public ShellClient, // Counter used to assign ids to content handlers. uint32_t shell_client_factory_id_counter_; - WeakInterfacePtrSet<mojom::ApplicationManagerListener> listeners_; + InterfacePtrSet<mojom::ApplicationManagerListener> listeners_; base::Callback<void(const Identity&)> instance_quit_callback_; base::TaskRunner* file_task_runner_; scoped_ptr<NativeRunnerFactory> native_runner_factory_; std::vector<scoped_ptr<NativeRunner>> native_runners_; scoped_ptr<ShellConnection> shell_connection_; - WeakBindingSet<mojom::ApplicationManager> bindings_; + BindingSet<mojom::ApplicationManager> bindings_; base::WeakPtrFactory<ApplicationManager> weak_ptr_factory_; DISALLOW_COPY_AND_ASSIGN(ApplicationManager); diff --git a/mojo/shell/runner/child/native_apptest_target.cc b/mojo/shell/runner/child/native_apptest_target.cc index d2747c5..04ebdbb 100644 --- a/mojo/shell/runner/child/native_apptest_target.cc +++ b/mojo/shell/runner/child/native_apptest_target.cc @@ -7,7 +7,7 @@ #include "base/at_exit.h" #include "base/command_line.h" #include "base/macros.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/shell/public/cpp/connection.h" #include "mojo/shell/public/cpp/interface_factory.h" #include "mojo/shell/public/cpp/shell.h" @@ -47,7 +47,7 @@ class TargetApplicationDelegate bindings_.AddBinding(this, std::move(request)); } - mojo::WeakBindingSet<mojo::shell::test::TestNativeService> bindings_; + mojo::BindingSet<mojo::shell::test::TestNativeService> bindings_; DISALLOW_COPY_AND_ASSIGN(TargetApplicationDelegate); }; diff --git a/mojo/shell/tests/application_manager_apptest.cc b/mojo/shell/tests/application_manager_apptest.cc index 367b8fa..9af94a1 100644 --- a/mojo/shell/tests/application_manager_apptest.cc +++ b/mojo/shell/tests/application_manager_apptest.cc @@ -11,7 +11,7 @@ #include "base/macros.h" #include "base/message_loop/message_loop.h" #include "base/process/process_handle.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/shell/public/cpp/application_test_base.h" #include "mojo/shell/public/cpp/interface_factory.h" #include "mojo/shell/public/cpp/shell.h" diff --git a/mojo/shell/tests/application_manager_apptest_driver.cc b/mojo/shell/tests/application_manager_apptest_driver.cc index aad9660..2a820fe 100644 --- a/mojo/shell/tests/application_manager_apptest_driver.cc +++ b/mojo/shell/tests/application_manager_apptest_driver.cc @@ -21,7 +21,7 @@ #include "mojo/edk/embedder/embedder.h" #include "mojo/edk/embedder/platform_channel_pair.h" #include "mojo/edk/embedder/scoped_platform_handle.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/shell/public/cpp/connection.h" #include "mojo/shell/public/cpp/interface_factory.h" #include "mojo/shell/public/cpp/shell.h" @@ -136,7 +136,7 @@ class TargetApplicationDelegate : public mojo::ShellClient, mojo::Shell* shell_; base::Process target_; - mojo::WeakBindingSet<Driver> bindings_; + mojo::BindingSet<Driver> bindings_; base::WeakPtrFactory<TargetApplicationDelegate> weak_factory_; DISALLOW_COPY_AND_ASSIGN(TargetApplicationDelegate); diff --git a/mojo/shell/tests/capability_filter_test.cc b/mojo/shell/tests/capability_filter_test.cc index b9240d6..6538ddc 100644 --- a/mojo/shell/tests/capability_filter_test.cc +++ b/mojo/shell/tests/capability_filter_test.cc @@ -9,8 +9,8 @@ #include "base/macros.h" #include "base/stl_util.h" #include "base/strings/stringprintf.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/strong_binding.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" #include "mojo/shell/application_loader.h" #include "mojo/shell/public/cpp/connection.h" #include "mojo/shell/public/cpp/interface_factory.h" @@ -97,7 +97,7 @@ class ConnectionValidator : public ApplicationLoader, std::set<std::string> expectations_; std::set<std::string> unexpected_; base::MessageLoop* loop_; - WeakBindingSet<Validator> validator_bindings_; + BindingSet<Validator> validator_bindings_; DISALLOW_COPY_AND_ASSIGN(ConnectionValidator); }; @@ -150,8 +150,8 @@ class ServiceApplication : public ShellClient, Shell* shell_; ValidatorPtr validator_; - WeakBindingSet<Safe> safe_bindings_; - WeakBindingSet<Unsafe> unsafe_bindings_; + BindingSet<Safe> safe_bindings_; + BindingSet<Unsafe> unsafe_bindings_; DISALLOW_COPY_AND_ASSIGN(ServiceApplication); }; diff --git a/mojo/shell/tests/package_test_package.cc b/mojo/shell/tests/package_test_package.cc index a9defe4..ee8ff5b 100644 --- a/mojo/shell/tests/package_test_package.cc +++ b/mojo/shell/tests/package_test_package.cc @@ -12,7 +12,7 @@ #include "base/run_loop.h" #include "base/threading/simple_thread.h" #include "mojo/public/c/system/main.h" -#include "mojo/public/cpp/bindings/weak_binding_set.h" +#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/shell/public/cpp/application_runner.h" #include "mojo/shell/public/cpp/interface_factory.h" #include "mojo/shell/public/cpp/shell.h" @@ -88,7 +88,7 @@ class ProvidedShellClient const std::string name_; mojom::ShellClientRequest request_; Shell* shell_; - WeakBindingSet<test::mojom::PackageTestService> bindings_; + BindingSet<test::mojom::PackageTestService> bindings_; DISALLOW_COPY_AND_ASSIGN(ProvidedShellClient); }; @@ -151,8 +151,8 @@ class PackageTestShellClient Shell* shell_; std::vector<scoped_ptr<ShellClient>> delegates_; - WeakBindingSet<mojom::ShellClientFactory> shell_client_factory_bindings_; - WeakBindingSet<test::mojom::PackageTestService> bindings_; + BindingSet<mojom::ShellClientFactory> shell_client_factory_bindings_; + BindingSet<test::mojom::PackageTestService> bindings_; DISALLOW_COPY_AND_ASSIGN(PackageTestShellClient); }; |