// Copyright 2014 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. #ifndef SKY_ENGINE_CORE_RENDERING_STYLE_DATAEQUIVALENCY_H_ #define SKY_ENGINE_CORE_RENDERING_STYLE_DATAEQUIVALENCY_H_ #include "sky/engine/wtf/OwnPtr.h" #include "sky/engine/wtf/RefPtr.h" namespace blink { template bool dataEquivalent(const T* a, const T* b) { if (a == b) return true; if (!a || !b) return false; return *a == *b; } template bool dataEquivalent(const RefPtr& a, const RefPtr& b) { return dataEquivalent(a.get(), b.get()); } template bool dataEquivalent(const OwnPtr& a, const OwnPtr& b) { return dataEquivalent(a.get(), b.get()); } } // namespace blink #endif // SKY_ENGINE_CORE_RENDERING_STYLE_DATAEQUIVALENCY_H_