Closed
Bug 656749
Opened 13 years ago
Closed 13 years ago
If Opacity is set to zero SWF Objects will not respond to click handler events
Categories
(Core Graveyard :: Plug-ins, defect)
Core Graveyard
Plug-ins
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla6
People
(Reporter: cory, Assigned: roc)
References
()
Details
Attachments
(1 file, 1 obsolete file)
3.04 KB,
patch
|
tnikkel
:
review+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 FirePHP/0.5 Build Identifier: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 FirePHP/0.5 Firefox Version : 4.0, 4.0.1 OS Version: OS X 10.6.7 URLs (if applicable) : http://kinzin.com/misc/upload_test Other browsers tested: Add OK or FAIL after other browsers where you have tested this issue: Safari 5: PASS Chrome 10: PASS IE 8 : PASS Firefox 3.6.3: PASS Issue: <object> tags loading a SWF object will fail to respond to click events if the opacity is set to zero. Behavior has changed between Firefox versions, this does not occur in FF 3.6.3. A workaround is to set the opacity to almost zero (0.001). Please see http://kinzin.com/misc/upload_test for code and test cases. Sample code: <style> .target{ padding:10px; border: 1px solid red; } .opacity-zero{ opacity:0; } .opacity-almostzero{ opacity:0.01; } </style> <div class="target"> <object width="100%" height="24" data="/javascripts/lib/swfupload/Flash/swfupload.swf" class="opacity-zero" id="SWFUpload_0"></object> </div> <div>Click Below - With Opacity 0.01</div> <div class="target"> <object width="100%" height="24" data="/javascripts/lib/swfupload/Flash/swfupload.swf" class="opacity-almostzero" id="SWFUpload_1"> </object> </div> Reproducible: Always Steps to Reproduce: 1. Load <object> with SWF 2. Set opacity to 0 3. No longer responds to click events Actual Results: Nothing Expected Results: Would expect <object> to respond to click events. Tested on OSX 10.6.7 and XP SP2
Updated•13 years ago
|
Component: DOM: Core & HTML → Plug-ins
QA Contact: general → plugins
Comment 1•13 years ago
|
||
Maybe this is intentional behavior by Bug 519144 .
Assignee | ||
Comment 2•13 years ago
|
||
No, opacity:0 elements should get events.
Comment 3•13 years ago
|
||
OK Regression window: Works: http://hg.mozilla.org/mozilla-central/rev/5f0bd7129549 Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.3a1pre) Gecko/20091026 Minefield/3.7a1pre ID:20091026045849 Fails: http://hg.mozilla.org/mozilla-central/rev/2e01e97f9ded Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.3a1pre) Gecko/20091027 Minefield/3.7a1pre ID:20091027043823 Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=5f0bd7129549&tochange=2e01e97f9ded Suspected bug: cset 27c92be3d840 of Bug 519144.
Comment 4•13 years ago
|
||
Possible, but that patch _is_ checking IsForEventDelivery()...
Blocks: 519144
Comment 5•13 years ago
|
||
Perhaps we hid the plugin and/or its widget and so it doesn't get any events because of that?
Assignee | ||
Comment 6•13 years ago
|
||
We hide its widget, I bet that's why it doesn't get mouse clicks. I guess where we check IsForEventDelivery we should actually check !IsForPainting.
Assignee | ||
Comment 7•13 years ago
|
||
Attachment #532587 -
Flags: review?(tnikkel)
Updated•13 years ago
|
Attachment #532587 -
Flags: review?(tnikkel) → review+
Assignee | ||
Updated•13 years ago
|
Whiteboard: [needs landing]
Comment 8•13 years ago
|
||
Roc pushed this patch on cedar and it has been backed out because it's suspected of creating a perma-orange on Windows Mochitest-4: http://tinderbox.mozilla.org/showlog.cgi?log=Cedar/1305628182.1305628854.5624.gz&fulltext=1
Assignee: nobody → roc
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
OS: Mac OS X → All
Hardware: x86 → All
Version: unspecified → Trunk
Updated•13 years ago
|
Whiteboard: [fails moch-4 on Windows]
Assignee | ||
Comment 10•13 years ago
|
||
So the reason the tests failed is that there is an opacity:0 element covering these test plugins! It's the hidden statuspanel, which apparently has been hidden by making it opacity:0. Dao, any particular reason why you don't make it display:none instead? That would reduce overhead.
Assignee | ||
Comment 11•13 years ago
|
||
Ensure opacity:0 chrome elements are not treated as opaque when computing plugin visibility (change to TreatAsOpaque). Note that plugins in opacity:0 chrome elements would still work for accepting events, if anyone was crazy enough to want to do that. Passes the tests that failed previously.
Attachment #532587 -
Attachment is obsolete: true
Attachment #533541 -
Flags: review?(tnikkel)
Assignee | ||
Updated•13 years ago
|
Whiteboard: [fails moch-4 on Windows]
Comment 12•13 years ago
|
||
(In reply to comment #10) > Dao, any particular reason why you don't make it display:none instead? That > would reduce overhead. display:none isn't being used in order to allow the status panel to fade in (using -moz-transition and opacity).
Assignee | ||
Comment 13•13 years ago
|
||
OK
Comment 14•13 years ago
|
||
Comment on attachment 533541 [details] [diff] [review] fix v2 Looks like the contents of your test file got lost in this patch. You might want to look into that and make sure the test gets in.
Attachment #533541 -
Flags: review?(tnikkel) → review+
Assignee | ||
Comment 16•13 years ago
|
||
http://hg.mozilla.org/projects/cedar/rev/f147a447fff5
Whiteboard: [needs landing] → [fixed-in-cedar]
Assignee | ||
Updated•13 years ago
|
Flags: in-testsuite+
Comment 17•13 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/f147a447fff5
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-cedar]
Target Milestone: --- → mozilla6
Assignee | ||
Comment 18•13 years ago
|
||
I suspect this case is rare enough that we don't need to push the fix into FF5.
Updated•2 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•