// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_CSS_CSSOM_PREPOPULATED_COMPUTED_STYLE_PROPERTY_MAP_H_ #define THIRD_PARTY_BLINK_RENDERER_CORE_CSS_CSSOM_PREPOPULATED_COMPUTED_STYLE_PROPERTY_MAP_H_ #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/css/cssom/style_property_map_read_only_main_thread.h" #include "third_party/blink/renderer/platform/heap/collection_support/heap_hash_map.h" #include "third_party/blink/renderer/platform/wtf/text/atomic_string_hash.h" namespace blink { class ComputedStyle; // This class has the same behaviour as the ComputedStylePropertyMap, except it // only contains the properties given to the constructor. // // It is to be used with the Houdini APIs (css-paint-api, css-layout-api) which // require style maps with a subset of properties. // // It will pre-populate internal maps (property->CSSValue), as the above APIs // have a high probability of querying the values inside the map, however as a // result when the ComputedStyle changes UpdateStyle needs to be called to // re-populate the internal maps. class CORE_EXPORT PrepopulatedComputedStylePropertyMap : public StylePropertyMapReadOnlyMainThread { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_CORE_CSS_CSSOM_PREPOPULATED_COMPUTED_STYLE_PROPERTY_MAP_H_