summaryrefslogtreecommitdiffstats
path: root/chromium/cc/trees/layer_tree_host_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/cc/trees/layer_tree_host_common.h')
-rw-r--r--chromium/cc/trees/layer_tree_host_common.h232
1 files changed, 0 insertions, 232 deletions
diff --git a/chromium/cc/trees/layer_tree_host_common.h b/chromium/cc/trees/layer_tree_host_common.h
deleted file mode 100644
index 6c9dfd5f065..00000000000
--- a/chromium/cc/trees/layer_tree_host_common.h
+++ /dev/null
@@ -1,232 +0,0 @@
-// Copyright 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CC_TREES_LAYER_TREE_HOST_COMMON_H_
-#define CC_TREES_LAYER_TREE_HOST_COMMON_H_
-
-#include <stddef.h>
-
-#include <limits>
-#include <vector>
-
-#include "base/bind.h"
-#include "base/memory/ref_counted.h"
-#include "cc/cc_export.h"
-#include "cc/input/browser_controls_state.h"
-#include "cc/layers/layer.h"
-#include "cc/layers/layer_collections.h"
-#include "cc/layers/layer_impl.h"
-#include "cc/layers/picture_layer.h"
-#include "cc/trees/layer_tree_host.h"
-#include "cc/trees/layer_tree_impl.h"
-#include "cc/trees/property_tree.h"
-#include "ui/gfx/geometry/rect.h"
-#include "ui/gfx/geometry/vector2d.h"
-#include "ui/gfx/transform.h"
-
-namespace cc {
-
-class LayerImpl;
-class Layer;
-class SwapPromise;
-class PropertyTrees;
-
-class CC_EXPORT LayerTreeHostCommon {
- public:
- struct CC_EXPORT CalcDrawPropsMainInputsForTesting {
- public:
- CalcDrawPropsMainInputsForTesting(Layer* root_layer,
- const gfx::Rect& device_viewport_rect,
- const gfx::Transform& device_transform,
- float device_scale_factor,
- float page_scale_factor,
- const Layer* page_scale_layer,
- const Layer* inner_viewport_scroll_layer,
- const Layer* outer_viewport_scroll_layer);
- CalcDrawPropsMainInputsForTesting(Layer* root_layer,
- const gfx::Rect& device_viewport_rect,
- const gfx::Transform& device_transform);
- CalcDrawPropsMainInputsForTesting(Layer* root_layer,
- const gfx::Rect& device_viewport_rect);
- Layer* root_layer;
- gfx::Rect device_viewport_rect;
- gfx::Transform device_transform;
- float device_scale_factor;
- float page_scale_factor;
- const Layer* page_scale_layer;
- const Layer* inner_viewport_scroll_layer;
- const Layer* outer_viewport_scroll_layer;
- // If not null, accepts layers output from FindLayersThatNeedUpdates().
- LayerList* update_layer_list = nullptr;
- };
-
- struct CC_EXPORT CalcDrawPropsImplInputs {
- public:
- CalcDrawPropsImplInputs(LayerImpl* root_layer,
- const gfx::Rect& device_viewport_rect,
- const gfx::Transform& device_transform,
- float device_scale_factor,
- float page_scale_factor,
- const LayerImpl* page_scale_layer,
- const LayerImpl* inner_viewport_scroll_layer,
- const LayerImpl* outer_viewport_scroll_layer,
- const gfx::Vector2dF& elastic_overscroll,
- const ElementId elastic_overscroll_element_id,
- int max_texture_size,
- RenderSurfaceList* render_surface_list,
- PropertyTrees* property_trees,
- TransformNode* page_scale_transform_node);
-
- LayerImpl* root_layer;
- gfx::Rect device_viewport_rect;
- gfx::Transform device_transform;
- float device_scale_factor;
- float page_scale_factor;
- const LayerImpl* page_scale_layer;
- const LayerImpl* inner_viewport_scroll_layer;
- const LayerImpl* outer_viewport_scroll_layer;
- gfx::Vector2dF elastic_overscroll;
- const ElementId elastic_overscroll_element_id;
- int max_texture_size;
- RenderSurfaceList* render_surface_list;
- PropertyTrees* property_trees;
- TransformNode* page_scale_transform_node;
- };
-
- struct CC_EXPORT CalcDrawPropsImplInputsForTesting
- : public CalcDrawPropsImplInputs {
- CalcDrawPropsImplInputsForTesting(LayerImpl* root_layer,
- const gfx::Rect& device_viewport_rect,
- const gfx::Transform& device_transform,
- float device_scale_factor,
- RenderSurfaceList* render_surface_list);
- CalcDrawPropsImplInputsForTesting(LayerImpl* root_layer,
- const gfx::Rect& device_viewport_rect,
- const gfx::Transform& device_transform,
- RenderSurfaceList* render_surface_list);
- CalcDrawPropsImplInputsForTesting(LayerImpl* root_layer,
- const gfx::Rect& device_viewport_rect,
- RenderSurfaceList* render_surface_list);
- CalcDrawPropsImplInputsForTesting(LayerImpl* root_layer,
- const gfx::Rect& device_viewport_rect,
- float device_scale_factor,
- RenderSurfaceList* render_surface_list);
-
- // If not null, accepts layers output from FindLayersThatNeedUpdates().
- LayerImplList* update_layer_list = nullptr;
- };
-
- static int CalculateLayerJitter(LayerImpl* scrolling_layer);
- static void CalculateDrawPropertiesForTesting(
- CalcDrawPropsMainInputsForTesting* inputs);
-
- static void CalculateDrawProperties(CalcDrawPropsImplInputs* inputs);
-
- // TODO(wangxianzhu): Move these functions into testing classes.
- static void PrepareForUpdateDrawPropertiesForTesting(LayerTreeImpl*);
- static void CalculateDrawPropertiesForTesting(
- CalcDrawPropsImplInputsForTesting* inputs);
-
- template <typename Function>
- static void CallFunctionForEveryLayer(LayerTreeHost* host,
- const Function& function);
-
- template <typename Function>
- static void CallFunctionForEveryLayer(LayerTreeImpl* layer,
- const Function& function);
-
- struct CC_EXPORT ScrollUpdateInfo {
- ElementId element_id;
- gfx::ScrollOffset scroll_delta;
-
- bool operator==(const ScrollUpdateInfo& other) const;
- };
-
- // Used to communicate scrollbar visibility from Impl thread to Blink.
- // Scrollbar input is handled by Blink but the compositor thread animates
- // opacity on scrollbars to fade them out when they're overlay. Blink needs
- // to be told when they're faded out so it can stop handling input for
- // invisible scrollbars.
- struct CC_EXPORT ScrollbarsUpdateInfo {
- ElementId element_id;
- bool hidden;
-
- ScrollbarsUpdateInfo();
- ScrollbarsUpdateInfo(ElementId element_id, bool hidden);
-
- bool operator==(const ScrollbarsUpdateInfo& other) const;
- };
-};
-
-struct CC_EXPORT ScrollAndScaleSet {
- ScrollAndScaleSet();
- ScrollAndScaleSet(const ScrollAndScaleSet&) = delete;
- ~ScrollAndScaleSet();
-
- ScrollAndScaleSet& operator=(const ScrollAndScaleSet&) = delete;
-
- // The inner viewport scroll delta is kept separate since it's special.
- // Because the inner (visual) viewport's maximum offset depends on the
- // current page scale, the two must be committed at the same time to prevent
- // clamping.
- LayerTreeHostCommon::ScrollUpdateInfo inner_viewport_scroll;
-
- std::vector<LayerTreeHostCommon::ScrollUpdateInfo> scrolls;
- float page_scale_delta;
- bool is_pinch_gesture_active;
-
- // Elastic overscroll effect offset delta. This is used only on Mac and shows
- // the pixels that the page is rubber-banned/stretched by.
- gfx::Vector2dF elastic_overscroll_delta;
-
- // Unconsumed scroll delta used to send overscroll events to the latched
- // element on the main thread;
- gfx::Vector2dF overscroll_delta;
-
- // The element id of the node to which scrolling is latched. This is used to
- // send overscroll/scrollend DOM events to proper targets whenever needed.
- ElementId scroll_latched_element_id;
-
- float top_controls_delta;
- std::vector<LayerTreeHostCommon::ScrollbarsUpdateInfo> scrollbars;
- std::vector<std::unique_ptr<SwapPromise>> swap_promises;
- BrowserControlsState browser_controls_constraint;
- bool browser_controls_constraint_changed;
-
- // Set to true when a scroll gesture being handled on the compositor has
- // ended.
- bool scroll_gesture_did_end;
-
- // Tracks different methods of scrolling (e.g. wheel, touch, precision
- // touchpad, etc.).
- ManipulationInfo manipulation_info;
-};
-
-template <typename Function>
-void LayerTreeHostCommon::CallFunctionForEveryLayer(LayerTreeHost* host,
- const Function& function) {
- for (auto* layer : *host) {
- function(layer);
- if (PictureLayer* mask_layer = layer->mask_layer())
- function(mask_layer);
- }
-}
-
-template <typename Function>
-void LayerTreeHostCommon::CallFunctionForEveryLayer(LayerTreeImpl* tree_impl,
- const Function& function) {
- for (auto* layer : *tree_impl)
- function(layer);
-
- for (int id : tree_impl->property_trees()->effect_tree.mask_layer_ids()) {
- function(tree_impl->LayerById(id));
- }
-}
-
-CC_EXPORT PropertyTrees* GetPropertyTrees(const Layer* layer);
-CC_EXPORT PropertyTrees* GetPropertyTrees(const LayerImpl* layer);
-
-} // namespace cc
-
-#endif // CC_TREES_LAYER_TREE_HOST_COMMON_H_