Closed Bug 300786 Opened 19 years ago Closed 19 years ago

Flash Player loaded via ActiveX Plug-in handles click only once.

Categories

(Core Graveyard :: Embedding: ActiveX Wrapper, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: emk, Assigned: emk)

References

()

Details

Attachments

(1 obsolete file)

Reproducible: Always

Steps to Reproduce:
1. Install Mozilla ActiveX Plug-in.
2. Add the following line into your activex.js to allow Flash Player:
pref("capability.policy.default.ClassID.CIDD27CDB6E-AE6D-11CF-96B8-444553540000",
"AllAccess");
3. Navigate to http://www.oersted.co.jp/~emk/2005/07/15/
4. If tabs are not displayed, return to step 1 and recheck your configuration.
5. Click one tab (e.g. "Firefox") to select.
6. Click another tab (e.g. "Thunderbird") before click other place.

Actual Results:
"Thunderbird" tab is not selected.

Expected Results:
"Thunderbird" tab should be selected.
If you click non-flash area between step 5 and step 6,  you can change tab
selection one more time.
If you are using Netscape Plug-in version of Flash Player, everything works as
expected. Netscape Plug-in version is here:
http://www.oersted.co.jp/~emk/2005/07/15/index_ns.html
Here's the cause:
1. Click Flash ActiveX control.
2. Flash ActiveX control got focus.
3. Click one more time.
4. Native window associated with nsObjectFrame will receive WM_MOUSEACTIVATE.
5. WM_MOUSEACTIVATE handler dispatches the NS_PLUGIN_ACTIVATE event.
6. nsObjectFrame handles the NS_PLUGIN_ACTIVATE event to call content->SetFocus().
7. nsEventStateManager::SendFocusBlur() calls widget->SetFocus().
8. nsWindow::SetFocus() in turn calls native ::SetFocus(), but focused window is
different from ActiveX control's one.
9. ActiveX control's window will receive WS_KILLFOCUS.
10. Flash control seems to give up tracking mouse click.

If you are using Netscape Plug-in version, NS_PLUGIN_ACTIVATE is not dispatched
because Flash Plug-in handles WM_MOUSEACTIVATE on its own.
Attached patch Patch rv1.0 (obsolete) — Splinter Review
Handling WM_MOUSEACTIVATE to suppress NS_PLUGIN_ACTIVATE on nsObjectFrame
Attachment #189322 - Flags: review?(bzbarsky)
Status: NEW → ASSIGNED
Comment on attachment 189322 [details] [diff] [review]
Patch rv1.0

I'm sorry, but I can't review this patch.  I'm not the module owner for this
code, and I have no idea what either the core or the patch is doing...
Attachment #189322 - Flags: review?(bzbarsky) → review?(adamlock)
Comment on attachment 189322 [details] [diff] [review]
Patch rv1.0

This patch no longer works due to fix for bug 306209.
We need another approach to solve the prolem.
Attachment #189322 - Attachment is obsolete: true
Attachment #189322 - Flags: review?(adamlock)
My patch for bug-org 323142 also fixed this.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: