}
function is_display_block (el) {
- if (el.currentStyle != null) {
- return el.currentStyle.display === 'block'
- } else {
+ if (el.nodeType === 1) {
return window.getComputedStyle(el, null).getPropertyValue('display') === 'block'
}
+ return false
}
// Pass return value from dom event handlers to this.
break
case 'tag':
if (c.name === 'script' || c.name === 'object' || c.name === 'iframe' || c.name === 'link') {
- // TODO put placeholders instead
- remove.unshift(i) // add to beginning so they are removed last first
+ // TODO make some placeholders visible
+ // problematic to have different type than c: c.el = parent.ownerDocument.createComment(c.name + ' tag here')
+ c.el = parent.ownerDocument.createElement(c.name)
+ // correct type, but empty and no attributes
continue
}
if (c.namespace === 'svg') {
}
}
}
- // these are in reverse order so we remove highest indexes first
- for (i = 0; i < remove.length; i++) {
- index = remove[i]
- tree.splice(index, 1)
- }
}
function traverse_tree (tree, cb) {
if (block) {
cb(null)
}
- if (n.children.length > 0) {
+ if (n.children.length > 0 && plaintext_elements[n.name] == null) {
iterate(n.children, cb)
}
if (block) {
is_br = true
}
is_text = false
- if (n.el.currentStyle != null) {
- cs = n.el.currentStyle
- whitespace = cs['white-space']
- display = cs['display']
- position = cs['position']
- float = cs['float']
- visibility = cs['visibility']
- } else {
- cs = this.iframe.contentWindow.getComputedStyle(n.el, null)
- whitespace = cs.getPropertyValue('white-space')
- display = cs.getPropertyValue('display')
- position = cs.getPropertyValue('position')
- float = cs.getPropertyValue('float')
- visibility = cs.getPropertyValue('visibility')
- }
+ cs = this.iframe.contentWindow.getComputedStyle(n.el, null)
+ whitespace = cs.getPropertyValue('white-space')
+ display = cs.getPropertyValue('display')
+ position = cs.getPropertyValue('position')
+ float = cs.getPropertyValue('float')
+ visibility = cs.getPropertyValue('visibility')
if (n.name === 'textarea') {
inner_flags.pre_ish = true
} else {