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

Side by Side Diff: chrome/browser/chromeos/login/signin/merge_session_throttle.h

Issue 370833002: Move resource_type.* from webkit/ to content/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: chromeos fix Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_CHROMEOS_LOGIN_SIGNIN_MERGE_SESSION_THROTTLE_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SIGNIN_MERGE_SESSION_THROTTLE_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SIGNIN_MERGE_SESSION_THROTTLE_H_ 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SIGNIN_MERGE_SESSION_THROTTLE_H_
7 7
8 #include <set> 8 #include <set>
9 9
10 #include "base/atomic_ref_count.h" 10 #include "base/atomic_ref_count.h"
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "base/memory/weak_ptr.h" 12 #include "base/memory/weak_ptr.h"
13 #include "content/public/browser/resource_throttle.h" 13 #include "content/public/browser/resource_throttle.h"
14 #include "content/public/common/resource_type.h"
14 #include "net/base/completion_callback.h" 15 #include "net/base/completion_callback.h"
15 #include "webkit/common/resource_type.h"
16 16
17 class Profile; 17 class Profile;
18 18
19 namespace net { 19 namespace net {
20 class URLRequest; 20 class URLRequest;
21 } 21 }
22 22
23 namespace chromeos { 23 namespace chromeos {
24 class OAuth2LoginManager; 24 class OAuth2LoginManager;
25 } 25 }
26 26
27 // Used to show an interstitial page while merge session process (cookie 27 // Used to show an interstitial page while merge session process (cookie
28 // reconstruction from OAuth2 refresh token in ChromeOS login) is still in 28 // reconstruction from OAuth2 refresh token in ChromeOS login) is still in
29 // progress while we are attempting to load a google property. 29 // progress while we are attempting to load a google property.
30 class MergeSessionThrottle 30 class MergeSessionThrottle
31 : public content::ResourceThrottle, 31 : public content::ResourceThrottle,
32 public base::SupportsWeakPtr<MergeSessionThrottle> { 32 public base::SupportsWeakPtr<MergeSessionThrottle> {
33 public: 33 public:
34 // Passed a boolean indicating whether or not it is OK to proceed with the 34 // Passed a boolean indicating whether or not it is OK to proceed with the
35 // page load. 35 // page load.
36 typedef base::Closure CompletionCallback; 36 typedef base::Closure CompletionCallback;
37 37
38 explicit MergeSessionThrottle(net::URLRequest* request, 38 explicit MergeSessionThrottle(net::URLRequest* request,
39 ResourceType::Type resource_type); 39 content::ResourceType::Type resource_type);
40 virtual ~MergeSessionThrottle(); 40 virtual ~MergeSessionThrottle();
41 41
42 // content::ResourceThrottle implementation: 42 // content::ResourceThrottle implementation:
43 virtual void WillStartRequest(bool* defer) OVERRIDE; 43 virtual void WillStartRequest(bool* defer) OVERRIDE;
44 virtual const char* GetNameForLogging() const OVERRIDE; 44 virtual const char* GetNameForLogging() const OVERRIDE;
45 45
46 // Checks if session is already merged. 46 // Checks if session is already merged.
47 static bool AreAllSessionMergedAlready(); 47 static bool AreAllSessionMergedAlready();
48 48
49 private: 49 private:
(...skipping 17 matching lines...) Expand all
67 // the state of the Profile that's derived from |render_process_id| and 67 // the state of the Profile that's derived from |render_process_id| and
68 // |render_view_id|. 68 // |render_view_id|.
69 static bool ShouldDelayRequest(int render_process_id, 69 static bool ShouldDelayRequest(int render_process_id,
70 int render_view_id); 70 int render_view_id);
71 71
72 // Tests merge session status and if needed generates request 72 // Tests merge session status and if needed generates request
73 // waiter (for ResourceType::XHR content) or shows interstitial page 73 // waiter (for ResourceType::XHR content) or shows interstitial page
74 // (for ResourceType::MAIN_FRAME). 74 // (for ResourceType::MAIN_FRAME).
75 // The function must be called from UI thread. 75 // The function must be called from UI thread.
76 static void DeleayResourceLoadingOnUIThread( 76 static void DeleayResourceLoadingOnUIThread(
77 ResourceType::Type resource_type, 77 content::ResourceType::Type resource_type,
78 int render_process_id, 78 int render_process_id,
79 int render_view_id, 79 int render_view_id,
80 const GURL& url, 80 const GURL& url,
81 const MergeSessionThrottle::CompletionCallback& callback); 81 const MergeSessionThrottle::CompletionCallback& callback);
82 82
83 net::URLRequest* request_; 83 net::URLRequest* request_;
84 ResourceType::Type resource_type_; 84 content::ResourceType::Type resource_type_;
85 85
86 // Global counter that keeps the track of session merge status for all 86 // Global counter that keeps the track of session merge status for all
87 // encountered profiles. This is used to determine if a throttle should 87 // encountered profiles. This is used to determine if a throttle should
88 // even be even added to new requests. Value of 0 (initial) means that we 88 // even be even added to new requests. Value of 0 (initial) means that we
89 // probably have some profiles to restore, while 1 means that all known 89 // probably have some profiles to restore, while 1 means that all known
90 // profiles are restored. 90 // profiles are restored.
91 static base::AtomicRefCount all_profiles_restored_; 91 static base::AtomicRefCount all_profiles_restored_;
92 92
93 DISALLOW_COPY_AND_ASSIGN(MergeSessionThrottle); 93 DISALLOW_COPY_AND_ASSIGN(MergeSessionThrottle);
94 }; 94 };
95 95
96 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SIGNIN_MERGE_SESSION_THROTTLE_H_ 96 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SIGNIN_MERGE_SESSION_THROTTLE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698