2002-12-17 Darin Adler Reviewed by Trey. * WebCore.pbproj/project.pbxproj: Remove signature. * kwq/KWQColor.mm: Turn off inlining so we can build even on the compiler that warns about static data in inline functions. 2002-12-17 Maciej Stachowiak Reviewed by John. - fixed 3120729 - HOMEPAGE: Can't set a DIV innerHTML property with html content starting with * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::createContextualFragment): Pop and , and remove to allow a full HTML document to be made and inserted as a contextual fragment. === Alexander-39 === 2002-12-17 David Hyatt Make sure that anonymous block construction works properly when you try to insert a block in between two inlines that have already been wrapped in an anonymous block. Reviewed by mjs * khtml/rendering/render_flow.cpp: (RenderFlow::addChildToFlow): (RenderFlow::makeChildrenNonInline): === Alexander-38 === 2002-12-16 Darin Adler Reviewed by Don and Maciej. - fixed 3129115 -- need Apple copyright added to open source documents * tons of files: Added copyright message to files we modified and standardized format of copyrights too. - fixed 3129235 -- assert in LRUList visiting apple.com if "Display images" preference is off * khtml/misc/loader.cpp: (Cache::getLRUListFor): Use the first list for 0-sized objects. (Cache::removeFromLRUList): Allow 0-sized objects. - other changes * khtml/rendering/render_style.h: Remove bogus unused private constructor. * kwq/KWQFont.h: Added copy constructor and assignment operator. * kwq/KWQFont.mm: (QFont::QFont): Copy constructor now retains the NSFont. The old version didn't which could cause retain/release problems. (QFont::operator=): Retain the new NSFont and release the old one. * WebCore.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2. 2002-12-16 Maciej Stachowiak Reviewed by Darin. - fixed 3125283 - HOMEPAGE: in onload of an IMG, the width and height are equal to zero There were two problems here. First, the calls to get image width and height didn't force a layout in all the cases where it was required. Second, layout wouldn't lay out images at all until parsing was done, due to a hack to block inline layout until that point. I'm not sure if this will have other bad consquences, but nearly every page I tried, including Hebrew and Japanese pages as well as every page on the base PLT laid out properly. * khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::width): Force a layout if not laid out. (HTMLImageElementImpl::height): Likewise. * khtml/html/htmlparser.cpp: (KHTMLParser::insertNode): Remove setBlockBidi hack - this was preventing images from getting laid out until the document was totally done parsing. * khtml/rendering/render_flow.cpp: (RenderFlow::RenderFlow): More setBLockBidi removal. (RenderFlow::layout): Likewise. (RenderFlow::close): Likewise. (RenderFlow::addChildToFlow): Likewise. (RenderFlow::printTree): Likewise. * khtml/rendering/render_flow.h: * khtml/rendering/render_object.h: 2002-12-16 David Hyatt When a clear occurs (thus causing a block to move underneath a float), make sure the block gets a fresh layout, so that it can readjust its contents now that they don't have to flow around the float. Reviewed by darin * khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren): 2002-12-16 Richard Williamson Fixed 3128477. Check KJS::Window before saving js objects. Reviewed by darin. * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::saveWindowProperties): (KWQKHTMLPart::saveLocationProperties): (KWQKHTMLPart::restoreWindowProperties): (KWQKHTMLPart::restoreLocationProperties): === Alexander-37 === 2002-12-16 Maciej Stachowiak Reviewed by Darin. - fixed 3125412 - HOMEPAGE: 2nd load of html in the same div fails. - fixed 3052113 - HOMEPAGE: "site menu" part of .mac home page editing doesn't work - fixed 3075392 - HOMEPAGE: "pages" section of mac.com homepage editing is missing * khtml/html/html_baseimpl.h: * khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::updateForNewURL): Function that loads new URL, to be called if src attribute is set explicitly and the element is already attached. (HTMLFrameElementImpl::parseAttribute): Call updateForNewURL when src attrinute is set. (HTMLFrameElementImpl::contentDocument): Don't involve render widget in getting the content document. * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::createContextualFragment): Allow contextual fragments to be created (and therefore innerHTML to be set on) TR and HTML elements. 2002-12-16 David Hyatt Use the layer's bounds as the damage rect not the object's. The layer knows about the overflow out of the object. The object does not. Duh. Fixes disney.com bustage. Reviewed by sullivan * khtml/rendering/render_layer.cpp: (RenderLayer::constructZTree): 2002-12-16 David Hyatt Code needs to go in calcMinMaxWidth instead, so parents computing their own minmax widths will get the correct value during the ifrst pass. With this change weather.com is actually fixed. Reviewed by mjs * khtml/rendering/render_box.cpp: (RenderBox::calcWidth): * khtml/rendering/render_flow.cpp: (RenderFlow::calcMinMaxWidth): 2002-12-16 David Hyatt Fix for 3128843, horked layout on weather.com. Ensure that overflow: hidden elements bounds-check their minwidth and maxwidth values to ensure that you don't grow the clipped element. Reviewed by mjs * khtml/rendering/render_box.cpp: (RenderBox::calcWidth): 2002-12-16 Trey Matteson 3129175 - we're doing needless GETs when using b/f cache Turns out that an empty UserStyle was causing WebCore to reload the base URL of the page, since it tried to load the style "". Reviewed by Darin * khtml/khtml_part.cpp: (KHTMLPart::reparseConfiguration): Of the UserStyle is empty, set it to an empty string instead of an empty URL. 2002-12-16 Maciej Stachowiak Reviewed by Darin. - fixed 3129008 - REGRESSION: Successive hot/cached runs of cvs-base PLT are slightly slower This was due to me reintroducing a leak of the document. Now fixed. * khtml/ecma/kjs_dom.cpp: (DOMDocument::~DOMDocument): forget self from cached DOM object table. (KJS::getDOMDocumentNode): Instead of storing the document in the marked per-document table, store it in the unmarked table, and as a property on the Window object. (KJS::getDOMNode): use getDocumentNode when appropriate. * khtml/ecma/kjs_dom.h: 2002-12-15 David Hyatt Fix for 3128728. Ensure that list markers get placed into an existing line box if possible. This patch also fixes RTL bullets and line height calculations involving image bullets that are the biggest thing on the line. List markers also correctly move to avoid floats. Reviewed by mjs * khtml/rendering/render_list.cpp: (RenderListItem::setStyle): (getLineBoxParent): (RenderListItem::layout): (RenderListMarker::calcMinMaxWidth): 2002-12-16 Darin Adler Reviewed by Maciej. - fixed 3128766 -- macconnection.com tries to add properties to the navigator DOM object, which fails * khtml/ecma/kjs_window.cpp: (Window::get): Set up properties named navigator and clientInformation the first time either is queried. These will hold a persistent shared object rather than making one every time it's asked for. * WebCore.pbproj/project.pbxproj: Let Electron undo Maciej's evil. === WebKit-37u2 === 2002-12-15 Maciej Stachowiak Reviewed by Darin. * WebCore.pbproj/project.pbxproj: Updated source version to 37u2. 2002-12-15 Darin Adler Reviewed by Trey. - fixed regression where clicked-on buttons were getting keyboard focus * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::khtmlMousePressEvent): Check clickCount here the way NSWindow does. See below for rationale. (KWQKHTMLPart::passWidgetMouseDownEventToWidget): I didn't read the code in [NSWindow sendEvent:] that I was stealing carefully enough. The old needsPanelToBecomeKey flag is used to decide whether something should really get first responder, and I need to do check that too. And while I was in here, did the same clickCount check that NSWindow does for good measure. 2002-12-15 Maciej Stachowiak Reviewed by Darin. - fixed 3128383 - DOM nodes should always use the same JS object * khtml/ecma/kjs_binding.h: * khtml/ecma/kjs_binding.cpp: (ScriptInterpreter::ScriptInterpreter): Set auto-delete to true on document dictionary. (ScriptInterpreter::getDOMObjectForDocument): New function - gets DOM object from per-document dictionary. (ScriptInterpreter::putDOMObjectForDocument): New function - put DOM object into per-document dictionary. (ScriptInterpreter::deleteDOMObjectsForDocument): Clear all objects from specific per-document dictionary. (ScriptInterpreter::mark): Mark per-document objects. (ScriptInterpreter::forgetDOMObjectsForDocument): Clear objects for this document from all interpreters. * khtml/ecma/kjs_dom.h: * khtml/ecma/kjs_dom.cpp: (KJS::getDOMNode): Use per-document rather than general DOM object dictionary. * khtml/xml/dom_docimpl.cpp: (DocumentImpl::~DocumentImpl): Call forgetDOMObjectsForDocument. 2002-12-15 David Hyatt Fix for 3057974 and 3128713. I needed to make frames check to see if their parentNode had a renderer to complete the FOUC fix. Completing the FOUC fix finally solves 3057974. Reviewed by darin * khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::attach): 2002-12-15 David Hyatt Fix for 3109226, epinions page is mostly blank. Add a hack to disallow > but only inside attribute values for which there is no corresponding attribute name. Also fix attribute values with no name so that the value is used as the name so that e.g.,