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

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

Issue 178193005: Move render_view_context_menu.* related files out of tab_contents. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: context_menu->renderer_context_menu for disambiguation Created 6 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/tab_contents/render_view_context_menu_browsertest.cc
diff --git a/chrome/browser/tab_contents/render_view_context_menu_browsertest.cc b/chrome/browser/tab_contents/render_view_context_menu_browsertest.cc
deleted file mode 100644
index c5f5f6f8c5f4417e25043f236206efe5b34b6145..0000000000000000000000000000000000000000
--- a/chrome/browser/tab_contents/render_view_context_menu_browsertest.cc
+++ /dev/null
@@ -1,228 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <string>
-
-#include "base/memory/scoped_ptr.h"
-#include "base/strings/string16.h"
-#include "base/strings/utf_string_conversions.h"
-#include "chrome/app/chrome_command_ids.h"
-#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/tab_contents/render_view_context_menu.h"
-#include "chrome/browser/tab_contents/render_view_context_menu_browsertest_util.h"
-#include "chrome/browser/tab_contents/render_view_context_menu_test_util.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/test/base/in_process_browser_test.h"
-#include "chrome/test/base/ui_test_utils.h"
-#include "content/public/browser/navigation_controller.h"
-#include "content/public/browser/navigation_entry.h"
-#include "content/public/browser/notification_service.h"
-#include "content/public/browser/render_view_host.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/browser/web_contents_view.h"
-#include "content/public/test/browser_test_utils.h"
-#include "third_party/WebKit/public/web/WebContextMenuData.h"
-#include "third_party/WebKit/public/web/WebInputEvent.h"
-
-using content::WebContents;
-
-namespace {
-
-class ContextMenuBrowserTest : public InProcessBrowserTest {
- public:
- ContextMenuBrowserTest() { }
-
- TestRenderViewContextMenu* CreateContextMenu(GURL unfiltered_url, GURL url) {
- content::ContextMenuParams params;
- params.media_type = blink::WebContextMenuData::MediaTypeNone;
- params.unfiltered_link_url = unfiltered_url;
- params.link_url = url;
- WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- params.page_url = web_contents->GetController().GetActiveEntry()->GetURL();
-#if defined(OS_MACOSX)
- params.writing_direction_default = 0;
- params.writing_direction_left_to_right = 0;
- params.writing_direction_right_to_left = 0;
-#endif // OS_MACOSX
- TestRenderViewContextMenu* menu = new TestRenderViewContextMenu(
- browser()->tab_strip_model()->GetActiveWebContents()->GetMainFrame(),
- params);
- menu->Init();
- return menu;
- }
-};
-
-IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest,
- OpenEntryPresentForNormalURLs) {
- scoped_ptr<TestRenderViewContextMenu> menu(
- CreateContextMenu(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));
- ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_COPYLINKLOCATION));
-}
-
-IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest,
- OpenEntryAbsentForFilteredURLs) {
- scoped_ptr<TestRenderViewContextMenu> menu(
- CreateContextMenu(GURL("chrome://history"),
- GURL()));
-
- ASSERT_FALSE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWTAB));
- ASSERT_FALSE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWWINDOW));
- ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_COPYLINKLOCATION));
-}
-
-// GTK requires a X11-level mouse event to open a context menu correctly.
-#if defined(TOOLKIT_GTK)
-#define MAYBE_RealMenu DISABLED_RealMenu
-#else
-#define MAYBE_RealMenu RealMenu
-#endif
-// Opens a link in a new tab via a "real" context menu.
-IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest,
- MAYBE_RealMenu) {
- ContextMenuNotificationObserver menu_observer(
- IDC_CONTENT_CONTEXT_OPENLINKNEWTAB);
- ui_test_utils::WindowedTabAddedNotificationObserver tab_observer(
- content::NotificationService::AllSources());
-
- // Go to a page with a link
- ui_test_utils::NavigateToURL(
- browser(), GURL("data:text/html,<a href='about:blank'>link</a>"));
-
- // Open a context menu.
- blink::WebMouseEvent mouse_event;
- mouse_event.type = blink::WebInputEvent::MouseDown;
- mouse_event.button = blink::WebMouseEvent::ButtonRight;
- mouse_event.x = 15;
- mouse_event.y = 15;
- gfx::Rect offset;
- content::WebContents* tab =
- browser()->tab_strip_model()->GetActiveWebContents();
- tab->GetView()->GetContainerBounds(&offset);
- mouse_event.globalX = 15 + offset.x();
- mouse_event.globalY = 15 + offset.y();
- mouse_event.clickCount = 1;
- tab->GetRenderViewHost()->ForwardMouseEvent(mouse_event);
- mouse_event.type = blink::WebInputEvent::MouseUp;
- tab->GetRenderViewHost()->ForwardMouseEvent(mouse_event);
-
- // The menu_observer will select "Open in new tab", wait for the new tab to
- // be added.
- tab_observer.Wait();
- tab = tab_observer.GetTab();
- content::WaitForLoadStop(tab);
-
- // Verify that it's the correct tab.
- EXPECT_EQ(GURL("about:blank"), tab->GetURL());
-}
-
-// Verify that "Open Link in New Tab" doesn't send URL fragment as referrer.
-IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest, OpenInNewTabReferrer) {
- ui_test_utils::WindowedTabAddedNotificationObserver tab_observer(
- content::NotificationService::AllSources());
-
- ASSERT_TRUE(test_server()->Start());
- GURL echoheader(test_server()->GetURL("echoheader?Referer"));
-
- // Go to a |page| with a link to echoheader URL.
- GURL page("data:text/html,<a href='" + echoheader.spec() + "'>link</a>");
- ui_test_utils::NavigateToURL(browser(), page);
-
- // Set up referrer URL with fragment.
- const GURL kReferrerWithFragment("http://foo.com/test#fragment");
- const std::string kCorrectReferrer("http://foo.com/test");
-
- // Set up menu with link URL.
- content::ContextMenuParams context_menu_params;
- context_menu_params.page_url = kReferrerWithFragment;
- context_menu_params.link_url = echoheader;
-
- // Select "Open Link in New Tab" and wait for the new tab to be added.
- TestRenderViewContextMenu menu(
- browser()->tab_strip_model()->GetActiveWebContents()->GetMainFrame(),
- context_menu_params);
- menu.Init();
- menu.ExecuteCommand(IDC_CONTENT_CONTEXT_OPENLINKNEWTAB, 0);
-
- tab_observer.Wait();
- content::WebContents* tab = tab_observer.GetTab();
- content::WaitForLoadStop(tab);
-
- // Verify that it's the correct tab.
- ASSERT_EQ(echoheader, tab->GetURL());
- // Verify that the text on the page matches |kCorrectReferrer|.
- std::string actual_referrer;
- ASSERT_TRUE(content::ExecuteScriptAndExtractString(
- tab,
- "window.domAutomationController.send(window.document.body.textContent);",
- &actual_referrer));
- ASSERT_EQ(kCorrectReferrer, actual_referrer);
-
- // Verify that the referrer on the page matches |kCorrectReferrer|.
- std::string page_referrer;
- ASSERT_TRUE(content::ExecuteScriptAndExtractString(
- tab,
- "window.domAutomationController.send(window.document.referrer);",
- &page_referrer));
- ASSERT_EQ(kCorrectReferrer, page_referrer);
-}
-
-// Verify that "Open Link in Incognito Window " doesn't send referrer URL.
-IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest, OpenIncognitoNoneReferrer) {
- ui_test_utils::WindowedTabAddedNotificationObserver tab_observer(
- content::NotificationService::AllSources());
-
- ASSERT_TRUE(test_server()->Start());
- GURL echoheader(test_server()->GetURL("echoheader?Referer"));
-
- // Go to a |page| with a link to echoheader URL.
- GURL page("data:text/html,<a href='" + echoheader.spec() + "'>link</a>");
- ui_test_utils::NavigateToURL(browser(), page);
-
- // Set up referrer URL with fragment.
- const GURL kReferrerWithFragment("http://foo.com/test#fragment");
- const std::string kNoneReferrer("None");
- const std::string kEmptyReferrer("");
-
- // Set up menu with link URL.
- content::ContextMenuParams context_menu_params;
- context_menu_params.page_url = kReferrerWithFragment;
- context_menu_params.link_url = echoheader;
-
- // Select "Open Link in Incognito Window" and wait for window to be added.
- TestRenderViewContextMenu menu(
- browser()->tab_strip_model()->GetActiveWebContents()->GetMainFrame(),
- context_menu_params);
- menu.Init();
- menu.ExecuteCommand(IDC_CONTENT_CONTEXT_OPENLINKOFFTHERECORD, 0);
-
- tab_observer.Wait();
- content::WebContents* tab = tab_observer.GetTab();
- content::WaitForLoadStop(tab);
-
- // Verify that it's the correct tab.
- ASSERT_EQ(echoheader, tab->GetURL());
- // Verify that the text on the page matches |kNoneReferrer|.
- std::string actual_referrer;
- ASSERT_TRUE(content::ExecuteScriptAndExtractString(
- tab,
- "window.domAutomationController.send(window.document.body.textContent);",
- &actual_referrer));
- ASSERT_EQ(kNoneReferrer, actual_referrer);
-
- // Verify that the referrer on the page matches |kEmptyReferrer|.
- std::string page_referrer;
- ASSERT_TRUE(content::ExecuteScriptAndExtractString(
- tab,
- "window.domAutomationController.send(window.document.referrer);",
- &page_referrer));
- ASSERT_EQ(kEmptyReferrer, page_referrer);
-}
-
-} // namespace

Powered by Google App Engine
This is Rietveld 408576698