Diff for /chimera/NSBrowserView.mm between versions 1.22 and 1.30

version 1.22, 2002/02/25 08:44:17 version 1.30, 2002/04/10 07:46:37
Line 79 Line 79
 #include "nsIHistoryEntry.h"  #include "nsIHistoryEntry.h"
 #include "nsISHEntry.h"  #include "nsISHEntry.h"
 #include "nsNetUtil.h"  #include "nsNetUtil.h"
   #include "nsIContextMenuListener.h"
   
 // Cut/copy/paste  // Cut/copy/paste
 #include "nsIClipboardCommands.h"  #include "nsIClipboardCommands.h"
Line 89  const char* dirServiceContractID = "@moz Line 90  const char* dirServiceContractID = "@moz
   
 class nsCocoaBrowserListener : public nsSupportsWeakReference,  class nsCocoaBrowserListener : public nsSupportsWeakReference,
                                public nsIInterfaceRequestor,                                 public nsIInterfaceRequestor,
                                           public nsIWebBrowserChrome,                                                 public nsIWebBrowserChrome,
                                public nsIWindowCreator,                                 public nsIWindowCreator,
                                           public nsIEmbeddingSiteWindow,                                                 public nsIEmbeddingSiteWindow,
                               public nsIWebProgressListener                               public nsIWebProgressListener,
                                public nsIContextMenuListener
 {  {
 public:  public:
   nsCocoaBrowserListener(NSBrowserView* aView);    nsCocoaBrowserListener(NSBrowserView* aView);
Line 104  public: Line 106  public:
   NS_DECL_NSIWINDOWCREATOR    NS_DECL_NSIWINDOWCREATOR
   NS_DECL_NSIEMBEDDINGSITEWINDOW    NS_DECL_NSIEMBEDDINGSITEWINDOW
   NS_DECL_NSIWEBPROGRESSLISTENER    NS_DECL_NSIWEBPROGRESSLISTENER
  NS_DECL_NSICONTEXTMENULISTENER
     
   void AddListener(id <NSBrowserListener> aListener);    void AddListener(id <NSBrowserListener> aListener);
   void RemoveListener(id <NSBrowserListener> aListener);    void RemoveListener(id <NSBrowserListener> aListener);
   void SetContainer(id <NSBrowserContainer> aContainer);    void SetContainer(id <NSBrowserContainer> aContainer);
Line 133  nsCocoaBrowserListener::~nsCocoaBrowserL Line 136  nsCocoaBrowserListener::~nsCocoaBrowserL
   }    }
 }  }
   
NS_IMPL_ISUPPORTS6(nsCocoaBrowserListener,NS_IMPL_ISUPPORTS7(nsCocoaBrowserListener,
                   nsIInterfaceRequestor,                               nsIInterfaceRequestor,
                   nsIWebBrowserChrome,                               nsIWebBrowserChrome,
           nsIWindowCreator,                   nsIWindowCreator,
                   nsIEmbeddingSiteWindow,                               nsIEmbeddingSiteWindow,
                   nsIWebProgressListener,                               nsIWebProgressListener,
           nsISupportsWeakReference)                   nsISupportsWeakReference,
                    nsIContextMenuListener)
   
 // Implementation of nsIInterfaceRequestor  // Implementation of nsIInterfaceRequestor
 NS_IMETHODIMP   NS_IMETHODIMP 
Line 179  nsCocoaBrowserListener::CreateChromeWind Line 183  nsCocoaBrowserListener::CreateChromeWind
     return NS_ERROR_FAILURE;      return NS_ERROR_FAILURE;
   }    }
       
     printf("made a chrome window.\n");
     
   *_retval = listener;    *_retval = listener;
   NS_IF_ADDREF(*_retval);    NS_IF_ADDREF(*_retval);
   return NS_OK;    return NS_OK;
 }  }
   
   // Implementation of nsIContextMenuListener
   NS_IMETHODIMP
   nsCocoaBrowserListener::OnShowContextMenu(PRUint32 aContextFlags, nsIDOMEvent* aEvent, nsIDOMNode* aNode)
   {
     return NS_OK;
   }
   
 // Implementation of nsIWebBrowserChrome  // Implementation of nsIWebBrowserChrome
 /* void setStatus (in unsigned long statusType, in wstring status); */  /* void setStatus (in unsigned long statusType, in wstring status); */
 NS_IMETHODIMP   NS_IMETHODIMP 
