-
Notifications
You must be signed in to change notification settings - Fork 14
Description
This purpose of this ticket is to keep track of a visual glitch that has been reported by ChrisM and that I reproduced so far only with the "todoApp" (demos/todoApp, fresh new in Dojo trunk): when running the todoApp demo from trunk (22 May 2012) on an iOS device, touching some of its dojox.mobile "Back" buttons in the headings leads to an unpleasant two-steps highlighting of the button: first the rectangular area, then the arrow. While being specific to iOS devices, it is not specific to a given theme (it can be reproduced on iOS using the iPhone, Android, and BlackBerry themes).
It is currently unknown whether the cause is in dojox.mobile, dojox.app, dojox.mvc, demos/todoApp, or elsewhere.
Explanation: the expectation is that, when touching the button, it goes temporarily in "selected" state, which visual effect is determined by the style sheet. Usually, this happens at the same time (visually) for the two parts of the Back button, the rectangular area and the arrow. But, for some unknown reason, in the todoApp there is slight delay between the highlighting of these parts for some (but not all...) of the Back buttons.
How to reproduce:
- Launch demos/todoApp/demo.html on a iOS device. To experiment with different themes, test successively demos/todoApp/demo.html?theme=iPhone, demos/todoApp/demo.html?theme=Android, and demos/todoApp/demo.html?theme=BlackBerry.
- In the right-side pane, touch for instance "Reminder 1 to do buy milk".
- In the heading of the right-side pane, touch the "Back" button.
==> The rectangular part and the arrow part of the button are not highlighted simultaneously. There is a slight delay (first the rectangle, then the arrow).
Notes:
a) Reproduced with iPhone, Android and BlackBerry themes on the following devices: iPhone 4S iOS 5.0.1 and iPad 2 iOS 5.0.1.
b) Not reproduced with any of these themes on: Galaxy Tab Android 2.2, Galaxy Nexus Android 4.0.4, BlackBerry Torch 9800 6.0.0.246.
c) Not reproduced with another Back button of the same todoApp on the same iOS devices: after touching "Reminder 1 to do buy milk", touch "Repeat" in the list, then touch the Back button. For this Back button (from todoApp/templates/details/repeat.html) the problem does not occur.
d) Not reproduced either by testing on the same iOS devices various dojox.mobile apps such as test_GridLayout-demo.html or test_ListItem-actions.html from dojox/mobile/tests, or demos/mobileGallery/demo.html.
e) Also not reproduced using dojox/app/tests/multiSceneApp/index.html, nor using dojox/mvc/tests/mobile/demo/demo.html.
f) Inside todoApp, the comparison betw. a Back button which has the problem and another which doesn't have it shows that the first is in a page (todoApp/templates/details/detail.html) which includes dojox.app.widgets.Container and dojox.mvc.Group widgets. Now, at least the replacement of dojox.app.widgets.Container by a dojox.mobile.ScrollableView and other attempts to simplify this page do not avoid the problem.
g) The cause might also be inside dojox.mobile. Still, so far I only reproduce in todoApp, and there is a bunch of heavy and complex actions in todoApp, such as the "refreshData" called by "beforeActivate" in todoApp's details/details.js and/or in dojox.app/dojox.mvc, which are possible causes of interference with the selection/deselection done by dojox.mobile.ToolBarButton (_setSelectedAttr and _updateArrowColor) and its base class dojox.mobile._ItemBase. Another possible cause would be the interference between the transition mechanism in dojox.app (see dojox.app.controllers.History and dojox.app.controllers.Transition) and dojox.mobile's own transition (both being active in todoApp), but at a first glance deactivating dojox.app's history (if correctly done - just commented it out in config-*.json) doesn't solve the issue. dojox.mvc._atBindingExtension might also come into the play. Nothing clearly identified as being the faulty code so far.