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

Side by Side Diff: chrome/browser/ui/search/instant_search_prerenderer_unittest.cc

Issue 233353003: Only commit cookie changes in prerenders after a prerender is shown (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: sync @269781 + 'autlock'->'autolock' from erik's comment that was not included before Created 6 years, 7 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #include "chrome/browser/ui/search/instant_search_prerenderer.h" 5 #include "chrome/browser/ui/search/instant_search_prerenderer.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/metrics/field_trial.h" 10 #include "base/metrics/field_trial.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 Profile* profile, 52 Profile* profile,
53 const GURL& url, 53 const GURL& url,
54 const Referrer& referrer, 54 const Referrer& referrer,
55 Origin origin, 55 Origin origin,
56 bool call_did_finish_load, 56 bool call_did_finish_load,
57 const content::SessionStorageNamespaceMap& session_storage_namespace_map); 57 const content::SessionStorageNamespaceMap& session_storage_namespace_map);
58 58
59 virtual void StartPrerendering( 59 virtual void StartPrerendering(
60 int ALLOW_UNUSED creator_child_id, 60 int ALLOW_UNUSED creator_child_id,
61 const gfx::Size& ALLOW_UNUSED size, 61 const gfx::Size& ALLOW_UNUSED size,
62 content::SessionStorageNamespace* session_storage_namespace) OVERRIDE; 62 content::SessionStorageNamespace* session_storage_namespace,
63 net::URLRequestContextGetter* request_context) OVERRIDE;
63 virtual bool GetChildId(int* child_id) const OVERRIDE; 64 virtual bool GetChildId(int* child_id) const OVERRIDE;
64 virtual bool GetRouteId(int* route_id) const OVERRIDE; 65 virtual bool GetRouteId(int* route_id) const OVERRIDE;
65 66
66 private: 67 private:
67 Profile* profile_; 68 Profile* profile_;
68 const GURL url_; 69 const GURL url_;
69 bool call_did_finish_load_; 70 bool call_did_finish_load_;
70 content::SessionStorageNamespaceMap session_storage_namespace_map_; 71 content::SessionStorageNamespaceMap session_storage_namespace_map_;
71 72
72 DISALLOW_COPY_AND_ASSIGN(DummyPrerenderContents); 73 DISALLOW_COPY_AND_ASSIGN(DummyPrerenderContents);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 PrerenderManager::kNoExperiment), 109 PrerenderManager::kNoExperiment),
109 profile_(profile), 110 profile_(profile),
110 url_(url), 111 url_(url),
111 call_did_finish_load_(call_did_finish_load), 112 call_did_finish_load_(call_did_finish_load),
112 session_storage_namespace_map_(session_storage_namespace_map) { 113 session_storage_namespace_map_(session_storage_namespace_map) {
113 } 114 }
114 115
115 void DummyPrerenderContents::StartPrerendering( 116 void DummyPrerenderContents::StartPrerendering(
116 int ALLOW_UNUSED creator_child_id, 117 int ALLOW_UNUSED creator_child_id,
117 const gfx::Size& ALLOW_UNUSED size, 118 const gfx::Size& ALLOW_UNUSED size,
118 content::SessionStorageNamespace* session_storage_namespace) { 119 content::SessionStorageNamespace* session_storage_namespace,
120 net::URLRequestContextGetter* request_context) {
119 prerender_contents_.reset(content::WebContents::CreateWithSessionStorage( 121 prerender_contents_.reset(content::WebContents::CreateWithSessionStorage(
120 content::WebContents::CreateParams(profile_), 122 content::WebContents::CreateParams(profile_),
121 session_storage_namespace_map_)); 123 session_storage_namespace_map_));
122 PrerenderTabHelper::CreateForWebContentsWithPasswordManager( 124 PrerenderTabHelper::CreateForWebContentsWithPasswordManager(
123 prerender_contents_.get(), NULL); 125 prerender_contents_.get(), NULL);
124 content::NavigationController::LoadURLParams params(url_); 126 content::NavigationController::LoadURLParams params(url_);
125 prerender_contents_->GetController().LoadURLWithParams(params); 127 prerender_contents_->GetController().LoadURLWithParams(params);
126 SearchTabHelper::CreateForWebContents(prerender_contents_.get()); 128 SearchTabHelper::CreateForWebContents(prerender_contents_.get());
127 129
128 prerendering_has_started_ = true; 130 prerendering_has_started_ = true;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 AddTab(browser(), GURL(content::kAboutBlankURL)); 176 AddTab(browser(), GURL(content::kAboutBlankURL));
175 177
176 content::SessionStorageNamespaceMap session_storage_namespace_map; 178 content::SessionStorageNamespaceMap session_storage_namespace_map;
177 session_storage_namespace_map[std::string()] = 179 session_storage_namespace_map[std::string()] =
178 GetActiveWebContents()->GetController(). 180 GetActiveWebContents()->GetController().
179 GetDefaultSessionStorageNamespace(); 181 GetDefaultSessionStorageNamespace();
180 PrerenderManagerFactory::GetForProfile(browser()->profile())-> 182 PrerenderManagerFactory::GetForProfile(browser()->profile())->
181 SetPrerenderContentsFactory( 183 SetPrerenderContentsFactory(
182 new DummyPrerenderContentsFactory(call_did_finish_load, 184 new DummyPrerenderContentsFactory(call_did_finish_load,
183 session_storage_namespace_map)); 185 session_storage_namespace_map));
184 186 PrerenderManagerFactory::GetForProfile(browser()->profile())->
187 OnCookieStoreLoaded();
185 if (prerender_search_results_base_page) { 188 if (prerender_search_results_base_page) {
186 InstantSearchPrerenderer* prerenderer = GetInstantSearchPrerenderer(); 189 InstantSearchPrerenderer* prerenderer = GetInstantSearchPrerenderer();
187 prerenderer->Init(session_storage_namespace_map, gfx::Size(640, 480)); 190 prerenderer->Init(session_storage_namespace_map, gfx::Size(640, 480));
188 EXPECT_NE(static_cast<PrerenderHandle*>(NULL), prerender_handle()); 191 EXPECT_NE(static_cast<PrerenderHandle*>(NULL), prerender_handle());
189 } 192 }
190 } 193 }
191 194
192 InstantSearchPrerenderer* GetInstantSearchPrerenderer() { 195 InstantSearchPrerenderer* GetInstantSearchPrerenderer() {
193 return instant_service_->instant_search_prerenderer(); 196 return instant_service_->instant_search_prerenderer();
194 } 197 }
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 // key. Make sure UsePrerenderedPage() extracts the search terms from the URL 474 // key. Make sure UsePrerenderedPage() extracts the search terms from the URL
472 // and uses the prerendered page contents. 475 // and uses the prerendered page contents.
473 GURL url("https://www.google.com/alt#quux=foo"); 476 GURL url("https://www.google.com/alt#quux=foo");
474 browser()->OpenURL(content::OpenURLParams(url, Referrer(), CURRENT_TAB, 477 browser()->OpenURL(content::OpenURLParams(url, Referrer(), CURRENT_TAB,
475 content::PAGE_TRANSITION_TYPED, 478 content::PAGE_TRANSITION_TYPED,
476 false)); 479 false));
477 EXPECT_EQ(GetPrerenderURL(), GetActiveWebContents()->GetURL()); 480 EXPECT_EQ(GetPrerenderURL(), GetActiveWebContents()->GetURL());
478 EXPECT_EQ(static_cast<PrerenderHandle*>(NULL), prerender_handle()); 481 EXPECT_EQ(static_cast<PrerenderHandle*>(NULL), prerender_handle());
479 } 482 }
480 #endif 483 #endif
OLDNEW
« no previous file with comments | « chrome/browser/profiles/profile_io_data.cc ('k') | chrome/browser/ui/webui/net_internals/net_internals_ui_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698