OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_PRERENDER_PRERENDER_HANDLE_H_ | 5 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_HANDLE_H_ |
6 #define CHROME_BROWSER_PRERENDER_PRERENDER_HANDLE_H_ | 6 #define CHROME_BROWSER_PRERENDER_PRERENDER_HANDLE_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/memory/weak_ptr.h" | 9 #include "base/memory/weak_ptr.h" |
10 #include "base/threading/non_thread_safe.h" | 10 #include "base/threading/non_thread_safe.h" |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 | 83 |
84 // Returns whether the prerender matches the URL provided. | 84 // Returns whether the prerender matches the URL provided. |
85 bool Matches( | 85 bool Matches( |
86 const GURL& url, | 86 const GURL& url, |
87 const content::SessionStorageNamespace* session_storage_namespace) const; | 87 const content::SessionStorageNamespace* session_storage_namespace) const; |
88 | 88 |
89 // Returns whether this PrerenderHandle represents the same prerender as | 89 // Returns whether this PrerenderHandle represents the same prerender as |
90 // the other PrerenderHandle object specified. | 90 // the other PrerenderHandle object specified. |
91 bool RepresentingSamePrerenderAs(PrerenderHandle* other) const; | 91 bool RepresentingSamePrerenderAs(PrerenderHandle* other) const; |
92 | 92 |
93 // Retrieves the SessionStorageNamespace of the underlying prerender, if | |
94 // available. | |
95 content::SessionStorageNamespace* GetSessionStorageNamespace() const; | |
96 | |
97 // Returns the child id of the prerender. | |
98 int GetChildId() const; | |
99 | |
100 private: | 93 private: |
101 friend class PrerenderManager; | 94 friend class PrerenderManager; |
102 | 95 |
103 explicit PrerenderHandle(PrerenderManager::PrerenderData* prerender_data); | 96 explicit PrerenderHandle(PrerenderManager::PrerenderData* prerender_data); |
104 | 97 |
105 // From PrerenderContents::Observer: | 98 // From PrerenderContents::Observer: |
106 void OnPrerenderStart(PrerenderContents* prerender_contents) override; | 99 void OnPrerenderStart(PrerenderContents* prerender_contents) override; |
107 void OnPrerenderStopLoading(PrerenderContents* prerender_contents) override; | 100 void OnPrerenderStopLoading(PrerenderContents* prerender_contents) override; |
108 void OnPrerenderDomContentLoaded( | 101 void OnPrerenderDomContentLoaded( |
109 PrerenderContents* prerender_contents) override; | 102 PrerenderContents* prerender_contents) override; |
110 void OnPrerenderStop(PrerenderContents* prerender_contents) override; | 103 void OnPrerenderStop(PrerenderContents* prerender_contents) override; |
111 void OnPrerenderCreatedMatchCompleteReplacement( | 104 void OnPrerenderCreatedMatchCompleteReplacement( |
112 PrerenderContents* contents, | 105 PrerenderContents* contents, |
113 PrerenderContents* replacement) override; | 106 PrerenderContents* replacement) override; |
114 | 107 |
115 Observer* observer_; | 108 Observer* observer_; |
116 | 109 |
117 base::WeakPtr<PrerenderManager::PrerenderData> prerender_data_; | 110 base::WeakPtr<PrerenderManager::PrerenderData> prerender_data_; |
118 base::WeakPtrFactory<PrerenderHandle> weak_ptr_factory_; | 111 base::WeakPtrFactory<PrerenderHandle> weak_ptr_factory_; |
119 | 112 |
120 DISALLOW_COPY_AND_ASSIGN(PrerenderHandle); | 113 DISALLOW_COPY_AND_ASSIGN(PrerenderHandle); |
121 }; | 114 }; |
122 | 115 |
123 } // namespace prerender | 116 } // namespace prerender |
124 | 117 |
125 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_HANDLE_H_ | 118 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_HANDLE_H_ |
OLD | NEW |