Closed
Bug 1035749
Opened 11 years ago
Closed 5 years ago
Permission denied error thrown when accessing selection.anchorNode.nodeType next to CSS generated text
Categories
(Core :: DOM: Selection, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: pkoszulinski, Unassigned)
Details
(Keywords: testcase)
Attachments
(1 file)
897 bytes,
text/html
|
Details |
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36
Steps to reproduce:
1. Open attached sample.
2. Focus editable element.
3. Press end to move caret after the CSS generated "[foo]" text.
4. Slowly press left arrow few times. Observe console.
This issue was reported on CKEditor's bug tracker: http://dev.ckeditor.com/ticket/12179
Actual results:
Permission denied error is logged:
Error: Permission denied to access property 'nodeType'
Expected results:
It's not entirely clear what should happen with CSS generated text in contenteditable. I think that there are 3 possible solutions:
1. Selection should never be anchored in CSS generated text node - it should behave as unselectable fragment.
2. CSS generated content should not work in contenteditable at all.
3. Error should not be thrown and node should be accessible. Though, I guess that CSS generated text node has no representation in real DOM.
Personally I would say that solution 1. makes most sense.
Comment 1•11 years ago
|
||
See also: bug 12460.
Status: UNCONFIRMED → NEW
Component: Untriaged → Selection
Ever confirmed: true
Keywords: testcase
OS: Mac OS X → All
Product: Firefox → Core
Hardware: x86 → All
Comment 2•8 years ago
|
||
This is definitely a liability -- doing something entirely reasonable like reading properties from a (non-null) `selection.anchorNode` will crash your program. We ran into this with ProseMirror as well (https://github.com/ProseMirror/prosemirror/issues/678).
Piotrek's third suggestion (return undefined instead of erroring when such a property is accessed) would, I believe, be a relatively easy fix and make this corner case much less problematic.
Comment 3•5 years ago
|
||
This has been fixed, Gecko no longer puts the caret after CSS generated text.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•