NS_IMETHOD HandleEvent(nsIDOMEvent* aEvent) { return NS_OK; }
nsSliderFrame::HandleEvent(nsIPresContext& aPresContext, nsGUIEvent* aEvent, nsEventStatus& aEventStatus) { nsIContent* scrollbar = GetScrollBar();  PRBool isHorizontal = IsHorizontal(scrollbar);  if (isDraggingThumb()) { switch (aEvent->message) { case NS_MOUSE_MOVE: {  nscoord pos = isHorizontal ? aEvent->point.x : aEvent->point.y;      nscoord startpx = mDragStartPx;  float p2t; aPresContext.GetScaledPixelsToTwips(&p2t); nscoord onePixel = NSIntPixelsToTwips(1, p2t); nscoord start = startpx*onePixel;  nsIFrame* thumbFrame = mFrames.FirstChild();    nsIFrame* parent = this; while(parent != nsnull) {   nsIScrollableView* scrollingView; nsIView*           view; parent->GetView(&view); if (view) { nsresult result = view->QueryInterface(kScrollViewIID, (void**)&scrollingView); if (NS_SUCCEEDED(result)) { nscoord xoff = 0; nscoord yoff = 0; scrollingView->GetScrollPosition(xoff, yoff); isHorizontal ? start += xoff : start += yoff; } }  nsRect r; parent->GetRect(r); isHorizontal ? start -= r.x : start -= r.y; parent->GetParent(&parent); }    start -= mThumbStart;   pos -= start;   nscoord pospx = pos/onePixel;   pospx = nscoord(pospx/mRatio);   SetCurrentPosition(scrollbar, thumbFrame, pospx);   } break;  case NS_MOUSE_RIGHT_BUTTON_UP: case NS_MOUSE_LEFT_BUTTON_UP:   nsIFrame* thumbFrame = mFrames.FirstChild(); AddListener(); DragThumb(PR_FALSE); }  return NS_OK; }   if (aEvent->message == NS_MOUSE_EXIT|| aEvent->message == NS_MOUSE_RIGHT_BUTTON_UP || aEvent->message == NS_MOUSE_LEFT_BUTTON_UP) HandleRelease(aPresContext, aEvent, aEventStatus);  return nsFrame::HandleEvent(aPresContext, aEvent, aEventStatus); }
  NS_IMETHOD HandleEvent(nsIDOMEvent* aEvent) { return NS_OK; }