| 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 |