home *** CD-ROM | disk | FTP | other *** search
/ ftp.swcp.com / ftp.swcp.com.zip / ftp.swcp.com / mac / mozilla-macos9-1.3.1.sea.bin / Mozilla1.3.1 / Chrome / comm.jar / content / communicator / contentAreaDD.js < prev    next >
Text File  |  2003-06-08  |  3KB  |  84 lines

  1. /* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
  2. /* ***** BEGIN LICENSE BLOCK *****
  3.  * Version: NPL 1.1/GPL 2.0/LGPL 2.1
  4.  *
  5.  * The contents of this file are subject to the Netscape Public License
  6.  * Version 1.1 (the "License"); you may not use this file except in
  7.  * compliance with the License. You may obtain a copy of the License at
  8.  * http://www.mozilla.org/NPL/
  9.  *
  10.  * Software distributed under the License is distributed on an "AS IS" basis,
  11.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  12.  * for the specific language governing rights and limitations under the
  13.  * License.
  14.  *
  15.  * The Original Code is mozilla.org code.
  16.  *
  17.  * The Initial Developer of the Original Code is 
  18.  * Netscape Communications Corporation.
  19.  * Portions created by the Initial Developer are Copyright (C) 1998
  20.  * the Initial Developer. All Rights Reserved.
  21.  *
  22.  * Contributor(s):
  23.  *   Alec Flett      <alecf@netscape.com>
  24.  *   Ben Goodger     <ben@netscape.com>
  25.  *   Mike Pinkerton  <pinkerton@netscape.com>
  26.  *   Blake Ross      <blakeross@telocity.com>
  27.  *
  28.  * Alternatively, the contents of this file may be used under the terms of
  29.  * either the GNU General Public License Version 2 or later (the "GPL"), or 
  30.  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  31.  * in which case the provisions of the GPL or the LGPL are applicable instead
  32.  * of those above. If you wish to allow use of your version of this file only
  33.  * under the terms of either the GPL or the LGPL, and not to allow others to
  34.  * use your version of this file under the terms of the NPL, indicate your
  35.  * decision by deleting the provisions above and replace them with the notice
  36.  * and other provisions required by the GPL or the LGPL. If you do not delete
  37.  * the provisions above, a recipient may use your version of this file under
  38.  * the terms of any one of the NPL, the GPL or the LGPL.
  39.  *
  40.  * ***** END LICENSE BLOCK ***** */
  41.  
  42. /*
  43.  * Note that most of this routine has been moved into C++ in order to
  44.  * be available for all <browser> tags as well as gecko embedding. See
  45.  * mozilla/content/base/src/nsContentAreaDragDrop.cpp.
  46.  *
  47.  * Do not add any new fuctionality here other than what is needed for
  48.  * a standalone product.
  49.  */
  50.  
  51. var contentAreaDNDObserver = {
  52.   onDrop: function (aEvent, aXferData, aDragSession)
  53.     {
  54.       var url = transferUtils.retrieveURLFromData(aXferData.data, aXferData.flavour.contentType);
  55.  
  56.       // valid urls don't contain spaces ' '; if we have a space it isn't a valid url so bail out
  57.       if (!url || !url.length || url.indexOf(" ", 0) != -1) 
  58.         return;
  59.  
  60.       switch (document.firstChild.getAttribute('windowtype')) {
  61.         case "navigator:browser":
  62.           loadURI(getShortcutOrURI(url));
  63.           break;
  64.         case "navigator:view-source":
  65.           viewSource(url);
  66.           break;
  67.       }
  68.       
  69.       // keep the event from being handled by the dragDrop listeners
  70.       // built-in to gecko if they happen to be above us.    
  71.       aEvent.preventDefault();
  72.     },
  73.  
  74.   getSupportedFlavours: function ()
  75.     {
  76.       var flavourSet = new FlavourSet();
  77.       flavourSet.appendFlavour("text/x-moz-url");
  78.       flavourSet.appendFlavour("text/unicode");
  79.       flavourSet.appendFlavour("application/x-moz-file", "nsIFile");
  80.       return flavourSet;
  81.     }
  82.   
  83. };
  84.