[ 
https://issues.apache.org/jira/browse/CB-8207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shazron Abdullah resolved CB-8207.
----------------------------------
    Resolution: Fixed

Fixed by CB-8838

> [WKWebView][iOS 8] Unnecessary JSON conversion and possible leak
> ----------------------------------------------------------------
>
>                 Key: CB-8207
>                 URL: https://issues.apache.org/jira/browse/CB-8207
>             Project: Apache Cordova
>          Issue Type: Sub-task
>          Components: CordovaJS, iOS
>    Affects Versions: 3.5.0
>            Reporter: Incarnadine
>            Assignee: Shazron Abdullah
>             Fix For: 4.0.0
>
>
> The WKWebView bridge is calling JSON.stringify and adding the result to the 
> command queue which appears to be unnecessary. 
> The JSON conversion negates part of the performance gain of letting 
> WKScriptMessage marshal the array.
> Additionally, since commands with WKWebView are processed immediately, it's 
> unclear what will happen to the queued commands. Something will either 
> process them resulting in duplicate command execution, or the queue will 
> continue to grow and allocate memory.
> See ios/exec.js:
> {code}
>     // FIXME: This call may be unnecessary depending on how 
>     // WKScriptMesssage marshals ArrayBuffer
>     actionArgs = massageArgsJsToNative(actionArgs);
>     var command = [callbackId, service, action, actionArgs];
>     // FIXME: This is unnecessary with WKWebView binding
>     // and should move into the else below
>     commandQueue.push(JSON.stringify(command));
>     
>     if (bridgeMode === jsToNativeModes.WK_WEBVIEW_BINDING) {
>         window.webkit.messageHandlers.cordova.postMessage(command);
>     } else {
>         if (!isInContextOfEvalJs && commandQueue.length == 1) {
>             pokeNative();
>         }
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to