Lots of random cleanups, mostly for native_theme_win.cc:
[chromium-blink-merge.git] / cc / base / invalidation_region.cc
blob5fbca8d1d180d71c027505595b65a0c46cfa9ff7
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "cc/base/invalidation_region.h"
7 #include "base/metrics/histogram.h"
9 namespace {
11 const int kMaxInvalidationRectCount = 256;
13 } // namespace
15 namespace cc {
17 InvalidationRegion::InvalidationRegion() {}
19 InvalidationRegion::~InvalidationRegion() {}
21 void InvalidationRegion::Swap(Region* region) {
22 region_.Swap(region);
25 void InvalidationRegion::Clear() {
26 region_.Clear();
29 void InvalidationRegion::Union(const gfx::Rect& rect) {
30 region_.Union(rect);
31 SimplifyIfNeeded();
34 void InvalidationRegion::SimplifyIfNeeded() {
35 if (region_.GetRegionComplexity() > kMaxInvalidationRectCount)
36 region_ = region_.bounds();
39 } // namespace cc