IP Library Granted Patent US 7,721,228
Granted Patent B2
US 7,721,228 · App. 10/805,668 · Granted May 18, 2010

Method and system of controlling a context menu

Assignee: Yahoo! Inc.
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 7,721,228
App. No.
10/805,668
Granted
May 18, 2010
Kind
B2
Abstract

An embodiment of the invention, for controlling a context menu, used with a Web page, wherein the Web page is divided into regions, can comprise downloading additional menu items that are not part of the context menu prior to download, and monitoring for when a user calls for a context menu. Upon detecting a context menu call, it is determined what region was selected by the user, and at least one of the additional menu items is made available to the user as part of the context menu interface. At least one of the additional menu items is chosen based on the region selected by the user.

Claims (136)

1. A method comprising:

modifying an existing context menu in existing software via a client-side software module comprising additional menu information, the client-side software module executing on a computer having a display;

detecting an event that calls for display of the existing context menu by the existing software;

after detecting the event and in response to the event, modifying the existing context menu based on the additional menu information; and

subsequently displaying, by the computer, the modified context menu, such that

the existing context menu is not displayed in response to said event, and

the modified context menu is different from the existing context menu, the modified context menu comprising an additional menu item as part of the context menu, the additional menu item being positioned within the modified context menu based on the additional menu information and not in accordance with the existing software, said additional menu item not being present within the existing context menu prior to modification.

2. The method of claim 1 , the existing context menu comprising at least one existing menu item, the additional menu item being positioned above the existing menu item in the modified context menu.

3. The method of claim 1 , wherein the modified context menu comprises an icon displayed with the additional menu item.

4. The method of claim 1 , wherein the additional menu information comprises information related to an icon to be associated with the additional menu item.

5. The method of claim 1 , wherein the additional menu item comprises at least one sub menu that comprises at least one additional sub menu item.

6. The method of claim 1 , wherein the client-side software module is provided to a user computer, the user computer displaying a Web page, the Web page being divided into regions, the method further comprising determining in what region the user is interacting with the Web page when the event occurs.

7. The method of claim 6 , further comprising selecting for display the additional menu item from a plurality of potential menu items based on the determined region.

8. The method of claim 1 , wherein the client-side software module is provided to a user computer, the user computer displaying a user interface, the method further comprising determining a location of the user interface at which the user is interacting with the user interface when the event occurs.

9. The method of claim 8 , further comprising selecting for display the additional menu item from a plurality of potential menu items based on the determined region.

10. The method of claim 1 , wherein the client-side software module is provided to a user computer, the user computer displaying a user interface, the user interface comprising a plurality of elements, the method further comprising determining which element of the plurality of elements the user is interacting with when the event occurs.

11. The method of claim 10 , further comprising selecting for display the additional menu item from a plurality of potential menu items based on the determined element.

12. The method of claim 1 , further comprising selecting for display the additional menu item from a plurality of potential menu items based on the location of a user computer to which the client-side software module is provided.

13. The method of claim 1 , wherein the client-side software module is provided to a user computer, the user computer displaying a Web page, the Web page comprising a plurality of elements, the method further comprising determining which element of the plurality of elements the user is interacting with when the event occurs.

14. The method of claim 13 , further comprising selecting for display the additional menu item from a plurality of potential menu items based on the determined element.

15. The method of claim 13 , wherein determining which element the user is interacting with comprises:

identifying an element from the plurality of elements that comprise an HTML structure;

determining a type of the element;

saving information related to the element;

determining when the user has selected text; and

saving the selected text.

16. The method of claim 15 wherein identifying an element from the plurality of elements that make up the HTML structure, determining the type of the element, and saving information related to the element are repeated for elements above a first identified element in the HTML structure until an element above the first identified element is no longer valid.

17. The method of claim 15 , wherein the additional menu item is configured based on the saved information related to the element and the saved text.

18. The method of claim 1 , further comprising, prior to modifying the existing context menu, obtaining information related to the existing context menu.

19. The method of claim 18 , wherein the obtaining comprises subclassing a browser window.

