summaryrefslogtreecommitdiffstats
path: root/xulrunner-2.0-network-link-service.patch
diff options
context:
space:
mode:
Diffstat (limited to 'xulrunner-2.0-network-link-service.patch')
-rw-r--r--xulrunner-2.0-network-link-service.patch274
1 files changed, 0 insertions, 274 deletions
diff --git a/xulrunner-2.0-network-link-service.patch b/xulrunner-2.0-network-link-service.patch
deleted file mode 100644
index b3243a9..0000000
--- a/xulrunner-2.0-network-link-service.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-# HG changeset patch
-# Parent 31879b88cc82c1f44e6a6c25a05aa2c70af22d7e
-# User Martin Stransky <stransky@redhat.com>
-Bug 627672 - XPCOM component (libdbusservice.so) is not registered although it should be; r=cbiesinger
-
-
-
-diff --git a/netwerk/base/src/nsIOService.cpp b/netwerk/base/src/nsIOService.cpp
---- a/netwerk/base/src/nsIOService.cpp
-+++ b/netwerk/base/src/nsIOService.cpp
-@@ -160,31 +160,33 @@ PRInt16 gBadPortList[] = {
- 2049, // nfs
- 4045, // lockd
- 6000, // x11
- 0, // This MUST be zero so that we can populating the array
- };
-
- static const char kProfileChangeNetTeardownTopic[] = "profile-change-net-teardown";
- static const char kProfileChangeNetRestoreTopic[] = "profile-change-net-restore";
-+static const char kStartupTopic[] = "profile-after-change";
-
- // Necko buffer cache
- nsIMemory* nsIOService::gBufferCache = nsnull;
- PRUint32 nsIOService::gDefaultSegmentSize = 4096;
- PRUint32 nsIOService::gDefaultSegmentCount = 24;
-
- ////////////////////////////////////////////////////////////////////////////////
-
- nsIOService::nsIOService()
- : mOffline(PR_TRUE)
- , mOfflineForProfileChange(PR_FALSE)
- , mManageOfflineStatus(PR_TRUE)
- , mSettingOffline(PR_FALSE)
- , mSetOfflineValue(PR_FALSE)
- , mShutdown(PR_FALSE)
-+ , mNetworkLinkServiceInitialized(PR_FALSE)
- , mChannelEventSinks(NS_CHANNEL_EVENT_SINK_CATEGORY)
- , mContentSniffers(NS_CONTENT_SNIFFER_CATEGORY)
- , mAutoDialEnabled(PR_FALSE)
- {
- }
-
- nsresult
- nsIOService::Init()
-@@ -230,16 +232,17 @@ nsIOService::Init()
- }
-
- // Register for profile change notifications
- nsCOMPtr<nsIObserverService> observerService =
- mozilla::services::GetObserverService();
- if (observerService) {
- observerService->AddObserver(this, kProfileChangeNetTeardownTopic, PR_TRUE);
- observerService->AddObserver(this, kProfileChangeNetRestoreTopic, PR_TRUE);
-+ observerService->AddObserver(this, kStartupTopic, PR_TRUE);
- observerService->AddObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID, PR_TRUE);
- observerService->AddObserver(this, NS_NETWORK_LINK_TOPIC, PR_TRUE);
- }
- else
- NS_WARNING("failed to get observer service");
-
- NS_TIME_FUNCTION_MARK("Registered observers");
-
-@@ -258,29 +261,19 @@ nsIOService::Init()
- NS_WARN_IF_FALSE(NS_SUCCEEDED(rv), "Was unable to allocate. No gBufferCache.");
- CallQueryInterface(recyclingAllocator, &gBufferCache);
- }
-
- NS_TIME_FUNCTION_MARK("Set up the recycling allocator");
-
- gIOService = this;
-
-- // go into managed mode if we can, and chrome process
-- if (XRE_GetProcessType() == GeckoProcessType_Default)
-- mNetworkLinkService = do_GetService(NS_NETWORK_LINK_SERVICE_CONTRACTID);
--
-- if (!mNetworkLinkService)
-- // We can't really determine if the machine has a usable network connection,
-- // so let's cross our fingers!
-- mManageOfflineStatus = PR_FALSE;
--
-- if (mManageOfflineStatus)
-- TrackNetworkLinkStatusForOffline();
-- else
-- SetOffline(PR_FALSE);
-+ // We can't really determine if the machine has a usable network connection,
-+ // (mNetworkLinkService will be initialized later) so let's cross our fingers!
-+ SetOffline(PR_FALSE);
-
- NS_TIME_FUNCTION_MARK("Set up network link service");
-
- return NS_OK;
- }
-
-
- nsIOService::~nsIOService()
-@@ -306,16 +299,57 @@ nsIOService::InitializeSocketTransportSe
- rv = mSocketTransportService->Init();
- NS_ASSERTION(NS_SUCCEEDED(rv), "socket transport service init failed");
- mSocketTransportService->SetAutodialEnabled(mAutoDialEnabled);
- }
-
- return rv;
- }
-
-+nsresult
-+nsIOService::InitializeNetworkLinkService()
-+{
-+ NS_TIME_FUNCTION;
-+
-+ nsresult rv = NS_OK;
-+
-+ if (mNetworkLinkServiceInitialized)
-+ return rv;
-+
-+#if defined(MOZ_PLATFORM_MAEMO)
-+ // libdbusservice fails to initialize on Maemo platform, see Bug 627672
-+ mNetworkLinkService = NULL;
-+#else
-+ // go into managed mode if we can, and chrome process
-+ if (XRE_GetProcessType() == GeckoProcessType_Default)
-+ {
-+ mNetworkLinkService = do_GetService(NS_NETWORK_LINK_SERVICE_CONTRACTID, &rv);
-+ if (NS_FAILED(rv)) {
-+ NS_WARNING("failed to get network link service");
-+ return rv;
-+ }
-+ }
-+#endif
-+
-+ mNetworkLinkServiceInitialized = PR_TRUE;
-+
-+ if (!mNetworkLinkService) {
-+ // We can't really determine if the machine has a usable network connection,
-+ // so let's cross our fingers!
-+ mManageOfflineStatus = PR_FALSE;
-+ }
-+
-+ if (mManageOfflineStatus)
-+ TrackNetworkLinkStatusForOffline();
-+ else
-+ SetOffline(PR_FALSE);
-+
-+ return rv;
-+}
-+
- nsIOService*
- nsIOService::GetInstance() {
- if (!gIOService) {
- gIOService = new nsIOService();
- if (!gIOService)
- return nsnull;
- NS_ADDREF(gIOService);
-
-@@ -689,16 +723,19 @@ nsIOService::NewChannel(const nsACString
- if (NS_FAILED(rv)) return rv;
-
- return NewChannelFromURI(uri, result);
- }
-
- PRBool
- nsIOService::IsLinkUp()
- {
-+ NS_ASSERTION(mNetworkLinkServiceInitialized,
-+ "network link service should be initialized");
-+
- if (!mNetworkLinkService) {
- // We cannot decide, assume the link is up
- return PR_TRUE;
- }
-
- PRBool isLinkUp;
- nsresult rv;
- rv = mNetworkLinkService->GetIsLinkUp(&isLinkUp);
-@@ -968,16 +1005,20 @@ nsIOService::Observe(nsISupports *subjec
- if (mOfflineForProfileChange) {
- mOfflineForProfileChange = PR_FALSE;
- if (!mManageOfflineStatus ||
- NS_FAILED(TrackNetworkLinkStatusForOffline())) {
- SetOffline(PR_FALSE);
- }
- }
- }
-+ else if (!strcmp(topic, kStartupTopic)) {
-+ // Lazy initialization of network link service (see bug 620472)
-+ InitializeNetworkLinkService();
-+ }
- else if (!strcmp(topic, NS_XPCOM_SHUTDOWN_OBSERVER_ID)) {
- // Remember we passed XPCOM shutdown notification to prevent any
- // changes of the offline status from now. We must not allow going
- // online after this point.
- mShutdown = PR_TRUE;
-
- SetOffline(PR_TRUE);
-
-@@ -1085,32 +1126,40 @@ nsIOService::NewSimpleNestedURI(nsIURI*
- NS_IF_ADDREF(*aResult = new nsSimpleNestedURI(safeURI));
- return *aResult ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
- }
-
- NS_IMETHODIMP
- nsIOService::SetManageOfflineStatus(PRBool aManage) {
- PRBool wasManaged = mManageOfflineStatus;
- mManageOfflineStatus = aManage;
-+
-+ if (!mNetworkLinkServiceInitialized) {
-+ InitializeNetworkLinkService();
-+ }
-+
- if (mManageOfflineStatus && !wasManaged)
- return TrackNetworkLinkStatusForOffline();
- return NS_OK;
- }
-
- NS_IMETHODIMP
- nsIOService::GetManageOfflineStatus(PRBool* aManage) {
- *aManage = mManageOfflineStatus;
- return NS_OK;
- }
-
- nsresult
- nsIOService::TrackNetworkLinkStatusForOffline()
- {
- NS_ASSERTION(mManageOfflineStatus,
- "Don't call this unless we're managing the offline status");
-+ NS_ASSERTION(mNetworkLinkServiceInitialized,
-+ "network link service should be set up");
-+
- if (!mNetworkLinkService)
- return NS_ERROR_FAILURE;
-
- if (mShutdown)
- return NS_ERROR_NOT_AVAILABLE;
-
- // check to make sure this won't collide with Autodial
- if (mSocketTransportService) {
-diff --git a/netwerk/base/src/nsIOService.h b/netwerk/base/src/nsIOService.h
---- a/netwerk/base/src/nsIOService.h
-+++ b/netwerk/base/src/nsIOService.h
-@@ -129,16 +129,17 @@ private:
- nsIProtocolHandler* hdlr);
-
- // Prefs wrangling
- NS_HIDDEN_(void) PrefsChanged(nsIPrefBranch *prefs, const char *pref = nsnull);
- NS_HIDDEN_(void) GetPrefBranch(nsIPrefBranch2 **);
- NS_HIDDEN_(void) ParsePortList(nsIPrefBranch *prefBranch, const char *pref, PRBool remove);
-
- nsresult InitializeSocketTransportService();
-+ nsresult InitializeNetworkLinkService();
-
- private:
- PRPackedBool mOffline;
- PRPackedBool mOfflineForProfileChange;
- PRPackedBool mManageOfflineStatus;
-
- // Used to handle SetOffline() reentrancy. See the comment in
- // SetOffline() for more details.
-@@ -146,16 +147,17 @@ private:
- PRPackedBool mSetOfflineValue;
-
- PRPackedBool mShutdown;
-
- nsCOMPtr<nsPISocketTransportService> mSocketTransportService;
- nsCOMPtr<nsPIDNSService> mDNSService;
- nsCOMPtr<nsIProtocolProxyService2> mProxyService;
- nsCOMPtr<nsINetworkLinkService> mNetworkLinkService;
-+ PRPackedBool mNetworkLinkServiceInitialized;
-
- // Cached protocol handlers
- nsWeakPtr mWeakHandler[NS_N(gScheme)];
-
- // cached categories
- nsCategoryCache<nsIChannelEventSink> mChannelEventSinks;
- nsCategoryCache<nsIContentSniffer> mContentSniffers;
-