Changeset 234087 in webkit


Ignore:
Timestamp:
Jul 21, 2018 9:09:44 PM (6 years ago)
Author:
Simon Fraser
Message:

Add lldb formatters for WebCore geometry types
https://bugs.webkit.org/show_bug.cgi?id=187884

Reviewed by Daniel Bates.

Add lldb formatters for IntPoint, IntSize, IntRect, FloatPoint, FloatSize, FloatRect
and LayoutRect.

Testing is blocked by webkit.org/b/187872.

  • lldb/lldbWebKitTester/main.cpp:

(testSummaryProviders):

  • lldb/lldb_webkit.py:

(lldb_init_module.lldb_webkit):
(
lldb_init_module):
(WebCoreLayoutRect_SummaryProvider):
(WebCoreIntSize_SummaryProvider):
(WebCoreIntPoint_SummaryProvider):
(WebCoreFloatSize_SummaryProvider):
(WebCoreFloatPoint_SummaryProvider):
(WebCoreIntRect_SummaryProvider):
(WebCoreFloatRect_SummaryProvider):
(WebCoreLayoutRectProvider):
(WebCoreLayoutRectProvider.init):
(WebCoreLayoutRectProvider.get_x):
(WebCoreLayoutRectProvider.get_y):
(WebCoreLayoutRectProvider.get_width):
(WebCoreLayoutRectProvider.get_height):
(WebCoreIntPointProvider):
(WebCoreIntPointProvider.init):
(WebCoreIntPointProvider.get_x):
(WebCoreIntPointProvider.get_y):
(WebCoreIntSizeProvider):
(WebCoreIntSizeProvider.init):
(WebCoreIntSizeProvider.get_width):
(WebCoreIntSizeProvider.get_height):
(WebCoreIntRectProvider):
(WebCoreIntRectProvider.init):
(WebCoreIntRectProvider.get_x):
(WebCoreIntRectProvider.get_y):
(WebCoreIntRectProvider.get_width):
(WebCoreIntRectProvider.get_height):
(WebCoreFloatPointProvider):
(WebCoreFloatPointProvider.init):
(WebCoreFloatPointProvider.get_x):
(WebCoreFloatPointProvider.get_y):
(WebCoreFloatSizeProvider):
(WebCoreFloatSizeProvider.init):
(WebCoreFloatSizeProvider.get_width):
(WebCoreFloatSizeProvider.get_height):
(WebCoreFloatRectProvider):
(WebCoreFloatRectProvider.init):
(WebCoreFloatRectProvider.get_x):
(WebCoreFloatRectProvider.get_y):
(WebCoreFloatRectProvider.get_width):
(WebCoreFloatRectProvider.get_height):

