⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Feb 16, 2004:

11:18 AM Changeset in webkit [6094] by cblu
  • 9 edits in trunk/WebCore

WebCore side of pasting image data.

Reviewed by kocienda.

  • khtml/editing/htmlediting.cpp: (PasteImageCommand::PasteImageCommand): new (PasteImageCommand::~PasteImageCommand): new (PasteImageCommand::impl): new
  • khtml/editing/htmlediting.h: (khtml::):
  • khtml/editing/htmlediting_impl.cpp: (EditCommandImpl::name): added support for PasteImageCommandID (CompositeEditCommandImpl::insertNodeAt): new, factored out from PasteHTMLCommandImpl::apply (PasteHTMLCommandImpl::apply): call insertNodeAt (PasteImageCommandImpl::PasteImageCommandImpl): new (PasteImageCommandImpl::~PasteImageCommandImpl): new (PasteImageCommandImpl::apply): new
  • khtml/editing/htmlediting_impl.h:
  • khtml/khtml_part.cpp: (KHTMLPart::pasteHTMLString): unchanged (KHTMLPart::pasteImage): new
  • khtml/khtml_part.h:
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge pasteImageWithURL:]): new
10:18 AM Changeset in webkit [6093] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • Fixed some dynamic casts that Dirk complained about to use virtual functions instead. Since the virtual functions were already there, this is faster and better in most ways anyway.
  • khtml/dom/dom2_events.cpp: (UIEvent::keyCode): Use virtual function instead of dynamic_cast. (UIEvent::charCode): Ditto. (UIEvent::pageX): Ditto. (UIEvent::pageY): Ditto. (UIEvent::layerX): Ditto. (UIEvent::layerY): Ditto. (UIEvent::which): Ditto.
8:19 AM Changeset in webkit [6092] by darin
  • 4 edits
    2 deletes in trunk/WebKit

Reviewed by John and Don.

  • discovered that jaguar.com doesn't need spoofing any more, so removed the spoofing machinery entirely; if we ever have to bring it back we can, but I doubt we will
  • WebView.subproj/WebView.m: Removed include of WebUserAgentSpoofTable.c. (-[WebViewPrivate dealloc]): Release the new single userAgent rather than the array and userAgentOverride we used to. (-[WebView _preferencesChangedNotification:]): Release the single user agent, rather than the entire cache. Also only do it when the user agent is not overridden. (-[WebView setApplicationNameForUserAgent:]): Ditto. (-[WebView setCustomUserAgent:]): Set the new userAgentOverridden boolean, and also set userAgent itself. (-[WebView customUserAgent]): Return userAgent, but only if userAgentOverridden is true. (-[WebView userAgentForURL:]): Simplify, now that there's no automatic spoofing to do. Made even simpler by the fact that custom and computed user agents both share the same field now.
  • WebView.subproj/WebViewPrivate.h: Got rid of UserAgentStringType, turned the userAgent field into a single item instead of an array, and replaced the userAgentOverride field with a boolean userAgentOverridden field.
  • Makefile.am: Removed the rule to build WebUserAgentSpoofTable.c.
  • WebView.subproj/WebUserAgentSpoofTable.c: Removed.
  • WebView.subproj/WebUserAgentSpoofTable.gperf: Removed.

Feb 15, 2004:

11:54 AM Changeset in webkit [6091] by darin
  • 2 edits in trunk/WebKit

Reviewed by Dave.

  • WebKit.pbproj/project.pbxproj: Tweak build styles a bit, fixing OptimizedWithSymbols, and removing redundant settings of things that match defaults in other build styles.
11:51 AM Changeset in webkit [6090] by darin
  • 2 edits in trunk/WebCore

Reviewed by Dave.

  • WebCore.pbproj/project.pbxproj: Tweak build styles a bit, fixing OptimizedWithSymbols, and removing redundant settings of things that match defaults in other build styles.
11:51 AM Changeset in webkit [6089] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Dave.

  • JavaScriptCore.pbproj/project.pbxproj: Tweak build styles a bit, fixing OptimizedWithSymbols, and removing redundant settings of things that match defaults in other build styles.
10:50 AM Changeset in webkit [6088] by darin
  • 2 edits in trunk/WebCore

Reviewed by Dave.

  • fixed 3548533: crash in XMLHttpRequest::slotData using Orkut's rating system
  • khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::~XMLHttpRequest): Delete the QObject side, which has a side effect of disconnecting the signals which seem to be firing after the request is gone. There may be another way of addressing the crash by correcting some other problem with killing the job, but this demonstrably works and fixes a storage leak.

Feb 13, 2004:

6:10 PM Changeset in webkit [6087] by mjs
  • 7 edits in trunk

WebCore:

Reviewed by John.

  • redo visited link history checking for a 2% speed improvement
  • kwq/KWQKHistoryProvider.mm: (KParts::HistoryProvider::contains): Don't make a KURL or an NSString. Punt on canonicalization and directly pass the internal Latin1 or unicode buffer.
  • kwq/KWQString.h:
  • kwq/KWQString.mm: (QString::hasFastLatin1): New method to check whether getting the latin1 buffer is fast (doesn't allocate).
  • kwq/WebCoreHistory.h: add new methods to look up by raw latin1 or unicode buffer instead of NSString.

WebKit:

Reviewed by John.

  • redo visited link history checking for a 2% speed improvement
  • History.subproj/WebHistory.m: (-[_WebCoreHistoryProvider containsItemForURLString:]): Removed. (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]): Implemented. For https and http URLs with empty path, add a slash. Make a CFString using the passed-in latin1 buffer without copying. (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Ditto for unicode. (matchLetter): New static helper function. (matchUnicodeLetter): Ditto.
2:39 PM Changeset in webkit [6086] by rjw
  • 14 edits
    13 adds in trunk/JavaScriptCore

rk towards the JavaScript ObjC bindings. The bindings now work for

simple scalar types. testbindings.mm is an illustration of how the
bindings work.

Reviewed by Ken.

  • JavaScriptCore.pbproj/project.pbxproj:
  • Makefile.am:
  • bindings/jni/jni_class.cpp: (JavaClass::methodsNamed):
  • bindings/jni/jni_class.h:
  • bindings/jni/jni_instance.cpp: (JavaInstance::invokeMethod):
  • bindings/jni/jni_instance.h:
  • bindings/jni/jni_runtime.h: (KJS::Bindings::JavaMethod::returnType):
  • bindings/make_testbindings: Added.
  • bindings/objc/objc_class.h: Added. (KJS::Bindings::ObjcClass::~ObjcClass): (KJS::Bindings::ObjcClass::ObjcClass): (KJS::Bindings::ObjcClass::operator=): (KJS::Bindings::ObjcClass::constructorAt): (KJS::Bindings::ObjcClass::numConstructors):
  • bindings/objc/objc_class.mm: Added. (ObjcClass::_commonDelete): (ObjcClass::_commonCopy): (ObjcClass::_commonInit): (_createClassesByIsAIfNecessary): (ObjcClass::classForIsA): (ObjcClass::ObjcClass): (ObjcClass::name): (ObjcClass::methodsNamed): (ObjcClass::fieldNamed):
  • bindings/objc/objc_header.h: Added.
  • bindings/objc/objc_instance.h: Added. (KJS::Bindings::ObjcInstance::getObject):
  • bindings/objc/objc_instance.mm: Added. (ObjcInstance::ObjcInstance): (ObjcInstance::~ObjcInstance): (ObjcInstance::operator=): (ObjcInstance::begin): (ObjcInstance::end): (ObjcInstance::getClass): (ObjcInstance::invokeMethod): (ObjcInstance::defaultValue): (ObjcInstance::stringValue): (ObjcInstance::numberValue): (ObjcInstance::booleanValue): (ObjcInstance::valueOf):
  • bindings/objc/objc_jsobject.h: Added.
  • bindings/objc/objc_jsobject.mm: Added.
  • bindings/objc/objc_runtime.h: (KJS::Bindings::ObjcField::~ObjcField): (KJS::Bindings::ObjcField::ObjcField): (KJS::Bindings::ObjcField::operator=): (KJS::Bindings::ObjcMethod::ObjcMethod): (KJS::Bindings::ObjcMethod::~ObjcMethod): (KJS::Bindings::ObjcMethod::operator=):
  • bindings/objc/objc_runtime.mm: Added. (ObjcMethod::ObjcMethod): (ObjcMethod::name): (ObjcMethod::numParameters): (ObjcMethod::getMethodSignature): (ObjcField::ObjcField): (ObjcField::name): (ObjcField::type): (ObjcField::valueFromInstance): (ObjcField::setValueToInstance):
  • bindings/objc/objc_utility.h: Added. (KJS::Bindings::):
  • bindings/objc/objc_utility.mm: Added. (KJS::Bindings::JSMethodNameToObjCMethodName): (KJS::Bindings::convertValueToObjcValue): (KJS::Bindings::convertObjcValueToValue): (KJS::Bindings::objcValueTypeForType):
  • bindings/runtime.cpp: (MethodList::MethodList): (MethodList::operator=): (Instance::setValueOfField): (Instance::createBindingForLanguageInstance): (Instance::createRuntimeObject):
  • bindings/runtime.h:
  • bindings/runtime_method.cpp: (RuntimeMethodImp::RuntimeMethodImp): (RuntimeMethodImp::get): (RuntimeMethodImp::call):
  • bindings/runtime_method.h:
  • bindings/runtime_object.cpp: (RuntimeObjectImp::get): (RuntimeObjectImp::hasProperty):
  • bindings/test.js: Added.
  • bindings/testbindings.mm: Added. (-[MySecondInterface init]): (-[MyFirstInterface init]): (-[MyFirstInterface dealloc]): (+[MyFirstInterface JavaScriptNameForSelector:]): (-[MyFirstInterface getInt]): (-[MyFirstInterface setInt:]): (-[MyFirstInterface getMySecondInterface]): (-[MyFirstInterface logMessage:]): (GlobalImp::className): (readJavaScriptFromFile): (main):
12:08 PM Changeset in webkit [6085] by vicki
  • 3 edits in trunk

Set version to '129u'. The tree is open!

12:04 PM Changeset in webkit [6084]
  • 3 copies in tags/Safari-128

This commit was manufactured by cvs2svn to create tag 'Safari-128'.

12:04 PM Changeset in webkit [6083] by vicki
  • 6 edits in trunk

Safari-128 stamp

Feb 12, 2004:

3:58 PM Changeset in webkit [6082] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3557850 and 3557607. Make sure to setParent(0) on the body's link declaration, so that TreeShared
will delete it.

  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::~HTMLBodyElementImpl):
2:40 PM Changeset in webkit [6081] by kocienda
  • 9 edits
    2 adds in trunk/WebCore

Reviewed by Hyatt

Refactored object design for edit commands into something that's
starting to feel more solid. Added some accessors to edit
commands.

  • WebCore.pbproj/project.pbxproj:
  • khtml/editing/htmlediting_impl.h: Added.
  • khtml/editing/htmlediting_impl.m: Added.
12:04 AM Changeset in webkit [6080] by hyatt
  • 1 edit in trunk/WebCore/khtml/rendering/render_block.cpp

Adjust shouldCollapseChild as per dirk's suggestion.

Feb 11, 2004:

5:50 PM Changeset in webkit [6079] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3550005, 936 leaks when loading checkbox page of pain. Make sure to nuke the inline box
wrapper when detaching the RenderWidget.

  • khtml/rendering/render_replaced.cpp: (RenderWidget::detach):
5:33 PM Changeset in webkit [6078] by hyatt
  • 2 edits
    4 adds in trunk

Add some more polish to ensure the ypos estimate is right. Correct the clearing of images so that
their top margins do not get added in when they clear the float because of having a large width.

Reviewed by kocienda

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::layoutBlockChildren):
  • layout-tests/fast/block/margin-collapse/101-expected.txt: Added.
  • layout-tests/fast/block/margin-collapse/101.html: Added.
  • layout-tests/fast/block/margin-collapse/102-expected.txt: Added.
  • layout-tests/fast/block/margin-collapse/102.html: Added.
4:49 PM Changeset in webkit [6077] by hyatt
  • 2 adds in trunk/LayoutTests/fast/block/margin-collapse

Adding test of zeldman margin collapse bug.

4:47 PM Changeset in webkit [6076] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3556702, margin collapsing gets disabled when images spill out of the containing block.

Reviewed by kocienda

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::layoutBlockChildren):
2:08 PM Changeset in webkit [6075] by hyatt
  • 2 adds in trunk/LayoutTests/fast/table

Add layout test that dumps .rows and .cells

2:07 PM Changeset in webkit [6074] by hyatt
  • 2 edits in trunk/WebCore

Fix the .rows and .cells arrays on tables by merging with the KHTML trunk. TH was being included
as a row instead of as a cell.

Reviewed by kocienda

  • khtml/html/html_miscimpl.cpp: (HTMLCollectionImpl::calcLength): (HTMLCollectionImpl::getItem): (HTMLCollectionImpl::getNamedItem):
1:47 PM Changeset in webkit [6073] by hyatt
  • 3 edits in trunk/WebCore

Remove my bogus refs of the elementSheet. Fixes 3554213 and 3555467.

  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::createLinkDecl):
  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::additionalAttributeStyleDecl): (HTMLTableElementImpl::getSharedCellDecl):
1:45 PM Changeset in webkit [6072]
  • 3 copies
    3 deletes in tags/JavaScriptCore-125~1

This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-125~1'.

1:45 PM Changeset in webkit [6071] by vicki
  • 2 edits in branches/SUPanFeldspar-branch/JavaScriptCore

-rolled this change onto the SUPanFeldspar branch

2004-01-30 Richard Williamson <rjw@apple.com>

Fixed 3542044. Create KJS::String using UString constructor

instead of passing UTF8 string to char* constructor.

Reviewed by Darin.

  • bindings/jni/jni_instance.cpp: (JavaInstance::stringValue):
1:37 PM Changeset in webkit [6070] by hyatt
  • 2 adds in trunk/LayoutTests/fast/css-generated-content

Adding test for display:block generated content.

1:37 PM Changeset in webkit [6069] by hyatt
  • 25 edits in trunk

Fix for 3556037, regression where display:block generated content didn't work.

Reviewed by kocienda

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::setStyle): (khtml::RenderBlock::addChildToFlow): (khtml::RenderBlock::removeChild): (khtml::RenderBlock::renderName):
  • khtml/rendering/render_container.cpp: (RenderContainer::insertChildNode): (RenderContainer::removeLeftoverAnonymousBoxes):
  • khtml/rendering/render_inline.cpp: (RenderInline::splitFlow): (RenderInline::renderName):
  • khtml/rendering/render_list.cpp: (RenderListItem::updateMarkerLocation):
  • khtml/rendering/render_object.h: (khtml::RenderObject::isAnonymousBlock):
  • layout-tests/css1/pseudo/firstletter-expected.txt:
  • layout-tests/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • layout-tests/fast/css-generated-content/002-expected.txt:
  • layout-tests/fast/css-generated-content/004-expected.txt:
  • layout-tests/fast/css-generated-content/005-expected.txt:
  • layout-tests/fast/css-generated-content/006-expected.txt:
  • layout-tests/fast/css-generated-content/007-expected.txt:
  • layout-tests/fast/css-generated-content/009-expected.txt:
  • layout-tests/fast/css-generated-content/010-expected.txt:
  • layout-tests/fast/selectors/039-expected.txt:
  • layout-tests/fast/selectors/039b-expected.txt:
  • layout-tests/fast/selectors/041-expected.txt:
  • layout-tests/fast/selectors/042-expected.txt:
  • layout-tests/fast/selectors/166a-expected.txt:
  • layout-tests/fast/selectors/168-expected.txt:
  • layout-tests/fast/selectors/168a-expected.txt:
  • layout-tests/fast/selectors/169-expected.txt:
  • layout-tests/fast/selectors/169a-expected.txt:
  • layout-tests/fast/text/firstline/002-expected.txt:
  • layout-tests/fast/text/firstline/003-expected.txt:
11:56 AM Changeset in webkit [6068] by rjw
  • 2 edits in trunk/WebCore

Reviewed by Richard.

  • kwq/KWQTextCodec.mm: (KWQTextDecoder::convertLatin1): Fix off by one error.
11:52 AM Changeset in webkit [6067] by hyatt
  • 29 edits in trunk/WebCore

Convert paint methods over to use a new PaintInfo struct. Eliminate the paintObject method.

Reviewed by kocienda

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::paint): (khtml::RenderBlock::paintObject): (khtml::RenderBlock::paintFloats):
  • khtml/rendering/render_block.h:
  • khtml/rendering/render_box.cpp: (RenderBox::paint): (RenderBox::paintRootBoxDecorations): (RenderBox::paintBoxDecorations):
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_br.h: (khtml::RenderBR::paint):
  • khtml/rendering/render_canvas.cpp: (RenderCanvas::paint): (RenderCanvas::paintBoxDecorations):
  • khtml/rendering/render_canvas.h:
  • khtml/rendering/render_flow.cpp: (RenderFlow::paintLineBoxBackgroundBorder): (RenderFlow::paintLineBoxDecorations):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_form.cpp: (RenderFieldset::paintBoxDecorations):
  • khtml/rendering/render_form.h:
  • khtml/rendering/render_image.cpp: (RenderImage::paint): (RenderImage::updateFromElement):
  • khtml/rendering/render_image.h:
  • khtml/rendering/render_inline.cpp: (RenderInline::paint):
  • khtml/rendering/render_inline.h:
  • khtml/rendering/render_layer.cpp: (RenderLayer::paintLayer):
  • khtml/rendering/render_line.cpp: (InlineFlowBox::paintBackgroundAndBorder): (InlineFlowBox::paintDecorations):
  • khtml/rendering/render_line.h: (khtml::InlineRunBox::paintBackgroundAndBorder): (khtml::InlineRunBox::paintDecorations):
  • khtml/rendering/render_list.cpp: (RenderListItem::paint): (RenderListMarker::paint):
  • khtml/rendering/render_list.h:
  • khtml/rendering/render_object.cpp: (RenderObject::paint):
  • khtml/rendering/render_object.h: (khtml::RenderObject::PaintInfo::PaintInfo): (khtml::RenderObject::paintBoxDecorations):
  • khtml/rendering/render_replaced.cpp: (RenderReplaced::shouldPaint): (RenderWidget::paint):
  • khtml/rendering/render_replaced.h:
  • khtml/rendering/render_table.cpp: (RenderTable::paint): (RenderTable::paintBoxDecorations): (RenderTableSection::paint): (RenderTableCell::paint): (RenderTableCell::paintBoxDecorations):
  • khtml/rendering/render_table.h:
  • khtml/rendering/render_text.cpp: (RenderText::paint):
  • khtml/rendering/render_text.h:
9:00 AM Changeset in webkit [6066] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by me

Removed include file I was considering checking, but
decided against. Of course, this dangling include
broke the build.

  • kwq/KWQKHTMLPart.mm
  • kwq/WebCoreBridge.mm

Feb 10, 2004:

8:56 PM Changeset in webkit [6065] by kocienda
  • 17 edits in trunk

WebCore:

Reviewed by Hyatt

Several big changes.

EditSteps are now all EditCommands.
Smart pointer for Shared classes added to shared.h.

