Neil's Place

April 18, 2010

Status Update for April 18

Filed under: Mozilla, Status Updates — enndeakin @ 7:03 pm

Dropped Link Handling

I just checked in some notable changes to how the browser handles dropped links. It shouldn’t affect the behaviour of dropped links, but it does affect how script would respond to dropped links. This involves a new interface nsIDroppedLinkHandler. From an extension, one can use this directly or import the Services.jsm script and just access it via ‘Services.droppedLinkHandler’.

For browser front-end developers, this means that the single object located in browser.js will handle dropped links. This object and its related helper component will determine if a link is being dropped and whether security allows it to be dropped. This is important as one doesn’t want to be able to just create a page with a chrome url that can be dropped on the browser to do some nefarious thing. The old way used the nsDragAndDrop.js script for this, which is now obsolete.

See bug 545714 for more information about these changes.

The nsDragAndDrop.js script and its security check are now not used, except in one place in the tabbrowser which will be fixed up soon.


A number of theme issues with resizers need to be fixed up (bugs 553796, 553752, 554810 and 558201. It seems like the best way to fix these is to include some static resizer images instead of relying on the native theme. I have a fix but need some images that are suitable for each platform.


  • In bug 554635, <object> elements are been given a default tabindex of 0 so that they can be tabbed into. Those that load plugins already default to 0 so this applies to those that load other pages.
  • For bug 559561, I was investigating firing blur events when focused elements are removed from a document.
  • Took a short break from panel bugs this week. More to come next week.

April 9, 2010

Status Update for April 9

Filed under: Mozilla, Status Updates — enndeakin @ 10:16 pm

Improvements to panels are going steadily. I have worked out the issues with coordinate calculations on both Windows and Mac. This means that panels with titlebars appear and work properly. I also think I’ve almost worked out how popup activation and focusing should work. More details of what steps need to be done are on the Panel Improvements page.

I also have been investigating better support for the arrow style popups. These display an arrow that points to an element which can be used to get further information or perform actions related to the popup. I’m working on making the arrow properly position itself even when the popup itself is pushed around to fit on screen. See bug 554937 for this feature, and bug 558072 for some preliminary work.

Bug 379745 adds support for templates and to the sort service for setting three special sort hints. The first allows one to sort by integers instead of strings, overriding the type of the data. The second allows case sensitive sorting, which probably isn’t as useful except for file listings on some systems. The third allows only sorting in ascending or descending order, and not having the natural sort state. This is accomplished via attributes placed on the root element, or the <treecol> element.

Also, I investigated some minor focus issues and resizer rendering problems. For instance, in bug 554635, it was discovered that <object> elements default to not being focusable.

Create a free website or blog at