Timeline



Apr 8, 2006:

10:08 PM Changeset in webkit [13743] by darin
  • 17 edits
    8 adds in trunk

LayoutTests:

Reviewed by Beth.

  • fast/forms/input-text-maxlength-expected.checksum: Added.
  • fast/forms/input-text-maxlength-expected.png: Added.
  • fast/forms/input-text-maxlength-expected.txt: Added.
  • fast/forms/input-text-maxlength.html: Added.
  • fast/forms/input-text-paste-maxlength-expected.checksum: Added.
  • fast/forms/input-text-paste-maxlength-expected.png: Added.
  • fast/forms/input-text-paste-maxlength-expected.txt: Added.
  • fast/forms/input-text-paste-maxlength.html: Added.

WebCore:

Reviewed by Beth.

Test: fast/forms/input-text-maxlength.html
Test: fast/forms/input-text-paste-maxlength.html

  • html/HTMLInputElement.h: Removed all friend classes (not needed any more). Renamed typeEnum to InputType. Made init() function private. Tweaked parameter names and formatting in many function declarations. Made canHaveSelection, selectionStart, and selectionEnd const. Made data members except for m_name private instead of protected. Added private functions constrainValue and recheckValue. Removed unused isEditable function.
  • html/HTMLInputElement.cpp: (WebCore::numGraphemeClusters): Added. (WebCore::numCharactersInGraphemeClusters): Added. (WebCore::HTMLInputElement::isKeyboardFocusable): Use inputType() instead of using m_type directly. (WebCore::HTMLInputElement::isMouseFocusable): Ditto. (WebCore::HTMLInputElement::focus): Ditto. (WebCore::HTMLInputElement::setInputType): Added code to call constrainValue or recheckValue so we will enforce maxLen if changing from a type that doesn't have maxLen to one that does. (WebCore::HTMLInputElement::type): More-standard formatting for switch statement. Put cases into alphabetical order. (WebCore::HTMLInputElement::state): Changed switch statement to include all case values and not include a default case to take advantage of gcc's missing case warning. (WebCore::HTMLInputElement::restoreState): Ditto. (WebCore::HTMLInputElement::canHaveSelection): Ditto. (WebCore::HTMLInputElement::selectionStart): Ditto. (WebCore::HTMLInputElement::selectionEnd): Ditto. (WebCore::HTMLInputElement::setSelectionStart): Ditto. (WebCore::HTMLInputElement::setSelectionEnd): Ditto. (WebCore::HTMLInputElement::select): Ditto. (WebCore::HTMLInputElement::setSelectionRange): Ditto. (WebCore::HTMLInputElement::click): Ditto. (WebCore::HTMLInputElement::accessKeyAction): Ditto. (WebCore::HTMLInputElement::parseMappedAttribute): Use inputType() instead of using m_type directly. Added call to recheckValue when parsing a new value for the maxlength attribute. (WebCore::HTMLInputElement::rendererIsNeeded): Changed switch statement to include all case values and not include a default case to take advantage of gcc's missing case warning. (WebCore::HTMLInputElement::createRenderer): Ditto. (WebCore::HTMLInputElement::attach): Remove code to condition the value attribute when done parsing. This is now all handled by constrainValue and recheckValue as needed. (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Use inputType() instead of using m_type directly. (WebCore::HTMLInputElement::appendFormData): Ditto. Rearranged code a little. (WebCore::HTMLInputElement::setChecked): Ditto. (WebCore::HTMLInputElement::setIndeterminate): Ditto. (WebCore::HTMLInputElement::value): Ditto. Call constrainValue when reading the value out of the value attribute. (WebCore::HTMLInputElement::valueWithDefault): Use inputType() instead of using m_type directly. Changed switch statement to include all case values and not include a default case to take advantage of gcc's missing case warning. (WebCore::HTMLInputElement::setValue): Ditto. Call constrainValue when storing a value. (WebCore::HTMLInputElement::setValueFromRenderer): Added an assertion. (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Use inputType() instead of using m_type directly. (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto. (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto. (WebCore::HTMLInputElement::defaultEventHandler): Ditto. Changed code to truncate inserted text in a BeforeTextInsertedEvent to use the new constrainValue function and also the numGraphemeClusters function, so it's based on grapheme clusters instead of characters and shares code. (WebCore::HTMLInputElement::constrainValue): Added. (WebCore::HTMLInputElement::recheckValue): Added.
  • html/HTMLIsIndexElement.cpp: (WebCore::HTMLIsIndexElement::HTMLIsIndexElement): Removed unneeded code to set m_type to TEXT, which is already what it gets set to by the base class's constructor.
  • html/HTMLGenericFormElement.h: Removed unused isEditable function.
  • html/HTMLGenericFormElement.cpp: Ditto.
  • html/HTMLTextAreaElement.h: Ditto.
  • html/HTMLTextAreaElement.cpp: Ditto.
  • platform/StringImpl.cpp: (WebCore::StringImpl::truncate): Changed > to >= so that truncating to the size of the string does nothing, efficiently.
  • rendering/RenderText.h: Added declaration of characterBreakIterator.
  • rendering/RenderText.cpp: (WebCore::characterBreakIterator): Made this public so it can be used in other files. Maybe we should also move it to another source file later. Also renamed to remove the "get" from the title. (WebCore::RenderText::previousOffset): Updated for name change. (WebCore::RenderText::nextOffset): Updated for name change.
  • rendering/RenderTextField.cpp: (WebCore::RenderTextField::updateFromElement): Removed code to implement maxlength checking. That's handled entirely in the DOM now. Also moved down the code to get the value into a string so that it's done only in the case where the string is used.
  • rendering/render_form.cpp: (WebCore::RenderFileButton::valueChanged): Use setValueFromRenderer instead of setting the value directly in the input element. We changed this for all the other types a while ago, and it works just as well for the input element.
  • dom/BeforeTextInsertedEvent.h: Added setText function. Previously, clients changed the text by modifying the text object in place, but going forward we'd like to avoid that sort of thing.


  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): Changed code to assume clients will change the text in the event rather than mutating the text object itself. This is compatible with possible future changes to String to be copy on write.
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): Ditto.
1:51 PM Changeset in webkit [13801] by ggaren
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

added missing fall through to case code

1:50 PM Changeset in webkit [13800] by ggaren
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

refined rules for what the current completion state is

1:40 PM Changeset in webkit [13799] by eseidel
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore

added shrinkTo and growTo to vector for speed gain

12:08 PM Changeset in webkit [13798] by eseidel
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

fix try and switch

12:04 PM Changeset in webkit [13742] by ap
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin.

One more attempt - use reinterpret_cast, rather than static_cast.

11:54 AM Changeset in webkit [13741] by ap
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin.

An attempt to fix Win32 build - ICU uses wchar_t on Windows, so we need a type cast.

  • kxmlcore/unicode/icu/UnicodeIcu.h: (KXMLCore::Unicode::toLower): (KXMLCore::Unicode::toUpper):
10:21 AM Changeset in webkit [13740] by ap
  • 11 edits
    3 copies
    3 adds in trunk

Reviewed by Darin.

Test: fast/js/string-capitalization.html

  • JavaScriptCore.xcodeproj/project.pbxproj: Added KXMLCore::Unicode headers to the project.
  • icu/unicode/putil.h: Added (copied from WebCore).
  • icu/unicode/uiter.h: Ditto.
  • icu/unicode/ustring.h: Ditto.
  • kjs/string_object.cpp: (StringProtoFunc::callAsFunction): Use the new KXMLCore::Unicode::toUpper() and toLower().
  • kjs/ustring.cpp: Removed unused (and evil) UChar::toLower() and toUpper().
  • kjs/ustring.h: Ditto.
  • kxmlcore/unicode/Unicode.h: Corrected capitalization of the word Unicode.
  • kxmlcore/unicode/UnicodeCategory.h: Renamed include guard macro to match file name.
  • kxmlcore/unicode/icu/UnicodeIcu.h: (KXMLCore::Unicode::toLower): Work on strings, not individual characters. Use ICU root locale. (KXMLCore::Unicode::toUpper): Ditto. (KXMLCore::Unicode::isFormatChar): Use int32_t, which can hold a complete code point. (KXMLCore::Unicode::isSeparatorSpace): Ditto. (KXMLCore::Unicode::category): Ditto.
  • kxmlcore/unicode/qt4/UnicodeQt4.h: (KXMLCore::Unicode::toLower): Work on strings, not individual characters. (KXMLCore::Unicode::toUpper): Ditto. (KXMLCore::Unicode::isFormatChar): Use int32_t, which can hold a complete code point. (KXMLCore::Unicode::isSeparatorSpace): Ditto. (KXMLCore::Unicode::category): Ditto.
  • tests/mozilla/ecma/String/15.5.4.12-1.js: Corrected expected results.
  • tests/mozilla/ecma/String/15.5.4.12-5.js: Corrected expected results.
9:49 AM Changeset in webkit [13739] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Adele Peterson.

  • Misc/WebIconDatabase.m: (-[WebIconDatabase _retainIconForIconURLString:]): This new assertion was one block too high; moved it in.

Apr 7, 2006:

6:40 PM Changeset in webkit [13797] by eseidel
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

fix assertion in ForInNodeExecutePopBreakUnwindBarrierState

6:31 PM Changeset in webkit [13796] by eseidel
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

Fix FALL_THROUGH in debug builds

6:26 PM Changeset in webkit [13795] by ggaren
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

fixed labeled break and continue

6:16 PM Changeset in webkit [13794] by eseidel
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

add missing break in CommaNodeEvaluateState

6:02 PM Changeset in webkit [13793] by eseidel
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

Add FALL_THROUGH macro

5:47 PM Changeset in webkit [13792] by ggaren
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

fixed do-while by adding fake true value at the front

5:34 PM Changeset in webkit [13738] by darin
  • 4 edits
    4 adds in trunk

LayoutTests:

Reviewed by Hyatt.

  • fast/forms/input-text-drag-down-expected.checksum: Added.
  • fast/forms/input-text-drag-down-expected.png: Added.
  • fast/forms/input-text-drag-down-expected.txt: Added.
  • fast/forms/input-text-drag-down.html: Added.

WebCore:

Reviewed by Hyatt.

  • editing/Selection.cpp: (WebCore::comparePositions): Added. Takes shadow content into account. (WebCore::Selection::validate): Changed to call comparePositions instead of calling Range::compareBoundaryPoints directly. Also removed unneeded code to redundantly set m_start and m_end to null and did a bit of reformatting.
  • some tiny efficiency improvements to the tokenizer -- no measurable speedup, but removes a little bit of unneeded code
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): Changed all the places that do "unsigned short x = *c" to "unsigned short x = c->unicode()" when c is a QChar, otherwise we do an unnecessary conversion to char (which requires a branch to see if the c fits in a char).
5:27 PM Changeset in webkit [13791] by eseidel
  • 3 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