Some events, like text input events, are now coalesced.
"Undo typing" now implemented, even though the name is not in the menu yet.
Integer id's added to EditCommand and its subclasses.
A bunch of cleanup in the EditCommand classes.

  • khtml/editing/htmlediting.cpp: (EditCommand::EditCommand): (EditCommand::~EditCommand): (EditCommand::commandID): (EditCommand::reapply): (EditCommand::beginApply): (EditCommand::endApply): (EditCommand::beginUnapply): (EditCommand::endUnapply): (EditCommand::beginReapply): (EditCommand::endReapply): (EditCommand::currentSelection): (EditCommand::coalesce): (EditCommand::groupForUndo): (EditCommand::groupForRedo): (EditCommand::moveToStartingSelection): (EditCommand::moveToEndingSelection): (EditCommand::name): (CompositeEditCommand::CompositeEditCommand): (CompositeEditCommand::~CompositeEditCommand): (CompositeEditCommand::unapply): (CompositeEditCommand::reapply): (CompositeEditCommand::applyCommand): (CompositeEditCommand::insertNodeBefore): (CompositeEditCommand::insertNodeAfter): (CompositeEditCommand::appendNode): (CompositeEditCommand::removeNode): (CompositeEditCommand::splitTextNode): (CompositeEditCommand::joinTextNodes): (CompositeEditCommand::insertText): (CompositeEditCommand::deleteText): (CompositeEditCommand::moveSelectionTo): (CompositeEditCommand::deleteSelection): (InsertNodeBeforeCommand::InsertNodeBeforeCommand): (InsertNodeBeforeCommand::~InsertNodeBeforeCommand): (InsertNodeBeforeCommand::apply): (InsertNodeBeforeCommand::unapply): (AppendNodeCommand::AppendNodeCommand): (AppendNodeCommand::~AppendNodeCommand): (AppendNodeCommand::apply): (AppendNodeCommand::unapply): (RemoveNodeCommand::RemoveNodeCommand): (RemoveNodeCommand::~RemoveNodeCommand): (RemoveNodeCommand::apply): (RemoveNodeCommand::unapply): (ModifyTextNodeCommand::ModifyTextNodeCommand): (ModifyTextNodeCommand::~ModifyTextNodeCommand): (ModifyTextNodeCommand::splitTextNode): (ModifyTextNodeCommand::joinTextNodes): (SplitTextNodeCommand::SplitTextNodeCommand): (SplitTextNodeCommand::~SplitTextNodeCommand): (SplitTextNodeCommand::apply): (SplitTextNodeCommand::unapply): (JoinTextNodesCommand::JoinTextNodesCommand): (JoinTextNodesCommand::~JoinTextNodesCommand): (JoinTextNodesCommand::apply): (JoinTextNodesCommand::unapply): (InsertTextCommand::InsertTextCommand): (InsertTextCommand::~InsertTextCommand): (InsertTextCommand::apply): (InsertTextCommand::unapply): (DeleteTextCommand::DeleteTextCommand): (DeleteTextCommand::~DeleteTextCommand): (DeleteTextCommand::apply): (DeleteTextCommand::unapply): (MoveSelectionToCommand::MoveSelectionToCommand): (MoveSelectionToCommand::~MoveSelectionToCommand): (MoveSelectionToCommand::commandID): (MoveSelectionToCommand::apply): (MoveSelectionToCommand::unapply): (DeleteSelectionCommand::DeleteSelectionCommand): (DeleteSelectionCommand::~DeleteSelectionCommand): (DeleteSelectionCommand::apply): (InputTextCommand::InputTextCommand): (InputTextCommand::~InputTextCommand): (InputTextCommand::commandID): (InputTextCommand::isLineBreak): (InputTextCommand::isSpace): (InputTextCommand::apply): (InputTextCommand::coalesce): (InputTextCommand::groupForUndo): (InputTextCommand::groupForRedo): (InputTextCommand::execute): (DeleteKeyCommand::DeleteKeyCommand): (DeleteKeyCommand::~DeleteKeyCommand): (DeleteKeyCommand::commandID): (DeleteKeyCommand::apply): (DeleteKeyCommand::groupForUndo): (DeleteKeyCommand::groupForRedo): (PasteHTMLCommand::PasteHTMLCommand): (PasteHTMLCommand::~PasteHTMLCommand): (PasteHTMLCommand::apply):
  • khtml/editing/htmlediting.h: (khtml::): (khtml::EditCommand::): (khtml::EditCommand::document): (khtml::EditCommand::state): (khtml::EditCommand::setState): (khtml::SplitTextNodeCommand::joinState): (khtml::SplitTextNodeCommand::splitState): (khtml::JoinTextNodesCommand::joinState): (khtml::JoinTextNodesCommand::splitState):
  • khtml/khtml_part.cpp: (KHTMLPart::openURL): (KHTMLPart::deleteSelection): (KHTMLPart::applyCommand): (KHTMLPart::undoEditing): (KHTMLPart::redoEditing): (KHTMLPart::pasteHTMLString):
  • khtml/khtml_part.h:
  • khtml/khtmlpart_p.h: (KHTMLPartPrivate::~KHTMLPartPrivate):
  • khtml/misc/shared.h: (khtml::SharedPtr::SharedPtr): (khtml::SharedPtr::~SharedPtr): (khtml::SharedPtr::isEmpty): (khtml::SharedPtr::get): (khtml::SharedPtr::operator*): (khtml::SharedPtr::operator->): (khtml::SharedPtr::operator!): (khtml::SharedPtr::operator==): (khtml::::operator): (khtml::operator!=):
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::defaultEventHandler):
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::registerCommandForUndo): (KWQKHTMLPart::registerCommandForRedo): (KWQKHTMLPart::clearUndoRedoOperations):
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge undoEditing:]): (-[WebCoreBridge redoEditing:]):

WebKit:

Reviewed by Hyatt

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge registerCommandForUndo]): Some cleanup. Cookie for events no longer needed. (-[WebBridge registerCommandForRedo]): Ditto. (-[WebBridge clearUndoRedoOperations]): Tells the Cocoa undo manager to clear steps targeted at the bridge.
  • WebView.subproj/WebFrame.h: Declare undo manager accessor.
  • WebView.subproj/WebFrame.m: (-[WebFramePrivate dealloc]): Release undo manager (-[WebFrame undoManager]): Allocate and return an undo manager. This helps undo in a browser to be per tab.
  • WebView.subproj/WebFramePrivate.h: Declare undo manager ivar.

WebBrowser:

Reviewed by Hyatt

  • BrowserDocument.h:
  • BrowserDocument.m: (-[BrowserDocument undoManager]): Now calls on its main frame to provide an undo manager. This will allow us to do some necessary custom stuff in the future. For now, it enables undo to work in multiple tabs.
8:41 PM Changeset in webkit [6064] by hyatt
  • 3 edits in trunk/WebCore

Eliminate the double-completion and double-parsing of KURLs for every single image request.

  • khtml/misc/loader.cpp: (DocLoader::requestImage): (Cache::requestImage):
  • khtml/misc/loader.h:
7:33 PM Changeset in webkit [6063] by hyatt
  • 2 edits
    2 adds in trunk

Merged patch that fixes clear:both for floats. This patch comes from the KHTML tree.

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::positionNewFloats):
  • layout-tests/fast/block/float/029-expected.txt: Added.
  • layout-tests/fast/block/float/029.html: Added.
5:44 PM Changeset in webkit [6062] by hyatt
  • 2 edits in trunk/WebCore

Fix crasher in list code caused by incorrect style deallocation. Regression from the
arena changes for RenderStyles.

Reviewed by darin

  • khtml/rendering/render_object.cpp: (RenderObject::remove): (RenderObject::arenaDelete):
4:02 PM Changeset in webkit [6061] by hyatt
  • 2 edits in trunk/WebCore

Fix for osnews.com's wacky layout problem. Put back in the check for isEmpty.

Reviewed by darin

  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::scriptHandler):
3:37 PM Changeset in webkit [6060] by hyatt
  • 6 edits in trunk/WebCore

Fix for the bad background color on abcnews.com. Make cloning optionally drop the style declarations.

  • khtml/html/html_elementimpl.cpp: (HTMLAttributeImpl::clone):
  • khtml/html/html_elementimpl.h:
  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
  • khtml/xml/dom_elementimpl.cpp: (AttributeImpl::clone):
  • khtml/xml/dom_elementimpl.h:
3:24 PM Changeset in webkit [6059] by cblu
  • 8 edits in trunk/WebCore

Fixed: <rdar://problem/3552545>: Cut, Paste and Delete must support Undo and Redo

Reviewed by kocienda.

  • khtml/editing/htmlediting.cpp: (ModifyTextNodeStep::splitTextNode): ken's fix that fixes a problem with unapply (ModifyTextNodeStep::joinTextNodes): my fix that fixes a problem with unapply (PasteHTMLCommand::PasteHTMLCommand): new (PasteHTMLCommand::apply): moved from dom_docimpl.cpp and improved
  • khtml/editing/htmlediting.h: (khtml::PasteHTMLCommand::~PasteHTMLCommand):
  • khtml/khtml_part.cpp: (KHTMLPart::deleteSelection): new, create and applies a DeleteTextCommand (KHTMLPart::pasteHTMLString): new, create and applies a PasteHTMLCommand
  • khtml/khtml_part.h:
  • khtml/xml/dom_docimpl.cpp: moved paste code to htmlediting.cpp
  • khtml/xml/dom_docimpl.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge pasteHTMLString:]): call pasteHTMLString on the part instead of the bridge (-[WebCoreBridge deleteSelection]): call deleteSelection on the part instead of the bridge
2:03 PM Changeset in webkit [6058] by hyatt
  • 18 edits in trunk/LayoutTests

Revised layout tests after the <hr> changes.

2:01 PM Changeset in webkit [6057] by hyatt
  • 4 deletes in trunk/LayoutTests/fast/selectors

Remove bogus layout tests that we passed through sheer luck.

2:00 PM Changeset in webkit [6056] by hyatt
  • 2 edits in trunk/WebCore

Fix crash on abcnews.com by adding isEmpty checks before dereferencing.

  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag):
12:52 PM Changeset in webkit [6055] by hyatt
  • 51 edits in trunk/WebCore

Improve attribute parsing of mapped attributes (that map to CSS properties) so that they can pull the
style declarations from a global cache.

Made RenderStyles be arena allocated as well.

Reviewed by darin

  • khtml/css/css_valueimpl.cpp: (CSSImageValueImpl::CSSImageValueImpl): (CSSImageValueImpl::image):
  • khtml/css/css_valueimpl.h:
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::initForStyleResolve): (khtml::CSSStyleSelector::styleForElement): (khtml::CSSStyleSelector::pseudoStyleForElement): (khtml::CSSStyleSelector::applyProperty):
  • khtml/css/cssstyleselector.h:
  • khtml/css/html4.css:
  • khtml/css/quirks.css:
  • khtml/dom/dom_element.cpp: (Element::style):
  • khtml/dom/html_element.cpp:
  • khtml/dom/html_element.h:
  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::HTMLBodyElementImpl): (HTMLBodyElementImpl::mapToEntry): (HTMLBodyElementImpl::parseHTMLAttribute): (HTMLBodyElementImpl::insertedIntoDocument): (HTMLFrameElementImpl::parseHTMLAttribute): (HTMLFrameSetElementImpl::parseHTMLAttribute): (HTMLIFrameElementImpl::mapToEntry): (HTMLIFrameElementImpl::parseHTMLAttribute):
  • khtml/html/html_baseimpl.h:
  • khtml/html/html_blockimpl.cpp: (HTMLDivElementImpl::mapToEntry): (HTMLDivElementImpl::parseHTMLAttribute): (HTMLHRElementImpl::mapToEntry): (HTMLHRElementImpl::parseHTMLAttribute): (HTMLParagraphElementImpl::mapToEntry): (HTMLParagraphElementImpl::parseHTMLAttribute): (HTMLMarqueeElementImpl::mapToEntry): (HTMLMarqueeElementImpl::parseHTMLAttribute): (HTMLLayerElementImpl::HTMLLayerElementImpl): (HTMLLayerElementImpl::id):
  • khtml/html/html_blockimpl.h:
  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::determineParseMode):
  • khtml/html/html_documentimpl.h:
  • khtml/html/html_elementimpl.cpp: (CSSMappedAttributeDeclarationImpl::~CSSMappedAttributeDeclarationImpl): (HTMLElementImpl::getMappedAttributeDecl): (HTMLElementImpl::setMappedAttributeDecl): (HTMLElementImpl::removeMappedAttributeDecl): (HTMLAttributeImpl::~HTMLAttributeImpl): (HTMLAttributeImpl::clone): (m_mappedAttributeCount): (HTMLNamedAttrMapImpl::clearAttributes): (HTMLElementImpl::HTMLElementImpl): (HTMLElementImpl::~HTMLElementImpl): (HTMLElementImpl::createAttribute): (HTMLElementImpl::createInlineStyleDecl): (HTMLElementImpl::attributeChanged): (HTMLElementImpl::mapToEntry): (HTMLElementImpl::parseHTMLAttribute): (HTMLElementImpl::additionalAttributeStyleDecl): (isHexDigit): (toHex): (HTMLElementImpl::addCSSProperty): (HTMLElementImpl::addCSSStringProperty): (HTMLElementImpl::addCSSImageProperty): (HTMLElementImpl::addCSSLength): (HTMLElementImpl::addHTMLColor): (HTMLElementImpl::createMappedDecl): (HTMLElementImpl::addHTMLAlignment): (HTMLElementImpl::setContentEditable):
  • khtml/html/html_elementimpl.h: (DOM::): (DOM::CSSMappedAttributeDeclarationImpl::CSSMappedAttributeDeclarationImpl): (DOM::CSSMappedAttributeDeclarationImpl::setMappedState): (DOM::HTMLAttributeImpl::HTMLAttributeImpl): (DOM::HTMLAttributeImpl::decl): (DOM::HTMLAttributeImpl::setDecl): (DOM::HTMLNamedAttrMapImpl::hasMappedAttributes): (DOM::HTMLNamedAttrMapImpl::declRemoved): (DOM::HTMLNamedAttrMapImpl::declAdded): (DOM::HTMLNamedAttrMapImpl::attributeItem): (DOM::HTMLElementImpl::hasMappedAttributes): (DOM::HTMLElementImpl::htmlAttributes): (DOM::HTMLElementImpl::inlineStyleDecl):
  • khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::parseHTMLAttribute): (HTMLGenericFormElementImpl::parseHTMLAttribute): (HTMLButtonElementImpl::parseHTMLAttribute): (HTMLInputElementImpl::setType): (HTMLInputElementImpl::mapToEntry): (HTMLInputElementImpl::parseHTMLAttribute): (HTMLInputElementImpl::attach): (HTMLLabelElementImpl::parseHTMLAttribute): (HTMLSelectElementImpl::parseHTMLAttribute): (HTMLKeygenElementImpl::parseHTMLAttribute): (HTMLOptGroupElementImpl::parseHTMLAttribute): (HTMLOptionElementImpl::parseHTMLAttribute): (HTMLTextAreaElementImpl::parseHTMLAttribute): (HTMLIsIndexElementImpl::parseHTMLAttribute):
  • khtml/html/html_formimpl.h:
  • khtml/html/html_headimpl.cpp: (HTMLBaseElementImpl::parseHTMLAttribute): (HTMLLinkElementImpl::parseHTMLAttribute): (HTMLMetaElementImpl::parseHTMLAttribute): (HTMLStyleElementImpl::parseHTMLAttribute):
  • khtml/html/html_headimpl.h:
  • khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::mapToEntry): (HTMLImageElementImpl::parseHTMLAttribute): (HTMLMapElementImpl::parseHTMLAttribute): (HTMLAreaElementImpl::parseHTMLAttribute):
  • khtml/html/html_imageimpl.h:
  • khtml/html/html_inlineimpl.cpp: (HTMLAnchorElementImpl::parseHTMLAttribute): (HTMLBRElementImpl::mapToEntry): (HTMLBRElementImpl::parseHTMLAttribute): (HTMLFontElementImpl::mapToEntry): (HTMLFontElementImpl::parseHTMLAttribute):
  • khtml/html/html_inlineimpl.h:
  • khtml/html/html_listimpl.cpp: (HTMLUListElementImpl::mapToEntry): (HTMLUListElementImpl::parseHTMLAttribute): (HTMLOListElementImpl::mapToEntry): (HTMLOListElementImpl::parseHTMLAttribute): (HTMLLIElementImpl::mapToEntry): (HTMLLIElementImpl::parseHTMLAttribute):
  • khtml/html/html_listimpl.h:
  • khtml/html/html_objectimpl.cpp: (HTMLAppletElementImpl::mapToEntry): (HTMLAppletElementImpl::parseHTMLAttribute): (HTMLEmbedElementImpl::HTMLEmbedElementImpl): (HTMLEmbedElementImpl::mapToEntry): (HTMLEmbedElementImpl::parseHTMLAttribute): (HTMLEmbedElementImpl::attach): (HTMLObjectElementImpl::mapToEntry): (HTMLObjectElementImpl::parseHTMLAttribute): (HTMLParamElementImpl::parseHTMLAttribute):
  • khtml/html/html_objectimpl.h:
  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::HTMLTableElementImpl): (HTMLTableElementImpl::~HTMLTableElementImpl): (HTMLTableElementImpl::mapToEntry): (HTMLTableElementImpl::parseHTMLAttribute): (HTMLTableElementImpl::additionalAttributeStyleDecl): (HTMLTableElementImpl::getSharedCellDecl): (HTMLTableElementImpl::attach): (HTMLTablePartElementImpl::mapToEntry): (HTMLTablePartElementImpl::parseHTMLAttribute): (HTMLTableCellElementImpl::mapToEntry): (HTMLTableCellElementImpl::parseHTMLAttribute): (HTMLTableCellElementImpl::additionalAttributeStyleDecl): (HTMLTableCellElementImpl::attach): (HTMLTableColElementImpl::mapToEntry): (HTMLTableColElementImpl::parseHTMLAttribute): (HTMLTableCaptionElementImpl::mapToEntry): (HTMLTableCaptionElementImpl::parseHTMLAttribute):
  • khtml/html/html_tableimpl.h:
  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode): (KHTMLParser::getElement):
  • khtml/html/htmltokenizer.h: (khtml::Token::addAttribute):
  • khtml/misc/htmlattrs.c: (hash_attr): (findAttr):
  • khtml/misc/htmlattrs.h:
  • khtml/misc/htmlattrs.in:
  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::setStyle): (khtml::RenderBlock::updateFirstLetter):
  • khtml/rendering/render_container.cpp: (RenderContainer::addChild): (RenderContainer::updatePseudoChild):
  • khtml/rendering/render_frames.cpp: (RenderPartObject::updateWidget):
  • khtml/rendering/render_inline.cpp: (RenderInline::addChildToFlow):
  • khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
  • khtml/rendering/render_object.cpp: (RenderObject::~RenderObject): (RenderObject::createAnonymousBlock): (RenderObject::setStyle): (RenderObject::remove):
  • khtml/rendering/render_style.cpp: (throw): (RenderStyle::operator delete): (RenderStyle::arenaDelete): (RenderStyle::RenderStyle): (RenderStyle::~RenderStyle): (RenderStyle::addPseudoStyle):
  • khtml/rendering/render_style.h: (khtml::RenderStyle::ref): (khtml::RenderStyle::deref): (khtml::RenderStyle::hasOneRef): (khtml::RenderStyle::refCount):
  • khtml/rendering/render_table.cpp: (RenderTable::addChild): (RenderTableSection::addChild): (RenderTableRow::addChild):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::createAttribute): (DocumentImpl::recalcStyle):
  • khtml/xml/dom_docimpl.h:
  • khtml/xml/dom_elementimpl.cpp: (AttributeImpl::clone): (AttrImpl::setValue): (AttrImpl::cloneNode): (ElementImpl::setAttribute): (ElementImpl::createAttribute): (ElementImpl::setAttributeMap): (ElementImpl::recalcStyle): (NamedAttrMapImpl::~NamedAttrMapImpl): (NamedAttrMapImpl::operator=): (NamedAttrMapImpl::addAttribute): (NamedAttrMapImpl::removeAttribute):
  • khtml/xml/dom_elementimpl.h: (DOM::AttributeImpl::~AttributeImpl): (DOM::ElementImpl::attributeChanged): (DOM::NamedAttrMapImpl::length):
  • khtml/xml/dom_nodeimpl.cpp:

Feb 9, 2004:

1:13 PM Changeset in webkit [6054] by darin
  • 2 edits in trunk/WebCore

Reviewed by Dave.

  • khtml/html/html_formimpl.cpp: (HTMLGenericFormElementImpl::defaultEventHandler): Removed bogus extra setActive/focus code. Dave says this is no longer needed for the active state handling, and the focus call caused a problem, although I can't find the bug report at the moment.
8:26 AM Changeset in webkit [6053] by darin
  • 2 edits in trunk/WebCore

Reviewed by Don.

  • fixed an assertion failure when putting up Java applets caused by my last change
  • kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::KJavaAppletWidget): Don't try to get x() and y(). They are always zero because the widget is just being created at this point and has not yet been positioned; trying to get them leads to an assertion because there is no NSView until we call setView(). Before my change, there was a KWQView object at 0,0 that was released when we called setView, which is why the problem is new.

Feb 8, 2004:

2:40 PM Changeset in webkit [6052] by darin
  • 32 edits
    1 add
    1 delete in trunk

WebCore:

Reviewed by Dave.

  • fixed things seen in the profile, for a total speedup of 4% on cvs-base
  • fixed some layout regressions from my last speedup due to text measurement inconsistencies
  • WebCorePrefix.h: Add a workaround for a bug in our system headers that prevents the <ctype.h> macros from working right in C++ code that uses the <cctype> header.
  • khtml/css/cssstyleselector.cpp: (khtml::checkPseudoState): Use prepend instead of operator + here. Will probably be obviated if someone fixes the checkPseudoState problem. (khtml::colorForCSSValue): Get rid of all the code that uses QPalette; it wasn't doing any good in Safari. Instead, hardcode the UI colors.
  • kwq/KWQChar.mm: (QChar::isDigitNonASCII): Non-inline part. The ASCII case is handled with an inline now. (QChar::isLetterNonASCII): Ditto. (QChar::isNumberNonASCII): Ditto. (QChar::isLetterOrNumberNonASCII): Ditto. (QChar::lowerNonASCII): Ditto. (QChar::upperNonASCII): Ditto. (QChar::digitValueNonASCII): Ditto.
  • kwq/KWQColorGroup.mm: Put all roles base inside #if, since we don't need them, and copying the color group and palette was making things slow.
  • kwq/KWQComboBox.h: Remove KWQComboBoxAdapter, not needed any more.
  • kwq/KWQComboBox.mm: (QComboBox::QComboBox): Remove KWQComboBoxAdapter, not needed any more. (QComboBox::~QComboBox): Ditto. (QComboBox::sizeHint): Turn off rounding; we use that in web text, but not in widgets. (-[KWQPopUpButton action:]): Moved the action method here.
  • kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Turn off rounding. We use it in web page text, but not in widgets.
  • kwq/KWQListBox.mm: (QListBox::sizeForNumberOfLines): Ditto. (-[KWQTableView drawRow:clipRect:]): Ditto.
  • kwq/KWQKURL.mm: (KURL::KURL): Added code to put the "file:" in front of a path without making a QString. (hasSlashDotOrDotDot): Added. Faster than two calls to strstr. (matchLetter): Added. Faster than tolower calls on each letter. (KURL::parse): Changed to use matchLetter and hasSlashDotOrDotDot.
  • kwq/KWQPalette.h: Remove all roles except base, and all groups except active, since we don't need them, and copying the color group and palette was making things slow.
  • kwq/KWQPalette.mm: Ditto.
  • kwq/KWQRegExp.mm: (QRegExp::match): Fixed logic so we don't create and destroy a QCString in the fast case. Also avoid UTF-8/UTF-16 offset mapping.
  • kwq/KWQString.h: (QChar::isDigit): Add inline section for ASCII. (QChar::isLetter): Ditto. (QChar::isNumber): Ditto. (QChar::isLetterOrNumber): Ditto. (QChar::digitValue): Ditto. (QChar::lower): Ditto. (QChar::upper): Ditto. (QString::utf8): Add a new version that returns the length; used by QRegExp. (QString::operator+=): Call a new append function.
  • kwq/KWQString.mm: (ucstrcmp): Made this function inline. (equal): Added, replacing various strcmp functions. (equalCaseInsensitive): Ditto. (ok_in_base): Changed to use <ctype.h> isdigit and isalpha instead of QChar functions. (QString::detachInternal): Moved up so it will be inlined. (QString::~QString): Streamlined a little. (QString::utf8): Changed to return the length. (QString::find): Use unicode() instead of cell() in various places. Also refined a faster version of the one that takes a char *. (QString::contains): Changed all of the overloads to have structure that's more similar, and made them slightly faster too. (QString::isAllLatin1): Added. (QString::copyLatin1): Added. Lets you get the string as a char * buffer without changing the string itself into that format. (QString::toLong): Changed to use <ctype.h> isdigit instead of QChar function. (QString::toULong): Ditto. (QString::setUnicode): Call the new detachAndDiscardCharacters; not implemented yet. (QString::setLatin1): Call the new detachAndDiscardCharacters; not implemented yet. (QString::sprintf): Call the new detachAndDiscardCharacters; not implemented yet. (QString::insert): Remove one memmove call for the case that appends at the end. (QString::detach): Change code to use the internal data if we can; saves at destructor time. (QString::detachAndDiscardCharacters): Added. Placeholder for now that just calls detach(). (QString::setLength): Optimize the setLength(0) case. (QString::fill): Call the new detachAndDiscardCharacters; not implemented yet. (QString::append): Renamed from operator+=, which now simply calls append(). (QString::reserve): Added. Useful when building up a string, like in QTextCodec.
  • WebCore-tests.exp: Added new function names for QChar.
  • WebCore-combined.exp: Updated.
  • kwq/KWQTextCodec.mm: (KWQTextDecoder::convertLatin1): Added. Since this is the most common encoding, and very easy to decode (built into QString, in fact), best to do it as a special case, not with TEC. (KWQTextDecoder::convertUTF16): Added a reserve() call for better performance and made the stack buffer larger. (KWQTextDecoder::convertUsingTEC): Added a reserve() call for better performance and made the stack buffer larger. (KWQTextDecoder::convert): Added a switch statement and convertLatin1 case.
  • kwq/KWQView.h: Removed the KWQView class.
  • kwq/KWQView.mm: Removed.
  • WebCore.pbproj/project.pbxproj: Removed KWQView.mm.
  • kwq/KWQWidget.h: Changed name of QWidgetPrivate to KWQWidgetPrivate.
  • kwq/KWQWidget.mm: (QWidget::QWidget): Got rid of code that makes a KWQView when no view is passed in. We were creating and destroying extra views because of this. (QWidget::setFrameGeometry): Only call getOuterView() once, not three times. Also, don't do any work at all if the frame is already correct.
  • khtml/khtmlview.cpp: (KHTMLView::init): Removed a call that will hit an assertion due to the way a new KHTMLView does not yet have an NSView.
  • kwq/WebCoreTextRenderer.h: Broke applyRounding into applyRunRounding and applyWordRounding.
  • kwq/WebCoreTextRendererFactory.m: (WebCoreInitializeEmptyTextStyle): Initialize both rounding flags on.

WebKit:

Reviewed by Dave.

  • fixed things seen in the profile, for a total speedup of 4% on cvs-base
  • fixed some layout regressions from my last speedup due to text measurement inconsistencies by adding a flag to control whether word rounding is done or not
  • fixed text measurement to be used with AppKit to match AppKit again, as it did at some point in the past
  • WebCoreSupport.subproj/WebTextRenderer.h: Remove some unused fields, and added a field to say whether we treat this font as fixed pitch.
  • WebCoreSupport.subproj/WebTextRenderer.m: (getUncachedWidth): Remove space width hack from this level. There was already a width hack up at the higher level for space itself, so there's not a significant speed benefit, and the higher level can make a more intelligent choice based on the current rounding setting since it's not cached. (-[WebTextRenderer _computeWidthForSpace]): Don't store so many widths; just the adjusted width we will actually use. (widthForNextCharacter): Use two different rules for when to adjust space widths, based on whether this is a fixed pitch font or not. Also, don't do any adjusting of space widths if applyWordRounding is false.
  • Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_drawAtPoint:font:textColor:]): Turn off rounding, so we get the kind of spacing AppKit would normally give. (-[NSString _web_widthWithFont:]): Ditto.
  • Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto.
1:13 PM Changeset in webkit [6051] by darin
  • 4 edits in trunk/JavaScriptCore

Reviewed by Dave.

  • fixed things seen in the profile, for a total speedup of 4% on cvs-base (including changes across all projects)
  • JavaScriptCorePrefix.h: Add a workaround for a bug in our system headers that prevents the <ctype.h> macros from working right in C++ code that uses the <cctype> header.
  • kjs/ustring.cpp: (KJS::inlineUTF8SequenceLengthNonASCII): Added. (KJS::UTF8SequenceLengthNonASCII): Added. (KJS::inlineUTF8SequenceLength): Added. (KJS::UTF8SequenceLength): Calls inlineUTF8SequenceLengthNonASCII now. (KJS::decodeUTF8Sequence): Use new inlineUTF8SequenceLengthNonASCII; faster for ASCII. (KJS::createSortedOffsetsArray): Add special case for 1, 2, and 3 offsets, so we don't do qsort for those. (KJS::convertUTF16OffsetsToUTF8Offsets): Use new inlineUTF8SequenceLengthNonASCII; faster for ASCII. (KJS::convertUTF8OffsetsToUTF16Offsets): Use new inlineUTF8SequenceLengthNonASCII; faster for ASCII.
  • fixed the test program so it won't hit the interpreter lock assertion
  • kjs/testkjs.cpp: (main): Just lock around the whole thing, since the test is singly threaded.
10:33 AM Changeset in webkit [6050] by darin
  • 2 edits in trunk/LayoutTests

Updated tests affected by the list box width fix.

Feb 7, 2004:

6:44 PM Changeset in webkit [6049] by darin
  • 11 edits in trunk/WebCore

Reviewed by Dave.

  • switched KWQComboBox, KWQListBox, and KWQLineEdit to use WebKit text measuring/rendering instead of AppKit
  • fixed width calculation for KWQListBox that made them too wide (the computation used the width of standard scroll bars rather than the small scroll bars they actually use)

Speeds up cvs-base by 5%!

  • khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement): Get rid of beginBatchInsert, and rename endBatchInsert. Use our own "append" calls instead of "insert" calls.
  • kwq/KWQComboBox.h: Replace insertItem with appendItem. Add a new populateMenu call (for internal use, but public). Change width member to be int instead of float. Remove updateCurrentItem(), and add a menuPopulated boolean and a QStringList containing the items.
  • kwq/KWQComboBox.mm: (QComboBox::QComboBox): Initialize currentItem directly instead of calling updateCurrentItem. Also initialize menuPopulated to true. (QComboBox::appendItem): Replaces insertItem. Put items in a string list. Don't keep the menu populated unless the button is highlighted (which indicates the menu is showing). (QComboBox::sizeHint): Compute widths using WebCoreTextRenderer, and the string list. (QComboBox::baselinePosition): Change ceil to ceilf, since we are dealing with floats, not doubles. (QComboBox::clear): Clear the items list. Also reset the currentItem field directly instead of using updateCurrentItem(). (QComboBox::setCurrentItem): If the menu is not populated, then keep a single item with the appropriate title. If the menu is populated, then select the appropriate item. (QComboBox::itemSelected): Moved the logic from updateCurrentItem in here for simplicity. (QComboBox::focusPolicy): Tweaked the comment. (QComboBox::populateMenu): Added. (-[KWQPopUpButtonCell setHighlighted:]): Populate the menu when the cell is highlighted.
  • kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Put an empty string in the cell, and add in a separately-computed width for the string. (QLineEdit::baselinePosition): Use ceilf instead of ceil since we are doing floats, not doubles.
  • kwq/KWQListBox.h: Changed the items list from an NSArray to a QValueList. (KWQListBoxItem::KWQListBoxItem): Added a new class to keep the string and the "is label" boolean. (QListBox::count): Now inline. (QListBox::appendItem): Replaced insertItem with this. (QListBox::appendGroupLabel): Replaced insertGroupLabel with this. (QListBox::itemAtIndex): Replaced itemIsGroupLabel with this.
  • kwq/KWQListBox.mm: (itemTextRenderer): Replaced itemFont with this, which returns a WebCoreTextRenderer. (groupLabelTextRenderer): Ditto. (QListBox::QListBox): Removed the _insertingItems boolean, and handling of the _items list. (QListBox::~QListBox): Ditto. (QListBox::clear): Now clears the items list. Doesn't both with reloadData, since doneAppendingItems handles that. (QListBox::appendItem): Replaced insertItem. Just adds to the list. No need to construct attributed strings any more. (QListBox::doneAppendingItems): Replaced endBatchInsert. No need to clear the obsolete _insertingItems boolean. (QListBox::setEnabled): Added a call to reloadData. (QListBox::sizeForNumberOfLines): Compute widths using WebCoreTextRenderer, and the string list. Also adjust for the difference in widths between small and default scrollers and add in margins. (QListBox::setWritingDirection): Remove code that updates the direction in attributed strings. (-[KWQTableView initWithListBox:]): Compute height from font, not cell. (-[KWQTableView numberOfRowsInTableView:]): Get count from QListBox instead of items array. (-[KWQTableView tableView:objectValueForTableColumn:row:]): Return nil becase we don't want to create an NSString for each cell. We'll draw the appropriate thing. (-[KWQTableView tableView:shouldSelectRow:]): Update for change to QComboBox function. (-[KWQTableView drawRow:clipRect:]): Added. Draws the text in the cell, with the appropriate color and position, using WebCoreTextRenderer for speed. (-[KWQTableView _accessibilityTableCell:tableColumn:]): Set up cell with a string in this case, because we need the string to be seen by the accessibilty framework.
  • kwq/WebCoreTextRenderer.h: Fixed typo in comment.
  • kwq/WebCoreTextRendererFactory.m: Removed bogus inline specifiers.
  • khtml/rendering/render_layer.cpp: Fixed a couple of cases of RenderLayer::RenderLayer that just should have said RenderLayer.
1:33 PM Changeset in webkit [6048] by darin
  • 4 edits in trunk

WebCore:

  • WebCore.pbproj/project.pbxproj: Get rid of the DEPLOYMENT_LOCATION and DEPLOYMENT_POSTPROCESSING flags that were in the Deployment build style. These were causing the need to chmod all the time after building WebCore successfully, and were doing us no good.

WebKit:

  • WebKit.pbproj/project.pbxproj: Get rid of the DEPLOYMENT_LOCATION and DEPLOYMENT_POSTPROCESSING flags that were in the Deployment build style. These were causing the need to chmod all the time after building WebCore successfully, and were doing us no good.
12:56 PM Changeset in webkit [6047] by darin
  • 1 edit
    1 add in trunk/WebCore
  • kwq/can-convert.mm: Added test program to see which conversions are actually supported by TEC.

Feb 6, 2004:

6:20 PM Changeset in webkit [6046] by darin
  • 2 edits in trunk/WebKit
  • Resources/missing_image.tiff: Compressed with compress-tiffs; saved 15890 bytes.
5:19 PM Changeset in webkit [6045] by hyatt
  • 18 edits
    1 add in trunk/WebCore

Implemented a TokenizerString that can walk a list of substrings, so that data can be enqueued
in the list without having to do a copy. Speeds up voodooextreme by 20% or so, giving the overall
page-load tests get a 2% boost.

Reviewed by darin

  • WebCore.pbproj/project.pbxproj:
  • khtml/html/html_documentimpl.h:
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::begin): (khtml::HTMLTokenizer::processListing): (khtml::HTMLTokenizer::parseSpecial): (khtml::HTMLTokenizer::scriptHandler): (khtml::HTMLTokenizer::parseComment): (khtml::HTMLTokenizer::parseServer): (khtml::HTMLTokenizer::parseProcessingInstruction): (khtml::HTMLTokenizer::parseText): (khtml::HTMLTokenizer::parseEntity): (khtml::HTMLTokenizer::parseTag): (khtml::HTMLTokenizer::write): (khtml::HTMLTokenizer::notifyFinished): (khtml::HTMLTokenizer::setSrc): (khtml::HTMLTokenizer::setOnHold):
  • khtml/html/htmltokenizer.h: (khtml::Token::Token): (khtml::Token::~Token): (khtml::Token::addAttribute): (khtml::Token::reset):
  • khtml/khtml_part.cpp: (KHTMLPart::handleMousePressEventDoubleClick):
  • khtml/khtml_part.h:
  • khtml/misc/stringit.cpp: Added. (khtml::TokenizerString::length): (khtml::TokenizerString::clear): (khtml::TokenizerString::append): (khtml::TokenizerString::prepend): (khtml::TokenizerString::advanceSubstring): (khtml::TokenizerString::toString):
  • khtml/misc/stringit.h: (khtml::TokenizerSubstring::TokenizerSubstring): (khtml::TokenizerSubstring::clear): (khtml::TokenizerSubstring::appendTo): (khtml::TokenizerString::TokenizerString): (khtml::TokenizerString::push): (khtml::TokenizerString::isEmpty): (khtml::TokenizerString::advance): (khtml::TokenizerString::escaped): (khtml::TokenizerString::lineCount): (khtml::TokenizerString::resetLineCount): (khtml::TokenizerString::operator++): (khtml::TokenizerString::operator*): (khtml::TokenizerString::operator->): (khtml::TokenizerString::current):
  • khtml/xbl/xbl_docimpl.cpp:
  • khtml/xbl/xbl_docimpl.h: (XBL::):
  • khtml/xbl/xbl_tokenizer.h: (XBL::):
  • khtml/xml/dom_docimpl.h: (DOM::DocumentImpl::tokenizer):
  • khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::write):
  • khtml/xml/xml_tokenizer.h:
  • kwq/KWQSignalStubs.mm:
  • kwq/KWQValueList.h: (QValueList::insert): (QValueList::fromLast):
  • kwq/KWQValueListImpl.h:
  • kwq/KWQValueListImpl.mm: (KWQValueListImpl::clear): (KWQValueListImpl::insert): (KWQValueListImpl::fromLast):
4:52 PM Changeset in webkit [6044] by vicki
  • 3 edits in trunk

Back to '128u'. The tree is open!

4:48 PM Changeset in webkit [6043]
  • 3 copies in tags/Safari-127

This commit was manufactured by cvs2svn to create tag 'Safari-127'.

4:48 PM Changeset in webkit [6042] by vicki
  • 6 edits in trunk

Safari-127 stamp

2:33 PM Changeset in webkit [6041] by kocienda
  • 6 edits in trunk/WebCore

Reviewed by Chris

Steps no longer return int error codes. Steps are operations
that should succeed. (When was the last time that typing in
a text editor failed for reasons which could not have been
figured out ahead of time...like file permissions?).
If this does not work for the future, perhaps we can change
some or all of the many asserts in the code to throw C++
exceptions instead, which can be caught and handled at a
suitable level.

I also made some nice convenience functions to create and apply
EditStep objects, and moved the command code to use the new
functions.

  • khtml/editing/htmlediting.cpp: (EditStep::EditStep): (EditStep::~EditStep): (EditStep::reapply): (EditStep::beginApply): (EditStep::endApply): (EditStep::beginUnapply): (EditStep::endUnapply): (EditStep::beginReapply): (EditStep::endReapply): (CompositeEditStep::unapply): (CompositeEditStep::reapply): (CompositeEditStep::applyStep): (CompositeEditStep::insertNodeBefore): (CompositeEditStep::insertNodeAfter): (CompositeEditStep::appendNode): (CompositeEditStep::removeNode): (CompositeEditStep::splitTextNode): (CompositeEditStep::joinTextNodes): (CompositeEditStep::insertText): (CompositeEditStep::deleteText): (CompositeEditStep::moveSelectionTo): (CompositeEditStep::deleteSelection): (InsertNodeBeforeStep::InsertNodeBeforeStep): (InsertNodeBeforeStep::apply): (InsertNodeBeforeStep::unapply): (AppendNodeStep::AppendNodeStep): (AppendNodeStep::apply): (AppendNodeStep::unapply): (RemoveNodeStep::RemoveNodeStep): (RemoveNodeStep::apply): (RemoveNodeStep::unapply): (ModifyTextNodeStep::ModifyTextNodeStep): (ModifyTextNodeStep::splitTextNode): (ModifyTextNodeStep::joinTextNodes): (SplitTextNodeStep::apply): (SplitTextNodeStep::unapply): (JoinTextNodesStep::apply): (JoinTextNodesStep::unapply): (InsertTextStep::InsertTextStep): (InsertTextStep::apply): (InsertTextStep::unapply): (DeleteTextStep::DeleteTextStep): (DeleteTextStep::apply): (DeleteTextStep::unapply): (MoveSelectionToStep::MoveSelectionToStep): (MoveSelectionToStep::apply): (MoveSelectionToStep::unapply): (DeleteSelectionStep::apply): (EditCommand::EditCommand): (EditCommand::~EditCommand): (EditCommand::currentSelection): (InputTextCommand::apply): (DeleteTextCommand::apply):
  • khtml/editing/htmlediting.h: (khtml::MoveSelectionToStep::~MoveSelectionToStep): (khtml::EditCommand::cookie):
  • khtml/khtml_part.cpp: (KHTMLPart::applyCommand): (KHTMLPart::undoRedoEditing): (KHTMLPart::undoEditing): (KHTMLPart::redoEditing):
  • khtml/khtml_part.h:
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::defaultEventHandler):
1:29 PM Changeset in webkit [6040] by rjw
  • 3 edits in trunk/JavaScriptCore

Fixed 3550242 and 3546977. The first diff prevents an assert from firing. The second diff prevents a JavaScript exception, caused be an invalid conversion, which has a downstream consequence of preventing a valid conversion.

Reviewed by John.

  • bindings/jni/jni_jsobject.cpp: (JSObject::toString):
  • bindings/jni/jni_utility.cpp: (KJS::Bindings::convertValueToJValue):

Feb 5, 2004:

4:28 PM Changeset in webkit [6039] by kocienda
  • 26 edits in trunk

WebCore:

Reviewed by Hyatt

This patch includes two major pieces of work.

  1. The KHTMLSelection object has been reworked to be a value object. Part-related state has been moved out to KHTMLPart. This change makes it much easier to program with these objects, since they can now be treating unambigously like built-in types. As part of this work, I did a pass over the API and improved some function names. A related part of work was to clean up the relationship between KHTMLSelection, KHTMLPart and DOMDocumentImpl, and cleared up how to change the selection when that is necessary. (There is now a small set of functions on KHTMLPart).
  1. Implemented undo/redo, and hooked into the Cocoa undo architecture. The notion of EditCommands has been enhanced by the addition of EditSteps, which are primitive operations out of which edit commands are built. Most of the existing operations have been updated to use this new design. The last couple will be updated soon, so that all supported editing operations will be undoable.
  • khtml/editing/htmlediting.cpp:
  • khtml/editing/htmlediting.h:
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::isFocusable): Prevents children of content editable parents from receiving focus.
  • khtml/khtml_part.cpp: Modified to work with new KHTMLSelection class design. Also added some new code to work with new edit command architecture.
  • khtml/khtml_part.h:
  • khtml/khtml_selection.cpp: Reworked as a value class. Too much state was being stored in this object for it to be convenient to use as a value. That has been fixed.
  • khtml/khtml_selection.h:
  • khtml/khtmlpart_p.h: (KHTMLPartPrivate::KHTMLPartPrivate): (KHTMLPartPrivate::~KHTMLPartPrivate):
  • khtml/khtmlview.cpp: Modified to work with new KHTMLSelection class design.
  • khtml/rendering/render_block.cpp: Modified to work with new KHTMLSelection class design. (khtml::RenderBlock::paintObject):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::updateSelection): (DocumentImpl::deleteSelection): (DocumentImpl::pasteHTMLString):
  • khtml/xml/dom_docimpl.h:
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::defaultEventHandler): Modified to work with new edit command architecture.
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::registerCommandForUndo): Added hook to Cocoa undo/redo architecture.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge isSelectionEditable]): Modified to work with new edit command architecture. (-[WebCoreBridge moveCaretToPoint:]): Ditto (-[WebCoreBridge haveSelection]): Ditto (-[WebCoreBridge selectedHTML]): Ditto (-[WebCoreBridge setSelectionFrom:startOffset:to:endOffset:]): Ditto (-[WebCoreBridge reconstructedSource]): Ditto (-[WebCoreBridge undoRedoEditing:]): Added hook to Cocoa undo/redo architecture.

