wiki:CodePaths

Version 3 (modified by ariya@webkit.org, 15 years ago) (diff)

about widget painting

Code Paths for Common Operations

Constructing HTML tokenizer

  HTMLDocument::createTokenizer()
  Document::implicitOpen()
  FrameLoader::begin(const KURL&, bool dispatch, SecurityOrigin*)
  FrameLoader::receivedFirstData()

Tokenizing HTML document

From the moment, piece by piece of an HTML document is obtained from the network, this is what happens:

  HTMLTokenizer::write(const SegmentedString& str, bool appendData)
  FrameLoader::write(const char* data, int len, bool flush)
  FrameLoader::addData(const char* bytes, int length)
  FrameLoaderClientQt::committedLoad(DocumentLoader* loader, const char* data, int length)
  FrameLoader::committedLoad(DocumentLoader* loader, const char* data, int length)
  DocumentLoader::commitLoad(const char* data, int length)
  DocumentLoader::receivedData(const char* data, int length)
  FrameLoader::receivedData(const char* data, int length)
  MainResourceLoader::addData(const char* data, int length, bool allAtOnce)
  ResourceLoader::didReceivedData(const char* data, int length, long long received, bool allAtOnce)
  ResourceLoader::didReceiveData(ResourceHandle*, const char* data, int len, long long received)

Painting a push button

  RenderTheme[Gtk,Wx,Qt]::paintButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&)
  RenderTheme::paint(RenderObject*, const RenderObject::PaintInfo&, const IntRect&)
  RenderBox::paintBoxDecorations(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderBlock::paintObject(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderBlock::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  InlineBox::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  InlineFlowBox::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RootInlineBox::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderLineBoxList::paint(RenderBoxModelObject* renderer, RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderBlock::paintContents(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderBlock::paintObject(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderBlock::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderBlock::paintChildren(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderBlock::paintContents(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderBlock::paintObject(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderBlock::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderBlock::paintChildren(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderBlock::paintContents(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderBlock::paintObject(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderBlock::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty)
  RenderLayer::paintLayer(RenderLayer*, GraphicsContext*, const IntRect& paintDirtyRect,
  PaintRestriction paintRestriction, RenderObject* paintingRoot, 
  RenderObject::OverlapTestRequestMap* overlapTestRequests, PaintLayerFlags paintFlags)
  RenderLayer::paint(GraphicsContext* p, const IntRect& damageRect, PaintRestriction paintRestriction, RenderObject *paintingRoot)
  FrameView::paintContents(GraphicsContext* p, const IntRect& rect)
  ScrollView::paint(GraphicsContext* p, const IntRect& rect)