2003-01-17 Richard Williamson Fixed 3126141. Allow pages with plugins to be cached. This is safe because plugins are cleanly started/stopped when their containing views are added/removed from the view hierarchy. Reviewed by trey. * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canCachePage): ======= 2003-01-17 David Hyatt The new table code from Lars. Also includes bug fixes for percentage height children in table cells, for positioning of tables, and for width distribution of percentage width cells. Reviewed by darin * ForwardingHeaders/rendering/table_layout.h: Added. * WebCore.pbproj/project.pbxproj: * khtml/css/cssparser.cpp: (StyleBaseImpl::parseValue): * khtml/css/cssstyleselector.cpp: * khtml/css/cssvalues.c: (findValue): * khtml/css/cssvalues.h: * khtml/css/cssvalues.in: * khtml/css/html4.css: * khtml/dom/html_table.cpp: (HTMLTableElement::insertRow): (HTMLTableElement::deleteRow): (HTMLTableRowElement::insertCell): (HTMLTableRowElement::deleteCell): (HTMLTableSectionElement::insertRow): (HTMLTableSectionElement::deleteRow): * khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::HTMLTableElementImpl): (HTMLTableElementImpl::setTFoot): (HTMLTableElementImpl::setTBody): (HTMLTableElementImpl::createTHead): (HTMLTableElementImpl::createTFoot): (HTMLTableElementImpl::insertRow): (HTMLTableElementImpl::deleteRow): (HTMLTableElementImpl::addChild): (HTMLTableElementImpl::parseAttribute): (HTMLTableElementImpl::attach): (HTMLTablePartElementImpl::parseAttribute): (HTMLTableSectionElementImpl::HTMLTableSectionElementImpl): (HTMLTableSectionElementImpl::~HTMLTableSectionElementImpl): (HTMLTableSectionElementImpl::insertRow): (HTMLTableSectionElementImpl::deleteRow): (HTMLTableSectionElementImpl::numRows): (HTMLTableRowElementImpl::rowIndex): (HTMLTableRowElementImpl::insertCell): (HTMLTableRowElementImpl::deleteCell): (HTMLTableCellElementImpl::HTMLTableCellElementImpl): (HTMLTableCellElementImpl::parseAttribute): (HTMLTableCellElementImpl::attach): (HTMLTableColElementImpl::HTMLTableColElementImpl): (HTMLTableColElementImpl::parseAttribute): * khtml/html/html_tableimpl.h: * khtml/html/htmlparser.cpp: (KHTMLParser::insertNode): (KHTMLParser::getElement): * khtml/rendering/bidi.cpp: (RenderFlow::layoutInlineChildren): * khtml/rendering/render_body.cpp: (RenderBody::availableHeight): * khtml/rendering/render_body.h: * khtml/rendering/render_box.cpp: (RenderBox::contentWidth): (RenderBox::contentHeight): (RenderBox::calcReplacedWidth): (RenderBox::calcReplacedHeight): (RenderBox::availableHeight): (RenderBox::calcAbsoluteVertical): * khtml/rendering/render_box.h: * khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren): (RenderFlow::leftOffset): (RenderFlow::rightOffset): (RenderFlow::addOverHangingFloats): (RenderFlow::calcBlockMinMaxWidth): (RenderFlow::calcMinMaxWidth): * khtml/rendering/render_form.cpp: * khtml/rendering/render_form.h: * khtml/rendering/render_frames.cpp: * khtml/rendering/render_frames.h: * khtml/rendering/render_object.cpp: (RenderObject::createObject): (RenderObject::paddingTop): (RenderObject::paddingBottom): (RenderObject::paddingLeft): (RenderObject::paddingRight): * khtml/rendering/render_object.h: * khtml/rendering/render_replaced.cpp: (RenderReplaced::calcMinMaxWidth): * khtml/rendering/render_root.cpp: (RenderRoot::RenderRoot): (RenderRoot::layout): (RenderRoot::paintObject): * khtml/rendering/render_root.h: * khtml/rendering/render_style.cpp: (StyleSurroundData::StyleSurroundData): * khtml/rendering/render_style.h: * khtml/rendering/render_table.cpp: (RenderTable::RenderTable): (RenderTable::~RenderTable): (RenderTable::setStyle): (RenderTable::position): (RenderTable::addChild): (RenderTable::calcWidth): (RenderTable::layout): (RenderTable::setCellWidths): (RenderTable::paint): (RenderTable::calcMinMaxWidth): (RenderTable::splitColumn): (RenderTable::appendColumn): (RenderTable::colElement): (RenderTable::recalcSections): (RenderTable::removeChildNode): (RenderTable::dump): (RenderTableSection::RenderTableSection): (RenderTableSection::~RenderTableSection): (RenderTableSection::detach): (RenderTableSection::setStyle): (RenderTableSection::addChild): (RenderTableSection::ensureRows): (RenderTableSection::addCell): (RenderTableSection::setCellWidths): (RenderTableSection::calcRowHeight): (RenderTableSection::layoutRows): (RenderTableSection::paint): (RenderTableSection::recalcCells): (RenderTableSection::clearGrid): (RenderTableSection::removeChildNode): (RenderTableSection::dump): (RenderTableRow::RenderTableRow): (RenderTableRow::detach): (RenderTableRow::setStyle): (RenderTableRow::addChild): (RenderTableRow::removeChildNode): (RenderTableRow::dump): (RenderTableRow::layout): (RenderTableCell::RenderTableCell): (RenderTableCell::detach): (RenderTableCell::updateFromElement): (RenderTableCell::getCellPercentageHeight): (RenderTableCell::setCellPercentageHeight): (RenderTableCell::calcMinMaxWidth): (RenderTableCell::baselinePosition): (RenderTableCell::setStyle): (RenderTableCell::paint): (RenderTableCell::paintBoxDecorations): (RenderTableCell::dump): (RenderTableCol::RenderTableCol): (RenderTableCol::updateFromElement): (RenderTableCol::addChild): (RenderTableCol::dump): * khtml/rendering/render_table.h: * khtml/rendering/table_layout.cpp: Added. (FixedTableLayout::FixedTableLayout): (FixedTableLayout::~FixedTableLayout): (FixedTableLayout::calcWidthArray): (FixedTableLayout::calcMinMaxWidth): (FixedTableLayout::layout): (AutoTableLayout::AutoTableLayout): (AutoTableLayout::~AutoTableLayout): (AutoTableLayout::recalcColumn): (AutoTableLayout::fullRecalc): (AutoTableLayout::calcMinMaxWidth): (AutoTableLayout::calcEffectiveWidth): (AutoTableLayout::insertSpanCell): (AutoTableLayout::layout): (AutoTableLayout::calcPercentages): * khtml/rendering/table_layout.h: Added. * khtml/xml/dom_docimpl.cpp: (DocumentImpl::createHTMLElement): * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::NodeImpl): (NodeImpl::dump): * khtml/xml/dom_nodeimpl.h: 2003-01-17 Darin Adler Reviewed by Dave. - clean room rewrite of QCString::operator<<. * kwq/KWQCString.mm: (operator<<): Rewrote it. - update format of render tree dumping for real use * khtml/rendering/render_layer.h: Added elementList(). * khtml/rendering/render_layer.cpp: (RenderLayer::elementList): Added. * kwq/KWQRenderTreeDebug.cpp: (operator<<): Added an overload for writing out QRect. (writeIndent): Added. (write): Use the overload for QRect, also reorganize to dump layers. (writeLayers): Use this to dump the layers. (externalRepresentation): Call writeLayers instead of write. 2003-01-17 Darin Adler Reviewed by Ken. - removed unused KWQDrawUtil code * ForwardingHeaders/qdrawutil.h: Emptied this file out. * kwq/KWQDrawUtil.h: Removed. * kwq/KWQDrawUtil.mm: Removed. * WebCore.pbproj/project.pbxproj: Removed KWQDrawUtil. 2003-01-17 Darin Adler Reviewed by John. - updated copyright to include expat copyrights * WebCore.pbproj/project.pbxproj: Added expat copyrights on the end. Got text of copyrights from Acknowledgments.rtf in WebBrowser. 2003-01-16 Maciej Stachowiak Reviewed by Dave. - fixed 3148141 - crash in KJS::WindowFunc::tryCall leaving certain site * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setView): If setting the view to nil and we have a document, detach the document. This means that we are removing a frame from the tree, so we want to run it's onUnload handler now, rather than later when things are no longer fully hooked up. 2003-01-16 Richard Williamson Fixed 3148932. Account for zero width characters in
 fixed-width optimization.
        
        Reviewed by hyatt.

        * khtml/rendering/render_text.cpp:
        (RenderText::widthFromCache):
        
        Reviewed by Richard (written by Mike S.)  'Clean' implementations of these
        functions that were too similar to the Qt implementations.
        
        * kwq/KWQString.mm:
        (QString::left):
        (QString::right):
        (QString::mid):

2003-01-16  Maciej Stachowiak  

        Reviewed by Darin.

	- fixed 3144771 - Crash in KJS::WindowFunc::tryCall leaving www.smogcheck.org

	I fixed this by making sure we couldn't send the unload event twice, which was
	happening before in certain circumstances.
	
        * khtml/khtml_part.cpp:
        (KHTMLPart::closeURL): When emitting load event, note that unload
	event has not yet been sent.
        (KHTMLPart::checkEmitLoadEvent): Note when unload event has been
	sent to avoid sending it twice.
        * khtml/khtmlpart_p.h:

2003-01-16  Darin Adler  

        Reviewed by John.

	- added an API for dumping the external representation of the render tree for testing

        * kwq/KWQRenderTreeDebug.h: Added.
        * kwq/KWQRenderTreeDebug.cpp: Added.

        * kwq/KWQTextStream.h: Added more overloads for operator<<.
        * kwq/KWQTextStream.mm: (QTextStream::operator<<): Implemented them.

        * kwq/WebCoreBridge.h: Added renderTreeAsExternalRepresentation.
        * kwq/WebCoreBridge.mm: (-[WebCoreBridge renderTreeAsExternalRepresentation]): Added.

	- removed remnants of an earlier more-naive cut at this same sort of thing
	- removed ForwardingHeaders from the project since that doesn't really help Project Builder

        * kwq/WebCoreTestController.h: Removed.
        * kwq/WebCoreTestController.m: Removed.
        * WebCore.exp: Removed WebCoreTestController.
        * WebCore-combined.exp: Re-generated.
        * WebCore.pbproj/project.pbxproj: Removed WebCoreTestController and ForwardingHeaders.

