| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_MEDIA_ROUTER_MOJO_MEDIA_ROUTER_MOJO_IMPL_H_ | 5 #ifndef CHROME_BROWSER_MEDIA_ROUTER_MOJO_MEDIA_ROUTER_MOJO_IMPL_H_ |
| 6 #define CHROME_BROWSER_MEDIA_ROUTER_MOJO_MEDIA_ROUTER_MOJO_IMPL_H_ | 6 #define CHROME_BROWSER_MEDIA_ROUTER_MOJO_MEDIA_ROUTER_MOJO_IMPL_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <deque> | 10 #include <deque> |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 class BrowserContext; | 37 class BrowserContext; |
| 38 } | 38 } |
| 39 | 39 |
| 40 namespace extensions { | 40 namespace extensions { |
| 41 class Extension; | 41 class Extension; |
| 42 } | 42 } |
| 43 | 43 |
| 44 namespace media_router { | 44 namespace media_router { |
| 45 | 45 |
| 46 enum class MediaRouteProviderWakeReason; | 46 enum class MediaRouteProviderWakeReason; |
| 47 class CastMediaSinkService; |
| 47 class DialMediaSinkServiceProxy; | 48 class DialMediaSinkServiceProxy; |
| 48 class EventPageRequestManager; | 49 class EventPageRequestManager; |
| 49 | 50 |
| 50 // MediaRouter implementation that delegates calls to the component extension. | 51 // MediaRouter implementation that delegates calls to the component extension. |
| 51 // Also handles the suspension and wakeup of the component extension. | 52 // Also handles the suspension and wakeup of the component extension. |
| 52 // Lives on the UI thread. | 53 // Lives on the UI thread. |
| 53 class MediaRouterMojoImpl : public MediaRouterBase, | 54 class MediaRouterMojoImpl : public MediaRouterBase, |
| 54 public mojom::MediaRouter { | 55 public mojom::MediaRouter { |
| 55 public: | 56 public: |
| 56 ~MediaRouterMojoImpl() override; | 57 ~MediaRouterMojoImpl() override; |
| (...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 // The last reported sink availability from the media route provider manager. | 405 // The last reported sink availability from the media route provider manager. |
| 405 mojom::MediaRouter::SinkAvailability availability_; | 406 mojom::MediaRouter::SinkAvailability availability_; |
| 406 | 407 |
| 407 // Stores route controllers that can be used to send media commands to the | 408 // Stores route controllers that can be used to send media commands to the |
| 408 // extension. | 409 // extension. |
| 409 std::unordered_map<MediaRoute::Id, MediaRouteController*> route_controllers_; | 410 std::unordered_map<MediaRoute::Id, MediaRouteController*> route_controllers_; |
| 410 | 411 |
| 411 // Media sink service for DIAL devices. | 412 // Media sink service for DIAL devices. |
| 412 scoped_refptr<DialMediaSinkServiceProxy> dial_media_sink_service_proxy_; | 413 scoped_refptr<DialMediaSinkServiceProxy> dial_media_sink_service_proxy_; |
| 413 | 414 |
| 415 // Media sink service for CAST devices. |
| 416 scoped_refptr<CastMediaSinkService> cast_media_sink_service_; |
| 417 |
| 414 content::BrowserContext* const context_; | 418 content::BrowserContext* const context_; |
| 415 | 419 |
| 416 // Request manager responsible for waking the component extension and calling | 420 // Request manager responsible for waking the component extension and calling |
| 417 // the requests to it. | 421 // the requests to it. |
| 418 EventPageRequestManager* const event_page_request_manager_; | 422 EventPageRequestManager* const event_page_request_manager_; |
| 419 | 423 |
| 420 // A flag to ensure that we record the provider version once, during the | 424 // A flag to ensure that we record the provider version once, during the |
| 421 // initial event page wakeup attempt. | 425 // initial event page wakeup attempt. |
| 422 bool provider_version_was_recorded_ = false; | 426 bool provider_version_was_recorded_ = false; |
| 423 | 427 |
| 424 #if defined(OS_WIN) | 428 #if defined(OS_WIN) |
| 425 // A pair of flags to ensure that mDNS discovery is only enabled on Windows | 429 // A pair of flags to ensure that mDNS discovery is only enabled on Windows |
| 426 // when there will be appropriate context for the user to associate a firewall | 430 // when there will be appropriate context for the user to associate a firewall |
| 427 // prompt with Media Router. |should_enable_mdns_discovery_| can only go from | 431 // prompt with Media Router. |should_enable_mdns_discovery_| can only go from |
| 428 // |false| to |true|. On Windows, |is_mdns_enabled_| is set to |false| in | 432 // |false| to |true|. On Windows, |is_mdns_enabled_| is set to |false| in |
| 429 // RegisterMediaRouteProvider and only set to |true| when we successfully call | 433 // RegisterMediaRouteProvider and only set to |true| when we successfully call |
| 430 // the extension to enable mDNS. | 434 // the extension to enable mDNS. |
| 431 bool is_mdns_enabled_ = false; | 435 bool is_mdns_enabled_ = false; |
| 432 bool should_enable_mdns_discovery_ = false; | 436 bool should_enable_mdns_discovery_ = false; |
| 433 #endif | 437 #endif |
| 434 | 438 |
| 435 base::WeakPtrFactory<MediaRouterMojoImpl> weak_factory_; | 439 base::WeakPtrFactory<MediaRouterMojoImpl> weak_factory_; |
| 436 | 440 |
| 437 DISALLOW_COPY_AND_ASSIGN(MediaRouterMojoImpl); | 441 DISALLOW_COPY_AND_ASSIGN(MediaRouterMojoImpl); |
| 438 }; | 442 }; |
| 439 | 443 |
| 440 } // namespace media_router | 444 } // namespace media_router |
| 441 | 445 |
| 442 #endif // CHROME_BROWSER_MEDIA_ROUTER_MOJO_MEDIA_ROUTER_MOJO_IMPL_H_ | 446 #endif // CHROME_BROWSER_MEDIA_ROUTER_MOJO_MEDIA_ROUTER_MOJO_IMPL_H_ |
| OLD | NEW |