WebKit:

Reviewed by Hyatt

Added so that editing can hook into Cocoa undo architecture.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge registerCommandForUndo:]):

Feb 4, 2004:

7:15 PM Changeset in webkit [6038] by hyatt
  • 2 edits in trunk/WebKit

Fix deployment build bustage.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (ConsoleConnectionChangeNotifyProc):
5:45 PM Changeset in webkit [6037] by hyatt
  • 34 edits in trunk/WebCore

Improve rule matching in the style system. Filter out most rules up front, so that only a small
number of rules need to be walked for any given element. Yields a ~4-5% improvement on the PLT.

Reviewed by kocienda

  • khtml/css/css_base.cpp: (StyleBaseImpl::setParsedValue): (CSSSelector::specificity): (CSSSelector::extractPseudoType): (CSSSelector::operator == ):
  • khtml/css/css_base.h: (DOM::CSSSelector::CSSSelector): (DOM::CSSSelector::~CSSSelector): (DOM::CSSSelector::append): (DOM::CSSSelector::next): (DOM::CSSSelector::): (DOM::StyleBaseImpl::StyleBaseImpl):
  • khtml/css/css_ruleimpl.cpp: (CSSStyleRuleImpl::selectorText): (CSSRuleListImpl::insertRule):
  • khtml/css/css_ruleimpl.h: (DOM::CSSStyleRuleImpl::setSelector): (DOM::CSSStyleRuleImpl::selector):
  • khtml/css/css_stylesheetimpl.cpp:
  • khtml/css/css_stylesheetimpl.h:
  • khtml/css/css_valueimpl.cpp: (CSSStyleDeclarationImpl::getPropertyCSSValue): (CSSStyleDeclarationImpl::removeProperty): (CSSStyleDeclarationImpl::setProperty): (CSSStyleDeclarationImpl::setStringProperty): (CSSStyleDeclarationImpl::setImageProperty): (CSSStyleDeclarationImpl::setLengthProperty): (CSSStyleDeclarationImpl::cssText): (CSSStyleDeclarationImpl::setCssText):
  • khtml/css/css_valueimpl.h: (DOM::CSSStyleDeclarationImpl::node): (DOM::CSSProperty::CSSProperty): (DOM::CSSProperty::id): (DOM::CSSProperty::isImportant):
  • khtml/css/cssparser.cpp: (CSSParser::CSSParser): (ParseString::lower): (CSSParser::parseValue): (CSSParser::parseDeclaration): (CSSParser::addProperty): (CSSParser::parseShadow):
  • khtml/css/cssparser.h:
  • khtml/css/cssstyleselector.cpp: (khtml::): (khtml::CSSStyleSelector::CSSStyleSelector): (khtml::CSSStyleSelector::init): (khtml::CSSStyleSelector::~CSSStyleSelector): (khtml::CSSStyleSelector::loadDefaultStyle): (khtml::CSSStyleSelector::addMatchedRule): (khtml::CSSStyleSelector::addMatchedDeclaration): (khtml::CSSStyleSelector::matchRules): (khtml::CSSStyleSelector::matchRulesForList): (khtml::operator >): (khtml::operator <=): (khtml::CSSStyleSelector::sortMatchedRules): (khtml::CSSStyleSelector::initForStyleResolve): (khtml::CSSStyleSelector::styleForElement): (khtml::CSSStyleSelector::pseudoStyleForElement): (khtml::checkPseudoState): (khtml::CSSStyleSelector::checkSelector): (khtml::CSSStyleSelector::checkOneSelector): (khtml::CSSRuleSet::CSSRuleSet): (khtml::CSSRuleSet::addToRuleSet): (khtml::CSSRuleSet::addRule): (khtml::CSSRuleSet::addRulesFromSheet): (khtml::CSSStyleSelector::applyDeclarations): (khtml::CSSStyleSelector::applyProperty): (khtml::CSSStyleSelector::smallerFontSize): (khtml::CSSStyleSelector::getColorFromPrimitiveValue):
  • khtml/css/cssstyleselector.h: (khtml::): (khtml::CSSRuleData::m_next): (khtml::CSSRuleData::~CSSRuleData): (khtml::CSSRuleData::position): (khtml::CSSRuleData::rule): (khtml::CSSRuleData::selector): (khtml::CSSRuleData::next): (khtml::CSSRuleDataList::CSSRuleDataList): (khtml::CSSRuleDataList::~CSSRuleDataList): (khtml::CSSRuleDataList::first): (khtml::CSSRuleDataList::last): (khtml::CSSRuleDataList::append): (khtml::CSSRuleSet::~CSSRuleSet): (khtml::CSSRuleSet::getIDRules): (khtml::CSSRuleSet::getClassRules): (khtml::CSSRuleSet::getTagRules): (khtml::CSSRuleSet::getUniversalRules):
  • khtml/css/cssvalues.c: (hash_val): (findValue):
  • khtml/css/cssvalues.h:
  • khtml/css/cssvalues.in:
  • khtml/css/html4.css:
  • khtml/css/parser.cpp:
  • khtml/css/parser.h:
  • khtml/css/parser.y:
  • khtml/dom/dom_element.cpp: (Element::style):
  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::HTMLBodyElementImpl): (HTMLBodyElementImpl::~HTMLBodyElementImpl): (HTMLBodyElementImpl::createLinkDecl): (HTMLBodyElementImpl::parseAttribute):
  • khtml/html/html_baseimpl.h:
  • khtml/html/html_elementimpl.cpp: (HTMLNamedAttrMapImpl::parseClassAttribute): (HTMLElementImpl::HTMLElementImpl): (HTMLElementImpl::~HTMLElementImpl): (HTMLElementImpl::createInlineStyleDecl): (HTMLElementImpl::createMappedAttributeDecl): (HTMLElementImpl::parseAttribute): (HTMLElementImpl::getClassList): (HTMLElementImpl::addCSSProperty): (HTMLElementImpl::addCSSStringProperty): (HTMLElementImpl::addCSSImageProperty): (HTMLElementImpl::addCSSLength): (HTMLElementImpl::addHTMLColor): (HTMLElementImpl::removeCSSProperty):
  • khtml/html/html_elementimpl.h: (DOM::HTMLNamedAttrMapImpl::getClassList): (DOM::HTMLElementImpl::inlineStyleDecl): (DOM::HTMLElementImpl::attributeStyleDecl): (DOM::HTMLElementImpl::getInlineStyleDecl):
  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::createSharedCellDecls): (HTMLTableCellElementImpl::additionalAttributeStyleDecl):
  • khtml/html/html_tableimpl.h:
  • khtml/xml/dom_atomicstring.cpp: (DOM::AtomicString::add): (DOM::AtomicString::remove):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::resetLinkColor): (DocumentImpl::resetVisitedLinkColor): (DocumentImpl::resetActiveLinkColor): (DocumentImpl::recalcStyleSelector):
  • khtml/xml/dom_docimpl.h: (DOM::DocumentImpl::linkColor): (DOM::DocumentImpl::visitedLinkColor): (DOM::DocumentImpl::activeLinkColor): (DOM::DocumentImpl::setLinkColor): (DOM::DocumentImpl::setVisitedLinkColor): (DOM::DocumentImpl::setActiveLinkColor):
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::ElementImpl): (ElementImpl::~ElementImpl): (ElementImpl::getClassList): (ElementImpl::getIDAttribute): (ElementImpl::cloneNode): (XMLElementImpl::cloneNode):
  • khtml/xml/dom_elementimpl.h: (DOM::ElementImpl::inlineStyleDecl): (DOM::ElementImpl::attributeStyleDecl): (DOM::ElementImpl::getInlineStyleDecl): (DOM::ElementImpl::additionalAttributeStyleDecl): (DOM::NamedAttrMapImpl::id): (DOM::NamedAttrMapImpl::setID):
  • khtml/xml/dom_stringimpl.cpp: (DOM::DOMStringImpl::DOMStringImpl): (DOM::DOMStringImpl::~DOMStringImpl): (DOM::DOMStringImpl::append): (DOM::DOMStringImpl::insert): (DOM::DOMStringImpl::truncate): (DOM::DOMStringImpl::remove): (DOM::DOMStringImpl::split):
  • khtml/xml/dom_stringimpl.h: (DOM::DOMStringImpl::DOMStringImpl):
2:22 PM Changeset in webkit [6036] by hyatt
  • 4 edits in trunk/WebCore

Fix line-height regression on altavista.

  • khtml/rendering/render_br.cpp: (RenderBR::RenderBR): (RenderBR::position): (RenderBR::lineHeight): (RenderBR::setStyle):
  • khtml/rendering/render_br.h:
  • khtml/rendering/render_flow.h: (khtml::RenderFlow::RenderFlow):
1:49 PM Changeset in webkit [6035] by kocienda
  • 9 edits in trunk/LayoutTests

Committed new tests for RenderBR change

1:33 PM Changeset in webkit [6034] by hyatt
  • 3 edits in trunk/WebCore

Fix a regression in the line-height of first-lines and inline-blocks.

Reviewed by darin

  • khtml/rendering/render_flow.cpp: (RenderFlow::lineHeight):
  • khtml/rendering/render_text.cpp: (RenderText::lineHeight):
10:45 AM Changeset in webkit [6033] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3546028>: Safari should not give plug-ins any time, thus use 0% CPU, when not in the currently active session

Reviewed by john.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (+[WebBaseNetscapePluginView initialize]): observe CG changes (-[WebBaseNetscapePluginView addWindowObservers]): observe user switch notifications (-[WebBaseNetscapePluginView removeWindowObservers]): stop observing user switch notifications (-[WebBaseNetscapePluginView viewHasMoved:]): tweak (-[WebBaseNetscapePluginView windowWillClose:]): tweak (-[WebBaseNetscapePluginView windowBecameKey:]): tweak (-[WebBaseNetscapePluginView windowResignedKey:]): tweak (-[WebBaseNetscapePluginView windowDidMiniaturize:]): tweak (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): tweak (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]): new, stop null events (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]): new, restart null events (ConsoleConnectionChangeNotifyProc): new, post user switch notifications

Feb 2, 2004:

5:32 PM Changeset in webkit [6032]
  • 5 copies
    2 deletes in tags/WebCore-125-tarball

This commit was manufactured by cvs2svn to create tag
'WebCore-125-tarball'.

5:32 PM Changeset in webkit [6031] by mjs
  • 2 edits in branches/Safari-1-2-tarballs-branch/WebCore

Changes for WebCore-125 tarball.

  • WebCore.pbproj/project.pbxproj: Made the usual tweaks.
5:22 PM Changeset in webkit [6030]
  • 3 copies
    3 deletes in tags/JavaScriptCore-125-tarball

This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-125-tarball'.

5:22 PM Changeset in webkit [6029] by mjs
  • 2 edits in branches/Safari-1-2-tarballs-branch/JavaScriptCore

Changes for JavaScriptCore-125 tarball.

5:18 PM Changeset in webkit [6028] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • fixed <rdar://problem/3546613>: array of negative size leads to crash (test page at oscar.the-rileys.net)
  • kjs/array_object.cpp: (ArrayInstanceImp::ArrayInstanceImp): If the length is greater than 10,000, don't allocate an array until we start putting values in. This prevents new Array(2147483647) from causing trouble. (ArrayObjectImp::construct): Check number as described in specification, and raise a range error if the number is out of range. This prevents new Array(-1) from causing trouble.
  • fixed <rdar://problem/3545756>: Math.round screws up on numbers bigger than 231 (incorrect results on HP-35 calculator page)
  • kjs/math_object.cpp: (MathFuncImp::call): Change implementation to be much simpler and not involve casting to int. Results now match those in other browsers.
3:29 PM Changeset in webkit [6027] by sullivan
  • 4 edits in trunk/WebKit

WebKit:

Reviewed by Darin.

  • Misc.subproj/WebNSURLExtras.h:
  • Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_URLWithLowercasedScheme]): new method, returns a URL whose scheme has been tolower'ed
  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

WebBrowser:

  • fixed <rdar://problem/3527598>: "(null)" appears for some malformed URLs in location bar

Reviewed by Darin.

  • BrowserWebController.m: (-[BrowserWebView webView:unableToImplementPolicyWithError:frame:]): Call new _web_URLWithLowercasedScheme; the old code here was subtly transforming some degenerate URLs

(-[BrowserWebView openURLExternallyWithRequest:inFrame:]):
New error message to handle the case where [URL scheme] returns nil.

  • English.lproj/Localizable.strings:
  • English.lproj/StringsNotToBeLocalized.txt: updated for these changes
3:23 PM Changeset in webkit [6026] by cblu
  • 12 edits in trunk

WebCore:

Fixed: <rdar://problem/3546924>: REGRESSION: dragging text or images over a WebView is jerky

Reviewed by mjs.

  • WebCore-combined.exp:
  • WebCore.exp:
  • kwq/WebCoreBridge.h: added the DOM node element key constant (SPI for now)
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): instead of calling toHTML for every node, put the node on the element so the caller can get the HTML string representation when it needs to.
  • kwq/WebCoreDOMNode.mm: (-[WebCoreDOMNode HTMLString]): new

WebKit:

Fixed: <rdar://problem/3546924>: REGRESSION: dragging text or images over a WebView is jerky

Reviewed by mjs.

  • DOM.subproj/WebDOMNode.h: added HTMLString to the protocol
  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): get the HTML representation via the DOM node
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): get the HTML representation via the DOM node
  • WebView.subproj/WebView.h: removed the HTML string element key constant
  • WebView.subproj/WebView.m: removed the HTML string element key constant
1:23 PM Changeset in webkit [6025] by darin
  • 7 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • fixed <rdar://problem/3519285>: integer operations on large negative numbers yield bad results (discovered with "HTMLCrypt")
  • fixed other related overflow issues
  • kjs/value.h: Changed return types of toInteger, toInt32, toUInt32, and toUInt16.
  • kjs/value.cpp: (ValueImp::toInteger): Change to return a double, since this operation, from the ECMA specification, must not restrict values to the range of a particular integer type. (ValueImp::toInt32): Used a sized integer type for the result of this function, and also added proper handling for negative results from fmod. (ValueImp::toUInt32): Ditto. (ValueImp::toUInt16): Ditto. (ValueImp::dispatchToUInt32): Changed result type from unsigned to uint32_t.
  • kjs/array_object.cpp: (ArrayProtoFuncImp::call): Use a double instead of an int to handle out-of-integer-range values better in the slice function.
  • kjs/internal.cpp: (KJS::roundValue): Streamline the function, handling NAN and infinity properly.
  • kjs/number_object.cpp: (NumberProtoFuncImp::call): Use a double instead of an int to handle out-of-integer-range values better in the toString function.
  • kjs/string_object.cpp: (StringProtoFuncImp::call): Use a double instead of an int to handle out-of-integer-range values better in the charAt, charCodeAt, indexOf, lastIndexOf, slice, and substr functions.
11:14 AM Changeset in webkit [6024] by cblu
  • 6 edits in trunk/WebKit

Fixed: <rdar://problem/3546426>: when copying images via context menus, only some data is added to the pasteboard

Reviewed by john.

  • Misc.subproj/WebNSPasteboardExtras.h:
  • Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): new, writes and image, URL and other optional arguments to the pasteboard
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): factored code out to _web_writeImage, call _web_writeImage
  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeImage
  • WebView.subproj/WebImageView.m: (-[WebImageView writeImageToPasteboard:]): call _web_writeImage
10:55 AM Changeset in webkit [6023] by darin
  • 8 edits in trunk/WebCore

Reviewed by Maciej.

  • use toInt32 where we really need an int, rather than toInteger, because toInteger needs to return an integral number as a double, not as an int
  • khtml/ecma/kjs_css.cpp: (DOMCSSStyleDeclarationProtoFunc::tryCall): Call toInt32 intead of toInteger. (DOMStyleSheetListFunc::tryCall): Ditto. (KJS::DOMMediaListProtoFunc::tryCall): Ditto. (DOMCSSStyleSheetProtoFunc::tryCall): Ditto. (DOMCSSRuleListFunc::tryCall): Ditto. (DOMCSSRuleFunc::tryCall): Ditto. (DOMCSSPrimitiveValueProtoFunc::tryCall): Ditto. (DOMCSSValueListFunc::tryCall): Ditto.
  • khtml/ecma/kjs_dom.cpp: (DOMCharacterDataProtoFunc::tryCall): Ditto. (DOMTextProtoFunc::tryCall): Ditto.
  • khtml/ecma/kjs_events.cpp: (DOMUIEventProtoFunc::tryCall): Ditto. (DOMMouseEventProtoFunc::tryCall): Ditto. (DOMKeyboardEventProtoFunc::tryCall): Ditto. (DOMMutationEventProtoFunc::tryCall): Ditto.
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLElementFunction::tryCall): Ditto. (KJS::HTMLElement::putValue): Ditto. (KJS::HTMLSelectCollection::tryPut): Ditto.
  • khtml/ecma/kjs_range.cpp: (DOMRangeProtoFunc::tryCall): Ditto.
  • khtml/ecma/kjs_traversal.cpp: (JSNodeFilter::acceptNode): Ditto.
  • khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Ditto. (HistoryFunc::tryCall): Ditto.
10:42 AM Changeset in webkit [6022] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fix at least some of <rdar://problem/3546393>: 10,000 leaks, many of DOM::AtomicString::add, after one run of cvs-base
  • khtml/xml/dom_atomicstring.cpp: (DOM::AtomicString::add): Remove extra allocation of strings. This should speed things up a bit as well as fixing one big leak.
10:11 AM Changeset in webkit [6021]
  • 2 copies
    3 deletes in tags/WebKit-126~0~1

This commit was manufactured by cvs2svn to create tag
'WebKit-126~0~1'.

10:11 AM Changeset in webkit [6020] by darin
  • 2 edits in trunk/WebKit
  • fixed build failure on Merlot
  • Misc.subproj/WebNSPasteboardExtras.m: Import just CoreTranslationFlavorTypeNames.h rather than all of ApplicationServicesPriv.h; should compile faster and avoid build failure.
9:47 AM Changeset in webkit [6019] by cblu
  • 12 edits in trunk

WebCore:

Fixed: <rdar://problem/3546379>: support for editing via drag & drop

Reviewed by kocienda.

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::deleteSelection): fixed a crash I encountered while attempting to delete and empty selection
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge isSelectionEditable]): renamed from isEditable (-[WebCoreBridge moveCaretToPoint:]): new (-[WebCoreBridge elementAtPoint:]): added support for WebCoreElementHTMLStringKey and WebCoreElementIsEditableKey

WebKit:

Fixed: <rdar://problem/3546379>: support for editing via drag & drop

Reviewed by kocienda.

  • Misc.subproj/WebNSViewExtras.h:
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): added a HTMLString argument so that we retain all attributes when dragging images
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _canDelete]): call renamed isSelectionEditable (-[WebHTMLView _canPaste]): call renamed isSelectionEditable (-[WebHTMLView _pasteHTMLFromPasteboard:]): new, factored out from paste: (-[WebHTMLView _handleMouseDragged:]): removed code that returned early if we were loading, this kind of protection is no longer needed since we now retain the view while dragging, call renamed _web_dragImage (-[WebHTMLView initWithFrame:]): register for drop types (-[WebHTMLView paste:]): call _pasteHTMLFromPasteboard (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): set new isDragging BOOL to YES (-[WebHTMLView draggedImage:endedAt:operation:]): set new isDragging BOOL to NO (-[WebHTMLView draggingEntered:]): new (-[WebHTMLView draggingUpdated:]): new, handle caret movement during the drag (-[WebHTMLView prepareForDragOperation:]): new (-[WebHTMLView performDragOperation:]): new (-[WebHTMLView concludeDragOperation:]): new, paste in the drag
  • WebView.subproj/WebHTMLViewPrivate.h:
  • WebView.subproj/WebImageView.m: (-[WebImageView mouseDragged:]): call renamed _web_dragImage
  • WebView.subproj/WebView.h:
  • WebView.subproj/WebView.m:

Jan 30, 2004:

5:30 PM Changeset in webkit [6018] by mjs
  • 1 edit in branches/Safari-1-2-branch/WebCore/ChangeLog-2005-08-23

Merge the following changes from TOT for the Epiphany submission.

