| Index: content/browser/bluetooth/bluetooth_dispatcher_host.h
|
| diff --git a/content/browser/bluetooth/bluetooth_dispatcher_host.h b/content/browser/bluetooth/bluetooth_dispatcher_host.h
|
| deleted file mode 100644
|
| index b1715af4e5ca8b23a28ea09091fcd246ce9ceaad..0000000000000000000000000000000000000000
|
| --- a/content/browser/bluetooth/bluetooth_dispatcher_host.h
|
| +++ /dev/null
|
| @@ -1,187 +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 CONTENT_BROWSER_BLUETOOTH_BLUETOOTH_DISPATCHER_HOST_H_
|
| -#define CONTENT_BROWSER_BLUETOOTH_BLUETOOTH_DISPATCHER_HOST_H_
|
| -
|
| -#include <stdint.h>
|
| -
|
| -#include <map>
|
| -
|
| -#include "base/id_map.h"
|
| -#include "base/macros.h"
|
| -#include "base/memory/scoped_vector.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "content/browser/bluetooth/bluetooth_allowed_devices_map.h"
|
| -#include "content/public/browser/bluetooth_chooser.h"
|
| -#include "content/public/browser/browser_message_filter.h"
|
| -#include "device/bluetooth/bluetooth_adapter.h"
|
| -#include "device/bluetooth/bluetooth_gatt_notify_session.h"
|
| -#include "device/bluetooth/bluetooth_remote_gatt_service.h"
|
| -
|
| -namespace device {
|
| -class BluetoothUUID;
|
| -}
|
| -
|
| -namespace content {
|
| -
|
| -class WebBluetoothServiceImpl;
|
| -
|
| -struct BluetoothScanFilter;
|
| -struct CacheQueryResult;
|
| -
|
| -// Dispatches and sends bluetooth related messages sent to/from a child
|
| -// process BluetoothDispatcher from/to the main browser process.
|
| -//
|
| -// Intended to be instantiated by the RenderProcessHost and installed as
|
| -// a filter on the channel. BrowserMessageFilter is refcounted and typically
|
| -// lives as long as it is installed on a channel.
|
| -//
|
| -// UI Thread Note:
|
| -// BluetoothDispatcherHost is constructed, operates, and destroyed on the UI
|
| -// thread because BluetoothAdapter and related objects live there.
|
| -class CONTENT_EXPORT BluetoothDispatcherHost final
|
| - : public BrowserMessageFilter,
|
| - public device::BluetoothAdapter::Observer {
|
| - public:
|
| - BluetoothDispatcherHost(int render_process_id);
|
| - // BrowserMessageFilter:
|
| - void OnDestruct() const override;
|
| - void OverrideThreadForMessage(const IPC::Message& message,
|
| - BrowserThread::ID* thread) override;
|
| - bool OnMessageReceived(const IPC::Message& message) override;
|
| -
|
| - void SetBluetoothAdapterForTesting(
|
| - scoped_refptr<device::BluetoothAdapter> mock_adapter);
|
| -
|
| - // Temporary functions so that WebBluetoothServices can add themselves as
|
| - // observers of the Bluetooth Adapter without having to get an adapter for
|
| - // themselves.
|
| - // TODO(ortuno): Remove once WebBluetoothServiceImpl gets its own adapter.
|
| - // https://crbug.com/508771
|
| - void AddAdapterObserver(device::BluetoothAdapter::Observer* observer);
|
| - void RemoveAdapterObserver(device::BluetoothAdapter::Observer* observer);
|
| -
|
| - protected:
|
| - ~BluetoothDispatcherHost() override;
|
| -
|
| - private:
|
| - friend class WebBluetoothServiceImpl;
|
| - friend class base::DeleteHelper<BluetoothDispatcherHost>;
|
| - friend struct BrowserThread::DeleteOnThread<BrowserThread::UI>;
|
| -
|
| - struct RequestDeviceSession;
|
| -
|
| - // Set |adapter_| to a BluetoothAdapter instance and register observers,
|
| - // releasing references to previous |adapter_|.
|
| - //
|
| - // We currently keep track of observers that used BluetoothDispatcherHost
|
| - // to register themselves on the adapter and remove them from |adapter_| and
|
| - // add them to |adapter| when this function is called.
|
| - // TODO(ortuno): Observers should add/remove themselves to/from the adapter.
|
| - // http://crbug.com/603291
|
| - void set_adapter(scoped_refptr<device::BluetoothAdapter> adapter);
|
| -
|
| - // Makes sure a BluetoothDiscoverySession is active for |session|, and resets
|
| - // its timeout.
|
| - void StartDeviceDiscovery(RequestDeviceSession* session, int chooser_id);
|
| -
|
| - // Stops all BluetoothDiscoverySessions being run for requestDevice()
|
| - // choosers.
|
| - void StopDeviceDiscovery();
|
| -
|
| - // BluetoothAdapter::Observer:
|
| - void AdapterPoweredChanged(device::BluetoothAdapter* adapter,
|
| - bool powered) override;
|
| - void DeviceAdded(device::BluetoothAdapter* adapter,
|
| - device::BluetoothDevice* device) override;
|
| - void DeviceRemoved(device::BluetoothAdapter* adapter,
|
| - device::BluetoothDevice* device) override;
|
| -
|
| - // IPC Handlers, see definitions in bluetooth_messages.h.
|
| - void OnRequestDevice(
|
| - int thread_id,
|
| - int request_id,
|
| - int frame_routing_id,
|
| - const std::vector<content::BluetoothScanFilter>& filters,
|
| - const std::vector<device::BluetoothUUID>& optional_services);
|
| -
|
| - // Callbacks for BluetoothDevice::OnRequestDevice.
|
| - // If necessary, the adapter must be obtained before continuing to Impl.
|
| - void OnGetAdapter(base::Closure continuation,
|
| - scoped_refptr<device::BluetoothAdapter> adapter);
|
| - void OnRequestDeviceImpl(
|
| - int thread_id,
|
| - int request_id,
|
| - int frame_routing_id,
|
| - const std::vector<content::BluetoothScanFilter>& filters,
|
| - const std::vector<device::BluetoothUUID>& optional_services);
|
| -
|
| - // Callbacks for BluetoothAdapter::StartDiscoverySession.
|
| - void OnDiscoverySessionStarted(
|
| - int chooser_id,
|
| - std::unique_ptr<device::BluetoothDiscoverySession> discovery_session);
|
| - void OnDiscoverySessionStartedError(int chooser_id);
|
| -
|
| - // BluetoothChooser::EventHandler:
|
| - void OnBluetoothChooserEvent(int chooser_id,
|
| - BluetoothChooser::Event event,
|
| - const std::string& device_id);
|
| -
|
| - // The chooser implementation yields to the event loop to avoid re-entering
|
| - // code that's still using the RequestDeviceSession, and continues with this
|
| - // function.
|
| - void FinishClosingChooser(int chooser_id,
|
| - BluetoothChooser::Event event,
|
| - const std::string& device_id);
|
| -
|
| - // Functions to query the platform cache for the bluetooth object.
|
| - // result.outcome == CacheQueryOutcome::SUCCESS if the object was found in the
|
| - // cache. Otherwise result.outcome that can used to record the outcome and
|
| - // result.error will contain the error that should be send to the renderer.
|
| - // One of the possible outcomes is BAD_RENDERER. In this case the outcome
|
| - // was already recorded and since there renderer crashed there is no need to
|
| - // send a response.
|
| - // Queries the platform cache for a Device with |device_id| for |origin|.
|
| - // Fills in the |outcome| field and the |device| field if successful.
|
| - CacheQueryResult QueryCacheForDevice(const url::Origin& origin,
|
| - const std::string& device_id);
|
| -
|
| - int render_process_id_;
|
| -
|
| - // Maps a (thread_id,request_id) to information about its requestDevice call,
|
| - // including the chooser dialog.
|
| - // An entry is added to this map in OnRequestDevice, and should be removed
|
| - // again everywhere a requestDevice() reply is sent.
|
| - IDMap<RequestDeviceSession, IDMapOwnPointer> request_device_sessions_;
|
| -
|
| - BluetoothAllowedDevicesMap allowed_devices_map_;
|
| -
|
| - // Defines how long to scan for and how long to discover services for.
|
| - int current_delay_time_;
|
| -
|
| - // A BluetoothAdapter instance representing an adapter of the system.
|
| - scoped_refptr<device::BluetoothAdapter> adapter_;
|
| -
|
| - std::unordered_set<device::BluetoothAdapter::Observer*> adapter_observers_;
|
| -
|
| - // Automatically stops Bluetooth discovery a set amount of time after it was
|
| - // started. We have a single timer for all of Web Bluetooth because it's
|
| - // simpler than tracking timeouts for each RequestDeviceSession individually,
|
| - // and because there's no harm in extending the length of a few discovery
|
| - // sessions when other sessions are active.
|
| - base::Timer discovery_session_timer_;
|
| -
|
| - // |weak_ptr_on_ui_thread_| provides weak pointers, e.g. for callbacks, and
|
| - // because it exists and has been bound to the UI thread enforces that all
|
| - // copies verify they are also used on the UI thread.
|
| - base::WeakPtr<BluetoothDispatcherHost> weak_ptr_on_ui_thread_;
|
| - base::WeakPtrFactory<BluetoothDispatcherHost> weak_ptr_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(BluetoothDispatcherHost);
|
| -};
|
| -
|
| -} // namespace content
|
| -
|
| -#endif // CONTENT_BROWSER_BLUETOOTH_BLUETOOTH_DISPATCHER_HOST_H_
|
|
|