OLD | NEW |
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 <vector> |
| 8 |
7 #include "base/bind.h" | 9 #include "base/bind.h" |
8 #include "base/debug/trace_event_impl.h" | 10 #include "base/debug/trace_event_impl.h" |
9 #include "base/lazy_instance.h" | 11 #include "base/lazy_instance.h" |
10 #include "base/strings/string_util.h" | 12 #include "base/strings/string_util.h" |
11 #include "base/threading/thread_checker.h" | 13 #include "base/threading/thread_checker.h" |
12 #include "cc/animation/animation.h" | 14 #include "cc/animation/animation.h" |
13 #include "cc/base/region.h" | 15 #include "cc/base/region.h" |
14 #include "cc/base/switches.h" | 16 #include "cc/base/switches.h" |
15 #include "cc/blink/web_animation_impl.h" | 17 #include "cc/blink/web_animation_impl.h" |
16 #include "cc/blink/web_blend_mode.h" | 18 #include "cc/blink/web_blend_mode.h" |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 size_t i = 0; | 344 size_t i = 0; |
343 for (cc::Region::Iterator region_rects(layer_->non_fast_scrollable_region()); | 345 for (cc::Region::Iterator region_rects(layer_->non_fast_scrollable_region()); |
344 region_rects.has_rect(); | 346 region_rects.has_rect(); |
345 region_rects.next()) { | 347 region_rects.next()) { |
346 result[i] = region_rects.rect(); | 348 result[i] = region_rects.rect(); |
347 ++i; | 349 ++i; |
348 } | 350 } |
349 return result; | 351 return result; |
350 } | 352 } |
351 | 353 |
| 354 void WebLayerImpl::setSmoothnessTimingRequests( |
| 355 const WebVector<std::pair<int64_t, WebRect> >& rects) { |
| 356 std::vector<std::pair<int64_t, gfx::Rect> > gfxRects(rects.size()); |
| 357 for (size_t i = 0; i < rects.size(); ++i) { |
| 358 gfxRects[i] = std::make_pair(rects[i].first, gfx::Rect(rects[i].second)); |
| 359 } |
| 360 layer_->SetSmoothnessTimingRequests(gfxRects); |
| 361 } |
| 362 |
| 363 WebVector<std::pair<int64_t, WebRect> > WebLayerImpl::smoothnessTimingRequests() |
| 364 const { |
| 365 std::vector<std::pair<int64_t, gfx::Rect> > rects = |
| 366 layer_->smoothness_timing_requests(); |
| 367 size_t num_rects = rects.size(); |
| 368 WebVector<std::pair<int64_t, WebRect> > result(num_rects); |
| 369 for (size_t i = 0; i < num_rects; ++i) { |
| 370 WebRect rect(rects[i].second); |
| 371 result[i] = std::make_pair(rects[i].first, rect); |
| 372 } |
| 373 return result; |
| 374 } |
| 375 |
352 void WebLayerImpl::setTouchEventHandlerRegion(const WebVector<WebRect>& rects) { | 376 void WebLayerImpl::setTouchEventHandlerRegion(const WebVector<WebRect>& rects) { |
353 cc::Region region; | 377 cc::Region region; |
354 for (size_t i = 0; i < rects.size(); ++i) | 378 for (size_t i = 0; i < rects.size(); ++i) |
355 region.Union(rects[i]); | 379 region.Union(rects[i]); |
356 layer_->SetTouchEventHandlerRegion(region); | 380 layer_->SetTouchEventHandlerRegion(region); |
357 } | 381 } |
358 | 382 |
359 WebVector<WebRect> WebLayerImpl::touchEventHandlerRegion() const { | 383 WebVector<WebRect> WebLayerImpl::touchEventHandlerRegion() const { |
360 size_t num_rects = 0; | 384 size_t num_rects = 0; |
361 for (cc::Region::Iterator region_rects(layer_->touch_event_handler_region()); | 385 for (cc::Region::Iterator region_rects(layer_->touch_event_handler_region()); |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
470 if (parent) | 494 if (parent) |
471 clip_parent = static_cast<WebLayerImpl*>(parent)->layer(); | 495 clip_parent = static_cast<WebLayerImpl*>(parent)->layer(); |
472 layer_->SetClipParent(clip_parent); | 496 layer_->SetClipParent(clip_parent); |
473 } | 497 } |
474 | 498 |
475 Layer* WebLayerImpl::layer() const { | 499 Layer* WebLayerImpl::layer() const { |
476 return layer_.get(); | 500 return layer_.get(); |
477 } | 501 } |
478 | 502 |
479 } // namespace cc_blink | 503 } // namespace cc_blink |
OLD | NEW |