Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Focus Based Navigation Improvements #49
Currently the focus based navigation mode is entirely written in Java. The overall goal of the focus based navigation (known as navMode) is to provide highlight navigation of items via the trackpad for both non-touch and touch based devices.
With the new architecture of the BB6+ devices that use a native WebKit instance, this causes severe performance degradation. On BB6+ devices you see lots of "echoing" when scrolling where the scroll movements will be "re-played".
This is a result of the IPC channel between Java and Native when interacting with the DOM of the page in the browser. All DOM calculations and event raising currently happens in Java which turns into synchronous IPC calls to the Native WebKit browser. This IPC channel creates a delay thus causing the echo.
All functionality of navMode is intended to be kept except for those items explicitly called out in the "Limitations" section.
All styling of DOM elements to indicate that they are focused/unfocused must be done through style changes triggered by mouseover and mouseout events on the DOM element.
This is somewhat less convenient than using :hover pseudo classes because of their simplicity and cascading nature.
This also means that the default hover CSS effect (draw blue outline around DOM element) will also not be supported in the re-write
One such example would be clicking on a <select> box and having it pop open for the user to interact with. This may need to be handled by actually trapping this click and providing a UI for the user to then select the item. Same goes for other UI controls such as date edits.
This will all be uncovered as we do the work and work through the issues with their possible solutions.
There were some aspects of navMode that were not possible with the Java implementation. One of these was the ability to handle scrollable div's and scroll content within the div. We are hopeful that we can also tackle this as a stretch goal for the improvements.
Hi Dario. The changes are in our working repository here:
It will be picked up in the WebWorks for Smartphone v2.3 coming very soon.
Research In Motion
This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful.