// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "cc/base/invalidation_region.h" #include "base/metrics/histogram.h" namespace { const int kMaxInvalidationRectCount = 256; } // namespace namespace cc { InvalidationRegion::InvalidationRegion() {} InvalidationRegion::~InvalidationRegion() {} void InvalidationRegion::Swap(Region* region) { region_.Swap(region); } void InvalidationRegion::Clear() { region_.Clear(); } void InvalidationRegion::Union(const gfx::Rect& rect) { region_.Union(rect); SimplifyIfNeeded(); } void InvalidationRegion::SimplifyIfNeeded() { if (region_.GetRegionComplexity() > kMaxInvalidationRectCount) region_ = region_.bounds(); } } // namespace cc