Techniques for detecting inactive browser windows
First Claim
1. A method comprising:
- maintaining, by a computer system, a first list of windows open in a web browser running on a client computer system, at least a first window of the first list of windows being associated with a first window identifier, the first window identifier identifying a first application page, the first list of windows including a subset of windows that are potentially active;
receiving, by the computer system, a request to access a second application page displayed in the first window;
updating, by the computer system, the first window identifier to identify the second application page;
receiving, by the computer system, a notification from the web browser that the first application page displayed in the first window in the first list of windows has been unloaded;
upon receiving the notification, determining, by the computer system, that the first window identifier associated with the first window identifies the second application page; and
based at least in part on the determining, retaining, by the computer system, the first window in the first list of windows without adding the first window to a second list of windows, the second list of windows including a subset of windows in the first list of windows that are potentially inactive.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments provide techniques for tracking the lifecycles of client-side browser windows in the context of a web application. In an embodiment, a server component of a web application can receive a notification that an application page in a first window has been unloaded. In response, the server component can associate the first window with an expiration time and add the first window to an expiration list of windows that are potentially inactive. If a request is received by the server component from the first window while the first window is in the expiration list, the server component can identify the first window as active and remove it from the list. If a request is received by the server component from a second window after the expiration time associated with the first window, the server component can identify the first window as inactive and free all resources for the first window.
96 Citations
14 Claims
-
1. A method comprising:
-
maintaining, by a computer system, a first list of windows open in a web browser running on a client computer system, at least a first window of the first list of windows being associated with a first window identifier, the first window identifier identifying a first application page, the first list of windows including a subset of windows that are potentially active; receiving, by the computer system, a request to access a second application page displayed in the first window; updating, by the computer system, the first window identifier to identify the second application page; receiving, by the computer system, a notification from the web browser that the first application page displayed in the first window in the first list of windows has been unloaded; upon receiving the notification, determining, by the computer system, that the first window identifier associated with the first window identifies the second application page; and based at least in part on the determining, retaining, by the computer system, the first window in the first list of windows without adding the first window to a second list of windows, the second list of windows including a subset of windows in the first list of windows that are potentially inactive. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium having stored thereon instructions executable by a processor, the instructions including:
-
instructions that cause the processor to maintain a first list of windows open in a web browser running on a client computer system, at least a first window of the first list of windows being associated with a first window identifier, the first window identifier identifying a first application page, the first list of windows including a subset of windows that are potentially active; instructions that cause the processor to receive a request to access a second application page displayed in the first window; instructions that cause the processor to update the first window identifier to identify the second application page; instructions that cause the processor to receive a notification from the web browser that the first application page displayed in the first window in the first list of windows has been unloaded; instructions that cause the processor to determine, upon receiving the notification, that the first window identifier associated with the first window identifies the second application page; and instructions that cause the processor to retain, based at least in part on the determining, the first window in the first list of windows without adding the first window to a second list of windows, the second list of windows including a subset of windows in the first list of windows that are potentially inactive. - View Dependent Claims (9, 10, 11)
-
-
12. A system comprising:
-
a memory and a processor, coupled to the memory, configured to execute computer executable instructions to collectively at least; maintain a first list of windows open in a web browser running on a client computer system, at least a first window of the first list of windows being associated with a first window identifier, the first window identifier identifying a first application page, the first list of windows including a subset of windows that are potentially active; receive a request to access a second application page displayed in the first window; update the first window identifier to identify the second application page; receive a notification from the web browser that the first application page displayed in the first window in the first list of windows has been unloaded; upon receiving the notification, determining that the first window identifier associated with the first window identifies the second application page; and based at least in part on the determining, retain the first window in the first list of windows without adding the first window to a second list of windows, the second list of windows including a subset of windows in the first list of windows that are potentially inactive. - View Dependent Claims (13, 14)
-
Specification