Bug 133371 - Element.isContentEditable should return true in hidden elements
Summary: Element.isContentEditable should return true in hidden elements
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: HTML Editing (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-29 00:47 PDT by Piotrek Koszuliński (Reinmar)
Modified: 2014-06-06 14:03 PDT (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Piotrek Koszuliński (Reinmar) 2014-05-29 00:47:59 PDT
Identical issue was reported for Blink: https://code.google.com/p/chromium/issues/detail?id=313082
It was confirmed after Anne van Kesteren commented that spec does not suggest that isContentEditable depends on synchronous style resolution.

> Example URL:
> http://jsfiddle.net/kNNzK/5/
> 
> Steps to reproduce the problem:
> 1. Create a hidden element
> 2. Add a child element with contenteditable="true"
> 3. Query child element isContentEditable
> 
> What is the expected behavior?
> Return true
> 
> What went wrong?
> Returned false

Reproduced it on Safari 7.0.3.
Comment 1 Piotrek Koszuliński (Reinmar) 2014-05-29 00:48:25 PDT
This issue causes CKEditor to initialize in read only mode if initialization happened in hidden container. This is a common case for SPAs.

Of course it can be workaround by getAttribute('contenteditable') and DOM traversing, but it's hard to control whether editor is visible when reading isContentEditable. And switching to deoptimised version is not good option, because we use this check very often.

Related ticket: http://dev.ckeditor.com/ticket/9814
Comment 2 cyndi 2014-06-04 07:34:23 PDT
checked on WebKit-EFL, can't repro this issue.
Comment 3 Ryosuke Niwa 2014-06-06 02:22:16 PDT
Doesn't reproduce on the latest nightly builds of WebKit either. It's probably fixed by http://trac.webkit.org/changeset/160966.
Comment 4 Piotrek Koszuliński (Reinmar) 2014-06-06 11:13:43 PDT
In which version of Safari that commit will be included? I can still reproduce this issue on Safari 7.0.4.
Comment 5 Alexey Proskuryakov 2014-06-06 11:40:36 PDT
Please test with a nightly build from <http://nightly.webkit.org>. We never discuss future Apple releases.
Comment 6 Ryosuke Niwa 2014-06-06 14:03:47 PDT
Confirmed that this bug has been fixed by r160966.