fix exception handling and loop continue states

5:21 PM Changeset in webkit [13737] by justing
  • 6 edits in trunk

Reviewed by harrison


Rolled the fix for 8250 back in and fixed a bug:
The local variables for the first and last nodes in the fragment
need to be reset when the fragment is changed for plaintext-only mode
or a change from the beforetextinserted event handler.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment):
5:16 PM Changeset in webkit [13736] by hyatt
  • 2 edits in trunk/WebKit

A fix that makes coalesced updates work much better (and makes our
single animated GIF timer work better). The new rect painting algorithm
for WebHTMLView will use the single unioned rect if the # of rects exceeds
a threshold (10 is my initial cut), or if the union has enough "wasted"
additional pixels (conservatively set at 75%).

Reviewed by darin

  • WebView/WebHTMLView.m: (-[NSArray drawSingleRect:]): (-[NSArray drawRect:]):
5:11 PM Changeset in webkit [13790] by ggaren
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

fixed missing break in property list node

5:08 PM Changeset in webkit [13789] by ggaren
  • 1 edit in branches/temp-tree-code/trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

fixing missing break statement in property list node

4:55 PM Changeset in webkit [13735] by mjs
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin.

Test case for this fix:


  • fixed REGRESSION: offsetParent on element with no offset parent crashes
  • fast/dom/Element/null-offset-parent.html: Added.

WebCore:

Reviewed by Darin.


  • fixed REGRESSION: offsetParent on element with no offset parent crashes
  • dom/Element.cpp: (WebCore::Element::offsetParent): Add missing null check.
4:50 PM Changeset in webkit [13734] by mjs
  • 3 edits in trunk/WebKit

Reviewed by Darin.


  • simplify archive loading
  • WebView/WebDataSource.m: (-[WebDataSource representation]): fix whitespace
  • WebView/WebHTMLRepresentation.m: (-[WebHTMLRepresentation loadArchive]): Use WebFrame's loadArchive: instead of trying to do a manual load here. (-[WebHTMLRepresentation documentSource]): No more special case for WebArchive.
4:42 PM Changeset in webkit [13788] by ggaren
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

fixed up switch / case statements

4:35 PM Changeset in webkit [13787] by eseidel
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

much better unwind barrier printing

4:01 PM Changeset in webkit [13733] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Tim Omernick.


  • fixed <rdar://problem/4507054> If an icon file is removed from disk behind Safari's back, Safari will not try to refetch it


In addition to letting WebIconDatabase recover from disk/memory mismatches as per 4507054, I also found
a bug in the way icons are remembered that could account for some of the other cases where
site icons didn't appear (and you'd get an ERROR on debug builds about WebIconDatabase saying it
had some icon when it really doesn't).

  • Misc/WebIconDatabase.m: (-[WebIconDatabase iconForURL:withSize:cache:]): When the icon file for a previously-saved site icon isn't found, forget about the darn icon URL thoroughly so that this situation is self-correcting. Formerly, once you got into this state WebKit would never find the icon again (short of removing the entire icon database cleanly). Note that this does *not* change the behavior of sites that didn't have a site icon when WebKit checked -- these will continue to not return a site icon indefinitely (that's a separate, possibly performance-sensitive issue). (-[WebIconDatabase _retainIconForIconURLString:]): This code did the wrong thing in the case where an icon was in the process of being forgotten about. In that case, the icon would still be in _private->iconsOnDiskWithURLs, so we wouldn't try to save it here, so the new icon wouldn't stick.
3:25 PM Changeset in webkit [13732] by justing
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by adele

  • fast/forms/input-maxlength-2-expected.checksum: Added.
  • fast/forms/input-maxlength-2-expected.png: Added.
  • fast/forms/input-maxlength-2-expected.txt: Added.
  • fast/forms/input-maxlength-2.html: Added.

WebCore:

Reviewed by adele


maxlength truncation in text fields didn't work if the fragment was a
single text node.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment):
2:57 PM Changeset in webkit [13731] by justing
  • 1 edit in trunk/WebCore/editing/ReplaceSelectionCommand.cpp

Rolling out the patch I just checked in.

1:46 PM Changeset in webkit [13730] by justing
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by harrison
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8250>
REGRESSION: Interchange newlines aren't passed with the khtmlBeforeTextInsertedEvent

  • fast/forms/8250-expected.checksum: Added.
  • fast/forms/8250-expected.png: Added.
  • fast/forms/8250-expected.txt: Added.
  • fast/forms/8250.html: Added.

WebCore:

Reviewed by harrison


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8250>
REGRESSION: Interchange newlines aren't passed with the khtmlBeforeTextInsertedEvent

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): Interchange content removal happened before khtmlBeforeTextInsertedEvent was sent.
12:51 PM Changeset in webkit [13786] by eseidel
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