=== Safari-52 ===

2003-01-15  Trey Matteson  

	3144458 - user's credentials are present in a form that is revisited via b/f or history

	We now never save/restore password fields.  Also if the page has a form with a password
	field that would be submitted securely, we do not save anything on that page.

        Reviewed by Darin.

        * force-clean-timestamp:  PB isn't smart enough to know what to rebuild.
        * khtml/html/html_formimpl.cpp:
        (HTMLFormElementImpl::formWouldHaveSecureSubmission):  Utility function.
        (HTMLFormElementImpl::attach):  Tell doc if we've added a secure form.
        (HTMLFormElementImpl::parseAttribute):  Tell doc if form became secure.
        (HTMLInputElementImpl::state):  Assert that we never save password fields.
        (HTMLInputElementImpl::restoreState):  Assert that we never restore password fields.
        (HTMLInputElementImpl::attach):  Tell doc if we've added a password field.
        * khtml/html/html_formimpl.h:
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::DocumentImpl):  Init count of secure forms, password fields.
        (DocumentImpl::passwordFieldAdded):
        (DocumentImpl::passwordFieldRemoved):
        (DocumentImpl::hasPasswordField):  New methods to count password fields.
        (DocumentImpl::secureFormAdded):
        (DocumentImpl::secureFormRemoved):
        (DocumentImpl::hasSecureForm):  New methods to count secure forms.
        * khtml/xml/dom_docimpl.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::canCachePage):   Never let pages with password fields in the page cache.
        (KWQKHTMLPart::saveDocumentState):  Do not save form state if page has a form with
	a password field that would be submitted securely

2003-01-15  Darin Adler  

        Reviewed by Ken.

	- fixed problem where Content-Type was coming in with suffixes like "charset"

        * kwq/WebCoreBridge.h: Add contentType and refresh parameters, and remove "headers"
	parameter, from openURL method.
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): Get the
	content type from a parameter, and the refresh header from a separate parameter rather
	than extracting both from a headers dictionary.

