Patent ID: 7802176

Claim:
A computer-readable medium having computer-executable instructions that when executed by a processor cause a computing system to perform a method of navigating one or more web pages, the method comprising: receiving a request to navigate to a web page, the web page including a plurality of navigable elements that includes at least a first and a second navigable element, wherein the second navigable element is a descendent of the first navigable element and wherein the first navigable element is associated with a first navigation service and wherein the second navigable element is associated with a second navigation service, the first and second navigation services being configured to navigate independently of each other, wherein the first navigation service is associated with a first state machine and the second navigation services is associated with a second state machine, wherein both state machines are configured to allow the plurality of navigation services to work together in an hierarchical manner; in response to the request, commencing to download content of the web page to the first and second navigable elements and transitioning the first and second state machines from an idle state to a navigating state to indicate that content is being downloaded to the first and second navigable elements; after receiving the content to be displayed in the first navigable element and while content is still being downloaded to the second navigable element, transitioning the first state machine to a wait state and waiting in the wait state until the content to be displayed in the second navigable element has been downloaded to the second navigable element; after receiving and displaying the content in the second navigable element, transitioning the second state machine to an idle state, wherein upon transitioning to the idle state, the second navigation service sends the first navigation service a load completed event to notify the first navigation service that the content has been loaded in the second navigable element; and upon receiving the load completed event, transitioning the first state machine to the idle state indicating that all content to be displayed within the plurality of navigable elements has been loaded.