20. The method of claim 1 , wherein the client-side software module comprises a control that operates with the browser.

21. The method of claim 20 , wherein the control is implemented using an ActiveX control.

22. The method of claim 1 , further comprising providing the additional menu item as part of a general feed including button characteristics of a plurality of buttons for a downloadable toolbar, wherein the downloadable toolbar receives the additional menu item as a button that is not displayed.

23. The method of claim 22 , wherein the providing of the additional menu item is performed by a server.

24. The method of claim 1 , the modifying the existing context menu comprising adding the additional menu item to the existing context menu using an application programming interface.

25. The method of claim 1 , wherein an Internet content provider maintains for a user a user account comprising user account information, and the modified context menu is configured based on the user account information.

26. The method of claim 25 , further comprising selecting for display the additional menu item from a plurality of potential menu items based on the user account information.

27. The method of claim 25 , further comprising providing the user with the ability to log in to the content provider.

28. The method of claim 27 , wherein the selecting for display the additional menu item is determined by the content provider based upon the user account information such that the selection of the additional menu item is personalized in accordance with preferences of the user.

29. The method of claim 28 , wherein the user account information is maintained by the content provider, independent of a first computer having a first browser that the user utilizes, such that the selection of the additional menu item remains personalized when the user utilizes a second computer having a second browser.

30. The method of claim 29 , wherein the personalization of the selection of the additional menu item is based upon the location of the first computer, when the user utilizes the first computer, and is based upon the location of the second computer, when the user utilizes the second computer, such that the selection of the additional menu item is modified based upon a location of a computer utilized by the user.

31. The method of claim 1 , wherein the modified context menu is configured based on a detected location at which the user is utilizing the existing software.

32. A method comprising:

controlling an Internet browser user interface displayable by an Internet browser on a display of a computer, and enabling a user of the computer and Internet browser to access and navigate the Internet and to receive and display one or more Web pages from one or more Internet sites, including the display of a Web page from a predetermined Internet site, the Internet browser having at least one Internet browser toolbar having at least one toolbar button providing predetermined functionality to the user of the computer and Internet browser, the method comprising:

providing, by a server and at the predetermined Internet site, access to a client-side software module for controlling the Internet browser interface; and

making available for downloading by the predetermined Internet site the client-side software module for causing the display of a user toolbar that, by virtue of its being downloaded, makes additional functionality that is not part of the Internet browser prior to download available to the user after download, such that once the user toolbar is displayed the user toolbar remains displayed and the additional functionality remains available to the user regardless of a subsequent Internet site to which the Internet browser is caused to navigate after download;

the client-side software module being configured for:

detecting an event that calls for display of a context menu by existing software;

after detecting the event and in response to the event, modifying the existing context menu based on additional menu information; and

subsequently displaying the modified context menu, such that

the existing context menu is not displayed in response to said event, and

the modified context menu is different from the existing context menu, the modified context menu comprising an additional menu item as part of the context menu, the additional menu item being positioned within the modified context menu based on the additional menu information and not in accordance with the existing software, said additional menu item not being present within the existing context menu prior to modification.

33. A method comprising:

providing, by a server and at a predetermined Internet site, access to a program for controlling the Internet browser interface and making available for downloading by the predetermined Internet site, a file for causing the display of a persistent user toolbar on a computing device, the user toolbar making additional functionality that is not part of the Internet browser prior to download available to the user after download as part of the Internet browser interface, the additional functionality comprising:

detecting an event that calls for display of an existing context menu by existing software;

after detecting the event and in response to the event, modifying the existing context menu based on the additional menu information; and

subsequently displaying the modified context menu, such that

the existing context menu is not displayed in response to said event, and

the modified context menu is different from the existing context menu, the modified context menu comprising an additional menu item as part of the context menu, the additional menu item being positioned within the modified context menu based on the additional menu information and not in accordance with the existing software, said additional menu item not being present within the existing context menu prior to modification.

34. A computer-readable storage medium tangibly comprising a software module that when executed performs a method comprising:

