Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-12218

inconsistent null handling between EVAL and ONLINE bridge modes

VotersWatch issueWatchersLinkUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 6.0.0
    • None
    • cordova-android
    • None
    • Android

    Description

      If the Android native code invokes the success callback like this:
      callbackContext.success(null);
      then the value given to the javascript callback changes depending on the bridge type used.

      If the ONLINE_EVENT type is used, then null will be passed to the javascript callback.
      ie: if result is the parameter of the javascript success callback then
      result === null // will be true
      result === "" // will be false

      If the EVAL_BRIDGE type is used, then an empty string will be passed to the javascript callback.
      ie: if result is the parameter of the javascript success callback then
      result === null // will be false
      result === "" // will be true

      The value of the parameter given to the success callback should not change depending on the bridge type. Since ONLINE_EVENT was the default before cordova android 6.0.0, I am inclined to think the ONLINE bridge is doing the correct behaviour. Also, converting null to an empty string loses information. Therefore I think the EVAL mode should to be changed to be consistent with the ONLINE mode.

      Attachments

        1. CB12218.zip
          10.39 MB
          Alan Kinzie

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            bowserj Joey Robert Bowser
            akinzie Alan Kinzie
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment