-
hyatt authored
gets rid of the old broken way KHTML used to handle this and implements a brand new mechanism. With this change, I have decreased the tag priority of <font> and <a> to match other inlines (<i>, <span>, etc.), and I now allow all the inlines to contain blocks for relaxed parsing. Now if you open an <i> or a <b> and just leave it open across blocks, this will work. I also fixed a bad DHTML bug caused by the WebCoreBridge forceLayout method. The basic pattern is that someone does a tiny repaint of just a sliver of the window, then someone schedules a layout (which means they want a full repaint), but then drawRect comes along and calls forceLayout which unschedules the layout, thus preventing the full repaint from occurring. Any basic DHTML that used append/remove child was broken because of this pattern. For now I have just removed the unscheduleLayout call at the end of forceLayout. * khtml/html/dtd.cpp: (DOM::checkChild): * khtml/html/htmlparser.cpp: (KHTMLParser::popInlineBlocks): * khtml/rendering/render_container.cpp: (RenderContainer::removeChild): (RenderContainer::removeLeftoverAnonymousBoxes): * khtml/rendering/render_flow.cpp: (RenderFlow::setStyle): (RenderFlow::layoutBlockChildren): (RenderFlow::continuationBefore): (cloneInline): (RenderFlow::splitInlines): (RenderFlow::splitFlow): (RenderFlow::addChildWithContinuation): (RenderFlow::addChild): (RenderFlow::addChildToFlow): * khtml/rendering/render_flow.h: * khtml/rendering/render_object.cpp: (RenderObject::mouseInside): * khtml/rendering/render_object.h: * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::forceLayout): * kwq/WebCoreBridge.mm: (-[WebCoreBridge copyRenderNode:copier:]): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2854 268f45cc-cd09-0410-ab3c-d52691b4dbfc
d18db816