Merge branch 'master' of https://github.com/Zaspire/cordova-mobile-spec
diff --git a/cordova-plugin-whitelist/plugin.xml b/cordova-plugin-whitelist/plugin.xml
index 71f49ae..49ea5fd 100644
--- a/cordova-plugin-whitelist/plugin.xml
+++ b/cordova-plugin-whitelist/plugin.xml
@@ -50,6 +50,12 @@
<source-file src="src/android/WhitelistAPI.java" target-dir="src/org/apache/cordova/test" />
</platform>
+ <!-- ubuntu -->
+ <platform name="ubuntu">
+ <header-file src="src/ubuntu/whitelist.h" />
+ <source-file src="src/ubuntu/whitelist.cpp" />
+ </platform>
+
<!-- ios -->
<platform name="ios">
<config-file target="config.xml" parent="/*">
diff --git a/cordova-plugin-whitelist/src/ubuntu/whitelist.cpp b/cordova-plugin-whitelist/src/ubuntu/whitelist.cpp
new file mode 100644
index 0000000..4d37a61
--- /dev/null
+++ b/cordova-plugin-whitelist/src/ubuntu/whitelist.cpp
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2014 Canonical Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "whitelist.h"
+#include <cordova_whitelist.hpp>
+
+Whitelist::Whitelist(Cordova *cordova): CPlugin(cordova) {
+}
+
+void Whitelist::URLMatchesPatterns(int scId, int ecId, const QString &url, const QList<QString> &patterns) {
+ CordovaInternal::WhiteList whitelist;
+ for (const QString &pattern: patterns) {
+ whitelist.addWhiteListEntry(pattern, false);
+ }
+ bool isAllowed = whitelist.isUrlWhiteListed(url);
+ cb(scId, isAllowed);
+}
+
+void Whitelist::URLIsAllowed(int scId, int ecId, const QString &url) {
+ bool isAllowed = m_cordova->config().whitelist().isUrlWhiteListed(url);
+ cb(scId, isAllowed);
+}
diff --git a/cordova-plugin-whitelist/src/ubuntu/whitelist.h b/cordova-plugin-whitelist/src/ubuntu/whitelist.h
new file mode 100644
index 0000000..ecf2228
--- /dev/null
+++ b/cordova-plugin-whitelist/src/ubuntu/whitelist.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2014 Canonical Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WHITELIST_HKJBNNB90NM53452
+#define WHITELIST_HKJBNNB90NM53452
+
+#include <QtCore>
+
+#include <cplugin.h>
+#include <cordova.h>
+
+class Whitelist: public CPlugin {
+ Q_OBJECT
+public:
+ explicit Whitelist(Cordova *cordova);
+
+ virtual const QString fullName() override {
+ return Whitelist::fullID();
+ }
+
+ virtual const QString shortName() override {
+ return Whitelist::fullID();
+ }
+
+ static const QString fullID() {
+ return "WhitelistAPI";
+ }
+public slots:
+ void URLMatchesPatterns(int scId, int ecId, const QString &url, const QList<QString> &patterns);
+ void URLIsAllowed(int scId, int ecId, const QString &url);
+};
+
+#endif