unify exception handling

12:36 PM Changeset in webkit [13729] by justing
  • 7 edits in trunk

LayoutTests:

Reviewed by adele
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8219>
REGRESSION: Two extra newlines added when pasting a single styled line into a plaintext-only region

Updated to relfect fix:

  • editing/pasteboard/8145-1-expected.checksum:
  • editing/pasteboard/8145-1-expected.png:
  • editing/pasteboard/8145-1-expected.txt:
  • editing/pasteboard/8145-1.html:

WebCore:

Reviewed by adele


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8219>
REGRESSION: Two extra newlines added when pasting a single styled line into a plaintext-only region

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): Converting the fragment to plaintext introduced an extraneous newline because the range passed to plainText ended after the paragraph containing the fragment built from the markup that TextEdit put on the paste board. TextIterator will emit a newline when it exits a paragraph. Two extra newlines were added because the '\n' in the plaintext string turns into an interchange newline, which isn't removed because of 8250, and the interchange newline looks like inline content that requires the insertion of a paragraph separator during paste. Fixed by creating a range using VisiblePositions at the start and the end of the node that holds the fragment during paste's test rendering.
11:41 AM Changeset in webkit [13728] by justing
  • 9 edits
    12 adds in trunk

LayoutTests:

Reviewed by harrison


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8145>
REGRESSION: Pasting text from TextEdit with a bold word into text field results in crash

  • editing/pasteboard/8145-1-expected.checksum: Added.
  • editing/pasteboard/8145-1-expected.png: Added.
  • editing/pasteboard/8145-1-expected.txt: Added.
  • editing/pasteboard/8145-1.html: Added.
  • editing/pasteboard/8145-2-expected.checksum: Added.
  • editing/pasteboard/8145-2-expected.png: Added.
  • editing/pasteboard/8145-2-expected.txt: Added.
  • editing/pasteboard/8145-2.html: Added.
  • editing/pasteboard/8145-3-expected.checksum: Added.
  • editing/pasteboard/8145-3-expected.png: Added.
  • editing/pasteboard/8145-3-expected.txt: Added.
  • editing/pasteboard/8145-3.html: Added.
  • fast/forms/plaintext-mode-1-expected.txt:
  • fast/forms/plaintext-mode-1.html:

WebCore:

Reviewed by harrison


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8145>
REGRESSION: Pasting text from TextEdit with a bold word into text field results in crash

  • editing/AppendNodeCommand.cpp: (WebCore::AppendNodeCommand::doApply): Assert that the node will be placed somewhere that's contenteditable.
  • editing/InsertNodeBeforeCommand.cpp: (WebCore::InsertNodeBeforeCommand::doApply): Ditto
  • editing/JSEditor.cpp: Enabled insertHTML for plaintext-only regions since it's useful for debugging rich content pastes into the new text fields.
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): 1) After the first paragraph of the fragment has been merged with the first part of the paragraph where the paste occured, if the next node to be inserted is inline, we put it in a new paragraph because it was at the start of a paragraph in the fragment. The change is to insert a paragraph separator if insertionPos.next() is null or outside of the current editable region. 2) Before the paste begins, a paragraph separator is inserted in order to avoid nesting blocks from the fragment to be pasted inside the block where the paste will occur. I made two fixes to the code that decides whether or not to insert the paragraph separator and added testcases for each. Added a fixme because it appears that this code is also used to ensure that the aforementioned insertionPos will be at the end of a paragraph. This code should only be about preventing nesting.
10:06 AM Changeset in webkit [13727] by thatcher
  • 1 add in branches/Safari-2-0-branch/JavaScriptGlue/Makefile

Missing a makefile.

1:31 AM Changeset in webkit [13726] by mjs
  • 13 edits
    3 adds in trunk

LayoutTests:

Reviewed by Anders.

Added test case for incidental fix from this change:


  • fast/dom/Element/dimension-properties-unrendered-expected.txt: Added.
  • fast/dom/Element/dimension-properties-unrendered.html: Added.
  • fast/dom/Element/resources/dimension-properties-unrendered.js: Added.

WebCore:

Reviewed by Anders.

  • dom/Element.idl: Declare full interface in IDL.
  • dom/Element.h: (WebCore::Element::tagQName): Renamed from tagName, so the real DOM method can be called tagName. (WebCore::Element::tagName): inline alias for nodeName.
  • dom/Element.cpp: (WebCore::Element::scrollByUnits): Moved logic from JS bindings to core DOM. (WebCore::Element::scrollByLines): ditto (WebCore::Element::scrollByPages): ditto (WebCore::Element::offsetLeft): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::offsetTop): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::offsetWidth): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::offsetHeight): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::offsetParent): ditto (WebCore::Element::clientWidth): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::clientHeight): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::scrollLeft): ditto (WebCore::Element::scrollTop): ditto (WebCore::Element::setScrollLeft): ditto (WebCore::Element::setScrollTop): ditto (WebCore::Element::scrollWidth): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::scrollHeight): ditto, plus make unrendered elements return 0 not undefined
  • bindings/scripts/CodeGeneratorJS.pm: Added support for ConvertUndefinedToTrue, for benefit of scroll methods where omitted arguments should be treated as true. However, maybe explicit overloading in the IDL would be a better long-term approach for optional arguments.
  • khtml/ecma/kjs_binding.cpp: (KJS::valueToStringWithNullCheck): fixed formatting (KJS::valueToBooleanTreatUndefinedAsTrue): added for binding of scrollIntoView (isn't this lame?)
  • khtml/ecma/kjs_binding.h: (KJS::toJS): fixed formatting, added new stuff
  • khtml/ecma/kjs_dom.cpp: (KJS::DOMElement::getValueProperty): removed most of contents (KJS::DOMElement::putValueProperty): ditto (KJS::DOMElementProtoFunc::callAsFunction): ditto
  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement): updated for rename of tagName to tagQName (WebCore::CSSStyleSelector::checkOneSelector): ditto
  • dom/Document.cpp: (WebCore::Document::importNode): ditto
  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::removeInlineStyle): ditto (WebCore::areIdenticalElements): ditto
  • html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList): ditto (WebCore::HTMLElement::inInlineTagList): ditto (WebCore::HTMLElement::inBlockTagList): ditto
1:04 AM Changeset in webkit [13725] by hyatt
  • 2 edits in trunk/WebKit

Re-enable coalesced updates. Our move to a single timer has essentially
implemented coalescing of updates anyway, so the regression has already
come back. Since we have to deal with that now anyway, there's no reason
to visually tear also. :)

Reviewed by darin

  • ChangeLog:
  • WebView/WebView.m: (-[WebView _commonInitializationWithFrameName:groupName:]):
12:26 AM Changeset in webkit [13785] by eseidel
  • 3 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

further fixes to exception handling, as well as doWhile and new expressions

Apr 6, 2006:

11:51 PM Changeset in webkit [13784] by eseidel
  • 3 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

fix try/catch and forIn unwind handling as well as error throwing

10:34 PM Changeset in webkit [13783] by ggaren
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs
10:25 PM Changeset in webkit [13782] by eseidel
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

fix AssignDotNodeEvaluateState

10:13 PM Changeset in webkit [13781] by ggaren
  • 4 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

loops work now -- mostly :)

9:52 PM Changeset in webkit [13724] by darin
  • 1 edit in trunk/WebKitTools/WebKitLauncher/WebKitLauncher.xcodeproj

Add the ignore property for inside this project.

9:06 PM Changeset in webkit [13780] by eseidel
  • 4 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

make value returns use a single value instead of the stack

6:21 PM Changeset in webkit [13779] by eseidel
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

trying to find value leak

5:02 PM Changeset in webkit [13778] by eseidel
  • 3 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

Fix returns and completions

2:10 PM Changeset in webkit [13777] by eseidel
  • 3 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

add printStacks()

