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

Unified Diff: chrome/browser/tab_contents/render_view_context_menu_unittest.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_unittest.cc
diff --git a/chrome/browser/tab_contents/render_view_context_menu_unittest.cc b/chrome/browser/tab_contents/render_view_context_menu_unittest.cc
deleted file mode 100644
index 3de09a37ca49eb8631819e374a4973c57345713d..0000000000000000000000000000000000000000
--- a/chrome/browser/tab_contents/render_view_context_menu_unittest.cc
+++ /dev/null
@@ -1,291 +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 "chrome/browser/tab_contents/render_view_context_menu.h"
-
-#include "base/prefs/pref_service.h"
-#include "chrome/app/chrome_command_ids.h"
-#include "chrome/browser/custom_handlers/protocol_handler_registry.h"
-#include "chrome/browser/prefs/incognito_mode_prefs.h"
-#include "chrome/browser/tab_contents/render_view_context_menu_test_util.h"
-#include "chrome/test/base/chrome_render_view_host_test_harness.h"
-#include "chrome/test/base/testing_profile.h"
-#include "content/public/browser/web_contents.h"
-#include "extensions/browser/extension_prefs.h"
-#include "extensions/common/url_pattern.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/WebKit/public/web/WebContextMenuData.h"
-#include "url/gurl.h"
-
-using extensions::MenuItem;
-using extensions::URLPatternSet;
-
-class RenderViewContextMenuTest : public testing::Test {
- protected:
- // Proxy defined here to minimize friend classes in RenderViewContextMenu
- static bool ExtensionContextAndPatternMatch(
- const content::ContextMenuParams& params,
- MenuItem::ContextList contexts,
- const URLPatternSet& patterns) {
- return RenderViewContextMenu::ExtensionContextAndPatternMatch(params,
- contexts, patterns);
- }
-};
-
-// Generates a ContextMenuParams that matches the specified contexts.
-static content::ContextMenuParams CreateParams(int contexts) {
- content::ContextMenuParams rv;
- rv.is_editable = false;
- rv.media_type = blink::WebContextMenuData::MediaTypeNone;
- rv.page_url = GURL("http://test.page/");
-
- static const base::char16 selected_text[] = { 's', 'e', 'l', 0 };
- if (contexts & MenuItem::SELECTION)
- rv.selection_text = selected_text;
-
- if (contexts & MenuItem::LINK)
- rv.link_url = GURL("http://test.link/");
-
- if (contexts & MenuItem::EDITABLE)
- rv.is_editable = true;
-
- if (contexts & MenuItem::IMAGE) {
- rv.src_url = GURL("http://test.image/");
- rv.media_type = blink::WebContextMenuData::MediaTypeImage;
- }
-
- if (contexts & MenuItem::VIDEO) {
- rv.src_url = GURL("http://test.video/");
- rv.media_type = blink::WebContextMenuData::MediaTypeVideo;
- }
-
- if (contexts & MenuItem::AUDIO) {
- rv.src_url = GURL("http://test.audio/");
- rv.media_type = blink::WebContextMenuData::MediaTypeAudio;
- }
-
- if (contexts & MenuItem::FRAME)
- rv.frame_url = GURL("http://test.frame/");
-
- return rv;
-}
-
-// Generates a URLPatternSet with a single pattern
-static URLPatternSet CreatePatternSet(const std::string& pattern) {
- URLPattern target(URLPattern::SCHEME_HTTP);
- target.Parse(pattern);
-
- URLPatternSet rv;
- rv.AddPattern(target);
-
- return rv;
-}
-
-TEST_F(RenderViewContextMenuTest, TargetIgnoredForPage) {
- content::ContextMenuParams params = CreateParams(0);
-
- MenuItem::ContextList contexts;
- contexts.Add(MenuItem::PAGE);
-
- URLPatternSet patterns = CreatePatternSet("*://test.none/*");
-
- EXPECT_TRUE(ExtensionContextAndPatternMatch(params, contexts, patterns));
-}
-
-TEST_F(RenderViewContextMenuTest, TargetCheckedForLink) {
- content::ContextMenuParams params = CreateParams(MenuItem::LINK);
-
- MenuItem::ContextList contexts;
- contexts.Add(MenuItem::PAGE);
- contexts.Add(MenuItem::LINK);
-
- URLPatternSet patterns = CreatePatternSet("*://test.none/*");
-
- EXPECT_FALSE(ExtensionContextAndPatternMatch(params, contexts, patterns));
-}
-
-TEST_F(RenderViewContextMenuTest, TargetCheckedForImage) {
- content::ContextMenuParams params = CreateParams(MenuItem::IMAGE);
-
- MenuItem::ContextList contexts;
- contexts.Add(MenuItem::PAGE);
- contexts.Add(MenuItem::IMAGE);
-
- URLPatternSet patterns = CreatePatternSet("*://test.none/*");
-
- EXPECT_FALSE(ExtensionContextAndPatternMatch(params, contexts, patterns));
-}
-
-TEST_F(RenderViewContextMenuTest, TargetCheckedForVideo) {
- content::ContextMenuParams params = CreateParams(MenuItem::VIDEO);
-
- MenuItem::ContextList contexts;
- contexts.Add(MenuItem::PAGE);
- contexts.Add(MenuItem::VIDEO);
-
- URLPatternSet patterns = CreatePatternSet("*://test.none/*");
-
- EXPECT_FALSE(ExtensionContextAndPatternMatch(params, contexts, patterns));
-}
-
-TEST_F(RenderViewContextMenuTest, TargetCheckedForAudio) {
- content::ContextMenuParams params = CreateParams(MenuItem::AUDIO);
-
- MenuItem::ContextList contexts;
- contexts.Add(MenuItem::PAGE);
- contexts.Add(MenuItem::AUDIO);
-
- URLPatternSet patterns = CreatePatternSet("*://test.none/*");
-
- EXPECT_FALSE(ExtensionContextAndPatternMatch(params, contexts, patterns));
-}
-
-TEST_F(RenderViewContextMenuTest, MatchWhenLinkedImageMatchesTarget) {
- content::ContextMenuParams params = CreateParams(MenuItem::IMAGE |
- MenuItem::LINK);
-
- MenuItem::ContextList contexts;
- contexts.Add(MenuItem::LINK);
- contexts.Add(MenuItem::IMAGE);
-
- URLPatternSet patterns = CreatePatternSet("*://test.link/*");
-
- EXPECT_TRUE(ExtensionContextAndPatternMatch(params, contexts, patterns));
-}
-
-TEST_F(RenderViewContextMenuTest, MatchWhenLinkedImageMatchesSource) {
- content::ContextMenuParams params = CreateParams(MenuItem::IMAGE |
- MenuItem::LINK);
-
- MenuItem::ContextList contexts;
- contexts.Add(MenuItem::LINK);
- contexts.Add(MenuItem::IMAGE);
-
- URLPatternSet patterns = CreatePatternSet("*://test.image/*");
-
- EXPECT_TRUE(ExtensionContextAndPatternMatch(params, contexts, patterns));
-}
-
-TEST_F(RenderViewContextMenuTest, NoMatchWhenLinkedImageMatchesNeither) {
- content::ContextMenuParams params = CreateParams(MenuItem::IMAGE |
- MenuItem::LINK);
-
- MenuItem::ContextList contexts;
- contexts.Add(MenuItem::LINK);
- contexts.Add(MenuItem::IMAGE);
-
- URLPatternSet patterns = CreatePatternSet("*://test.none/*");
-
- EXPECT_FALSE(ExtensionContextAndPatternMatch(params, contexts, patterns));
-}
-
-TEST_F(RenderViewContextMenuTest, TargetIgnoredForFrame) {
- content::ContextMenuParams params = CreateParams(MenuItem::FRAME);
-
- MenuItem::ContextList contexts;
- contexts.Add(MenuItem::FRAME);
-
- URLPatternSet patterns = CreatePatternSet("*://test.none/*");
-
- EXPECT_TRUE(ExtensionContextAndPatternMatch(params, contexts, patterns));
-}
-
-TEST_F(RenderViewContextMenuTest, TargetIgnoredForEditable) {
- content::ContextMenuParams params = CreateParams(MenuItem::EDITABLE);
-
- MenuItem::ContextList contexts;
- contexts.Add(MenuItem::EDITABLE);
-
- URLPatternSet patterns = CreatePatternSet("*://test.none/*");
-
- EXPECT_TRUE(ExtensionContextAndPatternMatch(params, contexts, patterns));
-}
-
-TEST_F(RenderViewContextMenuTest, TargetIgnoredForSelection) {
- content::ContextMenuParams params =
- CreateParams(MenuItem::SELECTION);
-
- MenuItem::ContextList contexts;
- contexts.Add(MenuItem::SELECTION);
-
- URLPatternSet patterns = CreatePatternSet("*://test.none/*");
-
- EXPECT_TRUE(ExtensionContextAndPatternMatch(params, contexts, patterns));
-}
-
-TEST_F(RenderViewContextMenuTest, TargetIgnoredForSelectionOnLink) {
- content::ContextMenuParams params = CreateParams(
- MenuItem::SELECTION | MenuItem::LINK);
-
- MenuItem::ContextList contexts;
- contexts.Add(MenuItem::SELECTION);
- contexts.Add(MenuItem::LINK);
-
- URLPatternSet patterns = CreatePatternSet("*://test.none/*");
-
- EXPECT_TRUE(ExtensionContextAndPatternMatch(params, contexts, patterns));
-}
-
-TEST_F(RenderViewContextMenuTest, TargetIgnoredForSelectionOnImage) {
- content::ContextMenuParams params = CreateParams(
- MenuItem::SELECTION | MenuItem::IMAGE);
-
- MenuItem::ContextList contexts;
- contexts.Add(MenuItem::SELECTION);
- contexts.Add(MenuItem::IMAGE);
-
- URLPatternSet patterns = CreatePatternSet("*://test.none/*");
-
- EXPECT_TRUE(ExtensionContextAndPatternMatch(params, contexts, patterns));
-}
-
-class RenderViewContextMenuPrefsTest : public ChromeRenderViewHostTestHarness {
- public:
- virtual void SetUp() OVERRIDE {
- ChromeRenderViewHostTestHarness::SetUp();
- registry_.reset(new ProtocolHandlerRegistry(profile(), NULL));
- }
-
- virtual void TearDown() OVERRIDE {
- registry_.reset();
- ChromeRenderViewHostTestHarness::TearDown();
- }
-
- TestRenderViewContextMenu* CreateContextMenu() {
- content::ContextMenuParams params = CreateParams(MenuItem::LINK);
- params.unfiltered_link_url = params.link_url;
- content::WebContents* wc = web_contents();
- TestRenderViewContextMenu* menu = new TestRenderViewContextMenu(
- wc->GetMainFrame(), params);
- // TestingProfile (returned by profile()) does not provide a protocol
- // registry.
- menu->protocol_handler_registry_ = registry_.get();
- menu->Init();
- return menu;
- }
-
- private:
- scoped_ptr<ProtocolHandlerRegistry> registry_;
-};
-
-// Verifies when Incognito Mode is not available (disabled by policy),
-// Open Link in Incognito Window link in the context menu is disabled.
-TEST_F(RenderViewContextMenuPrefsTest,
- DisableOpenInIncognitoWindowWhenIncognitoIsDisabled) {
- scoped_ptr<TestRenderViewContextMenu> menu(CreateContextMenu());
-
- // Initially the Incognito mode is be enabled. So is the Open Link in
- // Incognito Window link.
- ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKOFFTHERECORD));
- EXPECT_TRUE(
- menu->IsCommandIdEnabled(IDC_CONTENT_CONTEXT_OPENLINKOFFTHERECORD));
-
- // Disable Incognito mode.
- IncognitoModePrefs::SetAvailability(profile()->GetPrefs(),
- IncognitoModePrefs::DISABLED);
- menu.reset(CreateContextMenu());
- ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKOFFTHERECORD));
- EXPECT_FALSE(
- menu->IsCommandIdEnabled(IDC_CONTENT_CONTEXT_OPENLINKOFFTHERECORD));
-}

Powered by Google App Engine
This is Rietveld 408576698