detecting an event that calls for display of a context menu by existing software;

after detecting the event and in response to the event, modifying an existing context menu based on additional menu information; and

subsequently displaying the modified context menu, such that

the existing context menu is not displayed in response to said event, and

the modified context menu is different from the existing context menu, the modified context menu comprising an additional menu item as part of the context menu, the additional menu item being positioned within the modified context menu based on the additional menu information and not in accordance with the existing software, said additional menu item not being present within the existing context menu prior to modification.

35. The computer-readable storage medium of claim 34 , the existing context menu comprising at least one existing menu item, the additional menu item being positioned above the existing menu item in the modified context menu.

36. The computer-readable storage medium of claim 34 , wherein the modified context menu comprises an icon displayed with the additional menu item.

37. The computer-readable storage medium of claim 34 , wherein the additional menu information comprises information related to an icon to be associated with the additional menu item.

38. The computer-readable storage medium of claim 34 , wherein the additional menu item comprises at least one sub menu that comprises at least one additional sub menu item.

39. The computer-readable storage medium of claim 34 , wherein the software module is a client-side software module provided to a user computer, the user computer displaying a Web page, the Web page being divided into regions, the method further comprising determining in what region the user is interacting with the Web page when the event occurs.

40. The computer-readable storage medium of claim 39 , the method performed by the computer further comprising selecting for display the additional menu item from a plurality of potential menu items based on the determined region.

41. The computer-readable storage medium of claim 34 , wherein the software module is a client-side software module provided to a user computer, the user computer displaying a Web page, the Web page comprising a plurality of elements, the method performed by the computer further comprising determining which element of the plurality of elements the user is interacting with when the event occurs.

42. The computer-readable storage medium of claim 41 , the method performed by the computer further comprising selecting for display the additional menu item from a plurality of potential menu items based on the determined element.

43. The computer-readable storage medium of claim 41 , wherein, in the method performed by the computer, determining which element the user is interacting with comprises:

identifying an element from the plurality of elements that comprise an HTML structure;

determining a type of the element;

saving information related to the element;

determining when the user has selected text; and

saving the selected text.

44. The computer-readable storage medium of claim 43 , wherein, in the method performed by the computer, identifying an element from the plurality of elements that make up the HTML structure, determining the type of the element, and saving information related to the element are repeated for elements above a first identified element in the HTML structure until an element above the first identified element is no longer valid.

45. A system comprising:

one or more servers configured for:

providing a client-side software module for modifying an existing context menu in existing software, the client-side software module comprising additional menu information, the client-side software module being configured for:

detecting an event that calls for display of the existing context menu by the existing software;

after detecting the event and in response to the event, modifying the existing context menu based on the additional menu information; and

subsequently displaying the modified context menu, such that

the existing context menu is not displayed in response to said event, and

the modified context menu is different from the existing context menu, the modified context menu comprising an additional menu item as part of the context menu, the additional menu item being positioned within the modified context menu based on the additional menu information and not in accordance with the existing software, said additional menu item not being present within the existing context menu prior to modification.

46. The system of claim 45 , the existing context menu comprising at least one existing menu item, the additional menu item being positioned above the existing menu item in the modified context menu.

47. The system of claim 45 , wherein the modified context menu comprises an icon displayed with the additional menu item.

48. The system of claim 45 , wherein the additional menu information comprises information related to an icon to be associated with the additional menu item.

49. The system of claim 45 , wherein the additional menu item comprises at least one sub menu that comprises at least one additional sub menu item.

50. The system of claim 45 , wherein the client-side software module is provided to a user computer, the user computer displaying a Web page, the Web page being divided into regions, the method further comprising determining in what region the user is interacting with the Web page when the event occurs.

51. The system of claim 50 , the client-side software module being further configured for selecting for display the additional menu item from a plurality of potential menu items based on the determined region.

52. The system of claim 45 , wherein the client-side software module is provided to a user computer, the user computer displaying a Web page, the Web page comprising a plurality of elements, the servers being further configured for determining which element of the plurality of elements the user is interacting with when the event occurs.

