Adding initial panel impl that supports dropping of urls into the Web Panels bar.
git-svn-id: svn://10.0.0.236/trunk@145479 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
var panelAreaDNDObserver = {
|
||||
onDrop: function (aEvent, aXferData, aDragSession)
|
||||
{
|
||||
var url = transferUtils.retrieveURLFromData(aXferData.data, aXferData.flavour.contentType);
|
||||
|
||||
// valid urls don't contain spaces ' '; if we have a space it isn't a valid url so bail out
|
||||
if (!url || !url.length || url.indexOf(" ", 0) != -1)
|
||||
return;
|
||||
|
||||
var uri = getShortcutOrURI(url);
|
||||
try {
|
||||
document.getElementById('browser').webNavigation.loadURI(uri, nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null);
|
||||
} catch (e) {}
|
||||
|
||||
// keep the event from being handled by the dragDrop listeners
|
||||
// built-in to gecko if they happen to be above us.
|
||||
aEvent.preventDefault();
|
||||
},
|
||||
|
||||
getSupportedFlavours: function ()
|
||||
{
|
||||
var flavourSet = new FlavourSet();
|
||||
flavourSet.appendFlavour("text/x-moz-url");
|
||||
flavourSet.appendFlavour("text/unicode");
|
||||
flavourSet.appendFlavour("application/x-moz-file", "nsIFile");
|
||||
return flavourSet;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
|
||||
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
|
||||
|
||||
<!DOCTYPE window [
|
||||
<!ENTITY % webPanelsDTD SYSTEM "chrome://browser/locale/web-panels.dtd" >
|
||||
@@ -9,6 +9,16 @@
|
||||
<page id="webpanels-window"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<script type="application/x-javascript" src="chrome://browser/content/browser.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsTransferable.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsDragAndDrop.js"/>
|
||||
<script type="application/x-javascript" src="chrome://browser/content/contentAreaUtils.js"/>
|
||||
<script type="application/x-javascript" src="chrome://browser/content/web-panels.js"/>
|
||||
<description style="color:red; margin-top:1em">The implementation of this panel is in progress.</description>
|
||||
<hbox align="center">
|
||||
<label value="Active Panel:"/>
|
||||
<menulist flex="1" label="(None)"/>
|
||||
</hbox>
|
||||
<browser id="browser" type="content" flex="1"
|
||||
onclick="return contentAreaClick(event);"
|
||||
ondragdrop="nsDragAndDrop.drop(event, panelAreaDNDObserver);"/>
|
||||
</page>
|
||||
|
||||
Reference in New Issue
Block a user