2004-01-28 David Hyatt <hyatt@apple.com>

Fix for 3537694, make blocks for parents of inline children be axobjects.

Reviewed by kocienda

  • kwq/KWQAccObject.mm: (-[KWQAccObject role]): (-[KWQAccObject accessibilityIsIgnored]):

2004-01-30 David Hyatt <hyatt@apple.com>

Fix for 3522497, <br>s should not get AXObjects created.

Reviewed by mjs

  • kwq/KWQAccObject.mm: (-[KWQAccObject accessibilityIsIgnored]):
5:30 PM Changeset in webkit [6017]
  • 3 copies in branches/Safari-1-2-branch

This commit was manufactured by cvs2svn to create branch
'Safari-1-2-branch'.

4:29 PM Changeset in webkit [6016] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3522497, <br>s should not get AXObjects created.

Reviewed by mjs

  • kwq/KWQAccObject.mm: (-[KWQAccObject accessibilityIsIgnored]):
4:16 PM Changeset in webkit [6015] by vicki
  • 3 edits in trunk

change version number from '126' to '127u'

4:11 PM Changeset in webkit [6014]
  • 3 copies in tags/Safari-126

This commit was manufactured by cvs2svn to create tag 'Safari-126'.

4:11 PM Changeset in webkit [6013] by vicki
  • 6 edits in trunk

Safari-126 stamp

2:53 PM Changeset in webkit [6012] by rjw
  • 2 edits in trunk/JavaScriptCore

Fixed 3542044. Create KJS::String using UString constructor instead of passing UTF8 string to char* constructor.

Reviewed by Darin.

  • bindings/jni/jni_instance.cpp: (JavaInstance::stringValue):
1:00 PM Changeset in webkit [6011] by hyatt
  • 2 edits in trunk/WebCore

Fix a regression I introduced in my atomicstring patch. I meant to say !attr->isNull() in the contentedtiable
attribute parsing code.

Reviewed by cblu

  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseAttribute):
11:12 AM Changeset in webkit [6010] by hyatt
  • 9 edits in trunk/WebCore

Make m_lineHeight be cached on RenderFlow instead of RenderText and avoid recomputing it so much when it
is not set by CSS (since calls to fontMetrics().lineSpacing() are expensive).

Yields ~1.5% performance improvement.

Reviewed by darin

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::setStyle):
  • khtml/rendering/render_flow.cpp: (RenderFlow::lineHeight):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_inline.cpp: (RenderInline::setStyle):
  • khtml/rendering/render_object.cpp: (RenderObject::verticalPositionHint): (RenderObject::lineHeight):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_text.cpp: (RenderText::setStyle): (RenderText::checkSelectionPointIgnoringContinuations): (RenderText::height): (RenderText::lineHeight):
  • khtml/rendering/render_text.h:
10:36 AM Changeset in webkit [6009] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3536126>: REGRESSION (Merlot): WebKit dragging is in strange location

Reviewed by kocienda.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): use the proper offset when dragging text
1:06 AM Changeset in webkit [6008] by hyatt
  • 10 edits in trunk/WebCore

Disable XBL. The loadBindings call was taking 0.1-0.25%. While I know how to get rid of this overhead,
it's easier for now to just disable all of XBL.

  • WebCorePrefix.h:
  • khtml/misc/loader.h:
  • khtml/xbl/xbl_binding.cpp:
  • khtml/xbl/xbl_binding_manager.cpp:
  • khtml/xbl/xbl_docimpl.cpp:
  • khtml/xbl/xbl_protobinding.cpp:
  • khtml/xbl/xbl_protohandler.cpp:
  • khtml/xbl/xbl_protoimplementation.cpp:
  • khtml/xbl/xbl_tokenizer.cpp:

Jan 29, 2004:

11:44 PM Changeset in webkit [6007] by hyatt
  • 44 edits
    4 adds
    1 delete in trunk/WebCore

Atomize font families (KWQFontFamily) and all attribute values. Move atomic string into separate files.

In my testing, this patch yields the same score as Safari-125 in tests and recovers all lost performance
(mostly from excess copying of AtomicStrings where DOMStringImpl* used to be returned).

Reviewed by darin

  • ForwardingHeaders/xml/dom_atomicstring.h: Added.
  • WebCore.pbproj/project.pbxproj:
  • khtml/css/css_base.cpp: (CSSSelector::print): (CSSSelector::extractPseudoType): (CSSSelector::selectorText):
  • khtml/css/css_valueimpl.cpp: (FontFamilyValueImpl::FontFamilyValueImpl):
  • khtml/css/cssparser.cpp: (CSSParser::parseFontFamily):
  • khtml/css/cssparser.h:
  • khtml/css/cssstyleselector.cpp: (khtml::checkPseudoState): (khtml::CSSStyleSelector::checkOneSelector): (khtml::CSSStyleSelector::applyRule):
  • khtml/dom/dom_element.cpp: (Element::getAttributeNS):
  • khtml/dom/dom_string.cpp: (DOMString::toInt): (DOMString::toLengthArray): (DOM::operator==):
  • khtml/dom/dom_string.h: (DOM::operator==): (DOM::operator!=):
  • khtml/ecma/kjs_navigator.cpp: (Plugins::get): (MimeTypes::get): (Plugin::get):
  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::parseAttribute): (HTMLFrameElementImpl::isURLAllowed): (HTMLFrameElementImpl::openURL): (HTMLFrameElementImpl::parseAttribute): (HTMLFrameElementImpl::attach): (HTMLFrameElementImpl::setLocation): (HTMLFrameSetElementImpl::parseAttribute): (HTMLIFrameElementImpl::attach):
  • khtml/html/html_baseimpl.h:
  • khtml/html/html_blockimpl.cpp: (HTMLHRElementImpl::parseAttribute): (HTMLHRElementImpl::attach): (HTMLMarqueeElementImpl::parseAttribute):
  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::documentElement):
  • khtml/html/html_documentimpl.h:
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseAttribute): (HTMLElementImpl::addCSSLength): (HTMLElementImpl::addHTMLAlignment):
  • khtml/html/html_elementimpl.h:
  • khtml/html/html_formimpl.cpp: (HTMLGenericFormElementImpl::parseAttribute): (HTMLInputElementImpl::parseAttribute): (HTMLInputElementImpl::attach): (HTMLSelectElementImpl::parseAttribute): (HTMLKeygenElementImpl::parseAttribute): (HTMLKeygenElementImpl::encoding): (HTMLOptionElementImpl::parseAttribute): (HTMLTextAreaElementImpl::parseAttribute):
  • khtml/html/html_formimpl.h:
  • khtml/html/html_headimpl.cpp: (HTMLLinkElementImpl::parseAttribute): (HTMLStyleElementImpl::parseAttribute):
  • khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::parseAttribute): (HTMLAreaElementImpl::parseAttribute):
  • khtml/html/html_inlineimpl.cpp: (HTMLAnchorElementImpl::parseAttribute):
  • khtml/html/html_listimpl.cpp: (HTMLOListElementImpl::parseAttribute): (HTMLLIElementImpl::parseAttribute):
  • khtml/html/html_miscimpl.cpp: (HTMLCollectionImpl::getNamedItem): (HTMLFormCollectionImpl::getNamedFormItem): (HTMLFormCollectionImpl::getNamedImgItem):
  • khtml/html/html_objectimpl.cpp: (HTMLEmbedElementImpl::parseAttribute): (HTMLObjectElementImpl::parseAttribute): (HTMLParamElementImpl::HTMLParamElementImpl): (HTMLParamElementImpl::~HTMLParamElementImpl): (HTMLParamElementImpl::parseAttribute):
  • khtml/html/html_objectimpl.h: (DOM::HTMLParamElementImpl::name): (DOM::HTMLParamElementImpl::value):
  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::parseAttribute): (HTMLTablePartElementImpl::parseAttribute): (HTMLTableCellElementImpl::parseAttribute): (HTMLTableColElementImpl::parseAttribute):
  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode): (KHTMLParser::handleIsindex):
  • khtml/html/htmltokenizer.cpp: (HTMLTokenizer::parseTag):
  • khtml/html/htmltokenizer.h: (khtml::Token::addAttribute):
  • khtml/khtml_part.cpp: (KHTMLPart::init):
  • khtml/khtmlview.cpp: (KHTMLToolTip::maybeTip):
  • khtml/xml/dom_atomicstring.cpp: Added. (DOM::AtomicStringStatisticsExitLogger::~AtomicStringStatisticsExitLogger): (DOM::AtomicString::equal): (DOM::AtomicString::add): (DOM::AtomicString::insert): (DOM::AtomicString::remove): (DOM::AtomicString::expand): (DOM::AtomicString::shrink): (DOM::AtomicString::rehash): (DOM::AtomicString::init): (DOM::operator==): (DOM::equalsIgnoreCase):
  • khtml/xml/dom_atomicstring.h: Added. (DOM::AtomicString::AtomicString): (DOM::AtomicString:::m_string): (DOM::AtomicString::operator const DOMString&): (DOM::AtomicString::domString): (DOM::AtomicString::string): (DOM::AtomicString::implementation): (DOM::AtomicString::unicode): (DOM::AtomicString::length): (DOM::AtomicString::ascii): (DOM::AtomicString::find): (DOM::AtomicString::toInt): (DOM::AtomicString::percentage): (DOM::AtomicString::toLengthArray): (DOM::AtomicString::isNull): (DOM::AtomicString::isEmpty): (DOM::AtomicString::equal): (DOM::operator==): (DOM::operator!=):
  • khtml/xml/dom_atomicstringlist.h: Added. (DOM::AtomicStringList:::m_next): (DOM::AtomicStringList::m_next): (DOM::AtomicStringList::~AtomicStringList): (DOM::AtomicStringList::next): (DOM::AtomicStringList::setNext): (DOM::AtomicStringList::string): (DOM::AtomicStringList::setString): (DOM::AtomicStringList::clone): (DOM::AtomicStringList::clear):
  • khtml/xml/dom_docimpl.h:
  • khtml/xml/dom_elementimpl.cpp: (AttrImpl::nodeValue): (AttrImpl::cloneNode): (ElementImpl::getAttribute): (ElementImpl::getAttributeNS): (ElementImpl::setAttribute): (ElementImpl::setAttributeMap): (ElementImpl::attach): (ElementImpl::detach): (ElementImpl::updateId): (NamedAttrMapImpl::setNamedItem): (NamedAttrMapImpl::removeNamedItem): (NamedAttrMapImpl::getAttributeItem): (NamedAttrMapImpl::operator=): (NamedAttrMapImpl::removeAttribute):
  • khtml/xml/dom_elementimpl.h: (DOM::AttributeImpl::AttributeImpl): (DOM::AttributeImpl::value): (DOM::AttributeImpl::prefix): (DOM::AttributeImpl::isNull): (DOM::AttributeImpl::isEmpty): (DOM::AttributeImpl::setValue): (DOM::AttributeImpl::setPrefix): (DOM::ElementImpl::getAttribute):
  • khtml/xml/dom_nameimpl.cpp: Removed.
  • khtml/xml/dom_nameimpl.h: (DOM::Name::namespaceURI): (DOM::Name::localName):
  • khtml/xml/dom_nodeimpl.h:
  • khtml/xml/dom_stringimpl.cpp:
  • kwq/KWQFont.mm: (QFont::family):
  • kwq/KWQFontFamily.h: (KWQFontFamily::family):
  • kwq/KWQFontFamily.mm: (retainDOMStringImpl): (releaseDOMStringImpl): (KWQFontFamily::getNSFamily): (KWQFontFamily::setFamily): (KWQFontFamily::operator==):
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::fileWrapperForElement):
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]):
2:00 PM Changeset in webkit [6006] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/3543619>: copied HTML is strangely formatted, random whitespace and return characters

Reviewed by dave.

  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::recursive_toHTMLWithRange): remove all code that tries to format the HTML since we can rely on the existing white space to preserve the original formatting

Jan 28, 2004:

6:16 PM Changeset in webkit [6005]
  • 2 copies in branches/Safari-1-0-branch/WebKit/Misc.subproj

This commit was manufactured by cvs2svn to create branch
'Safari-1-0-branch'.

6:16 PM Changeset in webkit [6004] by sullivan
  • 10 edits
    2 adds in trunk

Tests:

Reviewed by Dave.

  • Blot/blot-tasks.txt: Mentioned NSTextView's (and therefore Mail's) option-Escape behavior here since we will probably have to implement it also; clarified a comment.

WebCore:

Reviewed by Dave.

  • khtml/rendering/render_text.cpp: (RenderText::paintObject): Increment s in the while() clause so it is incremented even after a continue statement. This fixes an infinite loop I ran into in the printing code path at certain scaled print sizes on certain pages.

WebKit:

More header/footer work: refactored the header/footer code so it could
be easily reused by other WebDocument classes; used it from WebImageView
and WebTextView; removed the page count parameters because it's possible
(though currently nasty, see 3543078) to determine this in the client.

Reviewed by Dave.

  • Misc.subproj/WebNSPrintOperationExtras.h Added.
  • Misc.subproj/WebNSPrintOperationExtras.m Added. (-[NSPrintOperation _web_pageSetupScaleFactor]): new convenience method.
  • WebView.subproj/WebUIDelegatePrivate.h: Removed page index and page count parameters from delegate methods.
  • WebView.subproj/WebViewPrivate.h: New private category for header/footer printing methods so that different WebDocument methods can share almost all of the code.
  • WebView.subproj/WebView.m: (-[WebView _headerHeight]): (-[WebView _footerHeight]): (-[WebView _drawHeaderInRect:]): (-[WebView _drawFooterInRect:]): (-[WebView _adjustPrintingMarginsForHeaderAndFooter]): (-[WebView _drawHeaderAndFooter]): Moved all of these methods here, formerly in WebHTMLView. Removed the page index and page count parameters.
  • WebView.subproj/WebHTMLView.m: Removed all the header/footer code that's now in WebView.m, and the method that's now -[NSPrintOperation _web_pageSetupScaleFactor] (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): call methods differently that have now been moved (-[WebHTMLView _scaleFactorForPrintOperation:]): ditto (-[WebHTMLView knowsPageRange:]): ditto (-[WebHTMLView drawPageBorderWithSize:]): now just turns around and calls -[WebView _drawHeaderAndFooter]
  • WebView.subproj/WebImageView.m: (-[WebImageView drawPageBorderWithSize:]): new method, just calls -[WebView _drawHeaderAndFooter] (-[WebImageView beginDocument]): now calls -[WebView _adjustPrintMarginsForHeaderAndFooter], also moved in file. (-[WebImageView endDocument]): just moved in file.
  • WebView.subproj/WebTextView.m: (-[WebTextView drawPageBorderWithSize:]): new method, just calls -[WebView _drawHeaderAndFooter] (-[WebTextView knowsPageRange:]): overridden to call -[WebView _adjustPrintMarginsForHeaderAndFooter]
  • WebKit.pbproj/project.pbxproj: updated for added files

WebBrowser:

Some header/footer cleanup.

Reviewed by Dave.

  • BrowserWebViewPrinting.m: (-[BrowserWebView webView:drawHeaderInRect:]): Removed obsolete page index and count parameters. Use displayName rather than currentTitle because it works for all document types (currentTitle didn't work for plain text pages). (-[BrowserWebView webView:drawFooterInRect:]): Removed obsolete page index and count parameters. Did some AppKit hackery to get the total document page count in a way that works for any print operation. Now handles the case where the page count is unknown (by printing "Page <x>" instead of "Page <x> of <n>"). Also added a 1 pixel offset to the footer's baseline to work around AppKit bug where the descenders in the footer were getting slightly clipped at some scale factors.
  • English.lproj/Localizable.strings: updated for these changes
5:26 PM Changeset in webkit [6003] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/3543041>: when pasting an image, cursor should be after the image, not before

Reviewed by rjw.

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::pasteHTMLString): when the last node of the paste is non-text, use 1 instead of 0 as the start offset of the caret
4:22 PM Changeset in webkit [6002] by kocienda
  • 18 edits
    1 add in trunk/WebCore

Reviewed by Hyatt

A small collection of fixes and improvements to editing.

Added a forwarding header for dom_position.h
Added some debugging output to KHTMLSelection
Added support for left arrow navigation.
Greatly improved support for right arrow navigation.
Added include guards to dom_position.h. Oops!
Removed pruneEmptyNodes() function from htmlediting.cpp. That was crack.
Improved the text insert command so that it splits the text node being

operated on only when necessary.

Added support for placing the caret in and arrowing into BR elements.
Moved precedesLineBreak/followsLineBreak from RenderText to RenderObject.

  • ForwardingHeaders/dom/dom_position.h: Added.
  • khtml/dom/dom_position.h:
  • khtml/editing/htmlediting.cpp: (InputTextCommand::apply): (DeleteTextCommand::apply):
  • khtml/khtml_selection.cpp: (KHTMLSelection::setSelection): (KHTMLSelection::alterSelection): (KHTMLSelection::update): (KHTMLSelection::previousCharacterPosition): (KHTMLSelection::nextCharacterPosition): (startAndEndLineNodesIncludingNode): (KHTMLSelection::debugRenderer): (KHTMLSelection::debugPosition):
  • khtml/khtml_selection.h:
  • khtml/rendering/render_br.cpp: (RenderBR::RenderBR): (RenderBR::position): (RenderBR::caretMaxOffset): (RenderBR::caretPos):
  • khtml/rendering/render_br.h: (khtml::RenderBR::xPos): (khtml::RenderBR::yPos): (khtml::RenderBR::height):
  • khtml/rendering/render_object.cpp: (RenderObject::precedesLineBreak): (RenderObject::followsLineBreak): (RenderObject::isEditable):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_text.cpp: (RenderText::caretPos): (RenderText::position): (RenderText::caretMaxOffset):
  • khtml/rendering/render_text.h:
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::defaultEventHandler):
1:26 PM Changeset in webkit [6001] by hyatt
  • 2 adds in trunk/LayoutTests/fast/css

Add layout test for checking the cascade of the clear property.

1:22 PM Changeset in webkit [6000] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3537694, make blocks for parents of inline children be axobjects.

Reviewed by kocienda

  • kwq/KWQAccObject.mm: (-[KWQAccObject role]): (-[KWQAccObject accessibilityIsIgnored]):
1:19 PM Changeset in webkit [5999] by hyatt
  • 9 edits in trunk/WebCore

Make AtomicString a new class that owns DOMStrings, instead of using KJS::Identifier. One day when we
convert DOMString and UString to have the same underlying rep, then these classes could possibly re-merge.
For now this provides an easy migration path for all the code that is using DOMStringImpl*.

Also fixed a bug with float clearing in the style cascade.

Reviewed by darin

  • khtml/css/cssparser.h: (DOM::atomicString):
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::checkOneSelector): (khtml::CSSStyleSelector::applyRule):
  • khtml/dom/dom_string.cpp: (DOMString::DOMString):
  • khtml/xml/dom_nameimpl.cpp: (DOM::AtomicStringStatisticsExitLogger::~AtomicStringStatisticsExitLogger): (DOM::AtomicString::equal): (DOM::AtomicString::add): (DOM::AtomicString::insert): (DOM::AtomicString::remove): (DOM::AtomicString::expand): (DOM::AtomicString::shrink): (DOM::AtomicString::rehash): (DOM::AtomicString::null): (DOM::AtomicString::init): (DOM::operator==): (DOM::equalsIgnoreCase):
  • khtml/xml/dom_nameimpl.h: (DOM::AtomicString::AtomicString): (DOM::AtomicString:::m_string): (DOM::AtomicString::string): (DOM::AtomicString::qstring): (DOM::AtomicString::implementation): (DOM::AtomicString::unicode): (DOM::AtomicString::length): (DOM::AtomicString::ascii): (DOM::AtomicString::find): (DOM::AtomicString::isNull): (DOM::AtomicString::isEmpty): (DOM::AtomicString::equal): (DOM::operator==): (DOM::operator!=):
  • khtml/xml/dom_stringimpl.cpp: (DOM::DOMStringImpl::empty): (DOM::DOMStringImpl::DOMStringImpl): (DOM::DOMStringImpl::~DOMStringImpl): (DOM::DOMStringImpl::append): (DOM::DOMStringImpl::insert): (DOM::DOMStringImpl::truncate): (DOM::DOMStringImpl::remove): (DOM::DOMStringImpl::split): (DOM::DOMStringImpl::substring): (DOM::DOMStringImpl::replace): (DOM::DOMStringImpl::computeHash):
  • khtml/xml/dom_stringimpl.h: (DOM::DOMStringImpl::DOMStringImpl): (DOM::DOMStringImpl::hash):
  • khtml/xml/dom_textimpl.cpp: (CharacterDataImpl::CharacterDataImpl):
1:09 PM Changeset in webkit [5998] by cblu
  • 4 edits in trunk/WebKit

WebKit:

Fixed: <rdar://problem/3197222>: need context menu items for back, forward, refresh.

Reviewed by rjw.

  • English.lproj/Localizable.strings:
  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate menuItemWithTag:]): added support for WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): added support for Back, Forward, Stop and Reload
  • WebView.subproj/WebUIDelegate.h: added WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags

WebBrowser:

Fixed: <rdar://problem/3197222>: need context menu items for back, forward, refresh.

Reviewed by rjw.

  • ContextMenuHandler.m: (-[BrowserWebView webView:contextMenuItemsForElement:defaultMenuItems:]): added support for Back, Forward, Stop and Reload

Jan 27, 2004:

6:25 PM Changeset in webkit [5997] by sullivan
  • 3 edits in trunk/WebKit

Tests:

  • Blot/Blot.xcode/project.pbxproj: added blot-api.txt

WebKit:

WebKit part of fixes for:
<rdar://problem/3123975>: ER: please list the source URL in the header
or footer when printing the contents of a page
<rdar://problem/3184091>: Safari - Configurable printing header/footer
<rdar://problem/3306826>: Please allow printing the date (as well as URL)
in the header or footer

Reviewed by Dave.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _headerHeight]): new method, gets result from WebView's UI delegate or returns 0 (-[WebHTMLView _footerHeight]): new method, gets result from WebView's UI delegate or returns 0 (-[WebHTMLView _drawHeaderInRect:]): new method, gives WebView's UI delegate a chance to draw header (-[WebHTMLView _drawFooterInRect:]): new method, gives WebView's UI delegate a chance to draw footer (-[WebHTMLView _adjustPrintingMarginsForHeaderAndFooter]): new method, adds header and footer heights into page margins so AppKit printing code will compute and use the right area (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): now calls _adjustPrintingMarginsForHeaderAndFooter if starting to print (-[WebHTMLView drawPageBorderWithSize:]): new method, computes rects for header and footer and calls new drawing methods
  • WebView.subproj/WebUIDelegatePrivate.h: add header and footer-related delegate methods

WebBrowser:

WebBrowser part of fixes for:
<rdar://problem/3123975>: ER: please list the source URL in the header
or footer when printing the contents of a page
<rdar://problem/3184091>: Safari - Configurable printing header/footer
<rdar://problem/3306826>: Please allow printing the date (as well as URL)
in the header or footer

Reviewed by Dave.

  • BrowserWebController.m: moved webViewPrint: from here to new file
  • BrowserWebViewPrinting.m: Added. (-[BrowserWebView webViewPrint:]): moved this here from BrowserWebController.m (headerFooterFont): new function, returns the font used in header and footer (printHeadersAndFooters): new function, returns the preference value (-[BrowserWebView webViewHeaderHeight:]): new method, bases the header height on the font height, with some pleasant whitespace (-[BrowserWebView webViewFooterHeight:]): new method, bases the footer's height on the font height, with some pleasant whitespace (-[BrowserWebView drawLeftString:rightString:inRect:atBaseline:withFont:]): new method, used to draw a long truncated string on the left and short nontruncated string on the right (-[BrowserWebView webView:drawHeaderInRect:forPage:of:]): new method, draws title on left and date/time on right (-[BrowserWebView webView:drawFooterInRect:forPage:of:]): new method, draws URL on left and page x of n on right
  • PreferenceKeys.h: new preference key PrintHeaderAndFooterPreferenceKey
  • Defaults.plist: default value of PrintHeaderAndFooterPreferenceKey is true
  • English.lproj/PrintingAccessoryView.nib: added checkbox for "Print Headers and Footers"
  • PrintingAccessoryViewController.h:
  • PrintingAccessoryViewController.m: (-[PrintingAccessoryViewController togglePrintHeadersAndFooters:]): new method, toggles the preference (-[PrintingAccessoryViewController accessoryView]): now updates the setting of the Print Headers and Footers checkbox
  • English.lproj/Localizable.strings: updated for these changes
  • WebBrowser.pbproj/project.pbxproj: updated to add new file
5:50 PM Changeset in webkit [5996] by cblu
  • 8 edits in trunk

WebCore:

Fixed:
<rdar://problem/3541812>: Implement Paste menu item
<rdar://problem/3541814>: Implement Delete menu item
<rdar://problem/3541811>: Implement Cut menu item

Reviewed by dave.

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::deleteSelection): new (DocumentImpl::pasteHTMLString): new
  • khtml/xml/dom_docimpl.h:
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge isEditable]): new (-[WebCoreBridge pasteHTMLString:]): new (-[WebCoreBridge deleteSelection]): new (-[WebCoreBridge haveSelection]): new

WebKit:

Fixed:
<rdar://problem/3541812>: Implement Paste menu item
<rdar://problem/3541814>: Implement Delete menu item
<rdar://problem/3541811>: Implement Cut menu item

Reviewed by dave.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _haveSelection]): new, renamed from hasSelection, calls haveSelection on the bridge, quicker than generating string rep of selection (-[WebHTMLView _canDelete]): new (-[WebHTMLView _canPaste]): new (-[WebHTMLView takeFindStringFromSelection:]): call renamed _haveSelection (-[WebHTMLView cut:]): new (-[WebHTMLView delete:]): new (-[WebHTMLView paste:]): new (-[WebHTMLView validateUserInterfaceItem:]): updated for new methods (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _haveSelection
  • WebView.subproj/WebHTMLViewPrivate.h:
3:45 PM Changeset in webkit [5995] by cblu
  • 1 edit in trunk/WebKit/ChangeLog

Fixed typo in previous ChangeLog.

3:44 PM Changeset in webkit [5994] by cblu
  • 2 edits in trunk/WebKit

Fixed build breakage.

Reviewed by darin.

  • WebKit.pbproj/project.pbxproj: Use full patch instead of -L to get at WebKitSecurity.a
3:39 PM Changeset in webkit [5993] by cblu
  • 1 edit in trunk/WebKit/ChangeLog

Fix some tabs (Darin made me do it).

3:38 PM Changeset in webkit [5992] by cblu
  • 5 edits
    1 add in trunk/WebKit

Fixed: <rdar://problem/3536624>: Webkit 1.2 links against SecurityNssAsn1.framework

Reviewed by Darin.

  • WebCoreSupport.subproj/WebKeyGeneration.h: Set DISABLE_WEB_KEY_GENERATION on Merlot for now.

Then don't include anything if that's set.

  • WebCoreSupport.subproj/WebKeyGeneration.cpp: Don't compile anything if DISABLE_WEB_KEY_GENERATION

is set.

  • WebCoreSupport.subproj/WebKeyGenerator.m: (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]):

Always return nil if DISABLE_WEB_KEY_GENERATION is set.

(-[WebKeyGenerator addCertificatesToKeychainFromData:]): Always return failure if

DISABLE_WEB_KEY_GENERATION is set.

  • WebKit.pbproj/project.pbxproj: Added shell build step to make library with security

libraries in it. On Merlot, makes empty library. Also added library to link options.

  • WebKitSecurityDummy.c: Added. Used to make empty version of library for build on Merlot.
11:08 AM Changeset in webkit [5991] by hyatt
  • 16 edits
    3 adds in trunk/WebCore

Add a new AtomicString type (that is really just a KJS::Identifier). Define a Name class that will eventually
be used for element and attribute names.

Atomize the CSS selector's "value" field, used to hold class names, identifier names, attribute values, and
pseudo-element names.

Reviewed by rjw

  • ForwardingHeaders/kjs/identifier.h: Added.
  • WebCore.pbproj/project.pbxproj:
  • khtml/css/css_base.cpp: (CSSSelector::print): (CSSSelector::specificity): (CSSSelector::extractPseudoType): (CSSSelector::selectorText):
  • khtml/css/css_base.h: (DOM::CSSSelector::):
  • khtml/css/cssparser.cpp: (ParseString::lower):
  • khtml/css/cssparser.h: (DOM::atomicString):
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::checkOneSelector):
  • khtml/css/parser.cpp:
  • khtml/css/parser.y:
  • khtml/html/html_elementimpl.cpp: (:NamedAttrMapImpl): (HTMLNamedAttrMapImpl::clearAttributes): (HTMLNamedAttrMapImpl::isHTMLAttributeMap): (HTMLNamedAttrMapImpl::parseClassAttribute): (HTMLNamedAttrMapImpl::matchesCSSClass): (HTMLElementImpl::parseAttribute): (HTMLElementImpl::createAttributeMap): (HTMLElementImpl::matchesCSSClass):
  • khtml/html/html_elementimpl.h:
  • khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::recalcStyle):
  • khtml/html/htmltokenizer.h: (khtml::Token::addAttribute):
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::matchesCSSClass): (NamedAttrMapImpl::isHTMLAttributeMap): (NamedAttrMapImpl::operator=):
  • khtml/xml/dom_elementimpl.h:
  • khtml/xml/dom_nameimpl.cpp: Added. (DOM::AtomicStringList::clone): (DOM::operator==): (DOM::equalsIgnoreCase):
  • khtml/xml/dom_nameimpl.h: Added. (DOM::AtomicStringList:::m_next): (DOM::AtomicStringList::m_next): (DOM::AtomicStringList::~AtomicStringList): (DOM::AtomicStringList::next): (DOM::AtomicStringList::setNext): (DOM::AtomicStringList::string): (DOM::AtomicStringList::setString): (DOM::AtomicStringList::clear): (DOM::Name::Name): (DOM::Name::m_localName): (DOM::Name::namespaceURI): (DOM::Name::localName): (DOM::operator==): (DOM::operator!=):
  • khtml/xml/dom_nodeimpl.h:
8:33 AM Changeset in webkit [5990] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3526056>: W3C says that DEL key identifier should be U+00007F, we give ForwardDelete instead
  • kwq/KWQEvent.mm: (keyIdentifierForKeyEvent): Correct the key identifiers for the Delete, Insert, Menu, Scroll Lock, and Select keys, as well as some obscure F25 and higher keys. Also add some explicit constants for the keys defined in NSEvent.h that we map to a key identifier using the vendor-area Unicode values (which are probably not appropriate).
2:01 AM Changeset in webkit [5989] by hyatt
  • 5 edits in trunk/WebCore

Make a change suggested by kocienda to add a remove() method to InlineBoxes.

Reviewed by kocienda

  • khtml/rendering/render_box.cpp: (RenderBox::detach): (RenderBox::position):
  • khtml/rendering/render_line.cpp: (InlineBox::remove):
  • khtml/rendering/render_line.h:
  • khtml/rendering/render_text.cpp: (RenderText::detach): (RenderText::position):

Jan 26, 2004:

10:27 PM Changeset in webkit [5988] by darin
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • follow-on to the text-align change I did earlier today
  • khtml/css/html4.css: Set input and textarea so they do not inherit text-align from their parent by doing "text-align: -khtml-auto". This fixes google.com among others.
9:55 PM Changeset in webkit [5987] by darin
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3539414>: pop-up windows appear very narrow because of bogus width (carad.com/ebaymotors)
  • khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Check the "OK" result from toFloat in window.open, and omit any parameters that can't be parsed.
9:35 PM Changeset in webkit [5986] by darin
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3537371>: REGRESSION (100-125): optgroup labels are no longer indented as they were before
  • khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement): Move code that adds spaces after code that strips whitespace. Also simplify the code a bit by using DOMString::string().
5:47 PM Changeset in webkit [5985] by darin
  • 3 edits in trunk/WebCore

Reviewed by Dave.

  • fixed <rdar://problem/3539286>: text with a transparent background color pastes as black on black
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString): Don't put color in the mutable string if it's entirely transparent.
  • kwq/KWQColor.mm: (QColor::getNSColor): Fix bug where we would return nil for RGBA of 0.
5:37 PM Changeset in webkit [5984] by darin
  • 6 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3529120>: text-align style property not respected on input fields
  • khtml/rendering/render_form.h: Added textAlignment function.
  • khtml/rendering/render_form.cpp: (RenderFormElement::textAlignment): Added. Converts style alignment to Qt alignment. (RenderLineEdit::setStyle): Call textAlignment intead of using direction from style. (RenderTextArea::setStyle): Call textAlignment intead of using direction from style.
  • kwq/KWQLineEdit.h: Added KWQNSTextAlignmentForAlignmentFlags function.
  • kwq/KWQLineEdit.mm: (QLineEdit::setAlignment): Use KWQNSTextAlignmentForAlignmentFlags instead of code that handles only left and right alignment. (KWQNSTextAlignmentForAlignmentFlags): Added. Converts Qt alignment to NS alignment.
  • kwq/KWQTextEdit.mm: (QTextEdit::setAlignment): Use KWQNSTextAlignmentForAlignmentFlags instead of code that handles only left and right alignment.
5:29 PM Changeset in webkit [5983] by darin
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

Reviewed by Dave.

  • fixed <rdar://problem/3477707>: background image with apostrophe in name missing at http://www.nbc.com
  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::parseAttribute): Use addCSSImageProperty instead of addCSSProperty, obviating the need for the "url()" syntax (and fixing quoting issues).
  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::parseAttribute): Ditto. (HTMLTablePartElementImpl::parseAttribute): Ditto.
  • khtml/html/html_elementimpl.h: Added addCSSStringProperty and addCSSImageProperty.
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::addCSSStringProperty): Added. Calls setStringProperty. Not used yet. (HTMLElementImpl::addCSSImageProperty): Added. Calls setImageProperty.
  • khtml/css/css_valueimpl.h: Added setStringProperty and setImageProperty.
  • khtml/css/css_valueimpl.cpp: (CSSStyleDeclarationImpl::setStringProperty): Added. Sets a property without parsing. (CSSStyleDeclarationImpl::setImageProperty): Added. Sets a property without parsing. You'd think we'd be able to just use setStringProperty, but that's not how the image properties work.
5:29 PM Changeset in webkit [5982] by darin
  • 7 edits in trunk/WebCore

Reviewed by Dave.

  • fixed <rdar://problem/3538433>: HomePage: table background URL with a single quote in it does not work
  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::parseAttribute): Use addCSSImageProperty instead of addCSSProperty, obviating the need for the "url()" syntax (and fixing quoting issues).
  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::parseAttribute): Ditto. (HTMLTablePartElementImpl::parseAttribute): Ditto.
  • khtml/html/html_elementimpl.h: Added addCSSStringProperty and addCSSImageProperty.
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::addCSSStringProperty): Added. Calls setStringProperty. Not used yet. (HTMLElementImpl::addCSSImageProperty): Added. Calls setImageProperty.
  • khtml/css/css_valueimpl.h: Added setStringProperty and setImageProperty.
  • khtml/css/css_valueimpl.cpp: (CSSStyleDeclarationImpl::setStringProperty): Added. Sets a property without parsing. (CSSStyleDeclarationImpl::setImageProperty): Added. Sets a property without parsing. You'd think we'd be able to just use setStringProperty, but that's not how the image properties work.
4:11 PM Changeset in webkit [5981] by darin
  • 6 edits in trunk

Tools:

  • CommitLogEditor/Makefile.am: Switch from pbxbuild to xcodebuild.
  • HotSpotFinder/Makefile.am: Switch from pbxbuild to xcodebuild.

JavaScriptCore:

  • Makefile.am: Switch from pbxbuild to xcodebuild.

Tests:

  • Makefile.am: Switch from pbxbuild to xcodebuild.
  • ObjcUnit/Makefile.am: Switch from pbxbuild to xcodebuild.
  • TestPlugin/Makefile.am: Switch from pbxbuild to xcodebuild.
  • WebFoundation-CacheLoader/Makefile.am: Switch from pbxbuild to xcodebuild.

WebCore:

  • Makefile.am: Switch from pbxbuild to xcodebuild.

WebKit:

  • Makefile.am: Switch from pbxbuild to xcodebuild.

WebBrowser:

  • Makefile.am: Switch from pbxbuild to xcodebuild.
2:42 PM Changeset in webkit [5980] by hyatt
  • 18 adds in trunk/LayoutTests/fast/css/namespaces

Namespace tests.

2:35 PM Changeset in webkit [5979] by darin
  • 3 edits in trunk/WebKit

Reviewed by John.

  • fixed <rdar://problem/3521379>: image dimensions uses lowercase x instead of multiplication sign
  • WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation title]): Change string to use multiplication sign instead of x.
  • English.lproj/Localizable.strings: Updated.
2:33 PM Changeset in webkit [5978] by hyatt
  • 17 edits
    2 adds in trunk/WebCore

Add CSS3 @namespace support. The whole way namespaces, element, and attribute names are being handled
right now is temporary. This code gives us a baseline of functionality (for regression testing) that we
can use when we implement namespaces "the right way."

Reviewed by darin

  • WebCore.pbproj/project.pbxproj:
  • khtml/css/css_base.cpp: (CSSSelector::specificity): (CSSSelector::selectorText):
  • khtml/css/css_base.h: (DOM::CSSNamespace::m_parent): (DOM::CSSNamespace::~CSSNamespace): (DOM::CSSNamespace::uri): (DOM::CSSNamespace::prefix): (DOM::CSSNamespace::namespaceForPrefix): (DOM::CSSSelector::CSSSelector):
  • khtml/css/css_stylesheetimpl.cpp: (CSSStyleSheetImpl::CSSStyleSheetImpl): (CSSStyleSheetImpl::addNamespace): (CSSStyleSheetImpl::determineNamespace):
  • khtml/css/css_stylesheetimpl.h: (DOM::CSSStyleSheetImpl::~CSSStyleSheetImpl):
  • khtml/css/cssparser.cpp: (CSSParser::CSSParser): (CSSParser::parseSheet):
  • khtml/css/cssparser.h:
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::styleForElement): (khtml::CSSStyleSelector::pseudoStyleForElement): (khtml::CSSStyleSelector::checkSelector): (khtml::CSSStyleSelector::checkOneSelector): (khtml::CSSStyleSelector::buildLists):
  • khtml/css/html4.css:
  • khtml/css/parser.cpp:
  • khtml/css/parser.y:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::~DocumentImpl): (DocumentImpl::attrId): (DocumentImpl::attrName): (DocumentImpl::tagId): (DocumentImpl::tagName): (DocumentImpl::namespaceURI):
  • khtml/xml/dom_elementimpl.cpp: (NamedAttrMapImpl::getAttributeItem):
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::checkSetPrefix):
  • khtml/xml/dom_nodeimpl.h: (DOM::namespacePart): (DOM::localNamePart): (DOM::makeId):
  • khtml/xml/dom_xmlimpl.cpp: (ProcessingInstructionImpl::checkStyleSheet):
  • khtml/xml/xml_namespace_table.cpp: Added. (DOM::XmlNamespaceTable::getNamespaceID): (DOM::XmlNamespaceTable::getNamespaceURI):
  • khtml/xml/xml_namespace_table.h: Added. (DOM::XmlNamespaceEntry::m_uri):
2:31 PM Changeset in webkit [5977] by darin
  • 2 edits in trunk/WebCore

Reviewed by Dave.

  • fixed <rdar://problem/3532519>: <select> menus show label property instead of tag contents (ups.com time and cost site)
  • khtml/html/html_formimpl.cpp: (HTMLOptionElementImpl::text): Ignore the label property as a quirk. Neither WinIE nor Mozilla implement the label property, so neither shall we (except on strict pages, where we just go crazy and do everything "right").
2:20 PM Changeset in webkit [5976] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Hyatt

  • khtml/rendering/render_line.h: (khtml::InlineBox::isFirstLineStyle): Helper to return whether the line box has the first line style bit set.
  • khtml/rendering/render_text.cpp: (RenderText::caretPos): Noe correctly accounts for white space which can precede an inline text box.
1:56 PM Changeset in webkit [5975] by hyatt
  • 17 edits in trunk/WebCore

Remove incremental repainting ifdef.

  • khtml/khtmlview.h:
  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::layoutInlineChildren):
  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::layoutBlock): (khtml::RenderBlock::layoutBlockChildren): (khtml::RenderBlock::repaintObjectsBeforeLayout): (khtml::RenderBlock::positionNewFloats):
  • khtml/rendering/render_block.h:
  • khtml/rendering/render_box.cpp: (RenderBox::computeAbsoluteRepaintRect): (RenderBox::repaintDuringLayoutIfMoved):
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_container.cpp: (RenderContainer::removeChildNode):
  • khtml/rendering/render_flexbox.cpp: (khtml::RenderFlexibleBox::layoutBlock): (khtml::RenderFlexibleBox::placeChild):
  • khtml/rendering/render_flow.cpp: (RenderFlow::getAbsoluteRepaintRect):
  • khtml/rendering/render_image.cpp: (RenderImage::layout):
  • khtml/rendering/render_layer.cpp: (RenderLayer::RenderLayer): (RenderLayer::computeRepaintRects): (RenderLayer::updateLayerPositions): (RenderLayer::updateLayerPosition): (RenderLayer::paintLayer):
  • khtml/rendering/render_layer.h: (khtml::RenderLayer::relativePositionOffset):
  • khtml/rendering/render_object.cpp: (RenderObject::setNeedsLayout): (RenderObject::setChildNeedsLayout): (RenderObject::markContainingBlocksForLayout): (RenderObject::getAbsoluteRepaintRectIncludingFloats): (RenderObject::detach): (RenderObject::scheduleRelayout):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_table.cpp: (RenderTable::layout): (RenderTableSection::layoutRows):
11:24 AM Changeset in webkit [5974] by hyatt
  • 22 edits in trunk/WebCore

Preserve the integrity of the line box tree when elements get removed. Change RenderText over to using
the same data structures as inlines and blocks for maintaining its list of line boxes.

Reviewed by kocienda

  • khtml/khtml_part.cpp: (KHTMLPart::text): (KHTMLPart::customEvent):
  • khtml/khtml_selection.cpp: (KHTMLSelection::nextCharacterPosition): (firstRunAt): (lastRunAt):
  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::layoutInlineChildren):
  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::removeChild):
  • khtml/rendering/render_box.cpp: (RenderBox::RenderBox): (RenderBox::detach): (RenderBox::position): (RenderBox::inlineBoxWrapper): (RenderBox::deleteLineBoxWrapper):
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_container.cpp: (RenderContainer::removeChildNode):
  • khtml/rendering/render_flow.cpp: (RenderFlow::detach):
  • khtml/rendering/render_line.cpp: (InlineFlowBox::removeChild):
  • khtml/rendering/render_line.h: (khtml::InlineBox::nextOnLine): (khtml::InlineBox::prevOnLine): (khtml::InlineBox::setNextOnLine): (khtml::InlineBox::setPrevOnLine): (khtml::InlineRunBox::prevLineBox): (khtml::InlineRunBox::nextLineBox):
  • khtml/rendering/render_object.cpp: (RenderObject::isEditable): (RenderObject::inlineBoxWrapper): (RenderObject::deleteLineBoxWrapper):
  • khtml/rendering/render_object.h: (khtml::RenderObject::documentBeingDestroyed):
  • khtml/rendering/render_text.cpp: (RenderText::RenderText): (RenderText::detach): (RenderText::deleteTextBoxes): (RenderText::absoluteRects): (RenderText::findNextInlineTextBox): (RenderText::nodeAtPoint): (RenderText::checkSelectionPointIgnoringContinuations): (RenderText::caretPos): (RenderText::paintObject): (RenderText::paint): (RenderText::minXPos): (RenderText::xPos): (RenderText::yPos): (RenderText::height): (RenderText::createInlineBox): (RenderText::position): (RenderText::width): (RenderText::caretMinOffset): (RenderText::caretMaxOffset):
  • khtml/rendering/render_text.h: (khtml::InlineTextBox:::InlineRunBox): (khtml::InlineTextBox::nextTextBox): (khtml::InlineTextBox::prevTextBox): (khtml::RenderText::firstTextBox): (khtml::RenderText::lastTextBox):
  • kwq/KWQAccObject.mm: (-[KWQAccObject accessibilityIsIgnored]):
  • kwq/KWQDef.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString):
  • kwq/KWQRenderTreeDebug.cpp: (write):

Jan 24, 2004:

11:13 AM Changeset in webkit [5973] by hyatt
  • 2 edits in trunk/WebCore

Polish the error message from the xml tokenizer.

  • khtml/xml/xml_tokenizer.cpp: (XMLTokenizer::finish):

Jan 23, 2004:

4:59 PM Changeset in webkit [5972] by kocienda
  • 4 edits in trunk

WebCore:

Reviewed by Richard

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setShowsFirstResponder): Now adjusts caret visibility apprpropriately.

WebKit:

Reviewed by Richard

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView updateShowsFirstResponder]): Renamed from updateFocusRing: since it is now used to kill caret blink timer. (-[WebHTMLView windowDidBecomeKey:]): Now calls new updateShowsFirstResponder method. (-[WebHTMLView windowDidResignKey:]): Ditto.
11:34 AM Changeset in webkit [5971] by hyatt
  • 10 edits in trunk/WebCore

Stub out @namespace support. Implement the callbacks into the stylesheet that will enable us to
store namespace information for simple selectors.

Basically with this patch we no longer bomb when we encounter namespaced stylesheets, but we don't handle
them properly yet either.

Reviewed by kocienda

  • khtml/css/css_stylesheetimpl.cpp: (CSSStyleSheetImpl::addNamespace): (CSSStyleSheetImpl::determineNamespace):
  • khtml/css/css_stylesheetimpl.h:
  • khtml/css/cssparser.cpp: (DOM::CSSParser::lex):
  • khtml/css/cssparser.h:
  • khtml/css/parser.cpp:
  • khtml/css/parser.h:
  • khtml/css/parser.y:
  • khtml/css/tokenizer.cpp:
  • khtml/css/tokenizer.flex:
10:55 AM Changeset in webkit [5970] by kocienda
  • 49 edits
    13 adds in trunk/WebCore

Reviewed by Hyatt

Merged HTML editing progress to TOT from the branch
I have been maintaining.

  • khtml/dom/dom_position.cpp: Added.
  • khtml/dom/dom_position.h: Added.
  • khtml/editing/htmlediting.cpp: Added.
  • khtml/editing/htmlediting.h: Added.
  • khtml/khtml_selection.cpp: Added.
  • khtml/khtml_selection.h: Added.
9:27 AM Changeset in webkit [5969] by kocienda
  • 29 edits
    2 adds in branches/HTML-editing-hacks-branch/WebCore

Reviewed by me

Check in before moving to HEAD.
Many more cleanups and work on caret navigation.

  • WebCore.pbproj/project.pbxproj:
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyRule):
  • khtml/editing/htmlediting.cpp: (EditCommand::deleteSelection): (EditCommand::pruneEmptyNodes): (EditCommand::removeNode): (InputTextCommand::apply): (DeleteTextCommand::apply):
  • khtml/editing/htmlediting.h:
  • khtml/html/html_elementimpl.cpp:
  • khtml/html/html_elementimpl.h:
  • khtml/html/html_inlineimpl.h:
  • khtml/khtml_part.cpp: (KHTMLPart::handleMousePressEventDoubleClick): (KHTMLPart::handleMousePressEventTripleClick): (KHTMLPart::khtmlMousePressEvent): (KHTMLPart::handleMouseMoveEventSelection): (KHTMLPart::khtmlMouseReleaseEvent):
  • khtml/khtml_selection.cpp: (KHTMLSelection::setSelection): (KHTMLSelection::setBase): (KHTMLSelection::setExtent): (KHTMLSelection::alterSelection): (KHTMLSelection::clearSelection): (KHTMLSelection::setVisible): (KHTMLSelection::invalidate): (KHTMLSelection::update): (KHTMLSelection::repaint): (KHTMLSelection::expandSelection): (KHTMLSelection::calculateStartAndEnd): (KHTMLSelection::nextCharacterPosition): (startAndEndLineNodesIncludingNode):
  • khtml/khtml_selection.h: (KHTMLSelection::):
  • khtml/khtmlpart_p.h:
  • khtml/khtmlview.cpp:
  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::paintObject):
  • khtml/rendering/render_object.cpp: (RenderObject::nextRenderer): (RenderObject::previousRenderer): (RenderObject::isEditable): (RenderObject::nextEditable): (RenderObject::previousEditable): (RenderObject::backslashAsCurrencySymbol):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_style.h: (khtml::RenderStyle::initialUserModify):
  • khtml/rendering/render_text.cpp: (RenderText::setText): (RenderText::caretMaxOffset): (RenderText::precedesLineBreak): (RenderText::followsLineBreak):
  • khtml/rendering/render_text.h:
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::createAttributeMap): (ElementImpl::defaultEventHandler):
  • khtml/xml/dom_elementimpl.h:
  • khtml/xml/dom_nodeimpl.h: (DOM::NodeImpl::isHTMLElement):
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::khtmlMouseMoveEvent):

Jan 22, 2004:

6:34 PM Changeset in webkit [5968] by hyatt
  • 3 edits
    8 adds in trunk

Fix a bug I accidentally introduced in static positioned elements. Add more margin collapsing tests.

  • ChangeLog:
  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::layoutBlockChildren):
  • layout-tests/fast/block/margin-collapse/044-expected.txt: Added.
  • layout-tests/fast/block/margin-collapse/044.html: Added.
  • layout-tests/fast/block/margin-collapse/045-expected.txt: Added.
  • layout-tests/fast/block/margin-collapse/045.html: Added.
  • layout-tests/fast/block/margin-collapse/062-expected.txt: Added.
  • layout-tests/fast/block/margin-collapse/062.html: Added.
  • layout-tests/fast/block/margin-collapse/063-expected.txt: Added.
  • layout-tests/fast/block/margin-collapse/063.html: Added.
  • layout-tests/fast/block/positioning/007-expected.txt:
5:53 PM Changeset in webkit [5967] by hyatt
  • 23 edits
    18 adds in trunk/WebCore

(1) Implement better XML error handling.
(2) Fix a minor z-index bug with the 'initial' value.
(3) Initial landing of XBL support. Code is all ifnef KHTML_NO_XBL so that it can be turned off easily if
XBL never comes to fruition.

Reviewed by darin

  • ForwardingHeaders/xbl/xbl_binding_manager.h: Added.
  • ForwardingHeaders/xbl/xbl_docimpl.h: Added.
  • WebCore.pbproj/project.pbxproj:
  • khtml/css/cssparser.cpp: (CSSParser::parseValue):
  • khtml/css/cssproperties.c: (hash_prop): (findProp):
  • khtml/css/cssproperties.h:
  • khtml/css/cssproperties.in:
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyRule):
  • khtml/dom/dom_element.cpp: (Element::getAttributeNS):
  • khtml/misc/loader.cpp: (CachedXBLDocument::CachedXBLDocument): (CachedXBLDocument::~CachedXBLDocument): (CachedXBLDocument::ref): (CachedXBLDocument::deref): (CachedXBLDocument::data): (CachedXBLDocument::checkNotify): (CachedXBLDocument::error): (DocLoader::requestXBLDocument): (Cache::requestXBLDocument): (CachedObjectClient::setXBLDocument): (Cache::getStatistics):
  • khtml/misc/loader.h: (khtml::CachedObject::): (khtml::CachedXBLDocument::document): (khtml::CachedXBLDocument::schedule):
  • khtml/misc/loader_client.h:
  • khtml/rendering/render_style.cpp: (bindingURI): (marquee): (StyleCSS3NonInheritedData::~StyleCSS3NonInheritedData): (StyleCSS3NonInheritedData::bindingsEquivalent): (StyleCSS3NonInheritedData::operator==): (:m_next): (BindingURI::~BindingURI): (BindingURI::copy): (BindingURI::operator==): (RenderStyle::addBindingURI):
  • khtml/rendering/render_style.h: (khtml::BindingURI::operator!=): (khtml::BindingURI::next): (khtml::BindingURI::setNext): (khtml::BindingURI::uri): (khtml::RenderStyle::bindingURIs): (khtml::RenderStyle::setHasAutoZIndex): (khtml::RenderStyle::setZIndex): (khtml::RenderStyle::deleteBindingURIs): (khtml::RenderStyle::inheritBindingURIs):
  • khtml/xbl/xbl_binding.cpp: Added. (XBL::m_markedForDeath): (XBL::XBLBindingChain::~XBLBindingChain): (XBL::XBLBindingChain::firstStyleBindingChain): (XBL::XBLBindingChain::lastBindingChain): (XBL::XBLBindingChain::insertBindingChain): (XBL::XBLBindingChain::markForDeath): (XBL::XBLBindingChain::loaded): (XBL::XBLBindingChain::hasStylesheets): (XBL::XBLBindingChain::failed): (XBL::m_nextBinding): (XBL::XBLBinding::~XBLBinding): (XBL::XBLBinding::loaded): (XBL::XBLBinding::setXBLDocument):
  • khtml/xbl/xbl_binding.h: Added. (XBL::): (XBL::XBLBindingChain::uri): (XBL::XBLBindingChain::nextChain): (XBL::XBLBindingChain::previousChain): (XBL::XBLBindingChain::setNextBindingChain): (XBL::XBLBindingChain::setPreviousBindingChain): (XBL::XBLBindingChain::markedForDeath): (XBL::XBLBindingChain::element):
  • khtml/xbl/xbl_binding_manager.cpp: Added. (XBL::m_bindingChainTable): (XBL::XBLBindingManager::~XBLBindingManager): (XBL::XBLBindingManager::getBindingChain): (XBL::XBLBindingManager::setBindingChain): (XBL::XBLBindingManager::loadBindings): (XBL::XBLBindingManager::checkLoadState):
  • khtml/xbl/xbl_binding_manager.h: Added.
  • khtml/xbl/xbl_docimpl.cpp: Added. (XBL:::DocumentImpl): (XBL::XBLDocumentImpl::~XBLDocumentImpl): (XBL::XBLDocumentImpl::createTokenHandler): (XBL::XBLDocumentImpl::setPrototypeBinding): (XBL::XBLDocumentImpl::prototypeBinding):
  • khtml/xbl/xbl_docimpl.h: Added. (XBL::):
  • khtml/xbl/xbl_protobinding.cpp: Added. (XBL::m_handler): (XBL::XBLPrototypeBinding::initialize): (XBL::XBLPrototypeBinding::document): (XBL::XBLPrototypeBinding::addResource):
  • khtml/xbl/xbl_protobinding.h: Added. (XBL::XBLPrototypeBinding::element): (XBL::XBLPrototypeBinding::setHandler): (XBL::XBLPrototypeBinding::handler):
  • khtml/xbl/xbl_protohandler.cpp: Added. (XBL::m_unused): (XBL::XBLPrototypeHandler::~XBLPrototypeHandler): (XBL::XBLPrototypeHandler::appendData):
  • khtml/xbl/xbl_protohandler.h: Added. (XBL::XBLPrototypeHandler::setNext): (XBL::XBLPrototypeHandler::next):
  • khtml/xbl/xbl_protoimplementation.cpp: Added. (XBL::m_compiled): (XBL::m_next): (XBL::XBLPrototypeMember::appendData): (XBL:::XBLPrototypeMember): (XBL::XBLPrototypeMethod::isConstructor): (XBL::XBLPrototypeMethod::isDestructor): (XBL::XBLPrototypeMethod::addParameter): (XBL:::XBLPrototypeMethod): (XBL::XBLPrototypeConstructor::isConstructor): (XBL::XBLPrototypeDestructor::isDestructor): (XBL::m_readonly): (XBL::XBLPrototypeProperty::appendGetterText): (XBL::XBLPrototypeProperty::appendSetterText):
  • khtml/xbl/xbl_protoimplementation.h: Added. (XBL::XBLPrototypeMember::~XBLPrototypeMember): (XBL::XBLPrototypeMember::setNext): (XBL::XBLPrototypeMember::next): (XBL::XBLPrototypeImplementation::~XBLPrototypeImplementation): (XBL::XBLPrototypeImplementation::setMember): (XBL::XBLPrototypeParameter::m_next): (XBL::XBLPrototypeParameter::~XBLPrototypeParameter): (XBL::XBLPrototypeParameter::next): (XBL::XBLPrototypeParameter::setNext): (XBL::):
  • khtml/xbl/xbl_tokenizer.cpp: Added. (XBL::XBLTokenHandler::XBLTokenHandler): (XBL::XBLTokenHandler::~XBLTokenHandler): (XBL::XBLTokenHandler::xblDocument): (XBL::XBLTokenHandler::startElement): (XBL::XBLTokenHandler::endElement): (XBL::XBLTokenHandler::characters): (XBL::XBLTokenHandler::createBinding): (XBL::XBLTokenHandler::createHandler): (XBL::XBLTokenHandler::createResource): (XBL::XBLTokenHandler::createImplementation): (XBL::XBLTokenHandler::addMember): (XBL::XBLTokenHandler::createConstructor): (XBL::XBLTokenHandler::createDestructor): (XBL::XBLTokenHandler::createField): (XBL::XBLTokenHandler::createProperty): (XBL::XBLTokenHandler::createMethod): (XBL::XBLTokenHandler::createParameter):
  • khtml/xbl/xbl_tokenizer.h: Added. (XBL::):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::~DocumentImpl): (DocumentImpl::createTokenHandler): (DocumentTypeImpl::DocumentTypeImpl): (DocumentTypeImpl::~DocumentTypeImpl):
  • khtml/xml/dom_docimpl.h: (DOM::DocumentImpl::bindingManager):
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::getAttributeNS): (ElementImpl::childAllowed):
  • khtml/xml/dom_elementimpl.h: (DOM::ElementImpl::getAttribute):
  • khtml/xml/dom_nodeimpl.cpp:
  • khtml/xml/xml_tokenizer.cpp: (XMLHandler::XMLHandler): (XMLHandler::startDocument): (XMLHandler::startElement): (XMLHandler::endElement): (XMLHandler::startCDATA): (XMLHandler::endCDATA): (XMLHandler::characters): (XMLHandler::comment): (XMLHandler::processingInstruction): (XMLHandler::warning): (XMLHandler::error): (XMLHandler::fatalError): (XMLTokenizer::finish):
  • khtml/xml/xml_tokenizer.h:
  • kwq/KWQXmlSimpleReader.h: (QXmlSimpleReader::sawError): (QXmlSimpleReader::recordError):
  • kwq/KWQXmlSimpleReader.mm: (warningHandler): (fatalErrorHandler): (normalErrorHandler): (QXmlSimpleReader::parse):
5:14 PM Changeset in webkit [5966] by rjw
  • 4 edits
    2 adds in trunk/JavaScriptCore

Added stubs for ObjC language binding to JavaScript.

  • JavaScriptCore.pbproj/project.pbxproj:
  • bindings/jni/jni_runtime.h:
  • bindings/objc/objc_runtime.h: Added. (KJS::Bindings::ObjcParameter::ObjcParameter): (KJS::Bindings::ObjcParameter::~ObjcParameter): (KJS::Bindings::ObjcParameter::operator=): (KJS::Bindings::ObjcParameter::type): (KJS::Bindings::ObjcConstructor::ObjcConstructor): (KJS::Bindings::ObjcConstructor::~ObjcConstructor): (KJS::Bindings::ObjcConstructor::_commonCopy): (KJS::Bindings::ObjcConstructor::operator=): (KJS::Bindings::ObjcConstructor::value): (KJS::Bindings::ObjcConstructor::parameterAt): (KJS::Bindings::ObjcConstructor::numParameters): (KJS::Bindings::ObjcField::ObjcField): (KJS::Bindings::ObjcField::~ObjcField):
  • bindings/runtime.h:
5:10 PM Changeset in webkit [5965] by cblu
  • 10 edits in trunk

WebCore:

Fixed: <rdar://problem/3537542>: support for copying HTML

Reviewed by dave.

  • khtml/xml/dom2_rangeimpl.cpp: (RangeImpl::toHTML): implemented
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::recursive_toHTMLWithRange): new
  • khtml/xml/dom_nodeimpl.h:
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge selectedHTML]): new (-[WebCoreBridge reconstructedSource]): new

WebKit:

Fixed: <rdar://problem/3537542>: support for copying HTML

Reviewed by dave.

  • WebView.subproj/WebHTMLRepresentation.h:
  • WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation reconstructedSource]): for BLOT's eventual use
  • WebView.subproj/WebHTMLView.m: (+[WebHTMLView _pasteboardTypes]): provide NSHTMLPboardType (-[WebHTMLView _writeSelectionToPasteboard:]): add HTML to the pasteboard
4:42 PM Changeset in webkit [5964] by rjw
  • 5 edits in trunk/JavaScriptCore

Simplified JavaString by using UString as backing store. This
revealed a bug in CString's assignment operator which I fixed.

Removed some dead code.

Reviewed by John.

  • bindings/jni/jni_runtime.h: (KJS::Bindings::JavaString::JavaString): (KJS::Bindings::JavaString::_commonInit): (KJS::Bindings::JavaString::UTF8String): (KJS::Bindings::JavaString::uchars): (KJS::Bindings::JavaString::length): (KJS::Bindings::JavaString::ustring):
  • bindings/runtime_object.cpp: (RuntimeObjectImp::RuntimeObjectImp):
  • bindings/runtime_object.h:
  • kjs/ustring.cpp: (KJS::CString::CString): (KJS::CString::operator=):
2:59 PM Changeset in webkit [5963] by rjw
  • 1 edit in trunk/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj

Forgot to export this as a private header.

2:29 PM Changeset in webkit [5962] by rjw
  • 1 edit
    2 adds
    2 deletes in trunk/JavaScriptCore

Moved jni_jsobject.* to the jni directory.

11:42 AM Changeset in webkit [5961] by sullivan
  • 2 edits in trunk/WebKit

Tests:

  • Blot/blot-tasks.txt Added tasks for supporting preference panels

WebKit:

Reviewed by Chris.

  • English.lproj/StringsNotToBeLocalized.txt: brought this file back up to date

WebBrowser:

  • fixed <rdar://problem/3522522>: Tooltip typo: "word of phrase" instead of "word or phrase"
  • removed hack that we added at the last minute to get the copyright string correct

Reviewed by Chris.

  • BrowserApplication.m: (-[BrowserApplication orderFrontStandardAboutPanel:]): removed AppKit-string-snarfing hack; now we use a normal localizable string for the copyright string in the About box.
  • BrowserWindowController.m: (-[BrowserWindowController setUpSearchField]): fixed typo that was previously fixed only in the English localization
  • English.lproj/Localizable.strings:
  • English.lproj/StringsNotToBeLocalized.txt: brought these two files up to date
