incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jesse MacFadyen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-751) Undefined function is called when orientation change
Date Fri, 11 May 2012 19:32:48 GMT

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

Jesse MacFadyen commented on CB-751:
------------------------------------

It makes sense that different views within an application may want to limit their supported
orientations, so this was an opportunity to give the webview a chance to decide if it should
rotate.

This functionality is available on the native side for all devices, so to me it makes sense
to support it in cordova.  However, until it is supported on all platforms, or documented
as a non-existent quirk, it is a defect.

Setting supported orientations in the plist in an iOS project is a one time thing, IMHO the
plist should always support all orientations and the developer's code should be able to choose
whether it wants to rotate based on it's current state.

The previous mailing list discussion de-volved into building a vast API for the webview code
to specify it's available orientations at any given time, however it is not possible to force
an orientation change based on the call to set the available orientations to something different
than the current orientation.

The error above can be safely ignored, it is Obj-C calling a method it expects to be defined
on the window. 'shouldRotateToOrientation'
If you do not want to see the error message, because it bugs you, simply add :

window.shouldRotateToOrientation = function(newOrientation){return true;};

Alternatively, we could change the Obj-C side to be :


NSString* jsCall = [ NSString stringWithFormat:@"(function(){if('shouldRotateToOrientation'
in window) return window.shouldRotateToOrientation(%d);})();",i];

Then at least no one would see errors output ..



                
> Undefined function is called when orientation change
> ----------------------------------------------------
>
>                 Key: CB-751
>                 URL: https://issues.apache.org/jira/browse/CB-751
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 1.6.0, 1.6.1, 1.7.0
>         Environment: ipod, ios 5.1
>            Reporter: Clement Vollet
>            Assignee: Shazron Abdullah
>             Fix For: 1.8.0
>
>
> I get an undefined exception when changing the orientation of the device.
> Steps to "recreate":
> in a new project, add the following in index.html:
> 	function onDeviceReady()
> 	{
> 		// do your thing!
> 		navigator.notification.alert("Cordova is working")
>         window.onerror=function(error_msg, URL, line_number) {
>             console.log("WINDOW > Message: " + error_msg);
>             console.log("WINDOW > URL: " + URL);
>             console.log("WINDOW > Line: " + line_number);
>         }
> 	}
> And then in the simulator, rotate the screen.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message