Also try harder to get text content

This commit is contained in:
Florian Bruhin 2017-04-28 19:11:02 +02:00
parent 76ec465f67
commit 421aa0d319
3 changed files with 24 additions and 3 deletions

View File

@ -50,7 +50,6 @@ window._qutebrowser.webelem = (function() {
var out = {
"id": id,
"text": elem.text,
"value": elem.value,
"outer_xml": elem.outerHTML,
"rects": [], // Gets filled up later
@ -72,6 +71,12 @@ window._qutebrowser.webelem = (function() {
out.class_name = "";
}
if (typeof elem.textContent === "string") {
out.text = elem.textContent;
} else if (typeof elem.text === "string") {
out.text = elem.text;
} // else: don't add the text at all
var attributes = {};
for (var i = 0; i < elem.attributes.length; ++i) {
var attr = elem.attributes[i];

View File

@ -1,11 +1,21 @@
<html>
<!-- https://github.com/qutebrowser/qutebrowser/issues/2569 -->
<head>
<title>Form with tagName child</title>
</head>
<body>
<form id="theform">
<!--
Happens with the tag editor on linux.org.ru
https://www.linux.org.ru/user-filter
-->
<form id="tagnameform">
<input name="tagName" type="text">
</form>
<!-- Happens when clicking to the right of a reddit comment form -->
<form id="textform">
<input name="text" type="text">
</form>
<!-- Some regressions after we added type checking -->
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="20" viewBox="0 0 3 2" id="icon">
<rect width="1" height="2" x="0" fill="#008d46" />
<rect width="1" height="2" x="1" fill="#ffffff" />

View File

@ -79,7 +79,13 @@ Feature: Javascript stuff
# https://github.com/qutebrowser/qutebrowser/issues/2569
Scenario: Clicking on form element with tagName child
When I open data/issue2569.html
And I run :click-element id theform
And I run :click-element id tagnameform
And I wait for "Sending fake click to *" in the log
Then no crash should happen
Scenario: Clicking on form element with text child
When I open data/issue2569.html
And I run :click-element id textform
And I wait for "Sending fake click to *" in the log
Then no crash should happen