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

Timeline



Aug 5, 2005:

7:30 PM Changeset in webkit [10066] by adele
  • 6 edits in trunk

JavaScriptCore:

Reviewed by Darin.

  • JavaScriptCore.xcodeproj/project.pbxproj: Unchecked 'statics are thread safe' option.

WebCore:

Reviewed by Darin.

  • WebCore.xcodeproj/project.pbxproj: Unchecked 'statics are thread safe' option.

WebKit:

Reviewed by Darin.

  • WebKit.xcodeproj/project.pbxproj: Unchecked 'statics are thread safe' option.
6:37 PM Changeset in webkit [10065]
  • 309 copies
    3 deletes in tags/Safari-416

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

6:37 PM Changeset in webkit [10064] by adele
  • 6 edits in branches/Safari-2-0-branch

Versioning for Safari-2-0-branch - Safari-416

6:33 PM Changeset in webkit [10063] by adele
  • 2 edits in branches/Safari-2-0-branch/JavaScriptCore

Merged fix from TOT to Safari-2-0-branch

2005-08-05 Geoffrey Garen <ggaren@apple.com>

-fixed <rdar://problem/4207220> REGRESSION (DENVER): Crash occurs
after clicking on Hangman applet

Reviewed by darin.

  • kjs/object.cpp: (KJS::ObjectImp::hasProperty): added check for null prototype.

FIXME: The long-term plan is to make runtime objects use JS Null()
instead of null pointers, which will allow us to eliminate null
checks, improving performance.

6:31 PM Changeset in webkit [10062] by adele
  • 6 edits in branches/Safari-2-0-branch

JavaScriptCore:

Reviewed by Darin.

  • JavaScriptCore.xcodeproj/project.pbxproj: Unchecked 'statics are thread safe' option.

WebCore:

Reviewed by Darin.

  • WebCore.xcodeproj/project.pbxproj: Unchecked 'statics are thread safe' option.

WebKit:

Reviewed by Darin.

  • WebKit.xcodeproj/project.pbxproj: Unchecked 'statics are thread safe' option.
6:16 PM Changeset in webkit [10061] by ggaren
  • 2 edits in trunk/JavaScriptCore

-fixed <rdar://problem/4207220> REGRESSION (DENVER): Crash occurs
after clicking on Hangman applet

Reviewed by darin.

  • kjs/object.cpp: (KJS::ObjectImp::hasProperty): added check for null prototype.

FIXME: The long-term plan is to make runtime objects use JS Null()
instead of null pointers, which will allow us to eliminate null
checks, improving performance.

1:47 PM Changeset in webkit [10060] by hyatt
  • 3 edits
    2 adds in trunk

-added layout test for fix to: <rdar://problem/4161606> JavaScript regular
expressions with certain ranges of Unicode characters cause a crash

Test cases added:

  • layout-tests/fast/js/regexp-big-unicode-ranges-expected.txt: Added.
  • layout-tests/fast/js/regexp-big-unicode-ranges.html: Added.
1:44 PM Changeset in webkit [10059] by ggaren
  • 3 edits
    2 adds in trunk

* empty log message *

11:36 AM Changeset in webkit [10058] by hyatt
  • 5 edits in trunk/WebCore

Fix for bugzilla bug 4289, a regression from the QualifiedName landing. Make sure getNamedItemNS and
removeNamedItemNS are case-insensitive in HTML documents.

Reviewed by darin

  • khtml/xml/dom_elementimpl.cpp: (NamedAttrMapImpl::getNamedItemNS): (NamedAttrMapImpl::removeNamedItemNS):
  • khtml/xml/dom_elementimpl.h:
  • khtml/xml/dom_nodeimpl.cpp:
  • khtml/xml/dom_nodeimpl.h: (DOM::NamedNodeMapImpl::NamedNodeMapImpl): (DOM::NamedNodeMapImpl::~NamedNodeMapImpl):
