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

Side by Side Diff: chrome/renderer/chrome_render_view_observer.cc

Issue 807583006: Fix ChromeRenderViewObserver::DidStopLoading to be OOPIF compatible. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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
« 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) 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 #include "chrome/renderer/chrome_render_view_observer.h" 5 #include "chrome/renderer/chrome_render_view_observer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 for (size_t i = 0; i < webui_javascript_.size(); ++i) { 327 for (size_t i = 0; i < webui_javascript_.size(); ++i) {
328 render_view()->GetMainRenderFrame()->ExecuteJavaScript( 328 render_view()->GetMainRenderFrame()->ExecuteJavaScript(
329 webui_javascript_[i]); 329 webui_javascript_[i]);
330 } 330 }
331 webui_javascript_.clear(); 331 webui_javascript_.clear();
332 } 332 }
333 } 333 }
334 334
335 void ChromeRenderViewObserver::DidStopLoading() { 335 void ChromeRenderViewObserver::DidStopLoading() {
336 WebFrame* main_frame = render_view()->GetWebView()->mainFrame(); 336 WebFrame* main_frame = render_view()->GetWebView()->mainFrame();
337 GURL osdd_url = main_frame->document().openSearchDescriptionURL(); 337
338 if (!osdd_url.is_empty()) { 338 // Only WebLocalFrames host the document associated with a frame and need to
339 Send(new ChromeViewHostMsg_PageHasOSDD( 339 // process meta or OSDD tags.
340 routing_id(), main_frame->document().url(), osdd_url, 340 if (main_frame->isWebLocalFrame()) {
341 search_provider::AUTODETECTED_PROVIDER)); 341 GURL osdd_url = main_frame->document().openSearchDescriptionURL();
342 if (!osdd_url.is_empty()) {
343 Send(new ChromeViewHostMsg_PageHasOSDD(
344 routing_id(), main_frame->document().url(), osdd_url,
345 search_provider::AUTODETECTED_PROVIDER));
346 }
347
348 // Don't capture pages including refresh meta tag.
349 if (HasRefreshMetaTag(main_frame))
350 return;
342 } 351 }
343 352
344 // Don't capture pages including refresh meta tag.
345 if (HasRefreshMetaTag(main_frame))
346 return;
347
348 CapturePageInfoLater( 353 CapturePageInfoLater(
Lei Zhang 2014/12/16 23:46:57 I think you want this to be for WebLocalFrame only
nasko 2014/12/16 23:48:59 I'm not certain and the CapturePageInfo already ha
Lei Zhang 2014/12/17 00:14:20 It looks like creis@ has plans to move the Capture
349 false, // preliminary_capture 354 false, // preliminary_capture
350 base::TimeDelta::FromMilliseconds( 355 base::TimeDelta::FromMilliseconds(
351 render_view()->GetContentStateImmediately() ? 356 render_view()->GetContentStateImmediately() ?
352 0 : kDelayForCaptureMs)); 357 0 : kDelayForCaptureMs));
353 } 358 }
354 359
355 void ChromeRenderViewObserver::DidCommitProvisionalLoad( 360 void ChromeRenderViewObserver::DidCommitProvisionalLoad(
356 WebLocalFrame* frame, bool is_new_navigation) { 361 WebLocalFrame* frame, bool is_new_navigation) {
357 // Don't capture pages being not new, or including refresh meta tag. 362 // Don't capture pages being not new, or including refresh meta tag.
358 if (!is_new_navigation || HasRefreshMetaTag(frame)) 363 if (!is_new_navigation || HasRefreshMetaTag(frame))
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 WebElement element = node.to<WebElement>(); 477 WebElement element = node.to<WebElement>();
473 if (!element.hasHTMLTagName(tag_name)) 478 if (!element.hasHTMLTagName(tag_name))
474 continue; 479 continue;
475 WebString value = element.getAttribute(attribute_name); 480 WebString value = element.getAttribute(attribute_name);
476 if (value.isNull() || !LowerCaseEqualsASCII(value, "refresh")) 481 if (value.isNull() || !LowerCaseEqualsASCII(value, "refresh"))
477 continue; 482 continue;
478 return true; 483 return true;
479 } 484 }
480 return false; 485 return false;
481 } 486 }
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