53. The system of claim 52 , the client-side software module being further configured for selecting for display the additional menu item from a plurality of potential menu items based on the determined element.

54. The system of claim 52 , wherein determining which element the user is interacting with comprises:

identifying an element from the plurality of elements that comprise an HTML structure;

determining a type of the element;

saving information related to the element;

determining when the user has selected text; and

saving the selected text.

55. The system of claim 54 , wherein identifying an element from the plurality of elements that make up the HTML structure, determining the type of the element, and saving information related to the element are repeated for elements above a first identified element in the HTML structure until an element above the first identified element is no longer valid.

56. A method comprising:

providing, by a computing system to a user computer displaying a Web page comprising a plurality of elements, a client-side software module for modifying an existing context menu in existing software, the existing context menu comprising at least one existing menu item, the client-side software module comprising additional menu information, the client-side software module being configured for:

detecting an event that calls for display of the existing context menu by the existing software;

after detecting the event and in response to the event, modifying the existing context menu based on the additional menu information;

subsequently displaying the modified context menu such that,

the existing context menu is not displayed in response to said event, and

the modified context menu is different from the existing context menu, the modified context menu comprising an additional menu item as part of the context menu, the additional menu item being positioned relative to the existing menu item within the modified context menu based on the additional menu information and not in accordance with the existing software, said additional menu item not being present within the existing context menu prior to modification, and wherein the modified context menu comprises an icon displayed with the additional menu item;

identifying an element from the plurality of elements that comprise an HTML structure;

determining a type of the element;

saving information related to the element;

determining when the user has selected text; and

saving the selected text;

wherein identifying an element from the plurality of elements that make up the HTML structure, determining the type of the element, and saving information related to the element are repeated for elements above a first identified element in the HTML structure until an element above the first identified element is no longer valid and wherein the additional menu item is configured based on the saved information related to the element and the saved text.

57. A method comprising:

providing the user with the ability to log in to an Internet content provider;

maintaining for the user a user account comprising user account information,

providing, by a computing system, a client-side software module for modifying an existing context menu in existing software, the client-side software module comprising additional menu information and being configured for:

detecting an event that calls for display of a context menu by the existing software;

after detecting the event and in response to the event, modifying the existing content menu based on the additional menu information;

selecting for display the additional menu item from a plurality of potential menu items based on the user account information such that the selection is personalized in accordance with preferences of the user; and

subsequently displaying the modified context menu; wherein,

the existing context menu is not displayed in response to said event, and

the modified context menu is different from the existing context menu, the modified context menu comprising an additional menu item as pan of the context menu, the additional menu item being positioned within the modified context menu based on the additional menu information and not in accordance with existing software, said additional menu item not being present within the existing context menu prior to modification; and

wherein the user account information is maintained by the content provider, independent of a first computer having a first browser that the user utilizes, such that the selection of the additional menu item remains personalized should the user utilize a second computer having a second browser.

58. A method comprising:

accessing additional menu information;

detecting an event that requires display of a context menu by existing software via a client-side software module executing on a computer;

after detecting the event and in response to the event modifying the existing context menu based on the additional menu information; and

displaying the modified context menu;

wherein the modified context menu is different from the existing context menu, the modified context menu comprising an additional menu item as part of the context menu, the additional menu item being positioned within the modified context menu based on the additional menu information and not in accordance with the existing software, said additional menu item not being present within the existing context menu prior to modification.

59. The method of claim 58 , the existing context menu comprising at least one existing menu item, the additional menu item being positioned above the existing menu item in the modified context menu.

60. The method of claim 58 , wherein the modified context menu comprises an icon displayed with the additional menu item.

61. The computer-readable medium of claim 34 , wherein the code is part of a downloadable toolbar application.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2004
From: BURKE, ERIC; WADA, ALAN; FAN, DUKE TSAO-MING
To: YAHOO!INC.
Reel/Frame 014790/0250 →
Continuity (2)
Provisional Application 6049302900 · Aug 5, 2003
Related Publication 20050039141A1 · Feb 17, 2005