2:09 PM Changeset in webkit [13776] by ggaren
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/completion.h

prevent the All completion mask from matching Scope, since Scope isn't a real completion

1:53 PM Changeset in webkit [13775] by ggaren
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/internal.cpp

unwind barrier debug print function was using the wrong variable

1:46 PM Changeset in webkit [13774] by ggaren
  • 1 add in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.h

forgot to add this file

1:44 PM Changeset in webkit [13773] by ggaren
  • 7 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore

random bug fixes, value stack printouts are now more informative

12:36 PM Changeset in webkit [13772] by ggaren
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

integrated for-in loop. everything compiles, but we still die bbadbeef-style on all js runs.

11:45 AM Changeset in webkit [13723] by bdakin
  • 9 edits
    4 adds in trunk

Reviewed by Darin.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8203
REGRESSION: "Invite a friend" text field in GMail page spills out
of table

RenderReplaced::calcMinMaxWidth() sets m_minWidth to 0 when the
width is a percent, so this patch copies that behavior into
RenderTextField::calcMinMaxWidth().

4:06 AM Changeset in webkit [13771] by eseidel
  • 3 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

the beast

3:29 AM Changeset in webkit [13770] by ggaren
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

make ReferenceList iterators hold on to their lists so that we can keep an iterator stack without having the underlying lists get destroyed

1:58 AM Changeset in webkit [13769] by eseidel
  • 4 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

add node stack and forIn

12:37 AM Changeset in webkit [13768] by eseidel
  • 5 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

go ggaren go

12:26 AM Changeset in webkit [13722] by darin
  • 2 edits in trunk/WebCore
  • try to fix Windows build
  • WebCore.vcproj/WebCore/WebCore.vcproj: Add JSDocument.cpp.
12:23 AM Changeset in webkit [13721] by darin
  • 5 edits in trunk/WebKitTools

Changes requested by Mark Rowe.

  • BuildSlaveSupport/build-launcher-app: Set executable bit, removed property change trash at the end of the file.
  • BuildSlaveSupport/build-launcher-dmg: Ditto.
  • WebKitLauncher/main.m: Removed trash at end of file.
  • WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj: Let Xcode update comments to make name match.
12:11 AM Changeset in webkit [13720] by darin
  • 4 edits in trunk/LayoutTests
  • regenerated test results
  • fast/forms/input-table-expected.txt: Regenerated. Seems right, matches Gecko.
  • fast/forms/form-element-geometry-expected.png: Regenerated.
  • fast/forms/form-element-geometry-expected.checksum: Regenerated.
12:02 AM Changeset in webkit [13719] by darin
  • 3 edits in trunk/JavaScriptCore
  • attempt to fix Windows build
  • kxmlcore/HashMap.h: (KXMLCore::HashMap::remove): Use (*it). instead of it->.
  • kxmlcore/HashSet.h: (KXMLCore::HashSet::remove): Ditto.

Apr 5, 2006:

11:41 PM Changeset in webkit [13718] by darin
  • 2 edits in trunk/LayoutTests
  • fast/forms/input-truncate-newline-expected.txt: Restored good expected results.
11:07 PM Changeset in webkit [13717] by darin
  • 2 edits in trunk/JavaScriptCore
  • attempt to fix Windows build
  • os-win32/stdint.h: Add int8_t, uint8_t, int64_t.
11:01 PM Changeset in webkit [13716] by darin
  • 2 edits in trunk/WebKit
  • fixed a storage leak from that last check-in
  • WebView/WebUnarchivingState.m: (-[WebUnarchivingState dealloc]): Release the two dictionaries.
10:57 PM Changeset in webkit [13715] by darin
  • 19 edits
    5 adds in trunk

LayoutTests:

Reviewed by Adele.

  • updated results for improved dumping of selection location in DumpRenderTree
  • fast/forms/input-text-self-emptying-click-expected.checksum: Added.
  • fast/forms/input-text-self-emptying-click-expected.png: Added.
  • fast/forms/input-text-self-emptying-click-expected.txt: Added.
  • fast/forms/input-text-self-emptying-click.html: Added.
  • editing/selection/3690703-2-expected.txt: Updated.
  • fast/forms/input-appearance-focus-expected.txt: Updated.
  • fast/forms/input-appearance-readonly-expected.txt: Updated.
  • fast/forms/input-appearance-selection-expected.txt: Updated.
  • fast/forms/input-paste-undo-expected.txt: Updated.
  • fast/forms/input-text-double-click-expected.txt: Updated.
  • fast/forms/input-text-option-delete-expected.txt: Updated.
  • fast/forms/input-text-scroll-left-on-blur-expected.txt: Updated.
  • fast/forms/plaintext-mode-2-expected.txt: Updated.

WebCore:

Reviewed by Adele.

Test: fast/forms/input-text-self-emptying-click.html

  • page/MouseEventWithHitTestResults.h: Removed url, target, m_url and m_target, replacing them with isOverLink and m_isOverLink. Replaced innerNode with targetNode, and added logic to handle the case where the target node is removed from the document but the element the target node was in is still inside the document.
  • page/MouseEventWithHitTestResults.cpp: Added.
  • WebCore.xcodeproj/project.pbxproj: Added MouseEventWithHitTestResults.cpp.
  • WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
  • kwq/RenderTreeAsText.cpp: (nodePosition): Added a call to shadowParentNode so we correctly dump positions within shadow trees. This was needed to give a good result from my new test for this bug.
  • dom/Document.cpp: (WebCore::Document::prepareMouseEvent): Update to pass fewer parameters to the constructor for MouseEventWithHitTestResults. Now takes isOverLink boolean, and no longer takes href and target parameters.
  • page/Frame.cpp: (WebCore::Frame::handleMousePressEventDoubleClick): Use new name targetNode, instead of old name innerNode. (WebCore::Frame::handleMousePressEventTripleClick): Ditto. (WebCore::Frame::handleMousePressEventSingleClick): Ditto. Also change code to check if over a link to use !isOverLink instead of url.isNull. (WebCore::Frame::handleMousePressEvent): Ditto. Also remove unused "url" local variable. (WebCore::Frame::handleMouseMoveEvent): Ditto. (WebCore::Frame::handleMouseReleaseEvent): Ditto. (WebCore::Frame::passWidgetMouseDownEventToWidget): Ditto.
  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::handleMousePressEvent): Use new name targetNode, instead of old name innerNode. (WebCore::FrameMac::handleMouseMoveEvent): Ditto. (WebCore::FrameMac::passSubframeEventToSubframe): Ditto. (WebCore::FrameMac::sendContextMenuEvent): Ditto.
  • page/FrameView.cpp: (WebCore::subframeForEvent): Use new name targetNode, instead of old name innerNode. (WebCore::FrameView::handleMousePressEvent): Ditto. (WebCore::FrameView::handleMouseDoubleClickEvent): Ditto. (WebCore::selectCursor): Ditto. Also change code to check if over a link to use isOverLink instead of !url.isNull. (WebCore::FrameView::handleMouseMoveEvent): Ditto. (WebCore::FrameView::handleMouseReleaseEvent): Ditto. (WebCore::FrameView::updateDragAndDrop): Ditto.
9:49 PM Changeset in webkit [13714] by mjs
  • 7 edits
    2 adds in trunk/WebKit

Reviewed by Eric.



  • WebKit.xcodeproj/project.pbxproj:
  • WebView/WebDataSource.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _addToUnarchiveState:]): (-[WebDataSource _popSubframeArchiveWithName:]): (-[WebDataSource _documentFragmentWithArchive:]): (-[WebDataSource _setupForReplaceByMIMEType:]): (-[WebDataSource subresourceForURL:]):
  • WebView/WebDataSourcePrivate.h:
  • WebView/WebFrame.m: (-[WebFrame _loadRequest:archive:]): (-[WebFrame loadRequest:]): (-[WebFrame loadArchive:]):
  • WebView/WebFramePrivate.h:
  • WebView/WebHTMLRepresentation.m: (-[WebHTMLRepresentation loadArchive]):
  • WebView/WebUnarchivingState.h: Added.
  • WebView/WebUnarchivingState.m: Added. (-[WebUnarchivingState init]): (-[WebUnarchivingState addArchive:]): (-[WebUnarchivingState archivedResourceForURL:]): (-[WebUnarchivingState popSubframeArchiveWithFrameName:]):
