blob: 6001763bca079e7e1d96623274f756f0c2a0fea2 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8" ?>
<AutoVisualizer
xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="blink::MemberBase&lt;*&gt;">
<DisplayString Condition="raw_ == 0">null</DisplayString>
<DisplayString>{*raw_}</DisplayString>
<Expand>
<Item Name="Raw">raw_</Item>
</Expand>
</Type>
<Type Name="blink::PersistentBase&lt;*&gt;">
<DisplayString Condition="raw_ == 0">null</DisplayString>
<DisplayString>{*raw_}</DisplayString>
<Expand>
<Item Name="Raw">raw_</Item>
</Expand>
</Type>
<Type Name="WTF::String">
<DisplayString Condition="impl_.ptr_ == 0">(null)</DisplayString>
<DisplayString IncludeView="bare">{*impl_.ptr_,view(bare)}</DisplayString>
<DisplayString>{*impl_.ptr_}</DisplayString>
<Expand>
<Item Name="Impl">impl_.ptr_</Item>
</Expand>
</Type>
<Type Name="WTF::StringImpl">
<DisplayString IncludeView="bare"
Condition="is8_bit_">{(this+1),[length_]sb}</DisplayString>
<DisplayString
Condition="is8_bit_">[{length_}] {(this+1),[length_]s}</DisplayString>
<DisplayString IncludeView="bare">{(this+1),[length_]sub}</DisplayString>
<DisplayString>[{length_}] {(this+1),[length_]su}</DisplayString>
<Expand>
<Item Name="Length">length_</Item>
<Item Name="Hash">hash_</Item>
<Item Name="AsciiText" Condition="is8_bit_">(this+1),[length_]s</Item>
<Item Name="UnicodeText" Condition="!is8_bit_">(wchar_t*)(this+1),[length_]su</Item>
</Expand>
</Type>
<Type Name="WTF::AtomicString">
<DisplayString IncludeView="bare">{string_,view(bare)}</DisplayString>
<DisplayString>{string_}</DisplayString>
</Type>
<Type Name="WTF::Vector&lt;*&gt;">
<DisplayString Condition="size_==0">(empty)</DisplayString>
<DisplayString Condition="size_==1">[{size_}] {buffer_,1}</DisplayString>
<DisplayString Condition="size_==2">[{size_}] {buffer_,2}</DisplayString>
<DisplayString Condition="size_==3">[{size_}] {buffer_,3}</DisplayString>
<DisplayString Condition="size_==4">[{size_}] {buffer_,4}</DisplayString>
<DisplayString
Condition="size_>=5">[{size_}] {buffer_,4}...</DisplayString>
<Expand>
<Item Name="Buffer">buffer_</Item>
<Item Name="Size">size_</Item>
<Item Name="Capacity">capacity_</Item>
<ArrayItems Condition="size_>0">
<Size>size_</Size>
<ValuePointer>buffer_</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="WTF::HashTable&lt;*&gt;">
<DisplayString>keyCount={key_count_}, tableSize={table_size_}</DisplayString>
<Expand>
<ArrayItems Condition="table_size_>0">
<Size>table_size_</Size>
<ValuePointer>table_</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="WTF::RefPtr&lt;*&gt;">
<AlternativeType Name="WTF::PassRefPtr&lt;*&gt;"/>
<DisplayString Condition="ptr_ == 0">null</DisplayString>
<DisplayString>{*ptr_}</DisplayString>
<Expand>
<Item Name="Ptr">ptr_</Item>
</Expand>
</Type>
<Type Name="blink::LayoutUnit">
<DisplayString>{(float)value_ / 64}</DisplayString>
<Expand>
<Item Name="FloatVal">(float)value_ / 64</Item>
<Item Name="RawVal">value_</Item>
</Expand>
</Type>
<Type Name="blink::LayoutSize">
<AlternativeType Name="blink::IntSize"/>
<AlternativeType Name="blink::FloatSize"/>
<DisplayString>({width_}, {height_})</DisplayString>
<Expand>
<Item Name="Width">width_</Item>
<Item Name="Height">height_</Item>
</Expand>
</Type>
<Type Name="blink::LayoutPoint">
<AlternativeType Name="blink::IntPoint"/>
<AlternativeType Name="blink::FloatPoint"/>
<DisplayString>({x_}, {y_})</DisplayString>
<Expand>
<Item Name="X">x_</Item>
<Item Name="Y">y_</Item>
</Expand>
</Type>
<Type Name="blink::LayoutRect">
<AlternativeType Name="blink::IntRect"/>
<AlternativeType Name="blink::FloatRect"/>
<DisplayString>({location_.x_}, {location_.y_}) x ({size_.width_}, {size_.height_})</DisplayString>
<Expand>
<Item Name="Location">location_</Item>
<Item Name="Size">size_</Item>
</Expand>
</Type>
<Type Name="blink::Length">
<DisplayString Condition="is_float_">{(blink::LengthType)type_} {float_value_}</DisplayString>
<DisplayString>{(blink::LengthType)type_} {int_value_}</DisplayString>
</Type>
<Type Name="blink::WebRect">
<AlternativeType Name="blink::WebFloatRect"/>
<DisplayString>({x}, {y}) x ({width}, {height})</DisplayString>
<Expand>
<Item Name="x">x</Item>
<Item Name="y">y</Item>
<Item Name="width">width</Item>
<Item Name="height">height</Item>
<Synthetic Name="right">
<DisplayString>{x + width}</DisplayString>
</Synthetic>
<Synthetic Name="bottom">
<DisplayString>{y + height}</DisplayString>
</Synthetic>
</Expand>
</Type>
<Type Name="blink::WebPoint">
<AlternativeType Name="blink::WebFloatPoint"/>
<DisplayString>({x}, {y})</DisplayString>
<Expand>
<Item Name="x">x</Item>
<Item Name="y">y</Item>
</Expand>
</Type>
<!-- Component build version -->
<Type Name="blink::WebString">
<DisplayString>{(blink_platform.dll!WTF::StringImpl*)(private_.storage_)}</DisplayString>
</Type>
<!-- Non-component build version -->
<Type Name="blink::WebString" Priority="Low">
<DisplayString>{(WTF::StringImpl*)(private_.storage_)}</DisplayString>
</Type>
<!-- DOM -->
<Type Name="blink::QualifiedName">
<DisplayString Condition="impl_.ptr_ == 0">(null)</DisplayString>
<DisplayString>{*impl_.ptr_}</DisplayString>
</Type>
<Type Name="blink::QualifiedName::QualifiedNameImpl">
<DisplayString>{local_name_,view(bare)}</DisplayString>
</Type>
<Type Name="blink::CharacterData">
<DisplayString>{data_,view(bare)}</DisplayString>
</Type>
<Type Name="blink::ContainerNode">
<Expand>
<LinkedListItems>
<HeadPointer>first_child_.raw_</HeadPointer>
<NextPointer>next_.raw_</NextPointer>
<ValueNode>this</ValueNode>
</LinkedListItems>
</Expand>
</Type>
<Type Name="blink::Element">
<DisplayString Condition="first_child_.raw_ != 0">&lt;{tag_name_}>{first_child_}</DisplayString>
<DisplayString>&lt;{tag_name_}></DisplayString>
</Type>
<!-- Layout: LayoutObject -->
<Type Name="blink::LayoutObject">
<DisplayString Condition="bitfields_.is_anonymous_">Anonymous</DisplayString>
<DisplayString>{node_}</DisplayString>
</Type>
<Type Name="blink::LayoutObjectChildList">
<Expand>
<LinkedListItems>
<HeadPointer>first_child_</HeadPointer>
<NextPointer>next_</NextPointer>
<ValueNode>this</ValueNode>
</LinkedListItems>
</Expand>
</Type>
<!-- Layout: InlineBox -->
<Type Name="blink::InlineBox">
<DisplayString>{line_layout_item_}</DisplayString>
</Type>
<Type Name="blink::InlineFlowBox">
<Expand>
<LinkedListItems>
<HeadPointer>first_child_</HeadPointer>
<NextPointer>next_</NextPointer>
<ValueNode>this</ValueNode>
</LinkedListItems>
</Expand>
</Type>
<Type Name="blink::LineBoxList">
<Expand>
<LinkedListItems>
<HeadPointer>first_line_box_</HeadPointer>
<NextPointer>next_line_box_</NextPointer>
<ValueNode>this</ValueNode>
</LinkedListItems>
</Expand>
</Type>
<Type Name="blink::LineLayoutItem">
<DisplayString>{layout_object_}</DisplayString>
</Type>
<!-- Layout: LayoutNG -->
<Type Name="blink::NGBlockNode">
<DisplayString>{*box_}</DisplayString>
</Type>
<Type Name="blink::NGInlineNode">
<DisplayString>{*box_}</DisplayString>
<Expand>
<Item Name="inline_node_data">*((blink::LayoutNGBlockFlow*)box_)->ng_inline_node_data_</Item>
</Expand>
</Type>
<Type Name="blink::NGInlineItem">
<DisplayString>{(NGInlineItem::NGInlineItemType)type_} {start_offset_}-{end_offset_} {*layout_object_}</DisplayString>
</Type>
<Type Name="blink::NGFragment">
<DisplayString>{physical_fragment_}</DisplayString>
</Type>
<Type Name="blink::NGPhysicalFragment">
<DisplayString>{(blink::NGPhysicalFragment::NGFragmentType)type_} {layout_object_} {size_} {offset_}</DisplayString>
</Type>
<Type Name="blink::NGLogicalOffset">
<DisplayString>({inline_offset}, {block_offset})</DisplayString>
</Type>
<Type Name="blink::NGLogicalSize">
<DisplayString>({inline_size} x {block_size})</DisplayString>
</Type>
<Type Name="blink::NGPhysicalOffset">
<DisplayString>({left}, {top})</DisplayString>
</Type>
<Type Name="blink::NGPhysicalSize">
<DisplayString>({width} x {height})</DisplayString>
</Type>
<!-- Layout: TextRun -->
<Type Name="blink::TextRun">
<DisplayString Condition="is8_bit_">{data_.characters8,[len_]s}</DisplayString>
<DisplayString>{(data_.characters16),[len_]su}</DisplayString>
</Type>
<Type Name="blink::BidiRun">
<DisplayString>{*box_} {start_}-{stop_}</DisplayString>
</Type>
<!-- Fonts -->
<Type Name="blink::Font">
<DisplayString>{font_description_}</DisplayString>
</Type>
<Type Name="blink::FontDescription">
<DisplayString>{computed_size_}px {family_list_}</DisplayString>
</Type>
<Type Name="blink::FontFamily">
<DisplayString Condition="next_.ptr_ == 0">{family_,view(bare)}</DisplayString>
<DisplayString>{family_,view(bare)}, {next_}</DisplayString>
</Type>
<Type Name="blink::SharedFontFamily">
<DisplayString Condition="next_.ptr_ == 0">{family_,view(bare)}</DisplayString>
<DisplayString>{family_,view(bare)}, {next_}</DisplayString>
<Expand>
<LinkedListItems>
<HeadPointer>this</HeadPointer>
<NextPointer>next_.ptr_</NextPointer>
<ValueNode>this</ValueNode>
</LinkedListItems>
</Expand>
</Type>
<Type Name="blink::SimpleFontData">
<DisplayString>{platform_data_}</DisplayString>
</Type>
<Type Name="blink::FontPlatformData">
<DisplayString>{*typeface_.fPtr}, {text_size_}px</DisplayString>
</Type>
</AutoVisualizer>