I saw this article Secure, Offline, Cross-Platform Apps with Salesforce Mobile SDK and Web Components and found it very interesting, when I try the sample application Heroku Hosted Version of the Canonical Sample App on Chrome on the desktop it works fine, but when I go to the same page with Chrome on an Android phone (I tried 2 different phones) I get a blank page.
Using Chrome remote debugging tool I can see that the error occurs in cordova.force.js, full error below:
Exception caught during observer callback: ReferenceError: Connection is not defined
at Object.deviceIsOnline (https://sfdc-sobject-editor.herokuapp.com/dependencies/mobilesdk-shared/libs/cordova.force.js:164:45)
at Object.SFDC.isOnline (https://sfdc-sobject-editor.herokuapp.com/elements/force-app/force-app.js:31:85)
at force-ui-search.Polymer.computeQuery (https://sfdc-sobject-editor.herokuapp.com/elements/force-ui-search/force-ui-search.html:53:22)
at force-ui-search.g.invokeMethod (https://sfdc-sobject-editor.herokuapp.com/dependencies/polymer/polymer.js:13:25932)
at force-ui-search.g.notifyPropertyChanges (https://sfdc-sobject-editor.herokuapp.com/dependencies/polymer/polymer.js:13:24037)
at Object.x.report_ (https://sfdc-sobject-editor.herokuapp.com/dependencies/polymer/polymer.js:12:18266)
at Object.S.check_ (https://sfdc-sobject-editor.herokuapp.com/dependencies/polymer/polymer.js:12:22604)
at c (https://sfdc-sobject-editor.herokuapp.com/dependencies/polymer/polymer.js:12:12173)
the line giving an error in cordova.force.js is the first return line below:
if (typeof connType !== 'undefined') {
// Cordova's connection object. May be more accurate?
return (connType && connType != Connection.NONE && connType != Connection.UNKNOWN);
} else {
// Default to browser facility.
return navigator.onLine;
}