DOM Inspector

From MozillaWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

UI Improvements

There is considerable scope for improvement to the UI of the DOM Inspector.

… more DOM Inspector enhancement bugs

Interfaces

DOM Inspector's interfaces are not formalized, but if they were, they'd look something like this:

 interface domiIViewer : domiIObservable {
 
   readonly attribute AString uid;
 
   readonly attribute domiIPanel pane;
 
   // bug 570879 is concerned with renaming selection to object
            attribute nsISupports subject;
   readonly attribute nsISupports selection;
 
   void destroy();
 
   boolean isCommandEnabled(in string aCommandName);
   nsITransaction getCommand(in string aCommandName);
 
 }
 interface domiIPanel : domiIObservable {
 
   readonly attribute domiIPanelset panelset;
   readonly attribute domiIPanel linkedPanel;
 
   attribute nsISupports subject;
   attribute nsIVariant params;
 
   readonly attribute domiIViewer viewer;
   readonly attribute nsIDOMDocument viewerDocument;
 
   void initialize();
   void notifyViewerReady(in domiIViewer aViewer);
   void onViewerListCommand(in nsIDOMElement aViewerMenuItem);
 
 }
 interface domiIPanelset : domiIObservable {
 
   readonly attribute domiIViewerRegistry registry;
   readonly attribute boolean initialized;
   readonly attribute nsIStringBundle stringBundle;
   readonly attribute domiIFlasher flasher;
   readonly attribute aString clipboardFlavor;
 
   void initialize();
   void onViewerRegistryLoad();
   void onViewerRegistryLoadError();
 
   readonly attribute long panelCount;
   domiIPanel getPanel(in unsigned long aIndex);
 
   void updateAllCommands();
   AString getCommandAttribute(in AString aCommandName,
                               in aString aAttributeName);
   AString setCommandAttribute(in AString aCommandName,
                               in aString aAttributeName,
                               in AString aValue);
   void execCommand(in AString aCommandName);
 
   void setClipboardData(in nsIVariant aData, in AString aFlavor,
                         in AString aTextRepresentation);
   nsIVariant getClipboardData();
 }
 interface domiIObserver : nsISupports {
 
   void onEvent(domiIEvent aEventData);
 
 }
 interface domiIEvent : nsISupports {
 
   readonly attribute domiIObservable target;
   readonly attribute AString type;
 
 }
 interface domiIObservable : nsISupports {
 
   void addObserver(in string aEventName, in domiIObserver aObserver);
   void removeObserver(in string aEventName, in domiIObserver aObserver);
 
 }