You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2015/03/31 19:58:23 UTC

[1/4] cordova-plugin-network-information git commit: CB-8185 Use `navigator.onLine` as connection information source on browser platform

Repository: cordova-plugin-network-information
Updated Branches:
  refs/heads/old-ID daedbf68a -> a330e797a


CB-8185 Use `navigator.onLine` as connection information source on browser platform

* add support for `online`/`offline` events for browser


Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/commit/a8c55078
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/tree/a8c55078
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/diff/a8c55078

Branch: refs/heads/old-ID
Commit: a8c550785367d258c3a1cddabf6a1a9ce9e329c6
Parents: daedbf6
Author: Vladimir Kotikov <v-...@microsoft.com>
Authored: Wed Feb 4 17:09:06 2015 +0300
Committer: Vladimir Kotikov <v-...@microsoft.com>
Committed: Tue Mar 17 14:28:45 2015 +0300

----------------------------------------------------------------------
 README.md                   |  5 +++
 plugin.xml                  |  5 ++-
 src/browser/NetworkProxy.js | 53 -----------------------
 www/browser/network.js      | 92 ++++++++++++++++++++++++++++++++++++++++
 www/network.js              |  4 +-
 5 files changed, 103 insertions(+), 56 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/a8c55078/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 09320cf..93b3e67 100644
--- a/README.md
+++ b/README.md
@@ -121,6 +121,11 @@ eventually be removed.
 - Firefox OS can't detect the type of cellular network connection.
     - `navigator.connection.type` is set to `Connection.CELL` for all cellular data.
 
+### Browser Quirks
+
+- Browser can't detect the type of network connection.
+`navigator.connection.type` is always set to `Connection.UNKNOWN` when online.
+
 # Network-related Events
 
 ## offline

http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/a8c55078/plugin.xml
----------------------------------------------------------------------
diff --git a/plugin.xml b/plugin.xml
index 56e8405..870056e 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -166,8 +166,9 @@ xmlns:android="http://schemas.android.com/apk/res/android"
 
     <!-- browser -->
     <platform name="browser">
-        <js-module src="src/browser/NetworkProxy.js" name="NetworkProxy">
-            <runs />
+        <js-module src="www/browser/network.js" name="browserNetwork">
+            <clobbers target="navigator.connection" />
+            <clobbers target="navigator.network.connection" />
         </js-module>
     </platform>
 </plugin>

http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/a8c55078/src/browser/NetworkProxy.js
----------------------------------------------------------------------
diff --git a/src/browser/NetworkProxy.js b/src/browser/NetworkProxy.js
deleted file mode 100644
index efcf73f..0000000
--- a/src/browser/NetworkProxy.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- *
- */
-
-/*
-  Network API overview: http://www.w3.org/TR/netinfo-api/
-  and http://w3c.github.io/netinfo/
-*/
-
-var cordova = require('cordova'),
-    Connection = require('./Connection')
-
-module.exports = {
-    getConnectionInfo: function(successCallback, errorCallback) {
-        window.navigator.connection.type = Connection.NONE;
-
-        var xhr = new XMLHttpRequest();
-        xhr.open('GET', 'http://www.google.com', true);
-        
-        xhr.onload = function() {
-            if (xhr.readyState === 4 && xhr.status === 200) {
-                window.navigator.connection.type = Connection.WIFI;
-            } else {
-                window.navigator.connection.type = Connection.NONE;
-            }
-        };
-
-        xhr.send();
-
-        setTimeout(function() {
-            successCallback(window.navigator.connection.type);
-        }, 0);
-    }
-};
-
-require("cordova/exec/proxy").add("NetworkStatus", module.exports);

