Commit 1ffc80d6 authored by Doug Arnett's avatar Doug Arnett Committed by Commit Bot

Fixes InfoBar presentation for NoScript preview


Bug: 792133
Change-Id: Iaa99ae16b359560f60e23c07cace1241781b6bbd
Reviewed-on: https://chromium-review.googlesource.com/809296Reviewed-by: default avatarTarun Bansal <tbansal@chromium.org>
Reviewed-by: default avatarMatt Menke <mmenke@chromium.org>
Commit-Queue: Doug Arnett <dougarnett@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521846}
parent ffb23849
...@@ -812,14 +812,12 @@ void ChromeResourceDispatcherHostDelegate::OnResponseStarted( ...@@ -812,14 +812,12 @@ void ChromeResourceDispatcherHostDelegate::OnResponseStarted(
// Clear https-only previews types. // Clear https-only previews types.
previews_state &= ~(content::NOSCRIPT_ON); previews_state &= ~(content::NOSCRIPT_ON);
} }
if (previews_state != response->head.previews_state) { // Update previews state in response to renderer.
// Update previews state in response to renderer. response->head.previews_state = previews_state;
response->head.previews_state = previews_state; // Update previews state in nav data to UI.
// Update previews state in nav data to UI. ChromeNavigationData* data =
ChromeNavigationData* data = ChromeNavigationData::GetDataAndCreateIfNecessary(request);
ChromeNavigationData::GetDataAndCreateIfNecessary(request); data->set_previews_state(previews_state);
data->set_previews_state(previews_state);
}
} }
} }
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include "base/command_line.h" #include "base/command_line.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/test/histogram_tester.h"
#include "base/test/scoped_feature_list.h" #include "base/test/scoped_feature_list.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
...@@ -97,11 +98,15 @@ class PreviewsBrowserTest : public InProcessBrowserTest { ...@@ -97,11 +98,15 @@ class PreviewsBrowserTest : public InProcessBrowserTest {
// a script resource. Verifies that the noscript tag is not evaluated and the // a script resource. Verifies that the noscript tag is not evaluated and the
// script resource is loaded. // script resource is loaded.
IN_PROC_BROWSER_TEST_F(PreviewsBrowserTest, NoScriptPreviewsDisabled) { IN_PROC_BROWSER_TEST_F(PreviewsBrowserTest, NoScriptPreviewsDisabled) {
base::HistogramTester histogram_tester;
ui_test_utils::NavigateToURL(browser(), https_url()); ui_test_utils::NavigateToURL(browser(), https_url());
// Verify loaded js resource but not css triggered by noscript tag. // Verify loaded js resource but not css triggered by noscript tag.
EXPECT_TRUE(noscript_js_requested()); EXPECT_TRUE(noscript_js_requested());
EXPECT_FALSE(noscript_css_requested()); EXPECT_FALSE(noscript_css_requested());
// Verify info bar not presented via histogram check.
histogram_tester.ExpectTotalCount("Previews.InfoBarAction.NoScript", 0);
} }
// This test class enables NoScriptPreviews but without OptimizationHints. // This test class enables NoScriptPreviews but without OptimizationHints.
...@@ -138,11 +143,15 @@ class PreviewsNoScriptBrowserTest : public PreviewsBrowserTest { ...@@ -138,11 +143,15 @@ class PreviewsNoScriptBrowserTest : public PreviewsBrowserTest {
// script resource is not loaded. // script resource is not loaded.
IN_PROC_BROWSER_TEST_F(PreviewsNoScriptBrowserTest, IN_PROC_BROWSER_TEST_F(PreviewsNoScriptBrowserTest,
MAYBE_NoScriptPreviewsEnabled) { MAYBE_NoScriptPreviewsEnabled) {
base::HistogramTester histogram_tester;
ui_test_utils::NavigateToURL(browser(), https_url()); ui_test_utils::NavigateToURL(browser(), https_url());
// Verify loaded noscript tag triggered css resource but not js one. // Verify loaded noscript tag triggered css resource but not js one.
EXPECT_TRUE(noscript_css_requested()); EXPECT_TRUE(noscript_css_requested());
EXPECT_FALSE(noscript_js_requested()); EXPECT_FALSE(noscript_js_requested());
// Verify info bar presented via histogram check.
histogram_tester.ExpectUniqueSample("Previews.InfoBarAction.NoScript", 0, 1);
} }
IN_PROC_BROWSER_TEST_F(PreviewsNoScriptBrowserTest, IN_PROC_BROWSER_TEST_F(PreviewsNoScriptBrowserTest,
...@@ -156,11 +165,15 @@ IN_PROC_BROWSER_TEST_F(PreviewsNoScriptBrowserTest, ...@@ -156,11 +165,15 @@ IN_PROC_BROWSER_TEST_F(PreviewsNoScriptBrowserTest,
IN_PROC_BROWSER_TEST_F(PreviewsNoScriptBrowserTest, IN_PROC_BROWSER_TEST_F(PreviewsNoScriptBrowserTest,
MAYBE_NoScriptPreviewsEnabledHttpRedirectToHttps) { MAYBE_NoScriptPreviewsEnabledHttpRedirectToHttps) {
base::HistogramTester histogram_tester;
ui_test_utils::NavigateToURL(browser(), redirect_url()); ui_test_utils::NavigateToURL(browser(), redirect_url());
// Verify loaded noscript tag triggered css resource but not js one. // Verify loaded noscript tag triggered css resource but not js one.
EXPECT_TRUE(noscript_css_requested()); EXPECT_TRUE(noscript_css_requested());
EXPECT_FALSE(noscript_js_requested()); EXPECT_FALSE(noscript_js_requested());
// Verify info bar presented via histogram check.
histogram_tester.ExpectUniqueSample("Previews.InfoBarAction.NoScript", 0, 1);
} }
// This test class enables NoScriptPreviews with OptimizationHints. // This test class enables NoScriptPreviews with OptimizationHints.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment