diff options
Diffstat (limited to 'khtml/ChangeLog')
-rw-r--r-- | khtml/ChangeLog | 3874 |
1 files changed, 0 insertions, 3874 deletions
diff --git a/khtml/ChangeLog b/khtml/ChangeLog deleted file mode 100644 index 8c7c88bb9..000000000 --- a/khtml/ChangeLog +++ /dev/null @@ -1,3874 +0,0 @@ -2007-10-09 Allan Sandfeld Jensen <kde@carewolf.com> - - Optimize the case of double descendant selectors "a b c", - to avoid O(n^2) run-time where n is the depth of the DOM tree. - - * css/cssstyleselector.h: Define new early termination value for checkSelector - * css/cssstyleselector.cpp: Bail-out when the selector-chain can't possibly match - -2007-04-22 Harri Porten <porten@kde.org> - - * ecma/xmlhttprequest.cpp: allow Accept header overrides - -2007-04-21 Harri Porten <porten@kde.org> - - * ecma/xmlhttprequest.cpp: implemented - XMLHttpRequest.overrideMimeType() function - -2007-02-21 Harri Porten <porten@kde.org> - - * html/html_formimpl.cpp: mimmick .value behavior of other - browsers if no value attribute was set for an input element of - type radio and checkbox. - -2007-02-18 Harri Porten <porten@kde.org> - - * html/html_formimpl.cpp: fixed bug #120582 ("cloneNode does not - clone `checked' attribute in form inputs") - - * html/html_formimpl.cpp: fixed reset of file upload form elements - -2007-02-11 Harri Porten <porten@kde.org> - - * ecma/kjs_window.cpp (executeOpenWindow): fixed location href - and pathname for about:blank windows - - * khtml_part.cpp (findFrameParent): made frame name lookup locale - independant. Was mostly problematic with non-ascii names. - - * html/html_formimpl.cpp (gatherWalletData): prevent crash occuring - on double form submits (bug report #105899) - -2006-11-14 Allan Sandfeld Jensen <kde@carewolf.com> - - Implement overflow-x and overflow-y - - * css/*.*: New properties - * rendering/render_style.{h,cpp}: New properties - * rendering/render_object.h: New functions scrollsOverflowX() and scrollsOverflowY - * rendering/render_layer.h: Remove depricated function moveScrollbarsAside() - * rendering/render_layer.cpp: More fine grained creation of scrollbars - * khtmlview.cpp: More fine grained creation of scrollbars - * rendering/render_block.cpp: Use new functions - * rendering/render_box.cpp: Use new functions - * rendering/bidi.cpp: Use new functions - -2006-11-13 Allan Sandfeld Jensen <kde@carewolf.com> - - Merge text-overflow:ellipis from WebCore - - * css/*.*: New property and values - * rendering/render_style.{h,cpp}: New property and values - * rendering/render_line.{h,cpp}: New line-box for ellipsis - * rendering/bidi.cpp: Two functions to remove and create ellipsis boxes - * rendering/render_text.{h,cpp}: Add the ability to truncate text at a certain point. - -2006-06-28 Germain Garand <germain@ebooksfrance.org> - - make updating of addRule/removeRule/insertRule work - cf. http://www.quirksmode.org/dom/w3c_css.html#change - - * css/css_stylesheetimpl.cpp - (insertRule/deleteRule): shallow update of styleselector. - * xml/dom_docimpl.{h,cpp} - (updateStyleSelector): new boolean argument for shallow recalculation, when all sheets are known. - (DocumentImpl::recalcStyleSelector): split. - (DocumentImpl::rebuildStyleSelector): new from split. Recreate styleselector with known sheets. - -2006-06-27 Germain Garand <germain@ebooksfrance.org> - - . Correct drawing of borders on iframes and objects (#118277/#56109) - . Frameborder attribute for iframes (http://www.w3.org/TR/html401/present/frames.html#adef-frameborder) - . Fix widget counter-mask not being updated in time, thus sometimes missing a repaint (e.g: http://lequipe.fr) - - * html/html_baseimpl.{h,cpp} (HTMLIFrameElementImpl::parseAttribute): parse frameborder attribute. Defaults to true as per specification. - (HTMLIFrameElementImpl::updateFrame/attach): apply/remove frameborder style at attachment time. - * khtmlview.cpp (drawContents): fix counter-mask problem. Widget geometry is not accurate before painting, so we must - use the RenderObject's. - * rendering/render_frames.h (paddingTop/paddingBottom/paddingLeft/paddingRight): reimplement. Frames have no padding. - (RenderPartObject::canHaveBorder): reimplement. True. - * rendering/render_object.cpp (RenderObject::updateWidgetMasks): clip mask to correct width/height, though it doesn't matter much on X11. - * rendering/render_replaced.h (RenderWidget::borderTop/borderBottom/borderLeft/borderRight): percolated down from RenderForm. - Frames/Iframes also need that reimplementation. - -2006-06-22 Germain Garand <germain@ebooksfrance.org> - - Implement floating auto-width table quirk - - * rendering/render_block.cpp (positionNewFloats): in quirkmode, floated auto-width - tables try to fit within remaining linewidth, so look for minWidth, and relayout if - position found ends up being narrower than current table width. - -2006-06-20 Germain Garand <germain@ebooksfrance.org> - - Don't let a float serie grow an object's maxwidth beyond the available width - - * rendering/render_block.cpp (calcInlineMinMaxWidth/calcBlockMinMaxWidth): lazzily check available width - so floats don't overflow it if they can break line. - * rendering/render_box.{h,cpp} (availableWidth{,Using}): new. Like availableHeight{,Using} - * rendering/render_canvas.cpp (RenderCanvas::layout): set m_viewportWidth before recalculating minmax, as - availableWidth needs it. - -2006-06-15 Allan Sandfeld Jensen <kde@carewolf.com> - - Merge CSS3 properties background-size, background-origin and background-clip from WebCore - - * rendering/render_style.{h,cpp}: New properties - * rendering/render_box.cpp: Handle the values in paintBackgroundExtended. - * dom/css_value.h: Add CSS_PAIR primitive value - * css/css_valueimpl.{h,cpp}: Add PairImpl primitive value - * css/cssstyleselector.cpp: New properties - * css/cssvalues.in: New values - * css/cssproperties.in: New properties - * css/cssparser.{h,cpp}: Clean-up short-hand parsing WC style - -2006-06-14 Allan Sandfeld Jensen <kde@carewolf.com> - - Implement replaced CSS(3) content, and fix various details in generated pseudo elements for CSS 2.1 - - * rendering/render_style.{h,cpp}: Add REPLACED and MARKER pseudo styles - * rendering/render_container.{h,cpp}: - (updatePseudoChild) Allow display: block as per CSS 2.1 standard - (updateReplacedContent) Handle changes in Replaced content. - (childrenAllowed) forbid children when generated content is used, this prevents - their render-objects from being attached. - * rendering/render_block.cpp: Postpone updatePseudoChilden to attachment because block - children might need the elements parents. - * rendering/render_inline.cpp: ditto - * rendering/render_generated.{h,cpp}: Add new class RenderGlyph to render list-style glyphs (square, disc, etc.) - * xml/dom_nodeimpl.cpp: - (NodeImpl::diff) detect changes in content and return Detach - * css/css_base.{h,cpp}: Add marker and replaced pseudo-styles - * css/cssstyleselector.cpp: - (checkOneSelector) Allow content on more elements - (precomputeAttributeDependencies) Track attributes inside :not elements as well - -2006-06-08 George Staikos <staikos@kde.org> - - Fix <a><label><img not in a form not being clickable - - * html/html_formimpl.cpp: let the event bubble - -2006-05-31 Allan Sandfeld Jensen <kde@carewolf.com> - - Merge WC bug-fixes and clean-up for positioned box-model - - * rendering/Render_box.{h,cpp}: - (RenderBox::calcAbsoluteHorizontal): - (RenderBox::calcAbsoluteHorizontalValues): - (RenderBox::calcAbsoluteVertical): - (RenderBox::calcAbsoluteVerticalValues): - (RenderBox::calcAbsoluteHorizontalReplaced): Handle replaced case separately. - (RenderBox::calcAbsoluteVerticalReplaced): ditto. - -2006-04-20 Allan Sandfeld Jensen <kde@carewolf.com> - - Implement full support for CSS updates on dynamic DOM and user-interaction - - * misc/multimap.h: NEW: A "fast on insert" map with multiple values per key - * xml/dom_restyler.{h,cpp}: NEW: The dynamic DOM restyler keeps track of changes and issues restyles - * xml/dom_docimpl.h: - Remove obsolete usesDescendencyRules. - Add a dynamicDomRestyler to the document. - * xml/dom_nodeimpl.{h,cpp}: Add dynamic DOM restyler hooks. - * xml/dom_elementimpl.{h,cpp}: - Remove obsolete usesDescendencyRules logic. - Remove obsolete laterestyle logic. - Implement DOM restyler hooks. - * css/cssstyleselector.{h,cpp}: - Clean-up checkSelector, removing obsolete and redundant arguments - Fix :link and :visited selector. - Setup all dynamic dependencies in checkOneSelector. - * css/cssparser.{h,cpp}: Remove defaultNamespace - * css/css_stylesheetimpl.{h,cpp}: Add defaultNamespace - * css/parser.{y,cpp}: - Remove calls to usesDescendencyRules. - Use defaultNamespace from stylesheet rather than parser. - * rendering/render_style.h: Remove obsolete affectedByHoverRules and affectedByActiveRules - * rendering/render_layer.cpp: Use dynamic DOM restyler to restyle :hover and :active nodes. - * html/html_formimpl.cpp: Call dynamic restyler for changes to disabled state - -2006-04-09 Allan Sandfeld Jensen <kde@carewolf.com> - - Distinguish between having no determined namespace, and determined to have no namespace - - * xml/dom_nodeimpl.h: Split noNamespace into defaultNamespace and emptyNamespace - * css/cssstyleselector.cpp: Change HTML-hack to only trigger on undetermined namespace. - -2006-04-04 Allan Sandfeld Jensen <kde@carewolf.com> - - Make so-called nondeterministic CSS matching work - - * css/cssstyleselector.{h,cpp} (checkSubSelector/checkOneSelector): - Extract combinator matching from checkSelector and make it a recursive function. Clean-up checkOneSelector. - -2006-03-25 Germain Garand <germain@ebooksfrance.org> - - Scope: fix handling of nested/external scripts in the tokenizer (#91701) - - * misc/stringit.h (TokenizerQueue): a LIFO stack of TokenizerStrings - * html/htmltokenizer.{h,cpp} (scriptHandler/write/notifyFinished): use a TokenizerQueue to store - postponed fragments while executing/loading scripts. - (fixUpChar): unrelated - fill in missing unicode replacements. - -2006-03-20 Dirk Mueller <mueller@kde.org> - - * misc/loader.cpp: fix pixmap leak in tiled_pixmap() - -2006-03-20 Allan Sandfeld Jensen <kde@carewolf.com> - - Improve the CSS :lang() selector to match clarified specification - - * khtml_part.cpp: parse HTTP content-language - * xml/dom_docimpl.cpp: parse HTTP-EQUIV content-language - * css/cssstyleselector.cpp: match :lang() against parents and ultimately the document - -2006-03-07 Germain Garand <germain@ebooksfrance.org> - - Scope: relayout/repaint/widget masks fixes. Refine stacking context exploration. Optimise. - - * khtmlview.cpp (drawContents): use widget geometry rather than the RenderWidget's rect (fixes widget borders not being updated) - Check if widget is in the dirty rect before doing any work. - - * rendering/render_block.cpp (layoutBlockChildren): I meant !child->isPositioned() here, not isPositioned(). No need to - dirty positioned children as this is handled by the containing block chain through layoutPositionedObjects - (layoutPositionedObjects): always relayout fixed objects. - - * rendering/render_canvas.cpp (layout): check canvas dimensions and call layoutBlock directly with relayoutChildren boolean. - - * rendering/render_layer.{h,cpp} (paintedRegion): constrain our shape to the visibleRect. Use convertToLayerCoords to get a correct - visibleFlowRegion (updateWidgetMasks): don't forget to update the mask if it reverts to none at all. - - * rendering/render_object.{h,cpp} (containingBlock): for relpos inlines, return the nearest block (skipping to next containingBlock gives - stalled layout flags problems - #121653). (updateWidgetMasks): mask the content box, not the border box. - (enclosingStackingContext) new. Returns the layer defining current stacking context. - - * rendering/render_replaced.{h,cpp} (isKHTMLWidget): new flag for KHTML-proxied widgets. - (detach/resizeWidget/setQWidget/layout/updateFromElement/slotWidgetDestructed/setStyle/paint): use the flag insead of strcmp's - Only allow !khtml widgets to register in the view (only those need masking). - -2006-03-05 Charles Samuels <charles@kde.org> - * link not accessable with negative text-indent (#96275) - * Wrong :hover effect with negative text-indent (#90510) - * text not selectable if it has a negative text-indent - -2006-03-05 Charles Samuels <charles@kde.org> - * javascript timeouts that cross a midnight boundary shall not occur early - -2006-03-03 Germain Garand <germain@ebooksfrance.org> - - get iframes, objects and some other overlaid widgets to obey their stacking context (#31121) - - * khtmlview.cpp: mask widgets more precisely (i.e. allow layers to paint over overlaid widgets, - when they ought to). - - * rendering/render_canvas.{cpp,h}: update widget masks after pos child layout/positioning; - set a boolean m_needsWidgetMasks to optimise for common case (where we have no such widgets). - - * rendering/render_layer.{cpp,h} (updateWidgetMasks/paintedRegion): build a rough mask for the positive Z order - childs. We'll apply that mask later to widgets that are under our aegis. - - * rendering/render_object.{cpp,h} (visibleFlowRegion): helper for calculation of broad region we want to mask in flows. - (updateWidgetMasks): walk our children looking for widgets suitable to masking. Apply our enclosingLayer's mask, - transformis transformandi. - - * rendering/render_replaced.cpp: overlaid widgets must advertise their existence to the enclosing layer. - -2006-03-01 Germain Garand <germain@ebooksfrance.org> - - Improve selectorText - - * css/css_base.cpp (extractPseudoType): don't reset 'value' after parsing the pseudo-style, we need it for selectorText. - (selectorText): - correctly handle CSS3 pseudo selectors, - - merge some improvements from WebCore (Mitz Pettel sub-selector patch + fix ::Set handling) - * css/css_ruleimpl.cpp (selectorText): handle of multiple, comma-separated selectors - -2006-02-28 Germain Garand <germain@ebooksfrance.org> - - Common-case style selection optimisation inspired from WebCore. - - * css/css_base.cpp/.h: add 'Class' to possible matching modes - * css/cssstyleselector.cpp: treat 'Class' extra, not anymore as an ordinary List. - * css/parser.cpp/y: use 'Class' matching mode - * html/html_elementimpl.cpp: when parsing ATTR_CLASS, set a boolean to remember if it is or not a class list. - * xml/dom_elementimpl.{cpp,h}: add m_hasClassList boolean + setter/getter - -2006-02-28 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_block.cpp (layoutBlockChildren): be more efficient with regard to positioned objects relayout. - Merge WC margin-collapse regression fix (WC/#3508). - (layoutPositionedObjects) Objects with staticX() need a relayout too. - * rendering/render_canvas.cpp (layout): no need to relayout positioned objects here. This would mark entire branches of the tree - as needing a layout, thus stalling update requests in those branches (#116626) - -2006-01-14 Allan Sandfeld Jensen <kde@carewolf.com> - - * rendering/render_image.cpp (calcReplacedWidth,calcReplacedHeight): - Respect both min/max sizes and aspect-ratio when resizing. - -2006-01-03 Allan Sandfeld Jensen <kde@carewolf.com> - - * css/cssparser.cpp: Allow content: normal | none - * css/cssstyleselector.cpp: Handle content: normal | none - -2005-12-09 Germain Garand <germain@ebooksfrance.org> - - implement quirky HTML alignment ; introduce special float values - -khtml-left/-khtml-right to this effect. - - * css/cssparser.cpp: ditto. Fix memory leak from Function struct deletion also. - * css/cssstyleselector.cpp: ditto. - * css/html4.css: set as default style for table[align="left/right"] - * html/html_tableimpl.cpp (parseAttribute): remove setting of float property - * rendering/render_block{h,cpp}: quirky HTML alignment never clears, and never cause fafs to clear. - Only examine the last floating object on line, so as to match MSIE behaviour. - * rendering/render_style.h: extra float enumeration values - * css/css_renderstyledeclarationimpl.cpp (getPropertyCSSValue): adjust - -2005-12-06 Dirk Mueller <mueller@kde.org> - - * html/htmltokenizer.cpp: don't treat <!---> specially. - fixes bug 93799. - -2005-12-02 Charles Samuels <charles@kde.org> - rendering/bidi.cpp: don't sometimes take text far past the end - of the block's margin on justified text. bug #106081 - -2005-11-08 Germain Garand <germain@ebooksfrance.org> - - sizing of percent objects within table cells - - * rendering/render_box.cpp (calcPercentageHeight): transfer most of the logic for table cells in render_table as - it was partly redundant here. Don't apply the table cell sizing hacks in strict mode - no other engine does that. - Don't forget anonymous blocks - those must not stop recursion obviously. - Move substraction of the border/padding after calculation (spotted in WC) - - * rendering/render_table.{cpp,h}: - had member booleans to hold whether flexing of cells in a row is - needed, and in the affirmative, whether we need to mark our anonymous childs for relayout (hence go one level deeper). - Part of line 1394 comes from WebCore. - Also: don't allow negative offset in vertical alignment when content overflows ; matches MSIE better. - -2005-10-28 Germain Garand <germain@ebooksfrance.org> - - * rendering/table_layout.cpp (calcEffectiveWidth): do proportional distribution of overflowing minwidth - when all cols are percent (#104156) - -2005-10-21 Germain Garand <germain@ebooksfrance.org> - - * rendering/bidi.cpp (findNextLineBreak): implement needed quirk for line breaking of - replaced elements within table cells. - * rendering/render_block.cpp (calcInlineMinMaxWidth): ditto. - Bugs #93745, #72457 - -2005-10-20 Dawit Alemayehu <adawit@kde.org> - * ecma/xmlhttprequest.cpp: - -Add support for default HTTP referer header. Fixes bug# 113962. - - Sanitize all setRequestHeader calls: - - We now use a BANNED_HTTP_HEADERS list to filter out - potentially problematic headers. - - We always call open on "get" and "post" requests set - through this function. - - We sanitize any attempts to set the "referer" field. - -2005-10-15 Dawit Alemayehu <adawit@kde.org> - * ecma/xmlhttprequest.cpp: Handle HTTP response headers case insensitively. - Fix for bug 110768. - -2005-10-14 Lubos Lunak <l.lunak@kde.org> - - * khtmlview.cpp: show accesskeys for all frames - -2005-10-13 Allan Sandfeld Jensen <kde@carewolf.com> - - WebCore merge: correct name on IFrames - - * html/html_baseimpl.cpp: copied FrameElementImpl behavior for initializing name - -2005-10-13 Allan Sandfeld Jensen <kde@carewolf.com> - - WebCore merge: blur and focus on buttons - - * html/html_formimpl.{cpp.h}: Add form and blur - * dom/html_form.{cpp,h}: ditto - * ecma/kjs_html.{cpp,h}: ditto - -2005-10-08 Germain Garand <germain@ebooksfrance.org> - - Port soft-hyphen support from WebCore - - * rendering/bidi.cpp (findNextLineBreak): main skipping/breaking logic - - * rendering/render_text.{cpp,h} (calcMinMaxWidth): account for soft hyphen - -2005-10-08 Dawit Alemayehu <adawit@kde.org> - * ecma/xmlhttprequest.cpp: Do not append NULL character to end of posted - data. Fix for bug 113393. - -2005-10-08 Germain Garand <germain@ebooksfrance.org> - - Follow Mozilla/Opera in considering the Window object as an implementation of the AbstractView/ViewCSS - DOM2 interfaces. Return the Window object when available ; an AbstractView if not. - - * ecma/kjs_dom.cpp (DefaultView): return the view's Window object if available. - - * ecma/kjs_window.{cpp,h} (GetComputedStyle): implement, as in AbstractView. - -2005-10-07 Germain Garand <germain@ebooksfrance.org> - - * rendering/bidi.cpp (findNextLineBreak): integrate all positioned inlines in the lineboxes to get a correct static position - in initial whitespace. Use some midpoints voodoo to take care of whitespace. - - cf. unsorted/113527.html - -2005-10-03 Germain Garand <germain@ebooksfrance.org> - - let the initial containing block be the Canvas, as mandated by latest - draft of CSS 2.1 10.1.1 - - * rendering/render_object.cpp (containingBlock, container): don't special case the Root, it's no more - an initial containing block. - - * rendering/render_block.{cpp,h} (*AbsolutePosition): separate calculation - of positioned objects' contribution to the object's rightmost/lower/leftmost position. - - * rendering/render_box.cpp (setStyle, containingBlockWidth): checking for isCanvas where applicable. - - * rendering/render_canvas.cpp (docWidth, docHeight): - take into account absolutely positioned objects from the canvas itself. - -2005-09-18 Allan Sandfeld Jensen <kde@carewolf.com> - - Implementation of real page-breaking algorithm respecting the CSS 2.1 specification. - - * khtmlview.cpp: - Do layout for page-breaks before printing. - Use screen resolution as default instead of 72DPI. - * css/html4.css: Add the print media default styles - * rendering/render_style.*: Add RenderPageStyle as the style for the page-context. Not yet used. - * rendering/render_canvas.*: - Separate paged and static properties of printing. - Use rootHeight as pageHeight. - Add RenderPage as the page-context(@page). Not yet used. - * rendering/render_flow.*: - (deleteLastLineBox) new function to remove the last line (in order to redo it). - * rendering/render_line.*: - (removeFromLine) ditto - * rendering/bidi.cpp: New algorithm in layoutInlineChildren for doing page-breaks at layout-time, - and respecting orphans/widows CSS settings. - * rendering/render_block.cpp: - (makePageBreakAvoidBlocks) Function for collecting runs of page-break-after/before: avoid blocks, so - they can be moved across page-breaks collectively. - (layoutBlockChildren) New algorithm for doing page-breaks at layout time, - and respecting page-break-after/before/inside - * rendering/render_table.cpp: Force page-breaks to happen inside cells and not between rows. - (RenderTableSection::addSpaceAt) moves later table-rows down when one cell expands to handle a - page-break. - * rendering/render_list.cpp: Remove truncation logic from paint - * rendering/render_text.cpp: ditto - -2005-08-18 Luís Pedro Coelho <luis@luispedro.org> - * rendering/render_image.cpp: Scale images correctly (adjust both height and width) - when max-width is used. - -2005-08-10 Dawit Alemayehu <adawit@kde.org> - * ecma/xmlhttprequest.cpp: Convert a 304 (Not Modified) HTTP response in - XMLHttpRequest to a 200 (OK) response to make KHTML conform to IE's and - Mozilla's behavior. BUG: 110272 - - * ecma/xmlhttprequest.cpp: Factored out the HTTP status line parsing code - into a single function. - -2005-08-02 Allan Sandfeld Jensen <kde@carewolf.com> - - Imported background parsing and painting from WebCore. - - * css/cssparser.{h,cpp}: New short-hand parser for background - * css/cssstyleselector.{h,cpp}: - * rendering/render_style.{h,cpp}: Support multiple backgrounds using BackgroundLayer - * rendering/render_box.{h,cpp}: Use paingBackgrounds to paint multiple backgrounds - * rendering/render_line.{h,cpp}: ditto - * rendering/render_object.{h,cpp}: ditto - * rendering/render_form.cpp: - * khtml/rendering/render_table.cpp: - -2005-08-02 Allan Sandfeld Jensen <kde@carewolf.com> - - * rendering/render_block.{h,cpp}: Split layoutBlockChildren into several auxilary functions. - -2005-07-26 Andreas Kling <kling@impul.se> - - * html/htmlparser.cpp: Block <input type="image"> elements if SRC attribute is ad-filtered. - * khtml_part.cpp: Include <input type="image"> elements in AdBlocK filter runs. - -2005-07-25 Dawit Alemayehu <adawit@kde.org> - * ecma/xmlhttprequest.cpp: Use the charset provided by the remote host through the HTTP headers. - -2005-07-25 Andreas Kling <kling@impul.se> - - Make new ad filters have instant effect (either hide affected elements - replace them with the "blocked" pixmap.) - - * khtml_part.{cpp,h}: Added runAdFilters() function which is called from reparseConfiguration() - * khtml_ext.cpp: Call KHTMLPart::reparseConfiguration() after adding new filters. - * misc/loader.cpp: Create blockedPixmap in Cache::init() instead of the CachedImage constructor. - -2005-07-19 Allan Sandfeld Jensen <kde@carewolf.com> - - * rendering/render_box.{h,cpp}: Make sure we get content-sizes when reading fixed length values. - -2005-07-19 Andreas Kling <kling@impul.se> - - * xml/dom_docimpl.cpp (isURLAllowed): Match ad filters against fully - expanded URL. - -2005-07-18 Andreas Kling <kling@impul.se> - - "Block IFrame..." context menu option - - * khtml_ext.{cpp,h}: Added "blockiframe" to context popup menu - * khtml_popupmenu.rc: Same - * khtml_part.h: added KHTMLPopupGUIClient to friend classes - -2005-07-08 Germain Garand <germain@ebooksfrance.org> - - vertical-align fixes - - * rendering/render_object.cpp (getVerticalPosition): block level - elements must ignore vertical alignment (#92118). For Length values, check the parent - too. Don't use the parent's position if it's top/bottom - it's waiting for - our subtree's to complete! (cf. css/vertical-align.html) - - * rendering/render_list.cpp (calcMinMaxWidth): if the marker is the error image, - avoid calculating bogus values. - -2005-07-07 Allan Sandfeld Jensen <kde@carewolf.com> - - There is nothing KHTML specific about keypress events. They might not be DOM2 or 3, - but MSIE, Mozilla and Safari all handles them as a valid event class. - - * xml/dom2_eventsimpl.{h,cpp}: Allow KEYPRESS as a valid event type - * ./.: Rename KHTML_KEYPRESS_EVENT to KEYPRESS_EVENT - -2005-07-05 Allan Sandfeld Jensen <kde@carewolf.com> - - * html/htmlparser.cpp(insertElement): Do not create DLs for stray DT and DD - (popBlock): Reopen residual tags - * html/dtd.cpp: Allow more elements under DL - -2005-06-29 Allan Sandfeld Jensen <kde@carewolf.com> - - * html/htmltokenizer.cpp: Reset discard when encountering tags or entities - -2005-06-28 Allan Sandfeld Jensen <kde@carewolf.com> - - * html/html_tableimpl.cpp (appendChild): Always add TBody to XHTML rows - * xml/xml_tokenizer.cpp (startElement): Remove hack for adding TBody to any row - -2005-06-27 Stephan Kulow <coolo@kde.org> - - * html/html_formimpl.cpp (parseAttribute): Fix ignoring of align - attribute on form elements !image (patch by OpenDarwing #3360) - -2005-06-25 David Faure <faure@kde.org> - - * html/htmlparser.cpp (insertNode): Fix parsing of <table><tr><caption>, - with code from WebCore, http://www.cs.cornell.edu/~maksim/WC/changesets/3747.html - -2005-06-23 David Faure <faure@kde.org> - - * html/html_tableimpl.cpp (appendChild): Improve fix for bug #105586 to avoid - side effects with tfoot. - - * khtml_run.cpp (foundMimeType): Mark child object (e.g. <embed>) as completed - after saving, running in external viewer, or cancelling, so that e.g. scheduled redirects - can happen. Patch by Andreas Kling <kling@impul.se>. - -2005-06-20 Allan Sandfeld Jensen <kde@carewolf.com> - - * ecma/kjs_events.cpp: Respect the DOM for MouseEvent::Button atleast when simulating Mozilla - -2005-06-20 David Faure <faure@kde.org> - - * ecma/kjs_window.cpp (openWindow): Treat empty string the same - as missing for third argument of window.open(). - -2005-06-20 Allan Sandfeld Jensen <kde@carewolf.com> - - Merge handling of dynamically inserted scripts. - - * html/html_headimpl.{h,cpp}: Load and execute dynamic scripts - * html/htmlparser.cpp: Set a createdByParser to not execute scripts twice. - * xml/xml_tokenizer.cpp: Ditto. - -2005-06-19 George Staikos <staikos@kde.org> - * css/css_renderstyledeclarationimpl.{h,cpp}: Merge crash fix from - webcore (See bug #107460). - * css/css_valueimpl.{h,cpp}: Make m_node SharedPtr<>. - -2005-06-18 Harri Porten <porten@kde.org> - - * ecma/kjs_window.cpp (openWindow): patch by Andreas Kling that - adds support for "scrollbars" option to window.open(). - -2005-06-14 Allan Sandfeld Jensen <kde@carewolf.com> - - * rendering/render_style.{h,cpp}: Remove the quotes as counters hack - * css/cssstyleselectors.cpp: ditto - * rendering/render_container.{h,cpp} (updatePseudoChild): Clean and simplify - * rendering/render_generated.{h,cpp}: Split quotes from counters and - create new base class RenderCounterBase. - * rendering/render_object.cpp: Count quotes correctly - -2005-06-14 Dirk Mueller <mueller@kde.org> - * ecma/domparser.{h,cpp}: Unbreak compilation. - -2005-06-13 George Staikos <staikos@kde.org> - * ecma/xmlhttprequest.{h,cpp}: Disallow duplicated headers, and always - disallow Content-Length setting. - -2005-06-09 Allan Sandfeld Jensen <kde@carewolf.com> - - Implementing Mozilla extension DOMParser - - * ecma/domparser.{h,cpp}: Implementation - * ecma/kjs_window.{h,cpp}: Exposing DOMParser - * misc/shared.h: khtml::SharedPtr<> - -2005-06-08 Allan Sandfeld Jensen <kde@carewolf.com> - - * html/html_tableimpl.{h,cpp}: Implement FRAME attribute - -2005-06-03 Harri Porten <porten@kde.org> - - * ecma/kjs_window.cpp (put): don't crash on attempts to set a - property on a deleted window (bug #106697). - -2005-06-03 George Staikos <staikos@kde.org> - * ecma/kjs_window.cpp: Escape HTML in message boxes like window.alert() - -2005-06-02 Allan Sandfeld Jensen <kde@carewolf.com> - - * rendering/render_block: Merge margin collapsing improvement from WebCore-146 - -2005-06-01 Harri Porten <porten@kde.org> - - * ecma/kjs_window.cpp: fixed prototype property lookup order of - global window object. Fixes endless loop on maps.google.com - (bug #98979). - -2005-05-28 Allan Sandfeld Jensen <kde@carewolf.com> - - Implement ideographic enumeration including the CSS 2.1 cjk-ideographic and several from CSS 3 List (working draft). - Also add three more numeric: (Lao, Thai and Tibetan) - - * css/cssvalues.in: Add new CSS3 values with -khtml- - * rendering/render_style.h: Add new enums - * rendering/enumerate.cpp: Implement the ideographic algorithm. - -2005-05-24 David Faure <faure@kde.org> - - * html/html_tableimpl.cpp (appendChild): Allow javascript to insert - a TR directly into a TABLE, creating a TBODY section if needed (bug #105586). - -2005-05-21 Harri Porten <porten@kde.org> - - * html/html_documentimpl.cpp: emit onload event even if the - document has no body element (bug #105798). - -2005-05-20 Allan Sandfeld Jensen <kde@carewolf.com> - - Implement/fix CSS namespace selector and other XHTML fixes. - - * css/css_base.h: Merge CSSNamespace from WebCore - * css/css_stylesheetimpl.{h,cpp}: Port determineNamespace and addNamespace from WC - * css/parser.y: Parse namespaces better - * xml/dom_docimpl.cpp: Add noNamespace to namespace functions - * xml/dom_nodeimpl.h: Add constants for any, no and xhtml namespaces - * xml/xml_tokenizer.cpp: Parse white space. - -2005-05-18 Harri Porten <porten@kde.org> - - * xml/dom2_eventsimpl.cpp: recognize "dblclick" type in - addEventListener() calls (bug #98994). - -2005-05-16 Harri Porten <porten@kde.org> - - * ecma/*.cpp: removed usage of deprecated KJS::Value::isNull() - - * ecma/kjs_dom.cpp: reverted "null" change from previous day - until the compatibility to other browsers is investigated. - -2005-05-15 Harri Porten <porten@kde.org> - - * ecma/kjs_dom.cpp: return "null" from getAttribute() and - getAttributeNS() if the attribute isn't set. - - * html/html_elementimpl.cpp: always return a non-null string - from innerHTML() and innerText() - -2005-05-14 Ivor Hewitt <ivor@ivor.org> - * khtml_settings.cc: Support full wildcard expressions in AdblocK - -2005-05-12 Luciano Montanaro <mikelima@cirulla.net> - * html/html_formimpl.cpp: Make a return keypress activate form - buttons. Matches Mozilla. - - * html/html_inlineimpl.cpp: make onclick() work for links too. - -2005-05-12 David Faure <faure@kde.org> - - * khtmlview.cpp (dispatchKeyEvent): Don't send DOM keypress if - the DOM keydown that precedes it was blocked by javascript, as in IE. - - * rendering/render_replaced.cpp (handleEvent): send Qt::KeyPress to the - widget for DOM keypress and not DOM keydown to allow sites to block a key - with onkeypress, #99749. - -2005-05-11 Allan Sandfeld Jensen <kde@carewolf.com> - - * html/html_objectimpl.cpp: Extract service-type from "data:" url and create - renderer for all images - -2005-05-09 Allan Sandfeld Jensen <kde@carewolf.com> - - Speed-up white-space collapsing by only allocating once. - - * renderer/render_table.cpp: Remove static function cleanString - * xml/dom_stringimpl.cpp: Add collapseWhiteSpace function - -2005-05-07 Harri Porten <porten@kde.org> - - * html/html_tableimpl.cpp (cellIndex): return meaningful values - using patch suggested by Rob in bug report #7690. - - * ecma/kjs_window.cpp: allow setting location.href on foreign - windows opened by window.open() again (bug #101178). - -2005-05-06 Ivor Hewitt <ivor@ivor.org> - - fix #15848: First implementation of AdBlocK. - - * khtml_ext.{cpp,h}: Add Blockimage to context popup menu - * khtml_popupmenu.rc: ditto - * khtml_settings.{cc,h}: Add adFilter settings and helper functions - * html/htmlparser.cpp: Strip blocked IMG tags - * misc/loader.{cpp,h}: Return replacement blocked images and refuse to load blocked scripts. - * misc/blocked_icon.{cpp,png}: Image for above - * xml/dom_docimpl.cpp: isURLAllowed returns false for blocked URL's - -2005-05-02 David Faure <faure@kde.org> - - * ecma/kjs_html.cpp (HTMLCollectionProtoFunc::tryCall): Support for - non-standard item('<name>'). - -2005-05-02 David Faure <faure@kde.org> - - Propagate correct DOM exception code from checkAddChild to setInnerHTML. - * html/html_elementimpl.cpp (setInnerHTML, setInnerText) - * dom/html_element.cpp (setInnerHTML, setInnerText) - -2005-05-01 Allan Sandfeld Jensen <kde@carewolf.com> - - The mergeable of Daves Acid2 patches. - - * renderer/render_block.cpp: - - Make sure that percentages that go to auto don't mess up the self-collapsing block check. - - Fix floats to not grow if child floats overhang but the height of the outer float is auto. - * renderer/render_box.{h,cpp}: - - Add support for min/max-width/height for positioned elements. - - Make sure percentage min-height goes to 0 and not auto when the percentage does not apply. - * renderer/render_table.cpp: - - Make sure empty tables honor CSS-specified height in strict mode. - - Fix baseline alignment within table cells to use the bottom of empty blocks. - -2005-04-30 Harri Porten <porten@kde.org> - - * ecma/kjs_window.cpp: unbreak calling close() on other - windows. It has it own set of security checks. - -2005-04-24 Harri Porten <porten@kde.org> - - * html/html_formimpl.cpp (value): never return a null string from - the value() function of input elements. - -2005-04-18 David Faure <faure@kde.org> - - Special scope entries for event handlers are based on the DOM node on - which the handler is an attribute, not the event target, which also - allows to set it up at the time the event handler is created, not at - the time it fires (Safari merge). - - Many files touched to simply pass the NodeImpl around. - - Testcase events/eventhandlerscope.{html,js} - -2005-04-15 Lubos Lunak <l.lunak@kde.org> - - * khtmlview.{h,cpp}: Assign unused accesskeys automatically to elements - without accesskeys. - -2005-04-06 Lubos Lunak <l.lunak@kde.org> - - * khtmlview.{h,cpp}: Use KActions for type ahead find. - * khtml_part.{h,cpp}: ditto. - * khtml_part.{h,cpp}: Add Find Previous action. - * khtml_part.cpp (findTextNext): Fix changing direction while searching text. - -2005-04-05 Lubos Lunak <l.lunak@kde.org> - - * misc/loader_jpeg.cpp: Fix loading of progressive JPEGs. - -2005-04-04 Lubos Lunak <l.lunak@kde.org> - - * khtmlview.cpp: Don't use keyboard grab for type-ahead find. - -2005-04-03 Allan Sandfeld Jensen <kde@carewolf.com> - - * ecma/kjs_html.{h,cpp}: Implement frame and iframe .contentWindow - * ecma/kjs_window.{h,cpp}: Implement window.frameElement - -2005-03-30 Allan Sandfeld Jensen <kde@carewolf.com> - - * html/htmlparser.{h,cpp}: Merge WebCore handling of residual styles. - -2005-03-29 Germain Garand <germain@ebooksfrance.org> - - Layer related fixes. - - * ecma/kjs_dom.cpp (putValueProperty): scrollLeft/scrollTop need an - up-to-date rendering. - - * rendering/render_box.cpp (repaintRectangle): apply scroll offset - to the repaint rectangle (overflow != visible objects). - - * rendering/render_layer.{h,cpp} (repaint): rename markForRepaint to - less equivocal repaint. - (updateLayerPositions): small fixes. - (scrollToOffset): update our child layers (#102235) - - * rendering/render_object.cpp (setStyle/repaintDuringLayout): rename ditto. - -2005-03-29 Germain Garand <germain@ebooksfrance.org> - - offsetLeft/Top/width/Height/Parent improvements - - * rendering/render_object.cpp (offsetLeft/offsetTop/offsetParent): - match IE behaviour in strict mode. - - * rendering/render_table.{h,cpp} (RenderTableRow::offsetLeft/offsetTop/offsetHeight/offsetWidth): - reimplemented to return meaningful values (#102127) - -2005-03-22 Allan Sandfeld Jensen <kde@carewolf.com> - - * css/parser.y: Parse pseudo-elements and pseudo-classes separately. - * css/css_base.{h,cpp}: Treat pseudoElements and pseudoClass as differing match-types and - add compatibility transform from pseudoClass to pseudoElement for CSS2 pseudo-elements. - -2005-03-22 Allan Sandfeld Jensen <kde@carewolf.com> - - * html/htmltokenizer.cpp: Implement SGML attribute-value white-space parsing rules. - -2005-03-22 Allan Sandfeld Jensen <kde@carewolf.com> - - * html/htmlblockimpl.cpp: When a NS-layer gets DIV layer children. The NS layer should - let the DIV layer control position. - -2005-03-22 Allan Sandfeld Jensen <kde@carewolf.com> - - * misc/loader.cpp: Do not override existing charset with an empty one. - -2005-03-21 Allan Sandfeld Jensen <kde@carewolf.com> - - * html/htmltokenizer.cpp: - - Only skip first LF if immediately after PRE tag. - - Set prePos to 0 after BR tag - -2005-03-18 Allan Sandfeld Jensen <kde@carewolf.com> - - * xml/dom_docimpl.h: Add dictionary of CounterNodes - * rendering/render_object.{h,cpp}: Save 8 bytes overhead by moving counternodes to document - * rendering/render_list.cpp: Do not calculate counter value for unordered lists - -2005-03-18 Germain Garand <germain@ebooksfrance.org> - - * xml/dom_nodeimpl.cpp (traverseNextNode): fix broken algorithm for stayWithin - case (#101711) - -2005-03-18 Germain Garand <germain@ebooksfrance.org> - - make disabling of CSSheets via DOM actually do something. - - * css/css_stylesheetimpl.{cpp,h} (setDisabled): update style selector. - - * css/cssstyleselector.cpp (CSSStyleSelector): do not append rules - from disabled sheets. - -2005-03-17 Leo Savernik <l.savernik@aon.at> - - * rendering/render_flow.cpp (repaint): Calculate height, do not simply - use the bottom overflow of the root line box. - -2005-03-16 George Staikos <staikos@kde.org> - - * rendering/render_frames.cpp: some sites put width and height on <embed> - inside <object> instead of on <object>, so push that attribute up to - <object> and report it to the plugin - -2005-03-14 Germain Garand <germain@ebooksfrance.org> - - * css/html4.css: horizontal rules are centered by default (HTML-4.01 15.3) - -2005-03-12 Germain Garand <germain@ebooksfrance.org> - - * ecma/kjs_window.{cpp,h}: implement JS 1.2's window.atob/btoa (base-64 codec interface) - -2005-03-10 David Faure <faure@kde.org> - - * ecma/kjs_events.cpp (handleEvent): Move "pushing element/form/doc onto the scope" - from JSEventListener::handleEvent to JSLazyEventListener::handleEvent so that - it only happens with listeners set from html attributes, not from JS - in which - case the function already got a correct scope when created. - Testcase events/eventhandlerscope.{html,js} - -2005-03-04 Allan Sandfeld Jensen <kde@carewolf.com> - - Merge table padding from WebCore - - * html/html_tableimpl.cpp: CELLPADDING should not set normal padding - * rendering/render_table.cpp: Respect padding - * rendering/render_table.h: bordersAndSpacing() -> bordersPaddingAndSpacing() - -2005-03-04 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_block.cpp (layoutBlockChildren): percent width - children behaves like fixed width children with regard to float - clearing. In both cases we need to check if current line as enough width to - hold the (flowing-around-float) child. If not, we need to clear. - -2005-03-04 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_table.cpp (calcWidth): always use lineWidth for - table margins calculation (#89900) - -2005-03-03 Germain Garand <germain@ebooksfrance.org> - - * ecma/kjs_dom.cpp (getValueProperty/putValueProperty): - Mozilla/IE strict compatibility: document.documentElement.scroll{Top,Left} - concern the canvas, not the root block. - Cf. http://www.quirksmode.org/viewport/compatibility.html - -2005-03-01 Allan Sandfeld Jensen <kde@carewolf.com> - - * html/html_formimpl.cpp: Report content position rather than viewport position in "image" forms - -2005-03-01 David Faure <faure@kde.org> - - * html/html_formimpl.cpp (setType): Implemented, to make it possible - to set the type of an input element created with createElement. - Partially inspired by WebCore's setType(), but for getAttribute("type") - to work, setType() must set ATTR_TYPE. So parseAttribute() has to call - another method which doesn't do that, which is now parseType(), to - avoid an infinite recursion. Testcase forms/input_setType.html - -2005-02-28 Harri Porten <porten@kde.org> - - * xml/dom2_eventsimpl.cpp: always return a non-zero keyCode() - value even if it is Qt::Key_unknown as it is the case with the - AltGr key for example. - -2005-02-28 David Faure <faure@kde.org> - - * html/html_formimpl.cpp (setName): Also set ATTR_NAME so that - form.foo finds the input element. Testcase forms/input_setName.html. - -2005-02-27 Leo Savernik <l.savernik@aon.at> - - * rendering/font.cpp (drawText): Only pass text from inline text box to - QPainter::drawText, not the whole RenderText's text. - -2005-02-27 Harri Porten <porten@kde.org> - - * ecma/kjs_events.cpp: bind keyboard modifier properties like ctrlKey - - * xml/dom2_eventsimpl.cpp: returning meaningful keyCode() values - for "special" keys - - * dom/dom2_events.cpp: make which() equivalent to keyCode() - -2005-02-20 Germain Garand <germain@ebooksfrance.org> - - * html/html_formimpl.cpp (FocusHandleWidget::focusNextPrev): TextEdit - needs to use QWidget::focusNextPrevChild. - (defaultEventHandler): only handle key tab if it wasn't accepted by the widget (#58247) - - * rendering/render_replaced.cpp (RenderWidget::handleEvent): return - something meaningful. - -2005-02-18 Germain Garand <germain@ebooksfrance.org> - - scope: table percentage height, replaced element height calculation. - - * rendering/render_body.cpp (layout): pre-calculate our margins in - quirk mode, to be able to compute calcPercentageHeight in a const way. - - * rendering/render_box.{h,cpp} - (calcPercentageHeight): make const. Fix calculation of percentage - height within table cells to match other engines. - Do not subtract PB for table elements. - (calcReplacedHeightUsing): use calcPercentageHeight for Percent. - Looking for available height is an IE quirk and is thusly only done in quirk mode now. - When it is not computable, it behaves like 'auto', so use the intrinsicHeight (cf.10.6.2). - - * rendering/render_table.cpp (layoutRows): fix vertical alignment within - percentage driven cells. Subtract the cell's PB from cellPercentageHeight. - -2005-02-18 Leo Savernik <l.savernik@aon.at> - - * rendering/render_layer.cpp (updateHoverActiveState): Also mark - textnodes as being active. Use NodeImpl's implementation of setActive - for efficiency reasons, the style is updated anyway afterwards. - -2005-02-16 Leo Savernik <l.savernik@aon.at> - - * khtmlview.cpp (dispatchMouseEvent): Walk upwards the parent chain - from the target node and set the focus to the nearest focusable - ancestor (merged from WebCore). - -2005-02-16 Germain Garand <germain@ebooksfrance.org> - - - sanitize part/tokenizer state (for cross-document scripts). - - don't delete a tokenizer still executing a script on explicit close (patch from Allan Sandfeld - and Sarah <sarah@b0rked.dhs.org>) - fixes #68523 + crashes on early pop-up closing. - - * html/htmltokenizer.{h,cpp} (setAutoClose/timerEvent/...): add timer driven auto-close mode for - e.g cross-frame scripts. - - * khtml_part.{h,cpp} (resetFromScript): reset the part to a sane state before reopening - a closed document. - - * xml/dom_docimpl.cpp (write): ditto. - (close): Check for isExecutingScript before deciding to delete the tokenizer. - - * xml/xml_tokenizer.h (setAutoClose/isExecutingScript): ditto. - -2005-02-15 Leo Savernik <l.savernik@aon.at> - - * rendering/render_table.{cpp,h} (RenderCell::nodeAtPoint): - Including top and bottom extra space in hit testing. - -2005-02-15 Allan Sandfeld Jensen <kde@carewolf.com> - - Implement genererated content: counter and quotes - - * css/*: Parse new counter and quote content, and counter acts. Quotes are parsed to a special type of counter. - * rendering/counter_tree.{h,cpp}: Adds a dynamic counter-tree to keep counter values up-to-date - * rendering/render_generated.{h,cpp}: New renderCounter class to renders counters as text - * rendering/render_container.cpp: Content now only inherits style from the pseudo-container rather than use an exact duplicate. - * rendering/render_object.cpp: Add new functions to find and attach counter-tree nodes. - * rendering/render_style.cpp: New counter content and counter acts - * rendering/render_list.cpp: Use the new counters to count lists - -2005-02-14 Leo Savernik <l.savernik@aon.at> - - * rendering/render_flow.cpp (repaint): Only include top and bottom - overflow while not relayouting, otherwise root inline box may not be - available yet. - -2005-02-14 David Faure <faure@kde.org> - - * html/html_formimpl.cpp (value): Fix for textarea onChange not emitted: - emit it when updating m_value in value(), since this happens before the - focusOut event, which doesn't do it since m_dirtyvalue is then false. - -2005-02-13 Leo Savernik <l.savernik@aon.at> - - * rendering/render_block.{cpp,h} (paintObject): Added parameter to only - paint the block's outline on demand. - - * rendering/render_flow.cpp (repaint): Fix repaint rectangle to also - encompass the top and bottom overflow of the root inline box. - - * rendering/render_line.{cpp,h} (InlineBox::root): Ported over from - WebCore. Returns the root inline box of this box. - - * rendering/render_table.{cpp,h} (RenderTableCell::repaintRectangle): - Use full height of table cell, otherwise outline won't be fully - repainted. - (RenderTableCell::paint): Paint outline of table cells explicitly, - and keep the underlying render block from painting it itself. - (RenderTableCell::paintObject): Removed. Nowhere used anymore. - -2005-02-13 Harri Porten <porten@kde.org> - - * xml/dom2_eventsimpl.*: updated virtual key codes to a more recent - version. Added mapping for Up and Down cursor keys. Made keyCode() - always return the uppercase value of characters. - -2005-02-12 David Faure <faure@kde.org> - - * khtml_part.cpp (slotRedirect): No reload should happen when redirecting - to sameurl#anchor via Javascript or META refresh. This happened due to the - setRedirectedRequest(true), which wasn't necessary for the webmin tree.cgi - fix - setRedirectedRequest is called by KonqRun for that one. - The other redirectedRequest check was used for adding cross-domain, I simply - moved that code from urlSelected to slotRedirect. - -2005-02-12 Germain Garand <germain@ebooksfrance.org> - - fix inline formatting model - - * rendering/render_line.cpp (placeBoxesVertically): shrink/enlarge inlineboxes' height according to rendered gliphes, - but only if the calculated leading delta is superior to our font's natural leading - - * rendering/render_text.cpp (paintSelection): use the linebox's height, not the line-height anymore. - - * rendering/render_inline.cpp (collectVerticalBoxCoordinates): previous linebox's bottomPosition - might now be lower than current linebox's topPosition. Adjust outline algorithm. - -2005-02-08 David Faure <faure@kde.org> - - * khtml_part.cpp (executeScript): Handle immediate redirects, scheduled - by JS with e.g. location='foo', as soon as the current script finishes. - -2005-02-07 Leo Savernik <l.savernik@aon.at> - - * rendering/render_image.cpp (paint): Regard inline offset when - painting outline. - - * rendering/render_table.{cpp,h} (RenderTable::paint): Added missing painting of table outlines. - (firstTableRow): added - (nextTableRow): added - (RenderTableSection::paint): When painting the rows, also traverse - the according RenderTableRows, and call their paintRow routine. - Fixed overflow size of damage rectangle. - (RenderTableRow::paintRow): Added. Can't use paint() because - RenderTableRow is not a RenderBox, and hence doesn't store layout - information. - (RenderTableCell::paint): Added painting of the table cell's outline - herein instead in RenderBlock to encompass the extra table cell top - and bottom margins. - -2005-02-07 Germain Garand <germain@ebooksfrance.org> - - * css/html4.css: the -around-floats flow mode can only be applied to elements defining a - new block formatting context (see CSS2.1 - 9.5). - Blockquote and DL don't by any stretch of the mind, so clear this property for those. - Also, don't center fieldset. - - * rendering/render_block.cpp (layoutBlock): make flowAroundFloats encompass their own floats - (#85984). - -2005-02-02 Leo Savernik <l.savernik@aon.at> - - * dom/dom_doc.{cpp,h}: Added Document::addStyleSheet/removeStyleSheet - interface methods for programmatically adding/removing style sheets. - - * xml/dom_docimpl.{cpp,h}: Added DocumentImpl::addStyleSheet/ - removeStyleSheet methods. - Added list storing programmatically added style sheets. - (updateStyleSelector) Merge programmatical list with effective list - of style sheets. - -2005-02-01 Germain Garand <germain@ebooksfrance.org> - - clearly separate full blown anonymous blocks (isAnonymousBlock) from - pseudo-elements (isPseudoAnonymous). #74595, #92910. - - * rendering/render_block.cpp - (setStyle,updateFirstLetter,addChildToFlow,removeChild,close,renderName): - Only real anonymous blocks can be manipulated interchangeably => adjust logic. - PseudoAnonymous blocks have a null element(), but they keep a relationship to - the element they were generated from, that can be gathered from node() - - * rendering/render_container.cpp (updatePseudoChild,insertChildNode,removeLeftoverAnonymousBoxes): - ditto. - - * rendering/render_inline.cpp (addChildToFlow,splitFlow): ditto. - - * rendering/render_list.cpp (setStyle,updateMarkerLocation,RenderListMarker): - ditto. - - * rendering/render_object.cpp - (RenderObject::information): highlight the pseudo-element to originating element relationship in output. - (RenderObject::dump): ditto. - - * rendering/render_object.h (requiresLayer): add missing hasOverflowClip condition - (isAnonymousBlock): ditto. - (isPseudoAnonymous): ditto. - -2005-01-25 Germain Garand <germain@ebooksfrance.org> - - * khtmlview.cpp (viewportWheelEvent): discard wheel events occuring before the first relayout (avoids blanking the view). - Also support Horizontal wheel events (needs qt-copy/patch #61). - -2005-01-25 Germain Garand <germain@ebooksfrance.org> - - fix #95704: float double-painting bug. Most of the work done by Charles Samuels. - - * rendering/render_block.h (FloatingObject::FloatingObject): add crossedLayer flag to prevent noPaint from - being toggled off once we have crossed a layer during the float propagation process - - * rendering/render_block.cpp (addOverHangingFloats): use/update said flag. - -2005-01-19 Allan Sandfeld Jensen <kde@carewolf.com> - - * css/*: Parse opacity and outline-offset - * rendering/*: Implement outline-offset - -2005-01-12 Allan Sandfeld Jensen <kde@carewolf.com> - - * css/cssstyleselector.cpp: Match :contains() against innerText on HTMLElements - -2005-01-11 Leo Savernik <l.savernik@aon.at> - - * rendering/render_text.cpp (caretPos): Calculate absolute position - beginning from the RenderText, not from the containing block. - -2005-01-07 David Faure <faure@kde.org> - - * ecma/kjs_html.cpp: Support for document.body.onload. - -2005-01-06 Allan Sandfeld Jensen <kde@carewolf.com> - - * khtml_part.cpp: Fix selection by selecting the text in the cleaned string rather - than in the DOM. - * xml/dom_textimpl.{h,cpp}: Add renderString() to return the possibly transformed string. - -2004-12-29 Allan Sandfeld Jensen <kde@carewolf.com> - - Implement CSS 2.1 white-space: pre, pre-line and pre-wrap - - * html/htmltokenizer.cpp: Merge white-space related parsing from Webcore - * html/htmlparser.cpp: Ditto - * rendering/render_text.cpp: Introduce text transformation that cleans excess - white-space and linefeeds when style()->whitespace() changes. - * rendering/render_style.h: Introduce pre-wrap and pre-line. - Add helper functions autoWrap(), preserveLF() and preserveWS() - * rendering/bidi.cpp: Replace checks of whiteSpace==PRE/NORMAL with new the - more finegrained autoWrap, preserveLF and preserveWS functions. - * css/*: Add pre-line and pre-wrap as possible CSS values - -2004-12-29 Germain Garand <germain@ebooksfrance.org> - - merge bug fix for suboptimal updating of layer hierarchy - - * rendering/render_container.cpp (appendChildNode/insertChildNode): optimize for common case - - * rendering/render_object.{h,cpp} (addLayers): merge optimization - -2004-12-29 Germain Garand <germain@ebooksfrance.org> - - memory allocation fixes - - * khtml_factory.cpp: cleanup the global Arena freelist after the last khtml part gets unloaded - - * misc/arena.{cpp,h} (InitArenaPool): change arenasize from 4096 to kMax(8192, 2*pagesize). - (ArenaAllocate): when a single pool grows over a 256*initial size threshold, switch to fractional allocation - so that more resources can be returned to the system afterward. - (FreeArenaList): don't link more than FREELIST_MAX Arenas to the freelist - (ArenaFinish): reset freelist_count - -2004-12-24 Stephan Kulow <coolo@kde.org> - - * css/cssparser.cpp: fixing keyword background-positions that have an implicit center for the - other cordinate - -2004-12-19 Allan Sandfeld Jensen <kde@carewolf.com> - - * xml/dom_nodeimpl.{h,cpp}: Merge createRendererIfNeeded() and friends from WebCore - * xml/dom_elementimpl.{h,cpp}: Simplify attach to createRendererIfNeeded - * xml/dom_textimpl.{h,cpp}: Don't create unneeded empty text-runs. - -2004-12-18 Allan Sandfeld Jensen <kde@carewolf.com> - - Fix structural pseudo-classes :empty, :last-*, :only-* and :nth-last-* by introducing a late restyling - run when needed. - - * xml/dom_nodeimpl.{h,cpp}: Add new function close() to notify that the close tag have been parsed and no - more static children will be added. - * xml/dom_elementimpl.{h,cpp}: Add flags restyleChildrenLate, restyleSelfLate and restyleLate. To indicate - self, children or self in relation to parent needs restyling at closing time. - * xml/xml_tokenizer.cpp: Call close when close-tags are parsed - * html/htmlparser.cpp: Call close where closeRenderer was previously called - * css/cssstylerenderer.cpp: Set restyleLate flags where necessary - -2004-12-13 Allan Sandfeld Jensen <kde@carewolf.com> - - Be more IE-compatible in IE-compatible key-event extension - - * ecma/kjs_events.{h,cpp}: Add charCode - * dom/dom2_events.{h,cpp}: Glue - * xml/dom2_eventsimpl.{h,cpp}: Make keyCode return windows key codes and add charCode. - -2004-12-12 Germain Garand <germain@ebooksfrance.org> - - Pragmatic incremental repaints: be accurate on layered objects, conservative on - objects in normal flow. Fix performance issues on repeated relayouts (#53114) - - * khtmlview.{cpp,h}: add needsFullRepaint flag, mostly similar to WebCore's. - (layout): don't repaint the canvas systematically anymore. - - * rendering/bidi.cpp (layoutInlineChildren): schedule a repaint on - old rectangle and future rectangle, if marked dirty. - - * rendering/render_block.cpp (layoutBlock/layoutBlockChildren/layoutPositionedObjects): ditto. - - * rendering/render_table.cpp (layout): ditto. - - * rendering/render_box.cpp (calcAbsoluteHorizontal): no more updateLayerPosition() here. - Layers positioning now happen in a separate pass. - - * rendering/render_canvas.{cpp,h} - (needsFullRepaint): new - used to determine if we need to do incremental repaint at all. Don't waste time if the whole canvas is dirty. - (repaintViewRectangle): new - schedule a repaint in absolute coordinates. - (deferredRepaint): new - append argument to a list of objects needing a post-layout repaint. - (scheduleDeferredRepaints): new - repaint all objects in list described above, at the end of layout. - - * rendering/render_layer.{cpp,h} (markForRepaint): new - schedule a repaint of a layer, calculating its visible rectangle, - and optionnally marking it as needing a post-layout repaint. - (updateLayerPositions): merged++ from WebCore. Position layers. Repaint layers marked by the above. - (calculateClipRects/calculateRects): no more updateLayerPosition call there. - - * rendering/render_object.cpp - (setNeedsLayout): when marking for layout, also mark the formatting context for repaint (m_markedForRepaint boolean) - (setChildNeedsLayout): merge WebCore guard against multiple dirtying. - (setStyle): based on the Style diff, decide whether to dirty only the current formatting context, or also the parent's. - (dirtyFormattingContext): new. - (repaintDuringLayout): new - schedule a pre/post-layout repaint on the object, if it makes sense. - -2004-12-12 Germain Garand <germain@ebooksfrance.org> - - sanitize anchor-jumping code. Merge restoreScrollPosition/gotoAnchor - slots to avoid undeterministic calling order and redundant - connections(#94783, 3.3.2 regression of #57360). - - * khtml_part.cpp (restoreURL/openURL/slotData/restoreState): ditto. - (checkCompleted): don't setContentsPos here - - * khtml_part.h: remove private gotoAnchor slot - - * khtmlpart_p.h: add boolean to record whether we need to restore a - stored scroll offset or honour an anchor - -2004-12-09 Allan Sandfeld Jensen <kde@carewolf.com> - - Add :enabled and :disabled pseudo-classes - - * css/css_base.{h,cpp}: Parse new pseudoclases - * css/cssstyleselector.cpp: Implement new selectors - -2004-12-08 Allan Sandfeld Jensen <kde@carewolf.com> - - Merge encoding detection from WebCore - - * misc/decoder.{h,cpp}: Detect XML-encoding, comments in headers and other merges - * khtml_part.cpp: Frames inherits parents encoding as their default - -2004-12-08 Allan Sandfeld Jensen <kde@carewolf.com> - - Merge :target pseudo-class from WebCore - - * css/cssstyleselector.cpp: Uncomment :target handling - * xml/dom_docimpl.{h,cpp}: Add (set)cssTarget. - * khtml_part.cpp: Call setCssTarget on anchors - -2004-12-07 Allan Sandfeld Jensen <kde@carewolf.com> - - Implement/merge CSS2-3 text-shadow property - - * css/*: Merge values and parsing from WebCore - * render/render_style.{h,cpp}: Merge CSS3Inherited and ShadowData classes - * render/render_text.{h,cpp}: Implement new paintShadow function - -2004-12-06 Allan Sandfeld Jensen <kde@carewolf.com> - - * rendering/bidi.cpp: Layout arabic numbers with a separator correctly. - -2004-12-02 Allan Sandfeld Jensen <kde@carewolf.com> - - Implement remaining CSS2 list-style-types and a few CSS3 - - * rendering/render_list.cpp: New algorithms for hiragana, katakana, - armenian, georgian and decimal-leading-zero. - Also fix greek and latin list-styles for larger values. - * css/cssvalues.cpp: Parse box, -khtml-diamond, -khtml-arabic-indic, - -khtml-persian, -khtml-urdu and -khtml-upper-greek - * rendering/render_style.h: Expand list-style enum - -2004-11-30 Germain Garand <germain@ebooksfrance.org> - - * css/cssstyleselector.{cpp,h}: fontSizes array now uses a QValueVector; - made "font-size: smaller/bigger" follow the standard font scale - when possible. - - * css/html4.css: made <big>/<small> use font-size: bigger/smaller (#82657) - -2004-11-29 Allan Sandfeld Jensen <kde@carewolf.com> - - * css/cssstyleselector.cpp: Handle :lang selector - -2004-11-27 Germain Garand <germain@ebooksfrance.org> - - merge WebCore differences in logic for Auto table layout - - * rendering/table_layout.cpp (calcEffectiveWidth/layout): - distribute remaining width starting with fixed rather than percent (#88104). - -2004-11-26 Germain Garand <germain@ebooksfrance.org> - - merge zero deep-copy TokenizerString class from WebCore - - * html/htmltokenizer.{cpp,h} - * misc/stringit.{cpp,h} - * xml/xml_tokenizer.{cpp,h} - -2004-11-23 Allan Sandfeld Jensen <kde@carewolf.com> - - Implement the structual pseudo-selectors of CSS3. - - * css/tokenizer.flex: Add nth and NOTFUNCTION tokens. - The later because the not-function is unique in its parsing. - * css/tokenizer.cpp: Manually merge output from flex :( - * css/parser.y: Update parsing of pseudo-functions. - Also enables correct parsing of :lang and :contains. - * css/css_base.{h,cpp}: Add new pseudoselectors - * css/cssstyleselector.cpp: Implement new selectors - -2004-11-22 Germain Garand <germain@ebooksfrance.org> - - * rendering/bidi.cpp (layoutInlineChildren): for elements with some kind of - scrolling overflow and a variable height, include the scrollbar height in - calculations to avoid masking content (#89136). - - * rendering/render_block.cpp (layoutBlock/layoutBlockChildren): ditto. - - * rendering/render_box.cpp (contentWidth/contentHeight): subtract scrollbars - height/width when applicable. - -2004-11-22 Allan Sandfeld Jensen <kde@carewolf.com> - - Implement CSS border on form-widgets - - * css/cssvalues.in: Add -khtml-native - * css/cssparser.cpp: Accept -khtml-native as a border-type - * css/cssstyleselector.cpp: BNATIVE and not BNONE is now lowest border-style - * css/html4.css: Make -khtml-native default border-style for form-widgets - * render/render_style.h: Add BNATIVE - * render/render_object.cpp: Treat BNATIVE like BNONE - * render/render_replaced.cpp: Remove native, and paint CSS border when allowed - -2004-11-21 Germain Garand <germain@ebooksfrance.org> - - float and flowAroundFloat fixes. - - * css/html4.css: make fieldset -khtml-around-floats (#92979) - - * rendering/render_block.cpp (layoutBlockChildren): cleanup float/flowAroundFloats - logic. Merges: add better RTL layouting of fAFs. - (lineWidth): guard against negative values - (clearFloats): don't copy floats if element defines a new block - formatting context (#93511) - (markAllDescendantsWithFloatsForLayout): add missing argument to - recursive call - (getClearDelta): merge - (InlineMinMaxIterator::next): exclude positioned elements - (calcInlineMinMaxWidth): merge float clearing adjustments - (calcBlockMinMaxWidth): ditto - - * rendering/render_box.cpp (calcWidth): use containingBlockWidth - - * rendering/render_object.cpp (isHR): new. Evil but useful for quirkmode (cf. usesLineWidth). - (flowAroundFloats): add replaced and overflowClip elements - (usesLineWidth): adapt to above. - - * rendering/render_table.cpp (calcWidth): style()->flowAroundFloats => flowAroundFloats() - -2004-11-19 Stephan Kulow <coolo@kde.org> - - * rendering/render_form.cpp (updateFromElement): restore scrolling position in case of a change - in text and do not trigger the update code more often than necessary - -2004-11-17 Allan Sandfeld Jensen <kde@carewolf.com> - - * render/render_table.{h,cpp}: Improve distribution of excess height - -2004-11-17 Allan Sandfeld Jensen <kde@carewolf.com> - - * render/render_table.cpp: Respect margins when calculating width to be distributed. - -2004-11-16 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_replaced.{cpp,h} (cancelPendingResize): allow - canceling of scheduled widget resizes, to avoid flicker when we - had to perform temporary layouts. - - * rendering/render_table.cpp (calcRowHeight): displace resetting layout of cells with - percent children here and mark those dirty, or we might get zero-height widgets on resize - (cf. map24.com) - (layout): ditto. - (layoutRows): cancel widget resizes from temporary layouts. - -2004-11-16 Stephan Kulow <coolo@kde.org> - - * rendering/break_lines.cpp (khtml): adding patch by Otto Pattara to support - libthai for correct line breaks - -2004-11-15 Allan Sandfeld Jensen <kde@carewolf.com> - - Fix odd spacing in gmail-composer and zeg-shop.de - - * render/render_box.h: Change auxillary box-size functions to protected - * render/render_table.cpp: Calculate percentage heights based on containing box - rather than viewport, by merging code with renderBox. - -2004-11-09 Germain Garand <germain@ebooksfrance.org> - - fix globeandmail.com famlily of crashes (#65715) - - * rendering/render_box.cpp (createAnonymousBlock): moved from RenderFlow - (restructureParentFlow): check soundness of parent's flow structure with regard to - the child's new display. Adapted from WebCore. - (setStyle): check parent if floats or positioned objects become in-flow - and thus affects flow structure. - - * rendering/render_flow.cpp (createAnonymousBlock): moved. - - * rendering/render_inline.cpp (splitInlines): use addChildToFlow - rather than appendChildNode - - * rendering/render_line.cpp: display COMPACT cleanups - - * rendering/render_object.cpp: ditto. - -2004-11-06 Allan Sandfeld Jensen <kde@carewolf.com> - - Implement CSS3 property box-sizing to match MacIE, Opera and Mozilla - - * css/css*.in: Add new property and primitive values - * css/cssparser.cpp: Detect content-box and border-box as primitives - * css/cssstyleselector.cpp: Parse box-sizing - * render/render_style.h: Add box-sizing to non-inherited values - * render/render_box.cpp: Consult box-sizing before adding padding and - border to width and height - -2004-11-05 Germain Garand <germain@ebooksfrance.org> - - * khtml_part.cpp (closeURL/slotData/restoreState): avoid triggering - full repaints of the view before the first layout is done. - -2004-11-05 Germain Garand <germain@ebooksfrance.com> - - * css/cssstyleselector.cpp (computeFontSizes): add compensated font scale - from Todd Fahrner's "Toward a standard font size interval system" - article for 12ppem and below (suggested by Bert Bos <bert@w3.org>) - -2004-11-04 Stephan Kulow <coolo@kde.org> - - * rendering/bidi.cpp (bidiReorderLine): applying patch by Mitz Pettel - to fix neutral types at beginning of context - -2004-11-03 Germain Garand <germain@ebooksfrance.com> - - * khtmlview.cpp (slotScrollBarMoved): make sure we are layouted before - scrolling if we are still loading (#51473) - -2004-11-02 Stephan Kulow <coolo@kde.org> - - * rendering/render_replaced.cpp (setStyle): set hidden widgets to invisible - - * xml/dom_docimpl.cpp (recalcStyleSelector): avoid invalid casts on XML documents - -2004-11-02 Germain Garand <germain@ebooksfrance.com> - - * css/cssstyleselector.cpp (adjustRenderStyle): - ignore relative positioning on table sections. CSS 2.1 does not - define that, but it is a consensus amongst all major browsers. - -2004-11-01 Sandro Giessl <sandro@giessl.com> - - * rendering/render_replaced.cpp (copyWidget): don't fill the - background of QFrames. they paint their own background now - -2004-10-30 Stephan Kulow <coolo@kde.org> - - * html/html_formimpl.cpp (parseAttribute): ignore height element - for input elements that are not image - -2004-10-28 Stephan Kulow <coolo@kde.org> - - * html/html_documentimpl.cpp (determineParseMode): adding a fixed list of - doctypes to enable quirks mode on (derived from Webcore, but majorly revised) - * enable strict CSS parsing also for transitional doctypes - -2004-10-27 Germain Garand <germain@ebooksfrance.com> - - make font-sizes CSS2.1 compliant. - - * css/cssstyleselector.cpp (computeFontSizes): use standard ratios - from CSS 2.1 15.7. - (applyRule): don't apply zoom factor to ems/exs relative values (#91228). - - * css/html4.css: Hx elements - margin ratios are now 1.1/corresponding ratio. - Switch to absolute sizes from CSS 2.1 15.7 - -2004-10-27 Stephan Kulow <coolo@kde.org> - - * css/cssstyleselector.cpp (checkOneSelector): match exact matches case sensitive - only in XHTML - HTML attributes are all case insensitive - -2004-10-26 Stephan Kulow <coolo@kde.org> - - * html/html_elementimpl.cpp (addCSSProperty): don't add all css properties in - lower case but select those those where it matters - -2004-10-26 Allan Sandfeld Jensen <kde@carewolf.com> - - * rendering/bidi.{h,cpp}: Merge bidi-changes from WebCore - -2004-10-26 David Faure <faure@kde.org> - - * khtml_part.cpp (urlSelected): Only call recursiveFrameRequest if target is - different from _self, _top, _blank and _parent. See tests/frames/target/*. - -2004-10-25 David Faure <faure@kde.org> - - * khtml_part.cpp (processObjectRequest): connect to completed(bool) for <embed> - too, to avoid a never-ending-spinning-wheel on the following testcase - <META HTTP-EQUIV="Refresh" content="10;URL=www.kde.org"><EMBED> - -2004-10-25 Stephan Kulow <coolo@kde.org> - - * html/html_elementimpl.cpp (addCSSProperty): add css properties parsed from - attributes as lower case - -2004-10-25 George Staikos <staikos@kde.org> - - * rendering/render_image.cpp: Pass through the CachedObject so we can - use the suggested filename possibly provided by the HTTP headers. - - * khtml_ext.cpp: Make use of the suggested filename for images. - -2004-10-24 David Faure <faure@kde.org> - - * html/html_formimpl.cpp (value): Fixed m_value vs ATTR_VALUE problem - which didn't allow sending mail on gmail.google.com. Testcases: - forms/form_setattribute.html, mozilla/dom/dom-html/{hfor009.html,hinp017.html} - -2004-10-22 Stephan Kulow <coolo@kde.org> - - * ecma/kjs_window.cpp (tryCall): merging handling of event handlers - - * css/cssparser.cpp (parseValue): implementing CSS 2.1 compliant parsing - of background-position (#91572) - -2004-10-21 Allan Sandfeld Jensen <kde@carewolf.com> - - Implement limited DHTML capabilities to the layer implementation - - * html/html_miscimpl.{h,cpp}: Extract collection of all layers - * dom/html_block.{h,cpp}: Add layer DOM - * dom/html_document.{h,cpp}: Add .layers to document DOM - * ecma/kjs_html.{h,cpp}: Add layer DHTML and allow layers to be found by ID - * ecma/kjs_window.cpp: Allow layers to be found by ID - -2004-10-19 Allan Sandfeld Jensen <kde@carewolf.com> - - * rendering/render_box.{h,cpp}: Merge min,max-height fixes - -2004-10-19 Germain Garand <germain@ebooksfrance.org> - - finish merge of static position for positioned objects - - * css/cssstyleselector.cpp (adjustRenderStyle): remember our original display - * rendering/bidi.cpp (appendRun): include positioned objects with static X/Y, - now that we use those. - (findNextLineBreak): adjust static position - - * rendering/render_block.cpp (layoutBlockChildren): ditto. - - * rendering/render_box.cpp (containingBlockWidth): use usesLineWidth - (position): activate static position logic - (calcAbsoluteHorizontal): replace static position calculation - (calcAbsoluteVertical): ditto. - - * rendering/render_object.cpp (removeChild): fix typo - (usesLineWidth): merge usesLineWidth from WebCore - - * rendering/render_style.h (NonInheritedFlags::): originalDisplay member - (setBitDefaults): initialize the above - (originalDisplay/setOriginalDisplay): accessors - (isDisplayReplacedType/isDisplayInlineType/isOriginalDisplayInlineType): - helpers - -2004-10-18 Allan Sandfeld Jensen <kde@carewolf.com> - - * rendering/render_table.cpp: Merge layout fixes from Webcore - -2004-10-17 Stephan Kulow <coolo@kde.org> - - * ecma/kjs_dom.cpp: adding patch by Richard Lärkäng to support IE - extension insertAdjacentHTML (#33968) - -2004-10-16 Allan Sandfeld Jensen <kde@carewolf.com> - - * html/html_formimpl.cpp: Escape otherwise unencodable characters. - Matches the behavior of Gecko. - -2004-10-15 Stephan Kulow <coolo@kde.org> - - * rendering/render_form.cpp (updateFromElement): don't set assume <select> - got items when we calculate a height for items (#87466) - - * css/html4.css: changing default horizontal margins for H1-H6 from - auto to 0 (#91327) - -2004-10-15 Germain Garand <germain@ebooksfrance.org> - - bring z-order to QScrollView - - * html/html_formimpl.cpp (defaultEventHandler): propagate events to - QScrollView - - * khtmlview.{cpp,h}: QScrollview needs fast repaints. Fix - background color of QFrames. - - * rendering/render_form.cpp (createListBox/TextAreaWidget): - make those widgets z-ordered as well. - - * rendering/render_replaced.cpp (paintWidget): optimize painting by - avoiding unnecessary background repaints and by using a shared - paint buffer. - -2004-10-15 Germain Garand <germain@ebooksfrance.org> - - display: compact fixes. - - * rendering/bidi.cpp: remove checks for display: compact, - not needed anymore. - - * rendering/render_block.cpp (layoutBlockChildren): - simpler implementation for compact display: do not insert the - compact child within the next block anymore. - Solves lot of problems with host blocks having non-inline children. - - * rendering/render_object.{cpp,h} (getVerticalPosition): add - ability to compute vertical position with respect to other - RenderObjects than parent. - -2004-10-14 David Faure <faure@kde.org> - - * html/htmltokenizer.cpp (parseTag): Merged patch by John Sullivan (safari) - to refuse skip more <script> tags depending on the value of type and language. - - * html/html_documentimpl.cpp (determineParseMode): - When the document is loaded as text/html, even if xhtml doctype, activate case-insensitive - ("htmlCompat") lookup of tags and attributes (but not in CSS parser). (#86446) - -2004-10-14 Allan Sandfeld Jensen <kde@carewolf.com> - * rendering/*.*: WebCore merge/port of layouted->needsLayout - -2004-10-11 David Faure <faure@kde.org> - - * xml/dom_nodeimpl.cpp (dispatchGenericEvent): Fixed stopPropagation - when called from the target node itself (#90750). - -2004-10-11 Harri Porten <porten@kde.org> - - * ecma/*.cpp: return an empty string (instead of null) when - querying unset string properties - - * ecma/kjs_html.cpp: use full url for Image.src. - -2004-10-08 David Faure <faure@kde.org> - - * ecma/kjs_html.cpp (KJS::HTMLCollection::tryGet): - return Undefined instead of Null for out-of-range indices. - -2004-10-07 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_block.cpp - (updateFirstLetter): move update of first-letter from addChildToFlow to - setStyle/close. Better drilling logic. Use RenderTextFragment to - correctly handle text-transform on first-letter(#76078). - (addChildToFlow): ditto. fix display: block on pseudo-elements (#90917) - (layoutBlockChildren): only clear if floats actually changed our - height. - * rendering/render_object.h (node): accessor to m_node - * rendering/render_text.{cpp,h}: merge RenderTextFragment class - * xml/dom_nodeimpl.h (setRenderer): accessor - -2004-10-07 Allan Sandfeld Jensen <kde@carewolf.com> - * rendering/render_style.h: - WebCore merge of paged media attributes (#68930). - * rendering/render_block.cpp (paintObject): - Break on page-break-before and -after. - * rendering/render_canvas.{h,cpp}: - Merge bestTruncatedAt from WebCore. - * khtmlview.cpp (print): - Use bestTruncatedAt for detect truncated pages. - -2004-10-07 David Faure <faure@kde.org> - - * xml/dom_nodeimpl.cpp (dispatchWindowEvent): Emit load event for frames - from there, to avoid bubbling (safari merge) - -2004-10-05 Rob Buis <buis@kde.org> - * render/render_form.{cpp,h}: - Implemented onchange event generating for checkbox and radio buttons (fixes #51765). - -2004-10-05 David Faure <faure@kde.org> - - * html/html_baseimpl.cpp (parseAttribute): - Set event listener on frame element itself (fixes #72440) - * xml/dom_docimpl.cpp (ownerElement): Safari merge. - * html/html_documentimpl.cpp (close): - Emit onload event for frames (famous gmail bug). - - * ecma/kjs_html.cpp (getValueProperty): - Don't return null when innerText or innerHTML is empty. - -2004-10-04 David Faure <faure@kde.org> - - * khtml_part.cpp (processObjectRequest): - Fixed showing of iframe hidden with display=none (#84332). - -2004-09-16 Leo Savernik <l.savernik@aon.at> - - * rendering/render_inline.{cpp,h} (paintOutline): removed. - (paintOutlinePath): Paints an outline by following a path consisting of - rectangular line segments. - (appendIfNew): Append point if not contained at end. - (reduceSpike): Reduce spikes. - (reduceSegmentSeparators): Redoce segment separators. - (appendPoint): Appends point with reductions. - (collectHorizontalBoxCoordinates): Determines points for top-/bottommost line box. - (lineBoxesDisjoint): Checks whether two line boxes don't share a common x-range. - (collectVerticalBoxCoordinates): Determines points for left/right sides of line boxes. - (linkBeginToEnd): Links the last point to the first one, reducing even more. - (paintOutlines): Uses new painting outline algorithm. - (kSwap): Swaps two variables (candidate for misc?) - (bsOrientation): returns whether border side is horizontal/vertical. - (newBorderSide): Determines new border side. - (paintOutlineSegment): Paints a straight outline segment. - -2004-09-11 David Faure <faure@kde.org> - - * khtml_part.cpp (defaultEncoding, encoding, createDecoder): - Make default charset latin1 over HTTP, keep default to locale on other protocols. - -2004-09-02 Leo Savernik <l.savernik@aon.at> - - * html_formimpl.{cpp,h} (HTMLTextAreaElementImpl::value): - Only take text from RenderTextArea when it has been fully initialized. - Mark it fully initialized when RenderTextArea has been initialized - from the DOM. - (HTMLTextAreaElementImpl::setValue): Mark element as initialized after - setting. - * render_form.cpp (RenderTextArea::setStyle): - Block signals on call to QTextEdit::setAlignment. Otherwise, a bogus - textChanged signal is emitted. - -2004-08-27 Germain Garand <germain@ebooksfrance.org> - - scope: - more accurate completed() signal. - - anchor jumps (#57360) - - * khtml_part.cpp (openURL): when restoring a previous scroll - position on reload, avoid jumping to anchors. - (gotoAnchor): keep jumping at least while we are parsing. - (gotoAnchor): "top" and "" anchors mean top of document. - - (checkCompleted): entrust the view to emit completed on our behalf - after any pending layout/repaint is done. - - * khtmlview.{cpp,h}: ditto - - * xml/dom_nodeimpl.cpp (getUpperLeftCorner/getLowerRightCorner): - use inlineYPos for text objects (#57360 c.#17). - -2004-08-27 Leo Savernik <l.savernik@aon.at> - - * html/html_tableimpl.cpp (HTMLTableCellElementImpl::attach): - Fixed explicit setting of border to 0 width. - -2004-08-24 Leo Savernik <l.savernik@aon.at> - - * ecma/kjs_html.{cpp,h} (HTMLDocument): - Added Javascript-support for HTMLDocument.compatMode. - -2004-08-23 Leo Savernik <l.savernik@aon.at> - - * rendering/render_layer.{cpp,h} (Marquee): Added a stop method for - the ECMAScript invokation. - Fixed starting and stopping and suspending by properly discriminating - against them. - -2004-08-19 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_body.cpp (setStyle): only disallow fixed positioning - on body, not relative/absolute (#77048, #76982). - - * rendering/render_box.cpp (paintBackgroundExtended): make sure backgrounds paint - in the border box and not just in the padding box (WC merge - meyerweb.com/unsorted/bg-position.html). - -2004-08-18 Leo Savernik <l.savernik@aon.at> - - * rendering/render_block.cpp (layoutBlock, layoutBlockChildren, - layoutPositionedObject): Ensure that m_overflowWidth/m_overflowHeight - get updated properly to include relatively positioned - elements, but to exclude the overflow-area of clipped children. - - * rendering/render_box.cpp (repaint): Removed superfluous null ptr check. - Use effectiveWidth/Height instead of overflowWidth/Height. - - * rendering/render_canvas.cpp (docHeight): Fixed superfluous vertical - scrollbars on clipped children. - (docWidth): Fixed superfluous horizontal scrollbars on clipped children. - - * rendering/render_flow.cpp (repaint): - Use effectiveWidth/Height instead of overflowWidth/Height. - - * rendering/render_object.h: Added effectiveWidth/Height. - Made hasClip and hasOverflowClip const. - -2004-08-05 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_block.cpp (layoutBlockChildren): when positionning floats, - use the margin tracking variables, and not the prevFlow -there might be - self-collapsing blocks in between (#85150). - (calcMinMaxWidth): better calculation merged from WebCore. Fixes a few testcases. - - * rendering/render_object.h (collapsedMarginTop/Bottom): don't avoid max(Top|Bottom)Margin, - they are virtuals reimplemented for RenderBlock. - - * rendering/render_object.cpp (createObject): do not set the style before - the renderer is assigned to a node. Fixes Marquee initial layout - (unsorted/RESOLVED-57087-1342.html) failing because of 'element()->renderer() == this' checks. - - * xml/dom_elementimpl.cpp (attach): ditto - -2004-08-04 Germain Garand <germain@ebooksfrance.org> - - * khtmlview.cpp (resizeEvent): take care, in case we are shrinking, - not to pass past the content limits yet. Next layout will calculate - if we positively need scrollbars or not (#84798). - - * rendering/render_canvas.cpp (layout): remove scrollbar flickering turnarounds. - instead, account for a scrollbar hysteresis level when sizing the content (#61730). - -2004-07-30 Jean-Baptiste Mardelle <bj@altern.org> - * khtmlview.{cpp,h} (displayAccessKeys): When accesskeys are activated, - small tooltips appear showing existing accesskeys on the page. - -2004-07-28 Stephan Kulow <coolo@kde.org> - - * html/html_miscimpl.cpp (getNamedItem): more investigation on tags returned - by name attribute in document.all - -2004-07-28 Leo Savernik <l.savernik@aon.at> - - * khtmlview.{cpp,h} (KHTMLToolTip::maybeTip): Query <area> elements - of image maps. - (dispatchMouseEvent): Added parameter innerNonSharedNode. - * khtml_part.{cpp,h}: Added method nonSharedNodeUnderMouse. - * xml/dom_docimpl.cpp (prepareMouseEvent): Initialize - innerNonSharedNode in DOM mouse event. - * xml/dom_nodeimpl.h: Added innerNonSharedNode to - NodeImpl::MouseEvent. - * html/html_imageimpl.h: Added cachedRegion() for being able to - retrieve the region in KHTMLToolTip. - -2004-07-20 Stephan Kulow <coolo@kde.org> - - * css/parser.y: catching imports that come between rules. - They have to be ignored (css1/test11.htm) - -2004-07-14 Jean-Baptiste Mardelle <bj@altern.org> - * khtmlview.{cpp,h}: Accesskeys now activated when pressing & releasing - the crtl key (#83053). - -2004-07-12 Jean-Baptiste Mardelle <bj@altern.org> - * html/html_formimpl.{h,cpp}: Make form labels clickable (#59489) - * khtmlview.cpp (focusNodeWithAccessKey): Make accesskeys work for labels - -2004-07-12 Germain Garand <germain@ebooksfrance.org> - - * ecma/kjs_navigator.{h,cpp} (getValueProperty): - implement navigator.productSub. Fixes most - instances of #68271 - -2004-07-10 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_layer.cpp (calculateClipRects): - absolutely positioned objects must update the overflowClipRect - passed to relatively positioned child layers to match the - posClipRect in effect (#67665/#72994). - -2004-06-30 Tobias Anton <anton@stud.fbi.fh-darmstadt.de> - * khtmlview.{cpp,h}: - integrated keyboard tabbing with mouse scrolling. - Hitting tab skips at most one page, but respects - the tabindex ordering of the document. - If the document has been scrolled by the mouse before, - "tab" now selects the first/last element in the visible - area of the page. - -2004-06-26 Germain Garand <germain@ebooksfrance.org> - - * css/html4.css: - - do not set vertical-align on the table: it breaks inline-table's - default (baseline). cf.webcore/fast/inline-block/001.html - - default all of tbody/tfoot/thead to 'vertical-align: middle' - as per specification. - - * rendering/render_object.cpp: - (getVerticalPosition): fix inverted logic. cf.unsorted/74399.html - (lineHeight/baselinePosition): inline-blocks behaves like replaced elements - only after they are layouted. - - * rendering/render_table.h (position): remove empty reimplementation: - inline-tables need positioning. cf.webcore/fast/inline-block/001.html - - * rendering/render_box.cpp (calcAbsoluteHorizontal): subtract p/b width - when shrinking-to-fit, otherwise it gets accounted for twice. - -2004-06-22 Zack Rusin <zack@kde.org> - - * ecma/kjs_events.cpp (JSLazyEventListener): Adding a destructor - which is now needed since Niko's eventlistener changes make - jseventlistener destructor not remove the listener from - jsEventListeners - -2004-06-22 Germain Garand <germain@ebooksfrance.org> - - Scope: Inline-blocks inlining. Merge Webcore improvements for - Fieldset/Legend - - * css/html4.css: Legend => display: block. - - * html/html_formimpl.{cpp,h} (addChild): remove. - - * rendering/render_block.cpp: - (setStyle): do not overwrite inline status - (makeChildrenNonInline): change assert - (layoutBlock): account for inline-blocks - (layoutBlockChildren): ditto - (clearFloats): ditto. bail out. - - * rendering/render_box.cpp: - (calcWidth): fix logic. cf.css1/test43.htm - (calcHeight): fix logic - - * rendering/render_form.cpp: - (layoutLegend): merges from WebCore-125 - (findLegend): ditto - (paintBoxDecorations): ditto - (setStyle): cf.webcore/fast/forms/007.html - -2004-06-22 Germain Garand <germain@ebooksfrance.org> - - Scope: avoid leaking placeholder InlineBoxes. Cleanups. - - * rendering/bidi.cpp (Bidinext): simplified logic. Do not return each - InlineFlow twice. - (layoutInlineChildren): clear InlineBoxes on relayout. - - * rendering/render_object.{cpp,h}: - (deleteInlineBoxes): new virtual method. - - * rendering/render_box.{cpp,h}: added m_placeHolderBox member. - (createInlineBox/deleteInlineBoxes): reimplemented. - - * rendering/render_flow.{cpp,h}: - (createInlineBox/deleteInlineBoxes): ditto. - - * rendering/render_replaced.cpp (detach): call deleteLineBoxes - - * rendering/render_text.{cpp,h} (deleteInlineBoxes): reimplemented, replacing - deleteTextBoxes - (~RenderText): no need to clear lineboxes twice. - -2004-06-13 Leo Savernik <l.savernik@aon.at> - - * khtml_part.cpp: (clear) Stopping marquees. - * css/cssparser.cpp: (parserValue) Parse overflow: marquee. - Inserted CSS3 Properties section. - Moved -khtml-user-input to CSS3 Properties. - Added parsing of -khtml-marquee{,-direction,-increment,-style,-repetition, - -speed}. - * css/cssproperties.{c,h}: Regenerated. - * css/cssproperties.in: Added -khtml-marquee{,-direction,-increment, - -style,-repetition, -speed} keywords. - * css/cssstyleselector: (applyRule) Handle overflow: marquee. - Handle applying of -khtml-marquee{,-direction,-increment,-style,-repetition, - -speed}. - * css/cssvalues.{c,h}: Regenerated. - * css/cssvalues.in: Added marquee, forwards, backwards, ahead, reverse, - up, down, slow, fast, infinite, slide, alternate, and unfurl keywords. - * css/html4.css: Updated rule to make marquee behave like marquee. - * html/html_blockimpl.{cpp,h}: Added class HTMLMarqueeElementImpl. - * html/html_elementimpl.cpp: (addCSSLength) Fixed adding numeric lengths - without unit. - * html/html_parser.cpp: (getElement) Made ID_MARQUEE generate an - HTMLMarqueeElement. - * htmlattrs.{c,h}: Regenerated. - * htmlattrs.in: Added behavior, direction, loop, scrollamount, scrolldelay, - truespeed attribute keywords. - * rendering/bidi.cpp: (RenderBlock::findNextLineBreak): marquee-related extensions. - * rendering/render_block.{cpp,h}: Updated lowestPosition, rightmostPosition, added - leftmostPosition. - * rendering/render_box.{cpp,h}: Updated lowestPosition, rightmostPosition, added - leftmostPosition. - (setStyle) Inserted call to styleChanged of layer. - (calcWidth) Used containing block's direction when aligning this box. - (calcWidthUsing) Used centralized sizesToMaxWidth() method. - (calcHorizontalMargins) Margin fix for inline blocks. - * rendering/render_flow.{cpp,h}: Updated lowestPosition, rightmostPosition, added - leftmostPosition. - * rendering/render_layer.{cpp,h}: Added Marquee class which takes care of - the shifting operations. - Added styleChanged and suspendMarquees methods. - (updateLayerPositions) Inserted call to updateMarqueePosition. - (scrollToOffset) Took care of marquee. - * rendering/render_object.{cpp,h}: Updated lowestPosition, rightmostPosition, - added leftmostPosition. - Added isHTMLMarquee, sizesToMaxWidth, and isCompact. - * rendering/render_style.{cpp,h}: Added CSS3NonInheritedData structure. - Added StyleMarqueeData. Added OMARQUEE to EOverflow. - Added EMarqueeBehavior, EMarqueeDirection. - Added CSS3 Getter Methods section. - Moved userInput to CSS3 Getter Methods section. - Added marqueeIncrement, marqueeSpeed, marqueeLoopCount, - marqueeBehavior, marqueeDirection. - (RenderStyle::RenderStyle) Instantiated CSS3NonInheritedData there. - Added respective setters to new CSS3 Setters section. - * rendering/render_text.{cpp,h}: Removed rightmostPosition. - * xml/dom_docimpl.cpp: (createHTMLElement) Made it return a - HTMLMarqueeElement for ID_MARQUEE. - -2004-06-10 Zack Rusin <zack@kde.org> - - * xml/dom_textimpl.cpp (escapeHTML): Move from dom_elementimpl.cpp, - and use it to espace text nodes in here - * xml/dom_elementimpl.cpp: propely handle attributes, - * dom/dom_doc.cpp (toHTML): deprecate in favor of toString and - implement in terms of toString, - * dom/html_elementimpl.h (innerHTML): implement in terms of - toString, - * xml/dom_nodeimpl.{h,cpp}: remove the toHTML and recursive_toHTML - methods, - -2004-06-09 Zack Rusin <zack@kde.org> - - * xml/dom_nodeimpl.h, xml/dom_xmlimpl.{h,cpp}, - xml/dom_textimpl.{h,cpp}, xml/dom_elementimpl.{h,cpp}, - xml/dom_docimpl.{h,cpp}, html/html_elementimpl.{h,cpp}, - dom/dom_doc.{h,cpp} : Merging in toString method which serializes - the DOM tree back to a string - -2004-06-09 Zack Rusin <zack@kde.org> - - * xml/xml_tokenizer.{h,cpp}: adding bool isWaitingForScripts() - const method to tokenizer interface which should return true if - the tokenizer is waiting for scripts to finish. Adding the method - to XMLTokenizer, - * html/htmltokenizer.{h,cpp}: adding the isWaitingForScripts - method, - * xml/dom_docimpl.cpp (close): On an explicit document.close() - don't destroy the tokenizer if it's still waiting on external - scripts - -2004-06-09 Zack Rusin <zack@kde.org> - - * ecma/kjs_events.{h,cpp}: made the listener in jseventlistener an - object instead of a value and switch its function accordingly, - adding JSLazyEventListener which delays evaluation of event - handlers, - * ecma/kjs_window.{h,cpp}: adding getJSLazyEventListener which - creates lazy listeners, - * ecma/kjs_dom.cpp (getListener): switched to use lazy listeners, - * ecma/kjs_html.cpp (getValueProperty): adding check of whether - listener implementation is in place (listener is valid), - * ecma/kjs_proxy.cpp (createHTMLEventHandler): switched to use - getJSLazyEventListener, - -2004-06-08 Zack Rusin <zack@kde.org> - - * html/htmltokenizer.cpp (parseEntity): Fix to make 8-character - hexadecimal entities work in khtml from Darin Adler. Testcase at - http://www.alanwood.net/unicode/deseret.html - -2004-06-06 Zack Rusin <zack@kde.org> - - * xml/dom_docimpl.cpp (getId): do html lookup if specified even if not - in a html document since elements can be in xhtml the namespace - - * xml/dom_docimpl.h (hasPendingSheets): adding function returning true, - if stylesheets are currently loading for document. - - * xml/xml_tokenizer.cpp: Merging table hack for XML parsing from - Safari, merging in character changes, but with a fix which we - need, delaying attaching of text nodes till parsing finishes ( - also merged from the Safari team), adding FOUC prevention code. - -2004-06-02 Zack Rusin <zack@kde.org> - - * xml/dom_xmlimpl.cpp: Correctly handle stylesheet loading in - XML documents (try to avoid FOUC) - - * xml/xml_tokenizer.{h,cpp}: Added pushNode(), popNode() and - currenNode() methods. Removed m_currentNode memeber and switched - node construction to a stack based ones. Try to attach to the - parent of the tag which encloses us if it can't handle children. - -2004-05-28 Leo Savernik <l.savernik@aon.at> - - * rendering/render_object.cpp: (drawBorder) Make use of Mozilla's - border-bevel coloring algorithm. - -2004-05-14 Leo Savernik <l.savernik@aon.at> - - * rendering/render_table.cpp: (RenderTableCell::paintBoxDecorations) - Make it unconditionally paint background on empty table-cells - with empty-cells:hide in quirks mode. - -2004-05-13 Leo Savernik <l.savernik@aon.at> - - * rendering/font.cpp: (drawDecoration) - rendering/render_line.cpp: (InlineFlowBox::paintDecoration) - Increased width of text decoration by one. - -2004-05-12 Leo Savernik <l.savernik@aon.at> - - * css/cssstyleselector.cpp: (applyRule) Make borders be at least one - pixel wide between 1pt and 0.025pt. This makes konqueror's behaviour - more compatible to Mozilla's. - -2004-05-09 Leo Savernik <l.savernik@aon.at> - - * rendering/font.cpp: (drawDecoration) Honored line thickness. - Used fillRect instead of drawLine. - - * rendering/render_layer.cpp: (paintLayer) Added invokation of - PaintActionSelection phase when there is a selection. - - * rendering/render_line.cpp: (InlineFlowBox::paintDecorations) - Honored line thickness. Used fillRect instead of drawLine. - Actually use it. - - * rendering/render_text.cpp: (paint) Stopped drawing text in PaintActionSelection. - Stopped drawing selection in any other phase. - Make it draw text-decorations only in quirks mode. - -2004-05-09 Leo Savernik <l.savernik@aon.at> - - * rendering/render_block.cpp: (paint, paintObject, paintFloat) - Introduced maximalOutlineSize, PaintActionOutline phase. - - * rendering/render_box.cpp: (setStyle) Updating maximumOutlineSize. - - * rendering/render_canvas.{cpp,h}: Added maximumOutlineSize - member, setter, and getter. - - * rendering/render_image.cpp: (paint) Added handling new - PaintActionOutline phase. - - * rendering/render_inline.{cpp,h}: Moved paintOutline{s,} from RenderText - to RenderInline. - (paint) Handled PaintActionOutline phase. - - * rendering/render_layer.cpp: (paintLayer) Added invokation of - PaintActionOutline phase. - - * rendering/render_object.{cpp,h}: Added PaintActionOutline phase and - maximumOutlineSize. - - * rendering/render_table.cpp: Added code for handling outlines. - - * rendering/render_text.{cpp,h}: (paint) Removed outline painting - code from there. - Moved paintOutline{s,} to RenderInline. - - * xml/dom_nodeimpl.cpp: (NodeBaseImpl::setFocus) Fixed recursive - application of focus to child elements now that outline correctly - handles block elements. - -2004-05-06 Tobias Anton <anton@stud.fbi.fh-darmstadt.de> - - * html/htmlparser.cpp (class KHTMLParser): use setCurrent() after reset() - to avoid a memleak whenever the parser is used on a DocumentFragment. - -2004-05-04 Leo Savernik <l.savernik@aon.at> - - * css/cssparser.cpp: (parseValue) Updated order of border values to - accomodate border precedence. - Made all colors accept transparent. - - * css/cssstyleselector.cpp: (applyRule) Fixed recognition of transparent - colors so that BorderValue::isTransparent returns true for border colors. - - * css/cssvalues.in: Updated order of border values to accomodate border - precedence. - - * rendering/render_form.cpp: (paintBorderMinusLegend) Honor new border - precedence. - - * rendering/render_object.cpp: (drawBorder) Inserted forgotten break. - (paintBorder) Make border-color: transparent work like in WebCore. - Honor new border precedence. - - * rendering/render_object.h: Introduced PaintActionCollapsedTableBorders. - - * rendering/render_style.h: Updated EBorderStyle to accomodate border - precedence. - (class BorderValue) Merged nonZero and isTransparent to make border - drawing code work. - Merged lots of stuff needed for border-collapse. - Set initial value of empty-cells to hide (to match NN, Moz, IE behaviour). - - * rendering/render_table.cpp: (RenderTable::RenderTable, - RenderTable::setStyle) Merged small adaptations for border-collapse. - (RenderTable::paint) Merged border-collapse paint code from WebCore. - (class RenderTable) Merged new paintBoxDecorations code. - (class RenderTableCell) Merged lots of helper classes from WebCore. - (RenderTableSection::paint) Fixed cutting off of borders spilling into - neighbour cells. - (RenderTableCell::paint) Merged paint code from WebCore. - - * rendering/render_table.h: Added prototypes/member variables. - -2004-04-18 Leo Savernik <l.savernik@aon.at> - - * khtml_part.cpp: (extendSelectionTo): Fixed deselection of whole - word/line at line boundaries in ExtendByWord/ExtendByLine mode. - -2004-04-18 Leo Savernik <l.savernik@aon.at> - - * khtml_part.cpp: Merged firstRunAt, lastRunAt from WebCore. - (khtmlMouse{Press,DoubleClick,Move,Release}Event): Support extending selection - by word and by line as mandated by the KDE style guide. - (khtmlMousePressDoubleClickEvent): Fixed automatic scrolling when mouse - moves off the view while selecting. - (extendSelection): Make it support extending by line by merging - WebCore's startAndEndLineNodesIncludingNode into it. - Fixed issue with double word selection when between two words. - - * khtmlpart_p.h: added m_initialNode, m_initialOffset and - m_extendMode. - - * khtmlview.cpp (extendSelection): Initialize all relevant fields for selection. - - * rendering/render_text.h: Merged inlineTextBoxes function, needed by - firstRunAt, lastRunAt. - (findInlineTextBox): Make it public. - -2004-04-15 Leo Savernik <l.savernik@aon.at> - - * khtml_caret{.cpp,_p.h}: Vast changes. - Added classes CaretBox, CaretBoxLine, CaretBoxIterator, - EditableCaretBoxIterator. Changed every other class. - - * khtmlview.[cpp,h}: (class KHTMLView) Adapt to khtml_caret* changes. - (KHTMLToolTip::maybeTip) Save tooltip position instead of recalculating it. - - * rendering/render_{inline,box}.{cpp,h}: (Render{Box,Inline}::caretPos) - Handle outside caret positions. - - * rendering/render_{image,br}.{cpp,h}: Remove superfluous - Render{Image,BR}::caretPos. - - * rendering/render_line.h: (InlineBox::maxOffset) Return 0 instead of 1. - - * rendering/render_object.{cpp,h}: (RenderObject::caretPos) Introduce - flags to denote outside positions. - Add RenderObject::isRenderReplaced. - - * rendering/render_replaced.h: Add RenderReplaced::isRenderReplaced - returning true. - - * rendering/render_text.{cpp,h}: (RenderText::caretPos) Handle flags. - - * xml/dom_nodeimpl.{cpp,h}: (NodeImpl::getCaret) Handle DOM Range - positions. - Remove unused NodeImpl::{prev,next}LeafNode. - (NodeImpl::maxOffset) Return child node count instead of 1 for element - nodes. - (NodeBaseImpl::childNode): Don't crash on out-of-bounds offsets. - -2004-04-02 Dirk Mueller <mueller@kde.org> - - * misc/loader.cpp (slotFinished): store suggestedfilename for later. - (movieResize): start with the notify. Experimental. - - * rendering/render_layer.cpp (nodeAtPoint): make sure we set - the urlelement to the innermost urlelement. otherwise - overURL and the actual url followed during click get out of sync. - -2004-03-23 Dirk Mueller <mueller@kde.org> - - * khtml_part.cpp (checkLinkSecurity): Be stricter. - - * rendering/render_frames.cpp (updateWidget): readd the recursion protection. - -2004-03-21 Arend van Beelen jr. <arend@auton.nl> - * khtml_part.cpp/.h: if text in a link is highlighted, the link now receives - focus. - - * khtmlview.cpp: made type-ahead find more aggressive by grabbing the keyboard - when active, this way it temporarily overrules single-letter shortcuts as seen - in KMail. Note it immediately releases the keyboard when it looses focus. - -2004-03-20 Arend van Beelen jr. <arend@auton.nl> - * khtml_part.cpp/.h: finished new searching API. - - * khtmlview.cpp/.h: implemented type-ahead find (#51259). - -2004-03-21 Dirk Mueller <mueller@kde.org> - - * html/html_formimpl.cpp (encoding): fix submission of forms - without file upload (#77382). - - * css/css_renderstyledeclarationimpl.cpp (getPropertyCSSValue): fix crash (#77324). - -2004-03-20 Dirk Mueller <mueller@kde.org> - - * xml/dom_docimpl.cpp (processHttpEquiv): improve refresh handling for negative and - slightly malformed delays (#78049) - -2004-03-18 Lubos Lunak <l.lunak@kde.org> - - * khtmlview.cpp, xml/dom_docimpl.cpp: accesskey attribute support - -2004-03-03 Dirk Mueller <mueller@kde.org> - - * html/htmlparser.cpp (getElement): try to avoid nesting <nobr> and <wbr>, - but don't forbit it. - -2004-03-01 Dirk Mueller <mueller@kde.org> - - * rendering/render_text.cpp (calcMinMaxWidth): some more hacks for white-space != - normal. - - * rendering/render_object.cpp (drawBorder): use drawPixel directly. - turns out to be more reliable and equally fast (#62296). - -2004-02-29 Dirk Mueller <mueller@kde.org> - - * html/html_documentimpl.cpp (determineParseMode): treat xhtml transitional - that way (#76449). - - * rendering/bidi.cpp (findNextLineBreak): make sure we move - replaced elements, that don't fit on a line below the floats (#74609). - - * rendering/render_replaced.cpp (calcMinMaxWidth): respect - padding and borders (#65788). - - * rendering/render_form.h (RenderFormElement): make sure we never - end up getting a border or padding for form elements. - - * rendering/render_frames.cpp (partLoadingErrorNotify): don't trigger - slotPartLoadingErrorNotify twice. - - (slotPartLoadingErrorNotify): avoid KMessageBox deletion race. - - * misc/loader_jpeg.cpp: fix incredibly rare lockup in jpeg decoder. - -2004-02-28 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_block.cpp (layoutBlockChildren): - - displace the check for if we need to relayout our childs - because of a float. It was outside of loop (#71445) - - remove check for floatBottom() > m_y has it seems outdated. - -2004-02-25 Dirk Mueller <mueller@kde.org> - - * rendering/render_text.h (class InlineTextBox): rename width(int) - to widthFromStart(int), since it otherwise clashes with upcoming - Safari merges. - - * rendering/render_image.cpp (notifyFinished): forward the - notifyFinished call to the inherited class. - - * rendering/render_inline.h (class RenderInline): - constructor/destructor cleanup. - - * misc/htmlattrs.h: don't export getAttrName symbol. - - * rendering/render_object.h (class RenderObject): move background - repaint handling over here, since TableSections don't inherit RenderBox, - but still have a background. - - * khtml_settings.cc (init)/html4.css: MediumFontSize up to 12. Form elements - get font-size: small instead. - -2004-02-24 Dirk Mueller <mueller@kde.org> - - * ecma/xmlhttprequest.h/cpp: Implement asynchronous interface - enough to pass the tests on http://www.mozilla.org/xmlextras/tests.html - - * xml/dom2_eventsimpl.h (EventImpl): rename KHTML_KEYUP/DOWN_EVENT - to KEYUP/DOWN_EVENT. Add events needed for XMLHttpRequest. - - * rendering/render_object.h (class RenderObject): introduce a PaintInfo - struct that contains the information necessary for all those paint..() methods. - Requires much less parameters to pass and is therefore faster. While being - at it, eliminate the unnecessary virtual method paintObject. - -2004-02-23 Stephan Kulow <coolo@kde.org> - - * rendering/render_inline.cpp: check if the containingBlock is displayed - as block before using it as continuation (#73573) - -2004-02-22 Frerich Raabe <raabe@kde.org> - - * khtml_part.cpp/.h (openURL): In case the call is a reload, do a stat - on the user-defined stylesheet and reload it in case it changed in - the meanwhile (#39962). - * khtmlpart_p.h (class KHTMLPartPrivate): Added - m_userStyleSheetLastModified variable which keeps track of the - mtime of the user-defined sheet. - -2004-02-20 Germain Garand <germain@ebooksfrance.org> - - * rendering/bidi.cpp (operator ++): skip empty RenderText. - Remove unused forcedMinWidth cruft. - - * rendering/render_block.cpp (addChildToFlow): keep the refcount - high for first-letter affected text while we manipulate it. - - * rendering/render_text.cpp: remove unused forcedMinWidth cruft. - -2004-02-20 Frerich Raabe <raabe@kde.org> - - * misc/loader.cpp (DOCLOADER_SECCHECK): Adjusted the macro so that it - takes a bool parameter which indicates whether it should check for - invalid redirections. - (requestImage, requestScript): Use DOCLOADER_SECCHECK(true) now - * misc/loader.cpp/.h (requestStyleSheet): Added parameter which tells - whether the given URL references the user-defined stylesheet. If so, - use DOCLOADER_SECCHECK(false) to disable the check for invalid - redirections (it's not useful for the user-defined URL). - * khtml_part.cpp (PartStyleSheetLoader ctor): pass true to - DocLoader::requestStyleSheet to indicate that the user-stylesheet is - loaded. Fixes seemingly ignored user-defined stylesheet. (#69697) - -2004-02-17 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_block.cpp (addChildToFlow): first-letter: - better fix for pure punctuation/single letter text childs. - Fixes an invalid reference crash (#70546). - -2004-02-16 Germain Garand <germain@ebooksfrance.org> - - * css/cssstyleselector.cpp (styleForElement): pseudo-elements - use their subject's style as parentStyle -e.g: 'inherit' value. - (adjustRenderStyle): mutate pseudo style display to block if - needed (floating or ps. content) as allowed by recent CSS2.1 - draft. - -2004-02-16 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_block.cpp (setStyle): skip pseudo - styles when updating anonymous blocks'style (#73978). - (addChildToFlow):don't crash when installing - first-letter in anonymous blocks or when remaining - content is empty. - - * rendering/render_container.cpp (updatePseudoChild): - always regenerate :before/:after content holding - :first-letter. - - * rendering/render_style.cpp (addPseudoStyle): don't use - RenderStyle's copy constructor for pseudo-elements. - -2004-02-16 Stephan Kulow <coolo@kde.org> - - * rendering/render_container.cpp (updatePseudoChild): merge more - code for content generated elements - -2004-02-15 Zack Rusin <zack@kde.org> - - * xml/dom2_viewsimpl.cpp (getComputedStyle): implementing - 26311 - * css/css_renderstyledeclarationimpl : implementing - CSSStyleDeclarationImpl which maps the properties - to the rendering tree - * css/css_valueimpl.h: changing some methods to virtual - in order to overload them in RenderStyleDeclarationImpl - -2004-02-15 Dirk Mueller <mueller@kde.org> - - * css/css_base.cpp (specificity): fix detection of the * - selector (#73214). - -2004-02-13 Zack Rusin <zack@kde.org> - - * xml/xml_tokenizer (XMLIncrementalSource): implementing - incremental XML parsing - - * xml/dom_nodeimpl.h : removing superfluous semi-colons - -2004-02-11 Germain Garand <germain@ebooksfrance.org> - - Activate merged alternate code path for inline boxes - construction/painting. Whitespace count consistency. - - * rendering/bidi.cpp: merge computeHorizontalPositionsForLine - to get properly constructed InlineFlowBoxes. - (Bidinext): merge skipInline bool to avoid leak. - (RenderBlock::bidiReorderLine): handle whitespace count through - category separator_Space - (RenderBlock::findNextLineBreak): account for empty InlineFlow - - * rendering/font.cpp (drawText, width): whitespace handling - - * rendering/render_box.cpp (position): partial merge - - * rendering/render_line.cpp (placeBoxesVertically): - - line-height on block level means minimum line-height for children. - - Don't enlarge boxes to fit font, only shrink (CSS2:10.8.1) - - Add font's half-leading to top and bottom to avoid nodeAtPoint gaps. - Use fm.height(): WebCore's QFontMetrics includes the baseline in descent - - * rendering/render_object.cpp (offsetLeft/offsetTop): adjust - (hasStaticX/hasStaticY): merged non-virtual methods - - * rendering/render_replaced.cpp (position): do not add margin anymore - - * rendering/render_text.cpp: whitespace handling. No more p/b/m. - -2004-02-10 Dirk Mueller <mueller@kde.org> - - * implement support for pageX/pageY. fix layerX/layerY, which was horrible broken - due to its (wrong) assumption that clientX is the same as pageX (#74718), (#70290). - - * dom/dom2_events.cpp (pageX/Y): add bindings. - - * html/htmlparser.cpp (insertNode): argh. regression fix (http://www.cygwin.com) (#74329). - -2004-02-09 David Faure <faure@kde.org> - - * ecma/kjs_events.h (clear): set listener object to Null(), not to an invalid Object(), - which will crash when the listener is stored in another frame (#61467). Maybe it would be better - to really remove the event listener in this case, but this is hard to do efficiently. - -2004-02-09 Stephan Kulow <coolo@kde.org> - - * css/html4.css: use text-align: left for all input elements - -2004-02-09 David Faure <faure@kde.org> - - * ecma/kjs_html.cpp (getValueProperty): s/getString/String/ for meta attributes, - fixes http://www.accorhotels.com/fr/fidelisation/travelplus/tp_pros_adh_form.shtml - -2004-02-07 Harri Porten <porten@kde.org> - - * rendering/render_layer.cpp (sortByZOrder): compile fix for non-gcc - compilers - -2004-02-04 Zack Rusin <zack@kde.org> - - * dom/dom2_traversal : Making NodeFilter( NodeFilterImpl* ) - constructor public. Making setFilter method take arg by - reference - * dom/dom_doc.cpp (createTreeWalker): implementing the - method - * xml/dom2_traversalimpl : Implementing TreeWalkerImpl - * xml/dom_docimpl (createTreeWalker): Implementing the - method - -2004-02-04 Stephan Kulow <coolo@kde.org> - - * html/html_tableimpl.cpp (insertRow): append to tbody if - there is no tfood for insertRow(numRows) (#74125) - -2004-01-29 Germain Garand <germain@ebooksfrance.org> - - * xml/dom_elementimpl.cpp (name): return attribute names in lowercase - in compatibility mode. Solves contradiction between DOM L2/L3. Erratum - to DOM L2 is pending, thanks to David Faure. - -2004-01-29 David Faure <faure@kde.org> - - * ecma/kjs_window.cpp (get): update frame sizes before returning value for - innerWidth/innerHeight, in case the window was just resized (#73528, regtest ecma/window.js) - -2004-01-29 Dirk Mueller <mueller@kde.org> - - * html/html_inlineimpl.cpp (parseAttribute): restore KDE 3.1 behavior - of <font size=-1> (#73500). - -2004-01-26 David Faure <faure@kde.org> - - * ecma/kjs_window.cpp (get/hasProperty): Reduce window.<name> to - forms, images and applets, like document.<name> (#71363 comment #5) - by sharing NamedTagLengthDeterminer with kjs_html.cpp - -2004-01-26 Dirk Mueller <mueller@kde.org> - - * html/html_inlineimpl.cpp (defaultEventHandler): use content, not - viewport coordinates for server side image maps (#59701). - - * rendering/bidi.cpp (computeVerticalPositionsForLine): update - overflowWidth, otherwise a lot of things go wrong (#59701). - - * misc/loader.cpp (data): correctly emit notifyFinished(), otherwise our - state machine goes out of sync. - - * rendering/render_image.cpp: avoid shoot-out effect when neither oimage nor - image are fully loaded. do a repaint when the new image finished loading, so - that it actually updates. avoid reloading images on news.google.com on hover. - - * khtmlview.cpp (scheduleRepaint): make scheduling not starvating repaints. - Fix repainting logic to optimize for reduced X server load and minimum CPU - usage in traversing the render tree (#72575). - -2004-01-25 Dirk Mueller <mueller@kde.org> - - * rendering/render_object (offsetLeft/offsetTop): fix Heirmenus which expect to get the - <body> offset when the offsetParent is the <body> itself. - - * misc/loader.cpp (class ImageSource): by default, we're rewindable. - - * rendering/render_block.cpp (positionNewFloats): when somebody says - clear: both;, he usually means it (#68068). - - * html/html_objectimpl.cpp (renderAlternative): give the alternative rendering - some time to avoid ugly deletion races. - - * rendering/render_canvas.cpp (layout): don't recurse when printing (#72775). - - * rendering/render_image.cpp (setPixmap): handle cases when - we're not inserted in the tree yet, but the image is already loaded - (this happens when the memory cache actually works) (#73311). - -2004-01-23 Lubos Lunak <l.lunak@kde.org> - - * html_inlineimpl.cpp (defaultEventHandler): make HTMLAnchorElementImpl - react also on DOMActivate event - -2004-01-23 David Faure <faure@kde.org> - - * html/html_tableimpl.cpp (insertRow): Fix for DOMTS-L2-HTML test - HTMLTableElement39.html: insertRow(-1) appends to last section in - document order, not to TFOOT. - - * xml/dom_docimpl.cpp (hasFeature): Updated to current state. - (createEvent): Allow to create events with eventType="Events" - -2004-01-22 David Faure <faure@kde.org> - - * xml/dom_nodeimpl.cpp (GenericRONamedNodeMapImpl): Implementation of - node map for entities and notations, required by some DOMTS Core 1 tests. - -2004-01-22 Waldo Bastian <bastian@kde.org> - - * html/htmlparser.cpp (class HTMLStackElem): ref and unref the nodes to avoid them beeing removed below us (#73112) - -2004-01-22 Lubos Lunak <l.lunak@kde.org> - - * khtmlview.cpp: make Ctrl only temporary suspend Shift+Down scrolling - -2004-01-22 David Faure <faure@kde.org> - - * xml/dom_nodeimpl.cpp (setNodeValue): Don't throw NO_MODIFICATION_ALLOWED_ERR from - there, DOMTS-Core-Level1's hc_nodevalue03 says createEntityReference().setNodeValue() - should simply do nothing. - - * dom/dom_element.cpp (removeAttributeNode): Fixed logic for NOT_FOUND_ERR. - (setAttributeNode): removed tests for WRONG_DOCUMENT_ERR and - INUSE_ATTRIBUTE_ERR, the latter being incorrect and both being already - done by setNamedItem - - * xml/dom_elementimpl.cpp (setNamedItem): if attribute exists already, - return it, to fix DOMTS-Core-level1 test hc_elementreplaceattributewithself - -2004-01-21 Leo Savernik <l.savernik@aon.at> - - * khtml_part.cpp (checkCompleted): do not explicitly set focus to - the document if m_focusNodeNumber is not set (fixes dict.leo.org) - -2004-01-21 Stephan Kulow <coolo@kde.org> - - * html/html_formimpl.h: handle malformed forms different than - wellformed - -2004-01-21 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_block.cpp (layoutBlockChildren): use maxTopMargin - again, for correct margin-top determination (#67527) - -2004-01-20 Dirk Mueller <mueller@kde.org> - - * css/cssstyleselector.cpp (applyRule): Implement handling of - empty-cells. - - * css/cssstyleselector.cpp (applyRule): remove superfluous setZIndex(0) - after setHasAutoZIndex, which breaks auto. - -2004-01-19 Dirk Mueller <mueller@kde.org> - - * rendering/render_object.cpp (getVerticalPosition): improve - logic (#65121). - -2004-01-19 Stephan Kulow <coolo@kde.org> - - * rendering/render_style.h: providing an initial property - function for every css property and using it in macros - from cssselector.cpp to unify the handling of short hand - properties (based on safari patch) - - * css/cssstyleselector.cpp (parseValue): unify handling - of inherited css properties (based on safari patch) - -2004-01-18 Dirk Mueller <mueller@kde.org> - - * khtmlpart_p.h (class KHTMLPartPrivate): experimental: - copy encoding information from parent frame. helps on - http://www.pfl.ru/ when manually setting the correct encoding. - - * rendering/render_container.cpp (addChild): make sure - that a RenderTableCol object is correctly nested inside - a table (#59766). - - * xml/dom_elementimpl.cpp (recalcStyle): fix tree corruption - when recalcStyle() happens to be invoked in the wrong moment. - - * html/html_baseimpl.cpp (setLocation): fix KURL() casting issue. - -2004-01-16 Dirk Mueller <mueller@kde.org> - - * rendering/render_image.cpp: remove some asserts that - noone needs anyway (#72739). - -2004-01-16 Stephan Kulow <coolo@kde.org> - - * html/htmltokenizer.cpp: fixing <pre> parsing (#58584) - -2004-01-15 Dirk Mueller <mueller@kde.org> - - * misc/loader.cpp (ref): ok, there are cases where an image - gets refed twice from the same client. *sigh*. - -2004-01-15 Lars Knoll <knoll@kde.org> - - * rendering/render_table.cpp: set overflowWidth to width - when layouting (#72420) - * xml/dom2_eventsimpl.cpp rendering/render_block.cpp - nodeAtPoint() should always use contents coordinates. - -2004-01-14 Dirk Mueller <mueller@kde.org> - - * misc/loader.cpp: Fix uncachable image leak (#72197). - -2004-01-13 Dirk Mueller <mueller@kde.org> - - * css/css_ruleimpl.cpp (CSSMediaRuleImpl): set parent to 0 - to avoid leak (#70731). - -2004-01-13 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_canvas.cpp (layout): - force scrollbar visibility status while layouting - to avoid endless cycles (#69613) - -2004-01-13 Dirk Mueller <mueller@kde.org> - - * ecma/kjs_events.cpp (JSEventListener): store them in a dictionary, - not a linked list. - - * css/parser.y: fix rect() parsing problem (#72458). - -2004-01-12 Dirk Mueller <mueller@kde.org> - - * rendering/render_block.cpp (left/rightRelOffset): recursion protection - (#70608). - - * rendering/render_image.cpp (updateFromElement): add tracking of - an oldimage, to avoid a "shoot out" effect on hovering expired images. - -2004-01-11 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_text.cpp (paintBoxDecorations): - make background images on inlines obbey the full CSS - spec (#59600) - - * rendering/render_text.h (paintBoxDecorations): changed prototype - - * rendering/render_line.cpp (paintDecorations): disable for now. - -2004-01-11 Dirk Mueller <mueller@kde.org> - - * html/htmlparser.cpp (insertNode): fix <p><dl> handling (#68167). - - * css/css_base.cpp (extractPseudoType): make it case-insensitive (#72159). - -2004-01-11 Germain Garand <germain@ebooksfrance.org> - - border/padding/margin issues on inlines (#68394) - - * rendering/bidi.cpp (computeVerticalPositionsForLine): - add the correct width offset for text objects - - * rendering/render_line.cpp (paintBackgroundAndBorder): - guard against invalid width values - - * rendering/render_text.cpp (paintDecoration): - revert revision 1.224, avoid resurecting #50683 - by matching the conditionals of RenderText::position - (RenderText::nodeAtPoint): revert part of r1.234, - avoid #69345 by commenting incompatible merge. - (RenderText::width): add padding/border/margin - -2004-01-10 Dirk Mueller <mueller@kde.org> - - * css/html4.css: fix default font/fontsize of input,select and textarea - (#67851). - - * misc/loader_jpeg.cpp (decode): try hard not to shoot - down the machine with large images - (try http://www.parisc-linux.org/~willy/kde/graph.jpg) - - * rendering/render_image.cpp (layout): ugh, major stupidity. don't rescale large - images if nobody explicitely asked for it. makes loading of very large images - quite a bit faster. - - * rendering/render_image.cpp/.h: Reduce X-server pressure with large images (#39693). - - * misc/loader_jpeg.cpp: Upon suggestion from Maksim, implement decoding of - nonprogressive jpegs in non-buffered-image mode. This massively reduces memory - footprint and slightly improves performance. - -2004-01-09 Dirk Mueller <mueller@kde.org> - - * rendering/render_replaced.cpp (eventFilter): readd the wheel event handling - which allows scrolling of the page again. Thanks a lot for just removing it. (#45180) - - -2004-01-02 Dirk Mueller <mueller@kde.org> - - * html/htmltokenizer.cpp (notifyFinished): fix null pointer dereference - in rare cases. - - * css/cssstyleselector.cpp (reparseConfiguration): implement. - - * khtml_part.cpp (reparseConfiguration): call CSSStyleSelector::reparseConfiguration - instead of ::clear(). much less crashy. (#68141) - -2003-12-27 Simon Perreault <nomis80@nomis80.org> - - * khtml_part.cpp: Remove unused zoom actions. Assign CTRL + Key_Plus to - zooming in and CTRL + Key_Minus to zooming out. - -2003-12-27 Luis Pedro Coelho <luis@luispedro.org> - - * misc/loader.cpp : Discard items from cache if they have the wrong type (#68181) - -2003-12-20 Koos Vriezen <koos.vriezen@xs4all.nl> - - * html_objectimpl.cpp (attach): Check KImageIO::typeForMime first if RenderImage - supports the image format - -2003-12-11 Stephan Kulow <coolo@kde.org> - - * rendering/render_image.cpp (updateFromElement): set the alt text before doing anything - else, because it might trigger a setting of the error pixmap and then we don't know the - alt text to draw and get wrong sizes - -2003-12-10 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_replaced.cpp (updateFromElement): don't use setEraseColor for __khtml - widgets as it changes the background mode and induces flicker (#69130) - (copyWidget): retrieve background color from the widget's palette. - -2003-12-10 Dirk Mueller <mueller@kde.org> - - * rendering/render_list.cpp: fix toLetter, based on Safari patch. - -2003-12-09 Dirk Mueller <mueller@kde.org> - - * html/html_formimpl.cpp (submit): don't ask over and over again the same question. - -2003-12-08 Zack Rusin <zack@kde.org> - - * khtmlview.*, html/html_formimpl.cpp (submit): Fixing 67179 - - Possibility to avoid saving form data for certain sites. - -2003-12-05 David Faure <faure@kde.org> - - Clean up "default handling" of events. Fixes recent regressions like - "arrow keys in lineedit make the scrollview scroll". - * xml/dom_nodeimpl.*: Removed bool return value from most dispatch*Event methods, - documented the two that still return a bool. The meat of the change is - that dispatchKeyEvent returns defaultHandled || defaultPrevented. - * dom/dom_node.cpp (dispatchEvent): Return !defaultPrevented as mandated by - the DOM, now that NodeImpl doesn't do it anymore. - * rendering/render_replaced.cpp (eventFilter): Adapted to new logic - * khtmlview.cpp (dispatchKeyEventHelper): Adapted to new logic - -2003-12-05 Stephan Kulow <coolo@kde.org> - - * css/cssparser.cpp (parseValue): Do not accept negative values for padding (#59557) - -2003-12-05 Lubos Lunak <l.lunak@kde.org> - - * khtmlview.cpp, xml/dom2_eventsimpl.*, xml/dom_nodeimpl.*, rendering/render_replaced.cpp : - fix mapping between Qt and DOM key events - -2003-12-05 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_object.cpp (nodeAtPoint): don't offset - relatively positioned objects coordinates. They already are (#68716/#60453) - - * rendering/render_text.cpp (nodeAtPoint): no need to include borders and padding - in the matching region anymore (#69345) - -2003-12-05 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_box.cpp (paintRootBoxDecorations): use the full canvas's height - when painting the root's background (#55065) - -2003-12-03 Stephan Kulow <coolo@kde.org> - - * css/html4.css: define default text-alignments for input fields to avoid - problems with inherited attributes - -2003-12-02 Stephan Kulow <coolo@kde.org> - - * html/htmltokenizer.cpp: do not discard any line feed from parsing textareas - -2003-11-29 Dirk Mueller <mueller@kde.org> - - * css/cssstyleselector.cpp: add indigo/crimson colorhandling as it is not in X11's rgb - names list. - - * misc/loader.cpp (CachedCSSStyleSheet/CachedScript::data): add some utf8/utf16 encoding - handling. Workaround Qt bugs (#69115). Initial investigation and patch by Harri. - -2003-11-29 Stephan Kulow <coolo@kde.org> - - * html/html_elementimpl.cpp (addHTMLAlignment): readding floating for input type="image" - - * rendering/render_form.cpp (setStyle): respect text-align style on input elements - (#65610) - - * html/html_formimpl.cpp (HTMLInputElementImpl): don't make input elements - floating, but only care for the text alignment - -2003-11-28 Harri Porten <porten@kde.org> - - * css/css_valueimpl.cpp (setProperty): remove superfluous - removeProperty() call. It will be done later in CSSParser. After - after the value has been recognized as valid. - -2003-11-28 Germain Garand <germain@ebooksfrance.org> - - * html/html_headimpl.cpp (class HTMLLinkElementImpl): grant to alternate sheets - enabled via script the same status as preferred sheets. Restore proper tracking - of pending stylesheets.(#67453/#68504) - - * html/html_headimpl.h (HTMLLinkElementImpl::setDisabled) - - * xml/dom_docimpl.cpp (recalcStyleSelector): don't remove sheets linked from - DOM-disabled link elements from the list of available alternate stylesheets. - Re-enabling them manually is a valid option. - -2003-11-26 Lubos Lunak <l.lunak@kde.org> - - * khtmlview.cpp, xml/dom2_eventsimpl.cpp : generate correctly keydown,keypress and keyup events - -2003-11-26 Dirk Mueller <mueller@kde.org> - - * html/htmlparser.cpp (parseToken): ignore flat on <select>. maybe - we should only do this in compat mode though (#69017). - -2003-11-25 Dirk Mueller <mueller@kde.org> - - * html/html_formimpl.cpp (defaultEventHandler): ignore stale keyup events - on space too. - - * css/html4.css: Set quirky margins on elements that need it (#66490). - -2003-11-25 Stephan Kulow <coolo@kde.org> - - * rendering/render_container.cpp (updatePseudoChild): fix handling of - images in :content (#67373) - - * html/html_baseimpl.cpp (parseAttribute): fix parsing of body attributes (safari merge) - - * rendering/render_box.cpp (calcAbsoluteVertical): basically reverting commit 1.218 - for height calculation. It broke floating images (#67839) - -2003-11-25 David Faure <faure@kde.org> - - * ecma/kjs_window.cpp: Implement hasProperty and get for frames by number in Window, - to fix window[0] and parent[1] etc. (#56983) - -2003-11-25 Germain Garand <germain@ebooksfrance.org> - - * khtml_part.cpp (checkCompleted): prepend "Automatic Detection" entry to - "Use Stylesheet" menu. - (slotUseStylesheet): set m_sheetUsed to null string if autodetect is on. - Fixes #54335. - - * xml/dom_docimpl.cpp (recalcStyleSelector): if the previous sheet is sticky but - still missing when we've already got <body>, choose the document's best - candidate until parsing ends. Avoids ending with no decision (#63348). - -2003-11-24 Dirk Mueller <mueller@kde.org> - - * html/html_formimpl.cpp (defaultEventHandler): ignore stale keyup events. - Only react when we saw a matching keydown before. - -2003-11-24 David Faure <faure@kde.org> - - * html/htmlparser.cpp (popInlineBlocks): Fixed infinite loop due to - popOneBlock returning immediately if blockStack==0. #68034. - - * rendering/bidi.cpp: Fixed infinite loop with <nobr> due to findNextLineBreak - going back (wrong variable used). #66867, #68598, #59230 and their duplicates. - -2003-11-24 Stephan Kulow <coolo@kde.org> - - * css/cssparser.cpp (parseFontFamily): handle invalid font families like - font-family: ms sans serif, utopia - * css/css_valueimpl.cpp (FontFamilyValueImpl): merging safari code to handle - invalid font families. Replacing buggy font maching by substring search by - simply ripping out "MS" and searching for similiar fonts - -2003-11-24 David Faure <faure@kde.org> - - * html/htmlparser.cpp (getElement, processCloseTag): Allow only one - non-empty <title> tag, discard any following <title> tag. This matches - both IE and Mozilla. Testcases khtmltests/regression/tests/ecma/title* - - * html/html_headimpl.cpp (childrenChanged): Set title immediately, like - other browsers do. - -2003-11-23 Germain Garand <germain@ebooksfrance.org> - - * html/html_imageimpl.cpp (attach): don't create a renderer if our parent doesn't - allow childs. e.g: a RenderPartObject (#66793) - -2003-11-23 Stephan Kulow <coolo@kde.org> - - * css/cssstyleselector.cpp (applyRule): fixing my fix for #60556, which - introduced quite some regressions (thanks to Paul Sprakes for working - that out with me) - -2003-11-22 Stephan Kulow <coolo@kde.org> - - * rendering/render_line.cpp (paintDecorations): avoid underlining elements that - have no dimension in itself (#68728) - -2003-11-22 Koos Vriezen <koos.vriezen@xs4all.nl> - - * html_miscimpl.cpp (HTMLCollectionImpl): Make - window.xxx == document.xxx for APPLET/OBJECT/EMBED elements, using - ID or NAME attributes, behave alike - -2003-11-22 Germain Garand <germain@ebooksfrance.org> - - * dom/css_value.cpp (getPropertyPriority): const version was declared - but not implemented - - * rendering/font.cpp (drawText): do not use DirWS to count spaces - when justifying, it won't count 's (#65903) - - * rendering/render_text.cpp (class InlineTextBox): ditto. - -2003-11-19 Dirk Mueller <mueller@kde.org> - - * html/html_baseimpl.cpp (attach): respect display: NONE on <frame>, since - it is used to indicate the FOUC prevention code path now. - - * css/cssparser.cpp (parseColor): remove use of invalidColor. use a boolean - return instead. invalidColor was confusing as it was actually a valid color. - Also add rgba() parsing. - - * css/cssstyleselector.cpp (adjustRenderStyle): add check to avoid that - <FRAME> gets a display != BLOCK assigned (#63640). - -2003-11-18 Harri Porten <porten@kde.org> - - * ecma/kjs_html.cpp: limit collection length to >= 0 (Maciej) - -2003-11-18 David Faure <faure@kde.org> - - * css/css_valueimpl.* (cssText): cssText implementation from Maciej Stachowiak. - -2003-11-17 David Faure <faure@kde.org> - - * khtml_part.cpp (processObjectRequest): - Stop the spinning wheel on <frame src="">. - Testcase: webcore's fast/frames/empty-frame-src.html - -2003-11-17 Stephan Kulow <coolo@kde.org> - - * rendering/render_*.cpp: changing the output of dump to - get a more comprehensive renderer tree output - as inspired - by Safari's kwqDebugTree. This allows for a change in - test_regression to check layouts - -2003-11-15 Zack Rusin <zack@kde.org> - - * rendering/render_box.cpp (calcHeight): correctly compute the - height for relatively positioned object with percentage based - dimensions - pretty much a merge from safari (#53902) - -2003-11-14 Germain Garand <germain@ebooksfrance.org> - - fix "overflow: scroll" layout/painting issues - - * rendering/render_box.cpp (getOverflowClipRect): substract - scrollbars width/height if any. Merged from WebCore. - - * rendering/render_layer.cpp (horizontalScrollbarHeight, - verticalScrollbarWidth): use pixelMetric instead of width()/height(). - -2003-11-13 Zack Rusin <zack@kde.org> - - * rendering/render_box.cpp (calcAbsoluteVertical): fix the - computation of the height for the percentage positioned elements - contained in the root - -2003-11-11 Dirk Mueller <mueller@kde.org> - - * rendering/render_style.h (StyleBoxData>): fix SunProCC - compatibility problem. - - * xml/dom_elementimpl.cpp (attach): don't attach a renderobject - to a parent that does not support childs (childAllowed()). - * html/html_objectimpl.cpp (attach): check for childAllowed(). - * xml/dom_textimpl.cpp (attach): check for childAllowed(). - - * misc/loader.cpp (CachedCSSStyleSheet): add "*/*;q=0.1" to the - accept header (#67803). - -2003-11-10 David Faure <faure@kde.org> - - * khtml_part.cpp: Ask the user "open or save?" before embedding a - non-usual mimetype into a frame (e.g. ZIP files or PS files). - (html and images are the 'usual' exceptions) - Includes a dontshowagain checkbox, so this shouldn't be too annoying. - -2003-11-07 Stephan Kulow <coolo@kde.org> - - * css/cssparser.cpp (parseValue): set the background-* properties - to their initial value before expanding (#64743) - -2003-11-07 Dirk Mueller <mueller@kde.org> - - * css/css_valueimpl.cpp (cssText): wrap uri's into url(). - Stephan Kulow noted that other browsers do that. - - * rendering/render_list.h (class RenderListItem): another - SunCC incompatibility fixed. Only applies to HEAD (*phew*). - -2003-11-05 Germain Garand <germain@ebooksfrance.org> - - Refinement of namespace handling for Attributes, - following David's patch of 2003-10-25. - - * xml/dom_elementimpl.cpp: get rid of the m_localName string member - for Attributes. - (AttrImpl::cloneNode): fix wrong argument order in ctor call - - * xml/dom_docimpl.cpp (getId/getName): fix problems introduced by the - switch to an Id of zero for both global and XHTML Namespace. Zero is - also what a failed QDict lookup returns... - -2003-11-05 Dirk Mueller <mueller@kde.org> - - * html/htmltokenizer.cpp (parseEntity): fix annoying entity parsing problem - that caused stale ';''s popping up everywhere. - -2003-11-04 Leo Savernik <l.savernik@aon.at> - - * khtml_part.{cpp,h} (selection): Added new overloaded function to - return selection boundaries. - -2003-11-04 Dirk Mueller <mueller@kde.org> - - * html/html_baseimpl.cpp (attach): fix assertion failure thanks - to the FOUC patch. - -2003-11-04 David Faure <faure@kde.org> - - * html/html_documentimpl.cpp (close): Ensure setTitle is called - at least once, with an empty string if there's no title tag. - - * xml/dom_docimpl.cpp (setTitle): Skip equality test if passing an - empty title, since m_title is initially empty. - -2003-11-03 Dirk Mueller <mueller@kde.org> - - * misc/loader.cpp (buildAcceptHeader): add */* to Accept-Header - for image requests with low priority to fix www.tweakers.net (#53515). - - * css/parser.y: lowercase the media we get via CSS stylesheets. - Its true that the media is case insensitive in CSS, but it is - case sensitive in HTML, and as we don't want to do the code twice - we cheat a little here. - - Also change media parsing logic for @import to handle - http://www.hixie.ch/tests/evil/css/import/extra/importexoticmedia.html - correctly (idea by Stephan Kulow). - - * html/html_formimpl.cpp (defaultEventHandler): react on space too - (#64200). - - * dom/html_base.cpp (src): return the completeURL. - - * html/html_formimpl.cpp: remove the addCSSProperty calls and put - them in the default stylesheet. the original reasons for them in that - place is no longer valid since we implemented the CSS 2.1 selector rules. - - -2003-11-02 Dirk Mueller <mueller@kde.org> - - * rendering/render_form.cpp (setStyle): check for direction (#57626) - on RenderLineEdit and RenderTextArea. - - * khtmlview.cpp (viewportWheelEvent): toggle Font zooming orientation (#61862). - - * rendering/render_box.cpp (paintBackgroundExtended): implement. needed - for inline elements background drawing somewhen. - - * rendering/render_object.cpp (nodeAtPoint): merge from Safari. Still - does not work, but at least its the same now. - (lineHeight): handle replaced elements here. They don't necessarily - inherit RenderReplaced anymore. - (baselinePosition): handle replaced elements. - - * rendering/render_replaced.cpp: remove baselinePosition/lineHeight. its in - RenderObject now. - - * rendering/render_block.cpp (isSelfCollapsingBlock): collapse away trailing whitespace - at the end of the block. - (setStyle): set "isReplaced" for display: inline-block. - (addChildToFlow): Make sure we don't append things after :after generated content. - (calcInlineMinMaxWidth): respect text-indent (taken from WebCore 106). - -2003-11-02 Stephan Kulow <coolo@kde.org> - - * rendering/render_form.cpp (updateFromElement): invalidate the size hint - of comboboxes as they are cached in QComboBox (#64229) - -2003-11-01 Dirk Mueller <mueller@kde.org> - - * css/cssstyleselector.cpp (applyRule): handle clear: none (#57676) - -2003-10-31 David Faure <faure@kde.org> - - * html/html_inlineimpl.cpp (defaultEventHandler): Another wrong use of detail() - instead of the new isDoubleClick(), which made it impossible to click on the - same link twice without moving the mouse (#58241). - -2003-10-30 Dirk Mueller <mueller@kde.org> - - * xml/dom_docimpl.cpp (open): do a full detach()/attach(), - otherwise we're corrupting the rendertree (#66590). - -2003-10-29 Stephan Kulow <coolo@kde.org> - - * html/htmltokenizer.cpp (processListing): fixing textarea regression - -2003-10-29 David Faure <faure@kde.org> - - * ecma/kjs_dom.cpp: Patch from Darin Adler to implement Node.item. - -2003-10-29 Leo Savernik <l.savernik@aon.at> - - * khtml_part.cpp (khtmlMousePressEvent): Fixed occasional selection - of image on which a drag had been initiated. - -2003-10-29 David Faure <faure@kde.org> - - * ecma/kjs_window.cpp (Window::openWindow): patch from Maciej to allow - floats in window.open properties (e.g. small window at saabusa.com) - -2003-10-28 David Faure <faure@kde.org> - - * khtmlview.cpp (viewportMouseDoubleClickEvent): Set bool in MouseEventImpl - when handling a double click. The DOM API only has "number of clicks at the - same place" notion, but not whether they happened quick or over a long time. - Added support for small mouse movement when double-clicking, like in mousePressEvent. - - * xml/dom2_eventsimpl.*: Added m_isDoubleClick bool for the reason above. - - * xml/dom_nodeimpl.cpp (handleLocalEvents): Use new MouseEventImpl::isDoubleClick() - to differenciate between click and dblclick. Lars used the QMouseEvent type, - but when the event comes from JS - initMouseEvent+dispatchEvent, there's - no QMouseEvent - which broke test_regression. - -2003-10-28 Stephan Kulow <coolo@kde.org> - - * khtml_part.cpp (reparseConfiguration): clear the style selector - -2003-10-28 Leo Savernik <l.savernik@aon.at> - - * rendering/render_replaced.cpp (checkSelectionPoint): - Readded RenderReplaced::checkSelectionPoint to fix disrupted selection - of sole inline images within block elements (<p><img ...></p>). - Also fixes caret placement issues. - -2003-10-28 David Faure <faure@kde.org> - - * ecma/kjs_window.cpp (goURL): Compare the URLs without the ref, fixes - wrong reload when opening a tree-like structure (#54358). - - * ecma/kjs_html.cpp (getValueProperty): (#54929) - Fixes for HTMLAnchorElement properties, return empty strings instead - of null, and let "text" return plain text instead of HTML. - - * html/html_elementimpl.cpp (innerText): Fix for empty elements. - -2003-10-27 David Faure <faure@kde.org> - - * khtmlview.cpp (dispatchKeyEvent): Generate keypress, keydown and keyup - events for the document if no node has the focus. Factorized code in - a new method, dispatchKeyEvent. Cleaned up old unused variables d->lastKeyNode - and d->lastKeyPress. #42918 and #43072, google keys. - - * xml/dom_elementimpl.h (checkQualifiedName): Added bool nameCanBeEmpty, - and fixed again: DOM3 now says a null qualifiedName is allowed in createDocument. - * xml/dom_docimpl.cpp (createDocument): Pass nameCanBeEmpty=true, to - allow the commonly found implementation.createDocument("","",null); (#61650) - - * html/html_elementimpl.cpp (HTMLElementImpl): Fixed wrong m_htmlCompat - value when parsing HTML in HTML-compat mode, get it from the doc's setting. - * xml/dom_docimpl.cpp (createElementNS): Always set m_htmlCompat, now that - the HTMLElementImpl constructor sets it too. - - * xml/dom_nodeimpl.cpp (handleLocalEvents): fixed crash when a mouse event - is dispatched via the DOM API, with initMouseEvent, dispatchEvent. - -2003-10-26 David Faure <faure@kde.org> - - * xml/dom_docimpl.cpp (getId): added bool lookupHTML, set to true in most - places, to fix e.g. css selector broken by my previous change, and set - to false from createElementNS to still skip the lookup for HTML tags. - -2003-10-25 Dirk Mueller <mueller@kde.org> - - * rendering/render_form.h (class RenderFileButton): use KURLRequester - instead of just doing the stuff on our own in a worse way (#62328). - Also provides completion, yay! :) - - right now <input type=file> has severe rendering errors which I blame - on the widget painting code from Lars. - -2003-10-25 David Faure <faure@kde.org> - - Make use of the ID scheme much more for elements, getting rid of - m_localName and m_tagName strings in XMLElementImpl. - - * misc/maketags: switched to lowercase; uppercase is the html-compat case only. - * html/html_elementimpl.cpp(tagName,localName): lookup name from id, with proper - handling of m_htmlCompat vs xhtml difference. - * html/html_elementimpl.h: removed m_xhtml bool, becomes bitfield in NodeImpl instead, - since XML elements can be in "HTML compat" mode too (uppercased). - * xml/dom_docimpl.cpp (DocumentImpl): XML namespace is id 0 again - * xml/dom_docimpl.cpp (createElementNS): check for exceptions when - setting the prefix; set HTML compat mode in the element if necessary. - Only look for the ID if it's an XML element - if not, createHTMLElement did it. - * xml/dom_docimpl.cpp (getId): Do not apply the html-compat case hacks - when looking up elements. This is done by createElement[NS] now. Left - the code for the attribute lookup only. - * xml/dom_elementimpl.cpp (XMLElementImpl::XMLElementImpl): ctor only needs id and prefix. - Removed m_tagName and m_localName member vars in all methods, used id lookups instead. - * xml/dom_elementimpl.cpp (cloneNode): fixed namespace being lost. Factorized - common code with HTMLElementImpl in finishCloneNode. - * xml/dom_nodeimpl.*: added m_htmlCompat bool in bitfield. Only makes - sense for elements currently, but would take more memory in ElementImpl. - - * xml/dom_docimpl.cpp (DOMImplementationImpl::createDocument): - DOM3 now says a null qualifiedName is allowed in createDocument. - -2003-10-24 Dirk Mueller <mueller@kde.org> - - * css/html4.css (marquee): don't set display: none, it might - contain useful text (its used on ebay.com for every second article). - - * html/html_formimpl.cpp/h: revert this commit: - * remove lot's of addCSSProperty calls and moved the - definitions to the default style sheet. This made - it possible to remove quite some code in html_formimpl.cpp - - * rendering/render_form.cpp (updateFromElement): Fix coolo's commit (#61347) - -2003-10-24 Germain Garand <germain@ebooksfrance.org> - * General scope of the change: - - bring back the NodeImpl_NSMask bits in id() for Attributes and XMLElements - => the cssselector need that to support CSS namespaces in an efficient way. - => fixes CSS selection for XML documents - - change Nodeimpl::Id registration mechanism: - We tried to solve the DOM1/DOM2 NS methods compatibility problems - by registering the qualifiedName. However, this is doomed to fail in other - places that relies on Ids because prefixes aren't encoded in the Ids and - are irrelevant for NS nodes identification. - Instead, use registered aliases (see DocumentImpl::getId) to solve - compatibility issues while maintaining a sound Id system. - - * css/cssstyleselector.cpp: change getId calls - - * css/parser.y: ditto - - * dom/dom_doc.cpp: change getId/implementation method calls - (DOM::Document::createElement): check DOM exceptions - (DOM::Document::createElementNS): ditto - (DOM::Document::createAttribute): ditto - (DOM::Document::createAttributeNS): ditto - (DOM::Document::createDocumentFragment): ditto - - * dom/dom_element.cpp: change getId/implementation method calls - - * dom/dom_node.cpp: ditto - - * html/html_documentimpl.cpp: - (HTMLDocumentImpl::createElement): check DOM exceptions - - * html/html_documentimpl.h: ditto - - * html/html_elementimpl.cpp: use m_xhtml bool flag to distinguish HTML/XHTML elements - - * html/html_elementimpl.h: - (DOM::HTMLElementImpl::HTMLElementImpl): init m_xhtml - (DOM::HTMLElementImpl::setXHtmlElement): set/retrieve m_xhtml (non-virtual) - (DOM::HTMLElementImpl::isXHtmlElement): ditto - - * html/htmlparser.cpp: change getValue/setValue syntax - - * html/htmltokenizer.h: change getId calls - - * rendering/render_frames.cpp: ditto - - * xml/dom_docimpl.cpp: IdNameMapping is now a struct holding QDicts. getId dynamically choses - the struct to be used based on it's first argument (ElementId, AttributeId, NamespaceId) - (DOMImplementationImpl::createDocument): factor qualifiedName checking code - (DocumentImpl::createAttribute): New. Mirrors DOM. - (DocumentImpl::createAttributeNS): ditto - (DocumentImpl::createElementNS): check exceptions in qualifiedName - - * xml/dom_docimpl.h: IdNameMapping change - - * xml/dom_elementimpl.h: - * xml/dom_elementimpl.cpp: - (AttrImpl::AttrImpl): no more m_namespaceURI, now dynamically retrieved with getName(NamespaceId...) - (AttrImpl::nodeName): now built from prefix + localName - (ElementImpl::setAttributeNS): check exceptions on qualifiedName - (XMLElementImpl::XMLElementImpl): no more m_namespaceURI, now dynamically retrieved with getName(NamespaceId...) - restore m_id (as in 3_1_BRANCH) for correct CSS selection on XML Elements - - * xml/dom_elementimpl.h: - (DOM::checkQualifiedName): inline DOM helper, factoring qualifiedName exception checkings - (DOM::splitPrefixLocalName): inline DOM helper, avoids scanning qualifiedName multiple times - - * xml/dom_nodeimpl.h: - (DOM::NodeImpl::): enum IdType for (ElementId, AttributeId, NamespaceId) - - * xml/xml_tokenizer.cpp: - (XMLHandler::startElement): use the qualifiedName instead of the localName - in order to know the prefix if any. - -2003-10-24 Stephan Kulow <coolo@kde.org> - - * rendering/render_form.cpp (updateFromElement): support disabled attribute - select option (#61347) - -2003-10-24 Lars Knoll <knoll@kde.org> - * Make the <button> element work correctly - * remove lot's of addCSSProperty calls and moved the - definitions to the default style sheet. This made - it possible to remove quite some code in html_formimpl.cpp - -2003-10-24 Lars Knoll <knoll@kde.org> - * A few more small fixes to Html event handlers. We can unfortunately not - easily get the events for <select> and <textarea> correct, as they use - either modality or QScrollView (but doesn't work in 3.1.x neither). - -2003-10-24 Lars Knoll <knoll@kde.org> - * Hopefully fixed most repainting problems. - -2003-10-24 Lars Knoll <knoll@kde.org> - * Fix most of the form related regressions introduced by my - changes earlier on. onfoo event handlers are now fired in a - way that is mostly compatible to IE for <input type=xxx>. - Other form elements might still need some work. - -2003-10-23 Lars Knoll <knoll@kde.org> - * Fix nodeAtPoint for elements that have no child (makes links on images - work again) - * Fix null pointer dereferencing in RenderLayer::updateHoverActiveState - -2003-10-23 Stephan Kulow <coolo@kde.org> - - * html/htmltokenizer.cpp (processListing): do not discard all white space - in textareas (#62076) - - * css/cssstyleselector.cpp (applyRule): if the first font isn't found, - continue looking (#60556) - -2003-10-22 Dirk Mueller <mueller@kde.org> - - * rendering/render_box.cpp (calcAbsoluteHorizontal): fixed containing block - height calculation for position:fixed. - (paintBackground): fix negative backgroundx/y positioning. fix - background-attachment: fixed (http://placenamehere.com/safari/fixedbgtest.html) - avoid division by zero. fix table background positioning (#49336). - http://c133.org/testcase1.html, http://c133.org/testcase2.html, - http://c133.org/testcase3.html - - * misc/loader.cpp (pixmap_size/valid_rect): return useful values for the error image - to avoid that its shown as null pixmap (#42233). - -2003-10-21 Dirk Mueller <mueller@kde.org> - - * rendering/render_list.cpp (calcListValue): skip anonymous block while searching - for the <ol> block. Thanks to the Maksim regression testengine. - - * rendering/render_object.cpp (setOverhangingContents): refine assert to avoid - crash on bananalotto.com. Adjust to changed containingBlock() behavior. - - * html/html_listimpl.cpp (attach): fix thinko. Revert Safari merge which - broke <ul><p><li>. Thanks to Maksim for noticing. - - * rendering/render_list.cpp (calcListValue): handle <ul><p><li> again. - - * rendering/render_box.cpp (repaint): revert commit which introduced another - 4 bytes overhead. No need to waste memory here. - - * rendering/render_object.cpp (setStyle): schedule repaint on old object - when the new outline is going to be thinner. - - * rendering/render_form.cpp (RenderCustomButton): Remove. - - * rendering/render_replaced.cpp (RenderReplaced::checkSelectionPoint): Remove. - RenderObject/RenderBox'es implementation *must* work. No need to add useless code. - - * rendering/render_replaced.cpp (RenderReplacedBlock): Remove. - - * html/html_formimpl.cpp (HTMLButtonElement::attach): Remove. - - * rendering/render_box.cpp (calcWidth): implement CSS min-width/max-width - support (#12994). - - * rendering/render_block.cpp (renderName): don't crash when style() is 0L. - - * rendering/render_object.h (class RenderObject): remove isRunIn() / isCompact(). - We can use style()->display() here, and it is inconsistent with the other is* - members which usually do not access style() (that can be 0L). - - * rendering/render_object.cpp (createObject): create RenderBlock for INLINE_BLOCK. - - * css/html4.css (BUTTON/LEGEND): set display: inline-block. - - * css/cssstyleselector.cpp (styleForElement): handle COMPACT/RUN_IN/INLINE_BLOCK - (applyRule): handle INLINE_BLOCK. - - * css/makeprop: don't export getPropertyName. declare it. - - * xml/dom_nodeimpl.cpp (replaceChild/appendChild/removeChild): - Reverting patch which invalidated layout on child when it was attached. - -2003-10-20 Lars Knoll <knoll@kde.org> - - * fix most issues with the layering code by - merging and adapting safaris implementation - * fix a bug in RenderBox::calcAbsoluteVertical(), that probably - has destroyed a lot of layouts. - * don't add the scroll offset in RenderBox::paintBoxDecorations() - -2003-10-20 Dirk Mueller <mueller@kde.org> - - * css/html4.css (UL,MENU,DIR,OL): don't set flow-around-floats (#53429). - -2003-10-20 David Faure <faure@kde.org> - - * xml/dom_docimpl.cpp (defaultEventHandler): set current target to 0 for window events. - * ecma/kjs_events.cpp (handleEvent): Window events like window.onload window.onresize etc. - must have 'this' set to the window (not to the document). - -2003-10-20 Dirk Mueller <mueller@kde.org> - - * rendering/render_form.cpp (layout): set IE-CSS-extension style palette - on <textarea> scrollbars (#56532). - - * rendering/render_layer.cpp (showScrollbar): set IE-CSS-extension styled - palette on the overflow=scroll/auto scrollbars. - - * rendering/render_frames.cpp (close): reorder. updateWidget() might - delete this. - - * html/html_formimpl.cpp (value): return the DOM "defaultValue" when we have - no renderer. - (encoding): submit textarea even if display=none (#49829) - - * ecma/kjs_dom.cpp (getValueProperty): add bindings to clientWidth/Height, - scrollWidth/height,offsetTop/left,offsetWidth/Height,offsetParent. - (getValueProperty): don't map body to canvas (#59676). - - * split up borderSpacing into a horizontal and vertical border spacing so that - tables can have assymmetric spacing. - - * html/htmlparser.cpp (insertNode): don't set css list position on stray <li> - elements. its an inherited attribute, and might mess up rendering of nested - <ul>/<ol> constructs. - - * rendering/render_list.cpp: ListItems are no longer floats. - -2003-10-19 Dirk Mueller <mueller@kde.org> - - * html/html_headimpl.cpp (childrenChanged): make sure that we respect the media - attribute of <style> (#47786). - -2003-10-19 Harri Porten <porten@kde.org> - - * html/html_documentimpl.cpp (setCookie): use latin1 encoding to - have a 1:1 translation of the lowest Unicode row. - -2003-10-19 Dirk Mueller <mueller@kde.org> - - * html/htmltokenizer.cpp (parseEntity): when entity is terminated and result - is not-ascii, require ending ';'. khtmltests/html/parser/obscure_entity_tokenizing.html - -2003-10-18 Dirk Mueller <mueller@kde.org> - - * css/cssstyleselector.cpp (checkOneSelector): fix selector list matching - when substrings match in a word. we have to test if we matched a complete word, - otherwise its not a match. - - * html/htmltokenizer.cpp (parseEntity): don't do the magic-unterminated-entities-IE-hack - when inside a tag. fixes <a href="/foo.html§ion=2"> - - * html/htmlparser.cpp (insertNode): fix typo (#66200). - - * rendering/render_table.cpp (seekCell): make static. check for out of bounds. - * rendering/render_table.cpp (RenderTableSection::checkSelectionPoint): fix - brain damage (#66198). - -2003-10-14 David Faure <faure@kde.org> - - * misc/htmltags.in, html/htmlparser.cpp, html/dtd.cpp: added very basic - support for <ilayer>, much like <layer>, as a generic block element. - Fixes sites looking for such elements by ID, like www.sp ort1.de's diashow. - -2003-10-14 Wilco Greven <greven@kde.org> - * ecma/kjs_window.cpp (tryCall): Scroll should do the same as - ScrollTo, not ScrollBy. #63301 - -2003-10-14 David Faure <faure@kde.org> - - * xml/dom_nodeimpl.cpp (handleLocalEvents): Fixed infinite loop in - NodeImpl::handleLocalEvents due to braindead QPtrList behavior. #61623. - -2003-10-10 Harri Porten <porten@kde.org> - - * ecma/kjs_html.cpp: title and alt attributes should never be null - - * ecma/kjs_html.cpp (toString): make use of alt attribute if set - -2003-10-09 Dirk Mueller <mueller@kde.org> - - * ecma/kjs_dom.cpp (putValueProperty): don't scroll layer when there is is nothing - to scroll. (David Hyatt) - - * rendering/render_object.cpp (scrollHeight): return overflowHeight() not contentHeight() - by default. (David Hyatt) - - * rendering/render_object.cpp (scrollWidth): return overflowWidth() not contentWidth() - by default. (David Hyatt) - - * html/htmltokenizer.cpp (parseEntity): Improve tokenizing of unterminated - entities. - -2003-10-09 Leo Savernik <l.savernik@aon.at> - - * rendering/render_object.{cpp,h} (getTextDecorationColors), - rendering/render_text.{cpp,h} (InlineTextBox::paintDecoration, RenderText::paintObject), - rendering/render_style.{cpp,h}, - css/cssstyleselector.cpp (styleForElement): - fixed text-decoration issues by merging RenderObject::getTextDecorationColor - from Safari, changed CSSStyleSelector appropriately - - * rendering/render_text.{cpp,h} (InlineTextBox::paintDecoration), - rendering/font.{cpp,h} (drawText, drawDecoration): - fixed drawing of text decoration within selected text - - * rendering/render_text.cpp (paintObject), - rendering/font.{cpp,h} (drawText): - fixed overspilling of selection with unusual line-height configurations - -2003-10-07 Germain Garand <germain@ebooksfrance.org> - - * khtmlview.cpp (viewportMouseReleaseEvent/viewportMouseMoveEvent): forward - meaningful peripheral mouse events to focused widget to restore correct - mouse handling in proxied widgets. #65216 (selection part) - - * rendering/render_replaced.cpp (handleEvent): - map MOUSEOUT/MOUSEOVER DOM events to Enter/Leave events. Honours stacking - while mouse buttons are pressed. - - * html/html_formimpl.cpp (defaultEventHandler): forward MOUSEOUT/MOUSEOVER - to handleEvent - -2003-10-06 Daniel Molkentin <molkentin@kde.org> - - * ecma/kjs_window.cpp: added window.open targets _self and replace - -2003-10-06 David Faure <faure@kde.org> - - * ecma/kjs_html.cpp: Fixed crash due to onload=null in the onload event - handler (#57195). - -2003-10-06 Dirk Mueller <mueller@kde.org> - - * khtml_part.cpp (jScript): remove broken #ifdef'ery. - (popupMenu): add a QGuardedPtr to detect the case when we're destructed - before the popup menu is closed. avoid accessing any "this" then. - #43389 - - * khtmlview.cpp (viewportMousePressEvent): reorder afaik unrelated code - to make the one call entering a local event loop the last, so that we can - cleanly exit when it the view is already deleted. - - * khtml_ext.cpp (KHTMLPopupGUIClient): pass QObject parent - -2003-10-05 Dirk Mueller <mueller@kde.org> - - * ecma/kjs_css.cpp (tryPut): Fix CSSValue refcounting error causing major - memory leak. - - * dom/css_value.cpp/h (class CSSStyleDeclaration): make accessors const. Add - binary compatibility wrappers. - -2003-10-04 Germain Garand <germain@ebooksfrance.org> - - * rendering/render_replaced.cpp (baselinePosition): use setPos to adjust - layer position if needed. Fix relatively positioned widgets not being painted. - -2003-10-04 Dirk Mueller <mueller@kde.org> - - * html/htmlparser.h (class KHTMLParser): keep "current" NodeImpl referenced - to avoid ugly crashes when DHTML deletes the node while we're still parsing. - #57020, testcase alja.html - - -2003-10-04 Dirk Mueller <mueller@kde.org> - - * khtml_settings.cc (init): change default for JS debugger to off. - - * html/html_elementimpl.cpp (createContextualFragment): Fix memory - leaks. Adjust code style. Adjust return to avoid dangling return leaks. - - * xml/dom2_rangeimpl.cpp (createContextualFragment): adjust return type. - - * html/html_elementimpl.h (class HTMLElementImpl): adjust return type. - - * dom/dom2_range.cpp (createContextualFragment): Adjust to DocumentFragment - return type. - - |