You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2015/02/12 22:53:12 UTC

[jira] [Commented] (CB-8444) Don't clobber `window.open`

    [ https://issues.apache.org/jira/browse/CB-8444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14319060#comment-14319060 ] 

ASF GitHub Bot commented on CB-8444:
------------------------------------

GitHub user jpchase opened a pull request:

    https://github.com/apache/cordova-plugin-inappbrowser/pull/80

    CB-8444 Don't clobber `window.open`

    There are scenarios where an app needs the built-in `window.open` functionality (i.e. to open an url in the system browser).  As the InAppBrowser clobbers window.open, it requires the app to either change all affected `window.open` calls (to add "target=_system"), or undo the clobber.  This clobber is particularly problematic when InAppBrowser is added to an app as a dependency of another plugin.  For example, a plugin that provides an external web-based authentication flow.
    
    Instead, each app should be able to control whether `window.open` is clobbered, regardless of the inclusion of the InAppBrowser plugin.  This PR is a first step to add a new API to access the InAppBrowser, separately from `window.open`.  The intention is to then remove the clobber of `window.open` in a future release.
    
    Changes:
    - Add new symbol/clobber to access open function (`cordova.InAppBrowser.open`)
    - Change existing tests to use new symbol (i.e. don't rely on plugin clobber of `window.open`)
    - Add tests to use `window.open` via manual replace with new symbol
    - Update docs to deprecate plugin clobber of `window.open`

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jpchase/cordova-plugin-inappbrowser CB-8444

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cordova-plugin-inappbrowser/pull/80.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #80
    
----
commit ad263a1b539660b00e4cd4d4c5ac7be38acf9351
Author: Jason Chase <ja...@gmail.com>
Date:   2015-02-12T21:34:32Z

    CB-8444 Don't clobber `window.open`
    - Add new symbol/clobber to access open function (`cordova.InAppBrowser.open`)
    - Change existing tests to use new symbol (i.e. don't rely on plugin clobber of `window.open`)
    - Add tests to use `window.open` via manual replace with new symbol
    - Update docs to deprecate plugin clobber of `window.open`

----


> Don't clobber `window.open`
> ---------------------------
>
>                 Key: CB-8444
>                 URL: https://issues.apache.org/jira/browse/CB-8444
>             Project: Apache Cordova
>          Issue Type: Wish
>          Components: Plugin InAppBrowser
>            Reporter: sandstrom
>            Assignee: Jason Chase
>
> Where Cordova plugins map 1:1 to W3C API's it's great that they clobber the corresponding namespace. Geolocation is a good example.
> However, it doesn't really feel like this plugin is a 1:1, so perhaps it should be available at another name, e.g. `window.iabOpen` (the old API should be preserved until the next major though, since to keep backward compatibility).



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

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