What is happening here is that as Firefox is starting, something
initializes nsIOService before libdbusservice.so has registered
nsNetworkManagerListener. Because there is no compreg.dat at this state,
nothing provides NS_NETWORK_LINK_SERVICE_CONTRACTID at the point that
this code section is executed in nsIOService::Init
// go into managed mode if we can
mNetworkLinkService = do_GetService(NS_NETWORK_LINK_SERVICE_CONTRACTID);
if (!mNetworkLinkService)
mManageOfflineStatus = PR_FALSE;
if (mManageOfflineStatus)
TrackNetworkLinkStatusForOffline();
So, from this point, Firefox does no tracking of the network
connectivity and nsIOService::GetOffline always returns FALSE (which is
what ubufox is using to get the network status).
When you run Firefox for a second time, calling
do_GetService(NS_NETWORK_LINK_SERVICE_CONTRACTID); from
nsIOService::Init triggers loading of libdbusservice.so and automatic
registration of nsNetworkManagerListener, because it exists in
compreg.dat from the previous run
XPCOM component registration has changed quite a lot in Firefox 4.0, so
I suspect this might not be an issue there.
This isn't going to be fixed in Firefox 3.6.
** Changed in: firefox (Ubuntu)
Importance: High => Low
** Changed in: firefox (Ubuntu)
Assignee: Chris Coulson (chrisccoulson) => (unassigned)
--
[Lucid Beta2] nrf-003 testcase failed Default "Welcome to Ubuntu" page doesn't
appear without connectivity
https://bugs.launchpad.net/bugs/557640
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs