1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 20 Sep, 2002 1 commit
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 23 May, 2002 1 commit
  16. 21 May, 2002 1 commit
  17. 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
  18. 21 Mar, 2002 1 commit
  19. 17 Mar, 2002 1 commit
  20. 15 Mar, 2002 2 commits
  21. 14 Mar, 2002 1 commit
  22. 06 Mar, 2002 1 commit
  23. 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
  24. 09 Jan, 2002 1 commit
  25. 20 Dec, 2001 1 commit
  26. 18 Dec, 2001 1 commit
  27. 29 Nov, 2001 1 commit
  28. 12 Nov, 2001 1 commit
  29. 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
  30. 19 Oct, 2001 1 commit
  31. 24 Aug, 2001 1 commit