• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
ResizingModeSelector()14 ResizingModeSelector::ResizingModeSelector() : is_synchronous_mode_(false) {}
15 
NeverUsesSynchronousResize() const16 bool ResizingModeSelector::NeverUsesSynchronousResize() const {
17   return !RenderThreadImpl::current() ||  // can be NULL when in unit tests
18          !RenderThreadImpl::current()->layout_test_mode();
19 }
20 
ShouldAbortOnResize(RenderWidget * widget,const ViewMsg_Resize_Params & params)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 
set_is_synchronous_mode(bool mode)30 void ResizingModeSelector::set_is_synchronous_mode(bool mode) {
31   is_synchronous_mode_ = mode;
32 }
33 
is_synchronous_mode() const34 bool ResizingModeSelector::is_synchronous_mode() const {
35   return is_synchronous_mode_;
36 }
37 
38 }  // namespace content
39