Closed Bug 596109 Opened 14 years ago Closed 8 years ago

Add some tab-centric API methods to nsIBrowserDOMWindow

Categories

(Firefox :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX
Tracking Status
e10s + ---

People

(Reporter: mfinkle, Assigned: billm)

Details

nsIBrowserDOMWindow has some nice utility methods for opening URIs from components and C++ code, that are not aware, or able, to access the XBL-based tabbed browser widgets.

We need to add some addition methods to the interface to make it more useful from components and decrease the amount of code that uses Firefox-specific or Fennec-specific tab / browser managment code.

For example, with e10s and IPC messages, components frequently receive message with a message.target, where target is a <browser>. Being able to get the "tab" associated with the "browser" and making it active would be very useful. Here is a basic plan:

add to nsIBrowserDOMWindow:

  nsIBrowserTab getTabForContentWindow(long long aWindowId);
  nsIBrowserTab getActiveTab();

new interface wrapping a "tab":

nsIBrowserTab {
  void activate();
  nsIWebNaivgation getWebNavigation();
}

We could put the definition for nsIBrowserTab in the nsIBrowserDOMWindow.idl file and implement in Firefox and Fennec.
I'd like to resurrect this bug for electrolysis. It would be very useful to have a single abstraction for a tab that would include the nsIWebNavigation, whether the tab is private, and maybe a few other things. We could expose it to web progress listeners and http-on-modify listeners, since they don't now have a way to get this information.
Product: Fennec Graveyard → Firefox
We dug this bug up when trying to figure out how to port the HTTPS Everywhere toolbar button / context menu to Elecrtolysis.  When it's done, it should be useful for e10s ports of any extension that renders a similar list of modifications that were made during the current page load.  CC'ing the developers of a few extensions that have this type of UI.
Assignee: nobody → wmccloskey
Doesn't seem like we need this
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.