| Index: ui/accelerated_widget_mac/ca_layer_tree_unittest_mac.mm
|
| diff --git a/ui/accelerated_widget_mac/ca_layer_tree_unittest_mac.mm b/ui/accelerated_widget_mac/ca_layer_tree_unittest_mac.mm
|
| index 935e03bb9f47c1f898182bab8c0d898987af6494..3de4f298ba6f33493e3fd506aaa2cedb56f9b004 100644
|
| --- a/ui/accelerated_widget_mac/ca_layer_tree_unittest_mac.mm
|
| +++ b/ui/accelerated_widget_mac/ca_layer_tree_unittest_mac.mm
|
| @@ -55,6 +55,7 @@ TEST_F(CALayerTreeTest, PropertyUpdates) {
|
| sorting_context_id,
|
| transform,
|
| io_surface,
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -113,6 +114,7 @@ TEST_F(CALayerTreeTest, PropertyUpdates) {
|
| sorting_context_id,
|
| transform,
|
| io_surface,
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -154,6 +156,7 @@ TEST_F(CALayerTreeTest, PropertyUpdates) {
|
| sorting_context_id,
|
| transform,
|
| io_surface,
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -192,6 +195,7 @@ TEST_F(CALayerTreeTest, PropertyUpdates) {
|
| sorting_context_id,
|
| transform,
|
| io_surface,
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -228,6 +232,7 @@ TEST_F(CALayerTreeTest, PropertyUpdates) {
|
| sorting_context_id,
|
| transform,
|
| io_surface,
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -262,6 +267,7 @@ TEST_F(CALayerTreeTest, PropertyUpdates) {
|
| sorting_context_id,
|
| transform,
|
| nullptr,
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -298,6 +304,7 @@ TEST_F(CALayerTreeTest, PropertyUpdates) {
|
| sorting_context_id,
|
| transform,
|
| nullptr,
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -334,6 +341,7 @@ TEST_F(CALayerTreeTest, PropertyUpdates) {
|
| sorting_context_id,
|
| transform,
|
| nullptr,
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -370,6 +378,7 @@ TEST_F(CALayerTreeTest, PropertyUpdates) {
|
| sorting_context_id,
|
| transform,
|
| nullptr,
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -405,6 +414,7 @@ TEST_F(CALayerTreeTest, PropertyUpdates) {
|
| sorting_context_id,
|
| transform,
|
| io_surface,
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -441,6 +451,7 @@ TEST_F(CALayerTreeTest, PropertyUpdates) {
|
| sorting_context_id,
|
| transform,
|
| io_surface,
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -536,6 +547,7 @@ TEST_F(CALayerTreeTest, SplitSortingContextZero) {
|
| sorting_context_id,
|
| transforms[i],
|
| io_surfaces[i],
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -621,6 +633,7 @@ TEST_F(CALayerTreeTest, SortingContexts) {
|
| sorting_context_ids[i],
|
| transform,
|
| io_surfaces[i],
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -694,6 +707,7 @@ TEST_F(CALayerTreeTest, SortingContextMustHaveConsistentClip) {
|
| sorting_context_id,
|
| transform,
|
| io_surface,
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -711,6 +725,7 @@ TEST_F(CALayerTreeTest, SortingContextMustHaveConsistentClip) {
|
| sorting_context_id,
|
| transform,
|
| io_surface,
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -730,6 +745,7 @@ TEST_F(CALayerTreeTest, SortingContextMustHaveConsistentClip) {
|
| sorting_context_id,
|
| transform,
|
| io_surface,
|
| + nullptr,
|
| contents_rect,
|
| rect,
|
| background_color,
|
| @@ -743,6 +759,7 @@ TEST_F(CALayerTreeTest, SortingContextMustHaveConsistentClip) {
|
| TEST_F(CALayerTreeTest, AVLayer) {
|
| base::ScopedCFTypeRef<IOSurfaceRef> io_surface(gfx::CreateIOSurface(
|
| gfx::Size(256, 256), gfx::BufferFormat::YUV_420_BIPLANAR));
|
| +
|
| bool is_clipped = true;
|
| gfx::Rect clip_rect(2, 4, 8, 16);
|
| int sorting_context_id = 0;
|
| @@ -767,8 +784,16 @@ TEST_F(CALayerTreeTest, AVLayer) {
|
| {
|
| std::unique_ptr<ui::CALayerTree> new_ca_layer_tree(new ui::CALayerTree);
|
| result = new_ca_layer_tree->ScheduleCALayer(
|
| - is_clipped, clip_rect, sorting_context_id, transform, io_surface,
|
| - contents_rect, rect, background_color, edge_aa_mask, opacity);
|
| + is_clipped,
|
| + clip_rect,
|
| + sorting_context_id,
|
| + transform,
|
| + io_surface,
|
| + nullptr,
|
| + contents_rect,
|
| + rect, background_color,
|
| + edge_aa_mask,
|
| + opacity);
|
| EXPECT_TRUE(result);
|
| new_ca_layer_tree->CommitScheduledCALayers(
|
| superlayer_, std::move(ca_layer_tree), scale_factor);
|
| @@ -796,8 +821,17 @@ TEST_F(CALayerTreeTest, AVLayer) {
|
| {
|
| std::unique_ptr<ui::CALayerTree> new_ca_layer_tree(new ui::CALayerTree);
|
| result = new_ca_layer_tree->ScheduleCALayer(
|
| - is_clipped, clip_rect, sorting_context_id, transform, io_surface,
|
| - contents_rect, rect, background_color, edge_aa_mask, opacity);
|
| + is_clipped,
|
| + clip_rect,
|
| + sorting_context_id,
|
| + transform,
|
| + io_surface,
|
| + nullptr,
|
| + contents_rect,
|
| + rect,
|
| + background_color,
|
| + edge_aa_mask,
|
| + opacity);
|
| EXPECT_TRUE(result);
|
| new_ca_layer_tree->CommitScheduledCALayers(
|
| superlayer_, std::move(ca_layer_tree), scale_factor);
|
| @@ -821,14 +855,66 @@ TEST_F(CALayerTreeTest, AVLayer) {
|
|
|
| io_surface.reset(gfx::CreateIOSurface(gfx::Size(256, 256),
|
| gfx::BufferFormat::YUV_420_BIPLANAR));
|
| + base::ScopedCFTypeRef<CVPixelBufferRef> cv_pixel_buffer;
|
| + CVPixelBufferCreateWithIOSurface(
|
| + nullptr, io_surface, nullptr, cv_pixel_buffer.InitializeInto());
|
| +
|
| + // Pass a frame with a CVPixelBuffer
|
| + {
|
| + std::unique_ptr<ui::CALayerTree> new_ca_layer_tree(new ui::CALayerTree);
|
| + result = new_ca_layer_tree->ScheduleCALayer(
|
| + is_clipped,
|
| + clip_rect,
|
| + sorting_context_id,
|
| + transform,
|
| + io_surface,
|
| + cv_pixel_buffer,
|
| + contents_rect,
|
| + rect,
|
| + background_color,
|
| + edge_aa_mask,
|
| + opacity);
|
| + EXPECT_TRUE(result);
|
| + new_ca_layer_tree->CommitScheduledCALayers(
|
| + superlayer_, std::move(ca_layer_tree), scale_factor);
|
| + std::swap(new_ca_layer_tree, ca_layer_tree);
|
| +
|
| + // Validate the tree structure.
|
| + EXPECT_EQ(1u, [[superlayer_ sublayers] count]);
|
| + root_layer = [[superlayer_ sublayers] objectAtIndex:0];
|
| + EXPECT_EQ(1u, [[root_layer sublayers] count]);
|
| + clip_and_sorting_layer = [[root_layer sublayers] objectAtIndex:0];
|
| + EXPECT_EQ(1u, [[clip_and_sorting_layer sublayers] count]);
|
| + transform_layer = [[clip_and_sorting_layer sublayers] objectAtIndex:0];
|
| + EXPECT_EQ(1u, [[transform_layer sublayers] count]);
|
| + content_layer2 = [[transform_layer sublayers] objectAtIndex:0];
|
| +
|
| + // Validate the content layer.
|
| + EXPECT_TRUE([content_layer2
|
| + isKindOfClass:NSClassFromString(@"AVSampleBufferDisplayLayer")]);
|
| + EXPECT_NE(content_layer2, content_layer1);
|
| + }
|
| +
|
| + io_surface.reset(gfx::CreateIOSurface(gfx::Size(256, 256),
|
| + gfx::BufferFormat::YUV_420_BIPLANAR));
|
| + cv_pixel_buffer.reset();
|
|
|
| // Pass a frame that is clipped.
|
| contents_rect = gfx::RectF(0, 0, 1, 0.9);
|
| {
|
| std::unique_ptr<ui::CALayerTree> new_ca_layer_tree(new ui::CALayerTree);
|
| result = new_ca_layer_tree->ScheduleCALayer(
|
| - is_clipped, clip_rect, sorting_context_id, transform, io_surface,
|
| - contents_rect, rect, background_color, edge_aa_mask, opacity);
|
| + is_clipped,
|
| + clip_rect,
|
| + sorting_context_id,
|
| + transform,
|
| + io_surface,
|
| + nullptr,
|
| + contents_rect,
|
| + rect,
|
| + background_color,
|
| + edge_aa_mask,
|
| + opacity);
|
| EXPECT_TRUE(result);
|
| new_ca_layer_tree->CommitScheduledCALayers(
|
| superlayer_, std::move(ca_layer_tree), scale_factor);
|
| @@ -847,7 +933,7 @@ TEST_F(CALayerTreeTest, AVLayer) {
|
| // Validate the content layer.
|
| EXPECT_FALSE([content_layer3
|
| isKindOfClass:NSClassFromString(@"AVSampleBufferDisplayLayer")]);
|
| - EXPECT_EQ(content_layer3, content_layer2);
|
| + EXPECT_NE(content_layer3, content_layer2);
|
| }
|
| }
|
|
|
|
|