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.
5 #include "content/renderer/resizing_mode_selector.h"
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"
14 ResizingModeSelector::ResizingModeSelector() : is_synchronous_mode_(false) {}
16 bool ResizingModeSelector::NeverUsesSynchronousResize() const {
17 return !RenderThreadImpl::current() || // can be NULL when in unit tests
18 !RenderThreadImpl::current()->layout_test_mode();
21 bool ResizingModeSelector::ShouldAbortOnResize(
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
;
30 void ResizingModeSelector::set_is_synchronous_mode(bool mode
) {
31 is_synchronous_mode_
= mode
;
34 bool ResizingModeSelector::is_synchronous_mode() const {
35 return is_synchronous_mode_
;
38 } // namespace content