| // Copyright 2014 Google Inc. All Rights Reserved. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| #ifndef COBALT_CSSOM_COMPUTED_STYLE_H_ |
| #define COBALT_CSSOM_COMPUTED_STYLE_H_ |
| |
| #include "base/memory/ref_counted.h" |
| #include "cobalt/cssom/property_definitions.h" |
| #include "cobalt/math/size.h" |
| |
| namespace cobalt { |
| namespace cssom { |
| |
| class CSSComputedStyleData; |
| class CSSComputedStyleDeclaration; |
| |
| // The computed value is the result of resolving the specified value, |
| // generally absolutizing it. The computed value is the value that is |
| // transferred from parent to child during inheritance. |
| // https://www.w3.org/TR/css-cascade-3/#computed |
| |
| // Converts specified values into computed values in place. |
| // parent_computed_style_declaration and root_computed_style cannot be NULL. |
| // property_key_to_base_url_map can be NULL. |
| void PromoteToComputedStyle( |
| const scoped_refptr<CSSComputedStyleData>& specified_style, |
| const scoped_refptr<CSSComputedStyleDeclaration>& |
| parent_computed_style_declaration, |
| const scoped_refptr<const CSSComputedStyleData>& root_computed_style, |
| const math::Size& viewport_size, |
| GURLMap* const property_key_to_base_url_map); |
| |
| // Creates the computed style of an anonymous box from the given parent style. |
| // CSS 2.1 specification provides identical definitions for anonymous block and |
| // inline boxes. The inheritable properties of anonymous boxes are inherited |
| // from the enclosing non-anonymous box. Non-inherited properties have their |
| // initial value. |
| // https://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level |
| // https://www.w3.org/TR/CSS21/visuren.html#anonymous |
| scoped_refptr<CSSComputedStyleData> GetComputedStyleOfAnonymousBox( |
| const scoped_refptr<CSSComputedStyleDeclaration>& |
| parent_computed_style_declaration); |
| |
| } // namespace cssom |
| } // namespace cobalt |
| |
| #endif // COBALT_CSSOM_COMPUTED_STYLE_H_ |