2003-01-14  Darin Adler  

        Reviewed by Maciej.

	- fixed 3147036 -- words separated only by newlines are getting rammed together on XML page
	- fixed 3147032 -- preformatted text is missing much whitespace on XML page

        * khtml/xml/xml_tokenizer.cpp: (XMLHandler::characters): Don't try to strip whitespace at all,
	because it needs to be in the DOM.

	- add support for more MIME types

        * khtml/khtml_part.cpp: (KHTMLPart::begin): Add "application/xml" and "application/xhtml+xml".

2003-01-14  David Hyatt  

	Make FOUC work with XML.
	
        Reviewed by darin.

        * khtml/html/html_baseimpl.cpp:
        (HTMLBodyElementImpl::attach):
        * khtml/xml/dom_xmlimpl.cpp:
        (ProcessingInstructionImpl::ProcessingInstructionImpl):
        (ProcessingInstructionImpl::checkStyleSheet):
        (ProcessingInstructionImpl::isLoading):
        (ProcessingInstructionImpl::sheetLoaded):
        (ProcessingInstructionImpl::setStyleSheet):
        * khtml/xml/dom_xmlimpl.h:

2003-01-14  Darin Adler  

        Reviewed by Maciej.

	- first cut at XML parsing with expat

        * khtml/khtml_part.cpp: (KHTMLPart::begin): Remove APPLE_CHANGES and use the XML
	code for text/xml documents.

        * WebCore.pbproj/project.pbxproj: Added the ForwardingHeaders to the project.
	Added new QXml files, removed old ones.

        * kwq/KWQXml.h: Removed.
        * kwq/KWQXml.mm: Removed.

        * kwq/KWQXmlAttributes.h: Added.
        * kwq/KWQXmlAttributes.mm: Added.
        * kwq/KWQXmlDefaultHandler.h: Added.
        * kwq/KWQXmlDefaultHandler.mm: Added.
        * kwq/KWQXmlSimpleReader.h: Added.
        * kwq/KWQXmlSimpleReader.mm: Added.

        * kwq/KWQString.h: Add fromUtf8 functions.
        * kwq/KWQString.mm: (QString::fromUtf8): Added. Simple implementation just
	calls fromStringWithEncoding. We may need something more efficient later,
	at least for all-ASCII text.

	- other changes

        * khtml/khtml_part.h: Fix spelling of occurrence.

        * khtml/misc/decoder.cpp: (Decoder::decode): Turn on Japanese auto-detect.
	It doesn't seem to work yet, but this does no harm.

2003-01-13  Richard Williamson   

        Fix for 3139120.  This patch was contributed by Mitz Pettel.  It correctly
        handles the visually ordered encodings.  The patch also picks up changes
        from kde that accounts for european numbers correctly in bidiReorderLine().
        
        Reviewed by Dave.

        * khtml/html/html_formimpl.cpp:
        (HTMLFormElementImpl::formData):
        * khtml/misc/decoder.cpp:
        (Decoder::setEncoding):
        * khtml/rendering/bidi.cpp:
        (RenderFlow::bidiReorderLine):
        * khtml/rendering/bidi.h:

2003-01-13  Darin Adler  

        Reviewed by Ken.

	- fixed 3143781 -- submitting the same form twice doesn't work properly
	(example at directory.apple.com)

        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::submitForm): Only run the "don't submit the same
	form twice" logic when the form is one that affects the frame that the form is in.

2003-01-12  Darin Adler  

        * WebCorePrefix.h: Needed to touch this file since we now have plain C source (expat).
        * kwq/KWQKHTMLPart.cpp: Reformatted a bit.

