incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shazron <shaz...@gmail.com>
Subject Re: navigator.orientation API + tests
Date Wed, 14 Mar 2012 18:08:37 GMT
According to this, resize event might not be reliable on iOS to detect
orientation change:
http://stackoverflow.com/questions/1649086/detect-rotation-of-android-phone-in-the-browser-with-javascript

In my opinion if we chase a standard but it's not reliable - it's just
going to frustrate users, especially if we take away a feature that is
already working well.

On Wed, Mar 14, 2012 at 10:55 AM, Filip Maj <fil@adobe.com> wrote:
> My opinion is it should be a W3C spec for it be considered "default
> browser behavior".
>
> The only "specification" for this that I can find is Apple's documentation.
>
> On 3/14/12 10:45 AM, "Jesse" <purplecabbage@gmail.com> wrote:
>
>>WP7 supports the orientationchange event, and window.orientation stores
>>the
>>current value.
>>I believe this concept was started in early Mobile Safari on iOS and has
>>been cloned in the other WebKit devices.
>>
>>In my mind this is default expected browser behaviour and should be
>>carried
>>through to our implementation, although I cannot find a spec or list of
>>which mobile browsers support it.
>>
>>On Tue, Mar 13, 2012 at 1:07 PM, Filip Maj <fil@adobe.com> wrote:
>>
>>> Pretty sure iOS is the only platform with this implementation.
>>>
>>> On 3/13/12 12:40 PM, "Shazron" <shazron@gmail.com> wrote:
>>>
>>> >I just realize the resize event will only work for iOS if we throw out
>>> >the concept of there being two types of Landscape and Portrait
>>> >(LandscapeLeft, LandscapeRight, Portrait and PortraitUpsideDown) which
>>> >exist with the current window.orientation. Are the two types of
>>> >Landscape and Portrait only used in iOS, what about BB and Android, or
>>> >WP7?
>>> >
>>> >On Tue, Mar 13, 2012 at 10:28 AM, Filip Maj <fil@adobe.com> wrote:
>>> >> Certainly works on Android and at least on the Torch (BBs with an
>>> >> accelerometer)
>>> >>
>>> >> On 3/13/12 10:21 AM, "Shazron" <shazron@gmail.com> wrote:
>>> >>
>>> >>>Is that what Android / BB does and is reliable and tested?
>>> >>>
>>> >>>On Tue, Mar 13, 2012 at 9:15 AM, Filip Maj <fil@adobe.com>
wrote:
>>> >>>> I don't think we need to jump on supporting the new
>>> >>>> (DeviceOrientation/Motion) events in the cordova API right away.
>>> >>>>
>>> >>>> As a first step I would simply remove the tests for
>>> >>>>window.orientation.
>>> >>>>
>>> >>>> As for replacing it: you can attach to the "resize" event on
>>>window,
>>> >>>>and
>>> >>>> compare the screen width vs. screen height to figure out what
>>> >>>>orientation
>>> >>>> the device is in.
>>> >>>>
>>> >>>> On 3/13/12 9:02 AM, "Shazron" <shazron@gmail.com> wrote:
>>> >>>>
>>> >>>>>If we go ahead with removing iOS < 4.2 support, the backfilling
of
>>> >>>>>support of the two events in JS can be removed:
>>> >>>>>https://issues.apache.org/jira/browse/CB-93
>>> >>>>>
>>> >>>>>I'll let others chime in about removing window.orientation
in iOS
>>> >>>>>before adding an issue in jira.
>>> >>>>>
>>> >>>>>If we remove it, here are my recommendations:
>>> >>>>>   1) Remove iOS < 4.2 support in Cordova
>>> >>>>>   2) Write docs regarding what replaces window.orientation,
and
>>>how
>>> >>>>>to use the new event(s) to detect simple orientation changes
>>> >>>>>
>>> >>>>>
>>> >>>>>On Tue, Mar 13, 2012 at 8:40 AM, Shazron <shazron@gmail.com>
wrote:
>>> >>>>>> The iOS window.orientation and orientationchange event
items
>>>(which
>>> >>>>>> are not W3C, and has been in iOS since 1.1) was to support
these
>>> >>>>>> features in a UIWebView which came for free in Mobile
Safari.
>>> >>>>>>Apple's
>>> >>>>>> description is here:
>>> >>>>>>
>>> >>>>>>
>>> https://developer.apple.com/library/ios/#DOCUMENTATION/AppleApplicati
>>> >>>>>>on
>>> >>>>>>s/
>>>
>>>>>>>>>Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//app
>>>>>>>>>le
>>> >>>>>>_r
>>> >>>>>>ef
>>> >>>>>>/doc/uid/TP40006511-SW16
>>> >>>>>>
>>> >>>>>> Apple already supports the DeviceMotionEvent and
>>> >>>>>> DeviceOrientationEvents in iOS 4.2 (which we backfill
support for
>>> >>>>>> older iOS versions) and those are W3C drafts are I believe.
>>> >>>>>>
>>> >>>>>>
>>> http://www.mobilexweb.com/blog/safari-ios-accelerometer-websockets-ht
>>> >>>>>>ml
>>> >>>>>>5
>>> >>>>>>
>>> >>>>>> Also those two events are not exact replacements for
>>> >>>>>> window.orientation - we would need to have to have equivalents
/
>>> >>>>>> educate users on how to map the event values to the
appropriate
>>> >>>>>> window.orientation ones.
>>> >>>>>>
>>> >>>>>> Shaz
>>> >>>>>>
>>> >>>>>> On Tue, Mar 13, 2012 at 8:19 AM, Filip Maj <fil@adobe.com>
wrote:
>>> >>>>>>> Hey all,
>>> >>>>>>>
>>> >>>>>>> In mobile-spec we have a series of tests checking
an API
>>>available
>>> >>>>>>>at
>>> >>>>>>>navigator.orientation [1]. From what I can tell /
remember, this
>>>is
>>> >>>>>>>something that we support as a legacy, as neither
Android or
>>> >>>>>>>BlackBerry
>>> >>>>>>>have it but I believe there are leftovers in iOS
(before
>>>cordova-js
>>> >>>>>>>integration) that still have this API.
>>> >>>>>>>
>>> >>>>>>> I do not think it is based on any W3C spec. The
closest thing I
>>> >>>>>>>could
>>> >>>>>>>find is something the Geolocation Working Group are
drafting up,
>>>an
>>> >>>>>>>event called device orientation [2].
>>> >>>>>>>
>>> >>>>>>> My thinking is, remove this API completely. It is
not part of
>>>our
>>> >>>>>>>documentation and as far as I can tell only iOS supports
it right
>>> >>>>>>>now.
>>> >>>>>>>Instead, set new tasks to implement the W3C deviceorientation
>>>event
>>> >>>>>>>(or
>>> >>>>>>>perhaps come up with a simpler, synchronous API of
our own!).
>>> >>>>>>>
>>> >>>>>>> Thoughts?
>>> >>>>
>>> >>
>>>
>>>
>

Mime
View raw message