summaryrefslogtreecommitdiff
path: root/chromium/ui/accelerated_widget_mac
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-09-18 14:34:04 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-10-04 11:15:27 +0000
commite6430e577f105ad8813c92e75c54660c4985026e (patch)
tree88115e5d1fb471fea807111924dcccbeadbf9e4f /chromium/ui/accelerated_widget_mac
parent53d399fe6415a96ea6986ec0d402a9c07da72453 (diff)
downloadqtwebengine-chromium-e6430e577f105ad8813c92e75c54660c4985026e.tar.gz
BASELINE: Update Chromium to 61.0.3163.99
Change-Id: I8452f34574d88ca2b27af9bd56fc9ff3f16b1367 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/ui/accelerated_widget_mac')
-rw-r--r--chromium/ui/accelerated_widget_mac/BUILD.gn1
-rw-r--r--chromium/ui/accelerated_widget_mac/availability_macros.h12
-rw-r--r--chromium/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm3
-rw-r--r--chromium/ui/accelerated_widget_mac/ca_layer_tree_unittest_mac.mm6
-rw-r--r--chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.h6
-rw-r--r--chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm9
6 files changed, 28 insertions, 9 deletions
diff --git a/chromium/ui/accelerated_widget_mac/BUILD.gn b/chromium/ui/accelerated_widget_mac/BUILD.gn
index 5ca58ad0a4b..82823dd3b70 100644
--- a/chromium/ui/accelerated_widget_mac/BUILD.gn
+++ b/chromium/ui/accelerated_widget_mac/BUILD.gn
@@ -9,6 +9,7 @@ component("accelerated_widget_mac") {
"accelerated_widget_mac.h",
"accelerated_widget_mac.mm",
"accelerated_widget_mac_export.h",
+ "availability_macros.h",
"ca_layer_tree_coordinator.h",
"ca_layer_tree_coordinator.mm",
"ca_renderer_layer_tree.h",
diff --git a/chromium/ui/accelerated_widget_mac/availability_macros.h b/chromium/ui/accelerated_widget_mac/availability_macros.h
new file mode 100644
index 00000000000..bc0bfe71d00
--- /dev/null
+++ b/chromium/ui/accelerated_widget_mac/availability_macros.h
@@ -0,0 +1,12 @@
+// Copyright 2017 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.
+
+// AVSampleBufferDisplayLayer has incorrectly been marked as available from
+// macOS 10.10, whereas it's been available since at least macOS 10.9. This
+// macro allows us to use AVSampleBufferDisplayLayer109 in its place.
+// Since we don't deploy to lower than 10.9, just disabling the warning is fine.
+#define AVSampleBufferDisplayLayer109 \
+ _Pragma("clang diagnostic push") \
+ _Pragma("clang diagnostic ignored \"-Wunguarded-availability\"") \
+ AVSampleBufferDisplayLayer _Pragma("clang diagnostic pop")
diff --git a/chromium/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm b/chromium/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm
index b4e992ede1d..760db452608 100644
--- a/chromium/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm
+++ b/chromium/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm
@@ -8,6 +8,7 @@
#include "base/mac/mac_util.h"
#include "base/trace_event/trace_event.h"
+#include "ui/accelerated_widget_mac/availability_macros.h"
#include "ui/base/cocoa/animation_utils.h"
namespace ui {
@@ -29,7 +30,7 @@ CALayerTreeCoordinator::CALayerTreeCoordinator(
if (allow_av_sample_buffer_display_layer_) {
fullscreen_low_power_layer_.reset(
- [[AVSampleBufferDisplayLayer alloc] init]);
+ [[AVSampleBufferDisplayLayer109 alloc] init]);
}
}
}
diff --git a/chromium/ui/accelerated_widget_mac/ca_layer_tree_unittest_mac.mm b/chromium/ui/accelerated_widget_mac/ca_layer_tree_unittest_mac.mm
index 9471415b391..f41e17af911 100644
--- a/chromium/ui/accelerated_widget_mac/ca_layer_tree_unittest_mac.mm
+++ b/chromium/ui/accelerated_widget_mac/ca_layer_tree_unittest_mac.mm
@@ -10,6 +10,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/gtest_mac.h"
#include "third_party/skia/include/core/SkColor.h"
+#include "ui/accelerated_widget_mac/availability_macros.h"
#include "ui/accelerated_widget_mac/ca_renderer_layer_tree.h"
#include "ui/gfx/geometry/dip_util.h"
#include "ui/gfx/mac/io_surface.h"
@@ -90,11 +91,12 @@ class CALayerTreeTest : public testing::Test {
void SetUp() override {
superlayer_.reset([[CALayer alloc] init]);
fullscreen_low_power_layer_.reset(
- [[AVSampleBufferDisplayLayer alloc] init]);
+ [[AVSampleBufferDisplayLayer109 alloc] init]);
}
base::scoped_nsobject<CALayer> superlayer_;
- base::scoped_nsobject<AVSampleBufferDisplayLayer> fullscreen_low_power_layer_;
+ base::scoped_nsobject<AVSampleBufferDisplayLayer109>
+ fullscreen_low_power_layer_;
};
// Test updating each layer's properties.
diff --git a/chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.h b/chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.h
index 33fae65156d..37678eb4459 100644
--- a/chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.h
+++ b/chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.h
@@ -16,6 +16,7 @@
#include "base/mac/scoped_nsobject.h"
#include "base/memory/ref_counted.h"
#include "ui/accelerated_widget_mac/accelerated_widget_mac_export.h"
+#include "ui/accelerated_widget_mac/availability_macros.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/rect_f.h"
#include "ui/gfx/mac/io_surface.h"
@@ -57,8 +58,9 @@ class ACCELERATED_WIDGET_MAC_EXPORT CARendererLayerTree {
// layer on a black background. If so, then set |fullscreen_low_power_layer|
// to draw this content and return true. Otherwise return false. This is to
// be called after committing scheduled CALayers.
+
bool CommitFullscreenLowPowerLayer(
- AVSampleBufferDisplayLayer* fullscreen_low_power_layer);
+ AVSampleBufferDisplayLayer109* fullscreen_low_power_layer);
// Returns the contents used for a given solid color.
id ContentsForSolidColorForTesting(unsigned int color);
@@ -184,7 +186,7 @@ class ACCELERATED_WIDGET_MAC_EXPORT CARendererLayerTree {
// If this layer's contents can be represented as an
// AVSampleBufferDisplayLayer, then |ca_layer| will point to |av_layer|.
- base::scoped_nsobject<AVSampleBufferDisplayLayer> av_layer;
+ base::scoped_nsobject<AVSampleBufferDisplayLayer109> av_layer;
bool use_av_layer = false;
private:
diff --git a/chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm b/chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm
index bfe5a2ee1c1..d9be65f778b 100644
--- a/chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm
+++ b/chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm
@@ -15,6 +15,7 @@
#include "base/mac/sdk_forward_declarations.h"
#include "base/trace_event/trace_event.h"
#include "third_party/skia/include/core/SkColor.h"
+#include "ui/accelerated_widget_mac/availability_macros.h"
#include "ui/base/cocoa/animation_utils.h"
#include "ui/base/ui_base_switches.h"
#include "ui/gfx/geometry/dip_util.h"
@@ -55,7 +56,7 @@ namespace {
// This will enqueue |io_surface| to be drawn by |av_layer|. This will
// retain |cv_pixel_buffer| until it is no longer being displayed.
bool AVSampleBufferDisplayLayerEnqueueCVPixelBuffer(
- AVSampleBufferDisplayLayer* av_layer,
+ AVSampleBufferDisplayLayer109* av_layer,
CVPixelBufferRef cv_pixel_buffer) {
OSStatus os_status = noErr;
@@ -113,7 +114,7 @@ bool AVSampleBufferDisplayLayerEnqueueCVPixelBuffer(
// |io_surface| in a CVPixelBuffer. This will increase the in-use count
// of and retain |io_surface| until it is no longer being displayed.
bool AVSampleBufferDisplayLayerEnqueueIOSurface(
- AVSampleBufferDisplayLayer* av_layer,
+ AVSampleBufferDisplayLayer109* av_layer,
IOSurfaceRef io_surface) {
CVReturn cv_return = kCVReturnSuccess;
@@ -245,7 +246,7 @@ void CARendererLayerTree::CommitScheduledCALayers(
}
bool CARendererLayerTree::CommitFullscreenLowPowerLayer(
- AVSampleBufferDisplayLayer* fullscreen_low_power_layer) {
+ AVSampleBufferDisplayLayer109* fullscreen_low_power_layer) {
DCHECK(has_committed_);
const ContentLayer* video_layer = nullptr;
gfx::RectF video_layer_frame_dip;
@@ -672,7 +673,7 @@ void CARendererLayerTree::ContentLayer::CommitToCA(CALayer* superlayer,
update_ca_filter = old_layer->ca_filter != ca_filter;
} else {
if (use_av_layer) {
- av_layer.reset([[AVSampleBufferDisplayLayer alloc] init]);
+ av_layer.reset([[AVSampleBufferDisplayLayer109 alloc] init]);
ca_layer.reset([av_layer retain]);
[av_layer setVideoGravity:AVLayerVideoGravityResize];
} else {