Pretty print LayoutUnit, LayoutPoint, and LayoutSize in lldb and gdb.
https://bugs.webkit.org/show_bug.cgi?id=126080

Reviewed by Sam Weinig.

This changes the output of printing LayoutUnits to be in px but it also
preserves the original LayoutUnit value.

This will lead to lldb output like: (and it works even when subpixel is disabled)

(const WebCore::LayoutRect) $0 = {
    m_location = { x = 2.25px (144), y = 1px (64)}
    m_size = { width = 13.75px (880), height = 20px (1280) }

And gdb output like:

m_frameRect = {
    m_location = LayoutPoint(0px (0), 0px(0)),
    m_size = LayoutSize(8px (512), 5px (320))
}

This patch is based on patch by bjonesbe@adobe.com and for Blink by cbiesinger@chromium.org.

* gdb/webkit.py:
(WebCoreLayoutUnitPrinter):
(WebCoreLayoutUnitPrinter.__init__):
(WebCoreLayoutUnitPrinter.to_string):
(WebCoreLayoutSizePrinter):
(WebCoreLayoutSizePrinter.__init__):
(WebCoreLayoutSizePrinter.to_string):
(WebCoreLayoutPointPrinter):
(WebCoreLayoutPointPrinter.__init__):
(WebCoreLayoutPointPrinter.to_string):
(add_pretty_printers):
* lldb/lldb_webkit.py:
(__lldb_init_module):
(WebCoreLayoutUnit_SummaryProvider):
(WebCoreLayoutSize_SummaryProvider):
(WebCoreLayoutPoint_SummaryProvider):
(WebCoreLayoutUnitProvider):
(WebCoreLayoutUnitProvider.__init__):
(WebCoreLayoutUnitProvider.to_string):
(WebCoreLayoutSizeProvider):
(WebCoreLayoutSizeProvider.__init__):
(WebCoreLayoutSizeProvider.get_width):
(WebCoreLayoutSizeProvider.get_height):
(WebCoreLayoutPointProvider):
(WebCoreLayoutPointProvider.__init__):
(WebCoreLayoutPointProvider.get_x):
(WebCoreLayoutPointProvider.get_y):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162297 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix after r162293

Fix debug build.

[ 13%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/html/parser/HTMLTreeBuilder.cpp.o
/source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp: In member function ‘void WebCore::HTMLTreeBuilder::processStartTagForInTable(WebCore::AtomicHTMLToken*)’:
/source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: error: no match for ‘operator!’ in ‘!(WebCore::HTMLTreeBuilder::InsertionMode)12’
/source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: candidate is:
/source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: operator!(bool) <built-in>
/source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note:   no known conversion for argument 1 from ‘WebCore::HTMLTreeBuilder::InsertionMode’ to ‘bool’
make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/html/parser/HTMLTreeBuilder.cpp.o] Error 1
make[1]: *** [Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2
make: *** [all] Error 2

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInTable): Fix ASSERT.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162298 268f45cc-cd09-0410-ab3c-d52691b4dbfc