11:31 AM Changeset in webkit [10057]
  • 62 copies
    4 deletes in tags/JavaScriptCore-412~7

This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-412~7'.

11:31 AM Changeset in webkit [10056] by adele
  • 2 edits in branches/Safari-2-0-branch/JavaScriptCore

Versioning for Safari-2-0-branch - JavaScriptCore-412.7

11:28 AM Changeset in webkit [10055]
  • 201 copies
    3 deletes in tags/WebCore-415~16

This commit was manufactured by cvs2svn to create tag
'WebCore-415~16'.

11:28 AM Changeset in webkit [10054] by adele
  • 2 edits in branches/Safari-2-0-branch/WebCore

Versioning for Safari-2-0-branch - WebCore-415.16

11:25 AM Changeset in webkit [10053]
  • 47 copies
    4 deletes in tags/WebKit-412~9

This commit was manufactured by cvs2svn to create tag 'WebKit-412~9'.

11:25 AM Changeset in webkit [10052] by adele
  • 2 edits in branches/Safari-2-0-branch/WebKit

Versioning for Safari-2-0-branch - WebKit-412.9

11:22 AM Changeset in webkit [10051] by justing
  • 4 edits
    1 add in trunk/WebCore

Reviewed by kocienda

Fix for:

  • <rdar://problem/4132360> HIM-8A428:Space key works like Return key in Mail application.
  • <rdar://problem/4122708> Mail: when composing new mail with a Korean input method, the first space doesn't work

If the user terminates marked text with a space, a string including marked characters and a normal,
breaking space, is passed to WebCore in order to replace the previous marked sequence. The fix ensures
that the space becomes a non breaking space if necessary.

Test cases added:

  • manual-tests/korean-input-space.html
  • khtml/editing/insert_text_command.cpp: (khtml::InsertTextCommand::input):
11:02 AM Changeset in webkit [10050] by harrison
  • 2 edits in branches/Safari-2-0-branch/WebKit

Merged fix from TOT

<rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)

Basic strategy is to put tabs into spans with white-space:pre style, and
render them with tabs stops every 8th space, where the space width and
the left margin are those of the enclosing block.

  • WebCoreSupport.subproj/WebTextRenderer.m: (isSpace): (isRoundingHackCharacter): (getUncachedWidth): (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): (-[WebTextRenderer _computeWidthForSpace]): (_drawGlyphs): (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]): (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]): (glyphForCharacter): (initializeCharacterWidthIterator): (ceilCurrentWidth): (widthForNextCharacter):
11:01 AM Changeset in webkit [10049] by harrison
  • 44 edits in branches/Safari-2-0-branch

Merged fix from TOT

<rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)

