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

Unified Diff: chrome/browser/media/router/discovery/dial/dial_media_sink_service.h

Issue 2868263002: [Media Router] Add some SetForTest() functions to DialMediaSinkService and update unit tests (Closed)
Patch Set: resolve code review comments from Mark Created 3 years, 7 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
« no previous file with comments | « no previous file | chrome/browser/media/router/discovery/dial/dial_media_sink_service.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/media/router/discovery/dial/dial_media_sink_service.h
diff --git a/chrome/browser/media/router/discovery/dial/dial_media_sink_service.h b/chrome/browser/media/router/discovery/dial/dial_media_sink_service.h
index 86f72c5beba6118eb17052fe0f245a9b357fa052..75bf0f0f9527cfc98cc0cdda13d3dd98463e18cd 100644
--- a/chrome/browser/media/router/discovery/dial/dial_media_sink_service.h
+++ b/chrome/browser/media/router/discovery/dial/dial_media_sink_service.h
@@ -28,22 +28,30 @@ class DialMediaSinkService : public MediaSinkService,
net::URLRequestContextGetter* request_context);
~DialMediaSinkService() override;
+ // Stops listening for DIAL device events.
+ virtual void Stop();
+
// MediaSinkService implementation
void Start() override;
- void Stop();
-
protected:
- virtual DialRegistry* dial_registry();
// Returns instance of device description service. Create a new one if none
// exists.
- virtual DeviceDescriptionService* GetDescriptionService();
+ DeviceDescriptionService* GetDescriptionService();
+
+ // Does not take ownership of |dial_registry|.
+ void SetDialRegistryForTest(DialRegistry* dial_registry);
+ void SetDescriptionServiceForTest(
+ std::unique_ptr<DeviceDescriptionService> description_service);
+ void SetTimerForTest(std::unique_ptr<base::Timer> timer);
private:
friend class DialMediaSinkServiceTest;
FRIEND_TEST_ALL_PREFIXES(DialMediaSinkServiceTest, TestStart);
- FRIEND_TEST_ALL_PREFIXES(DialMediaSinkServiceTest, TestFetchCompleted);
+ FRIEND_TEST_ALL_PREFIXES(DialMediaSinkServiceTest, TestTimer);
+ FRIEND_TEST_ALL_PREFIXES(DialMediaSinkServiceTest,
+ TestFetchCompleted_SameSink);
FRIEND_TEST_ALL_PREFIXES(DialMediaSinkServiceTest, TestIsDifferent);
FRIEND_TEST_ALL_PREFIXES(DialMediaSinkServiceTest,
TestOnDeviceDescriptionAvailable);
@@ -65,13 +73,19 @@ class DialMediaSinkService : public MediaSinkService,
// Called when |finish_timer_| expires.
void OnFetchCompleted();
+ // Helper function to start |finish_timer_|.
+ void StartTimer();
+
// Timer for finishing fetching. Starts in |OnDialDeviceEvent()|, and expires
// 3 seconds later. If |OnDeviceDescriptionAvailable()| is called after
// |finish_timer_| expires, |finish_timer_| is restarted.
- std::unique_ptr<base::OneShotTimer> finish_timer_;
+ std::unique_ptr<base::Timer> finish_timer_;
std::unique_ptr<DeviceDescriptionService> description_service_;
+ // Raw pointer to DialRegistry singleton.
+ DialRegistry* dial_registry_ = nullptr;
+
// Sorted sinks from current round of discovery.
std::set<MediaSinkInternal> current_sinks_;
« no previous file with comments | « no previous file | chrome/browser/media/router/discovery/dial/dial_media_sink_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698