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

Side by Side Diff: webkit/glue/webframeloaderclient_impl.cc

Issue 194022: Guard against NULL webview in dispatchDidFinishDocumentLoad. The... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2009 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 "config.h" 5 #include "config.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "Chrome.h" 10 #include "Chrome.h"
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 const ResourceError& error) { 313 const ResourceError& error) {
314 WebViewImpl* webview = webframe_->GetWebViewImpl(); 314 WebViewImpl* webview = webframe_->GetWebViewImpl();
315 if (webview && webview->delegate()) { 315 if (webview && webview->delegate()) {
316 webview->delegate()->DidFailLoadingWithError( 316 webview->delegate()->DidFailLoadingWithError(
317 webframe_, identifier, webkit_glue::ResourceErrorToWebURLError(error)); 317 webframe_, identifier, webkit_glue::ResourceErrorToWebURLError(error));
318 } 318 }
319 } 319 }
320 320
321 void WebFrameLoaderClient::dispatchDidFinishDocumentLoad() { 321 void WebFrameLoaderClient::dispatchDidFinishDocumentLoad() {
322 WebViewImpl* webview = webframe_->GetWebViewImpl(); 322 WebViewImpl* webview = webframe_->GetWebViewImpl();
323 WebViewDelegate* d = webview->delegate();
324 DocumentLoader* documentLoader = 323 DocumentLoader* documentLoader =
325 webframe_->frame()->loader()->activeDocumentLoader(); 324 webframe_->frame()->loader()->activeDocumentLoader();
326 WebDataSourceImpl* data_source = 325 WebDataSourceImpl* data_source =
327 WebDataSourceImpl::fromDocumentLoader(documentLoader); 326 WebDataSourceImpl::fromDocumentLoader(documentLoader);
328 327
329 // A frame may be reused. This call ensures we don't hold on to our password 328 // A frame may be reused. This call ensures we don't hold on to our password
330 // listeners and their associated HTMLInputElements. 329 // listeners and their associated HTMLInputElements.
331 webframe_->ClearPasswordListeners(); 330 webframe_->ClearPasswordListeners();
332 331
333 if (d) 332 if (webview && webview->delegate())
334 d->DidFinishDocumentLoadForFrame(webview, webframe_); 333 webview->delegate()->DidFinishDocumentLoadForFrame(webview, webframe_);
335 } 334 }
336 335
337 bool WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache( 336 bool WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache(
338 DocumentLoader* loader, 337 DocumentLoader* loader,
339 const ResourceRequest& request, 338 const ResourceRequest& request,
340 const ResourceResponse& response, 339 const ResourceResponse& response,
341 int length) { 340 int length) {
342 WebViewImpl* webview = webframe_->GetWebViewImpl(); 341 WebViewImpl* webview = webframe_->GetWebViewImpl();
343 WebViewDelegate* d = webview->delegate(); 342 WebViewDelegate* d = webview->delegate();
344 343
(...skipping 1032 matching lines...) Expand 10 before | Expand all | Expand 10 after
1377 WebViewDelegate* d = webframe_->GetWebViewImpl()->delegate(); 1376 WebViewDelegate* d = webframe_->GetWebViewImpl()->delegate();
1378 if (d) 1377 if (d)
1379 d->NavigateBackForwardSoon(offset); 1378 d->NavigateBackForwardSoon(offset);
1380 } 1379 }
1381 1380
1382 PassOwnPtr<WebPluginLoadObserver> WebFrameLoaderClient::GetPluginLoadObserver() { 1381 PassOwnPtr<WebPluginLoadObserver> WebFrameLoaderClient::GetPluginLoadObserver() {
1383 WebDataSourceImpl* ds = WebDataSourceImpl::fromDocumentLoader( 1382 WebDataSourceImpl* ds = WebDataSourceImpl::fromDocumentLoader(
1384 webframe_->frame()->loader()->activeDocumentLoader()); 1383 webframe_->frame()->loader()->activeDocumentLoader());
1385 return ds->releasePluginLoadObserver(); 1384 return ds->releasePluginLoadObserver();
1386 } 1385 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698