11/**
22 * cross-storage - Cross domain local storage
33 *
4- * @version 0.5.1
4+ * @version 0.6.0
55 * @link https://github.com/zendesk/cross-storage
66 * @author Daniel St. Jules <danielst.jules@gmail.com>
77 * @copyright Zendesk
@@ -40,15 +40,15 @@ CrossStorageHub.init = function(permissions) {
4040
4141 if ( ! available ) {
4242 try {
43- return window . parent . postMessage ( 'unavailable' , '*' ) ;
43+ return window . parent . postMessage ( 'cross-storage: unavailable' , '*' ) ;
4444 } catch ( e ) {
4545 return ;
4646 }
4747 }
4848
4949 CrossStorageHub . _permissions = permissions || [ ] ;
5050 CrossStorageHub . _installListener ( ) ;
51- window . parent . postMessage ( 'ready' , '*' ) ;
51+ window . parent . postMessage ( 'cross-storage: ready' , '*' ) ;
5252} ;
5353
5454/**
@@ -75,22 +75,26 @@ CrossStorageHub._installListener = function() {
7575 * @param {MessageEvent } message A message to be processed
7676 */
7777CrossStorageHub . _listener = function ( message ) {
78- var uri , available , request , error , result , response ;
78+ var uri , available , request , method , error , result , response ;
7979
8080 // Handle polling for a ready message
81- if ( message . data === 'poll' ) {
82- return window . parent . postMessage ( 'ready' , message . origin ) ;
81+ if ( message . data === 'cross-storage: poll' ) {
82+ return window . parent . postMessage ( 'cross-storage: ready' , message . origin ) ;
8383 }
8484
8585 // Ignore the ready message when viewing the hub directly
86- if ( message . data === 'ready' ) return ;
86+ if ( message . data === 'cross-storage:ready' ) return ;
87+
8788 request = JSON . parse ( message . data ) ;
89+ method = request . method . split ( 'cross-storage:' ) [ 1 ] ;
8890
89- if ( ! CrossStorageHub . _permitted ( message . origin , request . method ) ) {
90- error = 'Invalid permissions for ' + request . method ;
91+ if ( ! method ) {
92+ return ;
93+ } else if ( ! CrossStorageHub . _permitted ( message . origin , method ) ) {
94+ error = 'Invalid permissions for ' + method ;
9195 } else {
9296 try {
93- result = CrossStorageHub [ '_' + request . method ] ( request . params ) ;
97+ result = CrossStorageHub [ '_' + method ] ( request . params ) ;
9498 } catch ( err ) {
9599 error = err . message ;
96100 }
0 commit comments