diff --git a/qutebrowser/browser/commands.py b/qutebrowser/browser/commands.py index 952e35d4e..b856b7717 100644 --- a/qutebrowser/browser/commands.py +++ b/qutebrowser/browser/commands.py @@ -737,7 +737,11 @@ class CommandDispatcher: if elem.isNull(): raise CommandError("Element vanished while editing!") if webelem.is_content_editable(elem): + log.misc.debug("Filling element {} via setPlainText.".format( + webelem.debug_text(elem))) elem.setPlainText(text) else: + log.misc.debug("Filling element {} via javascript.".format( + webelem.debug_text(elem))) text = webelem.javascript_escape(text) elem.evaluateJavaScript("this.value='{}'".format(text)) diff --git a/qutebrowser/utils/webelem.py b/qutebrowser/utils/webelem.py index ffe10885d..15163b7de 100644 --- a/qutebrowser/utils/webelem.py +++ b/qutebrowser/utils/webelem.py @@ -249,7 +249,7 @@ def is_editable(elem, strict=False): # pylint: disable=too-many-return-statements roles = ('combobox', 'textbox') log.misc.debug("Checking if element is editable: {}".format( - compact_text(elem.toOuterXml(), 500))) + debug_text(elem))) tag = elem.tagName().lower() if is_content_editable(elem) and is_writable(elem): return True @@ -279,3 +279,8 @@ def focus_elem(frame): frame: The QWebFrame to search in. """ return frame.findFirstElement(SELECTORS[Group.focus]) + + +def debug_text(elem): + """Get a text based on an element suitable for debug output.""" + return compact_text(elem.toOuterXml(), 500)