9:44 PM Changeset in webkit [13713] by mjs
  • 2 edits in trunk

Fixed date in ChangeLog entries for last checkin.

9:40 PM Changeset in webkit [13712] by mjs
  • 4 edits in trunk

LayoutTests:

Reviewed and landed by Maciej.

  • fast/clip/outline-overflowClip-expected.txt: Reverted to the correct expected result.

WebCore:

Reviewed and landed by Maciej.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateRects): Reverted this part of the fix for bug 7943. The outlineRect should not be inflated.
9:36 PM Changeset in webkit [13711] by mjs
  • 3 edits
    1 add in trunk

LayoutTests:

Reviewed by Eric, landed by Maciej.

  • svg/custom/class-selector.svg: Added.

WebCore:

Reviewed by Eric, landed by Maciej.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7627:
SVG from the W3C SVG 1.1 test suite (cubic01.svg) renders as all black

Fix this svg stylesheet to use strict-mode, as this makes sure
class selecting is done correctly.

  • ksvg2/svg/SVGStyleElement.cpp: (SVGStyleElement::childrenChanged):
9:14 PM Changeset in webkit [13710] by mjs
  • 3 edits
    10 adds in trunk/WebKitTools

Reviewed by Darin, landed by Maciej.

  • BuildSlaveSupport/build-launcher-app: Added. Builds WebKit.app from WebKitLauncher and bundles the WebKit frameworks inside it.
  • BuildSlaveSupport/build-launcher-dmg: Added. Builds, and optionally uploads, a disk image containing WebKit.app.
  • BuildSlaveSupport/run-performance-tests: Use currentSVNRevision.
  • Scripts/webkitdirs.pm: Add currentSVNRevision to retrieve the revision number of the SVN working copy.
  • WebKitLauncher: Added.
  • WebKitLauncher/Info.plist: Added.
  • WebKitLauncher/WebKitLauncher.xcodeproj: Added.
  • WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj: Added.
  • WebKitLauncher/WebKitNightlyEnabler.m: Added. This makes up the WebKitNightlyEnabler dylib which is loaded into Safari's address space to cause LaunchServices to treat Safari.app as WebKit.app when it is run from the nightly launcher.
  • WebKitLauncher/main.m: Added. The WebKit.app launcher. It sets up the environment to have Safari use the bundled frameworks and load the WebKitNightlyEnabler dylib before exec'ing Safari
  • WebKitLauncher/start.html: Added.
  • WebKitLauncher/webkit.icns: Added.
7:31 PM Changeset in webkit [13767] by eseidel
  • 8 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

merge

6:59 PM Changeset in webkit [13766] by eseidel
  • 8 edits in branches/temp-tree-code/trunk/JavaScriptCore/kjs

commit attempt

6:52 PM Changeset in webkit [13765] by ggaren
  • 1 copy in branches/temp-tree-code/branches/evaluate-execute-merge

created branch for evaluate-execute merge

5:13 PM Changeset in webkit [13709] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • fix memory leak introduced by the previous change
  • kxmlcore/HashTable.h: Specialize NeedsRef so that it correctly returns true when the value in question is a pair where one of the pair needs a ref and the other of the pair does not.
5:00 PM Changeset in webkit [13708] by justing
  • 2 edits in trunk/WebCore

Reviewed by mjs

I forgot to convert one of the implicit remove/inserts to an explicit remove/insert,
so we were hitting the assert I just added to InsertNodeBeforeCommand that checked for
implicit removes.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
3:43 PM Changeset in webkit [13707] by justing
  • 1 edit in trunk/WebCore/editing/InsertNodeBeforeCommand.cpp

Should fix the build

3:26 PM Changeset in webkit [13706] by mjs
  • 23 edits
    1 add in trunk

LayoutTests:

Reviewed by Anders.

Update prototype chain for the following fix:

  • fast/dom/prototype-chain-expected.txt:

WebCore:

Reviewed by Anders.

  • also removed document.actualEncoding since it is not in any spec or implemented by any other browser


  • DerivedSources.make: add JSDocument.h to results
  • WebCore.xcodeproj/project.pbxproj: Added new files to project
  • bindings/scripts/CodeGeneratorJS.pm: Support for new stuff needed by Document.
  • dom/Document.cpp: (WebCore::Document::readyState): moved impl here from JS bindings (WebCore::Document::inputEncoding): ditto (WebCore::Document::defaultCharset): ditto (WebCore::Document::setCharset): ditto
  • dom/Document.h: (WebCore::Document::charset): added, synonym for inputEncoding. (WebCore::Document::characterSet): ditto
  • dom/Document.idl: Added. Full interface for the Document object.
  • khtml/ecma/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): JSDocument, not DOMDocument
  • khtml/ecma/JSXSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction): ditto
  • khtml/ecma/kjs_binding.cpp: (KJS::jsStringOrFalse): Added this convenience for the method on Document that bizzarely returns false on failure and a string otherwise.
  • khtml/ecma/kjs_binding.h:
  • khtml/ecma/kjs_css.cpp: (KJS::toJS): renamed for consistency
  • khtml/ecma/kjs_css.h:
  • khtml/ecma/kjs_dom.cpp:
  • removed all traces of DOMDocument (KJS::toJS): JSDocument, not DOMDocument
  • khtml/ecma/kjs_dom.h:
  • khtml/ecma/kjs_html.cpp: (KJS::): (KJS::JSHTMLDocument::JSHTMLDocument): inherit from JSDocument (KJS::JSHTMLDocument::getOwnPropertySlot): ditto (KJS::JSHTMLDocument::put): ditto
  • khtml/ecma/kjs_html.h:
  • khtml/ecma/kjs_traversal.cpp: (KJS::toJS): added overloads (KJS::toNodeFilter): handle JS functions as well as impl NodeFilter objects
  • khtml/ecma/kjs_traversal.h:
  • platform/AtomicString.h: (WebCore::AtomicString::AtomicString): Allow implicit conversion from String.
2:53 PM Changeset in webkit [13705] by justing
  • 6 edits
    4 adds in trunk

LayoutTests:

Reviewed by darin


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8198>
Hitting an assert on undo paste

  • editing/pasteboard/undoable-fragment-removes-expected.checksum: Added.
  • editing/pasteboard/undoable-fragment-removes-expected.png: Added.
  • editing/pasteboard/undoable-fragment-removes-expected.txt: Added.
  • editing/pasteboard/undoable-fragment-removes.html: Added.

WebCore:

Reviewed by darin


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8198>
Hitting an assert on undo paste


ReplaceSelectionCommand was doing a combination of undoable and non-undoable
removes from the ReplacementFragment. On Undo Paste, the undoable removes
couldn't be undone because the tree was in a different state than it was
at the time of the remove. This patch makes all the removes from the fragment
non-undoable. We could make them all undoable, but I can't think of any reason
why we'd want the fragment to be reconstructed on an Undo Paste.

  • editing/AppendNodeCommand.cpp: (WebCore::AppendNodeCommand::doApply): Assert that the node to append isn't already in a tree, since if it is, it will be removed in a non-undoable way.
  • editing/InsertNodeBeforeCommand.cpp: (WebCore::InsertNodeBeforeCommand::doApply): Ditto.
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): Nodes were being moved from the fragment to the document with undoable inserts. Undoable inserts implicitly remove the node (in a non-undoable way) from its old location if it is already in a tree. I now explicitly remove the nodes from the fragment before inserting them into the document to make it clear that they are being removed in a non-non-undoable way. I also changed the one undoable remove from the fragment to a non-undoable remove.
  • editing/ReplaceSelectionCommand.h: Made ReplacementFragment's non-undoable removeNode public.
