Chromium Code Reviews| Index: chrome/browser/extensions/api/dial/device_description_fetcher.h |
| diff --git a/chrome/browser/extensions/api/dial/device_description_fetcher.h b/chrome/browser/extensions/api/dial/device_description_fetcher.h |
| index 309dc88a60007e340790bdd540412560125c73d2..12e8ee13ff2daaf1e1ed23ca70dc230b0ed2288b 100644 |
| --- a/chrome/browser/extensions/api/dial/device_description_fetcher.h |
| +++ b/chrome/browser/extensions/api/dial/device_description_fetcher.h |
| @@ -9,13 +9,14 @@ |
| #include <string> |
| #include "base/callback.h" |
| +#include "base/threading/thread_checker.h" |
| +#include "content/public/browser/browser_thread.h" |
| #include "net/url_request/url_fetcher_delegate.h" |
| #include "url/gurl.h" |
| -class Profile; |
| - |
| namespace net { |
| class URLFetcher; |
| +class URLRequestContextGetter; |
| } |
| namespace extensions { |
| @@ -27,17 +28,19 @@ struct DialDeviceDescriptionData; |
| // Used to make a single HTTP GET request with |device_description_url| to fetch |
| // a uPnP device description from a DIAL device. If successful, |success_cb| is |
| // invoked with the result; otherwise, |error_cb| is invoked with an error |
| -// reason. This class is not thread safe and must be used on the UI thread. |
| +// reason. |
| +// This class is not thread safe. |
| class DeviceDescriptionFetcher : public net::URLFetcherDelegate { |
| public: |
| // Used to identify the net::URLFetcher instance for tests. |
| static constexpr int kURLFetcherIDForTest = 1; |
| - // |profile| is unowned; the caller must ensure that this object does not |
| - // outlive it. |
| + // |request_context| is unowned; the caller must ensure that this object does |
| + // not outlive it. |
| DeviceDescriptionFetcher( |
| const GURL& device_description_url, |
| - Profile* profile, |
| + net::URLRequestContextGetter* request_context, |
|
imcheng
2017/03/06 20:56:30
I believe this should be a scoped_refptr; this obj
zhaobin
2017/03/07 00:13:18
Pass in raw pointer (Profile::GetRequestContext()
imcheng
2017/03/07 20:32:58
Most likely you will pass in a scoped_refptr here,
|
| + content::BrowserThread::ID thread_id, |
| base::OnceCallback<void(const DialDeviceDescriptionData&)> success_cb, |
| base::OnceCallback<void(const std::string&)> error_cb); |
| @@ -60,7 +63,9 @@ class DeviceDescriptionFetcher : public net::URLFetcherDelegate { |
| void ReportError(const std::string& message); |
| const GURL device_description_url_; |
| - Profile* const profile_; |
| + net::URLRequestContextGetter* const request_context_; |
| + base::ThreadChecker thread_checker_; |
| + |
| base::OnceCallback<void(const DialDeviceDescriptionData&)> success_cb_; |
| base::OnceCallback<void(const std::string&)> error_cb_; |
| std::unique_ptr<net::URLFetcher> fetcher_; |