1. 20 Dec, 2002 1 commit
    • darin's avatar
      Reviewed by Dave. · 35355e5d
      darin authored
      	- fixed 3129129 -- leak of 820 RenderStyle objects each time we run cvs-base
      
      	The RenderStyle objects were the tip of an iceberg.
      
              I fixed a lot of leaks, but there are still some remaining.
      
      	Note that these changes will make Development builds slower because they disable
      	the arena allocator in favor of assertions that check we are using it correctly.
      	But the changes make Deployment builds slightly faster.
      
              * khtml/html/html_baseimpl.cpp: (HTMLFrameSetElementImpl::attach):
      	Fix a leak in the !isStyleAvailable() case by ref'ing and deref'ing the style.
      
              * khtml/html/html_formimpl.cpp:
              (HTMLFormElementImpl::attach): Fix a leak by getting the style from the render
      	object instead of calling styleForElement again, which makes a new one.
              (HTMLFormElementImpl::parseAttribute): Ditto.
              (HTMLInputElementImpl::attach): Fix a leak by using the style in the local
      	variable rather than calling styleForElement again.
      
              * khtml/html/html_imageimpl.cpp:
              (HTMLImageElementImpl::parseAttribute): Fix a leak by getting the style from the render
      	object instead of calling styleForElement again, which makes a new one.
              (HTMLImageElementImpl::attach): Fix a leak by using the style in the local
      	variable rather than calling styleForElement again.
      
              * khtml/html/html_inlineimpl.cpp: (HTMLBRElementImpl::attach):
      	Fix a leak in the display() == NONE case by ref'ing and deref'ing the style.
      
              * khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::attach): Fix a leak by using
      	the style in the local variable rather than calling styleForElement again.
      
              * khtml/rendering/bidi.cpp:
              (BidiIterator::detach): Added debugging code to detect if someone does a delete directly,
      	which will not deallocate the object because it won't run the correct arena code.
              (BidiIterator::operator delete): Ditto.
              (appendRunsForObject): Fix a leak by detaching bidi iterators when they are removed from
      	the list. The list can't delete them because it doesn't have the arena pointer.
              (deleteMidpoints): Fix a leak by not removing the items from the list until done iterating.
      	The old code would fail to delete half the items.
      
              * khtml/rendering/render_container.cpp:
              (RenderContainer::detach): Detach the continuation here. Before we removed it but did not
      	detach it, which led to a leak.
              (RenderContainer::removeChild): Do not remove the continuation here. If we do, then we can't
      	detach successfully. No one depends on this removing the continuation.
              (RenderContainer::removeLeftoverAnonymousBoxes): Detach the child, don't just delete it.
      	This fixes a leak.
      
              * khtml/rendering/render_flow.cpp: (RenderFlow::removeChild): Detach the child, don't just
      	delete it. This fixes a leak.
      
              * khtml/rendering/render_object.h: Added arenaDelete.
              * khtml/rendering/render_object.cpp:
              (RenderObject::operator delete): Added debugging code to detect if someone does a delete directly,
      	which will not deallocate the object because it won't run the correct arena code.
              (RenderObject::detach): Ditto.
              (RenderObject::arenaDelete): Put the low-level delete here, so that subclasses (RenderWidget)
      	can call it.
      
              * khtml/rendering/render_replaced.h: Add arenaDeref and make deref private so derived classes
      	won't use it by accident.
              * khtml/rendering/render_replaced.cpp:
              (RenderWidget::detach): Use the new arenaDeref instead of deref, since we need to pass the
      	arena pointer in to delete.
              (RenderWidget::resizeWidget): Ditto. Store the arena before calling back, since we can't get it
      	once it's detached from its parent.
              (RenderWidget::eventFilter): Ditto.
              (RenderWidget::arenaDeref): Added. Calls RenderObject's arenaDelete.
      
      	- other changes
      
              * khtml/rendering/render_arena.cpp:
              (RenderArena::allocate): Added debugging code that stores a signature, arena pointer, and size,
      	and uses malloc rather than the arena.
              (RenderArena::free): Check the signature, arena pointer, and size, and use free.
      
              * khtml/rendering/render_layer.cpp:
              (RenderLayer::operator delete): Added debugging code to detect if someone does a delete directly,
      	which will not deallocate the object because it won't run the correct arena code.
              (RenderLayer::detach): Ditto.
              (RenderLayer::RenderLayerElement::operator delete): Ditto.
              (RenderLayer::RenderLayerElement::detach): Ditto.
              (RenderLayer::RenderZTreeNode::operator delete): Ditto.
              (RenderLayer::RenderZTreeNode::detach): Ditto.
      
              * khtml/rendering/render_text.cpp:
              (TextSlave::detach): Added debugging code to detect if someone does a delete directly,
      	which will not deallocate the object because it won't run the correct arena code.
              (TextSlave::operator delete): Ditto.
      
              * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::createContextualFragment):
      	Save one new/delete by using a stack-based HTMLTokenizer and add FIXMEs about
      	some possible leaks I spotted here.
      
              * khtml/rendering/render_list.cpp: (RenderListItem::setStyle): Took out APPLE_CHANGES from around
      	a generally useful bug fix.
      
              * WebCore.pbproj/project.pbxproj: Let Electron be Electron.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35355e5d
  2. 17 Dec, 2002 1 commit
    • darin's avatar
      top level: · fc4fd1d0
      darin authored
              Reviewed by Don and Maciej.
      
              * force-clean-timestamp: Trigger a full build since we are setting
      	MACOSX_DEPLOYMENT_TARGET to 10.2, which requires remaking all PFEs.
      
      Tools:
      
              * Scripts/check-copyright: Added.
      
      JavaScriptCore:
      
              Reviewed by Don and Maciej.
      
      	- fixed 3129115 -- need Apple copyright added to open source documents
      
      	* tons of files: Added our copyright to files we modified, and updated all to standard format.
      
      	- other changes
      
              * JavaScriptCore.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2.
      	Also removed completion.cpp.
              * kjs/completion.cpp: Removed.
              * kjs/completion.h: Made the Completion constructor inline.
      
              * kjs/grammar.y: Removed an obsolete "pretend ifdef". No need to put these in APPLE_CHANGES now.
      
      WebFoundation:
      
              Reviewed by Don and Maciej.
      
              * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
              * WebFoundation.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2.
      
      WebCore:
      
              Reviewed by Don and Maciej.
      
      	- fixed 3129115 -- need Apple copyright added to open source documents
      
      	* tons of files: Added copyright message to files we modified and
      	standardized format of copyrights too.
      
      	- fixed 3129235 -- assert in LRUList visiting apple.com if "Display images" preference is off
      
              * khtml/misc/loader.cpp:
              (Cache::getLRUListFor): Use the first list for 0-sized objects.
              (Cache::removeFromLRUList): Allow 0-sized objects.
      
      	- other changes
      
              * khtml/rendering/render_style.h: Remove bogus unused private constructor.
      
              * kwq/KWQFont.h: Added copy constructor and assignment operator.
              * kwq/KWQFont.mm:
              (QFont::QFont): Copy constructor now retains the NSFont. The old version didn't which could
      	cause retain/release problems.
              (QFont::operator=): Retain the new NSFont and release the old one.
      
              * WebCore.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2.
      
      WebKit:
      
              Reviewed by Don and Maciej.
      
              * WebView.subproj/WebUserAgentSpoofTable.gperf: Added a couple of new domains to the list we
      	spoof as Mac IE, and added comments.
              * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
      
              * WebKit.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2
      
      WebBrowser:
      
              Reviewed by Don and Maciej.
      
      	- fixed 3106686 -- Remove "world leak" debugging window before beta
      
              * Test/PageLoadTestController.m:
              (-[PageLoadTestController windowDidLoad]): (Not part of the bug fix.) Changed the combo
      	box so it automatically sizes to the number of pltsuite files so we don't have to edit
      	the nib all the time.
              (-[PageLoadTestController anyWindowWillClose:]): Don't do any world leak test when the
      	window closes. The one in the page load test window is still there.
      
              * Debug/DebugUtilities.m: (-[NSApplication validate_toggleAlwaysCheckForWorldLeaks:]):
      	Don't enable or check the debug menu item at all. Put an ifdef in so we can turn it on later.
      
      	- fixed 3124310 -- remove "app refuses to launch" code before shipping
      
              * main.m: (main): Remove all the licensing code.
      
      	- other changes
      
              * BrowserNSNetServiceExtras.m: Made all locally-defined-and used functions static
      	so we would know if any were unused and for cleanliness.
              (-[NSNetService hostName:andPort:]): Remove some silly assertions.
              (decode_name): Change printf for errors to ERROR.
              (decode_srv): Ditto.
      	(decode_txt): Removed because it's unused.
              (skip_question): Ditto.
              (MyDictionaryKeyHashCallBack): Removed silly assertion.
              (MyCreateCFDictionaryFromTXT): Ditto.
      
              * WebBrowser.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fc4fd1d0
  3. 13 Dec, 2002 1 commit
    • rjw's avatar
      Fixed 3127310 and 3127920. · 3f425be4
      rjw authored
              Implemented findWordBoundary.  We now correctly detect word boundaries.
              This function makes use of carbon unicode utilities.
      
              With help from hyatt, made selection correctly account for render
              continuations.  This fixes many of the 'unable to select' issues.
      
              Reviewed by trey and hyatt.
      
              * khtml/khtml_events.cpp:
              (khtml::MouseEvent::offset):
              * khtml/khtml_part.cpp:
              (findWordBoundary):
              (KHTMLPart::khtmlMousePressEvent):
              (KHTMLPart::khtmlMouseMoveEvent):
              * khtml/rendering/render_object.cpp:
              (RenderObject::checkSelectionPoint):
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_text.cpp:
              (RenderText::checkSelectionPoint):
              * khtml/rendering/render_text.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f425be4
  4. 12 Dec, 2002 1 commit
    • rjw's avatar
      WebKit: · d45e194e
      rjw authored
              Reviewed by trey.  This change was actually made by trey.  It
              make the "Empty Cache" menu release the page cache.
      
              * AppController.m:
              (-[AppController confirmEmptyCache:]):
      
      WebCore:
              Fixed 3116584.  Made letter-spacing, word-spacing, and text-decoration play
              well together.
              Reviewed by hyatt.
      
              Changes made with trey to enable to release of page cache from the
              "Empty Cache" menu item in Alex.
              Reviewed by trey.
      
              * khtml/rendering/font.cpp:
              (Font::drawLineForText):
              (Font::drawText):
              * khtml/rendering/font.h:
              * khtml/rendering/render_text.cpp:
              (TextSlave::paintDecoration):
              (RenderText::paintObject):
              * khtml/rendering/render_text.h:
              * kwq/KWQPainter.h:
              * kwq/KWQPainter.mm:
              (QPainter::drawLineForText):
              * kwq/WebCoreBridge.h:
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge dealloc]):
              (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]):
              (-[KWQPageState invalidate]):
              (-[KWQPageState dealloc]):
              * kwq/WebCoreTextRenderer.h:
      
      WebKit:
              Changes to fix 3116584.
              Reviewed by hyatt.
      
              Changes to support emptying the page cache from the
              "Empty Cache" menu.
              Reviewed by trey.
      
              * ChangeLog:
              * History.subproj/WebBackForwardList.h:
              * History.subproj/WebBackForwardList.m:
              (-[WebBackForwardList clearPageCache]):
              * History.subproj/WebHistoryItem.m:
              (+[WebHistoryItem _scheduleReleaseTimer]):
              (-[WebHistoryItem _scheduleRelease]):
              (+[WebHistoryItem _releasePageCache:]):
              (-[WebHistoryItem setHasPageCache:]):
              * WebCoreSupport.subproj/WebTextRenderer.m:
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _opened]):
      
      Tests:
              * html/letterspacing.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d45e194e
  5. 04 Dec, 2002 1 commit
    • hyatt's avatar
      Fix shroudedisles.com table misalignment by removing more\ · 4948ef9f
      hyatt authored
      	bogus rules from html4.css.
      
      	Fix forums on macosx.com by implementing support for the align
      	attribute on the <P> tag.
      
      	Implement min-width and max-width for block level floating
      	and normal flow elements.
      
      	Fix event handling so that :hover notifications get through to
      	objects inside floats.
      
              Reviewed by: rjw
      
              * khtml/css/html4.css:
              * khtml/html/html_blockimpl.cpp:
              (HTMLParagraphElementImpl::parseAttribute):
              * khtml/html/html_blockimpl.h:
              * khtml/rendering/render_box.cpp:
              (RenderBox::calcWidth):
              (RenderBox::calcWidthUsing):
              (RenderBox::calcHeight):
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::layoutBlockChildren):
              (RenderFlow::nodeAtPoint):
              * khtml/rendering/render_flow.h:
              * khtml/rendering/render_frames.cpp:
              (RenderFrameSet::nodeAtPoint):
              * khtml/rendering/render_frames.h:
              * khtml/rendering/render_image.cpp:
              (RenderImage::nodeAtPoint):
              * khtml/rendering/render_image.h:
              * khtml/rendering/render_object.cpp:
              (RenderObject::nodeAtPoint):
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_root.cpp:
              (RenderRoot::calcHeight):
              * khtml/rendering/render_style.cpp:
              (StyleBoxData::StyleBoxData):
              * khtml/rendering/render_text.cpp:
              (RenderText::nodeAtPoint):
              * khtml/rendering/render_text.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4948ef9f
  6. 19 Nov, 2002 1 commit
    • hyatt's avatar
      Implement phased painting to correct the paint order of blocks, · c12f0487
      hyatt authored
      	floats, and inlines.
      
              * khtml/rendering/render_body.cpp:
              (RenderBody::paintBoxDecorations):
              * khtml/rendering/render_body.h:
              * khtml/rendering/render_box.cpp:
              (RenderBox::paint):
              (RenderBox::paintBoxDecorations):
              (RenderBox::paintBackground):
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_br.h:
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::paint):
              (RenderFlow::paintObject):
              (RenderFlow::paintFloats):
              (RenderFlow::addChild):
              * khtml/rendering/render_flow.h:
              * khtml/rendering/render_html.cpp:
              (RenderHtml::setStyle):
              (RenderHtml::paint):
              (RenderHtml::paintBoxDecorations):
              * khtml/rendering/render_html.h:
              * khtml/rendering/render_image.cpp:
              (RenderImage::setStyle):
              (RenderImage::paintObject):
              * khtml/rendering/render_image.h:
              * khtml/rendering/render_layer.cpp:
              (RenderLayer::paint):
              (RenderLayer::nodeAtPoint):
              * khtml/rendering/render_list.cpp:
              (RenderListItem::paint):
              (RenderListItem::paintObject):
              (RenderListMarker::paint):
              (RenderListMarker::paintObject):
              * khtml/rendering/render_list.h:
              * khtml/rendering/render_object.cpp:
              (RenderObject::RenderObject):
              (RenderObject::paintBorder):
              (RenderObject::paintOutline):
              (RenderObject::paint):
              (RenderObject::dump):
              (RenderObject::setStyle):
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_replaced.cpp:
              (RenderReplaced::paint):
              (RenderWidget::setStyle):
              (RenderWidget::paintObject):
              * khtml/rendering/render_replaced.h:
              * khtml/rendering/render_root.cpp:
              (RenderRoot::paint):
              (RenderRoot::paintObject):
              * khtml/rendering/render_root.h:
              * khtml/rendering/render_table.cpp:
              (RenderTable::paint):
              (RenderTableCell::RenderTableCell):
              (RenderTableCell::setStyle):
              (RenderTableCell::paint):
              (RenderTableCell::paintBoxDecorations):
              * khtml/rendering/render_table.h:
              * khtml/rendering/render_text.cpp:
              (TextSlave::paintSelection):
              (TextSlave::paintDecoration):
              (TextSlave::paintBoxDecorations):
              (RenderText::paintObject):
              (RenderText::paint):
              (RenderText::paintTextOutline):
              * khtml/rendering/render_text.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2752 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c12f0487
  7. 17 Nov, 2002 1 commit
    • hyatt's avatar
      Add support for specifying whether repaint should be immediate or · 7d5a4793
      hyatt authored
      	not.  Default to async for now to maintain current behavior.
      
      	For clipped object repainting (e.g., livepage.apple.com and mrskin)
      	switch to immediate repainting, since this makes the marquees
      	faster, stops dropping updates, and keeps the hover effects and
      	painting on the rest of the page fast (since the marquee rect doesn't
      	get unioned with links or images that you roll over).
      
              * khtml/rendering/render_box.cpp:
              (RenderBox::repaint):
              (RenderBox::repaintRectangle):
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_html.cpp:
              (RenderHtml::repaint):
              * khtml/rendering/render_html.h:
              * khtml/rendering/render_object.cpp:
              (RenderObject::setLayouted):
              (RenderObject::repaintRectangle):
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_root.cpp:
              (RenderRoot::repaintRectangle):
              (RenderRoot::repaint):
              * khtml/rendering/render_root.h:
              * khtml/rendering/render_table.cpp:
              (RenderTableRow::repaint):
              (RenderTableCell::repaintRectangle):
              (RenderTableCell::repaint):
              * khtml/rendering/render_table.h:
              * khtml/rendering/render_text.cpp:
              (RenderText::repaint):
              * khtml/rendering/render_text.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2719 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7d5a4793
  8. 16 Nov, 2002 1 commit
    • hyatt's avatar
      Rewrite the calculation of min and max width for <pre>s. This · 80296ca2
      hyatt authored
      	is the second stage of the whitespace rewrite (third stage
      	will be to stop morphing newlines).
      
      	This should fix a bunch of bugs, e.g., especially if you ever
      	did the following:
      	<td><pre><span>foo</span>
      	   more text after the newline</pre></td>
      
      	The new code now properly handles building up the correct min/max
      	width for the <pre>.
      
      	If anyone recalls seeing any bugs like this, let me know and
      	I can close them.
      
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::calcInlineMinMaxWidth):
              * khtml/rendering/render_text.cpp:
              (RenderText::trimmedMinMaxWidth):
              (RenderText::calcMinMaxWidth):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2712 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      80296ca2
  9. 13 Nov, 2002 3 commits
    • darin's avatar
      - fixed 3100895 -- REGRESSION: Crash (was assertion) on http://www.w3.org/Style/CSS/ · 53a8ad15
      darin authored
              * khtml/rendering/render_text.h: Add an optional arena parameter to deleteSlaves.
              * khtml/rendering/render_text.cpp:
              (RenderText::detach): Pass the render arena in to deleteSlaves.
              (RenderText::deleteSlaves): Use the passed-in arena.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      53a8ad15
    • darin's avatar
      WebFoundation: · 82240090
      darin authored
              * Misc.subproj/WebAssertions.m: (vprintf_stderr_objc):
      	Don't use displayableString. Makes us able to build on Panther.
      
              * WebFoundation.pbproj/project.pbxproj: Project Builder wanted to touch this.
      
      WebCore:
      
      	- fixed another crash on http://www.w3.org/Style/CSS/, but still not done
      
              * khtml/rendering/render_box.cpp: (RenderBox::setStyle): Call renderArena()
      	from RenderObject rather than going at the document directly. Safer because
      	it works even when we don't have a node yet.
              * khtml/rendering/render_flow.cpp: (RenderFlow::addChild): Ditto.
              * khtml/rendering/render_layer.cpp:
              (RenderLayer::paint): Ditto.
              (RenderLayer::nodeAtPoint): Ditto.
              (RenderLayer::constructZTree): Ditto.
              * khtml/rendering/render_list.cpp:
              (RenderListItem::setStyle): Ditto.
              * khtml/rendering/render_text.cpp:
              (RenderText::deleteSlaves): Ditto.
              (RenderText::position): Ditto. This is the one that actually crashed.
      
              * khtml/misc/makeattrs: Fixed handling of failure case.
              * khtml/misc/maketags: Ditto.
      
              * WebCore.pbproj/project.pbxproj: Project Builder wanted to touch this.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82240090
    • darin's avatar
      - fixed 3100895 -- REGRESSION: Assertion on http://www.w3.org/Style/CSS/ · aed62356
      darin authored
      	A few arena-related fixes.
      
              * khtml/rendering/bidi.h: Don't define the operator new without the arena parameter.
      	That way, we get a link failure if we use it by accident, rather than an assert at runtime.
      	It would be even better to get a compile-time error, but I don't know how to make that happen.
              * khtml/rendering/render_layer.h: Ditto.
              * khtml/rendering/render_object.h: Ditto.
              * khtml/rendering/render_text.h: Ditto.
      
              * khtml/rendering/render_container.cpp:
              (RenderContainer::addChild): Create the RenderTable with the appropriate arena.
              (RenderContainer::insertPseudoChild): Create the RenderFlow objects with the appropriate arena.
      
              * khtml/rendering/render_text.cpp: (RenderText::deleteSlaves): Don't try to get the arena
      	when there are no slaves. This can happen after the element is nil, and in that case we will
      	do a nil-dereference.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aed62356
  10. 12 Nov, 2002 1 commit
    • hyatt's avatar
      This patch lands a rewrite of whitespace-handling in the · 33f8d493
      hyatt authored
      	layout engine and adds support for the CSS2 white-space
      	property.
      
      	It also includes a rewrite of inlines' min/max width
      	calculations (for both flow inlines and raw text).
      
      	A problem with <form> margins has been fixed (this is a
      	regression I caused with my collapsing margin checkin).
      
              * WebCore.pbproj/project.pbxproj:
              * khtml/css/html4.css:
              * khtml/html/dtd.cpp:
              (DOM::checkChild):
              * khtml/html/html_baseimpl.cpp:
              (HTMLBodyElementImpl::attach):
              (HTMLFrameElementImpl::attach):
              (HTMLFrameSetElementImpl::attach):
              (HTMLHtmlElementImpl::attach):
              (HTMLIFrameElementImpl::attach):
              * khtml/html/html_formimpl.cpp:
              (HTMLFormElementImpl::HTMLFormElementImpl):
              (HTMLInputElementImpl::attach):
              (HTMLSelectElementImpl::attach):
              (HTMLTextAreaElementImpl::attach):
              * khtml/html/html_formimpl.h:
              * khtml/html/html_imageimpl.cpp:
              (HTMLImageElementImpl::attach):
              * khtml/html/html_inlineimpl.cpp:
              (HTMLBRElementImpl::attach):
              * khtml/html/html_objectimpl.cpp:
              (HTMLAppletElementImpl::attach):
              (HTMLEmbedElementImpl::attach):
              (HTMLObjectElementImpl::attach):
              * khtml/html/htmlparser.cpp:
              (KHTMLParser::reset):
              (KHTMLParser::parseToken):
              (KHTMLParser::insertNode):
              (KHTMLParser::popBlock):
              (KHTMLParser::popOneBlock):
              * khtml/html/htmlparser.h:
              * khtml/html/htmltokenizer.cpp:
              (HTMLTokenizer::addPending):
              (HTMLTokenizer::write):
              * khtml/misc/arena.cpp: Added.
              (CeilingLog2):
              (InitArenaPool):
              (ArenaAllocate):
              (ArenaGrow):
              (FreeArenaList):
              (ArenaRelease):
              (FreeArenaPool):
              (FinishArenaPool):
              (ArenaFinish):
              * khtml/misc/arena.h: Added.
              * khtml/rendering/bidi.cpp:
              (BidiIterator::detach):
              (throw):
              (BidiIterator::operator delete):
              (appendRunsForObject):
              (appendRun):
              (RenderFlow::bidiReorderLine):
              (deleteMidpoints):
              (RenderFlow::layoutInlineChildren):
              (RenderFlow::findNextLineBreak):
              * khtml/rendering/bidi.h:
              * khtml/rendering/render_arena.cpp: Added.
              (RenderArena::RenderArena):
              (RenderArena::~RenderArena):
              (RenderArena::allocate):
              (RenderArena::free):
              * khtml/rendering/render_arena.h: Added.
              * khtml/rendering/render_box.cpp:
              (RenderBox::setStyle):
              (RenderBox::~RenderBox):
              (RenderBox::detach):
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_br.cpp:
              (RenderBR::RenderBR):
              * khtml/rendering/render_container.cpp:
              (RenderContainer::~RenderContainer):
              (RenderContainer::detach):
              * khtml/rendering/render_container.h:
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::setStyle):
              (RenderFlow::layout):
              (RenderFlow::calcInlineMinMaxWidth):
              (RenderFlow::calcBlockMinMaxWidth):
              (RenderFlow::calcMinMaxWidth):
              (RenderFlow::addChild):
              (RenderFlow::makeChildrenNonInline):
              * khtml/rendering/render_flow.h:
              * khtml/rendering/render_html.cpp:
              (RenderHtml::RenderHtml):
              * khtml/rendering/render_layer.cpp:
              (RenderLayer::~RenderLayer):
              (throw):
              (RenderLayer::operator delete):
              (RenderLayer::detach):
              (RenderLayer::paint):
              (RenderLayer::nodeAtPoint):
              (RenderLayer::constructZTree):
              (RenderLayer::RenderLayerElement::operator delete):
              (RenderLayer::RenderLayerElement::detach):
              (RenderLayer::RenderZTreeNode::operator delete):
              (RenderLayer::RenderZTreeNode::detach):
              * khtml/rendering/render_layer.h:
              * khtml/rendering/render_list.cpp:
              (RenderListItem::setStyle):
              * khtml/rendering/render_object.cpp:
              (throw):
              (RenderObject::operator delete):
              (RenderObject::createObject):
              (RenderObject::renderArena):
              (RenderObject::detach):
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_replaced.cpp:
              (RenderWidget::detach):
              * khtml/rendering/render_replaced.h:
              * khtml/rendering/render_root.cpp:
              (RenderRoot::RenderRoot):
              * khtml/rendering/render_table.cpp:
              (RenderTable::addChild):
              (RenderTable::calcWidth):
              (RenderTable::setCellWidths):
              (RenderTableSection::addChild):
              (RenderTableRow::addChild):
              * khtml/rendering/render_text.cpp:
              (TextSlave::detach):
              (throw):
              (TextSlave::operator delete):
              (TextSlaveArray::TextSlaveArray):
              (RenderText::RenderText):
              (RenderText::~RenderText):
              (RenderText::detach):
              (RenderText::deleteSlaves):
              (RenderText::trimmedMinMaxWidth):
              (RenderText::calcMinMaxWidth):
              (RenderText::position):
              * khtml/rendering/render_text.h:
              * khtml/xml/dom_docimpl.cpp:
              (DocumentImpl::DocumentImpl):
              (DocumentImpl::~DocumentImpl):
              (DocumentImpl::attach):
              (DocumentImpl::detach):
              * khtml/xml/dom_docimpl.h:
              * khtml/xml/dom_nodeimpl.cpp:
              (NodeImpl::detach):
              (NodeImpl::isReadOnly):
              (NodeImpl::previousRenderer):
              * khtml/xml/dom_nodeimpl.h:
              * khtml/xml/dom_stringimpl.cpp:
              * khtml/xml/dom_stringimpl.h:
              * khtml/xml/dom_textimpl.cpp:
              (CharacterDataImpl::containsOnlyWhitespace):
              (TextImpl::attach):
              * khtml/xml/dom_textimpl.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      33f8d493
  11. 24 Oct, 2002 1 commit
    • rjw's avatar
      Fixed many font substitution related bugs, at least including: · 8720c9a0
      rjw authored
              3006966, 3026675, 3071106, and more... (each of these bugs
              has a list of related bugs).
      
              Needs little more cleanup to correctly deal with non base characters.
      
              * WebCoreSupport.subproj/WebTextRenderer.h:
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:]):
              (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
      
              Against Darin's better judgement prevent extra layout when not in live resize.  If
              this introduces any regressions I owe darin a good bottle of wine.
      
              * WebView.subproj/WebDynamicScrollBarsView.m:
              (-[WebDynamicScrollBarsView updateScrollers]):
      
              Updated to reflect new calling parameter semantic of floatCharacterWidths(),
              which now returns the entire array of widths up the last character requested.
      
              * khtml/rendering/render_text.cpp:
              (TextSlave::checkSelectionPoint):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8720c9a0
  12. 15 Oct, 2002 1 commit
    • darin's avatar
      - fixed 3021713 -- text selection background obliterates descenders · 7ea147dc
      darin authored
      	(in www.theregister.co.uk articles)
      	- fixed 3038207 -- Selected link text doesn't draw its link underline
      
              * khtml/rendering/render_text.cpp:
              (TextSlave::printSelection): Don't draw text at all, just draw a selection background.
              (RenderText::printObject): Draw in two passes. Draw the selection background in the
      	first pass, and the text in the second pass. That way pieces of the background won't
      	cover any other text or adornments, like underlines.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7ea147dc
  13. 20 Sep, 2002 1 commit
  14. 13 Sep, 2002 1 commit
    • rjw's avatar
      Made justified text work correctly in khtml for rendering · 83750876
      rjw authored
              and selection.  Optimized selection point calculation by
              only doing characters measurements once.
      
              * khtml/rendering/font.cpp:
              (Font::floatCharacterWidths):
              * khtml/rendering/font.h:
              * khtml/rendering/render_text.cpp:
              (TextSlave::checkSelectionPoint):
              (RenderText::position):
              * kwq/KWQFontMetrics.mm:
              (QFontMetrics::width):
              (QFontMetrics::floatWidth):
              (QFontMetrics::floatCharacterWidths):
              * kwq/KWQPainter.mm:
              (QPainter::drawText):
              * kwq/WebCoreTextRenderer.h:
              * kwq/qt/qfontmetrics.h:
      
              Adding padding and widths buffer to our canonical measurement
              method.  The padding argument is used to 'pad' measurements in
              that same way that drawing is padded.  The widths parameter
              allows a caller to pass a buffer to get all the individual
              character widths for the run of characters in the string.
      
              * Misc.subproj/WebStringTruncator.m:
              (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
              (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
              * WebCoreSupport.subproj/WebTextRenderer.h:
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer widthForCharacters:length:]):
              (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      83750876
  15. 23 Jul, 2002 1 commit
    • darin's avatar
      top level: · c7cde739
      darin authored
              * Tests/kde/kurl-test.cpp: (main): Add a lot of new tests.
      	One of them demonstrates the issue underlying bug 3004818.
      	The others are taken straight from the URI RFC (2396).
              * Tests/kde/kurl-test.chk: Expected results for new tests.
      
              * autogen.sh: Add the new WebCore timestamp file.
      
      WebCore:
      
      	Changes require a make clean because of the Project Builder bug.
      	So I added the "make clean timestamp" hackery.
      
              * .cvsignore: Ignore the new clean timestamp.
              * force-clean-timestamp: Added.
              * Makefile.am: Add rules for making clean happen.
      
              * khtml/html/html_formimpl.cpp:
              (HTMLGenericFormElementImpl::defaultEventHandler): Fix NULL dereference
      	bug in here that I ran into. Code later down in the same function has
      	the check for NULL, so clearly this is just a bug.
      
              * khtml/rendering/font.cpp:
              (Font::drawText): Simplify by using new drawText that takes a QChar array,
      	no need to make a QConstString.
              * khtml/rendering/render_text.cpp:
              (TextSlave::printDecoration): Simplify by using new drawUnderlineForText that
      	takes a QChar array, no need to make a QConstString.
      
              * kwq/WebCoreTextRenderer.h: Change underline-drawing to use a UniChar array.
      
              * kwq/qt/qpainter.h:
              * kwq/KWQPainter.mm:
              (QPainter::drawText): Change to take QChar array instead of a QString, but
      	also discovered a bizarre overloading thing that was happening before and
      	dealt with that by adding a new drawText that still does take a QString.
              (QPainter::drawUnderlineForText): Change to take QChar array.
      
              * kwq/qt/qcolor.h: Mark constructor explicit, so we don't get subtle strangess
      	like where the string to draw was being converted to a QColor.
      
              * khtml/css/cssstyleselector.cpp: No need for APPLE_CHANGES for
      	this change any more.
      
              * kwq/kdecore/kcharsets.h:
              * kwq/KWQKCharsets.mm: Remove unused functions.
      
              * kwq/khtml/khtml_settings.h:
              * kwq/KWQKHTMLSettings.mm: Remove unused functions.
      
              * kwq/qt/qfont.h:
              * kwq/KWQFont.mm: Simplify.
      
              * kwq/KWQPaintDeviceMetrics.mm: Simplify.
      
              * kwq/qt/qtextcodec.h:
              * kwq/KWQtextcodec.mm: (QTextCodec::codecForName): Remove unused parameter.
      
      WebKit:
      
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer drawUnderlineForCharacters:stringLength:atPoint:withColor:]):
      	Change API to take character array instead of a string.
      
              * WebKit.pbproj/project.pbxproj: Took "subproj" off the names of some groups.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c7cde739
  16. 22 Jul, 2002 1 commit
    • darin's avatar
      * khtml/rendering/render_text.cpp: · 1e039cff
      darin authored
              (TextSlave::printSelection): Add comments to APPLE_CHANGES.
              (TextSlave::printDecoration): Add comments to APPLE_CHANGES.
              (TextSlave::checkSelectionPoint): Add comments to APPLE_CHANGES.
      
              * khtml/xml/dom_stringimpl.cpp: Add comments to APPLE_CHANGES.
      
              * khtml/xml/xml_tokenizer.cpp: (XMLTokenizer::end): Remove APPLE_CHANGES.
              * kwq/KWQsignals.mm: Add a new signal dummy function.
      
              * kwq/WebCoreJavaScript.h: Fix header.
              * kwq/WebCoreJavaScript.mm: Fix header.
      
              * kwq/WebCoreSettings.h: Added. Not used yet.
              * kwq/WebCoreSettings.m: Added. Not used yet.
              * WebCore.pbproj/project.pbxproj: Added WebCoreSettings.h and .m.
      
              * English.lproj/InfoPlist.strings: Fixed a spelling error.
      
              * kwq/WebCoreTextRendererFactory.h: Tweak.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1e039cff
  17. 21 Jul, 2002 1 commit
    • darin's avatar
      JavaScriptCore: · 74f6ed62
      darin authored
              * kjs/*: Roll KDE 3.0.2 changes in. Also switch to not using APPLE_CHANGES
      	for some of the changes that we definitely want to contribute upstream.
      
      WebCore:
      
      	* khtml/*: Roll KDE 3.0.2 changes in. Also switch to not using APPLE_CHANGES
      	for some of the changes that we definitely want to contribute upstream.
      
              * WebCore.pbproj/project.pbxproj: Add KWQStyle.mm, remove KWQStyle.h, moving contents
      	into qstyle.h.
      
              * kwq/KWQApplication.mm: (QApplication::globalStrut): Remove _logNotYetImplemented().
      
              * kwq/KWQButton.mm: (QButton::QButton): Use plain release, not autorelease.
              * kwq/KWQComboBox.mm: (QComboBox::init): Use plain release, not autorelease.
              * kwq/KWQListBox.mm: (QListBox::QListBox): Use plain release, not autorelease.
              * kwq/KWQPainter.mm: (QPainter::drawArc): Use plain release, not autorelease.
      
              * kwq/KWQKHTMLPartBrowserExtension.mm: Remove import of KWQKHTMLPartImpl.h, now that
      	it's always part of khtml_part.h.
              * kwq/KWQKHTMLPartImpl.cpp: Simplify.
              * kwq/KWQKHTMLPartImpl.h: Add wrapper to allow multiple inclusion. Don't include
      	khtml_part.h any more, since that file now includes this one to minimize changes to
      	KDE code that needs to get to functions in here.
              * kwq/KWQKHTMLPartImpl.mm:
              (KHTMLPart::onURL), (KHTMLPart::nodeActivated), (KHTMLPart::setStatusBarText):
      	Moved here from khtml_part.cpp.
              * kwq/KWQLoaderImpl.mm: Include khtml_part.h instead of KWQKHTMLPartImpl.h.
      
              * kwq/KWQPushButton.mm:
              (buttonFontMetrics), (QPushButton::fontMetrics): Added. Used by the form code to size buttons.
              * kwq/KWQStyle.mm: Added.
              (QStyle::sizeFromContents): Added. Used by the form code to size buttons.
      
              * kwq/KWQStyle.h: Removed.
              * kwq/qt/qstyle.h: Moved contents of KWQStyle.h in here.
              * kwq/qt/qwidget.h: Include <qstyle.h> rather than KWQStyle.h.
      
              * kwq/WebCoreBridge.mm: (-[WebCoreBridge isFrameSet]): Call straight to impl.
      
              * kwq/kdeui/klineedit.h: Add KLineEdit::frameWidth().
              * kwq/qt/qnamespace.h: Remove GUIStyle, MacStyle, and WindowsStyle.
              * kwq/qt/qpaintdevice.h: Add QInternal, QInternal::Printer, and QPaintDevice::devType().
              * kwq/qt/qpainter.h: Add QPainter::device().
              * kwq/qt/qpushbutton.h: Add QPushButton::fontMetrics().
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      74f6ed62
  18. 28 Jun, 2002 1 commit
    • rjw's avatar
      · 7077c2f4
      rjw authored
              Use float character measurement to determine selection
              region.  Necessary to ensure accuracy of selection
              region.  First step towards weaning khtml off int
              measurements.
      
              * khtml/rendering/font.cpp:
              (Font::floatWidth):
              (Font::floatCharacterWidth):
              * khtml/rendering/font.h:
              * khtml/rendering/render_text.cpp:
              (TextSlave::checkSelectionPoint):
              * kwq/KWQFontMetrics.mm:
              (QFontMetrics::floatWidth):
              (QFontMetrics::floatCharacterWidth):
              * kwq/WebCoreTextRenderer.h:
              * kwq/qt/qfontmetrics.h:
      
              Use float character measurement to determine selection
              region.  Necessary to ensure accuracy of selection
              region.  First step towards weaning khtml off int
              measurements.
      
              * WebCoreSupport.subproj/IFImageRenderer.m:
              (-[IFImageRenderer tileInRect:fromPoint:]):
              Cleaned up use of loadStatus.
              * WebCoreSupport.subproj/IFTextRenderer.m:
              (-[IFTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]):
              (-[IFTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
              (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7077c2f4
  19. 26 Jun, 2002 1 commit
    • rjw's avatar
      Many improvements to selection. More Cocoa like, · 5570ea20
      rjw authored
              normalized all text drawing code paths for selected
              and unselected cases.  Still need to work on
              TextSlave::checkSelectionPoint.  Fixed redraw region
              problems.
      
              khtml redraw the entire visible region when selection changes.
              This could be optimzed.
      
              * khtml/rendering/font.cpp:
              (Font::drawText):
              (Font::width):
              * khtml/rendering/render_text.cpp:
              (TextSlave::printSelection):
              * kwq/KWQPainter.mm:
              (QPainter::drawText):
              (QPainter::selectedTextBackgroundColor):
              * kwq/KWQScrollView.mm:
              (QScrollView::contentsX):
              (QScrollView::contentsY):
              * kwq/WebCoreTextRenderer.h:
              * kwq/qt/qpainter.h:
      
              Many improvements to selection.  More Cocoa like,
              normalized all text drawing code paths for selected
              and unselected cases.
      
              Still need to work on:
              1.  'slow' drawing cases, i.e. runs with non-base characters
                  or runs requiring font substitution.
              2.  Select All menu item.
              3.  Auto scrolling.
      
              * WebCoreSupport.subproj/IFTextRenderer.m:
              (-[IFTextRenderer drawString:atPoint:withColor:]):
              (-[IFTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
              (-[IFTextRenderer slowDrawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:attemptFontSubstitution:]):
              (-[IFTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]):
              (-[IFTextRenderer drawCharacters:length:atPoint:withTextColor:backgroundColor:]):
              (-[IFTextRenderer drawCharacters:length:atPoint:withTextColor:]):
              (-[IFTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5570ea20
  20. 10 Jun, 2002 1 commit
    • darin's avatar
      JavaScriptCore: · f028f81b
      darin authored
      	Merged in changes from KDE 3.0.1.
      
      	* kjs/collector.cpp:
      	* kjs/date_object.cpp:
      	* kjs/function.cpp:
      	* kjs/internal.cpp:
      	* kjs/lookup.h:
      	* kjs/object.cpp:
      	* kjs/operations.cpp:
      	* kjs/regexp.cpp:
      	* kjs/regexp_object.cpp:
      	* kjs/regexp_object.h:
      	* kjs/string_object.cpp:
      	* kjs/testkjs.cpp:
      	* kjs/ustring.cpp:
      	* kjs/value.cpp:
      	* kjs/value.h:
      	Do the merge, and add APPLE_CHANGES as needed to make things compile.
      
      	* kjs/date_object.lut.h: Re-generated.
      
      WebCore:
      
      	Merged in changes from KDE 3.0.1.
      
      	* kwq/kdecore/kurl.h:
      	* kwq/KWQKURL.mm: (operator==): New, needed by some 3.0.1 code.
      
      	* kwq/qt/qpalette.h: Add QPalette::NColorGroups and QColorGroup::NColorRoles.
      	* kwq/KWQPalette.mm: Simplify by getting rid of "private" indirection.
      	(QPalette::color): New, needed by some 3.0.1 code.
      	* kwq/KWQColorGroup.mm: Simplify by getting rid of "private" indirection.
      
      	* kwq/qt/qstring.h:
      	* kwq/KWQString.mm: (QConstString::QConstString): Change parameter to const QChar *
      	to match Qt so we compile.
      
      	* kwq/qt/qtextedit.h:
      	* kwq/KWQTextEdit.mm: (QTextEdit::setTabStopWidth): Add unimplemented placeholder,
      	needed by some 3.0.1 code.
      
      	* kwq/qt/qvaluelist.h:
      	* kwq/KWQValueListImpl.h:
      	* kwq/KWQValueListImpl.mm: Simplify implementation.
      
      	* WebCore-tests.exp: Update for changes in QValueList implementation.
      
      	* kwq/kdecore/klibloader.h: Add include of <kio/global.h> to make something compile.
      
      	* kwq/khtml/java/kjavaappletcontext.h: Add JType and constructor that takes DCOPObject*.
      
      	* kwq/kio/global.h: Add KIO::CacheControl.
      
      	* khtml/css/css_ruleimpl.cpp:
      	* khtml/css/css_ruleimpl.h:
      	* khtml/css/css_stylesheetimpl.cpp:
      	* khtml/css/css_stylesheetimpl.h:
      	* khtml/css/css_valueimpl.cpp:
      	* khtml/css/css_valueimpl.h:
      	* khtml/css/cssparser.cpp:
      	* khtml/css/cssparser.h:
      	* khtml/css/cssstyleselector.cpp:
      	* khtml/css/cssstyleselector.h:
      	* khtml/css/html4.css:
      	* khtml/dom/css_rule.cpp:
      	* khtml/dom/css_rule.h:
      	* khtml/dom/css_stylesheet.cpp:
      	* khtml/dom/css_stylesheet.h:
      	* khtml/dom/css_value.cpp:
      	* khtml/dom/dom2_events.cpp:
      	* khtml/dom/dom2_range.cpp:
      	* khtml/dom/dom2_range.h:
      	* khtml/dom/dom2_views.cpp:
      	* khtml/dom/dom_doc.cpp:
      	* khtml/dom/dom_element.cpp:
      	* khtml/dom/dom_exception.h:
      	* khtml/dom/dom_node.cpp:
      	* khtml/dom/dom_string.cpp:
      	* khtml/dom/dom_text.cpp:
      	* khtml/dom/dom_xml.cpp:
      	* khtml/dom/html_base.cpp:
      	* khtml/dom/html_block.cpp:
      	* khtml/dom/html_document.cpp:
      	* khtml/dom/html_element.cpp:
      	* khtml/dom/html_element.h:
      	* khtml/dom/html_form.cpp:
      	* khtml/dom/html_head.cpp:
      	* khtml/dom/html_image.cpp:
      	* khtml/dom/html_inline.cpp:
      	* khtml/dom/html_list.cpp:
      	* khtml/dom/html_misc.cpp:
      	* khtml/dom/html_object.cpp:
      	* khtml/dom/html_table.cpp:
      	* khtml/ecma/kjs_html.cpp:
      	* khtml/ecma/kjs_proxy.cpp:
      	* khtml/ecma/kjs_traversal.cpp:
      	* khtml/ecma/kjs_window.cpp:
      	* khtml/html/html_baseimpl.cpp:
      	* khtml/html/html_formimpl.cpp:
      	* khtml/html/html_miscimpl.h:
      	* khtml/html/html_objectimpl.cpp:
      	* khtml/html/html_objectimpl.h:
      	* khtml/html/htmlparser.cpp:
      	* khtml/html/htmlparser.h:
      	* khtml/html/htmltokenizer.cpp:
      	* khtml/html/htmltokenizer.h:
      	* khtml/khtml_part.cpp:
      	* khtml/khtmlpart_p.h:
      	* khtml/khtmlview.cpp:
      	* khtml/misc/helper.cpp:
      	* khtml/misc/khtmllayout.h:
      	* khtml/misc/loader.cpp:
      	* khtml/misc/loader.h:
      	* khtml/misc/loader_client.h:
      	* khtml/misc/shared.h: Added.
      	* khtml/rendering/bidi.cpp:
      	* khtml/rendering/break_lines.cpp:
      	* khtml/rendering/font.cpp:
      	* khtml/rendering/render_applet.cpp:
      	* khtml/rendering/render_applet.h:
      	* khtml/rendering/render_container.cpp:
      	* khtml/rendering/render_form.cpp:
      	* khtml/rendering/render_form.h:
      	* khtml/rendering/render_frames.cpp:
      	* khtml/rendering/render_image.cpp:
      	* khtml/rendering/render_object.cpp:
      	* khtml/rendering/render_object.h:
      	* khtml/rendering/render_replaced.cpp:
      	* khtml/rendering/render_replaced.h:
      	* khtml/rendering/render_root.cpp:
      	* khtml/rendering/render_style.cpp:
      	* khtml/rendering/render_style.h:
      	* khtml/rendering/render_table.cpp:
      	* khtml/rendering/render_table.h:
      	* khtml/rendering/render_text.cpp:
      	* khtml/rendering/render_text.h:
      	* khtml/xml/dom2_eventsimpl.h:
      	* khtml/xml/dom2_rangeimpl.h:
      	* khtml/xml/dom2_traversalimpl.cpp:
      	* khtml/xml/dom2_traversalimpl.h:
      	* khtml/xml/dom2_viewsimpl.h:
      	* khtml/xml/dom_docimpl.cpp:
      	* khtml/xml/dom_docimpl.h:
      	* khtml/xml/dom_elementimpl.h:
      	* khtml/xml/dom_nodeimpl.cpp:
      	* khtml/xml/dom_nodeimpl.h:
      	* khtml/xml/dom_stringimpl.cpp:
      	* khtml/xml/dom_stringimpl.h:
      	* khtml/xml/xml_tokenizer.h:
      	Merge in 3.0.1 changes and add APPLE_CHANGES as necessary to get it to compile.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f028f81b
  21. 03 Jun, 2002 1 commit
    • darin's avatar
      * acconfig.h: Remove APPLE_CHANGES (done in compiler invocation), · b95d6c41
      darin authored
      	_KWQ_ (not needed any more), _KWQ_PEDANTIC_ (not needed any more),
      	and _KWQ_IOSTREAM_ (set by KWQDef.h now).
      
      	* configure.in: Remove explict gcc3 and g++3; not needed on Jaguar.
      	Remove APPLE_CHANGES, _KWQ_, _KWQK_PEDANTIC_, and _KWQ_IOSTREAM_.
      	Do an AC_SUBST on COMMON_CFLAGS so the flags are used to generate the
      	.pfe files. Add conditional stuff so that WebCore exports less and
      	the Tests subdirectory is not build in Deployment style builds.
      
      	* Makefile.am: Only build Tests subdir when configure.in says it should.
      
      	* Tests/draw/*: Removed.
      
      	* Tests/qt/qbuffer-test.cpp: (main): Update for QBuffer changes.
      	* Tests/qt/qrect-test.cpp: (main): Remove unused variable.
      
      	* Tools/jersey/README: Fix newlines.
      	* Tools/jersey/html/advanced.html: Fix newlines.
      
      WebCore:
      
      	Get rid of many unneeded APPLE_CHANGES.
      	Also get rid of _KWQ_ and _KWQ_PEDANTIC_.
      
      	* WebCore.exp: Don't export DomShared::ref/deref any more.
      	* WebCore-tests.exp: Changed around as needed due to changes in
      	the classes being tested.
      
      	* khtml/html/htmlparser.cpp:
      	* khtml/html/htmltokenizer.cpp:
      	Simplified APPLE_CHANGES for better merging.
      
      	* khtml/dom/dom_misc.h:
      	* khtml/dom/dom_misc.cpp:
      	* khtml/dom/html_document.cpp:
      	* khtml/khtmlview.cpp:
      	* khtml/ecma/kjs_css.h:
      	* khtml/ecma/kjs_dom.cpp:
      	* khtml/ecma/kjs_dom.h:
      	* khtml/ecma/kjs_window.cpp:
      	* khtml/html/html_formimpl.cpp:
      	* khtml/html/html_objectimpl.cpp:
      	* khtml/misc/helper.cpp:
      	* khtml/rendering/bidi.cpp:
      	* khtml/rendering/render_flow.cpp:
      	* khtml/rendering/render_form.cpp:
      	* khtml/rendering/render_text.cpp:
      	* khtml/xml/xml_tokenizer.h:
      	* kwq/qt/qtextedit.h:
      	Remove now-unneeded APPLE_CHANGES.
      
      	* khtml/misc/loader.cpp: (CachedImage::pixmap): Turned off more of
      	the QMovie code.
      
      	* khtml/html/html_documentimpl.cpp:
      	* khtml/html/htmltokenizer.h:
      	* khtml/xml/dom_elementimpl.h:
      	* kwq/KWQKHTMLPart.mm:
      	Formatting and other minor tweaks.
      
      	* kwq/KWQApplication.mm: (QApplication::sendEvent): Implemented.
      	* kwq/KWQChar.mm: (QChar::direction): Improved implementation.
      
      	* kwq/KWQCollection.h: Removed.
      	* kwq/KWQIcon.h: Removed.
      
      	* kwq/Makefile.am: Removed following files.
      	* kwq/KWQKCompletionBox.mm: Removed.
      	* kwq/KWQKFactory.mm: Removed.
      	* kwq/KWQListBox.mm: Removed.
      	* kwq/KWQKImageIO.mm: Removed.
      
      	* kwq/KWQObject.mm: (QObject::event): Added, does nothing.
      	(QObject::inherits): Put in real implementation (good enough for us).
      
      	* kwq/WCWebDataSource.h: Removed extern declaration of global.
      
      	* kwq/KWQCursor.mm: (QCursor::handle): Made the handle be an
      	NSCursor *.
      
      	* kwq/external.h: Moved [IFWebView setFrameSize:] here.
      	Got rid of IFAnimatedImage.
      
      	* kwq/KWQDef.h: Remove unused Q_INT8, Q_INT16, Q_UINT8, Q_UINT16,
      	QCOORD, WFlags, WId, ASSERT, CHECK_PTR, Q_EXPORT, Q_PACKED,
      	QT_STATIC_CONST, QT_STATIC_CONST_IMPL. Define _KWQ_IOSTREAM_ only
      	when NDEBUG is not defined.
      
      	* kwq/KWQBuffer.mm:
      	* kwq/KWQCString.mm:
      	* kwq/KWQCollection.mm:
      	* kwq/KWQCompletion.h:
      	* kwq/KWQCompletion.mm:
      	* kwq/KWQFrame.h:
      	* kwq/KWQFrame.mm:
      	* kwq/KWQHBox.mm:
      	* kwq/KWQKFileItem.mm:
      	* kwq/KWQKIconLoader.mm:
      	* kwq/KWQKLineEdit.mm:
      	* kwq/KWQKProtocolManager.mm:
      	* kwq/KWQLabel.mm:
      	* kwq/KWQListBox.h:
      	* kwq/KWQMovie.mm:
      	* kwq/KWQWidget.mm:
      	* kwq/KWQxml.mm:
      	* kwq/qt/qbuffer.h:
      	* kwq/kdecore/kdebug.h:
      	* kwq/kdecore/kglobal.h:
      	* kwq/kdecore/kglobalsettings.h:
      	* kwq/kdecore/kiconloader.h:
      	* kwq/kdecore/kstaticdeleter.h:
      	* kwq/kdecore/kstringhandler.h:
      	* kwq/kdeui/kcombobox.h:
      	* kwq/kdeui/kcompletionbox.h:
      	* kwq/kdeui/klineedit.h:
      	* kwq/kdeui/klistbox.h:
      	* kwq/kdeui/kmessagebox.h:
      	* kwq/kio/kfileitem.h:
      	* kwq/kio/kimageio.h:
      	* kwq/kio/kmimetype.h:
      	* kwq/kio/kprotocolmanager.h:
      	* kwq/kio/netaccess.h:
      	* kwq/qt/qxml.h:
      	* kwq/kparts/browserinterface.h:
      	* kwq/kparts/factory.h:
      	* kwq/kparts/part.h:
      	* kwq/qt/qarray.h:
      	* kwq/qt/qcollection.h:
      	* kwq/qt/qcstring.h:
      	* kwq/qt/qcursor.h:
      	* kwq/qt/qdict.h:
      	* kwq/qt/qhbox.h:
      	* kwq/qt/qlabel.h:
      	* kwq/qt/qlist.h:
      	* kwq/qt/qmap.h:
      	* kwq/qt/qmovie.h:
      	* kwq/qt/qobject.h:
      	* kwq/qt/qpaintdevicemetrics.h:
      	* kwq/qt/qpainter.h:
      	* kwq/qt/qpoint.h:
      	* kwq/qt/qradiobutton.h:
      	* kwq/qt/qrect.h:
      	* kwq/qt/qregion.h:
      	* kwq/qt/qscrollview.h:
      	* kwq/qt/qsize.h:
      	* kwq/qt/qstack.h:
      	* kwq/qt/qstringlist.h:
      	* kwq/qt/qtextedit.h:
      	* kwq/qt/qvaluelist.h:
      	* kwq/qt/qvector.h:
      	* kwq/qt/qwidget.h:
      	* kwq/qt/qxml.h:
      	Removed unused stuff.
      
      	* kwq/KWQListBox.mm:
      	* kwq/KWQMapImpl.h:
      	* kwq/KWQMapImpl.mm:
      	* kwq/KWQPainter.mm:
      	* kwq/KWQPoint.mm:
      	* kwq/KWQRadioButton.mm:
      	* kwq/KWQRect.mm:
      	* kwq/KWQRegion.mm:
      	* kwq/KWQScrollBar.h:
      	* kwq/KWQScrollView.mm:
      	* kwq/KWQSize.mm:
      	* kwq/KWQStringList.mm:
      	* kwq/KWQbrowserinterface.mm:
      	Simplified.
      
      	* kwq/kdecore/kurl.h:
      	Added include to match what's expected by clients.
      
      	* kwq/qt/qobjectlist.h: Added. Empty file to make includers happy.
      
      	* kwq/khtml/khtml_printsettings.h: Added. Empty file.
      	* kwq/qt/qobjectlist.h: Added. Empty file.
      
      	* kwq/kio/kssl/ksslkeygen.h: Define just enough to make callers
      	happy.
      
      	* kwq/qt/qobject.h: Added event().
      	* kwq/kparts/part.h: Added bool return type to event().
      	* kwq/qt/qvector.h: Added QGVector base class.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1256 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b95d6c41
  22. 23 May, 2002 1 commit
  23. 21 May, 2002 1 commit
  24. 15 Apr, 2002 1 commit
    • darin's avatar
      Merged KDE 3.0 final code in and: · b70665a4
      darin authored
      JavaScriptCore:
      
      	* kjs/internal.cpp:
      	* kjs/property_map.cpp:
      	* kjs/ustring.h:
      	Removed some unneeded <config.h> includes so we are more similar
      	to the real KDE sources.
      
      	Merged changes from KDE 3.0 final and did some build fixes.
      
      	* JavaScriptCore.pbproj/project.pbxproj: Added nodes2string.cpp.
      
      	* kjs/grammar.*: Regenerated.
      	* kjs/*.lut.h: Regenerated.
      
      WebCore:
      
      	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
      	Remove some minor gratuitous diffs vs. KDE.
      
      	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
              Richard updated to reflect changes in KDE.
      
      	* src/kdelibs/khtml/css/css_valueimpl.cpp:
      	(FontFamilyValueImpl::FontFamilyValueImpl): Fix comment.
      	* src/kdelibs/khtml/css/cssstyleselector.cpp: Remove some gratuitous diffs vs. KDE.
      	* src/kdelibs/khtml/html/html_objectimpl.cpp:
      	(HTMLEmbedElementImpl::parseAttribute): Remove unneeded copy from KWQ's early days.
      	* src/kdelibs/khtml/html/html_tableimpl.cpp:
      	(HTMLTableElementImpl::parseAttribute),
      	(HTMLTablePartElementImpl::parseAttribute): Remove unneeded copy from KWQ's early days.
      	* src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::processToken): Redo the
      	APPLE_CHANGES ifdef here.
      	* src/kdelibs/khtml/khtmlpart_p.h: Update to latest kde.
      	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::KHTMLView): Add ifdef APPLE_CHANGES.
      	(KHTMLView::~KHTMLView): Add ifdef APPLE_CHANGES.
      	(KHTMLView::print): Remove code left in here during merge process.
      	* src/kwq/KWQKHTMLPart.mm: Remove unused setFontSizes(), fontSizes(), and
      	resetFontSizes(). After the merge is landed, remove more.
      	* src/libwebcore.exp: Export updateStyleSelector() for WebKit.
      
      	Fix text to it displays at the right font size.
      
      	* src/kdelibs/khtml/css/cssstyleselector.cpp:
      	(CSSStyleSelector::computeFontSizes): Apply the same SCREEN_RESOLUTION hack here
      	that we do elsewhere.
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::width): Use kMin instead of max (oops).
      	(Font::update): Turn off font database chicanery.
      	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::zoomFactor): Use zoom factor 100, not 1.
      
      	More fixes so text displays (still at wrong font size).
      
      	* src/kdelibs/khtml/rendering/font.cpp: (max): New helper.
      	(Font::drawText): Simplified implementation for now.
      	(Font::width): Simplified implementation for now.
      	* src/kwq/KWQColorGroup.mm: Reinstated QCOLOR_GROUP_SIZE.
      
      	* src/kwq/qt/qfontmetrics.h: Removed charWidth and changed _width to take QChar *.
      	* src/kwq/KWQFontMetrics.mm: Removed charWidth and changed _width to take QChar *.
      
      	Merged changes from KDE 3.0 final. Other fixes to get things compiling.
      
      	* src/kdelibs/khtml/css/css_valueimpl.cpp:
      	(CSSStyleDeclarationImpl::setProperty): Fix unused variable.
      	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::contentsContextMenuEvent):
      	Fix unused variable.
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::drawText), (Font::width),
      	(Font::update): Disable special "nsbp" logic for now. We can reenable it
      	if necessary.
      	* src/kdelibs/khtml/rendering/render_replaced.cpp: Fix mismerge.
      	* src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::nodeAtPoint):
      	Fix unused variable.
      	* src/kwq/KWQApplication.mm: (QDesktopWidget::width), (QApplication::desktop):
      	Fix mismerge.
      	* src/kwq/KWQColorGroup.mm: Fix QCOLOR_GROUP_SIZE.
      	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::lineSpacing): New.
      	(QFontMetrics::width): Remove unused optimization.
      	* src/kwq/qt/qfontmetrics.h: Add lineSpacing().
      
              Merged changes from previous merge pass.
      
              2002-03-25  Darin Adler  <darin@apple.com>
      
              Last bit of making stuff compile and link. Probably will drop the merge now
              and take it up again when it's time to merge in KDE 3.0 final.
      
      	* src/kwq/KWQEvent.mm: (QFocusEvent::reason): New.
      	* src/kwq/KWQPainter.mm: (QPainter::drawText): New overload.
      
              2002-03-25  Darin Adler  <darin@apple.com>
      
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::width): Make it call _width so we
              don't lose the optimization.
      
      	* src/kwq/KWQApplication.mm: (QDesktopWidget::screenNumber): New.
      	(QDesktopWidget::screenGeometry): New.
              (QApplication::style): New.
      	* src/kwq/KWQColorGroup.mm: (QColorGroup::highlight): New.
      	(QColorGroup::highlightedText): New.
      	* src/kwq/KWQFont.mm: (QFont::setPixelSize): New.
      	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::charWidth): New.
      	* src/kwq/KWQKGlobal.mm: (KGlobal::locale): Implement.
              (KLocale::KLocale): New.
      	(KLocale::languageList): New.
      	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::sheetUsed): New.
      	(KHTMLPart::setSheetUsed): New.
              (KHTMLPart::zoomFactor): New.
      	* src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::mediumFontSize): New.
      	* src/kwq/KWQScrollView.mm: (QScrollView::childX): New.
              (QScrollView::childY): New.
      
      	* src/kwq/qt/qapplication.h: style() returns a QStyle &.
      	* src/kwq/qt/qpalette.h: Add Highlight and HighlightedText.
      
              2002-03-24  Darin Adler  <darin@apple.com>
      
              More compiling. Still won't link.
      
      	* src/kdelibs/khtml/khtmlview.cpp: Disable printing and drag and drop code.
      	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
              Temporarily turn off our smarter underlining since it relies on access to the
              string, and TextSlave doesn't have that any more.
      	(RenderText::nodeAtPoint): Get rid of a workaround we don't need any more for
              a bug that was fixed by KDE folks.
      	* src/kwq/KWQApplication.mm: (QApplication::desktop): Make the desktop be a
              QDesktopWidget.
      	* src/kwq/qt/qnamespace.h: Add MetaButton.
      	* src/kwq/qt/qtooltip.h: Add a maybeTip virtual function member and a virtual
              destructor.
      
              2002-03-24  Darin Adler  <darin@apple.com>
      
              Some fixes to get more stuff to compile.
      
      	* src/kdelibs/khtml/ecma/kjs_dom.cpp: (DOMDocument::getValueProperty):
              Don't try to look at the private m_bComplete to display "complete". Just do
              "loading" and "loaded".
              * src/kdelibs/khtml/khtmlpart_p.h: #ifdef this all out for APPLE_CHANGES.
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::update): Add an explicit cast to
              int to avoid float -> int warning.
      	* src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::calcColMinMax):
              Add an explicit cast to int to avoid uint compared with int warning.
      	* src/kdelibs/khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyleSelector):
              Use sheetUsed() and setSheetUsed() functions on KHTMLPart intead of getting
              at private fields the way the real KDE code does.
      
              * src/kwq/KWQKHTMLPart.h: Declare zoomFactor(), sheetUsed(), and setSheetUsed().
      	* src/kwq/KWQStyle.h: Add PM_DefaultFramWidth as another metric.
      	* src/kwq/kdecore/klocale.h: Add languageList().
      	* src/kwq/khtml/khtml_settings.h: Add mediumFontSize().
      	* src/kwq/qt/qapplication.h: Add style() and QDesktopWidget.
      	* src/kwq/qt/qevent.h: Add reason().
      	* src/kwq/qt/qfont.h: Add setPixelSize(int).
      	* src/kwq/qt/qfontmetrics.h: Add charWidth() and _charWidth() functions.
      	* src/kwq/qt/qpainter.h: Add drawText() overload with position parameter.
      	* src/kwq/qt/qpalette.h: Add highlight() and highlightedText().
      	* src/kwq/qt/qscrollview.h: Add childX() and childY().
      
      	* src/kwq/KWQApplication.mm: Change KWQDesktopWidget to QDesktopWidget.
      
      WebKit:
      
      	* WebView.subproj/IFPreferences.h:
      	* WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Remove the old
      	WebKitFontSizes preference.
      	(-[IFPreferences mediumFontSize]), (-[IFPreferences setMediumFontSize:]): New.
      
      	* WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]): Call
      	updateStyleSelector() instead of recalcStyle().
      
              Merged changes from previous merge branch.
      
              2002-03-25  Darin Adler  <darin@apple.com>
      
      	* WebView.subproj/IFPreferences.mm: (+[IFPreferences load]):
              Add WebKitMediumFontSizePreferenceKey.
      
      WebBrowser:
      
      	* Preferences.subproj/TextPreferences.m: (-[TextPreferences defaultFontSize]),
      	(-[TextPreferences setDefaultFontSize:]): Just get and set the new mediumFontSize
      	preference rather than doing the whole fontSizes preference dance.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b70665a4
  25. 21 Mar, 2002 1 commit
  26. 17 Mar, 2002 1 commit
  27. 15 Mar, 2002 2 commits
  28. 14 Mar, 2002 1 commit
  29. 06 Mar, 2002 1 commit
  30. 12 Feb, 2002 1 commit
    • mjs's avatar
      * borrowed-classes.txt: Stopped borrowing QVector, QList, · 20320915
      mjs authored
      	QCollection and QTL.
      
      	Extended tests for QList, QSortedList (to test QList::sort more
      	thoroughly) and QVector. Especially excercise autodeletion
      	semantics and corner cases more thoroughly.
      
      	* Tests/qt/qlist-test.chk:
      	* Tests/qt/qlist-test.cpp: (operator<<), (main):
      	* Tests/qt/qsortedlist-test.chk:
      	* Tests/qt/qsortedlist-test.cpp: (main):
      	* Tests/qt/qvector-test.chk:
      	* Tests/qt/qvector-test.cpp: (operator<<), (printVectorNullTolerant), (main):
      
      	* Tests/qt/qmap-test.cpp (CheckRedBlackRules): Tweak a bit to
      	violate QMap's abstraction for glass-box testing.
      WebCore:
      	Reimplemented QList, QVector and QCollection from
      	scratch. Implemented copy-on-write optimization for QMap.
      
      	Minimally reimplement QCollection.
      
      	* src/kwq/qt/qcollection.h:
      	* src/kwq/KWQCollection.mm: (QCollection::QCollection), (QCollection::operator=),
      	(QCollection::~QCollection), (QCollection::autoDelete),
      	(QCollection::setAutoDelete):
      
      	* src/kwq/qt/qdict.h, src/kwq/qt/qptrdict.h: Include
      	qcollection.h, not _qcollection.h
      
      	Reimplement QList as a doubly-linked list.
      
      	* src/kwq/qt/qlist.h:
      	* src/kwq/KWQListImpl.h:
      	* src/kwq/KWQListImpl.mm: (KWQListImpl::KWQListPrivate::copyList),
      	(KWQListImpl::KWQListPrivate::KWQListPrivate),
      	(KWQListImpl::KWQListPrivate::~KWQListPrivate),
      	(KWQListIteratorImpl::KWQListIteratorPrivate::KWQListIteratorPrivate),
      	(KWQListImpl::KWQListImpl), (KWQListImpl::~KWQListImpl), (KWQListImpl::isEmpty),
      	(KWQListImpl::count), (KWQListImpl::clear), (KWQListImpl::sort),
      	(KWQListImpl::at), (KWQListImpl::insert), (KWQListImpl::remove),
      	(KWQListImpl::removeFirst), (KWQListImpl::removeLast), (KWQListImpl::removeRef),
      	(KWQListImpl::getLast), (KWQListImpl::current), (KWQListImpl::first),
      	(KWQListImpl::last), (KWQListImpl::next), (KWQListImpl::prev),
      	(KWQListImpl::take), (KWQListImpl::append), (KWQListImpl::prepend),
      	(KWQListImpl::containsRef), (KWQListImpl::assign), (KWQListImpl::addIterator),
      	(KWQListImpl::removeIterator), (KWQListIteratorImpl::KWQListIteratorImpl),
      	(KWQListIteratorImpl::~KWQListIteratorImpl), (KWQListIteratorImpl::count),
      	(KWQListIteratorImpl::toFirst), (KWQListIteratorImpl::toLast),
      	(KWQListIteratorImpl::current), (KWQListIteratorImpl::operator--),
      	(KWQListIteratorImpl::operator++), (KWQListIteratorImpl::operator=):
      
      	Reimplement QVector in terms of CFArray.
      
      	* src/kwq/qt/qvector.h:
      	* src/kwq/KWQVectorImpl.h:
      	* src/kwq/KWQVectorImpl.mm: (KWQVectorImpl::KWQVectorPrivate::KWQVectorPrivate),
      	(KWQVectorImpl::KWQVectorPrivate::~KWQVectorPrivate),
      	(KWQVectorImpl::KWQVectorImpl), (KWQVectorImpl::~KWQVectorImpl),
      	(KWQVectorImpl::clear), (KWQVectorImpl::isEmpty), (KWQVectorImpl::count),
      	(KWQVectorImpl::size), (KWQVectorImpl::remove), (KWQVectorImpl::resize),
      	(KWQVectorImpl::insert), (KWQVectorImpl::at), (KWQVectorImpl::assign),
      	(KWQVectorImpl::KWQVectorImpl::swap):
      
      	Implemented copy-on-write optimization for QMap. This had the
      	pleasant side effect of improving the separation between pointer
      	manipulation and key/value manipulation.
      
      	* src/kwq/qt/qmap.h:
      	* src/kwq/KWQMapImpl.h:
      	* src/kwq/KWQMapImpl.mm: (KWQMapImpl::KWQMapPrivate::KWQMapPrivate),
      	(KWQMapImpl::KWQMapPrivate::~KWQMapPrivate), (KWQMapImpl::KWQMapImpl),
      	(KWQMapImpl::~KWQMapImpl), (KWQMapImpl::copyOnWrite), (KWQMapImpl::copyTree),
      	(KWQMapImpl::rebalanceAfterInsert), (KWQMapImpl::rebalanceAfterRemove),
      	(KWQMapImpl::findInternal), (KWQMapImpl::insertInternal),
      	(KWQMapImpl::removeInternal), (KWQMapImpl::swap), (KWQMapImpl::countInternal),
      	(KWQMapImpl::clearInternal), (KWQMapImpl::beginInternal),
      	(KWQMapImpl::endInternal):
      
      	* src/kwq/Makefile.am: Add new files to build.
      
      	* src/kdelibs/khtml/rendering/render_text.cpp
      	(TextSlaveArray::findFirstMatching): Fix two places where the KDE
      	code was depending on implementation details of QVector.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      20320915
  31. 09 Jan, 2002 1 commit
  32. 20 Dec, 2001 1 commit
  33. 18 Dec, 2001 1 commit
  34. 29 Nov, 2001 1 commit
  35. 12 Nov, 2001 1 commit
  36. 08 Nov, 2001 1 commit
    • kocienda's avatar
      A large set of changes: · 60bddac0
      kocienda authored
      	- I did a pass over all .mm files in WebCore/src/kwq, adding
      	actual return values for all functions that return something
      	(there were *many* cases where callers were left dangling).
      	- I added numerous log statements throughout the code.
      	- I made the log statement system configurable at runtime, so the
      	amount of logging can be increased or decreased as desired.
      	- I added an implementation for QVariant.
      	- I cleaned up the implementations of QBrush and QPen.
      	- I made general fixups and cleanups in various places.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@423 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60bddac0
  37. 19 Oct, 2001 1 commit