blob: 296be4834445b1f89b8febb03b099e13c40e6666 [file] [log] [blame]
// Copyright 2021 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/document_transition/document_transition_shared_element_id.h"
#include "base/check_op.h"
#include "base/containers/flat_set.h"
namespace cc {
DocumentTransitionSharedElementId::DocumentTransitionSharedElementId() =
default;
DocumentTransitionSharedElementId::DocumentTransitionSharedElementId(
uint32_t document_tag)
: document_tag_(document_tag) {}
DocumentTransitionSharedElementId::DocumentTransitionSharedElementId(
DocumentTransitionSharedElementId&&) = default;
DocumentTransitionSharedElementId::DocumentTransitionSharedElementId(
const DocumentTransitionSharedElementId&) = default;
DocumentTransitionSharedElementId::~DocumentTransitionSharedElementId() =
default;
void DocumentTransitionSharedElementId::AddIndex(uint32_t index) {
DCHECK_NE(document_tag_, 0u);
element_indices_.insert(index);
}
bool DocumentTransitionSharedElementId::Matches(uint32_t document_tag,
uint32_t index) const {
return document_tag_ == document_tag && element_indices_.count(index) != 0;
}
} // namespace cc