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

Unified Diff: chrome/browser/renderer_context_menu/render_view_context_menu_browsertest.cc

Issue 953053003: Context menu to view original image when Data Saver is being used. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2311
Patch Set: Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/renderer_context_menu/render_view_context_menu_browsertest.cc
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu_browsertest.cc b/chrome/browser/renderer_context_menu/render_view_context_menu_browsertest.cc
index 26a7ce8fe9b1abca57df2968a54ffc82fa14dffe..7d50614d1f37f4ce32fa06a3e99d6308a5e839d6 100644
--- a/chrome/browser/renderer_context_menu/render_view_context_menu_browsertest.cc
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu_browsertest.cc
@@ -4,6 +4,7 @@
#include <string>
+#include "base/command_line.h"
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
@@ -20,6 +21,7 @@
#include "chrome/common/render_messages.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/ui_test_utils.h"
+#include "components/data_reduction_proxy/core/common/data_reduction_proxy_switches.h"
#include "components/search_engines/template_url_data.h"
#include "components/search_engines/template_url_service.h"
#include "content/public/browser/browser_message_filter.h"
@@ -41,13 +43,17 @@ namespace {
class ContextMenuBrowserTest : public InProcessBrowserTest {
public:
- ContextMenuBrowserTest() { }
+ ContextMenuBrowserTest() {}
- TestRenderViewContextMenu* CreateContextMenu(GURL unfiltered_url, GURL url) {
+ TestRenderViewContextMenu* CreateContextMenu(
+ const GURL& unfiltered_url,
+ const GURL& url,
+ blink::WebContextMenuData::MediaType media_type) {
content::ContextMenuParams params;
- params.media_type = blink::WebContextMenuData::MediaTypeNone;
+ params.media_type = media_type;
params.unfiltered_link_url = unfiltered_url;
params.link_url = url;
+ params.src_url = url;
WebContents* web_contents =
browser()->tab_strip_model()->GetActiveWebContents();
params.page_url = web_contents->GetController().GetActiveEntry()->GetURL();
@@ -62,13 +68,19 @@ class ContextMenuBrowserTest : public InProcessBrowserTest {
menu->Init();
return menu;
}
+
+ TestRenderViewContextMenu* CreateContextMenuMediaTypeNone(
+ const GURL& unfiltered_url,
+ const GURL& url) {
+ return CreateContextMenu(unfiltered_url, url,
+ blink::WebContextMenuData::MediaTypeNone);
+ }
};
IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest,
OpenEntryPresentForNormalURLs) {
- scoped_ptr<TestRenderViewContextMenu> menu(
- CreateContextMenu(GURL("http://www.google.com/"),
- GURL("http://www.google.com/")));
+ scoped_ptr<TestRenderViewContextMenu> menu(CreateContextMenuMediaTypeNone(
+ GURL("http://www.google.com/"), GURL("http://www.google.com/")));
ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWTAB));
ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWWINDOW));
@@ -78,8 +90,7 @@ IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest,
IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest,
OpenEntryAbsentForFilteredURLs) {
scoped_ptr<TestRenderViewContextMenu> menu(
- CreateContextMenu(GURL("chrome://history"),
- GURL()));
+ CreateContextMenuMediaTypeNone(GURL("chrome://history"), GURL()));
ASSERT_FALSE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWTAB));
ASSERT_FALSE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWWINDOW));
@@ -298,6 +309,44 @@ IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest, ViewPageInfoWithNoEntry) {
menu.ExecuteCommand(IDC_CONTENT_CONTEXT_VIEWPAGEINFO, 0);
}
+IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest, DataSaverOpenOrigImageInNewTab) {
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ command_line->AppendSwitch(
+ data_reduction_proxy::switches::kEnableDataReductionProxy);
+
+ scoped_ptr<TestRenderViewContextMenu> menu(
+ CreateContextMenu(GURL(), GURL("http://url.com/image.png"),
+ blink::WebContextMenuData::MediaTypeImage));
+
+ ASSERT_FALSE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB));
+ ASSERT_TRUE(menu->IsItemPresent(
+ IDC_CONTENT_CONTEXT_OPEN_ORIGINAL_IMAGE_NEW_TAB));
+}
+
+IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest,
+ DataSaverHttpsOpenImageInNewTab) {
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ command_line->AppendSwitch(
+ data_reduction_proxy::switches::kEnableDataReductionProxy);
+
+ scoped_ptr<TestRenderViewContextMenu> menu(
+ CreateContextMenu(GURL(), GURL("https://url.com/image.png"),
+ blink::WebContextMenuData::MediaTypeImage));
+
+ ASSERT_FALSE(
+ menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPEN_ORIGINAL_IMAGE_NEW_TAB));
+ ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB));
+}
+
+IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest, OpenImageInNewTab) {
+ scoped_ptr<TestRenderViewContextMenu> menu(
+ CreateContextMenu(GURL(), GURL("http://url.com/image.png"),
+ blink::WebContextMenuData::MediaTypeImage));
+ ASSERT_FALSE(
+ menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPEN_ORIGINAL_IMAGE_NEW_TAB));
+ ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB));
+}
+
class ThumbnailResponseWatcher : public content::NotificationObserver {
public:
enum QuitReason {

Powered by Google App Engine
This is Rietveld 408576698