2003-01-12  Darin Adler  

        Reviewed by Maciej.

	- first step towards integrating expat for XML support: make it compile and link

        * kwq/KWQXml.mm: (QXmlSimpleReader::parse): Put in a placeholder that calls expat.
	Mainly just used to make sure we link.

        * WebCore.pbproj/project.pbxproj: Added expat files.

        * expat/COPYING: Added.
        * expat/Changes: Added.
        * expat/MANIFEST: Added.
        * expat/README: Added.
        * expat/expat_config.h: Added.
        * expat/lib/ascii.h: Added.
        * expat/lib/asciitab.h: Added.
        * expat/lib/expat.h: Added.
        * expat/lib/iasciitab.h: Added.
        * expat/lib/internal.h: Added.
        * expat/lib/latin1tab.h: Added.
        * expat/lib/nametab.h: Added.
        * expat/lib/utf8tab.h: Added.
        * expat/lib/xmlparse.c: Added.
        * expat/lib/xmlrole.c: Added.
        * expat/lib/xmlrole.h: Added.
        * expat/lib/xmltok.c: Added.
        * expat/lib/xmltok.h: Added.
        * expat/lib/xmltok_impl.c: Added.
        * expat/lib/xmltok_impl.h: Added.
        * expat/lib/xmltok_ns.c: Added.

2003-01-12  Darin Adler  

        Reviewed by Dave.

	- minor cleanup of plug-in-related classes in ECMA directory

        * khtml/ecma/kjs_navigator.cpp: Remove unneeded PluginBase member functions
	ref() and deref(). Instead just make Plugin and MimeType both derive from
	PluginBase and remove APPLE_CHANGES.
        (Navigator::getValueProperty): Don't use "Konqueror" for the fallback.
	Just return Undefined() for that case since we will never reach it anyway.

	- simplify the logic in khtmlMoveMouseEvent so it's easier to decipher

        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::khtmlMouseMoveEvent): By merging two
	identical if statements, the logic of this function becomes much clearer.

2003-01-12  Darin Adler  

        Reviewed by Dave.

	- fixed a bunch of places where KHTML did !x == y instead of !(x == y) or x != y.

        * khtml/css/cssstyleselector.cpp: (CSSStyleSelector::applyRule):
        * khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
        * khtml/misc/loader.cpp: (Cache::requestImage), (Cache::requestStyleSheet):
        * khtml/rendering/render_flow.cpp: (RenderFlow::setStyle):
	Changed !x == y to x != y. In each case, there's a reason that this does not create
	any problem in practice, which is why we didn't rush to get this in for beta 1.

2003-01-11  Darin Adler  

        Reviewed by John.

	- fixed 3144789 -- reproducible crash in KHTMLParser::freeBlock on a page at www.library.arizona.edu

        * khtml/html/htmlparser.cpp: (KHTMLParser::finished): Call freeBlock here rather than
	waiting until the parser is destroyed. This fixes the bug because when the parser is
        destroyed, the document is already destroyed, so we have a dangling current pointer to an
	already-destroyed node.

	- fixed 3142024 -- crash/hang/assert on java.sun.com in HTMLTokenizer

	The bug was caused by an erroneous clicked signal that was being emitted by
	QListBox at just the wrong time.

        * kwq/KWQListBox.h: Added _changingSelection boolean.
        * kwq/KWQListBox.mm: (QListBox::QListBox): Set _changingSelection to false.
        (QListBox::setSelected): Set _changingSelection to true.
        (-[KWQListBoxTableViewDelegate tableViewSelectionDidChange:]): Only emit the "clicked"
	signal if _changingSelection is false.

        * khtml/html/htmltokenizer.h: Add debug-only boolean inWrite.
        * khtml/html/htmltokenizer.cpp: (HTMLTokenizer::HTMLTokenizer): Set inWrite to false.
	(HTMLTokenizer::write): Set inWrite to true.
	(HTMLTokenizer::~HTMLTokenizer): Assert that inWrite is not true.

2003-01-11  Darin Adler  

        Reviewed by Dave.

	- fixed 3136944 -- mouseover feedback over non-mapped part of image map claims
	link to current page

        * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]):
	Change code so we won't call completeURL and complete a null ATTR_HREF (which is distinct
	from an empty ATTR_HREF). Did a similar cleanup on the image code.

2003-01-09  Darin Adler  

        * WebCore.pbproj/project.pbxproj: Add the year 2003, remove CFBundleIconFile,
	bump marketing version to 0.8.1 and version to 52u to keep up with the branch,
	remove NSHumanReadableCopyright, remove NSPrincipalClass, remove SKIP_INSTALL
	that was in the Info plist instead of project settings.

        * English.lproj/InfoPlist.strings: Update to match above.

