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

Side by Side Diff: chrome/browser/ui/webui/media_router/media_router_ui.h

Issue 2487673003: [Media Router] Make per-hostname cast mode selections persist (Closed)
Patch Set: Address Derek's comments Created 4 years, 1 month 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 unified diff | Download patch
OLDNEW
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_UI_WEBUI_MEDIA_ROUTER_MEDIA_ROUTER_UI_H_ 5 #ifndef CHROME_BROWSER_UI_WEBUI_MEDIA_ROUTER_MEDIA_ROUTER_UI_H_
6 #define CHROME_BROWSER_UI_WEBUI_MEDIA_ROUTER_MEDIA_ROUTER_UI_H_ 6 #define CHROME_BROWSER_UI_WEBUI_MEDIA_ROUTER_MEDIA_ROUTER_UI_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 void ClearIssue(const Issue::Id& issue_id); 121 void ClearIssue(const Issue::Id& issue_id);
122 122
123 // Calls MediaRouter to search route providers for sinks matching 123 // Calls MediaRouter to search route providers for sinks matching
124 // |search_criteria| with the source that is currently associated with 124 // |search_criteria| with the source that is currently associated with
125 // |cast_mode|. The user's domain |domain| is also used. 125 // |cast_mode|. The user's domain |domain| is also used.
126 void SearchSinksAndCreateRoute(const MediaSink::Id& sink_id, 126 void SearchSinksAndCreateRoute(const MediaSink::Id& sink_id,
127 const std::string& search_criteria, 127 const std::string& search_criteria,
128 const std::string& domain, 128 const std::string& domain,
129 MediaCastMode cast_mode); 129 MediaCastMode cast_mode);
130 130
131 // Returns true if the cast mode last chosen for the current hostname is tab
132 // mirroring.
133 bool UserSelectedTabMirroringForCurrentHost() const;
134
135 // Records the cast mode selection for the current hostname, unless the cast
136 // mode is MediaCastMode::DESKTOP_MIRROR.
137 void RecordCastModeSelection(MediaCastMode cast_mode);
138
131 // Returns the hostname of the default source's parent frame URL. 139 // Returns the hostname of the default source's parent frame URL.
132 std::string GetPresentationRequestSourceName() const; 140 std::string GetPresentationRequestSourceName() const;
133 std::string GetTruncatedPresentationRequestSourceName() const; 141 std::string GetTruncatedPresentationRequestSourceName() const;
134 bool HasPendingRouteRequest() const { 142 bool HasPendingRouteRequest() const {
135 return current_route_request_id_ != -1; 143 return current_route_request_id_ != -1;
136 } 144 }
137 const std::vector<MediaSinkWithCastModes>& sinks() const { return sinks_; } 145 const std::vector<MediaSinkWithCastModes>& sinks() const { return sinks_; }
138 const std::vector<MediaRoute>& routes() const { return routes_; } 146 const std::vector<MediaRoute>& routes() const { return routes_; }
139 const std::vector<MediaRoute::Id>& joinable_route_ids() const { 147 const std::vector<MediaRoute::Id>& joinable_route_ids() const {
140 return joinable_route_ids_; 148 return joinable_route_ids_;
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 bool* incognito); 277 bool* incognito);
270 278
271 // Updates the set of supported cast modes and sends the updated set to 279 // Updates the set of supported cast modes and sends the updated set to
272 // |handler_|. 280 // |handler_|.
273 void UpdateCastModes(); 281 void UpdateCastModes();
274 282
275 // Returns the default presentation request's frame URL if there is one. 283 // Returns the default presentation request's frame URL if there is one.
276 // Otherwise returns an empty GURL. 284 // Otherwise returns an empty GURL.
277 GURL GetFrameURL() const; 285 GURL GetFrameURL() const;
278 286
287 // Returns the hostname (e.g. "cs.chromium.org") for |initiator_|, or an empty
288 // string if |initiator_| is not set.
289 std::string GetInitiatorHostname() const;
290
279 // Owned by the |web_ui| passed in the ctor, and guaranteed to be deleted 291 // Owned by the |web_ui| passed in the ctor, and guaranteed to be deleted
280 // only after it has deleted |this|. 292 // only after it has deleted |this|.
281 MediaRouterWebUIMessageHandler* handler_; 293 MediaRouterWebUIMessageHandler* handler_;
282 294
283 // These are non-null while this instance is registered to receive 295 // These are non-null while this instance is registered to receive
284 // updates from them. 296 // updates from them.
285 std::unique_ptr<IssuesObserver> issues_observer_; 297 std::unique_ptr<IssuesObserver> issues_observer_;
286 std::unique_ptr<MediaRoutesObserver> routes_observer_; 298 std::unique_ptr<MediaRoutesObserver> routes_observer_;
287 299
288 // Set to true by |handler_| when the UI has been initialized. 300 // Set to true by |handler_| when the UI has been initialized.
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 // NOTE: Weak pointers must be invalidated before all other member variables. 348 // NOTE: Weak pointers must be invalidated before all other member variables.
337 // Therefore |weak_factory_| must be placed at the end. 349 // Therefore |weak_factory_| must be placed at the end.
338 base::WeakPtrFactory<MediaRouterUI> weak_factory_; 350 base::WeakPtrFactory<MediaRouterUI> weak_factory_;
339 351
340 DISALLOW_COPY_AND_ASSIGN(MediaRouterUI); 352 DISALLOW_COPY_AND_ASSIGN(MediaRouterUI);
341 }; 353 };
342 354
343 } // namespace media_router 355 } // namespace media_router
344 356
345 #endif // CHROME_BROWSER_UI_WEBUI_MEDIA_ROUTER_MEDIA_ROUTER_UI_H_ 357 #endif // CHROME_BROWSER_UI_WEBUI_MEDIA_ROUTER_MEDIA_ROUTER_UI_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698