CB-10636 Add JSHint for plugins

This commit is contained in:
daserge
2016-02-19 15:39:28 +03:00
parent 555d55ac8a
commit ea1253963b
12 changed files with 83 additions and 48 deletions
+14 -10
View File
@@ -19,10 +19,7 @@
*
*/
var cordova = require('cordova'),
channel = require('cordova/channel'),
modulemapper = require('cordova/modulemapper'),
urlutil = require('cordova/urlutil');
var modulemapper = require('cordova/modulemapper');
var browserWrap,
popup,
@@ -69,8 +66,7 @@ var IAB = {
open: function (win, lose, args) {
var strUrl = args[0],
target = args[1],
features = args[2],
url;
features = args[2];
if (target === "_self" || !target) {
window.location = strUrl;
@@ -193,7 +189,9 @@ var IAB = {
if (browserWrap && popup) {
try {
popup.contentWindow.eval(code);
hasCallback && win([]);
if (hasCallback) {
win([]);
}
} catch(e) {
console.error('Error occured while trying to injectScriptCode: ' + JSON.stringify(e));
}
@@ -203,19 +201,25 @@ var IAB = {
injectScriptFile: function (win, fail, args) {
var msg = 'Browser cordova-plugin-inappbrowser injectScriptFile is not yet implemented';
console.warn(msg);
fail && fail(msg);
if (fail) {
fail(msg);
}
},
injectStyleCode: function (win, fail, args) {
var msg = 'Browser cordova-plugin-inappbrowser injectStyleCode is not yet implemented';
console.warn(msg);
fail && fail(msg);
if (fail) {
fail(msg);
}
},
injectStyleFile: function (win, fail, args) {
var msg = 'Browser cordova-plugin-inappbrowser injectStyleFile is not yet implemented';
console.warn(msg);
fail && fail(msg);
if (fail) {
fail(msg);
}
}
};
+10 -14
View File
@@ -21,9 +21,7 @@
// https://developer.mozilla.org/en-US/docs/WebAPI/Browser
var cordova = require('cordova'),
channel = require('cordova/channel'),
modulemapper = require('cordova/modulemapper');
var modulemapper = require('cordova/modulemapper');
var origOpenFunc = modulemapper.getOriginalSymbol(window, 'window.open');
var browserWrap;
@@ -49,9 +47,7 @@ var IABExecs = {
var strUrl = args[0],
target = args[1],
features_string = args[2] || "location=yes", //location=yes is default
features = {},
url,
elem;
features = {};
var features_list = features_string.split(',');
features_list.forEach(function(feature) {
@@ -61,7 +57,7 @@ var IABExecs = {
} else if (tup[1] == 'no') {
tup[1] = false;
} else {
var number = parseInt(tup[1]);
var number = parseInt(tup[1]);
if (!isNaN(number)) {
tup[1] = number;
}
@@ -115,7 +111,7 @@ var IABExecs = {
back.classList.add('inAppBrowserBack');
forward.classList.add('inAppBrowserForward');
function checkForwardBackward() {
var checkForwardBackward = function () {
var backReq = browserElem.getCanGoBack();
backReq.onsuccess = function() {
if (this.result) {
@@ -123,7 +119,7 @@ var IABExecs = {
} else {
back.classList.add('disabled');
}
}
};
var forwardReq = browserElem.getCanGoForward();
forwardReq.onsuccess = function() {
if (this.result) {
@@ -131,7 +127,7 @@ var IABExecs = {
} else {
forward.classList.add('disabled');
}
}
};
};
browserElem.addEventListener('mozbrowserloadend', checkForwardBackward);
@@ -163,16 +159,16 @@ var IABExecs = {
win({
type:'loadstart',
url : e.detail
})
});
}, false);
browserElem.addEventListener('mozbrowserloadend', function(e){
win({type:'loadstop'})
win({type:'loadstop'});
}, false);
browserElem.addEventListener('mozbrowsererror', function(e){
win({type:'loaderror'})
win({type:'loaderror'});
}, false);
browserElem.addEventListener('mozbrowserclose', function(e){
win({type:'exit'})
win({type:'exit'});
}, false);
} else {
window.location = strUrl;
+3
View File
@@ -19,6 +19,9 @@
*
*/
/* jshint -W061 */
/* global oxide */
oxide.addMessageHandler("EXECUTE", function(msg) {
var code = msg.args.code;
try {
+15 -11
View File
@@ -19,10 +19,8 @@
*
*/
/*jslint sloppy:true */
/*global Windows:true, require, document, setTimeout, window, module */
/* jslint sloppy:true */
/* global Windows:true, setImmediate */
var cordova = require('cordova'),
urlutil = require('cordova/urlutil');
@@ -188,7 +186,7 @@ var IAB = {
};
navigationButtonsDivInner = document.createElement("div");
navigationButtonsDivInner.className = "inappbrowser-app-bar-inner"
navigationButtonsDivInner.className = "inappbrowser-app-bar-inner";
navigationButtonsDivInner.onclick = function (e) {
e.cancelBubble = true;
};
@@ -253,9 +251,11 @@ var IAB = {
if (isWebViewAvailable && browserWrap && popup) {
var op = popup.invokeScriptAsync("eval", code);
op.oncomplete = function (e) {
// return null if event target is unavailable by some reason
var result = (e && e.target) ? [e.target.result] : [null];
hasCallback && win(result);
if (hasCallback) {
// return null if event target is unavailable by some reason
var result = (e && e.target) ? [e.target.result] : [null];
win(result);
}
};
op.onerror = function () { };
op.start();
@@ -278,8 +278,10 @@ var IAB = {
Windows.Storage.FileIO.readTextAsync(file).done(function (code) {
var op = popup.invokeScriptAsync("eval", code);
op.oncomplete = function(e) {
var result = [e.target.result];
hasCallback && win(result);
if (hasCallback) {
var result = [e.target.result];
win(result);
}
};
op.onerror = function () { };
op.start();
@@ -329,7 +331,9 @@ function injectCSS (webView, cssCode, callback) {
var op = webView.invokeScriptAsync("eval", evalWrapper);
op.oncomplete = function() {
callback && callback([]);
if (callback) {
callback([]);
}
};
op.onerror = function () { };
op.start();