void HTMLImageElementImp::notify() { if (request->getStatus() != 200) active = false; else { // TODO: Check type delete image; image = new(std::nothrow) BoxImage; if (!image) active = false; else { if (FILE* file = request->openFile()) { image->open(file); fclose(file); } if (image->getState() != BoxImage::CompletelyAvailable) { active = false; delete image; image = 0; } } } if (Box* box = getBox()) { box->setFlags(Box::NEED_REFLOW); Box* ancestor = box->getParentBox(); if (ancestor && !dynamic_cast<Block*>(ancestor)) { // Update inline image ancestor = ancestor->getParentBox(); while (ancestor && !dynamic_cast<Block*>(ancestor)) ancestor = ancestor->getParentBox(); if (ancestor) ancestor->setFlags(Box::NEED_REFLOW); } } DocumentImp* document = getOwnerDocumentImp(); document->decrementLoadEventDelayCount(); }