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

Shazron Abdullah commented on CB-8812:
--------------------------------------

The following paragraphs will detail the origin of the bug.

Firstly, why the need for a state machine in CDVWebViewDelegate? see CB-2389

tel:, telprompt: and maps: url schemes are automatically handled by the system, 
and they launch the appropriate system apps. However, this puts our state 
machine in an inconsistent state.

The first time the system url scheme is launched, the state machine goes from 
STATE_IDLE to STATE_WAITING_FOR_LOAD_START.
The second time the system url scheme is launched, the state machine starts at 
STATE_WAITING_FOR_LOAD_START, which leads to the error -- because the first 
time, the delegate function webViewDidStartLoad is never called because the URL 
was handled by the system (which makes sense).

The true fix is that we apply this patch in Cordova itself -- where we handle 
all system URLs by pushing it off to the system first before it gets to the 
delegate.

> protocol hander raises error on second firing
> ---------------------------------------------
>
>                 Key: CB-8812
>                 URL: https://issues.apache.org/jira/browse/CB-8812
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 3.5.0
>            Reporter: Brian LeRoux
>            Assignee: Shazron Abdullah
>         Attachments: Screen Shot 2015-04-07 at 1.56.42 PM.png, 
> cap-group-bug.zip
>
>
> steps to reproduce:
> 1. click a link that opens maps
> 2. go back to the app
> 3. click a link that opens maps
> expected: 
> maps opens no error
> actual: 
> maps opens and error is raised



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to