Chromium Code Reviews| Index: chrome/browser/chromeos/login/merge_session_throttle.h |
| diff --git a/chrome/browser/chromeos/login/merge_session_throttle.h b/chrome/browser/chromeos/login/merge_session_throttle.h |
| index ddcc9ad7e4711baeb64c5434270ce458b2c946c5..41adf0f5b248a3c9fbe2688ab8b30883393270c2 100644 |
| --- a/chrome/browser/chromeos/login/merge_session_throttle.h |
| +++ b/chrome/browser/chromeos/login/merge_session_throttle.h |
| @@ -10,9 +10,9 @@ |
| #include "base/atomic_ref_count.h" |
| #include "base/memory/ref_counted.h" |
| #include "base/memory/weak_ptr.h" |
| -#include "chrome/browser/chromeos/login/merge_session_load_page.h" |
| #include "content/public/browser/resource_throttle.h" |
| #include "net/base/completion_callback.h" |
| +#include "webkit/common/resource_type.h" |
| class Profile; |
| @@ -31,7 +31,12 @@ class MergeSessionThrottle |
| : public content::ResourceThrottle, |
| public base::SupportsWeakPtr<MergeSessionThrottle> { |
| public: |
| - explicit MergeSessionThrottle(net::URLRequest* request); |
| + // Passed a boolean indicating whether or not it is OK to proceed with the |
| + // page load. |
| + typedef base::Closure CompletionCallback; |
| + |
| + explicit MergeSessionThrottle(net::URLRequest* request, |
| + ResourceType::Type resource_type); |
| virtual ~MergeSessionThrottle(); |
| // content::ResourceThrottle implementation: |
| @@ -50,29 +55,33 @@ class MergeSessionThrottle |
| void ClearRequestInfo(); |
| bool IsRemote(const GURL& url) const; |
| - // True if we should show the merge session in progress page. The function |
| + // True if we |url| loading should be delayed. The function |
| // is safe to be called on any thread. |
| - bool ShouldShowMergeSessionPage(const GURL& url) const; |
| + bool ShouldDelayUrl(const GURL& url) const; |
| // Adds/removes |profile| to/from the blocking profiles set. |
| static void BlockProfile(Profile* profile); |
| static void UnblockProfile(Profile* profile); |
| - // Helper method that checks if we should show interstitial page based on |
| + // Helper method that checks if we should delay reasource loading based on |
| // the state of the Profile that's derived from |render_process_id| and |
| // |render_view_id|. |
| - static bool ShouldShowInterstitialPage(int render_process_id, |
| - int render_view_id); |
| + static bool ShouldDelayRequest(int render_process_id, |
| + int render_view_id); |
| - // Tests merge session status and if needed shows interstitial page. |
| + // Tests merge session status and if needed generates request |
| + // waiter (for ResourceType::XHR content) or shows interstitial page |
| + // (for ResourceType::MAIN_FRAME). |
| // The function must be called from UI thread. |
| - static void ShowDeleayedLoadingPageOnUIThread( |
| + static void DeleayResourceLoadingOnUIThread( |
| + ResourceType::Type resource_type, |
| int render_process_id, |
| int render_view_id, |
| const GURL& url, |
| - const chromeos::MergeSessionLoadPage::CompletionCallback& callback); |
| + const MergeSessionThrottle::CompletionCallback& callback); |
| net::URLRequest* request_; |
| + ResourceType::Type resource_type_; |
| // Global counter that keeps the track of session merge status for all |
| // encountered profiles. This is used to determine if a throttle should |
| @@ -80,8 +89,6 @@ class MergeSessionThrottle |
| // probably have some profiles to restore, while 1 means that all known |
| // profiles are restored. |
| static base::AtomicRefCount all_profiles_restored_; |
| - |
| - DISALLOW_COPY_AND_ASSIGN(MergeSessionThrottle); |
|
xiyuan
2013/12/19 01:45:41
Does this need to be removed?
zel
2013/12/19 23:28:02
Done.
|
| }; |
| #endif // CHROME_BROWSER_CHROMEOS_LOGIN_MERGE_SESSION_THROTTLE_H_ |