| Index: chrome/browser/extensions/api/file_system/consent_provider.h | 
| diff --git a/chrome/browser/extensions/api/file_system/consent_provider.h b/chrome/browser/extensions/api/file_system/consent_provider.h | 
| index 3a517b6f68d8296547812c32ab50f57d2c7d023f..b789f87294777c8761c65ad3ab280d213a2d6871 100644 | 
| --- a/chrome/browser/extensions/api/file_system/consent_provider.h | 
| +++ b/chrome/browser/extensions/api/file_system/consent_provider.h | 
| @@ -31,6 +31,10 @@ namespace file_system_api { | 
| // Interaction with UI and environmental checks (kiosk mode, whitelist) are | 
| // provided by a delegate: ConsentProviderDelegate. For testing, it is | 
| // TestingConsentProviderDelegate. | 
| +// This class may post callbacks given to it, but does not asynchronously call | 
| +// itself. It is generally safe to use a temporary ConsentProvider. | 
| +// TODO(michaelpg): Make this easier to use by replacing member functions with | 
| +// static methods. | 
| class ConsentProvider { | 
| public: | 
| enum Consent { CONSENT_GRANTED, CONSENT_REJECTED, CONSENT_IMPOSSIBLE }; | 
| @@ -42,6 +46,7 @@ class ConsentProvider { | 
| public: | 
| // Shows a dialog for granting permissions. | 
| virtual void ShowDialog(const Extension& extension, | 
| +                            content::RenderFrameHost* host, | 
| const base::WeakPtr<file_manager::Volume>& volume, | 
| bool writable, | 
| const ShowDialogCallback& callback) = 0; | 
| @@ -66,6 +71,7 @@ class ConsentProvider { | 
| // volume by the |extension|. Must be called only if the extension is | 
| // grantable, which can be checked with IsGrantable(). | 
| void RequestConsent(const Extension& extension, | 
| +                      content::RenderFrameHost* host, | 
| const base::WeakPtr<file_manager::Volume>& volume, | 
| bool writable, | 
| const ConsentCallback& callback); | 
| @@ -83,7 +89,7 @@ class ConsentProvider { | 
| // context of running extensions) for ConsentProvider. | 
| class ConsentProviderDelegate : public ConsentProvider::DelegateInterface { | 
| public: | 
| -  ConsentProviderDelegate(Profile* profile, content::RenderFrameHost* host); | 
| +  explicit ConsentProviderDelegate(Profile* profile); | 
| ~ConsentProviderDelegate(); | 
|  | 
| private: | 
| @@ -95,6 +101,7 @@ class ConsentProviderDelegate : public ConsentProvider::DelegateInterface { | 
|  | 
| // ConsentProvider::DelegateInterface overrides: | 
| void ShowDialog(const Extension& extension, | 
| +                  content::RenderFrameHost* host, | 
| const base::WeakPtr<file_manager::Volume>& volume, | 
| bool writable, | 
| const file_system_api::ConsentProvider::ShowDialogCallback& | 
| @@ -106,7 +113,6 @@ class ConsentProviderDelegate : public ConsentProvider::DelegateInterface { | 
| bool IsWhitelistedComponent(const Extension& extension) override; | 
|  | 
| Profile* const profile_; | 
| -  content::RenderFrameHost* const host_; | 
|  | 
| DISALLOW_COPY_AND_ASSIGN(ConsentProviderDelegate); | 
| }; | 
|  |