Closed Bug 482741 Opened 16 years ago Closed 15 years ago

[WinMo] Fennec doesn't always show up in the Task Manager

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Windows Mobile 6 Standard
defect
Not set
normal

Tracking

(fennec1.0-)

RESOLVED WONTFIX
Tracking Status
fennec 1.0- ---

People

(Reporter: dougt, Unassigned)

Details

(Keywords: mobile, Whiteboard: mothballed)

In the upper right hand corner on a windows mobile device, there is a drop down menu that lists the running applications. This is a convenient way for a user to task switch. For some reason Fennec doesn't always appear in this menu.
tracking-fennec: --- → ?
tracking-fennec: ? → 1.0b1-wm+
Keywords: mobile
QA Contact: general → wolfe
Hardware: x86 → ARM
Assignee: nobody → wolfe
QA Contact: wolfe → general
Turns out that this task manager is a HTC extension to the shell.
Most Task Managers use the following criterion to know what applications to show. An application always has at least one WS_POPUP window with a caption (GetWindowTextW/SetWindowTextW for WinMobile) that is not blank. As xulrunner is set up right now (widget/src/windows/nsWindow.cpp, in the nsWindow::WindowStyle() member function, a eWindowType_toplevel window does NOT have the WS_POPUP style set -- so Task Managers will not find any xulrunner.exe created window in their searches. However, it seems that HTC has hooked some of the OS calls to enhance the operation of their Task Managers. Specifically, it seems that a OS call into SetForegroundWindow() cause the HTC Touch Pro device to "add" the calling application's window into their Task Manager's list of applications/windows. This causes the HTC Touch Pro Task Manager to sometimes see the "Fennec - fennec" xulrunner.exe's main window. At least, to see that main window until the Task Manager goes and updates its own internal list of applications. At which time the "Fennec - fennec" xulrunner.exe window will be removed, since that window does NOT have a WS_POPUP style. Solution? I am giving a try to adding a WS_POPUP style to eWindowType_toplevel windows under WINCE compiles.
Further investigation shows that the HTC Task Switching software available from the Today Screen in the HTC Touch Pro is somewhat random in deciding whether or not to display the "Fennec - fennec" xulrunner.exe application. My current theory is that this randomness is caused by a timeout in the enumwindows operation within the Task Switching software. So, when it takes a while for enumeration of all the top level windows, then applications are not displayed. This non-display of some applications appears to be the tradeoff in displaying what results you do have - displaying those results as quickly as possible to the user. Using the DotFred Task Manager (URL: http://www.dotfred.net/TaskMgr.htm) on the HTC Touch Pro devices consistently shows the "Fennec - fennec" xulrunner.exe application window. But the DotFred Task Manager also takes a large number of seconds (~20 seconds) in order to display all the available applications. Finally, I wrote a simple test program to do an enumwindows function call and list (in a simple multi-line edit box) the results. That simple test program takes a large number of seconds (~15 seconds) in order to complete a single enumeration sequence of top-level windows. There are A LOT of top-level windows in the HTC Touch Pro's Windows Mobile 6 Professional device! So, I believe that this issue is two-part: (1) The XULrunner.exe top-level windows need to be marked as WS_POPUP, and (2) The Task Switcher provided by HTC in their HTC Touch Pro device is not a reliable way to switch between applications, especially when the device gets busy or under a large load.
I notice that we normally use WS_OVERLAPPED for toplevel and hidden windows, except on windows mobile because WS_OVERLAPPED provides space for a menu bar in the window, which we don't want. We probably _do_ want to use WS_POPUP for windows mobile.
i tried WS_POPUP for our toplevelwindow. two problems: interacting with the browser no longer worked (mouse events were not being received by the DOM). I looked around a bit, but really didn't understand the need for a WS_POPUP style on the toplevel. The second, and more important problem, even though we were marking our toplevelwindow as WS_POPUP, we continued not showing up in the HTC Task switcher.
No longer depends on: 487174
Assignee: wolfe → doug.turner
tracking-fennec: 1.0b1-wm+ → ?
tracking-fennec: ? → 1.0-
Summary: Fennec doesn't always show up in the Task Manager → [WinMo] Fennec doesn't always show up in the Task Manager
Assignee: dougt → nobody
This year we mothballed windows mobile development. See: http://blog.pavlov.net/2010/03/22/stopping-development-for-windows-mobile/ Marking bugs in the windows mobile / windows ce bucket as WONTFIX.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WONTFIX
Whiteboard: mothballed
You need to log in before you can comment on or make changes to this bug.