chromium/tools/win/DebugVisualizers/chrome.natvis

<?xml version="1.0" encoding="utf-8" ?>
<AutoVisualizer
    xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  <Type Name="gfx::Point">
    <AlternativeType Name="gfx::PointF"/>
    <DisplayString>({x_}, {y_})</DisplayString>
  </Type>
  <Type Name="gfx::Size">
    <AlternativeType Name="gfx::SizeF"/>
    <DisplayString>({width_}, {height_})</DisplayString>
  </Type>
  <Type Name="gfx::Rect">
    <AlternativeType Name="gfx::RectF"/>
    <DisplayString>({origin_.x_}, {origin_.y_}) x ({size_.width_}, {size_.height_})</DisplayString>
  </Type>
  <Type Name="scoped_refptr&lt;*&gt;">
    <SmartPointer Usage="Minimal">ptr_</SmartPointer>
    <DisplayString Condition="ptr_ == 0">null</DisplayString>
    <DisplayString>[{((base::subtle::RefCountedBase*)ptr_)-&gt;ref_count_}] {(void*)ptr_} {*ptr_}</DisplayString>
    <Expand>
      <Item Name="Ptr">ptr_</Item>
      <Item Name="RefCount" Condition="ptr_ != 0">((base::subtle::RefCountedBase*)ptr_)-&gt;ref_count_</Item>
      <ExpandedItem Condition="ptr_ != 0">ptr_</ExpandedItem>
    </Expand>
  </Type>
  <Type Name="absl::optional&lt;*&gt;">
    <DisplayString Condition="!engaged_">(null)</DisplayString>
    <DisplayString>{data_}</DisplayString>
    <Expand>
      <ExpandedItem Condition="engaged_">data_</ExpandedItem>
    </Expand>
  </Type>
  <!-- Inspired by https://github.com/microsoft/STL/blob/main/stl/debugger/STL.natvis -->
  <Type Name="absl::variant&lt;*&gt;">
    <Intrinsic Name="index" Expression="(int)index_"/>
    <DisplayString Condition="index() &lt; 0">[valueless_by_exception]</DisplayString>
    <DisplayString Condition="index() ==  0" Optional="true">{{ index=0, value={state_.head} }}</DisplayString>
    <DisplayString Condition="index() ==  1" Optional="true">{{ index=1, value={state_.tail.head} }}</DisplayString>
    <DisplayString Condition="index() ==  2" Optional="true">{{ index=2, value={state_.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() ==  3" Optional="true">{{ index=3, value={state_.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() ==  4" Optional="true">{{ index=4, value={state_.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() ==  5" Optional="true">{{ index=5, value={state_.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() ==  6" Optional="true">{{ index=6, value={state_.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() ==  7" Optional="true">{{ index=7, value={state_.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() ==  8" Optional="true">{{ index=8, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() ==  9" Optional="true">{{ index=9, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 10" Optional="true">{{ index=10, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 11" Optional="true">{{ index=11, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 12" Optional="true">{{ index=12, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 13" Optional="true">{{ index=13, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 14" Optional="true">{{ index=14, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 15" Optional="true">{{ index=15, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 16" Optional="true">{{ index=16, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 17" Optional="true">{{ index=17, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 18" Optional="true">{{ index=18, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 19" Optional="true">{{ index=19, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 20" Optional="true">{{ index=20, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 21" Optional="true">{{ index=21, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 22" Optional="true">{{ index=22, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 23" Optional="true">{{ index=23, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 24" Optional="true">{{ index=24, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 25" Optional="true">{{ index=25, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 26" Optional="true">{{ index=26, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 27" Optional="true">{{ index=27, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 28" Optional="true">{{ index=28, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 29" Optional="true">{{ index=29, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 30" Optional="true">{{ index=30, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <DisplayString Condition="index() == 31" Optional="true">{{ index=31, value={state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head} }}</DisplayString>
    <Expand>
      <Item Name="index">index()</Item>
      <Item Name="[value]" Condition="index() ==  0" Optional="true">state_.head</Item>
      <Item Name="[value]" Condition="index() ==  1" Optional="true">state_.tail.head</Item>
      <Item Name="[value]" Condition="index() ==  2" Optional="true">state_.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() ==  3" Optional="true">state_.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() ==  4" Optional="true">state_.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() ==  5" Optional="true">state_.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() ==  6" Optional="true">state_.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() ==  7" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() ==  8" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() ==  9" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 10" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 11" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 12" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 13" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 14" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 15" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 16" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 17" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 18" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 19" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 20" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 21" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 22" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 23" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 24" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 25" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 26" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 27" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 28" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 29" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 30" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
      <Item Name="[value]" Condition="index() == 31" Optional="true">state_.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.tail.head</Item>
    </Expand>
  </Type>
  <Type Name="IPC::Message::Header">
    <DisplayString>{{Routing: {routing}, Type: {type}}}</DisplayString>
    <Expand>
      <Item Name="RoutingId">routing</Item>
      <Item Name="Type">type</Item>
      <Synthetic Name="Priority"
                 Condition="(flags &amp; IPC::Message::PRIORITY_MASK) ==
                                IPC::Message::PRIORITY_LOW">
        <DisplayString>Low</DisplayString>
      </Synthetic>
      <Synthetic Name="Priority"
                 Condition="(flags &amp; IPC::Message::PRIORITY_MASK) ==
                                IPC::Message::PRIORITY_NORMAL">
        <DisplayString>Normal</DisplayString>
      </Synthetic>
      <Synthetic Name="Priority"
                 Condition="(flags &amp; IPC::Message::PRIORITY_MASK) ==
                                IPC::Message::PRIORITY_HIGH">
        <DisplayString>High</DisplayString>
      </Synthetic>
      <Synthetic Name="Sync"
                 Condition="(flags &amp; IPC::Message::SYNC_BIT) != 0">
        <DisplayString>true</DisplayString>
      </Synthetic>
      <Synthetic Name="Sync"
                 Condition="(flags &amp; IPC::Message::SYNC_BIT) == 0">
        <DisplayString>false</DisplayString>
      </Synthetic>
      <Synthetic Name="Reply"
                 Condition="(flags &amp; IPC::Message::REPLY_BIT) != 0">
        <DisplayString>true</DisplayString>
      </Synthetic>
      <Synthetic Name="Reply"
                 Condition="(flags &amp; IPC::Message::REPLY_BIT) == 0">
        <DisplayString>false</DisplayString>
      </Synthetic>
      <Synthetic Name="ReplyError"
                 Condition="(flags &amp; IPC::Message::REPLY_ERROR_BIT) != 0">
        <DisplayString>true</DisplayString>
      </Synthetic>
      <Synthetic Name="ReplyError"
                 Condition="(flags &amp; IPC::Message::REPLY_ERROR_BIT) == 0">
        <DisplayString>false</DisplayString>
      </Synthetic>
      <Synthetic Name="Unblock"
                 Condition="(flags &amp; IPC::Message::UNBLOCK_BIT) != 0">
        <DisplayString>true</DisplayString>
      </Synthetic>
      <Synthetic Name="Unblock"
                 Condition="(flags &amp; IPC::Message::UNBLOCK_BIT) == 0">
        <DisplayString>false</DisplayString>
      </Synthetic>
      <Synthetic Name="PumpingMessages"
                 Condition="(flags &amp; IPC::Message::PUMPING_MSGS_BIT) != 0">
        <DisplayString>true</DisplayString>
      </Synthetic>
      <Synthetic Name="PumpingMessages"
                 Condition="(flags &amp; IPC::Message::PUMPING_MSGS_BIT) == 0">
        <DisplayString>false</DisplayString>
      </Synthetic>
      <Synthetic Name="HasSentTime"
                 Condition="(flags &amp; IPC::Message::HAS_SENT_TIME_BIT) != 0">
        <DisplayString>true</DisplayString>
      </Synthetic>
      <Synthetic Name="HasSentTime"
                 Condition="(flags &amp; IPC::Message::HAS_SENT_TIME_BIT) == 0">
        <DisplayString>false</DisplayString>
      </Synthetic>
    </Expand>
  </Type>
  <Type Name="IPC::Message">
    <DisplayString>{{size = {header_size_+capacity_after_header_}}}</DisplayString>
    <Expand>
      <ExpandedItem>*((IPC::Message::Header*)header_),nd</ExpandedItem>
      <Item Name="Payload">(void*)((char*)header_ + header_size_)</Item>
    </Expand>
  </Type>
  <Type Name="base::TimeDelta">
    <DisplayString>{delta_}</DisplayString>
    <Expand>
      <Synthetic Name="Days">
        <DisplayString>{(int)(delta_ / {,,base.dll}base::Time::kMicrosecondsPerDay)}</DisplayString>
      </Synthetic>
      <Synthetic Name="Hours">
        <DisplayString>{(int)(delta_ / {,,base.dll}base::Time::kMicrosecondsPerHour)}</DisplayString>
      </Synthetic>
      <Synthetic Name="Minutes">
        <DisplayString>{(int)(delta_ / {,,base.dll}base::Time::kMicrosecondsPerMinute)}</DisplayString>
      </Synthetic>
      <Synthetic Name="Seconds">
        <DisplayString>{(int)(delta_ / {,,base.dll}base::Time::kMicrosecondsPerSecond)}</DisplayString>
      </Synthetic>
      <Synthetic Name="Milliseconds">
        <DisplayString>{(int)(delta_ / {,,base.dll}base::Time::kMicrosecondsPerMillisecond)}</DisplayString>
      </Synthetic>
      <Item Name="Microseconds">delta_</Item>
    </Expand>
  </Type>
  <Type Name="GURL">
    <DisplayString>{spec_}</DisplayString>
  </Type>
  <Type Name="base::ManualConstructor&lt;*&gt;">
    <!-- $T1 expands to the first "*" in the name which is the template
         type. Use that to cast to the correct value. -->
    <DisplayString>{*($T1*)space_.data_}</DisplayString>
    <Expand>
      <ExpandedItem>*($T1*)space_.data_</ExpandedItem>
    </Expand>
  </Type>
  <Type Name="base::internal::flat_tree&lt;*&gt;">
    <AlternativeType Name="base::flat_set&lt;*&gt;"/>
    <DisplayString>{impl_.body_}</DisplayString>
    <Expand>
      <ExpandedItem>impl_.body_</ExpandedItem>
    </Expand>
  </Type>
  <Type Name="base::flat_map&lt;*&gt;">
    <DisplayString>{impl_.body_}</DisplayString>
    <Expand>
      <ExpandedItem>impl_.body_</ExpandedItem>
    </Expand>
  </Type>
  <Type Name="base::Value" >
    <DisplayString Condition="data_.index_ == base::Value::Type::NONE" Optional="true">None</DisplayString>
    <DisplayString Condition="data_.index_ == base::Value::Type::BOOLEAN" Optional="true">Boolean {data_.state_.tail.head}</DisplayString>
    <DisplayString Condition="data_.index_ == base::Value::Type::INTEGER" Optional="true">Integer {data_.state_.tail.tail.head}</DisplayString>
    <DisplayString Condition="data_.index_ == base::Value::Type::DOUBLE" Optional="true">Double {*(double*)data_.state_.tail.tail.tail.head.v_}</DisplayString>
    <DisplayString Condition="data_.index_ == base::Value::Type::STRING" Optional="true">String {data_.state_.tail.tail.tail.tail.head,na}</DisplayString>
    <DisplayString Condition="data_.index_ == base::Value::Type::BINARY" Optional="true">Binary {data_.state_.tail.tail.tail.tail.tail.head}</DisplayString>
    <DisplayString Condition="data_.index_ == base::Value::Type::DICT" Optional="true">Dictionary {data_.state_.tail.tail.tail.tail.tail.tail.head.storage_.body_}</DisplayString>
    <DisplayString Condition="data_.index_ == base::Value::Type::LIST" Optional="true">List {data_.state_.tail.tail.tail.tail.tail.tail.tail.head.storage_}</DisplayString>
    <DisplayString>Unknown type</DisplayString>
    <Expand >
      <Item Condition="data_.index_ == base::Value::Type::BOOLEAN" Name="[value]" Optional="true">
        data_.state_.tail.head
      </Item>
      <Item Condition="data_.index_ == base::Value::Type::INTEGER" Name="[value]" Optional="true">
        data_.state_.tail.tail.head
      </Item>
      <Item Condition="data_.index_ == base::Value::Type::DOUBLE" Name="[value]" Optional="true">
        *(double*)data_.state_.tail.tail.tail.head.v_
      </Item>
      <Item Condition="data_.index_ == base::Value::Type::STRING" Name="[value]" Optional="true">
        data_.state_.tail.tail.tail.tail.head,na
      </Item>
      <Item Condition="data_.index_ == base::Value::Type::BINARY" Name="[value]" Optional="true">
        data_.state_.tail.tail.tail.tail.tail.head
      </Item>
      <!-- Dictionary -->
      <Item Condition="data_.index_ == base::Value::Type::DICT" Name="[size]" Optional="true">
        data_.state_.tail.tail.tail.tail.tail.tail.head.storage_.body_.__end_ -
        data_.state_.tail.tail.tail.tail.tail.tail.head.storage_.body_.__begin_
      </Item>
      <ArrayItems Condition="data_.index_ == base::Value::Type::DICT" Optional="true">
        <Size>
          data_.state_.tail.tail.tail.tail.tail.tail.head.storage_.body_.__end_ -
          data_.state_.tail.tail.tail.tail.tail.tail.head.storage_.body_.__begin_
        </Size>
        <ValuePointer>
          data_.state_.tail.tail.tail.tail.tail.tail.head.storage_.body_.__begin_
        </ValuePointer>
      </ArrayItems>
      <!-- List -->
      <Item Condition="data_.index_ == base::Value::Type::LIST" Name="[size]" Optional="true">
        data_.state_.tail.tail.tail.tail.tail.tail.tail.head.storage_.__end_ -
        data_.state_.tail.tail.tail.tail.tail.tail.tail.head.storage_.__begin_
      </Item>
      <ArrayItems Condition="data_.index_ == base::Value::Type::LIST" Optional="true">
        <Size>
          data_.state_.tail.tail.tail.tail.tail.tail.tail.head.storage_.__end_ -
          data_.state_.tail.tail.tail.tail.tail.tail.tail.head.storage_.__begin_
        </Size>
        <ValuePointer>
          data_.state_.tail.tail.tail.tail.tail.tail.tail.head.storage_.__begin_
        </ValuePointer>
      </ArrayItems>
    </Expand>
  </Type>
  <Type Name="base::Value::Dict" >
    <DisplayString>Dictionary {storage_.body_}</DisplayString>
    <Expand >
      <Item Name="[size]">storage_.body_.__end_ - storage_.body_.__begin_</Item>
        <ArrayItems>
          <Size>storage_.body_.__end_ - storage_.body_.__begin_</Size>
          <ValuePointer>storage_.body_.__begin_</ValuePointer>
        </ArrayItems>
    </Expand>
  </Type>
  <Type Name="base::Value::List" >
    <DisplayString>List {storage_}</DisplayString>
    <Expand >
      <Item Name="[size]">storage_.__end_ - storage_.__begin_</Item>
        <ArrayItems>
          <Size>storage_.__end_ - storage_.__begin_</Size>
          <ValuePointer>storage_.__begin_</ValuePointer>
        </ArrayItems>
    </Expand>
  </Type>
  <Type Name="base::StrongAlias&lt;*,*&gt;">
    <DisplayString>{value_}</DisplayString>
  </Type>
</AutoVisualizer>