diff options
Diffstat (limited to '')
-rw-r--r-- | toolkit/system/androidproxy/components.conf | 13 | ||||
-rw-r--r-- | toolkit/system/androidproxy/moz.build | 18 | ||||
-rw-r--r-- | toolkit/system/androidproxy/nsAndroidSystemProxySettings.cpp | 51 |
3 files changed, 82 insertions, 0 deletions
diff --git a/toolkit/system/androidproxy/components.conf b/toolkit/system/androidproxy/components.conf new file mode 100644 index 0000000000..499674c32b --- /dev/null +++ b/toolkit/system/androidproxy/components.conf @@ -0,0 +1,13 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +Classes = [ + { + 'cid': '{f01f0060-3708-478e-b935-3ec38be294b8}', + 'contract_ids': ['@mozilla.org/system-proxy-settings;1'], + 'type': 'nsAndroidSystemProxySettings', + }, +] diff --git a/toolkit/system/androidproxy/moz.build b/toolkit/system/androidproxy/moz.build new file mode 100644 index 0000000000..3d1a834676 --- /dev/null +++ b/toolkit/system/androidproxy/moz.build @@ -0,0 +1,18 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +with Files("**"): + BUG_COMPONENT = ("GeckoView", "General") + +SOURCES += [ + "nsAndroidSystemProxySettings.cpp", +] + +XPCOM_MANIFESTS += [ + "components.conf", +] + +FINAL_LIBRARY = "xul" diff --git a/toolkit/system/androidproxy/nsAndroidSystemProxySettings.cpp b/toolkit/system/androidproxy/nsAndroidSystemProxySettings.cpp new file mode 100644 index 0000000000..e60d0f3821 --- /dev/null +++ b/toolkit/system/androidproxy/nsAndroidSystemProxySettings.cpp @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISystemProxySettings.h" +#include "mozilla/Components.h" +#include "nsPrintfCString.h" +#include "nsNetCID.h" +#include "nsISupports.h" + +#include "AndroidBridge.h" + +class nsAndroidSystemProxySettings : public nsISystemProxySettings { + public: + NS_DECL_THREADSAFE_ISUPPORTS + NS_DECL_NSISYSTEMPROXYSETTINGS + + nsAndroidSystemProxySettings(){}; + + private: + virtual ~nsAndroidSystemProxySettings() {} +}; + +NS_IMPL_ISUPPORTS(nsAndroidSystemProxySettings, nsISystemProxySettings) + +NS_IMETHODIMP +nsAndroidSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) { + *aMainThreadOnly = true; + return NS_OK; +} + +nsresult nsAndroidSystemProxySettings::GetPACURI(nsACString& aResult) { + return NS_OK; +} + +nsresult nsAndroidSystemProxySettings::GetProxyForURI(const nsACString& aSpec, + const nsACString& aScheme, + const nsACString& aHost, + const int32_t aPort, + nsACString& aResult) { + return mozilla::AndroidBridge::Bridge()->GetProxyForURI(aSpec, aScheme, aHost, + aPort, aResult); +} + +void test(){}; + +NS_IMPL_COMPONENT_FACTORY(nsAndroidSystemProxySettings) { + return mozilla::MakeAndAddRef<nsAndroidSystemProxySettings>() + .downcast<nsISupports>(); +} |