.lldbinit
author Masayuki Nakano <masayuki@d-toybox.com>
Fri, 29 Jul 2016 13:29:45 +0900
changeset 394879 43eb79cff14baebb79ef8bc02df57b544d876534
parent 338031 070e28f591b68baa2faf93c69b7f191ead4a6f02
child 419890 aec6046af2696e651f00616071772b77ba5fae9f
child 583708 726220b317d57f05c9f04ef9dedf63656ebe7958
permissions -rw-r--r--
Bug 1286464 part.17 ContentEventHandler::OnQueryTextRect() should compute a line breaker's rect from the last text frame if the queried range starts with a block frame r?smaug When queried range starts with a block frame, we cannot compute proper line breaker's rect at its open tag only with the frame's rect because the proper rect should be at the end of previous text frame. Therefore, this patch makes SetRangeFromFlatTextOffset() return the last text node found at scanning the range. Then, OnQueryTextRect() can compute the first line breaker's rect with it (if there is at least one text node). However, if the last text node is hidden by CSS or something, this patch won't work. We need to do something in another bug for hidden frame's issue, though. But note that IME typically doesn't request hidden text's rect because neither selection nor composition string is in such range. MozReview-Commit-ID: 2FFzNoubJ1y

# .lldbinit file for debugging Mozilla

# -----------------------------------------------------------------------------
# For documentation on all of the commands and type summaries defined here
# and in the accompanying Python scripts, see python/lldbutils/README.txt.
# -----------------------------------------------------------------------------

# Import the module that defines complex Gecko debugging commands.  This assumes
# you are either running lldb from the top level source directory, the objdir,
# or the dist/bin directory.  (.lldbinit files in the objdir and dist/bin set
# topsrcdir appropriately.)
script topsrcdir = topsrcdir if locals().has_key("topsrcdir") else os.getcwd(); sys.path.append(os.path.join(topsrcdir, "python/lldbutils")); import lldbutils; lldbutils.init()

# Mozilla's use of UNIFIED_SOURCES to include multiple source files into a
# single compiled file breaks lldb breakpoint setting. This works around that.
# See http://lldb.llvm.org/troubleshooting.html for more info.
settings set target.inline-breakpoint-strategy always

# Show the dynamic type of an object when using "expr".  This, for example,
# will show a variable declared as "nsIFrame *" that points to an nsBlockFrame
# object as being of type "nsBlockFrame *" rather than "nsIFrame *".
settings set target.prefer-dynamic-value run-target

# Show the string value in atoms.
type summary add nsIAtom --summary-string "${var.mString}"

# Show the value of text nodes.
type summary add nsTextNode --summary-string "${var.mText}"

# Dump the current JS stack.
command alias js expr DumpJSStack()