http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/a8c55078/www/browser/network.js
----------------------------------------------------------------------
diff --git a/www/browser/network.js b/www/browser/network.js
new file mode 100644
index 0000000..72ec513
--- /dev/null
+++ b/www/browser/network.js
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+*/
+
+/*global module, require*/
+
+var cordova = require('cordova'),
+    Connection = require('./Connection');
+
+var DOCUMENT_EVENTS_CHECK_INTERVAL = 500; // ms
+// Flag that indicates that ew need to re-fire online/offline events at document level
+// (Workaround for Chrome, since it fires such events only for window object)
+var NEED_FIRE_DOCUMENT_EVENT_MANUALLY = false;
+
+function NetworkConnection() {
+    this.type = Connection.UNKNOWN;
+}
+
+/**
+ * Get connection info
+ *
+ * @param {Function} successCallback The function to call when the Connection data is available
+ */
+NetworkConnection.prototype.getInfo = function(successCallback) {
+    successCallback(this.type);
+};
+
+Object.defineProperty(NetworkConnection.prototype, 'type', {
+    get: function () {
+        // It is not possible to determine real connection type in browser
+        // so we always report Connection.UNKNOWN when online
+        return (window.navigator.onLine === false ? Connection.NONE : Connection.UNKNOWN);
+    },
+    configurable: true,
+    enumerable: true
+});
+
+// This function tries to detect if document online/offline events is being fired
+// after corresponding window events, and if not, then fires them manually
+// This is workaround for Chrome, which fires only window online/offline events
+// and regarding to plugin spec we need these events at document object
+var eventRedirectHandler = function (e) {
+    // NEED_FIRE_DOCUMENT_EVENT_MANUALLY flag is already set,
+    // just fire corresponding document event and return
+    if (NEED_FIRE_DOCUMENT_EVENT_MANUALLY) {
+        cordova.fireDocumentEvent(e.type);
+        return;
+    }
+
+    // Flag that indicates whether corresponding document even is fired
+    var documentStateEventFired = false;
+    var setDocumentStateEventFired = function() {
+        documentStateEventFired = true;
+    };
+    document.addEventListener(e.type, setDocumentStateEventFired);
+    setTimeout(function () {
+        // Remove unnecessary listener
+        document.removeEventListener(e.type, setDocumentStateEventFired);
+        // if document event hasn't been fired in specified interval (500 ms by default),
+        // then we're in chrome and need to fire it manually
+        if (!documentStateEventFired) {
+            NEED_FIRE_DOCUMENT_EVENT_MANUALLY = true;
+            cordova.fireDocumentEvent(e.type);
+        }
+    }, DOCUMENT_EVENTS_CHECK_INTERVAL);
+};
+
+// Subscribe to native online/offline events
+window.addEventListener('online', eventRedirectHandler);
+window.addEventListener('offline', eventRedirectHandler);
+
+var me = new NetworkConnection();
+
+require("cordova/exec/proxy").add("NetworkStatus", { getConnectionInfo: me.getConnectionInfo });
+
+module.exports = me;

http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/a8c55078/www/network.js
----------------------------------------------------------------------
diff --git a/www/network.js b/www/network.js
index 9ffb745..6896956 100644
--- a/www/network.js
+++ b/www/network.js
@@ -26,7 +26,9 @@ var exec = require('cordova/exec'),
 // Link the onLine property with the Cordova-supplied network info.
 // This works because we clobber the navigator object with our own
 // object in bootstrap.js.
