| Index: chrome/renderer/chrome_render_frame_observer.cc
|
| diff --git a/chrome/renderer/chrome_render_frame_observer.cc b/chrome/renderer/chrome_render_frame_observer.cc
|
| index 8bef962e19cb3ac95ed267fdaf787198296c19f8..6f71da98b5d9fbd79ad933b15c6c5ddf2c62cd8c 100644
|
| --- a/chrome/renderer/chrome_render_frame_observer.cc
|
| +++ b/chrome/renderer/chrome_render_frame_observer.cc
|
| @@ -373,8 +373,8 @@ void ChromeRenderFrameObserver::DidFinishLoad() {
|
| search_provider::AUTODETECTED_PROVIDER));
|
| }
|
|
|
| - // Don't capture pages including refresh meta tag.
|
| - if (HasRefreshMetaTag(frame))
|
| + // Don't capture pages that have pending redirect or location change.
|
| + if (frame->isNavigationScheduled())
|
| return;
|
|
|
| page_info_.CapturePageInfoLater(
|
| @@ -403,8 +403,9 @@ void ChromeRenderFrameObserver::DidCommitProvisionalLoad(
|
| if (frame->parent())
|
| return;
|
|
|
| - // Don't capture pages being not new, or including refresh meta tag.
|
| - if (!is_new_navigation || HasRefreshMetaTag(frame))
|
| + // Don't capture pages being not new, with pending redirect, or location
|
| + // change.
|
| + if (!is_new_navigation || frame->isNavigationScheduled())
|
| return;
|
|
|
| base::debug::SetCrashKeyValue(
|
| @@ -416,33 +417,6 @@ void ChromeRenderFrameObserver::DidCommitProvisionalLoad(
|
| base::TimeDelta::FromMilliseconds(kDelayForForcedCaptureMs));
|
| }
|
|
|
| -bool ChromeRenderFrameObserver::HasRefreshMetaTag(WebLocalFrame* frame) {
|
| - if (!frame)
|
| - return false;
|
| - WebElement head = frame->document().head();
|
| - if (head.isNull() || !head.hasChildNodes())
|
| - return false;
|
| -
|
| - const WebString tag_name(base::ASCIIToUTF16("meta"));
|
| - const WebString attribute_name(base::ASCIIToUTF16("http-equiv"));
|
| -
|
| - WebNodeList children = head.childNodes();
|
| - for (size_t i = 0; i < children.length(); ++i) {
|
| - WebNode node = children.item(i);
|
| - if (!node.isElementNode())
|
| - continue;
|
| - WebElement element = node.to<WebElement>();
|
| - if (!element.hasHTMLTagName(tag_name))
|
| - continue;
|
| - WebString value = element.getAttribute(attribute_name);
|
| - if (value.isNull() ||
|
| - !base::LowerCaseEqualsASCII(base::StringPiece16(value), "refresh"))
|
| - continue;
|
| - return true;
|
| - }
|
| - return false;
|
| -}
|
| -
|
| void ChromeRenderFrameObserver::PageCaptured(base::string16* content,
|
| CaptureType capture_type) {
|
| if (translate_helper_)
|
|
|