Line 569  nsCocoaBrowserListener::OnLocationChange Line 582  nsCocoaBrowserListener::OnLocationChange
                                          nsIRequest *aRequest,                                            nsIRequest *aRequest, 
                                          nsIURI *location)                                           nsIURI *location)
 {  {
  nsXPIDLCString spec;  if (!location)
   
  location->GetSpec(getter_Copies(spec)); 
  if (!spec) { 
     return NS_ERROR_FAILURE;      return NS_ERROR_FAILURE;
  }    
  nsCAutoString spec;
   location->GetSpec(spec);
   const char* cstr = spec.get();    const char* cstr = spec.get();
   NSString* str = [NSString stringWithCString:cstr];    NSString* str = [NSString stringWithCString:cstr];
   NSURL* url = [NSURL URLWithString:str];    NSURL* url = [NSURL URLWithString:str];
Line 696  nsHeaderSniffer::OnStateChange(nsIWebPro Line 707  nsHeaderSniffer::OnStateChange(nsIWebPro
 {  {
     if (aStateFlags & nsIWebProgressListener::STATE_START) {      if (aStateFlags & nsIWebProgressListener::STATE_START) {
         nsCOMPtr<nsIChannel> channel(do_QueryInterface(aRequest));          nsCOMPtr<nsIChannel> channel(do_QueryInterface(aRequest));
        nsXPIDLCString contentType;        channel->GetContentType(mContentType);
        channel->GetContentType(getter_Copies(contentType));       
        mContentType = contentType; 
         
         // Get the content-disposition if we're an HTTP channel.          // Get the content-disposition if we're an HTTP channel.
         nsCOMPtr<nsIHttpChannel> httpChannel(do_QueryInterface(channel));          nsCOMPtr<nsIHttpChannel> httpChannel(do_QueryInterface(channel));
        if (httpChannel) {        if (httpChannel)
            nsXPIDLCString disp;            httpChannel->GetResponseHeader(nsCAutoString("content-disposition"), mContentDisposition);
            httpChannel->GetResponseHeader("content-disposition", getter_Copies(disp)); 
            mContentDisposition = disp; 
        } 
                   
         mPersist->CancelSave();          mPersist->CancelSave();
         PRBool exists;          PRBool exists;
Line 759  void nsHeaderSniffer::PerformSave() Line 765  void nsHeaderSniffer::PerformSave()
           
     if (defaultFileName.IsEmpty()) {      if (defaultFileName.IsEmpty()) {
         nsCOMPtr<nsIURL> url(do_QueryInterface(mURL));          nsCOMPtr<nsIURL> url(do_QueryInterface(mURL));
        if (url) {        if (url)
            nsXPIDLCString fileName;            url->GetFileName(defaultFileName); // (2) For file URLs, use the file name.
            url->GetFileName(getter_Copies(fileName)); 
            defaultFileName = fileName; // (2) For file URLs, use the file name. 
        } 
     }      }
           
     if (defaultFileName.IsEmpty() && mDocument && isHTML) {      if (defaultFileName.IsEmpty() && mDocument && isHTML) {
Line 778  void nsHeaderSniffer::PerformSave() Line 781  void nsHeaderSniffer::PerformSave()
         // (4) Use the caller provided name. XXXdwh          // (4) Use the caller provided name. XXXdwh
     }      }
   
    if (defaultFileName.IsEmpty()) {    if (defaultFileName.IsEmpty())
         // (5) Use the host.          // (5) Use the host.
        nsXPIDLCString host;        mURL->GetHost(defaultFileName);
        mURL->GetHost(getter_Copies(host)); 
        defaultFileName = host; 
    } 
           
     // One last case to handle about:blank and other fruity untitled pages.      // One last case to handle about:blank and other fruity untitled pages.
     if (defaultFileName.IsEmpty())      if (defaultFileName.IsEmpty())
Line 799  void nsHeaderSniffer::PerformSave() Line 799  void nsHeaderSniffer::PerformSave()
     nsCOMPtr<nsIURL> fileURL(do_QueryInterface(fileURI));      nsCOMPtr<nsIURL> fileURL(do_QueryInterface(fileURI));
     if (!fileURL)      if (!fileURL)
         return;          return;
    fileURL->SetFilePath(defaultFileName.get());    fileURL->SetFilePath(defaultFileName);
           
    nsXPIDLCString fileEx;    nsCAutoString fileExtension;
    fileURL->GetFileExtension(getter_Copies(fileEx));    fileURL->GetFileExtension(fileExtension);
    nsDependentCString fileExtension(fileEx.get()); 
           
     PRBool setExtension = PR_FALSE;      PRBool setExtension = PR_FALSE;
     if (mContentType.Equals("text/html")) {      if (mContentType.Equals("text/html")) {
Line 962  nsHeaderSniffer::OnSecurityChange(nsIWeb Line 961  nsHeaderSniffer::OnSecurityChange(nsIWeb
   
 - (void)dealloc   - (void)dealloc 
 {  {
     [super dealloc];
     
   NS_RELEASE(_listener);    NS_RELEASE(_listener);
   NS_IF_RELEASE(_webBrowser);    NS_IF_RELEASE(_webBrowser);
       
   nsCocoaBrowserService::BrowserClosed();    nsCocoaBrowserService::BrowserClosed();
       
   printf("NSBrowserView died.\n");    printf("NSBrowserView died.\n");
     
   [super dealloc];  
 }  }
   
 - (void)setFrame:(NSRect)frameRect   - (void)setFrame:(NSRect)frameRect 
Line 1124  nsHeaderSniffer::OnSecurityChange(nsIWeb Line 1123  nsHeaderSniffer::OnSecurityChange(nsIWeb
     return nsnull;      return nsnull;
   }    }
   
  nsXPIDLCString spec;  nsCAutoString spec;
  uri->GetSpec(getter_Copies(spec));  uri->GetSpec(spec);
       
   const char* cstr = spec.get();    const char* cstr = spec.get();
   NSString* str = [NSString stringWithCString:cstr];    NSString* str = [NSString stringWithCString:cstr];
Line 1185  nsHeaderSniffer::OnSecurityChange(nsIWeb Line 1184  nsHeaderSniffer::OnSecurityChange(nsIWeb
     nsCOMPtr<nsIFile> tmpFile;      nsCOMPtr<nsIFile> tmpFile;
     dirService->Get("TmpD", NS_GET_IID(nsIFile), getter_AddRefs(tmpFile));      dirService->Get("TmpD", NS_GET_IID(nsIFile), getter_AddRefs(tmpFile));
     static short unsigned int tmpRandom = 0;      static short unsigned int tmpRandom = 0;
    nsCAutoString tmpNo; tmpNo.AssignWithConversion(tmpRandom++);    nsCAutoString tmpNo; tmpNo.AppendInt(tmpRandom++);
     nsCAutoString saveFile("-sav");      nsCAutoString saveFile("-sav");
     saveFile += tmpNo;      saveFile += tmpNo;
     saveFile += "tmp";      saveFile += "tmp";
Line 1223  nsHeaderSniffer::OnSecurityChange(nsIWeb Line 1222  nsHeaderSniffer::OnSecurityChange(nsIWeb
     print->Print(nsnull, nsnull);      print->Print(nsnull, nsnull);
 }  }
   
-(void)findInPage-(void)findInPage:(NSString*)inText
 {  {
     FindDlgController* findDialog = [[FindDlgController alloc] initWithWindowNibName: @"FindDialog"];  
     nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser));      nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser));
     nsCOMPtr<nsIDOMWindow> rootWindow;      nsCOMPtr<nsIDOMWindow> rootWindow;
     nsCOMPtr<nsIDOMWindow> focusedWindow;      nsCOMPtr<nsIDOMWindow> focusedWindow;
Line 1238  nsHeaderSniffer::OnSecurityChange(nsIWeb Line 1236  nsHeaderSniffer::OnSecurityChange(nsIWeb
     framesFind->SetRootSearchFrame(rootWindow);      framesFind->SetRootSearchFrame(rootWindow);
     framesFind->SetCurrentSearchFrame(focusedWindow);      framesFind->SetCurrentSearchFrame(focusedWindow);
           
    [findDialog setFind: webFind];    PRUnichar* text = (PRUnichar*)nsMemory::Alloc(([inText length]+1)*sizeof(PRUnichar));
    [findDialog showWindow: findDialog];    if ( text ) {
       [inText getCharacters:text];
       text[[inText length]] = 0;
       webFind->SetSearchString(text);
       PRBool found;
       webFind->FindNext(&found);
       nsMemory::Free(text);
     }
 }  }
   
 -(void)findAgain  -(void)findAgain
Line 1321  nsHeaderSniffer::OnSecurityChange(nsIWeb Line 1326  nsHeaderSniffer::OnSecurityChange(nsIWeb
     clipboard->SelectAll();      clipboard->SelectAll();
 }  }
   
   -(IBAction)undo:(id)aSender
   {
     NSLog(@"Undo not yet implemented");
   }
   
 -(NSString*)getCurrentURLSpec  -(NSString*)getCurrentURLSpec
 {  {
     NSString* empty = @"";      NSString* empty = @"";

Removed from v.1.22  
changed lines
  Added in v.1.30


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>