nsIFrame * child = mFrames.FirstChild(); if(child != NULL) { nsObjectFrameSuper::Paint(aPresContext, aRenderingContext, aDirtyRect, aWhichLayer); return NS_OK; }  aRenderingContext.SetColor(NS_RGB(192, 192, 192)); aRenderingContext.FillRect(0, 0, mRect.width, mRect.height);  #if !defined(XP_MAC) if (NS_FRAME_PAINT_LAYER_FOREGROUND == aWhichLayer) {   #ifdef XP_WIN nsIPluginInstance * inst; if(NS_OK == GetPluginInstance(inst)) { NS_RELEASE(inst);  nsPluginWindow * window; mInstanceOwner->GetWindow(window); if(window->type == nsPluginWindowType_Drawable) { PRUint32 hdc; aRenderingContext.RetrieveCurrentNativeGraphicData(&hdc); mInstanceOwner->Paint(aDirtyRect, hdc); return NS_OK; } }
EventRecord updateEvent; ::OSEventAvail(0, &updateEvent); updateEvent.what = updateEvt; updateEvent.message = UInt32(pluginPort->port);  nsPluginEvent pluginEvent = { &updateEvent, nsPluginPlatformWindowRef(pluginPort->port) }; PRBool eventHandled = PR_FALSE; mInstance->HandleEvent(&pluginEvent, &eventHandled); }
nsObjectFrame::Paint(nsIPresContext* aPresContext,                     nsIRenderingContext& aRenderingContext,                     const nsRect& aDirtyRect,                     nsFramePaintLayer aWhichLayer){  const nsStyleDisplay* disp = (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);  if ((disp != nsnull) && !disp->IsVisibleOrCollapsed())   {    return NS_OK;  }  nsIFrame * child = mFrames.FirstChild();  if(child != NULL) //This is an image  {    nsObjectFrameSuper::Paint(aPresContext, aRenderingContext, aDirtyRect, aWhichLayer);    return NS_OK;  }  aRenderingContext.SetColor(NS_RGB(192, 192, 192));  aRenderingContext.FillRect(0, 0, mRect.width, mRect.height);#if !defined(XP_MAC)  if (NS_FRAME_PAINT_LAYER_FOREGROUND == aWhichLayer)   {//~~~#ifdef XP_WIN    nsIPluginInstance * inst;    if(NS_OK == GetPluginInstance(inst))    {      NS_RELEASE(inst);      // Look if it's windowless      nsPluginWindow * window;      mInstanceOwner->GetWindow(window);      if(window->type == nsPluginWindowType_Drawable)      {        PRUint32 hdc;        aRenderingContext.RetrieveCurrentNativeGraphicData(&hdc);        mInstanceOwner->Paint(aDirtyRect, hdc);        return NS_OK;      }    }#endif    const nsStyleFont* font = (const nsStyleFont*)mStyleContext->GetStyleData(eStyleStruct_Font);    aRenderingContext.SetFont(font->mFont);    aRenderingContext.SetColor(NS_RGB(192, 192, 192));    aRenderingContext.FillRect(0, 0, mRect.width, mRect.height);    aRenderingContext.SetColor(NS_RGB(0, 0, 0));    aRenderingContext.DrawRect(0, 0, mRect.width, mRect.height);    float p2t;    aPresContext->GetPixelsToTwips(&p2t);    nscoord px3 = NSIntPixelsToTwips(3, p2t);    nsAutoString tmp;    nsIAtom* atom;    mContent->GetTag(atom);    if (nsnull != atom) {      atom->ToString(tmp);      NS_RELEASE(atom);      aRenderingContext.DrawString(tmp, px3, px3);    }  }#else  // delegate all painting to the plugin instance.  if (NS_FRAME_PAINT_LAYER_FOREGROUND == aWhichLayer && nsnull != mInstanceOwner) {    mInstanceOwner->Paint(aDirtyRect);  }#endif /* !XP_MAC */  return NS_OK;}