1. 20 Dec, 2002 3 commits
    • hyatt's avatar
      Fix for 3134133. Back out the render_text code I gave to rjw · a18024a4
      hyatt authored
      	to check in.  It wasn't filling in a value for hasBreak, so it
      	became random whether or not you'd break or not.
              Reviewed by rjw
              * khtml/rendering/render_text.cpp:
              * khtml/rendering/render_text.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • rjw's avatar
      WebCore: · 9409ba5b
      rjw authored
              Fixed 3133261.  This fix really has two parts.  This first part
              fixes the stupid stack allocated buffer that caused the crash.
              The second part makes any RenderText with a large string perform
              much faster.  The page mentioned in the bug used to load and draw
              in about 15 minutes.  Now it loads in about 10 seconds and draws in about
              2 seconds.  The performance optimization caches a widths array
              for the string in the RenderText, and only updates that array if
              the font or text for the RenderText change.
              Reviewed by john.
              * khtml/rendering/render_text.cpp:
              * khtml/rendering/render_text.h:
              Fixed 3133261.  This fix really has two parts.  This first part
              is here in WebTextRenderer.  The second part adds some width
              caching to RenderText.  I was using a stack allocated array,
              this would blow out the stack for large strings.
              Reviewed by john.
              * WebCoreSupport.subproj/WebTextRenderer.m:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • 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
  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.
              * Scripts/check-copyright: Added.
              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.
              Reviewed by Don and Maciej.
              * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
              * WebFoundation.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2.
              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.
              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
              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
  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/khtml_part.cpp:
              * khtml/rendering/render_object.cpp:
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_text.cpp:
              * khtml/rendering/render_text.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  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:]):
              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:
              * khtml/rendering/font.h:
              * khtml/rendering/render_text.cpp:
              * khtml/rendering/render_text.h:
              * kwq/KWQPainter.h:
              * kwq/KWQPainter.mm:
              * kwq/WebCoreBridge.h:
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge dealloc]):
              (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]):
              (-[KWQPageState invalidate]):
              (-[KWQPageState dealloc]):
              * kwq/WebCoreTextRenderer.h:
              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]):
              * html/letterspacing.html:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  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:
              * khtml/html/html_blockimpl.h:
              * khtml/rendering/render_box.cpp:
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_flow.cpp:
              * khtml/rendering/render_flow.h:
              * khtml/rendering/render_frames.cpp:
              * khtml/rendering/render_frames.h:
              * khtml/rendering/render_image.cpp:
              * khtml/rendering/render_image.h:
              * khtml/rendering/render_object.cpp:
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_root.cpp:
              * khtml/rendering/render_style.cpp:
              * khtml/rendering/render_text.cpp:
              * khtml/rendering/render_text.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  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:
              * khtml/rendering/render_body.h:
              * khtml/rendering/render_box.cpp:
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_br.h:
              * khtml/rendering/render_flow.cpp:
              * khtml/rendering/render_flow.h:
              * khtml/rendering/render_html.cpp:
              * khtml/rendering/render_html.h:
              * khtml/rendering/render_image.cpp:
              * khtml/rendering/render_image.h:
              * khtml/rendering/render_layer.cpp:
              * khtml/rendering/render_list.cpp:
              * khtml/rendering/render_list.h:
              * 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_root.h:
              * khtml/rendering/render_table.cpp:
              * khtml/rendering/render_table.h:
              * khtml/rendering/render_text.cpp:
              * khtml/rendering/render_text.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2752 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  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:
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_html.cpp:
              * khtml/rendering/render_html.h:
              * khtml/rendering/render_object.cpp:
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_root.cpp:
              * khtml/rendering/render_root.h:
              * khtml/rendering/render_table.cpp:
              * khtml/rendering/render_table.h:
              * khtml/rendering/render_text.cpp:
              * khtml/rendering/render_text.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2719 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  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:
      	   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:
              * khtml/rendering/render_text.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2712 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  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
    • 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.
      	- 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
    • 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
  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
      	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:
              * khtml/html/html_baseimpl.cpp:
              * khtml/html/html_formimpl.cpp:
              * khtml/html/html_formimpl.h:
              * khtml/html/html_imageimpl.cpp:
              * khtml/html/html_inlineimpl.cpp:
              * khtml/html/html_objectimpl.cpp:
              * khtml/html/htmlparser.cpp:
              * khtml/html/htmlparser.h:
              * khtml/html/htmltokenizer.cpp:
              * khtml/misc/arena.cpp: Added.
              * khtml/misc/arena.h: Added.
              * khtml/rendering/bidi.cpp:
              (BidiIterator::operator delete):
              * khtml/rendering/bidi.h:
              * khtml/rendering/render_arena.cpp: Added.
              * khtml/rendering/render_arena.h: Added.
              * khtml/rendering/render_box.cpp:
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_br.cpp:
              * khtml/rendering/render_container.cpp:
              * khtml/rendering/render_container.h:
              * khtml/rendering/render_flow.cpp:
              * khtml/rendering/render_flow.h:
              * khtml/rendering/render_html.cpp:
              * khtml/rendering/render_layer.cpp:
              (RenderLayer::operator delete):
              (RenderLayer::RenderLayerElement::operator delete):
              (RenderLayer::RenderZTreeNode::operator delete):
              * khtml/rendering/render_layer.h:
              * khtml/rendering/render_list.cpp:
              * khtml/rendering/render_object.cpp:
              (RenderObject::operator delete):
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_replaced.cpp:
              * khtml/rendering/render_replaced.h:
              * khtml/rendering/render_root.cpp:
              * khtml/rendering/render_table.cpp:
              * khtml/rendering/render_text.cpp:
              (TextSlave::operator delete):
              * khtml/rendering/render_text.h:
              * khtml/xml/dom_docimpl.cpp:
              * khtml/xml/dom_docimpl.h:
              * khtml/xml/dom_nodeimpl.cpp:
              * khtml/xml/dom_nodeimpl.h:
              * khtml/xml/dom_stringimpl.cpp:
              * khtml/xml/dom_stringimpl.h:
              * khtml/xml/dom_textimpl.cpp:
              * khtml/xml/dom_textimpl.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  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:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  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
  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:
              * khtml/rendering/font.h:
              * khtml/rendering/render_text.cpp:
              * kwq/KWQFontMetrics.mm:
              * kwq/KWQPainter.mm:
              * 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
  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.
      	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.
              * 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
  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
  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.
      	* 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
  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
              * khtml/rendering/font.cpp:
              * khtml/rendering/font.h:
              * khtml/rendering/render_text.cpp:
              * kwq/KWQFontMetrics.mm:
              * 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
              * 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
  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
              khtml redraw the entire visible region when selection changes.
              This could be optimzed.
              * khtml/rendering/font.cpp:
              * khtml/rendering/render_text.cpp:
              * kwq/KWQPainter.mm:
              * kwq/KWQScrollView.mm:
              * 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
  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.
      	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
  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.
      	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.
      	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,
      	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:
      	* 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
      	* 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
  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
      	* 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.
      	* 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:
      	(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
      	* src/kwq/qt/qnamespace.h: Add MetaButton.
      	* src/kwq/qt/qtooltip.h: Add a maybeTip virtual function member and a virtual
              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.
      	* 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.
      	* 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
  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.
      	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),
      	* 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::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::KWQVectorImpl), (KWQVectorImpl::~KWQVectorImpl),
      	(KWQVectorImpl::clear), (KWQVectorImpl::isEmpty), (KWQVectorImpl::count),
      	(KWQVectorImpl::size), (KWQVectorImpl::remove), (KWQVectorImpl::resize),
      	(KWQVectorImpl::insert), (KWQVectorImpl::at), (KWQVectorImpl::assign),
      	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),
      	* 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
  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