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 12namespace content { 13 14ResizingModeSelector::ResizingModeSelector() : is_synchronous_mode_(false) {} 15 16bool ResizingModeSelector::NeverUsesSynchronousResize() const { 17 return !RenderThreadImpl::current() || // can be NULL when in unit tests 18 !RenderThreadImpl::current()->layout_test_mode(); 19} 20 21bool 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 30void ResizingModeSelector::set_is_synchronous_mode(bool mode) { 31 is_synchronous_mode_ = mode; 32} 33 34bool ResizingModeSelector::is_synchronous_mode() const { 35 return is_synchronous_mode_; 36} 37 38} // namespace content 39