Closed
Bug 765780
Opened 12 years ago
Closed 12 years ago
Enable plugins and javascript in designMode
Categories
(Core :: DOM: Editor, defect)
Tracking
()
RESOLVED
FIXED
mozilla23
People
(Reporter: sam, Assigned: bzbarsky)
References
()
Details
(Keywords: testcase)
Attachments
(3 files)
(deleted),
text/html
|
Details | |
(deleted),
patch
|
ehsan.akhgari
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
ehsan.akhgari
:
review+
|
Details | Diff | Splinter Review |
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1
Build ID: 20120614114901
Steps to reproduce:
Reduction here: http://jsfiddle.net/samuelcole/6Te5C/5/
Actual results:
No Flash object appears
Expected results:
The Flash object appears.
Reporter | ||
Updated•12 years ago
|
Comment 1•12 years ago
|
||
Confirmed against Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/16.0 Firefox/16.0 ID:20120627030527 and Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19 ID:2010031422 (i.e. it never worked).
Scrolling gives you a black Rectangle.
If you disable Design Mode (doc.designMode = "on"; -> doc.designMode = "off";) there's no Issue.
Status: UNCONFIRMED → NEW
Component: Untriaged → Editor
Ever confirmed: true
Keywords: testcase
OS: Mac OS X → All
Product: Firefox → Core
QA Contact: untriaged → editor
Version: 13 Branch → Trunk
Comment 2•12 years ago
|
||
Comment 3•12 years ago
|
||
This happens because we disallow plugins and js in design mode.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
Comment 4•12 years ago
|
||
Oh, actually I shouldn't have marked it as a dupe. We have discussed why js and plugins are disabled in bug 519928 in length. Short story is that some people want them disabled, others want them enabled.
Aryeh, what's your opinion about this?
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Reporter | ||
Comment 5•12 years ago
|
||
For the record, you *do* allow plugins in contentEditable=true elements. Just saying...
Comment 6•12 years ago
|
||
(In reply to Samuel Cole from comment #5)
> For the record, you *do* allow plugins in contentEditable=true elements.
> Just saying...
Yes, that's true (and ironic!). The current behavior was decided on a long time ago by basically copying what IE did.
Comment 7•12 years ago
|
||
I summarized my thoughts on this a year or so ago on public-html in response to a question by Boris:
http://lists.w3.org/Archives/Public/public-html/2011Jun/0462.html
http://lists.w3.org/Archives/Public/public-html/2011Jul/0069.html
Basically, I don't get why script or plugins were ever disabled in designMode.
The web use-cases I've seen have been exclusively ones in which the content is written from the start with the intent to be editable -- blog/forum posts, e-mail, etc. No built-in browser features will insert any scripting in this case. If there's anything that runs script, it was added deliberately by whatever code was doing the editing. So why would you not run it? If the editing code didn't want it to be run, they didn't have to add it. If they want to allow the user to insert script that will only run when the page is actually viewed, it's trivial to use classes or data attributes or whatnot, add the actual scripts onsubmit or on display, and remove them before the content is loaded.
This is as distinct from the Composer use-case, namely "edit an existing arbitrary webpage". But this use-case is *much* more marginal than writing a blog post or e-mail, and I'm not specifically aware of any web-based tools designed for it. (Composer should be able to turn off scripting directly if it wants using privileged APIs, it doesn't need to rely on web features like designMode.) Moreover, as Ojan has pointed out, you can use sandboxed iframes to emulate the effect if you want it. Not all browsers support them, but not all browsers support not running script in designMode, either. And once *we* support sandboxed iframes, we can always tell authors to just sandbox the iframe -- then they'll work in old Firefox because it didn't run script in designMode at all, and also new Firefox because of the sandbox.
I've skimmed bug 519928 and I don't see anything to change my mind. WebKit proves this shouldn't break too many sites. If authors want to be able to disable script in editable iframes, we could block on bug 341604 (iframe sandbox).
Comment 8•12 years ago
|
||
In the past people have been worrying about pasted content running plugins and scripts (which I _think_ why IE blocks these) but we've since fixed that by sanitizing the pasted content.
It makes sense for us to wait for bug 341604 here.
Depends on: framesandbox
Summary: Flash objects within <figure> in designMode, do not appear → Enable plugins and javascript in designMode
Comment 9•12 years ago
|
||
(In reply to Ehsan Akhgari [:ehsan] from comment #8)
> In the past people have been worrying about pasted content running plugins
> and scripts (which I _think_ why IE blocks these) but we've since fixed that
> by sanitizing the pasted content.
>
> It makes sense for us to wait for bug 341604 here.
just a note that the HTML 5 spec for iframe sandbox specifies plugins must always be disabled in an sandboxed iframe (unless the plugin is 'securable', see the spec for more details, but AFAIK the most popular plugins don't qualify currently) - there is no 'allow-plugins' keyword, as there is an 'allow-scripts' to opt back into executing scripts.
Comment 10•12 years ago
|
||
That's only a problem if someone wants 1) a page to be editable, 2) but with no scripts running, 3) but *with* plugins. Is that realistic? Especially given that plugins are rapidly declining in popularity?
Comment 11•12 years ago
|
||
That's a very hard question to answer without making possibly flaky assumptions...
Reporter | ||
Comment 12•12 years ago
|
||
Personally, my use case is that we allow people to embed youtube videos, etc. into our editor. It's nice to allow them to watch the videos (and just see the embeds) directly in the editor.
I have since switched to contentEditable (I wanted those embeds not to be editable anyways, so contentEditable is the correct fit for that case).
Comment 14•12 years ago
|
||
This came up in bug 827035, and bz filed a bug for spec clarification:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=20579
Assignee | ||
Comment 16•12 years ago
|
||
Attachment #734186 -
Flags: review?(ehsan)
Assignee | ||
Updated•12 years ago
|
Assignee: nobody → bzbarsky
Assignee | ||
Comment 17•12 years ago
|
||
Attachment #734187 -
Flags: review?(ehsan)
Assignee | ||
Comment 18•12 years ago
|
||
I don't know whether plug-ins are actually getting enabled, fwiw. But script is. ;)
Whiteboard: [need review]
Updated•12 years ago
|
Attachment #734186 -
Flags: review?(ehsan) → review+
Updated•12 years ago
|
Attachment #734187 -
Attachment description: part 2. Simplify the docshell code that was trying to enable script in subframes of designMode documents. leaving the editing session APIs for enabling/disabling script and finding out whether the editing session has done that, in case someone else is → part 2. Simplify the docshell code that was trying to enable script in subframes of designMode documents. leaving the editing session APIs for enabling/disabling script and finding out whether the editing session has done that, in case someone else is
Attachment #734187 -
Flags: review?(ehsan) → review+
Assignee | ||
Comment 19•12 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/fc80e729a417
https://hg.mozilla.org/integration/mozilla-inbound/rev/fbc229932c90
Flags: in-testsuite+
Whiteboard: [need review]
Target Milestone: --- → mozilla23
Comment 20•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/fc80e729a417
https://hg.mozilla.org/mozilla-central/rev/fbc229932c90
Status: REOPENED → RESOLVED
Closed: 12 years ago → 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•