Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1184)

Unified Diff: cc/layers/layer_impl.h

Issue 903273002: Update from https://crrev.com/315085 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/layers/layer_client.h ('k') | cc/layers/layer_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/layer_impl.h
diff --git a/cc/layers/layer_impl.h b/cc/layers/layer_impl.h
index f46c16e15b8988ff9a7055769ab93d3a0551a506..96f915feb414c5d261ab2bea0a4a3ab88c56874d 100644
--- a/cc/layers/layer_impl.h
+++ b/cc/layers/layer_impl.h
@@ -27,6 +27,7 @@
#include "cc/layers/layer_lists.h"
#include "cc/layers/layer_position_constraint.h"
#include "cc/layers/render_surface_impl.h"
+#include "cc/layers/scroll_blocks_on.h"
#include "cc/output/filter_operations.h"
#include "cc/quads/shared_quad_state.h"
#include "cc/resources/resource_provider.h"
@@ -41,13 +42,19 @@
#include "ui/gfx/transform.h"
namespace base {
-namespace debug {
+namespace trace_event {
class ConvertableToTraceFormat;
class TracedValue;
}
-class DictionaryValue;
+// TODO(ssid): remove these aliases after the tracing clients are moved to the
+// new trace_event namespace. See crbug.com/451032. ETA: March 2015
+namespace debug {
+using ::base::trace_event::ConvertableToTraceFormat;
+using ::base::trace_event::TracedValue;
}
+class DictionaryValue;
+} // namespace base
namespace cc {
@@ -399,6 +406,11 @@ class CC_EXPORT LayerImpl : public LayerAnimationValueObserver,
void SetCurrentScrollOffset(const gfx::ScrollOffset& scroll_offset);
void PushScrollOffsetFromMainThread(const gfx::ScrollOffset& scroll_offset);
+ // This method is similar to PushScrollOffsetFromMainThread but will cause the
+ // scroll offset given to clobber any scroll changes on the active tree in the
+ // time until this value is pushed to the active tree.
+ void PushScrollOffsetFromMainThreadAndClobberActiveValue(
+ const gfx::ScrollOffset& scroll_offset);
gfx::ScrollOffset PullDeltaForMainThread();
gfx::ScrollOffset CurrentScrollOffset() const;
gfx::ScrollOffset BaseScrollOffset() const;
@@ -474,6 +486,10 @@ class CC_EXPORT LayerImpl : public LayerAnimationValueObserver,
return touch_event_handler_region_;
}
+ void SetScrollBlocksOn(ScrollBlocksOn scroll_blocks_on) {
+ scroll_blocks_on_ = scroll_blocks_on;
+ }
+ ScrollBlocksOn scroll_blocks_on() const { return scroll_blocks_on_; }
void SetDrawCheckerboardForMissingTiles(bool checkerboard) {
draw_checkerboard_for_missing_tiles_ = checkerboard;
}
@@ -483,7 +499,8 @@ class CC_EXPORT LayerImpl : public LayerAnimationValueObserver,
InputHandler::ScrollStatus TryScroll(
const gfx::PointF& screen_space_point,
- InputHandler::ScrollInputType type) const;
+ InputHandler::ScrollInputType type,
+ ScrollBlocksOn effective_block_mode) const;
void SetDoubleSided(bool double_sided);
bool double_sided() const { return double_sided_; }
@@ -530,6 +547,10 @@ class CC_EXPORT LayerImpl : public LayerAnimationValueObserver,
// that rendered this layer was lost or a rendering mode switch has occured.
virtual void ReleaseResources();
+ // Recreate resources that are required after they were released by a
+ // ReleaseResources call.
+ virtual void RecreateResources();
+
ScrollbarAnimationController* scrollbar_animation_controller() const {
return scrollbar_animation_controller_.get();
}
@@ -657,6 +678,10 @@ class CC_EXPORT LayerImpl : public LayerAnimationValueObserver,
bool should_scroll_on_main_thread_ : 1;
bool have_wheel_event_handlers_ : 1;
bool have_scroll_event_handlers_ : 1;
+
+ static_assert(ScrollBlocksOnMax < (1 << 3), "ScrollBlocksOn too big");
+ ScrollBlocksOn scroll_blocks_on_ : 3;
+
bool user_scrollable_horizontal_ : 1;
bool user_scrollable_vertical_ : 1;
bool stacking_order_changed_ : 1;
« no previous file with comments | « cc/layers/layer_client.h ('k') | cc/layers/layer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698