-if (typeof navigator != 'undefined') {
+// Browser platform do not need to define this property, because
+// it is already supported by modern browsers
+if (cordova.platforId !== 'browser' && typeof navigator != 'undefined') {
     utils.defineGetter(navigator, 'onLine', function() {
         return this.connection.type != 'none';
     });


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org


[3/4] cordova-plugin-network-information git commit: CB-8185 Fixes typo in `cordova.platformId`

Posted by st...@apache.org.
CB-8185 Fixes typo in `cordova.platformId`


Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/commit/481bdd93
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/tree/481bdd93
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/diff/481bdd93

Branch: refs/heads/old-ID
Commit: 481bdd93b023f808c301943ac6c541e3633aeee4
Parents: 8023cd4
Author: Vladimir Kotikov <v-...@microsoft.com>
Authored: Thu Mar 26 19:03:33 2015 +0300
Committer: Vladimir Kotikov <v-...@microsoft.com>
Committed: Thu Mar 26 19:03:33 2015 +0300

----------------------------------------------------------------------
 www/network.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/481bdd93/www/network.js
----------------------------------------------------------------------
diff --git a/www/network.js b/www/network.js
index 6896956..ac792d8 100644
--- a/www/network.js
+++ b/www/network.js
@@ -28,7 +28,7 @@ var exec = require('cordova/exec'),
 // object in bootstrap.js.
 // Browser platform do not need to define this property, because
 // it is already supported by modern browsers
-if (cordova.platforId !== 'browser' && typeof navigator != 'undefined') {
+if (cordova.platformId !== 'browser' && typeof navigator != 'undefined') {
     utils.defineGetter(navigator, 'onLine', function() {
         return this.connection.type != 'none';
     });


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org


[4/4] cordova-plugin-network-information git commit: CB-8653 updated translated docs to use new id

Posted by st...@apache.org.
CB-8653 updated translated docs to use new id


Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/commit/a330e797
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/tree/a330e797
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/diff/a330e797

Branch: refs/heads/old-ID
Commit: a330e797a59e218f89eb233c98f5ebbb8c6dbdcd
Parents: 481bdd9
Author: Steve Gill <st...@gmail.com>
Authored: Tue Mar 31 10:53:32 2015 -0700
Committer: Steve Gill <st...@gmail.com>
Committed: Tue Mar 31 10:53:32 2015 -0700

----------------------------------------------------------------------
 doc/de/index.md | 2 +-
 doc/es/index.md | 2 +-
 doc/fr/index.md | 2 +-
 doc/it/index.md | 2 +-
 doc/ja/index.md | 2 +-
 doc/ko/index.md | 2 +-
 doc/pl/index.md | 2 +-
 doc/ru/index.md | 2 +-
 doc/zh/index.md | 2 +-
 9 files changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/a330e797/doc/de/index.md
----------------------------------------------------------------------
diff --git a/doc/de/index.md b/doc/de/index.md
index b368a5a..7cd1bda 100644
--- a/doc/de/index.md
+++ b/doc/de/index.md
@@ -183,4 +183,4 @@ Bei der Ausführung im Emulator, der `connection.status` ist immer unbekannt, so
 
 ### Windows Phone 8 Macken
 
-Der Emulator meldet den Verbindungstyp als `Cellular` , die wird nicht geändert, so dass Ereignisse *nicht* Feuer.
\ No newline at end of file
+Der Emulator meldet den Verbindungstyp als `Cellular` , die wird nicht geändert, so dass Ereignisse *nicht* Feuer.

http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/a330e797/doc/es/index.md
----------------------------------------------------------------------
diff --git a/doc/es/index.md b/doc/es/index.md
index 01724eb..c6655f3 100644
--- a/doc/es/index.md
+++ b/doc/es/index.md
@@ -183,4 +183,4 @@ Cuando se ejecuta en el emulador, la `connection.status` siempre es desconocido,
 
 ### Windows Phone 8 rarezas
 
-El emulador, informa el tipo de conexión como `Cellular` , que no cambia, así que se lo eventos *no* fuego.
\ No newline at end of file
+El emulador, informa el tipo de conexión como `Cellular` , que no cambia, así que se lo eventos *no* fuego.

http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/a330e797/doc/fr/index.md
----------------------------------------------------------------------
diff --git a/doc/fr/index.md b/doc/fr/index.md
index 37380f8..0a302c9 100644
--- a/doc/fr/index.md
+++ b/doc/fr/index.md
@@ -181,4 +181,4 @@ Lors de l'exécution dans l'émulateur, le `connection.status` est toujours inco
 
 ### Notes au sujet de Windows Phone 8
 
-L'émulateur signale le type de connexion comme `Cellular` , qui ne change pas, aussi des événements ne fait *pas* de feu.
\ No newline at end of file
+L'émulateur signale le type de connexion comme `Cellular` , qui ne change pas, aussi des événements ne fait *pas* de feu.

http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/a330e797/doc/it/index.md
----------------------------------------------------------------------
diff --git a/doc/it/index.md b/doc/it/index.md
index a479841..16faf4f 100644
--- a/doc/it/index.md
+++ b/doc/it/index.md
@@ -183,4 +183,4 @@ Quando è in esecuzione nell'emulatore, il `connection.status` è sempre sconosc
 
 ### Windows Phone 8 stranezze
 
-L'emulatore riporta il tipo di connessione come `Cellular` , che non cambia, quindi, non gli eventi *non* a fuoco.
\ No newline at end of file
+L'emulatore riporta il tipo di connessione come `Cellular` , che non cambia, quindi, non gli eventi *non* a fuoco.

http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/a330e797/doc/ja/index.md
----------------------------------------------------------------------
diff --git a/doc/ja/index.md b/doc/ja/index.md
index c61a1fd..2dd8085 100644
--- a/doc/ja/index.md
+++ b/doc/ja/index.md
@@ -183,4 +183,4 @@
 
 ### Windows Phone 8 癖
 
-エミュレーターと接続の種類のレポート `Cellular` は変化しません、イベントは*ない*火。
\ No newline at end of file
+エミュレーターと接続の種類のレポート `Cellular` は変化しません、イベントは*ない*火。

http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/a330e797/doc/ko/index.md
----------------------------------------------------------------------
diff --git a/doc/ko/index.md b/doc/ko/index.md
index f30392b..8260cba 100644
--- a/doc/ko/index.md
+++ b/doc/ko/index.md
@@ -183,4 +183,4 @@
 
 ### Windows Phone 8 단점
 
-에뮬레이터도 연결 형식을 보고 `Cellular` 는 변경 되지 않습니다, 그래서 이벤트 않습니다 *하지* 불.
\ No newline at end of file
+에뮬레이터도 연결 형식을 보고 `Cellular` 는 변경 되지 않습니다, 그래서 이벤트 않습니다 *하지* 불.

http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/a330e797/doc/pl/index.md
----------------------------------------------------------------------
diff --git a/doc/pl/index.md b/doc/pl/index.md
index cde01cc..1126596 100644
--- a/doc/pl/index.md
+++ b/doc/pl/index.md
@@ -183,4 +183,4 @@ Po uruchomieniu w emulatorze, `connection.status` zawsze jest nieznana, więc to
 
 ### Windows Phone 8 dziwactwa
 
-Emulator sprawozdania jako typ połączenia `Cellular` , które nie zmienia, więc wydarzenia czy *nie* ogień.
\ No newline at end of file
+Emulator sprawozdania jako typ połączenia `Cellular` , które nie zmienia, więc wydarzenia czy *nie* ogień.

http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/a330e797/doc/ru/index.md
----------------------------------------------------------------------
diff --git a/doc/ru/index.md b/doc/ru/index.md
index dba67c9..21c5dc4 100644
--- a/doc/ru/index.md
+++ b/doc/ru/index.md
@@ -179,4 +179,4 @@
 
 ### Особенности Windows Phone 8
 
-Эмулятор сообщает тип подключения как `Cellular` , которое не меняется, поэтому событие не *не* срабатывает.
\ No newline at end of file
+Эмулятор сообщает тип подключения как `Cellular` , которое не меняется, поэтому событие не *не* срабатывает.

http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/a330e797/doc/zh/index.md
----------------------------------------------------------------------
diff --git a/doc/zh/index.md b/doc/zh/index.md
index 23df999..f4b0c46 100644
--- a/doc/zh/index.md
+++ b/doc/zh/index.md
@@ -183,4 +183,4 @@
 
 ### Windows Phone 8 怪癖
 
-模擬程式報告連線類型為 `Cellular` ,而不會更改,所以事件不**火。
\ No newline at end of file
+模擬程式報告連線類型為 `Cellular` ,而不會更改,所以事件不**火。


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org


[2/4] cordova-plugin-network-information git commit: Use TRAVIS_BUILD_DIR, install paramedic by npm

Posted by st...@apache.org.
Use TRAVIS_BUILD_DIR, install paramedic by npm


Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/commit/8023cd46
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/tree/8023cd46
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/diff/8023cd46

Branch: refs/heads/old-ID
Commit: 8023cd46ddeb812987574227b62b9623cbbb8ba4
Parents: a8c5507
Author: Jesse MacFadyen <pu...@gmail.com>
Authored: Tue Mar 24 23:42:25 2015 -0700
Committer: Jesse MacFadyen <pu...@gmail.com>
Committed: Tue Mar 24 23:42:25 2015 -0700

----------------------------------------------------------------------
 .travis.yml | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information/blob/8023cd46/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index d31abd2..fa7ae7d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,9 +6,8 @@ node_js:
 install:
   - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config 
   - cd ..
-  - npm install -g purplecabbage/cordova-paramedic
+  - npm install -g cordova-paramedic
   - npm install -g cordova
   - npm install -g ios-sim
 script:
-  - cordova-paramedic --platform ios --plugin ../cordova-plugin-network-information
-  
\ No newline at end of file
+  - cordova-paramedic --platform ios --plugin ${TRAVIS_BUILD_DIR}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org