2003-01-09  Maciej Stachowiak  

        Reviewed by Dave.

	- fixed Radar 3143013 - hang trying to load spiny.com/software
	
        * khtml/rendering/render_table.cpp:
        (RenderTable::layoutRows): Check for the render root as a loop
	termination condition, to avoid an infinite loop for an absolute
	but non-fixed table cell.

2003-01-09  David Hyatt  

	The "flow-mode" quirk for lists is just that - a quirk, and should
	not be applied when in strict mode.

	Fixes diveintomark.org's navigation bar on the front page (issue #2
	on his list).
	
        Reviewed by darin and maciej

        * khtml/css/html4.css:

2003-01-08  David Hyatt  

	Finish the KONQBLOCK removal and make sure that table rows and
	cells encountered inside stray content cause the stray content to
	close so that the rows and cells can be part of the table.

	This fixes the versiontracker bug.  #3142319.
	
        Reviewed by darin.

        * khtml/html/htmlparser.cpp:
        (KHTMLParser::reset):
        (isTableRelatedTag):
        (KHTMLParser::insertNode):
        (KHTMLParser::popOneBlock):
        * khtml/html/htmlparser.h:

2003-01-08  David Hyatt  

	Revert the redundancy that dirk noticed.

	Fixing issue #3 on diveintomark.org's list, which actually involved
	merging calcAbsoluteVertical to KHTML's trunk and then fixing
	a math error in the bottom computation.
	
        Reviewed by NOBODY (OOPS!).

        * khtml/html/html_baseimpl.cpp:
        (HTMLBodyElementImpl::parseAttribute):
        * khtml/rendering/render_box.cpp:
        (RenderBox::calcAbsoluteVertical):

2003-01-08  Chris Blumenberg  

	Fixed: 3111432 - Support OBJECT tags with type text/plain or text/html

        Reviewed by dave.

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::createPart): call [_bridge frameRequiredForMIMEType:] to determine if we should create a plug-in view or iframe 
        * kwq/WebCoreBridge.h: add frameRequiredForMIMEType:

2003-01-08  Trey Matteson  

	3136213 - Page loads stopped by backtracking don't finish when moving forward

	We need to remove the entry from the KHTML image cache when a load
	has an error, so it will be reloaded next time we try.	

        Reviewed by Darin,

        * khtml/misc/loader.cpp:
        (Loader::slotFinished):  Remove cache entry on job error.

2003-01-08  Darin Adler  

        Reviewed by Dave.

	- fixed 96/72 dpi snafu; no need to do something different for AppKit,
          because it always uses pixel sizes, not font size

        * khtml/css/css_valueimpl.cpp:
        * khtml/css/css_valueimpl.h:
        * khtml/css/cssstyleselector.cpp:
        * kwq/KWQPaintDeviceMetrics.mm:
	Rolled out change from 2002-12-05

	- a cut at implementing heretofore unimplemented QTextStream classes

        * kwq/KWQTextStream.h:
        * kwq/KWQTextStream.mm:
	First cut implementation.

2003-01-05  Maciej Stachowiak  

        Reviewed by no one cause I'm just changing copyright strings.

        * WebCore.pbproj/project.pbxproj: Added non-Apple copyrights to
	copyright strings.
        * English.lproj/InfoPlist.strings: Likewise.

2003-01-05  Darin Adler  

        * Resources/Info.plist: Fix "Apple Compupter" typo.

2003-01-04  Trey Matteson  

	3098388 - Pressing the back button goes back two levels at allmusic.com	

	When processing an assignment to document.location, allow items to be added
	to history.  This parallels the existing treatment of window.location.href.

        Reviewed by Richard, Darin

        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLDocument::putValue):  Pass false for lockHistory arg of scheduleRedirection()

2003-01-04  Richard Williamson   

        I checked in kjs_window.cpp by accident.  The only change
        was a logging printf.  Back out that change.
        
        Reviewed by me.

        * khtml/ecma/kjs_window.cpp:
        (WindowFunc::tryCall):