8:45 AM Changeset in webkit [5960] by darin
  • 2 edits in trunk/WebKit
  • fixed 3536624: Webkit 1.2 links against SecurityNssAsn1.framework
  • WebKit.pbproj/project.pbxproj: Remove SecurityNssAsn1.framework from the list we link against. It's still included in the list for places to find headers.
1:18 AM Changeset in webkit [5959] by hyatt
  • 4 adds in trunk/LayoutTests/fast/block/margin-collapse

Adding even more margin collapsing tests... courtesy of Hixie.

Jan 21, 2004:

7:10 PM Changeset in webkit [5958] by hyatt
  • 1 edit in trunk/WebCore/WebCore.pbproj/project.pbxproj

Fix build bustage.

6:59 PM Changeset in webkit [5957] by hyatt
  • 1 edit in trunk/WebCore/WebCore.pbproj/project.pbxproj

Fix build bustage with libxml include path.

6:52 PM Changeset in webkit [5956] by hyatt
  • 6 adds in trunk/LayoutTests/fast/block/margin-collapse

Add margin collapsing tests.

6:49 PM Changeset in webkit [5955] by hyatt
  • 2 edits in trunk/WebCore

Fix for two margin collapsing edge cases.

Reviewed by darin

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::layoutBlockChildren):
6:45 PM Changeset in webkit [5954] by hyatt
  • 6 edits
    1 delete in trunk/WebCore

Switch from expat to libxml and implement namespace support in the simplereader.

Reviewed by darin

  • ChangeLog:
  • expat/Changes: Removed.
  • expat/MANIFEST: Removed.
  • expat/README: Removed.
  • expat/expat_config.h: Removed.
  • expat/lib/ascii.h: Removed.
  • expat/lib/asciitab.h: Removed.
  • expat/lib/expat.h: Removed.
  • expat/lib/iasciitab.h: Removed.
  • expat/lib/internal.h: Removed.
  • expat/lib/latin1tab.h: Removed.
  • expat/lib/nametab.h: Removed.
  • expat/lib/utf8tab.h: Removed.
  • expat/lib/xmlparse.c: Removed.
  • expat/lib/xmlrole.c: Removed.
  • expat/lib/xmlrole.h: Removed.
  • expat/lib/xmltok.c: Removed.
  • expat/lib/xmltok.h: Removed.
  • expat/lib/xmltok_impl.c: Removed.
  • expat/lib/xmltok_impl.h: Removed.
  • expat/lib/xmltok_ns.c: Removed.
  • kwq/KWQXmlAttributes.h: (QXmlAttributes::QXmlAttributes): (QXmlAttributes::qName): (QXmlAttributes::uri):
  • kwq/KWQXmlAttributes.mm: (QXmlAttributes::QXmlAttributes): (QXmlAttributes::~QXmlAttributes): (QXmlAttributes::operator=): (QXmlAttributes::localName): (QXmlAttributes::split):
  • kwq/KWQXmlSimpleReader.h: (KWQXmlNamespace::m_ref): (KWQXmlNamespace::uriForPrefix): (KWQXmlNamespace::ref): (KWQXmlNamespace::deref): (QXmlParseException::QXmlParseException): (QXmlParseException::message): (QXmlParseException::columnNumber): (QXmlParseException::lineNumber): (QXmlSimpleReader::errorHandler): (QXmlSimpleReader::xmlNamespace): (QXmlSimpleReader::parserStopped):
  • kwq/KWQXmlSimpleReader.mm: (startElementHandler): (endElementHandler): (charactersHandler): (processingInstructionHandler): (cdataBlockHandler): (commentHandler): (warningHandler): (fatalErrorHandler): (QXmlSimpleReader::pushNamespaces): (QXmlSimpleReader::popNamespaces): (QXmlSimpleReader::parse): (QXmlSimpleReader::stopParsing): (QXmlSimpleReader::lineNumber): (QXmlSimpleReader::columnNumber):
6:30 PM Changeset in webkit [5953] by hyatt
  • 4 edits in trunk/WebCore

Add some methods to dicts and stacks that exist in Qt.

Reviewed by darin

  • kwq/KWQDict.h: (QDict::replace):
  • kwq/KWQPtrDict.h: (QPtrDict::replace): (QPtrDict::find):
  • kwq/KWQPtrStack.h: (QPtrStack::current): (QPtrStack::setAutoDelete):
2:25 PM Changeset in webkit [5952] by vicki
  • 3 edits in trunk

change version number to from '125' to '126u'

2:13 PM Changeset in webkit [5951]
  • 3 copies in tags/Safari-125

This commit was manufactured by cvs2svn to create tag 'Safari-125'.

2:13 PM Changeset in webkit [5950]
  • 3 copies in branches/Safari-1-2-tarballs-branch

This commit was manufactured by cvs2svn to create branch
'Safari-1-2-tarballs-branch'.

2:13 PM Changeset in webkit [5949]
  • 3 copies in tags/Safari-1-2-tarballs-anchor

This commit was manufactured by cvs2svn to create tag
'Safari-1-2-tarballs-anchor'.

2:13 PM Changeset in webkit [5948]
  • 3 copies in tags/Safari-1-2-anchor

This commit was manufactured by cvs2svn to create tag
'Safari-1-2-anchor'.

2:13 PM Changeset in webkit [5947]
  • 3 copies in tags/Safari-1-2

This commit was manufactured by cvs2svn to create tag 'Safari-1-2'.

2:13 PM Changeset in webkit [5946]
  • 3 copies
    1 delete in branches/SUPanFeldspar-branch

This commit was manufactured by cvs2svn to create branch
'SUPanFeldspar-branch'.

2:13 PM Changeset in webkit [5945] by vicki
  • 6 edits in trunk

Safari-125 stamp

Jan 20, 2004:

4:58 PM Changeset in webkit [5944] by vicki
  • 1 edit in branches/SUPanBisque-branch/WebCore/ChangeLog-2005-08-23

added a release marker for Security Update fix, WebCore-106.4

4:55 PM Changeset in webkit [5943] by vicki
  • 1 edit in branches/Safari-1-0-branch/WebCore/ChangeLog-2005-08-23

added a release marker for Security Update fix, WebCore-85.6

4:51 PM Changeset in webkit [5942] by kocienda
  • 3 edits in branches/HTML-editing-hacks-branch/WebCore

Reviewed by me.

With one very small exception, deleting new lines,
editing is back to where it was before I started
my caret-to-selection makeover.

  • khtml/editing/htmlediting.cpp: (EditCommand::EditCommand): (EditCommand::notifyChanged): (EditCommand::deleteSelection): (EditCommand::pruneEmptyNodes): (DeleteTextCommand::apply):
  • khtml/editing/htmlediting.h: (khtml::EditCommand::document):
4:39 PM Changeset in webkit [5941]
  • 9 copies
    2 deletes in tags/WebCore-85~6

This commit was manufactured by cvs2svn to create tag 'WebCore-85~6'.

4:39 PM Changeset in webkit [5940] by vicki
  • 1 edit in branches/Safari-1-0-branch/WebCore/WebCore.pbproj/project.pbxproj
  • bump WebCore version number from 85.5 to 85.6, for Security Update fix <rdar://problem/3533737>: Safari allows upload of arbitrary local files w/o user's knowledge or permission (SUJagBullet)
4:24 PM Changeset in webkit [5939] by kocienda
  • 10 edits in branches/HTML-editing-hacks-branch/WebCore

Reviewed by me.

Editing is basically working again. I have
some crashers to hunt down when deleting, but
this is a good checkpoint.

  • khtml/editing/htmlediting.cpp: (EditCommand::pruneEmptyNodes): (InputTextCommand::apply): (DeleteTextCommand::apply):
  • khtml/khtml_selection.cpp: (KHTMLSelection::KHTMLSelection): (KHTMLSelection::operator=): (KHTMLSelection::setSelection): (KHTMLSelection::startNode): (KHTMLSelection::startOffset): (KHTMLSelection::endNode): (KHTMLSelection::endOffset): (KHTMLSelection::setStart): (KHTMLSelection::setStartOffset): (KHTMLSelection::setEnd):
  • khtml/khtml_selection.h: (KHTMLSelection::dump):
3:27 PM Changeset in webkit [5938] by kocienda
  • 13 edits
    1 delete in branches/HTML-editing-hacks-branch/WebCore

Reviewed by me

Some more clean up. Removed vestiges of old
standalone caret object. Fixed up some caret
repaint issues. Switched over editing commands
to use new selection object.

  • ForwardingHeaders/editing/edit_caret.h: Removed.
  • WebCore.pbproj/project.pbxproj:
  • khtml/editing/htmlediting.cpp: (EditCommand::pruneEmptyNodes): (InputTextCommand::apply): (DeleteTextCommand::apply):
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::defaultEventHandler):
  • khtml/khtml_part.cpp: (KHTMLPart::topLevelFrameCount):
  • khtml/khtml_part.h:
  • khtml/khtml_selection.cpp: (KHTMLSelection::invalidate): (KHTMLSelection::repaint):
  • khtml/khtmlpart_p.h:
  • khtml/khtmlview.cpp: (KHTMLView::clear): (KHTMLView::resizeEvent): (KHTMLView::focusInEvent): (KHTMLView::focusOutEvent):
  • kwq/KWQKHTMLPart.mm:
3:16 PM Changeset in webkit [5937]
  • 30 copies
    2 deletes in tags/WebCore-106~4

This commit was manufactured by cvs2svn to create tag
'WebCore-106~4'.

3:16 PM Changeset in webkit [5936] by vicki
  • 1 edit in branches/SUPanBisque-branch/WebCore/WebCore.pbproj/project.pbxproj

bumped the WebCore version from 106.3 to 106.4, for Security Update fix <rdar://problem/3533734>: Safari allows upload of arbitrary local files w/o user's knowledge or permission (SUPanXpress)

2:30 PM Changeset in webkit [5935] by kocienda
  • 7 edits in branches/HTML-editing-hacks-branch/WebCore

Reviewed by me

Cleanups to caret painting.

  • khtml/khtml_part.cpp: (KHTMLPart::khtmlMouseReleaseEvent):
  • khtml/khtml_selection.cpp: (KHTMLSelection::clearSelection): (KHTMLSelection::paint):
  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::paintObject):
2:05 PM Changeset in webkit [5934] by kocienda
  • 10 edits in branches/HTML-editing-hacks-branch/WebCore

Reviewed by me

Gor caret painting limping along again.

  • khtml/khtml_part.cpp: (KHTMLPart::init): (KHTMLPart::getKHTMLSelection): (KHTMLPart::khtmlMouseReleaseEvent): (KHTMLPart::isEditingAtCaret):
  • khtml/khtml_part.h:
  • khtml/khtml_selection.cpp: (KHTMLSelection::clearSelection): (KHTMLSelection::invalidate):
  • khtml/khtmlview.cpp: (KHTMLView::layout):
  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::paintObject):
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::paint):
11:29 AM Changeset in webkit [5933] by kocienda
  • 2 edits in branches/HTML-editing-hacks-branch/WebCore

Reviewed by me

Removed the last remnants of the now-obsolete
CaretViewContext class.

  • khtml/khtmlview.cpp: (KHTMLViewPrivate::KHTMLViewPrivate): (KHTMLViewPrivate::~KHTMLViewPrivate): (KHTMLView::drawContents):
11:23 AM Changeset in webkit [5932] by kocienda
  • 14 edits in branches/HTML-editing-hacks-branch/WebCore

Reviewed by me

A lot of cleanup to the way selections are made
with the mouse by clicking and dragging. A lot
of code was made simpler, and much of the
remaining logic was moved from KHTMLPart to
KHTMLSelection.

  • khtml/khtml_part.cpp: (KHTMLPart::hasSelection): (KHTMLPart::handleMousePressEventDoubleClick): (KHTMLPart::handleMousePressEventTripleClick): (KHTMLPart::khtmlMousePressEvent): (KHTMLPart::handleMouseMoveEventSelection): (KHTMLPart::khtmlMouseReleaseEvent): (KHTMLPart::selectAll):
  • khtml/khtml_selection.cpp: (KHTMLSelection::KHTMLSelection): (KHTMLSelection::operator=): (KHTMLSelection::startNode): (KHTMLSelection::startOffset): (KHTMLSelection::endNode): (KHTMLSelection::endOffset): (KHTMLSelection::invalidate): (KHTMLSelection::setBaseNode): (KHTMLSelection::setBaseOffset): (KHTMLSelection::setExtentNode): (KHTMLSelection::setExtentOffset): (KHTMLSelection::setStartNode): (KHTMLSelection::setStartOffset): (KHTMLSelection::setEndNode): (KHTMLSelection::setEndOffset): (KHTMLSelection::expandSelection): (KHTMLSelection::calculateStartAndEnd): (findWordBoundary): (firstRunAt): (lastRunAt): (startAndEndLineNodesIncludingNode):
  • khtml/khtml_selection.h: (KHTMLSelection::): (KHTMLSelection::baseNode): (KHTMLSelection::baseOffset): (KHTMLSelection::extentNode): (KHTMLSelection::extentOffset): (operator==):
  • khtml/khtmlpart_p.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::setSelection):
  • khtml/xml/dom_docimpl.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::khtmlMouseMoveEvent):

Jan 19, 2004:

5:18 PM Changeset in webkit [5931] by mjs
  • 2 edits in branches/Safari-1-0-branch/WebCore

Merged security fix from HEAD. Clone for this branch is:

<rdar://problem/3533737>: Safari allows upload of arbitrary local files w/o user's knowledge or permission (SUJagBullet)

2004-01-19 Maciej Stachowiak <mjs@apple.com>

Reviewed by John, Ken, Dave.

<rdar://problem/3533319>: Safari allows upload of arbitrary local files w/o user's knowledge or permission

  • khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::value): Don't fall back to the value attribute for file inputs, since that way malicious HTML could force the user to upload files unexpectedly.
5:13 PM Changeset in webkit [5930] by mjs
  • 2 edits in branches/SUPanBisque-branch/WebCore

Merged fix from HEAD to address. Clone for this branch is:

<rdar://problem/3533734>: Safari allows upload of arbitrary local files w/o user's knowledge or permission (SUPanXpress)

2004-01-19 Maciej Stachowiak <mjs@apple.com>

Reviewed by John, Ken, Dave.

<rdar://problem/3533319>: Safari allows upload of arbitrary local files w/o user's knowledge or permission

  • khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::value): Don't fall back to the value attribute for file inputs, since that way malicious HTML could force the user to upload files unexpectedly.
4:58 PM Changeset in webkit [5929] by mjs
  • 2 edits in trunk/WebCore

Reviewed by John, Ken, Dave.

<rdar://problem/3533319>: Safari allows upload of arbitrary local files w/o user's knowledge or permission

  • khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::value): Don't fall back to the value attribute for file inputs, since that way malicious HTML could force the user to upload files unexpectedly.
4:09 PM Changeset in webkit [5928] by kocienda
  • 17 edits in branches/HTML-editing-hacks-branch/WebCore

Reviewed by me.

Made KHTMLPart now use a KHTMLSelection object rather
than its own member variables to track the selection.

Reorganized KHTMLSelection to use a "base and extent"
rather than a "start and end". This makes the "pivot
around mouse click" behavior while clicking and
dragging to make a selection much easier to implement.

Some other improvements to KHTMLSelection as well,
like some more overloaded operators.

  • khtml/editing/htmlediting.cpp: (EditCommand::deleteSelection):
  • khtml/khtml_part.cpp: (KHTMLPart::init): (KHTMLPart::clear): (KHTMLPart::findTextNext): (KHTMLPart::hasSelection): (KHTMLPart::selection): (KHTMLPart::setSelection): (KHTMLPart::slotClearSelection): (startAndEndLineNodesIncludingNode): (KHTMLPart::isPointInsideSelection): (KHTMLPart::handleMousePressEventDoubleClick): (KHTMLPart::handleMousePressEventTripleClick): (KHTMLPart::handleMousePressEventSingleClick): (KHTMLPart::handleMouseMoveEventSelection): (KHTMLPart::khtmlMouseReleaseEvent): (KHTMLPart::selectAll): (KHTMLPart::caret):
  • khtml/khtml_part.h:
  • khtml/khtml_selection.cpp: (KHTMLSelection::KHTMLSelection): (KHTMLSelection::~KHTMLSelection): (KHTMLSelection::operator=): (KHTMLSelection::setSelection): (KHTMLSelection::setBase): (KHTMLSelection::setExtent): (KHTMLSelection::clearSelection): (KHTMLSelection::setBaseNode): (KHTMLSelection::setBaseOffset): (KHTMLSelection::setExtentNode): (KHTMLSelection::setExtentOffset): (KHTMLSelection::invalidate): (KHTMLSelection::isEmpty): (KHTMLSelection::repaint): (KHTMLSelection::nodeIsBeforeNode):
  • khtml/khtml_selection.h: (KHTMLSelection::startNode): (KHTMLSelection::startOffset): (KHTMLSelection::endNode): (KHTMLSelection::endOffset): (KHTMLSelection::dump): (operator==): (operator!=):
  • khtml/khtmlpart_p.h: (KHTMLPartPrivate::KHTMLPartPrivate): (KHTMLPartPrivate::~KHTMLPartPrivate):
  • khtml/khtmlview.cpp:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::setSelection):
  • khtml/xml/dom_docimpl.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::jumpToSelection): (KWQKHTMLPart::selectionStartOffset): (KWQKHTMLPart::selectionEndOffset): (KWQKHTMLPart::selectionStart): (KWQKHTMLPart::selectionEnd):
10:12 AM Changeset in webkit [5927] by kocienda
  • 9 edits
    8 adds in branches/HTML-editing-hacks-branch/WebCore

Reviewed by me

Initial pass at trying to clean up mouse event handling
in KHTMLPart, with emphasis on making the selection
code more readable. Actually, this breaks editing, but
the point the code is in now is a good checkpoint.
I will fix editing soon, and it will be much better for it.

  • WebCore.pbproj/project.pbxproj:
  • khtml/editing/edit_caret.cpp: (Caret::Caret): (Caret::moveTo): (Caret::moveForwardByCharacter): (Caret::moveBackwardByCharacter): (Caret::adjustPosition): (Caret::invalidate): (Caret::repaint): (Caret::paint): (Caret::ensureNodeHasFocus):
  • khtml/editing/edit_caret.h: (khtml::Caret::size):
  • khtml/editing/htmlediting.cpp: (EditCommand::pruneEmptyNodes): (InputTextCommand::apply): (DeleteTextCommand::apply):
  • khtml/khtml_part.cpp: (KHTMLPart::init): (KHTMLPart::findTextNext): (KHTMLPart::setSelection): (KHTMLPart::checkSelectionPoint): (KHTMLPart::handleMousePressEventDoubleClick): (KHTMLPart::handleMousePressEventTripleClick): (KHTMLPart::handleMousePressEventSingleClick): (KHTMLPart::khtmlMousePressEvent): (isBeforeNode): (KHTMLPart::handleMouseMoveEventDrag): (KHTMLPart::handleMouseMoveEventOver): (KHTMLPart::handleMouseMoveEventSelection): (KHTMLPart::khtmlMouseMoveEvent): (KHTMLPart::khtmlMouseReleaseEvent): (KHTMLPart::selectAll): (KHTMLPart::caret):
  • khtml/khtml_part.h:
  • khtml/khtml_selection.cpp: Added. (KHTMLSelection::KHTMLSelection): (KHTMLSelection::~KHTMLSelection): (KHTMLSelection::setSelection): (KHTMLSelection::clearSelection): (KHTMLSelection::setStartNode): (KHTMLSelection::setStartOffset): (KHTMLSelection::setEndNode): (KHTMLSelection::setEndOffset): (KHTMLSelection::setVisible): (KHTMLSelection::invalidate): (KHTMLSelection::paint): (KHTMLSelection::setPart): (KHTMLSelection::timerEvent): (KHTMLSelection::repaint):
  • khtml/khtml_selection.h: Added. (KHTMLSelection::): (KHTMLSelection::state): (KHTMLSelection::startNode): (KHTMLSelection::startOffset): (KHTMLSelection::endNode): (KHTMLSelection::endOffset): (KHTMLSelection::caretNode): (KHTMLSelection::caretOffset): (KHTMLSelection::visible):
  • khtml/khtmlpart_p.h: (KHTMLPartPrivate::KHTMLPartPrivate): (KHTMLPartPrivate::~KHTMLPartPrivate):
  • khtml/khtmlview.cpp: (KHTMLView::focusNextPrevNode):
10:12 AM Changeset in webkit [5926] by kocienda
  • in /

file khtml_selection.cpp was initially added on branch HTML-editing-hacks-branch.

10:12 AM Changeset in webkit [5925] by kocienda
  • in /

file khtml_selection.h was initially added on branch HTML-editing-hacks-branch.

Jan 18, 2004:

6:10 PM Changeset in webkit [5924] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3532569, bugzilla patch viewer doesn't work. My previous fix for 3531983 caused moves to happen
when they should not have, due to childX and childY not being implemented at all on KWQScrollView.

Reviewed by darin

  • kwq/KWQScrollView.mm: (QScrollView::childX): (QScrollView::childY):
Note: See TracTimeline for information about the timeline view.