Basic strategy is to put tabs into spans with white-space:pre style, and
render them with tabs stops every 8th space, where the space width and
the left margin are those of the enclosing block.

  • khtml/editing/html_interchange.h:
  • khtml/editing/htmlediting.cpp: (khtml::EditCommand::styleAtPosition): (khtml::isSpecialElement): (khtml::ApplyStyleCommand::removeCSSStyle): (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): (khtml::DeleteSelectionCommand::saveTypingStyleState): (khtml::InsertTextCommand::prepareForTextInsertion): (khtml::InsertTextCommand::input): (khtml::InsertTextCommand::insertTab): (khtml::ReplacementFragment::removeStyleNodes): (khtml::createStyleSpanElement): (khtml::isTabSpanNode): (khtml::isTabSpanTextNode): (khtml::positionBeforeTabSpan): (khtml::createTabSpanElement):
  • khtml/editing/htmlediting.h:
  • khtml/editing/markup.cpp: (khtml::createParagraphContentsFromString): (khtml::createFragmentFromText):
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::begin): (khtml::HTMLTokenizer::processListing): (khtml::HTMLTokenizer::parseSpecial): (khtml::HTMLTokenizer::parseText): (khtml::HTMLTokenizer::parseEntity): (khtml::HTMLTokenizer::parseTag): (khtml::HTMLTokenizer::addPending): (khtml::HTMLTokenizer::write):
  • khtml/html/htmltokenizer.h: (khtml::HTMLTokenizer::):
  • khtml/rendering/bidi.cpp: (khtml::addRun): (khtml::RenderBlock::tabWidth): (khtml::RenderBlock::computeHorizontalPositionsForLine): (khtml::RenderBlock::layoutInlineChildren): (khtml::RenderBlock::skipWhitespace): (khtml::RenderBlock::findNextLineBreak): (khtml::RenderBlock::checkLinesForTextOverflow):
  • khtml/rendering/break_lines.cpp: (khtml::isBreakable):
  • khtml/rendering/font.cpp: (Font::drawHighlightForText): (Font::drawText): (Font::floatWidth): (Font::floatCharacterWidths): (Font::checkSelectionPoint): (Font::width):
  • khtml/rendering/font.h:
  • khtml/rendering/render_block.cpp: (khtml:::RenderFlow): (khtml::RenderBlock::setStyle): (khtml::stripTrailingSpace): (khtml::RenderBlock::calcInlineMinMaxWidth):
  • khtml/rendering/render_block.h:
  • khtml/rendering/render_br.h: (khtml::RenderBR::width):
  • khtml/rendering/render_flexbox.cpp: (khtml::RenderFlexibleBox::layoutVerticalBox):
  • khtml/rendering/render_image.cpp: (RenderImage::setPixmap): (RenderImage::paint):
  • khtml/rendering/render_line.cpp: (khtml::EllipsisBox::paint):
  • khtml/rendering/render_line.h: (khtml::InlineBox::width): (khtml::InlineBox::xPos): (khtml::InlineBox::yPos): (khtml::InlineBox::height): (khtml::InlineBox::baseline):
  • khtml/rendering/render_list.cpp: (RenderListMarker::paint): (RenderListMarker::calcMinMaxWidth):
  • khtml/rendering/render_object.cpp: (RenderObject::tabWidth): (RenderObject::recalcMinMaxWidths):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_replaced.cpp:
  • khtml/rendering/render_text.cpp: (InlineTextBox::selectionRect): (InlineTextBox::paint): (InlineTextBox::paintSelection): (InlineTextBox::paintMarkedTextBackground): (InlineTextBox::textPos): (InlineTextBox::offsetForPosition): (RenderText::caretRect): (RenderText::cacheWidths): (RenderText::widthFromCache): (RenderText::trimmedMinMaxWidth): (RenderText::calcMinMaxWidth): (RenderText::containsOnlyWhitespace): (RenderText::width):
  • khtml/rendering/render_text.h:
  • kwq/KWQFontMetrics.h:
  • kwq/KWQFontMetrics.mm: (QFontMetrics::width): (QFontMetrics::charWidth): (QFontMetrics::floatWidth): (QFontMetrics::floatCharacterWidths): (QFontMetrics::checkSelectionPoint): (QFontMetrics::boundingRect): (QFontMetrics::size):
  • kwq/KWQPainter.h:
  • kwq/KWQPainter.mm: (QPainter::drawRect): (QPainter::drawLine): (QPainter::drawText): (QPainter::drawHighlightForText): (_fillRectXX): (QPainter::fillRect):
  • kwq/WebCoreTextRenderer.h:
  • kwq/WebCoreTextRendererFactory.mm: (WebCoreInitializeEmptyTextStyle):
  • layout-tests/editing/deleting/delete-tab-001-expected.txt:
  • layout-tests/editing/deleting/delete-tab-001.html:
  • layout-tests/editing/deleting/delete-tab-002-expected.txt:
  • layout-tests/editing/deleting/delete-tab-002.html:
  • layout-tests/editing/deleting/delete-tab-003-expected.txt:
  • layout-tests/editing/deleting/delete-tab-003.html:
  • layout-tests/editing/deleting/delete-tab-004-expected.txt:
  • layout-tests/editing/deleting/delete-tab-004.html:
  • layout-tests/editing/inserting/insert-tab-001-expected.txt:
  • layout-tests/editing/inserting/insert-tab-002-expected.txt:
  • layout-tests/editing/inserting/insert-tab-003-expected.txt:
  • layout-tests/editing/inserting/insert-tab-004-expected.txt:
  • layout-tests/fast/table/039-expected.txt:
  • layout-tests/fast/table/border-collapsing/004-expected.txt:

