[ 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