Home | History | Annotate | Download | only in renderer
      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