IP Library Granted Patent US 9,542,245
Granted Patent B2
US 9,542,245 · App. 14/922,566 · Granted Jan 10, 2017

Processing user input events in a web browser

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,542,245
App. No.
14/922,566
Granted
Jan 10, 2017
Kind
B2
Abstract

A method and computing device are provided for processing user events received via a user interface, such as a touchscreen, in multiple threads. When a user event is received for a target element in a webpage, the user event is dispatched to both a main browser thread and a secondary thread. The secondary thread processes user events in accordance with established default actions defined within the browser, while the main thread processes the user events in accordance with any event handlers defined for that target element. The main thread processing may be delayed by other interleaved task, and the secondary thread may be given priority over the main thread. When the secondary thread completes processing, an updated webpage is displayed. When the main thread subsequently completes processing, its updated rendering of the webpage is displayed. The secondary thread thus provides an early user interface response to the user event.

Claims (33)

1. A method of processing user events on a plurality of threads, the method comprising:

receiving a user event at a touchscreen of an electronic device curing display of a document by the touchscreen;

dispatching the user event to a main thread of a web browser and to a secondary thread of the web browser, wherein the main thread of the web browser is configured to process user events and non-user events;

after a predetermined period of time has elapsed following the start of processing of the user event by the main thread or dispatch of the user event to the main thread, processing the user event by the secondary thread, wherein the secondary thread is configured to process the user event using a default handling method;

upon completing processing of the user event by the main thread, updating the display of the document according to the processing completed by the main thread; and

notifying the second thread to terminate by the main thread, in response to the completion of the processing.

2. The method of claim 1 , wherein the main thread is configured to process queued tasks such that processing of the user event by the main thread may be delayed until processing of other previously queued tasks completes.

3. The method of claim 1 , wherein the predetermined period of time is at least 100 milliseconds.

4. The method of claim 1 , wherein the default handling method is defined at the electronic device prior to receipt of the document.

5. The method of claim 1 , wherein the document comprises a webpage.

6. The method of claim 5 , wherein the webpage specifies a handling method for the user event and wherein the main thread processes the user event according to the specified handling method.

7. The method of claim 6 , wherein the handling method specified by the webpage is different than the default handling method.

8. The method of claim 6 , wherein the handling method specified by the webpage is the same as the default handling method.

9. An electronic device comprising:

a touchscreen;

at least one processor in communication with the touchscreen, the at least one processor being configured to:

receive a user event at the touchscreen of the electronic device during display of a document by the touchscreen;

dispatch the user event to a main thread of a web browser and to a secondary thread of the web browser, wherein the main thread of the web browser configured to process user events and non-user events;

after a predetermined period of time has elapsed following the start of processing of the user event by the main thread or dispatch of the user event for to the main thread of the web browser, process the user event by the secondary thread, wherein the secondary thread is configured to process the user event using a default handling method;

upon completing processing of the user event by the main thread, update the display of the document according to the processing completed by the main thread; and

notify the second thread to terminate by the main thread, in response to the completion of the processing.

10. The electronic device of claim 9 , wherein the main thread is configured to process queued tasks such that processing of the user event by the main thread may be delayed until processing of other previously queued tasks completes.

11. The electronic device of claim 9 , wherein the predetermined period of time is at least 100 milliseconds.

12. The electronic device of claim 9 , wherein the default handling method is defined at the electronic device prior to receipt of the document.

13. The electronic device of claim 9 , wherein the document comprises a webpage.

14. The electronic device of claim 13 , wherein the webpage specifies a handling method for the user event and wherein the main thread processes the user event according to the specified handling method.

15. The electronic device of claim 14 , wherein the handling method specified by the webpage is different than the default handling method.

16. A non-transitory computer readable storage medium comprising processor-executable instructions which, when executed, configure a processor to:

receive a user event at a touchscreen of an electronic device during display of a document by the touchscreen;

dispatch the user event to a main thread of a web browser and to a secondary thread of the web browser, wherein the main thread of the web browser configured to process user events and non-user events;

after a predetermined period of time has elapsed following the start of processing of the user event by the main thread or dispatch of the user event to the main thread of the web browser, process the user event by the secondary thread, wherein the secondary thread is configured to process the user event using a default handling method;

upon completing processing of the user event by the main thread, update the display of the document according to the processing completed by the main thread; and

notify the second thread to terminate by the main thread, in response to the completion of the processing.

Assignments (6)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064271/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Nov 16, 2015
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 037114/0101 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2015
From: TREAT, ADAM CHESTER
To: RESEARCH IN MOTION CORPORATION
Reel/Frame 036881/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2015
From: RESEARCH IN MOTION CORPORATION
To: RESEARCH IN MOTION LIMITED
Reel/Frame 036881/0523 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2015
From: FIDLER, ELI JOSHUA; NILSSON, KARL ARVID; TAPUSKA, DAVID FRANCIS; MAK, GENEVIEVE ELIZABETH
To: RESEARCH IN MOTION LIMITED
Reel/Frame 036956/0939 →