2003-01-03  Richard Williamson   

        Fix for 3138425. Don't open a new window when document.open() is called
        with < 2 parameters.
        
        Reviewed by darin.

        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLDocFunction::tryCall):
        * khtml/ecma/kjs_window.cpp:
        (WindowFunc::tryCall):

2003-01-03  Richard Williamson   

        Fixed 3138743, 3138678, and 3138854.  Removed the RenderText
        widths cache, replaced it with a much simply monospace character
        cache.  Should be much faster for covered cases too!  Also fixed
        buffer overrun problem causing the crash in 3138854.
        
        Reviewed by darin.

        * khtml/rendering/font.cpp:
        (Font::isFixedPitch):
        * khtml/rendering/font.h:
        * khtml/rendering/render_text.cpp:
        (TextSlave::checkSelectionPoint):
        (RenderText::RenderText):
        (RenderText::setStyle):
        (RenderText::~RenderText):
        (RenderText::shouldUseMonospaceCache):
        (RenderText::cacheWidths):
        (RenderText::widthFromCache):
        (RenderText::trimmedMinMaxWidth):
        (RenderText::calcMinMaxWidth):
        (RenderText::setText):
        (RenderText::width):
        * khtml/rendering/render_text.h:
        * kwq/KWQFont.h:
        * kwq/KWQFont.mm:
        (QFont::isFixedPitch):
        * kwq/WebCoreTextRendererFactory.h:
        * kwq/WebCoreTextRendererFactory.m:
        (-[WebCoreTextRendererFactory isFontFixedPitch:]):

2003-01-03  John Sullivan  
	
	- fixed 3138673 -- reproducible crash in JavaScript

        Reviewed by Darin, OK'ed by Don.

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::setTitle):
	Check for nil view or nil part before dereferencing.

2003-01-03  David Hyatt  

	Fix for percentage table heights.  A check was missing to
	look for a fixed height on the containing block.
	
        Reviewed by darin

        * khtml/rendering/render_table.cpp:
        (RenderTable::layoutRows):

=== Alexander-48 ===

2003-01-02  David Hyatt  

	Fix for 3136473.  s with no specified size should be
	0x0.  They should not be 300x200.  Fixes thinker.org.
	
        Reviewed by john and darin.

        * khtml/rendering/render_frames.cpp:
        (RenderPart::intrinsicWidth):
        (RenderPart::intrinsicHeight):

2003-01-02  Darin Adler  

        Reviewed by Maciej and Trey.

	- fixed 3138063 -- REGRESSION: JavaScript-submitted form activates input type=image (webmail.mac.com)

	JavaScript-submitted forms must not get a submit button activated as return-key-submitted ones do.

        * khtml/html/html_formimpl.h: Add boolean activateSubmitButton parameter to submit.
        * khtml/html/html_formimpl.cpp:
        (HTMLFormElementImpl::prepareSubmit): Pass true for activateSubmitButton.
        (HTMLFormElementImpl::submit): Only activate a button if activateSubmitButton is true.

        * khtml/dom/html_form.cpp: (HTMLFormElement::submit): Pass false for activateSubmitButton.

2003-01-02  David Hyatt  

	Fix for the 3137790.   This patch passes the mouse event x and y as 
	distinct arguments to constructZTree, so that the damageRect can 
	really reflect your clip rect.  
	This allows me to prune out layers that are clipped so
	that if x,y aren't inside the clip rect, the layer doesn't get added to
	the list.

	This patch also makes the "clip" property apply to the element that specifies the clip instead of to the element's kids.  This is ambiguous in the spec, but it turns out other browsers do it this way, so there really is an interpretation that must be followed. :)
        
	Reviewed by darin

        * khtml/rendering/render_layer.cpp:
        (RenderLayer::nodeAtPoint):
        (RenderLayer::constructZTree):
        * khtml/rendering/render_layer.h:

2003-01-02  David Hyatt  

	Fix for bug #3137935.  When a float causes a line to get
	moved down past the float, the line would incorrectly break
	rather than expanding to use the newly-available width.
	
        Reviewed by darin.

        * khtml/rendering/bidi.cpp:
        (RenderFlow::findNextLineBreak):

2003-01-02  Darin Adler  

        Reviewed by John.

	- fixed 3131190 --