summaryrefslogtreecommitdiff
path: root/chromium/ui/accelerated_widget_mac
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-11-20 10:33:36 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-11-22 11:45:12 +0000
commitbe59a35641616a4cf23c4a13fa0632624b021c1b (patch)
tree9da183258bdf9cc413f7562079d25ace6955467f /chromium/ui/accelerated_widget_mac
parentd702e4b6a64574e97fc7df8fe3238cde70242080 (diff)
downloadqtwebengine-chromium-be59a35641616a4cf23c4a13fa0632624b021c1b.tar.gz
BASELINE: Update Chromium to 62.0.3202.101
Change-Id: I2d5eca8117600df6d331f6166ab24d943d9814ac Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/ui/accelerated_widget_mac')
-rw-r--r--chromium/ui/accelerated_widget_mac/display_link_mac.cc18
-rw-r--r--chromium/ui/accelerated_widget_mac/io_surface_context.mm3
2 files changed, 15 insertions, 6 deletions
diff --git a/chromium/ui/accelerated_widget_mac/display_link_mac.cc b/chromium/ui/accelerated_widget_mac/display_link_mac.cc
index a1d5b730965..f74c509812f 100644
--- a/chromium/ui/accelerated_widget_mac/display_link_mac.cc
+++ b/chromium/ui/accelerated_widget_mac/display_link_mac.cc
@@ -8,6 +8,7 @@
#include "base/location.h"
#include "base/logging.h"
+#include "base/numerics/safe_conversions.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/trace_event/trace_event.h"
@@ -153,10 +154,18 @@ void DisplayLinkMac::Tick(const CVTimeStamp& cv_time) {
return;
}
- timebase_ = base::TimeTicks::FromInternalValue(
- cv_time.hostTime / 1000);
- interval_ = base::TimeDelta::FromMicroseconds(
- 1000000 * static_cast<int64_t>(numerator) / denominator);
+ base::CheckedNumeric<int64_t> interval_us(base::Time::kMicrosecondsPerSecond);
+ interval_us *= numerator;
+ interval_us /= denominator;
+ if (!interval_us.IsValid()) {
+ LOG(DFATAL) << "Bailing due to overflow: "
+ << base::Time::kMicrosecondsPerSecond << " * " << numerator
+ << " / " << denominator;
+ return;
+ }
+
+ timebase_ = base::TimeTicks::FromMachAbsoluteTime(cv_time.hostTime);
+ interval_ = base::TimeDelta::FromMicroseconds(interval_us.ValueOrDie());
timebase_and_interval_valid_ = true;
// Don't restart the display link for 10 seconds.
@@ -218,4 +227,3 @@ base::LazyInstance<DisplayLinkMac::DisplayMap>::DestructorAtExit
DisplayLinkMac::display_map_ = LAZY_INSTANCE_INITIALIZER;
} // ui
-
diff --git a/chromium/ui/accelerated_widget_mac/io_surface_context.mm b/chromium/ui/accelerated_widget_mac/io_surface_context.mm
index 31840130656..2823342185f 100644
--- a/chromium/ui/accelerated_widget_mac/io_surface_context.mm
+++ b/chromium/ui/accelerated_widget_mac/io_surface_context.mm
@@ -11,6 +11,7 @@
#include "base/command_line.h"
#include "base/logging.h"
#include "base/trace_event/trace_event.h"
+#include "ui/gl/gl_context.h"
#include "ui/gl/gl_switches.h"
#include "ui/gl/gpu_switching_manager.h"
@@ -48,7 +49,7 @@ IOSurfaceContext::Get(Type type) {
std::vector<CGLPixelFormatAttribute> attribs;
attribs.push_back(kCGLPFADepthSize);
attribs.push_back(static_cast<CGLPixelFormatAttribute>(0));
- if (ui::GpuSwitchingManager::GetInstance()->SupportsDualGpus())
+ if (gl::GLContext::SwitchableGPUsSupported())
attribs.push_back(kCGLPFAAllowOfflineRenderers);
attribs.push_back(static_cast<CGLPixelFormatAttribute>(0));
GLint number_virtual_screens = 0;