2:51 PM Changeset in webkit [13704] by darin
  • 2 edits in trunk/WebCore
  • fixed the build
  • WebCore.xcodeproj/project.pbxproj: Oops! Resolved merge conflict.
2:19 PM Changeset in webkit [13703] by darin
  • 34 edits
    2 adds
    1 delete in trunk

JavaScriptCore:

Reviewed by Maciej.

Change HashMap and HashSet implementation so they fold various types together.
This allows us to implement maps and sets that use RefPtr<WebCore::StringImpl>
and WebCore::String in terms of the underlying raw pointer type, and hence use
-1 for the deleted value.

  • kxmlcore/HashTraits.h: Added a new type to HashTraits, StorageTraits, which is a type to be used when storing a value that has the same layout as the type itself. This is used only for non-key cases. In the case of keys, the hash function must also be considered. Moved emptyValue out of GenericHashTraitsBase into GenericHashTraits. Added a new bool to HashTraits, needsRef, which indicates whether the type needs explicit reference counting. If the type itself has needsRef true, but the storage type has needsRef false, then the HashSet or HashMap has to handle the reference counting explicitly. Added hash trait specializations for all signed integer values that give -1 as the deleted value. Gave all integers StorageTraits of the canonical integer type of the same size so int and long will share code. Gave all pointers and RefPtrs StorageTraits of the appropriately sized integer type. Removed redundant TraitType and emptyValue definitions in the pointer specialization for HashTraits. Added PairBaseHashTraits, which doesn't try to set up needsDestruction and deletedValue. Useful for types where we don't want to force the existence of deletedValue, such as the type of a pair in a HashMap which is not the actual storage type. Removed an unneeded parameter from the DeletedValueAssigner template. Added HashKeyStorageTraits template, which determines what type can be used to store a given hash key type with a given hash function, and specialized it for pointers and RefPtr so that pointer hash tables share an underlying HashTable that uses IntHash.
  • kxmlcore/HashTable.h: Added HashTableConstIteratorAdapter, HashTableIteratorAdapter, NeedsRef, RefCountManagerBase, RefCountManager, HashTableRefCountManagerBase, and HashTableRefCountManager. All are used by both HashSet and HashMap to handle hash tables where the type stored is not the same as the real value type.


  • kxmlcore/HashFunctions.h: Added a new struct named IntTypes that finds an integer type given a sizeof value. Renamed pointerHash to intHash and made it use overloading and take integer parameters. Added an IntHash struct which is a hash function that works for integers. Changed PtrHash to call IntHash with an appropriately sized integer. Made IntHash the default hash function for many integer types. Made PtrHash the default hash function for RefPtr as well as for raw pointers.
  • kxmlcore/HashSet.h: Changed implementation to use a separate "storage type" derived from the new traits. The HashTable will use the storage type and all necessary translation and ref/deref is done at the HashSet level. Also reorganized the file so that the HashSet is at the top and has no inline implementation inside it so it's easy to read the interface to HashSet.
  • kxmlcore/HashMap.h: Changed implementation to use a separate "storage type" derived from the new traits. The HashTable will use the storage type and all necessary translation and ref/deref is done at the HashMap level. Also reorganized the file so that the HashMap is at the top and has no inline implementation inside it so it's easy to read the interface to HashMap.
  • kxmlcore/HashMapPtrSpec.h: Removed. Superceded by optimizations in HashMap itself.
  • JavaScriptCore.xcodeproj/project.pbxproj: Remove HashMapPtrSpec.h, resort files, and also remove some unnecessary build settings from the aggregate target that generates derived sources.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.

WebCore:

Reviewed by Maciej.

  • platform/StringHash.h: Added. Moved hash functions and such for WebCore::String and friends into this file so we don't have to include the hash traits header everywhere. Changed hashing for WebCore::StringImpl and WebCore::String so that they use a raw pointer for the underlying storage type, taking advantage of the new feature added in JavaScriptCore.
  • platform/AtomicString.h: Moved StrHash specialization to StringHash.h.
  • platform/PlatformString.h: Moved StrHash specialization to StringHash.h.
  • platform/StringImpl.h: Moved StrHash, CaseInsensitiveHash, and HashTraits to StringHash.h. Left DefaultHash behind so that you can't get the wrong hash function by accident if you forget to include "StringHash.h".
  • platform/StringImpl.cpp: Added include of StringHash.h and removed RefPtr<StringImpl> HashTraits<RefPtr<StringImpl> >::_deleted, which is the object with a global initializer causing all the trouble!
  • kwq/AccessibilityObjectCache.h: Changed hash function to be IntHash instead of PtrHash.
  • dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to inherit from the generic traits in KXMLCore so we get a StorageType. Also cleaned up a tiny bit by adding default values to the MappedAttributeKey constructor.
  • platform/CharsetNames.cpp: Changed hash traits here to be a new TextEncodingIDHashTraits struct rather than defining new default traits for the integer type since more integer types have default traits in HashTraits.h now. Also added a specialization so this class will share the underlying implementation (since InvalidEncoding happens to be -1).
  • bridge/mac/FrameMac.h:
  • dom/Document.h:
  • dom/xml_tokenizer.h:
  • khtml/xsl/XSLTProcessor.h:
  • kwq/JavaAppletWidget.h:
  • page/FramePrivate.h:
  • page/Page.cpp:
  • platform/AtomicString.cpp:
  • platform/TransferJob.h:
  • rendering/render_applet.h: Added include of StringHash.h.
  • WebCore.xcodeproj/project.pbxproj: Added StringHash.h. Remove unneeded CREATE_HASH_TABLE variable in build settings. Re-sorted some file lists. Added quotes to the CREATE_HASH_TABLE initialization in the rule that builds generated files. Removed various unneeded build settings for that target as well.
  • ForwardingHeaders/kxmlcore/HashTraits.h: Added.
  • other minor cleanup
  • bridge/mac/FrameMac.mm: Sorted includes.
  • dom/Node.cpp: Removed bogus symbol after #endif.
  • khtml/xsl/XSLTProcessor.cpp: Sorted includes. Removed redundant using namespace WebCore.
  • loader/Cache.cpp: Ditto.

WebKitTools:

Reviewed by Maciej.

  • Scripts/check-for-global-initializers: Remove StringImpl from the list of files that are allowed to have global initializers.
1:28 PM Changeset in webkit [13764] by ggaren
  • 4 edits in branches/temp-tree-code/trunk/JavaScriptCore/kjs

Oops. Committed wrong patch. This is with-stack.patch

1:09 PM Changeset in webkit [13763] by ggaren
  • 5 edits in branches/temp-tree-code/trunk/JavaScriptCore/kjs

Committing Eric's patch to unify how nodes know their interpreter state -- with minor tweaks to the ASSERTs. The unified method is for nodes to use a data member rather than virtual method dispatch. This is about a 7% performance win.

11:05 AM Changeset in webkit [13702] by bdakin
  • 2 edits in trunk/WebCore

Reviewed by Darin.

Fix for <rdar://problem/4502311> text-transform:capitalize needs to
treat nbsp as a regular space when ICU changes

There will be future changes in ICU to match the Unicode 4.1
standard which no longer recognizes &nbsp as a word separator. We
need to work around this with text-transform:capitalize because
words after non-breaking spaces still need to be capitalized.

No layout tests added because existing layout tests cover this.

11:02 AM Changeset in webkit [13701] by ap
  • 4 edits
    2 adds in trunk

Reviewed by Darin.

Test: fast/dom/navigator-vendorSub.html

  • khtml/ecma/kjs_navigator.cpp: (KJS::Navigator::getValueProperty): Return an empty string for vendorSub property.
  • khtml/ecma/kjs_navigator.h:
