Closed
Bug 58701
Opened 24 years ago
Closed 24 years ago
timer events aren't being handled in embedding case.
Categories
(Core Graveyard :: Embedding: APIs, defect, P3)
Tracking
(Not tracked)
VERIFIED
FIXED
mozilla0.8
People
(Reporter: jud, Assigned: adamlock)
References
Details
(Keywords: embed)
Attachments
(2 files)
2.07 KB,
patch
|
Details | Diff | Splinter Review | |
2.07 KB,
patch
|
Details | Diff | Splinter Review |
we're not pumping timer events in embedding. subsequently HTTP meta refresh
isn't working.
Comment 1•24 years ago
|
||
This also happens on gtk. if you try the embedding binary located:
ftp.mozilla.org/pub/mozilla/nightly/2000-11-01-06-Mtrunk/
and try a site which tries a meta refresh, nothing will happen. However, if you
run gtkEmbed from the dist directory, refreshes do happen. I think that this is
because the nsappshell is present in this case.
Comment 2•24 years ago
|
||
Comment 3•24 years ago
|
||
I've just attached a little patch which causes WinEmbed to process low prioroty
timer events in its message Q.
This is *not* a fix for the real problem... Just a band-aid which allows
browser buster to work in WinEmbed.
-- rick
Comment 4•24 years ago
|
||
According to LXR the nsITimerQueue interface is *only* used by Windows (and
OS2). So timers must be processed differently on Linux and Mac :-(
-- rick
Comment 5•24 years ago
|
||
As for the linux dist which is produce part of the daily build, the problem is
that I was missing the timer so. This was once built as a static lib, but now
it is shared. This should be fix in monday's build.
Reporter | ||
Comment 6•24 years ago
|
||
a=valeski on adding the timer.so to the embed manifest.
Reporter | ||
Updated•24 years ago
|
Target Milestone: --- → mozilla0.6
Comment 9•24 years ago
|
||
This is why winEmbed hangs. Apply attached patch to fix & collect data...
Reporter | ||
Comment 10•24 years ago
|
||
This is arguably a blocker.
The problem is that timer events aren't being processed the same way as
"regular" events. IMO, timer events should be the same.
Comment 11•24 years ago
|
||
er, so why is this assigned to me? the problem on linux was that it was missing
the .so. Timer events should be getting processed as part of the gtk main loop
so as long as that is running, there shouldn't be any problem. I have no idea
how timers are handled on other platforms.
Comment 13•24 years ago
|
||
Comment 14•24 years ago
|
||
With the above patch, winEmbed seems to get a bit further, but is also
occasionally hanging while loading pages. I'll break into the debugger next time
that happens and try to figure out what's going on.
Reporter | ||
Comment 15•24 years ago
|
||
r=valeski on the 01/10/01 19:33 patch.
Comment 16•24 years ago
|
||
Hey jud, if I understand correctly, `that patch ain't right'. (See rpotts
comment on 2000-11-01.) Jud, I'm giving this bug back to you because it seems
to be a win32-specific issue, and pavlov isn't going to fix it.
Assignee: pavlov → valeski
Reporter | ||
Comment 17•24 years ago
|
||
understood, but it does start pumping the events for winEmbed (workaround -
which I'll checkin).
No longer depends on: 64992
Comment 18•24 years ago
|
||
jud: you mentioned that this got broken when somebody else `fixed' event
handling...could we get that person on the cc list for this bug? (Or at least
xref with the bug whose fix broke this bug...)
Reporter | ||
Comment 19•24 years ago
|
||
Lowe, you out there?
Comment 20•24 years ago
|
||
cc'ing adam, who just added an NS_HandleEmbeddingEvent() call
Assignee | ||
Comment 21•24 years ago
|
||
Yes, winEmbed now calls NS_DoIdleEmbeddingStuff when its message queue is empty
so it should process timer events.
Give me a URL to try it out on and I'll tell you if it solves this problem or
not. Note that I've only added these methods to Win32 - other platforms are
still waiting for their implementation.
Comment 22•24 years ago
|
||
adam: I was seeing a problem with HTTP <META> refresh. If you can get behind the
firewall, you'll see it at http://btek/cgi-bin/buster.cgi -- the first few URLs
will load, and then it will `stall'.
Assignee | ||
Comment 23•24 years ago
|
||
winEmbed now appears to work fine with this URL, loading the pages without
stalling. I think the problem is solved so marking this fixed. Reopen if you
think it isn't.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 24•24 years ago
|
||
Reopening this bug for the time being and reassigning to me.
I have a patch for the 100% CPU issue in the latest winEmbed and I want to be
sure it still fixes stalled timers.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 25•24 years ago
|
||
Reassign
Assignee: valeski → adamlock
Status: REOPENED → NEW
Target Milestone: mozilla0.6 → mozilla0.8
Status: NEW → RESOLVED
Closed: 24 years ago → 24 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 26•24 years ago
|
||
Fix for 100% CPU usage has gone in. Marking fixed again
Comment 27•24 years ago
|
||
Correction: Changing QA contact for the Embed API bugs to David Epstein.
QA Contact: mdunn → depstein
Comment 28•23 years ago
|
||
David, try using this URL to verify
<http://www.maubi.net/cgi-bin/buster.cgi>
Comment 29•23 years ago
|
||
Thanks Chris. I tried this "Browser Buster II" url out in the debuggable
20010820 build. Since winEmbed hasn't been supported in awhile (was getting a
lot of asserts), I used mfcEmbed. cc'ing Chak to find out if mfcEmbed is fully
supporting timer events. NS_DoIdleEmbeddingStuff() is used in mfcEmbed, but
didn't see NS_HandleEmbeddingEvent().
This url cycles through about 10-15 web sites, visiting each site for 20-30
seconds. The last url is at American Airlines. In mfcEmbed, only got one assert
at www.onlinecreditnow.com (it's happening in nsFocusController.cpp, which I
think there's an open bug for).
In the 6.1 mozilla trunk build 20010830, it stopped on the onlinecreditnow.com
window. After closing it, it finished with American Airlines. Is this supposed
to be the last url of this script?! It displays "500.list" in the top display
area, so I thought maybe there are 500 urls to load.
So it appears that the timer events are working except for this one glitch where
it stopped loading. I won't verify this unless we're OK with these results.
Comment 30•23 years ago
|
||
verifying. the "glitch" above is probably a windowing issue and isn't related to
timing.
Status: RESOLVED → VERIFIED
Updated•6 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•