diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-11-20 10:33:36 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-11-22 11:45:12 +0000 |
commit | be59a35641616a4cf23c4a13fa0632624b021c1b (patch) | |
tree | 9da183258bdf9cc413f7562079d25ace6955467f /chromium/ui/accelerated_widget_mac | |
parent | d702e4b6a64574e97fc7df8fe3238cde70242080 (diff) | |
download | qtwebengine-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.cc | 18 | ||||
-rw-r--r-- | chromium/ui/accelerated_widget_mac/io_surface_context.mm | 3 |
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; |