Brion VIBBER has submitted this change and it was merged.

Change subject: Move handleMessage out of bridge into global namespace
......................................................................


Move handleMessage out of bridge into global namespace

Since handleMessage shouldn't be called from JS, having it
be part of the bridge interface in JS is confusing

Change-Id: I560957d89c1927320c6ad57639cc0dbcdc90531f
---
M wikipedia/assets/bridge.js
M wikipedia/assets/bundle-test.js
M wikipedia/assets/bundle.js
M wikipedia/assets/main.js
M wikipedia/src/main/java/org/wikipedia/CommunicationBridge.java
5 files changed, 28 insertions(+), 31 deletions(-)

Approvals:
  Brion VIBBER: Verified; Looks good to me, approved



diff --git a/wikipedia/assets/bridge.js b/wikipedia/assets/bridge.js
index 6fb2e1d..4e9f520 100644
--- a/wikipedia/assets/bridge.js
+++ b/wikipedia/assets/bridge.js
@@ -1,23 +1,24 @@
 function Bridge() {
-    this.eventHandlers = {};
 }
 
-// This is called directly from Java, and hence needs to be available
-Bridge.prototype.handleMessage = function( type, msgPointer ) {
+var eventHandlers = {};
+
+// This is called directly from Java
+window.handleMessage = function( type, msgPointer ) {
     var that = this;
     var payload = JSON.parse( marshaller.getPayload( msgPointer ) );
-    if ( this.eventHandlers.hasOwnProperty( type ) ) {
-        this.eventHandlers[type].forEach( function( callback ) {
+    if ( eventHandlers.hasOwnProperty( type ) ) {
+        eventHandlers[type].forEach( function( callback ) {
             callback.call( that, payload );
         } );
     }
 };
 
 Bridge.prototype.registerListener = function( messageType, callback ) {
-    if ( this.eventHandlers.hasOwnProperty( messageType ) ) {
-        this.eventHandlers[messageType].push( callback );
+    if ( eventHandlers.hasOwnProperty( messageType ) ) {
+        eventHandlers[messageType].push( callback );
     } else {
-        this.eventHandlers[messageType] = [ callback ];
+        eventHandlers[messageType] = [ callback ];
     }
 };
 
diff --git a/wikipedia/assets/bundle-test.js b/wikipedia/assets/bundle-test.js
index e4f9db8..03d6c37 100644
--- a/wikipedia/assets/bundle-test.js
+++ b/wikipedia/assets/bundle-test.js
@@ -1,24 +1,25 @@
 (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof 
require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw 
new Error("Cannot find module '"+o+"'")}var 
f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return 
s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof 
require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return 
s})({1:[function(require,module,exports){
 function Bridge() {
-    this.eventHandlers = {};
 }
 
-// This is called directly from Java, and hence needs to be available
-Bridge.prototype.handleMessage = function( type, msgPointer ) {
+var eventHandlers = {};
+
+// This is called directly from Java
+window.handleMessage = function( type, msgPointer ) {
     var that = this;
     var payload = JSON.parse( marshaller.getPayload( msgPointer ) );
-    if ( this.eventHandlers.hasOwnProperty( type ) ) {
-        this.eventHandlers[type].forEach( function( callback ) {
+    if ( eventHandlers.hasOwnProperty( type ) ) {
+        eventHandlers[type].forEach( function( callback ) {
             callback.call( that, payload );
         } );
     }
 };
 
 Bridge.prototype.registerListener = function( messageType, callback ) {
-    if ( this.eventHandlers.hasOwnProperty( messageType ) ) {
-        this.eventHandlers[messageType].push( callback );
+    if ( eventHandlers.hasOwnProperty( messageType ) ) {
+        eventHandlers[messageType].push( callback );
     } else {
-        this.eventHandlers[messageType] = [ callback ];
+        eventHandlers[messageType] = [ callback ];
     }
 };
 
@@ -38,8 +39,6 @@
 },{}],2:[function(require,module,exports){
 var bridge = require("./bridge");
 var transforms = require("./transforms");
-
-window.bridge = bridge;
 
 bridge.registerListener( "displayLeadSection", function( payload ) {
     // This might be a refresh! Clear out all contents!
diff --git a/wikipedia/assets/bundle.js b/wikipedia/assets/bundle.js
index 12763be..f584039 100644
--- a/wikipedia/assets/bundle.js
+++ b/wikipedia/assets/bundle.js
@@ -1,24 +1,25 @@
 (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof 
require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw 
new Error("Cannot find module '"+o+"'")}var 
f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return 
s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof 
require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return 
s})({1:[function(require,module,exports){
 function Bridge() {
-    this.eventHandlers = {};
 }
 
-// This is called directly from Java, and hence needs to be available
-Bridge.prototype.handleMessage = function( type, msgPointer ) {
+var eventHandlers = {};
+
+// This is called directly from Java
+window.handleMessage = function( type, msgPointer ) {
     var that = this;
     var payload = JSON.parse( marshaller.getPayload( msgPointer ) );
-    if ( this.eventHandlers.hasOwnProperty( type ) ) {
-        this.eventHandlers[type].forEach( function( callback ) {
+    if ( eventHandlers.hasOwnProperty( type ) ) {
+        eventHandlers[type].forEach( function( callback ) {
             callback.call( that, payload );
         } );
     }
 };
 
 Bridge.prototype.registerListener = function( messageType, callback ) {
-    if ( this.eventHandlers.hasOwnProperty( messageType ) ) {
-        this.eventHandlers[messageType].push( callback );
+    if ( eventHandlers.hasOwnProperty( messageType ) ) {
+        eventHandlers[messageType].push( callback );
     } else {
-        this.eventHandlers[messageType] = [ callback ];
+        eventHandlers[messageType] = [ callback ];
     }
 };
 
@@ -38,8 +39,6 @@
 },{}],2:[function(require,module,exports){
 var bridge = require("./bridge");
 var transforms = require("./transforms");
-
-window.bridge = bridge;
 
 bridge.registerListener( "displayLeadSection", function( payload ) {
     // This might be a refresh! Clear out all contents!
diff --git a/wikipedia/assets/main.js b/wikipedia/assets/main.js
index 7f25190..ce53f4b 100644
--- a/wikipedia/assets/main.js
+++ b/wikipedia/assets/main.js
@@ -1,8 +1,6 @@
 var bridge = require("./bridge");
 var transforms = require("./transforms");
 
-window.bridge = bridge;
-
 bridge.registerListener( "displayLeadSection", function( payload ) {
     // This might be a refresh! Clear out all contents!
     document.getElementById( "content" ).innerHTML = "";
diff --git a/wikipedia/src/main/java/org/wikipedia/CommunicationBridge.java 
b/wikipedia/src/main/java/org/wikipedia/CommunicationBridge.java
index 4c1ddf5..84e0581 100644
--- a/wikipedia/src/main/java/org/wikipedia/CommunicationBridge.java
+++ b/wikipedia/src/main/java/org/wikipedia/CommunicationBridge.java
@@ -68,7 +68,7 @@
         String messagePointer =  marshaller.putPayload(messageData.toString());
 
         StringBuilder jsString = new StringBuilder();
-        jsString.append("javascript:bridge.handleMessage( ")
+        jsString.append("javascript:handleMessage( ")
                 .append("\"").append(messageName).append("\", \"")
                 .append(messagePointer)
                 .append("\" );");

-- 
To view, visit https://gerrit.wikimedia.org/r/108501
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I560957d89c1927320c6ad57639cc0dbcdc90531f
Gerrit-PatchSet: 3
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <yuvipa...@gmail.com>
Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to