Location:
trunk/Tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r234080 r234087  
     12018-07-21  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Add lldb formatters for WebCore geometry types
     4        https://bugs.webkit.org/show_bug.cgi?id=187884
     5
     6        Reviewed by Daniel Bates.
     7       
     8        Add lldb formatters for IntPoint, IntSize, IntRect, FloatPoint, FloatSize, FloatRect
     9        and LayoutRect.
     10       
     11        Testing is blocked by webkit.org/b/187872.
     12
     13        * lldb/lldbWebKitTester/main.cpp:
     14        (testSummaryProviders):
     15        * lldb/lldb_webkit.py:
     16        (__lldb_init_module.lldb_webkit):
     17        (__lldb_init_module):
     18        (WebCoreLayoutRect_SummaryProvider):
     19        (WebCoreIntSize_SummaryProvider):
     20        (WebCoreIntPoint_SummaryProvider):
     21        (WebCoreFloatSize_SummaryProvider):
     22        (WebCoreFloatPoint_SummaryProvider):
     23        (WebCoreIntRect_SummaryProvider):
     24        (WebCoreFloatRect_SummaryProvider):
     25        (WebCoreLayoutRectProvider):
     26        (WebCoreLayoutRectProvider.__init__):
     27        (WebCoreLayoutRectProvider.get_x):
     28        (WebCoreLayoutRectProvider.get_y):
     29        (WebCoreLayoutRectProvider.get_width):
     30        (WebCoreLayoutRectProvider.get_height):
     31        (WebCoreIntPointProvider):
     32        (WebCoreIntPointProvider.__init__):
     33        (WebCoreIntPointProvider.get_x):
     34        (WebCoreIntPointProvider.get_y):
     35        (WebCoreIntSizeProvider):
     36        (WebCoreIntSizeProvider.__init__):
     37        (WebCoreIntSizeProvider.get_width):
     38        (WebCoreIntSizeProvider.get_height):
     39        (WebCoreIntRectProvider):
     40        (WebCoreIntRectProvider.__init__):
     41        (WebCoreIntRectProvider.get_x):
     42        (WebCoreIntRectProvider.get_y):
     43        (WebCoreIntRectProvider.get_width):
     44        (WebCoreIntRectProvider.get_height):
     45        (WebCoreFloatPointProvider):
     46        (WebCoreFloatPointProvider.__init__):
     47        (WebCoreFloatPointProvider.get_x):
     48        (WebCoreFloatPointProvider.get_y):
     49        (WebCoreFloatSizeProvider):
     50        (WebCoreFloatSizeProvider.__init__):
     51        (WebCoreFloatSizeProvider.get_width):
     52        (WebCoreFloatSizeProvider.get_height):
     53        (WebCoreFloatRectProvider):
     54        (WebCoreFloatRectProvider.__init__):
     55        (WebCoreFloatRectProvider.get_x):
     56        (WebCoreFloatRectProvider.get_y):
     57        (WebCoreFloatRectProvider.get_width):
     58        (WebCoreFloatRectProvider.get_height):
     59
    1602018-07-20  John Wilander  <wilander@apple.com>
    261
  • trunk/Tools/lldb/lldb_webkit.py

    r234062 r234087  
    4545    debugger.HandleCommand('type synthetic add -x "WTF::Vector<.+>$" --python-class lldb_webkit.WTFVectorProvider')
    4646    debugger.HandleCommand('type synthetic add -x "WTF::HashTable<.+>$" --python-class lldb_webkit.WTFHashTableProvider')
     47
     48    debugger.HandleCommand('type summary add -F lldb_webkit.WebCoreURL_SummaryProvider WebCore::URL')
     49
    4750    debugger.HandleCommand('type summary add -F lldb_webkit.WebCoreColor_SummaryProvider WebCore::Color')
     51
    4852    debugger.HandleCommand('type summary add -F lldb_webkit.WebCoreLayoutUnit_SummaryProvider WebCore::LayoutUnit')
    4953    debugger.HandleCommand('type summary add -F lldb_webkit.WebCoreLayoutSize_SummaryProvider WebCore::LayoutSize')
    5054    debugger.HandleCommand('type summary add -F lldb_webkit.WebCoreLayoutPoint_SummaryProvider WebCore::LayoutPoint')
    51     debugger.HandleCommand('type summary add -F lldb_webkit.WebCoreURL_SummaryProvider WebCore::URL')
     55    debugger.HandleCommand('type summary add -F lldb_webkit.WebCoreLayoutRect_SummaryProvider WebCore::LayoutRect')
     56
     57    debugger.HandleCommand('type summary add -F lldb_webkit.WebCoreIntSize_SummaryProvider WebCore::IntSize')
     58    debugger.HandleCommand('type summary add -F lldb_webkit.WebCoreIntPoint_SummaryProvider WebCore::IntPoint')
     59    debugger.HandleCommand('type summary add -F lldb_webkit.WebCoreIntRect_SummaryProvider WebCore::IntRect')
     60
     61    debugger.HandleCommand('type summary add -F lldb_webkit.WebCoreFloatSize_SummaryProvider WebCore::FloatSize')
     62    debugger.HandleCommand('type summary add -F lldb_webkit.WebCoreFloatPoint_SummaryProvider WebCore::FloatPoint')
     63    debugger.HandleCommand('type summary add -F lldb_webkit.WebCoreFloatRect_SummaryProvider WebCore::FloatRect')
    5264
    5365
     
    121133    provider = WebCoreLayoutPointProvider(valobj, dict)
    122134    return "{ x = %s, y = %s }" % (provider.get_x(), provider.get_y())
     135
     136
     137def WebCoreLayoutRect_SummaryProvider(valobj, dict):
     138    provider = WebCoreLayoutRectProvider(valobj, dict)
     139    return "{ x = %s, y = %s, width = %s, height = %s }" % (provider.get_x(), provider.get_y(), provider.get_width(), provider.get_height())
     140
     141
     142def WebCoreIntSize_SummaryProvider(valobj, dict):
     143    provider = WebCoreIntSizeProvider(valobj, dict)
     144    return "{ width = %s, height = %s }" % (provider.get_width(), provider.get_height())
     145
     146
     147def WebCoreIntPoint_SummaryProvider(valobj, dict):
     148    provider = WebCoreIntPointProvider(valobj, dict)
     149    return "{ x = %s, y = %s }" % (provider.get_x(), provider.get_y())
     150
     151
     152def WebCoreFloatSize_SummaryProvider(valobj, dict):
     153    provider = WebCoreFloatSizeProvider(valobj, dict)
     154    return "{ width = %s, height = %s }" % (provider.get_width(), provider.get_height())
     155
     156
     157def WebCoreFloatPoint_SummaryProvider(valobj, dict):
     158    provider = WebCoreFloatPointProvider(valobj, dict)
     159    return "{ x = %s, y = %s }" % (provider.get_x(), provider.get_y())
     160
     161
     162def WebCoreIntRect_SummaryProvider(valobj, dict):
     163    provider = WebCoreIntRectProvider(valobj, dict)
     164    return "{ x = %s, y = %s, width = %s, height = %s }" % (provider.get_x(), provider.get_y(), provider.get_width(), provider.get_height())
     165
     166
     167def WebCoreFloatRect_SummaryProvider(valobj, dict):
     168    provider = WebCoreFloatRectProvider(valobj, dict)
     169    return "{ x = %s, y = %s, width = %s, height = %s }" % (provider.get_x(), provider.get_y(), provider.get_width(), provider.get_height())
     170
     171
    123172
    124173
     
    400449    def get_y(self):
    401450        return WebCoreLayoutUnitProvider(self.valobj.GetChildMemberWithName('m_y'), dict).to_string()
     451
     452
     453class WebCoreLayoutRectProvider:
     454    "Print a WebCore::LayoutRect"
     455    def __init__(self, valobj, dict):
     456        self.valobj = valobj
     457
     458    def get_x(self):
     459        return WebCoreLayoutPointProvider(self.valobj.GetChildMemberWithName('m_location'), dict).get_x()
     460
     461    def get_y(self):
     462        return WebCoreLayoutPointProvider(self.valobj.GetChildMemberWithName('m_location'), dict).get_y()
     463
     464    def get_width(self):
     465        return WebCoreLayoutSizeProvider(self.valobj.GetChildMemberWithName('m_size'), dict).get_width()
     466
     467    def get_height(self):
     468        return WebCoreLayoutSizeProvider(self.valobj.GetChildMemberWithName('m_size'), dict).get_height()
     469
     470
     471class WebCoreIntPointProvider:
     472    "Print a WebCore::IntPoint"
     473    def __init__(self, valobj, dict):
     474        self.valobj = valobj
     475
     476    def get_x(self):
     477        return self.valobj.GetChildMemberWithName('m_x').GetValueAsSigned()
     478
     479    def get_y(self):
     480        return self.valobj.GetChildMemberWithName('m_y').GetValueAsSigned()
     481
     482
     483class WebCoreIntSizeProvider:
     484    "Print a WebCore::IntSize"
     485    def __init__(self, valobj, dict):
     486        self.valobj = valobj
     487
     488    def get_width(self):
     489        return self.valobj.GetChildMemberWithName('m_width').GetValueAsSigned()
     490
     491    def get_height(self):
     492        return self.valobj.GetChildMemberWithName('m_height').GetValueAsSigned()
     493
     494
     495class WebCoreIntRectProvider:
     496    "Print a WebCore::IntRect"
     497    def __init__(self, valobj, dict):
     498        self.valobj = valobj
     499
     500    def get_x(self):
     501        return WebCoreIntPointProvider(self.valobj.GetChildMemberWithName('m_location'), dict).get_x()
     502
     503    def get_y(self):
     504        return WebCoreIntPointProvider(self.valobj.GetChildMemberWithName('m_location'), dict).get_y()
     505
     506    def get_width(self):
     507        return WebCoreIntSizeProvider(self.valobj.GetChildMemberWithName('m_size'), dict).get_width()
     508
     509    def get_height(self):
     510        return WebCoreIntSizeProvider(self.valobj.GetChildMemberWithName('m_size'), dict).get_height()
     511
     512
     513class WebCoreFloatPointProvider:
     514    "Print a WebCore::FloatPoint"
     515    def __init__(self, valobj, dict):
     516        self.valobj = valobj
     517
     518    def get_x(self):
     519        return float(self.valobj.GetChildMemberWithName('m_x').GetValue())
     520
     521    def get_y(self):
     522        return float(self.valobj.GetChildMemberWithName('m_y').GetValue())
     523
     524
     525class WebCoreFloatSizeProvider:
     526    "Print a WebCore::FloatSize"
     527    def __init__(self, valobj, dict):
     528        self.valobj = valobj
     529
     530    def get_width(self):
     531        return float(self.valobj.GetChildMemberWithName('m_width').GetValue())
     532
     533    def get_height(self):
     534        return float(self.valobj.GetChildMemberWithName('m_height').GetValue())
     535
     536
     537class WebCoreFloatRectProvider:
     538    "Print a WebCore::FloatRect"
     539    def __init__(self, valobj, dict):
     540        self.valobj = valobj
     541
     542    def get_x(self):
     543        return WebCoreFloatPointProvider(self.valobj.GetChildMemberWithName('m_location'), dict).get_x()
     544
     545    def get_y(self):
     546        return WebCoreFloatPointProvider(self.valobj.GetChildMemberWithName('m_location'), dict).get_y()
     547
     548    def get_width(self):
     549        return WebCoreFloatSizeProvider(self.valobj.GetChildMemberWithName('m_size'), dict).get_width()
     550
     551    def get_height(self):
     552        return WebCoreFloatSizeProvider(self.valobj.GetChildMemberWithName('m_size'), dict).get_height()
    402553
    403554
Note: See TracChangeset for help on using the changeset viewer.