Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2125)

Unified Diff: chrome/browser/media/router/media_router_mojo_impl.h

Issue 1821823002: [Media Router] Conditionally enable mDNS on Windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Lost change to call Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/router/media_router_mojo_impl.h
diff --git a/chrome/browser/media/router/media_router_mojo_impl.h b/chrome/browser/media/router/media_router_mojo_impl.h
index 35ca51e2c872408614870b106f10dcdf9677ca10..4c2c9d4fc17655fc98dfda10254fd81ba92d53e4 100644
--- a/chrome/browser/media/router/media_router_mojo_impl.h
+++ b/chrome/browser/media/router/media_router_mojo_impl.h
@@ -21,6 +21,7 @@
#include "base/memory/weak_ptr.h"
#include "base/observer_list.h"
#include "base/thread_task_runner_handle.h"
+#include "build/build_config.h"
#include "chrome/browser/media/router/issue.h"
#include "chrome/browser/media/router/issue_manager.h"
#include "chrome/browser/media/router/media_router.mojom.h"
@@ -98,6 +99,7 @@ class MediaRouterMojoImpl : public MediaRouterBase,
const SendRouteMessageCallback& callback) override;
void AddIssue(const Issue& issue) override;
void ClearIssue(const Issue::Id& issue_id) override;
+ void OnUserInteraction() override;
const std::string& media_route_provider_extension_id() const {
return media_route_provider_extension_id_;
@@ -251,6 +253,7 @@ class MediaRouterMojoImpl : public MediaRouterBase,
void DoStopObservingMediaSinks(const MediaSource::Id& source_id);
void DoStartObservingMediaRoutes(const MediaSource::Id& source_id);
void DoStopObservingMediaRoutes(const MediaSource::Id& source_id);
+ void DoEnsureMdnsDiscoveryEnabled();
// Invoked when the next batch of messages arrives.
// |route_id|: ID of route of the messages.
@@ -320,6 +323,16 @@ class MediaRouterMojoImpl : public MediaRouterBase,
// Clears the wake reason after the extension has been awoken.
void ClearWakeReason();
+ // Ensures that mDNS discovery is enabled in the MRPM extension. This can be
mark a. foltz 2016/03/29 00:48:20 Surround the mDNS functions with #if defined(OS_WI
+ // called many times but the MRPM will only be called once per registration
+ // period.
+ void EnsureMdnsDiscoveryEnabled();
+
+ // Callback used to enabled mDNS in the MRPM if a firewall prompt will not be
+ // triggered. If a firewall prompt would be triggered, enabling mDNS won't
+ // happen until the user is clearly interacting with MR.
+ void EnableMdnsFromFirewallCheck(bool firewall_can_use_local_ports);
mark a. foltz 2016/03/29 00:48:20 Perhaps name it OnFirewallCheckComplete?
+
// Pending requests queued to be executed once component extension
// becomes ready.
std::deque<base::Closure> pending_requests_;
@@ -381,6 +394,20 @@ class MediaRouterMojoImpl : public MediaRouterBase,
// initial event page wakeup attempt.
bool provider_version_was_recorded_ = false;
+ // A pair of flags to ensure that mDNS discovery is only enabled on Windows
+ // when there will be appropriate context for the user to associate a firewall
+ // prompt with Media Router. |should_enable_mdns_discovery_| can only go from
+ // |false| to |true|. |is_mdns_enabled_| is set to |false| in
mark a. foltz 2016/03/29 00:48:20 Maybe qualify the last sentence with "On Windows,
+ // RegisterMediaRouteProvider and only set to |true| when we successfully call
+ // the extension to enable mDNS.
+#if defined(OS_WIN)
+ bool is_mdns_enabled_ = false;
+ bool should_enable_mdns_discovery_ = false;
+#else
+ bool is_mdns_enabled_ = true;
mark a. foltz 2016/03/29 00:48:20 Do these need to be defined at all if !OS_WIN?
+ bool should_enable_mdns_discovery_ = true;
+#endif
+
base::WeakPtrFactory<MediaRouterMojoImpl> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(MediaRouterMojoImpl);

Powered by Google App Engine
This is Rietveld 408576698