11:02 AM Changeset in webkit [13700] by ggaren
  • 2 edits in trunk/WebKitTools

Reviewed by OMG BETH

  • Scripts/run-testkjs:
  • pipe STDERR to /dev/null by default; new --verbose option overrides this behavior
  • set DYLD_FRAMEWORK_PATH to the webkit-configured path
  • output run command in a format that can be copied and pasted into the terminal to run manually
12:17 AM Changeset in webkit [13762] by ggaren
  • 6 edits
    1 delete in branches/temp-tree-code/trunk/JavaScriptCore

more steps toward integrating the evaluate and execute loops

Apr 4, 2006:

11:42 PM Changeset in webkit [13761] by eseidel
  • 1 edit in branches/temp-tree-code/trunk/JavaScriptCore/JavaScriptCore.xcodeproj

Make svn ignore xcode internal files

11:41 PM Changeset in webkit [13760] by eseidel
  • 5 edits in branches/temp-tree-code/trunk/JavaScriptCore/kjs

roll evaluateList into the loop, fix exception handling

8:55 PM Changeset in webkit [13699] by darin
  • 10 edits
    1 delete in trunk

LayoutTests:

Reviewed by Justin and Adele.

  • fast/forms/plaintext-mode-2-expected.txt: Updated because there's no longer and extra <div> element added.

WebCore:

Reviewed by Justin (editing parts) and Adele (the rest).

The smart paste code was getting confused and adding extra spaces.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): Use isStartOfParagraph instead of isStartOfLine. (WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): Ditto.
  • editing/InsertParagraphSeparatorCommand.cpp: (WebCore::enclosingEmptyListItem): Change to call isStart/EndOfParagraph instead of Line.
  • editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input): Add a comment about how isStartOfLine is almost certainly wrong here.
  • clean up some loose ends in the Frame class from the recent renaming
  • page/Frame.h: Removed declarations of deleteMe1, deleteMe2, and handleMouseMoveEventPart2.
  • page/Frame.cpp: (WebCore::Frame::handleMouseMoveEvent): Removed handleMouseMoveEventPart2 by renaming it to handleMouseMoveEvent and removing handleMouseMoveEvent itself.
  • invoke the makefile directly, removing the generate-derived-sources script
  • WebCore.vcproj/WebCore/build-generated-files.sh: Call make directly.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • generate-derived-sources: Removed.
7:26 PM Changeset in webkit [13698] by hyatt
  • 2 edits in trunk/LayoutTests/tables

Update table results after my change to create fewer RenderTexts.

7:19 PM Changeset in webkit [13697] by hyatt
  • 14 edits in trunk/LayoutTests/fast

Update fast results after my change to create fewer RenderTexts.

7:06 PM Changeset in webkit [13696] by adele
  • 3 edits
    8 adds in trunk

LayoutTests:

  • editing/selection/caret-rtl-expected.checksum: Added.
  • editing/selection/caret-rtl-expected.png: Added.
  • editing/selection/caret-rtl-expected.txt: Added.
  • editing/selection/caret-rtl.html: Added.
  • editing/selection/caret-rtl-2-expected.checksum: Added.
  • editing/selection/caret-rtl-2-expected.png: Added.
  • editing/selection/caret-rtl-2-expected.txt: Added.
  • editing/selection/caret-rtl-2.html: Added.

WebCore:

Reviewed by Justin.

Tests:
editing/selection/caret-rtl.html
editing/selection/caret-rtl-2.html

  • rendering/RenderText.cpp: (WebCore::RenderText::positionForCoordinates): When calculating the position for the beginning or end of an InlineTextBox, we now use offsetForPosition instead of just using m_start and m_len, because offsetForPosition will take rtl text into account. I also made some formatting changes.
6:49 PM Changeset in webkit [13695] by adele
  • 2 edits in trunk/LayoutTests

New results for

  • fast/forms/input-truncate-newline-expected.txt

Filed bug:
http://bugzilla.opendarwin.org/show_bug.cgi?id=8187
input-truncate-newline layout test fails when run as part of larger set of tests

5:47 PM Changeset in webkit [13759] by ggaren
  • 1 add in branches/temp-tree-code/trunk/JavaScriptCore/kjs/NodeType.h

forgot this file

5:47 PM Changeset in webkit [13758] by ggaren
  • 5 edits in branches/temp-tree-code/trunk/JavaScriptCore

converted all executes to giant switch statement -- nothing is integrated with the evaluate loop yet, but it builds and passes all the tests

4:47 PM Changeset in webkit [13694] by thatcher
  • 1 move in tags/JavaScriptCore-521.9.1/JavaScriptCore

Correct place.

4:47 PM Changeset in webkit [13693] by thatcher
  • 1 add in tags/JavaScriptCore-521.9.1

New tag.

4:46 PM Changeset in webkit [13692] by thatcher
  • 1 move in tags/JavaScriptCore-521.9.1-temp

Move. This was in the wrong place.

4:42 PM Changeset in webkit [13691] by thatcher
  • 5 edits in tags/JavaScriptCore-521.9.1

Reviewed by Adele.

Fixes <rdar://problem/4498338> JavaScriptCore fails to compile for ppc64
Other 64 bit build fixes.

  • kjs/collector.cpp: (KJS::Collector::markOtherThreadConservatively): test for DARWIN_UNIX03 and use r1
  • kjs/dtoa.cpp: (Bigint::): cast PRIVATE_mem to unsigned to prevent warning
  • bindings/jni/jni_utility.cpp: (KJS::Bindings::getJavaVM): cast jniError to long to prevent format warning (KJS::Bindings::getJNIEnv): cast jniError to long to prevent format warning
  • bindings/runtime_root.cpp: (KJS::Bindings::addNativeReference): cast CFDictionaryGetValue to unsigned long to prevent warning (KJS::Bindings::removeNativeReference): cast CFDictionaryGetValue to unsigned long to prevent warning
4:34 PM Changeset in webkit [13690] by thatcher
  • 1 copy in tags/JavaScriptCore-521.9.1

new tag.

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

Fix for bug 8065, inline blocks incorrectly loses spaces between them.

Reviewed by beth

  • dom/Text.cpp: (WebCore::Text::rendererIsNeeded):
3:23 PM Changeset in webkit [13688] by adele
  • 3 edits
    4 adds in trunk

LayoutTests:

  • Test for:

http://bugzilla.opendarwin.org/show_bug.cgi?id=8092
REGRESSION (NativeTextField): table contents misaligned in Netflix queue

http://bugzilla.opendarwin.org/show_bug.cgi?id=8141
REGRESSION: Native text field fails to wrap inside table

http://bugzilla.opendarwin.org/show_bug.cgi?id=8072
REGRESSION: text fields at connect.apple.com spill out of the containing box

  • fast/forms/input-table-expected.checksum: Added.
  • fast/forms/input-table-expected.png: Added.
  • fast/forms/input-table-expected.txt: Added.
  • fast/forms/input-table.html: Added.

WebCore:

Reviewed by Hyatt.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8141
REGRESSION: Native text field fails to wrap inside table

http://bugzilla.opendarwin.org/show_bug.cgi?id=8072
REGRESSION: text fields at connect.apple.com spill out of the containing box

Test: fast/forms/input-table.html

Rewrote calcMinMaxWidth for text fields so it considers width,
min-width, and max-width settings as well as the size attribute.

  • rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
3:11 PM Changeset in webkit [13687] by bdakin
  • 4 edits in trunk/WebCore

Reviewed by Darin.

This is a followup to my fix for <rdar://problem/4493218>


This patch re-names computeIntLength() and computerShortLength() to
be computeLengthInt() and computeLengthShort(), respectively, to
match the pre-existing computeLengthFloat(). This patch also adds
the slightly confusing-ly named computeLengthIntForLength() which
uses the max and min values of a 28-bit integer as bounds for
overflow. This function is necessary because Length objects expect
28-bit integers.

