You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2013/07/30 20:58:17 UTC

[10/13] js commit: [bb10] Move code from bootstrap-blackberry10.js into blackberry10/platform.js

[bb10] Move code from bootstrap-blackberry10.js into blackberry10/platform.js


Project: http://git-wip-us.apache.org/repos/asf/cordova-js/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-js/commit/08da18a7
Tree: http://git-wip-us.apache.org/repos/asf/cordova-js/tree/08da18a7
Diff: http://git-wip-us.apache.org/repos/asf/cordova-js/diff/08da18a7

Branch: refs/heads/master
Commit: 08da18a75e206f732a475dd63f92c2c4d461e6c3
Parents: 5965f92
Author: Andrew Grieve <ag...@chromium.org>
Authored: Tue Jul 30 11:49:00 2013 -0400
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Tue Jul 30 11:49:00 2013 -0400

----------------------------------------------------------------------
 lib/blackberry10/platform.js          | 107 ++++++++++++++++++++++-
 lib/scripts/bootstrap-blackberry10.js | 135 -----------------------------
 2 files changed, 105 insertions(+), 137 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-js/blob/08da18a7/lib/blackberry10/platform.js
----------------------------------------------------------------------
diff --git a/lib/blackberry10/platform.js b/lib/blackberry10/platform.js
index eb7fd12..73a322f 100644
--- a/lib/blackberry10/platform.js
+++ b/lib/blackberry10/platform.js
@@ -21,9 +21,13 @@
 
 module.exports = {
     id: "blackberry10",
-    initialize: function() {
+    bootstrap: function() {
         var cordova = require('cordova'),
-            addDocumentEventListener = document.addEventListener;
+            channel = require('cordova/channel'),
+            addDocumentEventListener = document.addEventListener,
+            webworksReady = false,
+            alreadyFired = false,
+            listenerRegistered = false;
 
         //override to pass online/offline events to window
         document.addEventListener = function (type) {
@@ -31,6 +35,105 @@ module.exports = {
                 window.addEventListener.apply(window, arguments);
             } else {
                 addDocumentEventListener.apply(document, arguments);
+                //Trapping when users add listeners to the webworks ready event
+                //This way we can make sure not to fire the event before there is a listener
+                if (event.toLowerCase() === 'webworksready') {
+                    listenerRegistered = true;
+                    fireWebworksReadyEvent();
+                }
+            }
+        };
+
+        channel.onPluginsReady.subscribe(function () {
+            webworksReady = true;
+            fireWebworksReadyEvent();
+        });
+
+        //Only fire the webworks event when both webworks is ready and a listener is registered
+        function fireWebworksReadyEvent() {
+            var evt;
+            if (listenerRegistered && webworksReady && !alreadyFired) {
+                alreadyFired = true;
+                evt = document.createEvent('Events');
+                evt.initEvent('webworksready', true, true);
+                document.dispatchEvent(evt);
+                channel.onNativeReady.fire();
+            }
+        }
+
+        function RemoteFunctionCall(functionUri) {
+            var params = {};
+
+            function composeUri() {
+                return "http://localhost:8472/" + functionUri;
+            }
+
+            function createXhrRequest(uri, isAsync) {
+                var request = new XMLHttpRequest();
+                request.open("POST", uri, isAsync);
+                request.setRequestHeader("Content-Type", "application/json");
+                return request;
+            }
+
+            this.addParam = function (name, value) {
+                params[name] = encodeURIComponent(JSON.stringify(value));
+            };
+
+            this.makeSyncCall = function (success, error) {
+                var requestUri = composeUri(),
+                request = createXhrRequest(requestUri, false),
+                response,
+                errored,
+                cb,
+                data;
+
+                request.send(JSON.stringify(params));
+                response = JSON.parse(decodeURIComponent(request.responseText) || "null");
+                return response;
+            };
+        }
+
+        window.webworks = {
+            exec: function (success, fail, service, action, args) {
+                var uri = service + "/" + action,
+                request = new RemoteFunctionCall(uri),
+                callbackId = service + cordova.callbackId++,
+                response,
+                name,
+                didSucceed;
+
+                for (name in args) {
+                    if (Object.hasOwnProperty.call(args, name)) {
+                        request.addParam(name, args[name]);
+                    }
+                }
+
+                cordova.callbacks[callbackId] = {success:success, fail:fail};
+                request.addParam("callbackId", callbackId);
+
+                response = request.makeSyncCall();
+
+                //Old WebWorks Extension success
+                if (response.code === 42) {
+                    if (success) {
+                        success(response.data, response);
+                    }
+                    delete cordova.callbacks[callbackId];
+                } else if (response.code < 0) {
+                    if (fail) {
+                        fail(response.msg, response);
+                    }
+                    delete cordova.callbacks[callbackId];
+                } else {
+                    didSucceed = response.code === cordova.callbackStatus.OK || response.code === cordova.callbackStatus.NO_RESULT;
+                    cordova.callbackFromNative(callbackId, didSucceed, response.code, [ didSucceed ? response.data : response.msg ], !!response.keepCallback);
+                }
+            },
+            defineReadOnlyField: function (obj, field, value) {
+                Object.defineProperty(obj, field, {
+                    "value": value,
+                    "writable": false
+                });
             }
         };
     }

http://git-wip-us.apache.org/repos/asf/cordova-js/blob/08da18a7/lib/scripts/bootstrap-blackberry10.js
----------------------------------------------------------------------
diff --git a/lib/scripts/bootstrap-blackberry10.js b/lib/scripts/bootstrap-blackberry10.js
deleted file mode 100644
index 691faf0..0000000
--- a/lib/scripts/bootstrap-blackberry10.js
+++ /dev/null
@@ -1,135 +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.
- *
-*/
-/*global cordova*/
-(function () {
-    var docAddEventListener = document.addEventListener,
-        webworksReady = false,
-        alreadyFired = false,
-        listenerRegistered = false;
-
-    //Only fire the webworks event when both webworks is ready and a listener is registered
-    function fireWebworksReadyEvent() {
-        var evt;
-        if (listenerRegistered && webworksReady && !alreadyFired) {
-            alreadyFired = true;
-            evt = document.createEvent('Events');
-            evt.initEvent('webworksready', true, true);
-            document.dispatchEvent(evt);
-        }
-    }
-
-    //Trapping when users add listeners to the webworks ready event
-    //This way we can make sure not to fire the event before there is a listener
-    document.addEventListener = function (event, callback, capture) {
-        docAddEventListener.call(document, event, callback, capture);
-        if (event.toLowerCase() === 'webworksready') {
-            listenerRegistered = true;
-            fireWebworksReadyEvent();
-        }
-    };
-
-    function RemoteFunctionCall(functionUri) {
-        var params = {};
-
-        function composeUri() {
-            return "http://localhost:8472/" + functionUri;
-        }
-
-        function createXhrRequest(uri, isAsync) {
-            var request = new XMLHttpRequest();
-            request.open("POST", uri, isAsync);
-            request.setRequestHeader("Content-Type", "application/json");
-            return request;
-        }
-
-        this.addParam = function (name, value) {
-            params[name] = encodeURIComponent(JSON.stringify(value));
-        };
-
-        this.makeSyncCall = function (success, error) {
-            var requestUri = composeUri(),
-            request = createXhrRequest(requestUri, false),
-            response,
-            errored,
-            cb,
-            data;
-
-            request.send(JSON.stringify(params));
-            response = JSON.parse(decodeURIComponent(request.responseText) || "null");
-            return response;
-        };
-    }
-
-    window.webworks = {
-        exec: function (success, fail, service, action, args) {
-            var uri = service + "/" + action,
-            request = new RemoteFunctionCall(uri),
-            callbackId = service + cordova.callbackId++,
-            response,
-            name,
-            didSucceed;
-
-            for (name in args) {
-                if (Object.hasOwnProperty.call(args, name)) {
-                    request.addParam(name, args[name]);
-                }
-            }
-
-            cordova.callbacks[callbackId] = {success:success, fail:fail};
-            request.addParam("callbackId", callbackId);
-
-            response = request.makeSyncCall();
-
-            //Old WebWorks Extension success
-            if (response.code === 42) {
-                if (success) {
-                    success(response.data, response);
-                }
-                delete cordova.callbacks[callbackId];
-            } else if (response.code < 0) {
-                if (fail) {
-                    fail(response.msg, response);
-                }
-                delete cordova.callbacks[callbackId];
-            } else {
-                didSucceed = response.code === cordova.callbackStatus.OK || response.code === cordova.callbackStatus.NO_RESULT;
-                cordova.callbackFromNative(callbackId, didSucceed, response.code, [ didSucceed ? response.data : response.msg ], !!response.keepCallback);
-            }
-        },
-        defineReadOnlyField: function (obj, field, value) {
-            Object.defineProperty(obj, field, {
-                "value": value,
-                "writable": false
-            });
-        }
-    };
-
-    require("cordova/channel").onPluginsReady.subscribe(function () {
-        webworksReady = true;
-        fireWebworksReadyEvent();
-    });
-}());
-
-document.addEventListener("DOMContentLoaded", function () {
-    document.addEventListener("webworksready", function () {
-        require('cordova/channel').onNativeReady.fire();
-    });
-});