1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "content/renderer/resizing_mode_selector.h" 6 7 #include "content/common/view_messages.h" 8 #include "content/renderer/render_thread_impl.h" 9 #include "content/renderer/render_widget.h" 10 #include "third_party/WebKit/public/platform/WebScreenInfo.h" 11 12 namespace content { 13 14 ResizingModeSelector::ResizingModeSelector() : is_synchronous_mode_(false) {} 15 16 bool ResizingModeSelector::NeverUsesSynchronousResize() const { 17 return !RenderThreadImpl::current() || // can be NULL when in unit tests 18 !RenderThreadImpl::current()->layout_test_mode(); 19 } 20 21 bool ResizingModeSelector::ShouldAbortOnResize( 22 RenderWidget* widget, 23 const ViewMsg_Resize_Params& params) { 24 return is_synchronous_mode_ && 25 params.is_fullscreen == widget->is_fullscreen() && 26 params.screen_info.deviceScaleFactor == 27 widget->screenInfo().deviceScaleFactor; 28 } 29 30 void ResizingModeSelector::set_is_synchronous_mode(bool mode) { 31 is_synchronous_mode_ = mode; 32 } 33 34 bool ResizingModeSelector::is_synchronous_mode() const { 35 return is_synchronous_mode_; 36 } 37 38 } // namespace content 39