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

Unified Diff: services/ui/ws/frame_generator_unittest.cc

Issue 2694043003: FrameGenerator should not be created until an AcceleratedWidget is available (Closed)
Patch Set: c Created 3 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
« no previous file with comments | « services/ui/ws/frame_generator.cc ('k') | services/ui/ws/platform_display_default.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/ui/ws/frame_generator_unittest.cc
diff --git a/services/ui/ws/frame_generator_unittest.cc b/services/ui/ws/frame_generator_unittest.cc
deleted file mode 100644
index 114924cadea1c03dac319754ab4be6c247a4d8d8..0000000000000000000000000000000000000000
--- a/services/ui/ws/frame_generator_unittest.cc
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright 2016 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 "services/ui/ws/frame_generator.h"
-
-#include <memory>
-
-#include "base/memory/ptr_util.h"
-#include "base/test/test_message_loop.h"
-#include "cc/quads/render_pass.h"
-#include "cc/quads/shared_quad_state.h"
-#include "services/ui/ws/ids.h"
-#include "services/ui/ws/platform_display_init_params.h"
-#include "services/ui/ws/server_window.h"
-#include "services/ui/ws/server_window_compositor_frame_sink_manager.h"
-#include "services/ui/ws/test_server_window_delegate.h"
-#include "services/ui/ws/test_utils.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace ui {
-namespace ws {
-namespace test {
-namespace {
-
-// Typical id for the display root ServerWindow.
-constexpr WindowId kRootDisplayId(0, 2);
-const base::UnguessableToken kArbitraryToken = base::UnguessableToken::Create();
-
-// Makes the window visible and creates the default surface for it.
-void InitWindow(ServerWindow* window) {
- window->SetVisible(true);
- ServerWindowCompositorFrameSinkManager* compositor_frame_sink_manager =
- window->GetOrCreateCompositorFrameSinkManager();
- compositor_frame_sink_manager->SetLatestSurfaceInfo(cc::SurfaceInfo(
- cc::SurfaceId(cc::FrameSinkId(WindowIdToTransportId(window->id()), 0),
- cc::LocalSurfaceId(1u, kArbitraryToken)),
- 1.0f, gfx::Size(100, 100)));
-}
-
-} // namespace
-
-class FrameGeneratorTest : public testing::Test {
- public:
- FrameGeneratorTest()
- : root_window_(base::MakeUnique<ServerWindow>(&window_delegate_,
- kRootDisplayId)) {}
- ~FrameGeneratorTest() override {}
-
- // Calls DrawWindow() on |frame_generator_|
- void DrawWindow(cc::RenderPass* pass);
-
- ServerWindow* root_window() { return root_window_.get(); }
-
- TestServerWindowDelegate* test_window_delegate() { return &window_delegate_; }
-
- private:
- // testing::Test:
- void SetUp() override;
- void TearDown() override;
-
- std::unique_ptr<FrameGenerator> frame_generator_;
- std::unique_ptr<TestFrameGeneratorDelegate> frame_generator_delegate_;
- TestServerWindowDelegate window_delegate_;
- std::unique_ptr<ServerWindow> root_window_;
-
- // Needed so that Mojo classes can be initialized for ServerWindow use.
- base::TestMessageLoop message_loop_;
-
- DISALLOW_COPY_AND_ASSIGN(FrameGeneratorTest);
-};
-
-void FrameGeneratorTest::DrawWindow(cc::RenderPass* pass) {
- cc::SurfaceId surface_id(cc::FrameSinkId(5, 5),
- cc::LocalSurfaceId(1u, kArbitraryToken));
- frame_generator_->window_manager_surface_info_ =
- cc::SurfaceInfo(surface_id, 2, gfx::Size(2, 2));
- frame_generator_->DrawWindow(pass);
-}
-
-void FrameGeneratorTest::SetUp() {
- testing::Test::SetUp();
- frame_generator_delegate_ = base::MakeUnique<TestFrameGeneratorDelegate>();
- PlatformDisplayInitParams init_params;
- frame_generator_ = base::MakeUnique<FrameGenerator>(
- frame_generator_delegate_.get(), root_window_.get());
- frame_generator_->SetDeviceScaleFactor(
- init_params.metrics.device_scale_factor);
- InitWindow(root_window());
-}
-
-void FrameGeneratorTest::TearDown() {
- frame_generator_.reset();
- frame_generator_delegate_.reset();
-}
-
-// Tests correctness of the SharedQuadStateList generated by
-// FrameGenerator::DrawWindow().
-TEST_F(FrameGeneratorTest, DrawWindow) {
- ServerWindow child_window(test_window_delegate(), WindowId(1, 1));
- root_window()->Add(&child_window);
- InitWindow(&child_window);
- const float child_opacity = .4f;
- child_window.SetOpacity(child_opacity);
-
- std::unique_ptr<cc::RenderPass> render_pass = cc::RenderPass::Create();
- DrawWindow(render_pass.get());
- cc::SharedQuadStateList* quad_state_list =
- &render_pass->shared_quad_state_list;
-
- EXPECT_EQ(1u, quad_state_list->size());
- cc::SharedQuadState* root_sqs = quad_state_list->back();
- // Opacity should always be 1.
- EXPECT_EQ(1.0f, root_sqs->opacity);
-}
-
-} // namespace test
-} // namespace ws
-} // namespace ui
« no previous file with comments | « services/ui/ws/frame_generator.cc ('k') | services/ui/ws/platform_display_default.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698