Aug 4, 2005:

10:06 PM Changeset in webkit [10048] by justing
  • 2 edits in trunk/WebKit

Reviewed by darin

Fix for:
<rdar://problem/3167884> Shockwave: 3D sprites rendered in OpenGL draw over the browser (3447)
also as <http://bugzilla.opendarwin.org/show_bug.cgi?id=3447>

The WindowRef created by -[NSWindow windowRef] has a QuickDraw GrafPort that covers
the entire window frame (or structure region in Carbon parlance) rather then just the window content.

We filed this as an NSWindow bug <rdar://problem/4201099>

To work around, we modify the CGrafPort to only cover the content area before we let the plug-in draw.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView fixWindowPort]): (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
8:51 PM Changeset in webkit [10047] by mjs
  • 2 edits in trunk/JavaScriptCore
  • updated expected test results now that we no longer exlude the date tests (apparently this was overlooked)
  • tests/mozilla/expected.html:
6:24 PM Changeset in webkit [10046] by eseidel
  • 7 edits in trunk/WebKitTools

Bug #: 4280
Submitted by: eseidel
Reviewed by: darin

  • Scripts/build-drawtest:
  • Scripts/build-dumprendertree:
  • Scripts/build-svg2png:
  • Scripts/build-webcore-svg:
  • Scripts/build-webkit:
  • Scripts/webkitdirs.pm: added checkRequiredSystemConfig() Added checkRequiredSystemConfig and made all the build-* scripts use it to print a pretty warning when trying to compile on an unsupported system (less than 10.4, Xcode 2.1). http://bugzilla.opendarwin.org/show_bug.cgi?id=4280
3:46 PM Changeset in webkit [10045] by hyatt
  • 6 adds in trunk/LayoutTests/fast/forms

Add layout tests for form control movement.

3:45 PM Changeset in webkit [10044] by hyatt
  • 7 edits in trunk/WebCore

This patch significantly improves the performance of radio button groups and enables consistent tabbing
behavior in radio groups with both OS X and Internet Explorer for Windows. It also adds support for
arrow key navigation between the radio buttons in a group.

In addition elements can now be shifted between forms using DOM operations and they will properly be
adopted by the form into which they are inserted. This movement works even when the forms themselves
are not currently in the document by introducing a new set of notifications when an object is connected
and removed from a tree of nodes (where that tree may or may not be the main document's tree).

Test cases added: formmove.html, formmove2.html in fast/forms

  • khtml/html/html_formimpl.cpp: (DOM::HTMLFormElementImpl::HTMLFormElementImpl): (DOM::HTMLFormElementImpl::~HTMLFormElementImpl): Updated to init/delete a new selectedRadioButtons member variable that is a hash tracking the current checked button in each radio group owned by the form.

(DOM::HTMLFormElementImpl::radioButtonChecked):
A notification that is called when a radio button becomes checked.

(DOM::HTMLFormElementImpl::checkedRadioButtonForGroup):
Returns the current checked radio button for a given named group.

(DOM::HTMLFormElementImpl::removeRadioButtonForGroup):
Clears out the checked radio button for a given named group.

(DOM::HTMLFormElementImpl::registerFormElement):
(DOM::HTMLFormElementImpl::removeFormElement):
The registration and removal functions have been patched to deal with radio buttons and to remove
the "dormant form control" concept, which is no longer needed now that controls can actually move
between forms.

(DOM::HTMLGenericFormElementImpl::HTMLGenericFormElementImpl):
Remove the dormant bit from form controls.

(DOM::HTMLGenericFormElementImpl::attach):
Remove the code that attempted to register a form element in attached. We use new notifications now
for dynamically inserted controls via JS.

(DOM::HTMLGenericFormElementImpl::insertedIntoTree):
(DOM::HTMLGenericFormElementImpl::removedFromTree):
These are the new notifications that are called whenever a form control is connected to or removed from
a tree. This tree may or may not be the document tree. The form control can then "seek out" a form
to latch on to, thus keeping its current status regarding what form it belongs to current across DOM
operations.

(DOM::HTMLInputElementImpl::isKeyboardFocusable):
Overridden to deal with radio buttons. Unnamed radio buttons can't be focused. Radio buttons can't be
focused if another member of their group is already currently focused. Unchecked radio buttons can
only be focused if no button within the group is checked.

(DOM::HTMLInputElementImpl::setInputType):
Make sure to remove a checked radio button from the form's radio button hash if the type is changed
to something else, e.g., checkbox.

(DOM::HTMLInputElementImpl::setChecked):
Revised to update the form's hash when a radio button gets checked and to also prevent unnamed radio
buttons from changing state (matches WinIE).

(DOM::HTMLInputElementImpl::defaultEventHandler):
Add support for arrow key navigation through radio button groups. Fix space behavior so that an unselected
radio can become checked but not unchecked on space. Fix enter behavior so that the form is not submitted
on enter. (Matches WinIE.)

  • khtml/html/html_formimpl.h: Adds the new member variable to track the current radio buttons in the various groups and the notifications for updating form controls when they switch forms.
  • khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::insertedIntoDocument): (DOM::NodeImpl::removedFromDocument): Patch insertedIntoDocument and removedFromDocument to also send the insertedIntoTree and removedFromTree notifications.

(DOM::ContainerNodeImpl::removeChild):
Call removedFromTree in the case where the removal of a child happens on a tree that is not in the
document.

(DOM::ContainerNodeImpl::insertedIntoTree):
(DOM::ContainerNodeImpl::removedFromTree):
The new notifications. The container node can optionally crawl into children invoking their notifications.

(DOM::ContainerNodeImpl::dispatchChildInsertedEvents):
Patched to call insertedIntoTree in the case where the insertion happened on a tree that is not in the
document.

  • khtml/xml/dom_nodeimpl.h: (DOM::NodeImpl::insertedIntoTree): (DOM::NodeImpl::removedFromTree): Added the new notifications to NodeImpl for use by the form controls.
3:23 PM Changeset in webkit [10043] by darin
  • 2 edits in trunk/WebCore

Reviewed by John Sullivan.

  • fixed Objective-C binding for getOverrideStyle
  • kwq/DOM.mm: ([DOMDocument getOverrideStyle::]): Change to call the DOM getOverrideStyle. It was not correct to call getComputedStyle just because getOverrideStyle is not yet implemented in our DOM.
2:34 PM Changeset in webkit [10042] by adele
  • 2 edits in branches/Safari-2-0-branch/WebCore

Merged fix from TOT to Safari-2-0-branch

2005-08-04 Adele Peterson <adele@apple.com>

Reviewed by John.

  • fixed <rdar://problem/4204496> REGRESSION(denver): repro crash in KHTMLParser::finished() downloading attachment at webmail.mac.com This regression was introduced by the fix for <rdar://problem/4084029>. It was just missing a nil check.
  • khtml/html/htmlparser.cpp: (KHTMLParser::finished): added nil check for current.
2:33 PM Changeset in webkit [10041] by adele
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/4204496> REGRESSION(denver): repro crash in KHTMLParser::finished() downloading attachment at webmail.mac.com This regression was introduced by the fix for <rdar://problem/4084029>. It was just missing a nil check.
  • khtml/html/htmlparser.cpp: (KHTMLParser::finished): added nil check for current.
1:27 PM Changeset in webkit [10040] by ggaren
  • 2 edits in trunk/WebCore
  • fixed <rdar://problem/4199495> REGRESSION: Safari Crashes on Window Closing Event

Reviewed by darin.

  • khtml/ecma/kjs_binding.cpp: (KJS::ScriptInterpreter::updateDOMNodeDocument): inserting a node wrapper into a new document set now removes the node wrapper from its old document set.
11:19 AM Changeset in webkit [10039]
  • 89 copies
    2 deletes in tags/WebCore-415~13~1

This commit was manufactured by cvs2svn to create tag
'WebCore-415~13~1'.

11:19 AM Changeset in webkit [10038] by adele
  • 2 edits in branches/Safari-OC-branch/WebCore

Versioning for Safari-OC-branch - WebCore-415.13.1

11:18 AM Changeset in webkit [10037] by adele
  • 2 edits in branches/Safari-OC-branch/WebCore

Merged fix from TOT to Safari-OC-branch

2005-08-04 Geoffrey Garen <ggaren@apple.com>

  • fixed <rdar://problem/4199495> REGRESSION: Safari Crashes on Window Closing Event

Reviewed by darin.

  • khtml/ecma/kjs_binding.cpp: (KJS::ScriptInterpreter::updateDOMNodeDocument): inserting a node into a new document now removes the node from its old document.
10:55 AM Changeset in webkit [10036] by adele
  • 2 edits in branches/Safari-2-0-branch/WebCore

Merged fix from TOT to Safari-2-0-branch

2005-08-04 Geoffrey Garen <ggaren@apple.com>

  • fixed <rdar://problem/4199495> REGRESSION: Safari Crashes on Window Closing Event

Reviewed by darin.

  • khtml/ecma/kjs_binding.cpp: (KJS::ScriptInterpreter::updateDOMNodeDocument): inserting a node into a new document now removes the node from its old document.
10:15 AM Changeset in webkit [10035] by sullivan
  • 6 edits in trunk/WebKit

Reviewed by Geoff Garen.

  • fixed <rdar://problem/3918675> Remove code to replace authentication dialog with a subclass when out of localization freeze
  • Panels.subproj/WebAuthenticationPanel.h: moved declaration of NonBlockingPanel here so it can be accessed by the nib
  • Panels.subproj/WebAuthenticationPanel.m: (-[WebAuthenticationPanel replacePanelWithSubclassHack]): removed this method (-[WebAuthenticationPanel loadNib]): stop calling the removed method
  • Panels.subproj/English.lproj/WebAuthenticationPanel.nib/classes.nib:
  • Panels.subproj/English.lproj/WebAuthenticationPanel.nib/info.nib:
  • Panels.subproj/English.lproj/WebAuthenticationPanel.nib/objects.nib: the panel in the nib now has custom class NonBlockingPanel
9:49 AM Changeset in webkit [10034] by adele
  • 2 edits in branches/Safari-2-0-branch/JavaScriptCore

Merged fix from TOT to Safari-2-0-branch

Submitted by: rjw@apple.com
Reviewed by: cblu@apple.com
Fixed hard capacity limit on the method and field cache use for the ObjC bindings.

<rdar://problem/4204416> Dashboard client crashes when too many ObjC methods are called

  • bindings/objc/objc_class.mm: (ObjcClass::_commonInit):
6:58 AM Changeset in webkit [10033] by darin
  • 1 edit
    1 add in trunk/WebKitTools
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Bring this file back from the dead. It was removed by accident when someone was trying to work on the branch.
Note: See TracTimeline for information about the timeline view.