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

Unified Diff: chrome_frame/chrome_frame_npapi_unittest.cc

Issue 7276037: Remove NPAPI support from Chrome Frame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 6 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
« no previous file with comments | « chrome_frame/chrome_frame_npapi_entrypoints.cc ('k') | chrome_frame/chrome_frame_plugin.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome_frame/chrome_frame_npapi_unittest.cc
===================================================================
--- chrome_frame/chrome_frame_npapi_unittest.cc (revision 90713)
+++ chrome_frame/chrome_frame_npapi_unittest.cc (working copy)
@@ -1,176 +0,0 @@
-// Copyright (c) 2011 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 "gtest/gtest.h"
-#include "gmock/gmock.h"
-#include "chrome_frame/chrome_frame_automation.h"
-#include "chrome_frame/chrome_frame_npapi.h"
-
-TEST(ChromeFrameNPAPI, DoesNotCrashOnConstruction) {
- ChromeFrameNPAPI* api = new ChromeFrameNPAPI();
- delete api;
-}
-
-// All mocks in the anonymous namespace.
-namespace {
-
-using ::testing::_;
-using ::testing::Eq;
-using ::testing::Field;
-using ::testing::Invoke;
-using ::testing::Return;
-using ::testing::StrEq;
-
-const char* kMimeType = "application/chromeframe";
-// The default profile name is by default derived from the currently
-// running executable's name.
-const wchar_t* kDefaultProfileName = L"chrome_frame_unittests";
-
-
-class MockNPAPI: public ChromeFrameNPAPI {
- public:
- MockNPAPI() : mock_automation_client_(NULL) {}
- MOCK_METHOD0(GetLocation, std::string());
- MOCK_METHOD0(GetBrowserIncognitoMode, bool());
-
- MOCK_METHOD1(JavascriptToNPObject, virtual NPObject*(const std::string&));
-
- // Make public for test purposes
- void OnAutomationServerReady() {
- ChromeFrameNPAPI::OnAutomationServerReady();
- }
-
- ChromeFrameAutomationClient* CreateAutomationClient() {
- return mock_automation_client_;
- }
-
- ChromeFrameAutomationClient* mock_automation_client_;
-};
-
-class MockAutomationClient: public ChromeFrameAutomationClient {
- public:
- MOCK_METHOD2(Initialize, bool(ChromeFrameDelegate*,
- ChromeFrameLaunchParams*));
-};
-
-namespace {
-
-MATCHER_P4(LaunchParamEq, version_check, extra, incognito, widget,
- "Basic check for ChromeFrameLaunchParams") {
- return arg->version_check() == version_check &&
- arg->extra_arguments().compare(extra) == 0 &&
- arg->incognito() == incognito,
- arg->widget_mode() == widget;
-}
-
-
-static const NPIdentifier kOnPrivateMessageId =
- reinterpret_cast<NPIdentifier>(0x100);
-static const NPIdentifier kPostPrivateMessageId =
- reinterpret_cast<NPIdentifier>(0x100);
-}
-
-class MockNetscapeFuncs {
- public:
- MockNetscapeFuncs() {
- CHECK(NULL == current_);
- current_ = this;
- }
-
- ~MockNetscapeFuncs() {
- CHECK(this == current_);
- current_ = NULL;
- }
-
- MOCK_METHOD3(GetValue, NPError(NPP, NPNVariable, void *));
- MOCK_METHOD3(GetStringIdentifiers, void(const NPUTF8 **,
- int32_t,
- NPIdentifier *)); // NOLINT
- MOCK_METHOD1(RetainObject, NPObject*(NPObject*)); // NOLINT
- MOCK_METHOD1(ReleaseObject, void(NPObject*)); // NOLINT
-
- static const NPNetscapeFuncs* netscape_funcs() {
- return &netscape_funcs_;
- }
-
- private:
- static NPError MockGetValue(NPP instance,
- NPNVariable variable,
- void *ret_value) {
- DCHECK(current_);
- return current_->GetValue(instance, variable, ret_value);
- }
-
- static void MockGetStringIdentifiers(const NPUTF8 **names,
- int32_t name_count,
- NPIdentifier *identifiers) {
- DCHECK(current_);
- return current_->GetStringIdentifiers(names, name_count, identifiers);
- }
-
- static NPObject* MockRetainObject(NPObject* obj) {
- DCHECK(current_);
- return current_->RetainObject(obj);
- }
-
- static void MockReleaseObject(NPObject* obj) {
- DCHECK(current_);
- current_->ReleaseObject(obj);
- }
-
- static MockNetscapeFuncs* current_;
- static NPNetscapeFuncs netscape_funcs_;
-};
-
-// Test fixture to allow testing the privileged NPAPI APIs
-class TestNPAPIPrivilegedApi: public ::testing::Test {
- public:
- virtual void SetUp() {
- memset(&instance, 0, sizeof(instance));
- npapi::InitializeBrowserFunctions(
- const_cast<NPNetscapeFuncs*>(mock_funcs.netscape_funcs()));
-
- // Gets owned & destroyed by mock_api (in the
- // ChromeFramePlugin<T>::Uninitialize() function).
- mock_automation = new MockAutomationClient;
-
- mock_api.mock_automation_client_ = mock_automation;
- }
-
- virtual void TearDown() {
- // Make sure to uninitialize the mock NPAPI before we uninitialize the
- // browser function, otherwise we will get a DCHECK in the NPAPI dtor
- // when it tries to perform the uninitialize there.
- mock_api.Uninitialize();
- npapi::UninitializeBrowserFunctions();
- }
-
- void SetupPrivilegeTest(bool is_incognito,
- bool expect_privilege_check,
- bool is_privileged,
- const std::wstring& profile_name,
- const std::wstring& language,
- const std::wstring& extra_args) {
- EXPECT_CALL(mock_api, GetLocation())
- .WillOnce(Return(std::string("http://www.google.com")));
- EXPECT_CALL(mock_api, GetBrowserIncognitoMode())
- .WillOnce(Return(is_incognito));
-
- scoped_refptr<ChromeFrameLaunchParams> launch_params(
- new ChromeFrameLaunchParams(GURL(), GURL(), FilePath(), profile_name,
- language, extra_args, is_incognito, true, false));
-
- EXPECT_CALL(*mock_automation,
- Initialize(_, LaunchParamEq(true, extra_args, is_incognito, true)))
- .WillOnce(Return(true));
- }
-
- public:
- MockNetscapeFuncs mock_funcs;
- MockNPAPI mock_api;
- MockAutomationClient* mock_automation;
- NPP_t instance;
-};
-
-} // namespace
« no previous file with comments | « chrome_frame/chrome_frame_npapi_entrypoints.cc ('k') | chrome_frame/chrome_frame_plugin.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698