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

Side by Side Diff: cc/blink/web_layer_impl.cc

Issue 2767213003: First Implementation of Snapped Points
Patch Set: Rebase and format Created 3 years, 6 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 unified diff | Download patch
« no previous file with comments | « cc/blink/web_layer_impl.h ('k') | cc/input/input_handler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/blink/web_layer_impl.h" 5 #include "cc/blink/web_layer_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <utility> 10 #include <utility>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/bind.h" 13 #include "base/bind.h"
14 #include "base/strings/string_util.h" 14 #include "base/strings/string_util.h"
15 #include "base/threading/thread_checker.h" 15 #include "base/threading/thread_checker.h"
16 #include "base/trace_event/trace_event_impl.h" 16 #include "base/trace_event/trace_event_impl.h"
17 #include "cc/base/region.h" 17 #include "cc/base/region.h"
18 #include "cc/base/switches.h" 18 #include "cc/base/switches.h"
19 #include "cc/blink/web_blend_mode.h" 19 #include "cc/blink/web_blend_mode.h"
20 #include "cc/layers/layer.h" 20 #include "cc/layers/layer.h"
21 #include "cc/layers/layer_position_constraint.h" 21 #include "cc/layers/layer_position_constraint.h"
22 #include "cc/layers/snap_point_list.h"
22 #include "cc/trees/element_id.h" 23 #include "cc/trees/element_id.h"
23 #include "cc/trees/layer_tree_host.h" 24 #include "cc/trees/layer_tree_host.h"
24 #include "third_party/WebKit/public/platform/WebFloatPoint.h" 25 #include "third_party/WebKit/public/platform/WebFloatPoint.h"
25 #include "third_party/WebKit/public/platform/WebFloatRect.h" 26 #include "third_party/WebKit/public/platform/WebFloatRect.h"
26 #include "third_party/WebKit/public/platform/WebLayerPositionConstraint.h" 27 #include "third_party/WebKit/public/platform/WebLayerPositionConstraint.h"
27 #include "third_party/WebKit/public/platform/WebLayerScrollClient.h" 28 #include "third_party/WebKit/public/platform/WebLayerScrollClient.h"
28 #include "third_party/WebKit/public/platform/WebLayerStickyPositionConstraint.h" 29 #include "third_party/WebKit/public/platform/WebLayerStickyPositionConstraint.h"
29 #include "third_party/WebKit/public/platform/WebSize.h" 30 #include "third_party/WebKit/public/platform/WebSize.h"
31 #include "third_party/WebKit/public/platform/WebSnapPointList.h"
30 #include "third_party/skia/include/core/SkMatrix44.h" 32 #include "third_party/skia/include/core/SkMatrix44.h"
31 #include "ui/gfx/geometry/rect_conversions.h" 33 #include "ui/gfx/geometry/rect_conversions.h"
32 #include "ui/gfx/geometry/vector2d_conversions.h" 34 #include "ui/gfx/geometry/vector2d_conversions.h"
33 35
34 using cc::Layer; 36 using cc::Layer;
35 using blink::WebLayer; 37 using blink::WebLayer;
36 using blink::WebFloatPoint; 38 using blink::WebFloatPoint;
37 using blink::WebVector; 39 using blink::WebVector;
38 using blink::WebRect; 40 using blink::WebRect;
39 using blink::WebSize; 41 using blink::WebSize;
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 constraint.scroll_container_relative_sticky_box_rect = 406 constraint.scroll_container_relative_sticky_box_rect =
405 web_constraint.scroll_container_relative_sticky_box_rect; 407 web_constraint.scroll_container_relative_sticky_box_rect;
406 constraint.scroll_container_relative_containing_block_rect = 408 constraint.scroll_container_relative_containing_block_rect =
407 web_constraint.scroll_container_relative_containing_block_rect; 409 web_constraint.scroll_container_relative_containing_block_rect;
408 constraint.nearest_layer_shifting_sticky_box = 410 constraint.nearest_layer_shifting_sticky_box =
409 web_constraint.nearest_layer_shifting_sticky_box; 411 web_constraint.nearest_layer_shifting_sticky_box;
410 constraint.nearest_layer_shifting_containing_block = 412 constraint.nearest_layer_shifting_containing_block =
411 web_constraint.nearest_layer_shifting_containing_block; 413 web_constraint.nearest_layer_shifting_containing_block;
412 return constraint; 414 return constraint;
413 } 415 }
416 static cc::SnapPointList ToSnapPointList(
417 const blink::WebSnapPointList& web_list) {
418 cc::SnapPointList list;
419 for (blink::WebSnapPoint point : web_list.HorizontalOffsets()) {
420 /*LOG(ERROR) << point.offset << " " << point.must_snap << " "
421 << point.is_start << " " << point.is_end;*/
422 list.horizontal.push_back(cc::SnapPoint(point.offset, point.must_snap,
423 point.is_start, point.is_end));
424 }
425 for (blink::WebSnapPoint point : web_list.VerticalOffsets()) {
426 list.vertical.push_back(cc::SnapPoint(point.offset, point.must_snap,
427 point.is_start, point.is_end));
428 }
429 return list;
430 }
414 void WebLayerImpl::SetStickyPositionConstraint( 431 void WebLayerImpl::SetStickyPositionConstraint(
415 const blink::WebLayerStickyPositionConstraint& constraint) { 432 const blink::WebLayerStickyPositionConstraint& constraint) {
416 layer_->SetStickyPositionConstraint(ToStickyPositionConstraint(constraint)); 433 layer_->SetStickyPositionConstraint(ToStickyPositionConstraint(constraint));
417 } 434 }
418 blink::WebLayerStickyPositionConstraint WebLayerImpl::StickyPositionConstraint() 435 blink::WebLayerStickyPositionConstraint WebLayerImpl::StickyPositionConstraint()
419 const { 436 const {
420 return ToWebLayerStickyPositionConstraint( 437 return ToWebLayerStickyPositionConstraint(
421 layer_->sticky_position_constraint()); 438 layer_->sticky_position_constraint());
422 } 439 }
423 440
424 void WebLayerImpl::SetScrollClient(blink::WebLayerScrollClient* scroll_client) { 441 void WebLayerImpl::SetScrollClient(blink::WebLayerScrollClient* scroll_client) {
425 if (scroll_client) { 442 if (scroll_client) {
426 layer_->set_did_scroll_callback( 443 layer_->set_did_scroll_callback(
427 base::Bind(&blink::WebLayerScrollClient::DidScroll, 444 base::Bind(&blink::WebLayerScrollClient::DidScroll,
428 base::Unretained(scroll_client))); 445 base::Unretained(scroll_client)));
429 } else { 446 } else {
430 layer_->set_did_scroll_callback( 447 layer_->set_did_scroll_callback(
431 base::Callback<void(const gfx::ScrollOffset&)>()); 448 base::Callback<void(const gfx::ScrollOffset&)>());
432 } 449 }
433 } 450 }
434 451
452 void WebLayerImpl::SetScrollSnapOffsets(
453 const blink::WebSnapPointList& offsets) {
454 layer_->SetScrollSnapOffsets(ToSnapPointList(offsets));
455 }
456
435 void WebLayerImpl::SetLayerClient(cc::LayerClient* client) { 457 void WebLayerImpl::SetLayerClient(cc::LayerClient* client) {
436 layer_->SetLayerClient(client); 458 layer_->SetLayerClient(client);
437 } 459 }
438 460
439 const cc::Layer* WebLayerImpl::CcLayer() const { 461 const cc::Layer* WebLayerImpl::CcLayer() const {
440 return layer_.get(); 462 return layer_.get();
441 } 463 }
442 464
443 cc::Layer* WebLayerImpl::CcLayer() { 465 cc::Layer* WebLayerImpl::CcLayer() {
444 return layer_.get(); 466 return layer_.get();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 506
485 void WebLayerImpl::SetHasWillChangeTransformHint(bool has_will_change) { 507 void WebLayerImpl::SetHasWillChangeTransformHint(bool has_will_change) {
486 layer_->SetHasWillChangeTransformHint(has_will_change); 508 layer_->SetHasWillChangeTransformHint(has_will_change);
487 } 509 }
488 510
489 void WebLayerImpl::ShowScrollbars() { 511 void WebLayerImpl::ShowScrollbars() {
490 layer_->ShowScrollbars(); 512 layer_->ShowScrollbars();
491 } 513 }
492 514
493 } // namespace cc_blink 515 } // namespace cc_blink
OLDNEW
« no previous file with comments | « cc/blink/web_layer_impl.h ('k') | cc/input/input_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698