2:21 PM Changeset in webkit [13686] by thatcher
  • 8 edits in trunk

JavaScriptCore:

Reviewed by Darin.

The Debug and Release frameworks are now built with install paths relative to the build products directory.
This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore.

JavaScriptGlue:

Reviewed by Darin.

The Debug and Release frameworks are now built with install paths relative to the build products directory.
This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore.

  • JavaScriptGlue.xcodeproj/project.pbxproj:

WebCore:

Reviewed by Darin.

The Debug and Release frameworks are now built with install paths relative to the build products directory.
This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore.

  • WebCore.xcodeproj/project.pbxproj:

WebKit:

Reviewed by Darin.

The Debug and Release frameworks are now built with install paths relative to the build products directory.
This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore.

  • WebKit.xcodeproj/project.pbxproj:
1:52 PM Changeset in webkit [13685] by justing
  • 17 edits
    12 adds in trunk

LayoutTests:

Reviewed by darin

<http://bugzilla.opendarwin.org/show_bug.cgi?id=6608>
REGRESSION: Line disappears when deleting

Added:

  • editing/deleting/merge-different-styles-expected.checksum: Added.
  • editing/deleting/merge-different-styles-expected.png: Added.
  • editing/deleting/merge-different-styles-expected.txt: Added.
  • editing/deleting/merge-different-styles.html: Added.
  • editing/deleting/merge-no-br-expected.checksum: Added.
  • editing/deleting/merge-no-br-expected.png: Added.
  • editing/deleting/merge-no-br-expected.txt: Added.
  • editing/deleting/merge-no-br.html: Added.
  • editing/deleting/merge-whitespace-pre-expected.checksum: Added.
  • editing/deleting/merge-whitespace-pre-expected.png: Added.
  • editing/deleting/merge-whitespace-pre-expected.txt: Added.
  • editing/deleting/merge-whitespace-pre.html: Added.

Fixes (not enough style on nodes for the fixes to be reflected in pixel results):

  • editing/deleting/delete-block-merge-contents-005-expected.txt:
  • editing/deleting/delete-block-merge-contents-006-expected.txt:
  • editing/deleting/delete-block-merge-contents-008-expected.txt:

Equivalent render trees:

  • editing/deleting/delete-3857753-fix-expected.txt:
  • editing/inserting/insert-div-026-expected.txt:


Forgot to checkin these new expected results after fixing the DRT bug:

  • fast/lists/drag-into-marker-expected.checksum:
  • fast/lists/drag-into-marker-expected.png:
  • fast/lists/drag-into-marker-expected.txt:

WebCore:

Reviewed by darin


<http://bugzilla.opendarwin.org/show_bug.cgi?id=6608>
REGRESSION: Line disappears when deleting


Rewrote moveNodesAfterNode to address these problems:
It moved nodes without preserving their style.
It traversed over siblings looking for a br to know when
to stop merging. If the br was burried inside a span, it
wouldn't find it. If the text is whitespace:pre, it wouldn't
stop.
In theory it would crash if the "enclosingInlineElements" of the start of the
selection to delete and the end of the selection to delete were the
same. We think that this will fix these:
<rdar://problems/3950559&4498113>
CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32
CrashTracer: 1569 crashes in Mail at com.apple.WebCore: khtml::DeleteSelectionCommand::moveNodesAfterNode + 340
But we haven't been able to construct a reproducible case.


  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Moved from ReplaceSelectionCommand. (WebCore::CompositeEditCommand::prune): Ditto.
  • editing/CompositeEditCommand.h:
  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::mergeParagraphs): (WebCore::DeleteSelectionCommand::doApply):
  • editing/DeleteSelectionCommand.h:
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
  • editing/ReplaceSelectionCommand.h: (WebCore::):
  • editing/markup.cpp: (WebCore::createMarkup): Was crashing when passed a collapsed range. I early return an empty string instead.
11:10 AM Changeset in webkit [13684] by eseidel
  • 3 edits in trunk/JavaScriptCore

2006-04-04 Eric Seidel <eseidel@apple.com>

Reviewed by ggaren.

Fix win32 build.
Disable ASSERT redefinition warnings for now.

10:48 AM Changeset in webkit [13683] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Adele Peterson.

  • WebKit part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
  • WebView/WebView.m: (-[WebView _updateWebCoreSettingsFromPreferences:]): Pass private browsing setting down to WebCore.
10:47 AM Changeset in webkit [13682] by sullivan
  • 6 edits in trunk/WebCore

Reviewed by Adele Peterson.


  • WebCore part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
  • bridge/mac/WebCoreSettings.h:
  • bridge/mac/WebCoreSettings.mm: (-[WebCoreSettings setPrivateBrowsingEnabled:]): (-[WebCoreSettings privateBrowsingEnabled]): Teach WebCoreSettings about private browsing (WebKit knew, but WebCore didn't)


  • kwq/KWQKHTMLSettings.h: (KHTMLSettings::privateBrowsingEnabled): (KHTMLSettings::setPrivateBrowsingEnabled): Teach KHTMLSettings about private browsing


  • kwq/KWQLineEdit.mm: Fix wrong class in a category method declaration; the compiler didn't seem to mind.


  • kwq/WebCoreTextField.mm: (-[KWQSearchFieldCell _addStringToRecentSearches:]): Override this method to bail out if private browsing is enabled.
9:15 AM Changeset in webkit [13681] by darin
  • 4 edits in trunk/WebCore

Reviewed by Hyatt.

http://bugzilla.opendarwin.org/show_bug.cgi?id=7951
REGRESSION: Safari crashes when printing a google map w/directions

Tests: none, because I believe it only happens when printing, due to the relayouts

  • rendering/RenderTable.cpp: (WebCore::RenderTable::recalcSectionsIfNeeded): Add new utility to let the cells ensure the sections' grid data is up to date.
  • rendering/RenderTable.h:
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::calcMinMaxWidth): Call above method.
5:11 AM Changeset in webkit [13680] by eseidel
  • 2 edits in trunk/JavaScriptCore

2006-04-04 Bjrn Graf <bjoern.graf@gmail.com>

Reviewed by ggaren & darin. Landed by eseidel.

Integrate CURL version of gettimeofday
http://bugzilla.opendarwin.org/show_bug.cgi?id=7399
Disable crash report dialogs for testkjs.exe in Release mode
http://bugzilla.opendarwin.org/show_bug.cgi?id=8113

  • kjs/testkjs.cpp: (StopWatch::start): (StopWatch::stop): (StopWatch::getElapsedMS): (main): (kjsmain):
4:54 AM Changeset in webkit [13679] by eseidel
  • 2 edits in trunk/WebCore

2006-04-03 Justin Haygood <jhaygood@spsu.edu>

Reviewed by eseidel. Landed by eseidel.

  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::updateScrollBars):
4:48 AM Changeset in webkit [13678] by eseidel
  • 3 edits in trunk/WebCore

2006-04-04 Eric Seidel <eseidel@apple.com>

Reviewed by andersca.

Work-around spaces-in-pathnames issue in gnumake on win32.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8173

  • WebCore.vcproj/WebCore/build-generated-files.sh:
3:08 AM Changeset in webkit [13677] by eseidel
  • 2 edits in trunk/JavaScriptCore

2006-04-04 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

  • kjs/number_object.cpp: (NumberProtoFunc::callAsFunction): remove trunc() to fix win32.
2:03 AM Changeset in webkit [13676] by mjs
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin.


  • kjs/number_object.cpp: (intPow10): Compute integer powers of 10 using exponentiation by squaring. (NumberProtoFunc::callAsFunction): Use intPow10(n) in place of all pow(10.0, n), plus a bit of refactoring.
Note: See TracTimeline for information about the timeline view.