| 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 {
|
|
|