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

Side by Side Diff: content/test/web_contents_observer_sanity_checker.cc

Issue 1350673003: Remove WebContentsObserver::DidCommitNavigation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments Created 5 years, 3 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
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 #include "content/test/web_contents_observer_sanity_checker.h" 5 #include "content/test/web_contents_observer_sanity_checker.h"
6 6
7 #include "base/strings/stringprintf.h" 7 #include "base/strings/stringprintf.h"
8 #include "content/browser/frame_host/render_frame_host_impl.h" 8 #include "content/browser/frame_host/render_frame_host_impl.h"
9 #include "content/common/frame_messages.h" 9 #include "content/common/frame_messages.h"
10 #include "content/public/browser/navigation_handle.h" 10 #include "content/public/browser/navigation_handle.h"
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 void WebContentsObserverSanityChecker::FrameDeleted( 117 void WebContentsObserverSanityChecker::FrameDeleted(
118 RenderFrameHost* render_frame_host) { 118 RenderFrameHost* render_frame_host) {
119 // A frame can be deleted before RenderFrame in the renderer process is 119 // A frame can be deleted before RenderFrame in the renderer process is
120 // created, so there is not much that can be enforced here. 120 // created, so there is not much that can be enforced here.
121 CHECK(!web_contents_destroyed_); 121 CHECK(!web_contents_destroyed_);
122 } 122 }
123 123
124 void WebContentsObserverSanityChecker::DidStartNavigation( 124 void WebContentsObserverSanityChecker::DidStartNavigation(
125 NavigationHandle* navigation_handle) { 125 NavigationHandle* navigation_handle) {
126 CHECK(!NavigationIsOngoing(navigation_handle)); 126 CHECK(!NavigationIsOngoing(navigation_handle));
127 CHECK(!NavigationIsOngoingAndCommitted(navigation_handle));
128 127
129 CHECK(navigation_handle->GetNetErrorCode() == net::OK); 128 CHECK(navigation_handle->GetNetErrorCode() == net::OK);
130 CHECK(!navigation_handle->HasCommittedDocument()); 129 CHECK(!navigation_handle->HasCommitted());
Charlie Reis 2015/09/21 16:40:42 We can check !IsErrorPage() as well, right? (Same
clamy 2015/09/22 00:38:05 Done.
131 CHECK(!navigation_handle->HasCommittedErrorPage());
132 130
133 ongoing_navigations_.insert(navigation_handle); 131 ongoing_navigations_.insert(navigation_handle);
134 } 132 }
135 133
136 void WebContentsObserverSanityChecker::DidRedirectNavigation( 134 void WebContentsObserverSanityChecker::DidRedirectNavigation(
137 NavigationHandle* navigation_handle) { 135 NavigationHandle* navigation_handle) {
138 CHECK(NavigationIsOngoing(navigation_handle)); 136 CHECK(NavigationIsOngoing(navigation_handle));
139 CHECK(!NavigationIsOngoingAndCommitted(navigation_handle));
140 137
141 CHECK(navigation_handle->GetNetErrorCode() == net::OK); 138 CHECK(navigation_handle->GetNetErrorCode() == net::OK);
142 CHECK(!navigation_handle->HasCommittedDocument()); 139 CHECK(!navigation_handle->HasCommitted());
143 CHECK(!navigation_handle->HasCommittedErrorPage());
144 } 140 }
145 141
146 void WebContentsObserverSanityChecker::ReadyToCommitNavigation( 142 void WebContentsObserverSanityChecker::ReadyToCommitNavigation(
147 NavigationHandle* navigation_handle) { 143 NavigationHandle* navigation_handle) {
148 CHECK(NavigationIsOngoing(navigation_handle)); 144 CHECK(NavigationIsOngoing(navigation_handle));
149 CHECK(!NavigationIsOngoingAndCommitted(navigation_handle));
150 145
151 CHECK(!navigation_handle->HasCommittedDocument()); 146 CHECK(!navigation_handle->HasCommitted());
152 CHECK(!navigation_handle->HasCommittedErrorPage()); 147 CHECK(navigation_handle->GetRenderFrameHost());
153 }
154
155 void WebContentsObserverSanityChecker::DidCommitNavigation(
156 NavigationHandle* navigation_handle) {
157 CHECK(NavigationIsOngoing(navigation_handle));
158 CHECK(!NavigationIsOngoingAndCommitted(navigation_handle));
159
160 CHECK_NE(navigation_handle->HasCommittedDocument(),
161 navigation_handle->HasCommittedErrorPage());
162 CHECK_IMPLIES(navigation_handle->HasCommittedDocument(),
163 navigation_handle->GetNetErrorCode() == net::OK);
164 CHECK_IMPLIES(navigation_handle->HasCommittedErrorPage(),
165 navigation_handle->GetNetErrorCode() != net::OK);
166
167 ongoing_committed_navigations_.insert(navigation_handle);
168 } 148 }
169 149
170 void WebContentsObserverSanityChecker::DidFinishNavigation( 150 void WebContentsObserverSanityChecker::DidFinishNavigation(
171 NavigationHandle* navigation_handle) { 151 NavigationHandle* navigation_handle) {
172 CHECK(NavigationIsOngoing(navigation_handle)); 152 CHECK(NavigationIsOngoing(navigation_handle));
173 153
174 CHECK_IMPLIES(NavigationIsOngoingAndCommitted(navigation_handle), 154 CHECK_IMPLIES(
175 navigation_handle->HasCommittedDocument() != 155 navigation_handle->HasCommitted() && !navigation_handle->IsErrorPage(),
176 navigation_handle->HasCommittedErrorPage()); 156 navigation_handle->GetNetErrorCode() == net::OK);
177 CHECK_IMPLIES(navigation_handle->HasCommittedDocument(), 157 CHECK_IMPLIES(
178 navigation_handle->GetNetErrorCode() == net::OK); 158 navigation_handle->HasCommitted() && navigation_handle->IsErrorPage(),
179 CHECK_IMPLIES(navigation_handle->HasCommittedErrorPage(), 159 navigation_handle->GetNetErrorCode() != net::OK);
180 navigation_handle->GetNetErrorCode() != net::OK);
181 160
182 if (NavigationIsOngoingAndCommitted(navigation_handle)) 161 CHECK_IMPLIES(navigation_handle->HasCommitted(),
Charlie Reis 2015/09/21 16:40:42 Should this be CHECK_EQ? (In other words, does th
clamy 2015/09/22 00:38:05 No this is an implication because I've put a CHECK
183 ongoing_committed_navigations_.erase(navigation_handle); 162 navigation_handle->GetRenderFrameHost() != nullptr);
184 163
185 ongoing_navigations_.erase(navigation_handle); 164 ongoing_navigations_.erase(navigation_handle);
186 } 165 }
187 166
188 void WebContentsObserverSanityChecker::DidStartProvisionalLoadForFrame( 167 void WebContentsObserverSanityChecker::DidStartProvisionalLoadForFrame(
189 RenderFrameHost* render_frame_host, 168 RenderFrameHost* render_frame_host,
190 const GURL& validated_url, 169 const GURL& validated_url,
191 bool is_error_page, 170 bool is_error_page,
192 bool is_iframe_srcdoc) { 171 bool is_iframe_srcdoc) {
193 AssertRenderFrameExists(render_frame_host); 172 AssertRenderFrameExists(render_frame_host);
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 // TODO(avi): Disabled because of http://crbug.com/445054 259 // TODO(avi): Disabled because of http://crbug.com/445054
281 AssertRenderFrameExists(render_frame_host); 260 AssertRenderFrameExists(render_frame_host);
282 #endif 261 #endif
283 return false; 262 return false;
284 } 263 }
285 264
286 void WebContentsObserverSanityChecker::WebContentsDestroyed() { 265 void WebContentsObserverSanityChecker::WebContentsDestroyed() {
287 CHECK(!web_contents_destroyed_); 266 CHECK(!web_contents_destroyed_);
288 web_contents_destroyed_ = true; 267 web_contents_destroyed_ = true;
289 CHECK(ongoing_navigations_.empty()); 268 CHECK(ongoing_navigations_.empty());
290 CHECK(ongoing_committed_navigations_.empty());
291 } 269 }
292 270
293 WebContentsObserverSanityChecker::WebContentsObserverSanityChecker( 271 WebContentsObserverSanityChecker::WebContentsObserverSanityChecker(
294 WebContents* web_contents) 272 WebContents* web_contents)
295 : WebContentsObserver(web_contents), web_contents_destroyed_(false) { 273 : WebContentsObserver(web_contents), web_contents_destroyed_(false) {
296 // Prime the pump with the initial objects. 274 // Prime the pump with the initial objects.
297 // TODO(nasko): Investigate why this is needed. 275 // TODO(nasko): Investigate why this is needed.
298 RenderViewCreated(web_contents->GetRenderViewHost()); 276 RenderViewCreated(web_contents->GetRenderViewHost());
299 } 277 }
300 278
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 render_frame_host->GetRoutingID(), 311 render_frame_host->GetRoutingID(),
334 render_frame_host->GetSiteInstance()->GetSiteURL().spec().c_str()); 312 render_frame_host->GetSiteInstance()->GetSiteURL().spec().c_str());
335 } 313 }
336 314
337 bool WebContentsObserverSanityChecker::NavigationIsOngoing( 315 bool WebContentsObserverSanityChecker::NavigationIsOngoing(
338 NavigationHandle* navigation_handle) { 316 NavigationHandle* navigation_handle) {
339 auto it = ongoing_navigations_.find(navigation_handle); 317 auto it = ongoing_navigations_.find(navigation_handle);
340 return it != ongoing_navigations_.end(); 318 return it != ongoing_navigations_.end();
341 } 319 }
342 320
343 bool WebContentsObserverSanityChecker::NavigationIsOngoingAndCommitted(
344 NavigationHandle* navigation_handle) {
345 auto it = ongoing_committed_navigations_.find(navigation_handle);
346 return it != ongoing_committed_navigations_.end();
347 }
348
349 } // namespace content 321 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698