[
https://issues.apache.org/jira/browse/CB-10106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15041332#comment-15041332
]
ASF subversion and git services commented on CB-10106:
------------------------------------------------------
Commit 6340ef0729458b604fd964215135a482d4124053 in
cordova-plugin-wkwebview-engine's branch refs/heads/master from [~shazron]
[
https://git-wip-us.apache.org/repos/asf?p=cordova-plugin-wkwebview-engine.git;h=6340ef0
]
CB-10106 - added bridge proxy
> iOS bridges need to take into account bridge changes
> ----------------------------------------------------
>
> Key: CB-10106
> URL: https://issues.apache.org/jira/browse/CB-10106
> Project: Apache Cordova
> Issue Type: Bug
> Components: iOS, Plugin WKWebViewEngine
> Reporter: Shazron Abdullah
> Assignee: Shazron Abdullah
> Labels: cordova-ios-4.0.x
>
> New bridges (and the existing bridge) needs to take into account bridge
> changes.
> Each bridge should have this at the end of their .js:
> {code}
> // unregister the old bridge
> cordova.define.remove('cordova/exec');
> // redefine bridge to our new bridge
> cordova.define("cordova/exec", function(require, exports, module) {
> module.exports = iOSExec;
> });
> {code}
> But, this would only re-define cordova.exec and the return value of
> `require('cordova/exec')`. However, if the bridge was not loaded first,
> existing local references in plugins to `require('cordova/exec')` will not be
> updated.
> Therefore, each bridge itself must detect that it is not the current bridge,
> and forward commands to the new bridge. Thus:
> {code}
> var iOSExec = function() {
> if (iOSExec !== cordova.exec) {
> cordova.exec.apply(null, arguments);
> return;
> }
> // ... rest of the implementation here...
> }
> {code}
> Although I see this being a problem of the default bridge, not any external
> bridges.
> There might be an edge case where a command is already in the commandQueue
> (default bridge) when the bridge is swapped, that needs to be handled.
> I realize this seems hacky, but if there's a better way to handle this case
> I'm all ears.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]