| Index: content/browser/renderer_host/accelerated_plugin_view_mac_unittest.mm
|
| diff --git a/content/browser/renderer_host/accelerated_plugin_view_mac_unittest.mm b/content/browser/renderer_host/accelerated_plugin_view_mac_unittest.mm
|
| deleted file mode 100644
|
| index 3a4464a359d624e255961ce1ed9444fe0e861af2..0000000000000000000000000000000000000000
|
| --- a/content/browser/renderer_host/accelerated_plugin_view_mac_unittest.mm
|
| +++ /dev/null
|
| @@ -1,189 +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 "content/browser/renderer_host/accelerated_plugin_view_mac.h"
|
| -
|
| -#include "base/logging.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -#include "testing/platform_test.h"
|
| -#import "ui/base/cocoa/underlay_opengl_hosting_window.h"
|
| -
|
| -@interface UnderlayCountingWindow : NSWindow<UnderlayableSurface> {
|
| - @private
|
| - int underlayCount_;
|
| -}
|
| -@property (readonly, nonatomic) int underlayCount;
|
| -- (void)underlaySurfaceAdded;
|
| -- (void)underlaySurfaceRemoved;
|
| -@end
|
| -
|
| -@implementation UnderlayCountingWindow
|
| -@synthesize underlayCount = underlayCount_;
|
| -
|
| -- (void)underlaySurfaceAdded {
|
| - DCHECK_GE(underlayCount_, 0);
|
| - ++underlayCount_;
|
| -}
|
| -
|
| -- (void)underlaySurfaceRemoved {
|
| - --underlayCount_;
|
| - DCHECK_GE(underlayCount_, 0);
|
| -}
|
| -@end
|
| -
|
| -class AcceleratedPluginViewTest : public PlatformTest {
|
| - protected:
|
| - AcceleratedPluginViewTest() {}
|
| -
|
| - UnderlayCountingWindow* StubUnderlayWindow() {
|
| - UnderlayCountingWindow* window = [[[UnderlayCountingWindow alloc]
|
| - initWithContentRect:NSMakeRect(20, 20, 300, 200)
|
| - styleMask:NSBorderlessWindowMask
|
| - backing:NSBackingStoreBuffered
|
| - defer:NO] autorelease];
|
| - [window orderFront:nil];
|
| - return window;
|
| - }
|
| -
|
| - AcceleratedPluginView* StubAcceleratedPluginView() {
|
| - // It truns out the rwhv and the plugin handle are not necessary for
|
| - // this test, and AcceleratedPluginView doesn't crash without them.
|
| - AcceleratedPluginView* view = [[[AcceleratedPluginView alloc]
|
| - initWithRenderWidgetHostViewMac:NULL
|
| - pluginHandle:0] autorelease];
|
| - return view;
|
| - }
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(AcceleratedPluginViewTest);
|
| -};
|
| -
|
| -TEST_F(AcceleratedPluginViewTest, Basic) {
|
| -}
|
| -
|
| -TEST_F(AcceleratedPluginViewTest, BasicAdding) {
|
| - AcceleratedPluginView* view = StubAcceleratedPluginView();
|
| -
|
| - UnderlayCountingWindow* window = StubUnderlayWindow();
|
| - EXPECT_EQ(0, [window underlayCount]);
|
| -
|
| - [[window contentView] addSubview:view];
|
| - EXPECT_EQ(1, [window underlayCount]);
|
| -
|
| - [view removeFromSuperview];
|
| - EXPECT_EQ(0, [window underlayCount]);
|
| -}
|
| -
|
| -TEST_F(AcceleratedPluginViewTest, MoveBetweenWindows) {
|
| - AcceleratedPluginView* view = StubAcceleratedPluginView();
|
| -
|
| - UnderlayCountingWindow* window1 = StubUnderlayWindow();
|
| - UnderlayCountingWindow* window2 = StubUnderlayWindow();
|
| - EXPECT_EQ(0, [window1 underlayCount]);
|
| - EXPECT_EQ(0, [window2 underlayCount]);
|
| -
|
| - [[window1 contentView] addSubview:view];
|
| - EXPECT_EQ(1, [window1 underlayCount]);
|
| - EXPECT_EQ(0, [window2 underlayCount]);
|
| -
|
| - [[window2 contentView] addSubview:view];
|
| - EXPECT_EQ(0, [window1 underlayCount]);
|
| - EXPECT_EQ(1, [window2 underlayCount]);
|
| -}
|
| -
|
| -TEST_F(AcceleratedPluginViewTest, HiddenWhenAdding) {
|
| - AcceleratedPluginView* view = StubAcceleratedPluginView();
|
| - [view setHidden:YES];
|
| -
|
| - UnderlayCountingWindow* window = StubUnderlayWindow();
|
| - EXPECT_EQ(0, [window underlayCount]);
|
| -
|
| - [[window contentView] addSubview:view];
|
| - EXPECT_EQ(0, [window underlayCount]);
|
| -
|
| - [view setHidden:NO];
|
| - EXPECT_EQ(1, [window underlayCount]);
|
| -
|
| - [view setHidden:YES];
|
| - EXPECT_EQ(0, [window underlayCount]);
|
| -
|
| - [view removeFromSuperview];
|
| - EXPECT_EQ(0, [window underlayCount]);
|
| -}
|
| -
|
| -TEST_F(AcceleratedPluginViewTest, HiddenAfterAdding) {
|
| - AcceleratedPluginView* view = StubAcceleratedPluginView();
|
| -
|
| - UnderlayCountingWindow* window = StubUnderlayWindow();
|
| - EXPECT_EQ(0, [window underlayCount]);
|
| -
|
| - [[window contentView] addSubview:view];
|
| - EXPECT_EQ(1, [window underlayCount]);
|
| -
|
| - [view setHidden:YES];
|
| - EXPECT_EQ(0, [window underlayCount]);
|
| -
|
| - [view setHidden:NO];
|
| - EXPECT_EQ(1, [window underlayCount]);
|
| -
|
| - [view removeFromSuperview];
|
| - EXPECT_EQ(0, [window underlayCount]);
|
| -}
|
| -
|
| -TEST_F(AcceleratedPluginViewTest, MoveBetweenWindowsWithHiding) {
|
| - AcceleratedPluginView* view = StubAcceleratedPluginView();
|
| - [view setHidden:YES];
|
| -
|
| - UnderlayCountingWindow* window1 = StubUnderlayWindow();
|
| - UnderlayCountingWindow* window2 = StubUnderlayWindow();
|
| - EXPECT_EQ(0, [window1 underlayCount]);
|
| - EXPECT_EQ(0, [window2 underlayCount]);
|
| -
|
| - [[window1 contentView] addSubview:view];
|
| - EXPECT_EQ(0, [window1 underlayCount]);
|
| - EXPECT_EQ(0, [window2 underlayCount]);
|
| -
|
| - [view setHidden:NO];
|
| - EXPECT_EQ(1, [window1 underlayCount]);
|
| - EXPECT_EQ(0, [window2 underlayCount]);
|
| -
|
| - // Move view while it's visible.
|
| - [[window2 contentView] addSubview:view];
|
| - EXPECT_EQ(0, [window1 underlayCount]);
|
| - EXPECT_EQ(1, [window2 underlayCount]);
|
| -
|
| - [view setHidden:YES];
|
| - EXPECT_EQ(0, [window1 underlayCount]);
|
| - EXPECT_EQ(0, [window2 underlayCount]);
|
| -
|
| - // Move view while it's hidden.
|
| - [[window1 contentView] addSubview:view];
|
| - EXPECT_EQ(0, [window1 underlayCount]);
|
| - EXPECT_EQ(0, [window2 underlayCount]);
|
| -
|
| - [view setHidden:NO];
|
| - EXPECT_EQ(1, [window1 underlayCount]);
|
| - EXPECT_EQ(0, [window2 underlayCount]);
|
| -}
|
| -
|
| -// Regression test for http://crbug.com/81737
|
| -TEST_F(AcceleratedPluginViewTest, RemoveWithHiddenParent) {
|
| - AcceleratedPluginView* view = StubAcceleratedPluginView();
|
| -
|
| - NSView* parent =
|
| - [[[NSView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100)] autorelease];
|
| - [parent addSubview:view];
|
| -
|
| - UnderlayCountingWindow* window = StubUnderlayWindow();
|
| - EXPECT_EQ(0, [window underlayCount]);
|
| -
|
| - [[window contentView] addSubview:parent];
|
| - EXPECT_EQ(1, [window underlayCount]);
|
| -
|
| - [parent setHidden:YES];
|
| - EXPECT_EQ(0, [window underlayCount]);
|
| -
|
| - [parent removeFromSuperview];
|
| - EXPECT_EQ(0, [window underlayCount]);
|
| -}
|
|
|