Timeline


and

05/07/06:

23:00 Changeset [14225] by darin
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Tweak change log.

22:31 Changeset [14224] by hyatt
  • 599 edits in trunk/LayoutTests/tables

Land changes to mozilla table tests for bug 8060.

22:24 Changeset [14223] by hyatt
  • 113 edits in trunk/LayoutTests/tables/mozilla_expected_failures/bugs

Land changes to mozilla table tests for bug 8060.

22:21 Changeset [14222] by hyatt
  • 456 edits in trunk/LayoutTests/tables/mozilla/bugs

Land changes to mozilla table tests for bug 8060.

21:59 Changeset [14221] by mjs
  • 5 edits in trunk

JavaScriptCore:

Reviewed and landed by Maciej.


I haven't figured out how to construct a test for this, but this does seem to fix the
problem; Mitz mentioned that a double-destroy was occurring in these functions.


  • kxmlcore/HashMap.h: (KXMLCore::HashMap::remove): Use RefCounter::deref instead of calling ~ValueType, because ~ValueType often results in a double-destroy, since the HashTable also destroys the element based on the storage type. The RefCounter template correctly does work only in cases where ValueType and ValueStorageType differe and this class is what's used elsewhere for the same purpose; I somehow missed this case when optimizing HashMap.
  • kxmlcore/HashSet.h: (KXMLCore::HashSet::remove): Ditto.

WebCore:

Suggested by Mitz. Reviewed and landed by Maciej.


  • dom/Document.cpp: (WebCore::Document::formElementsState): Fixed mistake where the vector has an initial size and instead should have an initial capacity. Harmless in a way, but hurts performance.
21:18 Changeset [14220] by hyatt
  • 82 edits in trunk/LayoutTests/fast/table

Land new results for fast/table to account for bug 8060.

21:14 Changeset [14219] by hyatt
  • 2 edits in trunk/WebCore

Fix for bugzilla bug 8060.

Fixed width table cells weren't having their border widths
included in the effective width of the column (and thus could end up being
too small).

Reviewed by darin

Added fast/tables/fixed-cell-growth.html

  • rendering/table_layout.cpp: (WebCore::AutoTableLayout::recalcColumn):
11:07 Changeset [14218] by ap
  • 1 edit in trunk/WebCore/ChangeLog

Fix a typo in te ChangeLog.

11:01 Changeset [14217] by ap
  • 4 edits
    2 adds in trunk

Reviewed by Darin.

Tests:

  • fast/forms/form-data-encoding.html
  • fast/forms/form-data-encoding-2.html
  • platform/mac/TextEncodingMac.cpp: (WebCore::TextEncoding::fromUnicode): Normalize the string; handle surrogate pairs.

05/06/06:

01:40 Changeset [14216] by hyatt
  • 16 edits
    2 moves
    1 delete in trunk/WebCore

Rename WebCoreFont to FontPlatformData and WebTextRenderer to FontData. Merge them into the
headers (uncleanly with ifdefs at the moment, so I can see what I'm working towards).

Reviewed by mjs

  • ChangeLog:
  • WebCore.vcproj/WebCore/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bridge/mac/WebCoreStringTruncator.mm: (stringWidth): (truncateString): (+[WebCoreStringTruncator widthOfString:font:]):
  • kwq/KWQComboBox.mm: (QComboBox::sizeHint):
  • kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth):
  • kwq/KWQListBox.mm: (itemTextRenderer): (groupLabelTextRenderer): (QListBox::sizeForNumberOfLines): (-[KWQTableView drawRow:clipRect:]):
  • platform/Font.cpp: (WebCore::m_wordSpacing): (WebCore::Font::Font): (WebCore::Font::operator=): (WebCore::Font::update): (WebCore::Font::ascent): (WebCore::Font::descent): (WebCore::Font::lineSpacing): (WebCore::Font::xHeight): (WebCore::Font::isFixedPitch):
  • platform/Font.h: (WebCore::Font::getNSFont):
  • platform/FontData.h: (WebCore::FontData::ascent): (WebCore::FontData::descent): (WebCore::FontData::lineSpacing): (WebCore::FontData::lineGap): (WebCore::FontData::misspellingLineThickness): (WebCore::FontData::misspellingLinePatternWidth): (WebCore::FontData::misspellingLinePatternGapWidth):
  • platform/FontDataSet.h: Removed.
  • platform/FontFallbackList.h: Added.
  • platform/FontPlatformData.h:
  • platform/mac/FontData.mm: Added. (WebCore::WebCoreInitializeFont): (WebCore::WebCoreInitializeEmptyTextGeometry): (WebCore::widthForGlyph): (WebCore::overrideLayoutOperation): (WebCore::FontData::~FontData): (WebCore::FontData::xHeight): (WebCore::FontData::drawRun): (WebCore::FontData::floatWidthForRun): (WebCore::FontData::drawLineForCharacters): (WebCore::FontData::selectionRectForRun): (WebCore::FontData::drawHighlightForRun): (WebCore::FontData::drawLineForMisspelling): (WebCore::FontData::pointToOffset): (WebCore::FontData::setAlwaysUseATSU): (WebCore::getSmallCapsRenderer): (WebCore::findSubstituteFont): (WebCore::rendererForAlternateFont): (WebCore::findSubstituteRenderer): (WebCore::computeWidthForSpace): (WebCore::setUpFont): (WebCore::CG_drawHighlight): (WebCore::CG_selectionRect): (WebCore::CG_draw): (WebCore::CG_floatWidthForRun): (WebCore::updateGlyphMapEntry): (WebCore::extendGlyphMap): (WebCore::extendWidthMap): (WebCore::initializeATSUStyle): (WebCore::createATSULayoutParameters): (WebCore::getTextBounds): (WebCore::ATSU_floatWidthForRun): (WebCore::ATSU_drawHighlight): (WebCore::ATSU_selectionRect): (WebCore::ATSU_draw): (WebCore::ATSU_pointToOffset): (WebCore::advanceWidthIteratorOneCharacter): (WebCore::CG_pointToOffset): (WebCore::glyphForCharacter): (WebCore::initializeWidthIterator): (WebCore::advanceWidthIterator):
  • platform/mac/FontMac.mm: (WebCore::m_font): (WebCore::FontFallbackList::~FontFallbackList): (WebCore::FontFallbackList::platformFont): (WebCore::FontFallbackList::primaryFont): (WebCore::FontFallbackList::determinePitch): (WebCore::FontFallbackList::invalidate): (WebCore::Font::platformFont): (WebCore::Font::selectionRectForText): (WebCore::Font::drawText): (WebCore::Font::drawHighlightForText): (WebCore::Font::drawLineForText): (WebCore::Font::drawLineForMisspelling): (WebCore::Font::misspellingLineThickness): (WebCore::Font::floatWidth): (WebCore::Font::checkSelectionPoint):
  • platform/mac/WebCoreTextRenderer.mm: (WebCoreDrawTextAtPoint): (WebCoreTextFloatWidth): (WebCoreSetAlwaysUseATSU):
  • platform/mac/WebTextRenderer.h: Removed.
  • platform/mac/WebTextRenderer.mm: Removed.
  • platform/mac/WebTextRendererFactory.h:
  • platform/mac/WebTextRendererFactory.mm: (-[WebTextRendererFactory isFontFixedPitch:]): (-[WebTextRendererFactory init]): (-[WebTextRendererFactory rendererWithFont:]): (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
  • platform/win/FontWin.cpp: (WebCore::FontFallbackList::~FontFallbackList): (WebCore::FontFallbackList::determinePitch): (WebCore::FontFallbackList::invalidate): (WebCore::FontFallbackList::primaryFont): (WebCore::Font::floatWidth): (WebCore::Font::drawText): (WebCore::Font::drawHighlightForText): (WebCore::Font::selectionRectForText): (WebCore::Font::checkSelectionPoint):

05/05/06:

16:48 Changeset [14215] by darin
  • 2 edits in trunk/WebCore
  • fix the Windows build
  • platform/win/FontWin.cpp: (WebCore::getFontData):
16:17 Changeset [14214] by adele
  • 3 edits in branches/Safari-2-0-branch/WebCore

Reviewed by

Merged this fix for:
<rdar://problem/4537287> REGRESSION: All text links are broken at yahoo.com

A recent change to dispatching click events exposed this bug in a new way.

2005-10-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

http://bugzilla.opendarwin.org/show_bug.cgi?id=5180
event.stopPropagation() prevents the default action - it shouldn't

  • khtml/ecma/kjs_events.cpp: (KJS::DOMEventProtoFunc::callAsFunction): Don't let stopPropagation fall through to preventDefault.
  • khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::dispatchGenericEvent): Don't let stopPropagation prevent calling default event handlers; only preventDefault does that.
15:56 Changeset [14213] by darin
  • 2 edits in trunk/WebCore
  • platform/SegmentedString.h: (WebCore::SegmentedString::advance): Oops! Removed an extra ! that was causing everything to fail.
15:50 Changeset [14212] by darin
  • 19 edits in trunk/WebCore

Reviewed by Tim Hatcher.

  • remove a few of the stranger features of QChar on the road to eventually replacing it with an integer type (probably ICU's UChar)
  • platform/DeprecatedString.h: Remove SpecialCharacter, byteOrderMark, null, cell, row, isNull, mirrored, mirroredChar, operator char, >, >=, <, and <= from QChar. Also removed the many unneeded friend declarations. Remove findArg and arg from DeprecatedString.
  • dom/Document.cpp: (WebCore::Document::parseQualifiedName): Cast the type of the buffer before invoking the U16_NEXT function. Turns out this was converting each QChar to a char and back to a UChar, which means it caused a bug with characters that are U+0100 or greater.
  • css/csshelper.cpp: (WebCore::parseURL):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::constrainValue):
  • platform/StringImpl.cpp: (WebCore::StringImpl::toCoordsArray):
  • xml/xmlhttprequest.cpp: (WebCore::getCharset): Add some calls to unicode() since we don't have comparison operators any more.
  • dom/StyledElement.cpp: (WebCore::toHex): Rewrote to just take a UChar parameter. (WebCore::StyledElement::addCSSColor): Call toHex on the character code.
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
  • editing/TextIterator.cpp: (WebCore::TextIterator::handleTextBox):
  • platform/SegmentedString.h: (WebCore::SegmentedString::push): (WebCore::SegmentedString::advance): (WebCore::SegmentedString::escaped):
  • platform/SegmentedString.cpp: (WebCore::SegmentedString::length): (WebCore::SegmentedString::append): (WebCore::SegmentedString::prepend): (WebCore::SegmentedString::toString): Changed calls to isNull() to instead just use unicode() and check for 0.
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseEntity): Change callers that used cell and row to just use unicode() instead. (WebCore::HTMLTokenizer::parseTag): Ditto.
  • loader/Decoder.cpp: (Decoder::decode): Changed code that did a type cast to unsigned char to instead call unicode().
  • platform/DeprecatedString.cpp: (KWQStringData::makeAscii): Call latin1() instead of relying on the conversion operator. (DeprecatedString::DeprecatedString): Call unicode() instead of relying on the conversion operator (the character has been tested and is known to be ASCII). (DeprecatedString::at): Use 0 instead of QChar::null. (DeprecatedString::compare): Use unicode() so we can do comparison since we don't have comparison operators any more. (DeprecatedString::find): Call unicode() instead of relying on the conversion operator (the character has been tested and is known to be ASCII). (DeprecatedString::findRev): Ditto. (DeprecatedString::copyLatin1): Call latin1() instead of relying on the conversion operator. (DeprecatedString::lower): Call unicode() instead of relying on the conversion operator (the character has been tested and is known to be ASCII). (DeprecatedString::insert): Ditto. (DeprecatedString::replace): Ditto. (DeprecatedString::fill): Ditto. (DeprecatedString::append): Ditto.
  • html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler): Eliminate the one use of DeprecatedString::arg.
  • other cleanup
  • kwq/KWQCString.cpp: Remove unneeded "using" directive.
  • html/HTMLElementFactory.cpp: (WebCore::htmlConstructor): (WebCore::headConstructor): (WebCore::bodyConstructor): (WebCore::baseConstructor): (WebCore::linkConstructor): (WebCore::metaConstructor): (WebCore::styleConstructor): (WebCore::titleConstructor): (WebCore::frameConstructor): (WebCore::framesetConstructor): (WebCore::iframeConstructor): (WebCore::formConstructor): (WebCore::buttonConstructor): (WebCore::inputConstructor): (WebCore::isindexConstructor): (WebCore::fieldsetConstructor): (WebCore::labelConstructor): (WebCore::legendConstructor): (WebCore::optgroupConstructor): (WebCore::optionConstructor): (WebCore::selectConstructor): (WebCore::textareaConstructor): (WebCore::dlConstructor): (WebCore::ulConstructor): (WebCore::olConstructor): (WebCore::dirConstructor): (WebCore::menuConstructor): (WebCore::liConstructor): (WebCore::blockquoteConstructor): (WebCore::divConstructor): (WebCore::headingConstructor): (WebCore::hrConstructor): (WebCore::paragraphConstructor): (WebCore::preConstructor): (WebCore::basefontConstructor): (WebCore::fontConstructor): (WebCore::modConstructor): (WebCore::anchorConstructor): (WebCore::imageConstructor): (WebCore::mapConstructor): (WebCore::areaConstructor): (WebCore::canvasConstructor): (WebCore::appletConstructor): (WebCore::embedConstructor): (WebCore::objectConstructor): (WebCore::paramConstructor): (WebCore::scriptConstructor): (WebCore::tableConstructor): (WebCore::tableCaptionConstructor): (WebCore::tableColConstructor): (WebCore::tableRowConstructor): (WebCore::tableCellConstructor): (WebCore::tableSectionConstructor): (WebCore::brConstructor): (WebCore::quoteConstructor): (WebCore::marqueeConstructor): Mark functions static, remove unused parameters, change from docPtr to doc.
13:35 Changeset [14211] by ap
  • 3 edits
    4 adds in trunk

Reviewed by Maciej.

Test: fast/parser/broken-comments-vs-parsing-mode.html

  • page/Frame.cpp: (WebCore::Frame::endIfNotLoading): Call determineParseMode() if needed.
13:30 Changeset [14210] by darin
  • 2 edits in trunk/WebCore
  • fix the Windows build (this time for sure)
  • platform/win/TemporaryLinkStubs.cpp: (GraphicsContext::translate): Added. (GraphicsContext::rotate): Ditto. (GraphicsContext::scale): Ditto.
09:53 Changeset [14209] by darin
  • 3 edits in trunk/WebCore
  • fix the Windows build
  • bridge/win/FrameWin.h: Add Element* parameter to createPlugin.
  • platform/win/TemporaryLinkStubs.cpp: (FrameWin::createPlugin): Ditto.
09:37 Changeset [14208] by darin
  • 3 edits in trunk/WebCore
  • get the Window build a little closer to building again
  • platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawRect): Call alpha to check if the color is transparent. Call setColor directly instead of setColorFromPen. (WebCore::GraphicsContext::drawLine): Ditto. (WebCore::GraphicsContext::drawEllipse): Ditto. (WebCore::GraphicsContext::drawArc): Ditto. (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
  • platform/win/TemporaryLinkStubs.cpp: (JavaAppletWidget::JavaAppletWidget): Updated parameter types.
08:22 Changeset [14207] by darin
  • 33 edits
    1 add in trunk/WebCore

Reviewed by Adele.

  • manual-tests/form-value-restore.html: Added.
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge saveDocumentState]): Rewrote to call the new formElementsState function on the document and also to convert null strings to NSNull instead of empty NSString objects. (-[WebCoreFrameBridge restoreDocumentState]): Ditto, with the setStateForNewFormElements function.
  • dom/Document.h: Added FormElementKey, FormElementKeyHash, and FormElementKeyHashTraits for use in the hash map. Made readyState, inputEncoding, defaultCharset, charset, characterSet, getElementByAccessKey, haveStylesheetsLoaded, usesDescendantRules, usesSiblingRules, inCompatMode, inAlmostStrictMode, inStrictMode, preferredStylesheetSet, selectedStylesheetSet, and getCSSTarget all const member functions. Removed the unused nextState function. Renamed registerMaintainsState and deregisterMaintainsState to registerFormElementWithState and HTMLGenericFormElement and changed them to use form elements rather than arbitrary DOM nodes. Replaced docState with formElementsState and setRestoreState and restoreState with setStateForNewFormElements, hasStateForNewFormElements, and takeStateForFormElement. Replaced m_maintainsState with m_formElementsWithState, m_state with m_stateForNewFormElements. Made m_elementsByAccessKey and m_accessKeyMapValid mutable. Removed unused m_elementNames, m_elementNameAlloc, m_elementNameCount, m_attrNames, m_attrNameAlloc, m_attrNameCount, m_namespaceURIs, m_namespaceURIAlloc, m_namespaceURICount.
  • dom/Document.cpp: (WebCore::Document::Document): Remove initialization of long-obsolete m_elementNames and m_attrNames. (WebCore::Document::~Document): Remove destruction of same. (WebCore::Document::readyState): Made const. (WebCore::Document::inputEncoding): Ditto. (WebCore::Document::defaultCharset): Ditto. (WebCore::Document::getElementByAccessKey): Ditto. (WebCore::Document::preferredStylesheetSet): Ditto. (WebCore::Document::selectedStylesheetSet): Ditto. (WebCore::Document::getCSSTarget): Ditto. (WebCore::Document::formElementsState): Added. Replaces the old docState function. Builds a vector of strings, with 3 strings for each form element containing the name, type, and state value. (WebCore::Document::setStateForNewFormElements): Added. Converts the state vector into a hash map, considering the scheme with 3 strings for form element used above. (WebCore::Document::hasStateForNewFormElements): Added. (WebCore::Document::takeStateForFormElement): Added. Given a name and type, looks up the values in the hash map and "peels off" the last one. (WebCore::FormElementKey::FormElementKey): Added. (WebCore::FormElementKey::~FormElementKey): Added. (WebCore::FormElementKey::operator=): Added. (WebCore::FormElementKey::ref): Added. (WebCore::FormElementKey::deref): Added. (WebCore::FormElementKeyHash::hash): Added. (WebCore::FormElementKeyHashTraits::deletedValue): Added.
  • dom/Element.h: Removed state function.
  • dom/Node.h: Removed maintainsState, state, and restoreState functions.
  • dom/Node.cpp: Ditto.
  • dom/QualifiedName.cpp: Reformatted. (WebCore::hashComponents): Removed code to handle buffers that are not multiples of 4 bytes, since a QualifiedName is guaranteed to be; also asserted that fact.
  • html/HTMLParser.cpp: (WebCore::HTMLParser::insertNode): Remove code to restore state; that's now handled by closeRenderer. (WebCore::HTMLParser::popOneBlock): Ditto.
  • html/HTMLFormElement.cpp: Added include of HTMLInputElement.h.
  • html/HTMLGenericFormElement.h: Changed form to be a const member function. Changed type function to return a const AtomicString& instead of a String. Added an override of closeRenderer. Removed state and findMatchingState functions. Added stateValue and restoreState functions. Made m_form, m_disabled, and m_readOnly be private instead of protected. Removed m_inited. Changed booleans to not use bit fields since there are only two of them.
  • html/HTMLGenericFormElement.cpp: Removed encodedElementName, state, and findMatchingState functions. (WebCore::HTMLGenericFormElement::stateValue): Added. No implementation. This will only be called for subclasses that call registerFormElementWithState, and those will override and implement it. (WebCore::HTMLGenericFormElement::restoreState): Ditto. (WebCore::HTMLGenericFormElement::closeRenderer): Added. Replaces code that was in the HTML parser. Calls takeStateForFormElement, passing in the name and type, and if a state is found, calls restoreState.
  • html/HTMLButtonElement.h: Changed type to return a const AtomicString& instead of a String.
  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::type): Return a const AtomicString& instead of a String. (WebCore::HTMLButtonElement::defaultEventHandler): Use form() instead of m_form. (WebCore::HTMLButtonElement::isSuccessfulSubmitButton): Use disabled() instead of m_disabled.
  • html/HTMLInputElement.h: Changed type to return a const AtomicString& instead of a String. Removed maintainsState, state, and restoreState functions, and added new stateValue and restoreState functions. Added m_inited (moved here from the generic form element base class).
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::init): Call registerFormElementWithState. This was formerly done by the HTML parser. (WebCore::HTMLInputElement::~HTMLInputElement): Call deregisterFormElementWithState by its new name. (WebCore::HTMLInputElement::isKeyboardFocusable): Use form() instead of m_form. (WebCore::HTMLInputElement::setType): Ditto. (WebCore::HTMLInputElement::setInputType): Ditto. Also call inputType() != PASSWORD instead of maintainsState(), since this is the only function that needs to know the rule and it's no longer a function in the base class. Also call register and deregister functions by their new names. (WebCore::HTMLInputElement::type): Changed to return const AtomicString& instead of String. (WebCore::HTMLInputElement::stateValue): Renamed from state and changed to no longer include the name and type, formerly obtained by calling the base class's HTMLGenericFormElement::state, and to no longer modify the value() string by adding a ".", which gets in the way of distinguishing null and empty values and is slower and unnecessary. (WebCore::HTMLInputElement::restoreState): Changed because it takes a single state and doesn't need to call findMatchingState, and also to no longer remove the last character from the value when restoring state. (WebCore::HTMLInputElement::parseMappedAttribute): Use form() instead of m_form. (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Use disabled() instead of m_disabled. (WebCore::HTMLInputElement::setChecked): Use form() instead of m_form. (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto. (WebCore::HTMLInputElement::defaultEventHandler): Ditto.
  • html/HTMLSelectElement.h: Changed type to return a const AtomicString& instead of a String.
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::HTMLSelectElement): Call registerFormElementWithState. This was formerly done by the HTML parser. (WebCore::HTMLSelectElement::~HTMLSelectElement): Call deregisterFormElementWithState by its new name. (WebCore::HTMLSelectElement::type): Changed to return const AtomicString& instead of String. (WebCore::HTMLSelectElement::stateValue): Renamed from state and changed to no longer include the name and type, formerly obtained by calling the base class's HTMLGenericFormElement::state, and to build the string in a Vector<char> instead of appending characters one at a time to a string. (WebCore::HTMLSelectElement::restoreState): Changed because it takes a single state and doesn't need to call findMatchingState. (WebCore::HTMLSelectElement::defaultEventHandler): Use form() instead of m_form.
  • html/HTMLTextAreaElement.h: Changed type to return a const AtomicString& instead of a String. Removed maintainsState, state, and restoreState functions, and added new stateValue and restoreState functions.
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Call registerFormElementWithState. This was formerly done by the HTML parser. Also use member initialization instead of assignment. (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): Call deregisterFormElementWithState by its new name. (WebCore::HTMLTextAreaElement::type): Changed to return const AtomicString& instead of String. (WebCore::HTMLTextAreaElement::stateValue): Renamed from state and changed to no longer include the name and type, formerly obtained by calling the base class's HTMLGenericFormElement::state, and to no longer modify the value() string by adding a ".", which is unnecessary. (WebCore::HTMLTextAreaElement::restoreState): Changed because it takes a single state and doesn't need to call findMatchingState, and also to no longer remove the last character from the value when restoring state. (WebCore::HTMLTextAreaElement::updateValue): Changed to const. (WebCore::HTMLTextAreaElement::value): Ditto. (WebCore::HTMLTextAreaElement::defaultValue): Ditto.
  • html/HTMLFieldSetElement.h: Changed type to return a const AtomicString& instead of a String.
  • html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::type): Ditto.
  • html/HTMLKeygenElement.h: Ditto.
  • html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::type): Ditto.
  • html/HTMLLegendElement.h: Ditto.
  • html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::type):
  • html/HTMLOptGroupElement.h: Ditto.
  • html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::type): Ditto.
  • html/HTMLOptionElement.h: Ditto.
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::type): Ditto.
  • ksvg2/svg/SVGAnimationElement.cpp: (SVGAnimationElement::closeRenderer): Added missing call to base class.
  • rendering/render_form.h: Removed element() functions that cast to the appropriate derived element class. They do make some bits of code slightly more readable, but they also require including too many headers. Removed the includes of HTMLInputElement.h, HTMLSelectElement.h, HTMLTextAreaElement.h, and KWQLineEdit.h, and added an include of GraphicsTypes.h.
  • rendering/render_form.cpp: (WebCore::RenderFormElement::updateFromElement): Changed use of element() to instead use node() and cast. (WebCore::RenderFormElement::clicked): Ditto. (WebCore::RenderLineEdit::selectionChanged): Ditto. (WebCore::RenderLineEdit::returnPressed): Ditto. (WebCore::RenderLineEdit::performSearch): Ditto. (WebCore::RenderLineEdit::addSearchResult): Ditto. (WebCore::RenderLineEdit::calcMinMaxWidth): Ditto. (WebCore::RenderLineEdit::setStyle): Ditto. (WebCore::RenderLineEdit::updateFromElement): Ditto. (WebCore::RenderLineEdit::valueChanged): Ditto. (WebCore::RenderFileButton::calcMinMaxWidth): Ditto. (WebCore::RenderFileButton::updateFromElement): Ditto. (WebCore::RenderFileButton::returnPressed): Ditto. (WebCore::RenderFileButton::valueChanged): Ditto. (WebCore::RenderSelect::updateFromElement): Ditto. (WebCore::RenderSelect::layout): Ditto. (WebCore::RenderSelect::valueChanged): Ditto. (WebCore::RenderSelect::selectionChanged): Ditto. (WebCore::RenderSelect::updateSelection): Ditto. (WebCore::RenderTextArea::destroy): Ditto. (WebCore::RenderTextArea::calcMinMaxWidth): Ditto. (WebCore::RenderTextArea::setStyle): Ditto. (WebCore::RenderTextArea::updateFromElement): Ditto. (WebCore::RenderTextArea::valueChanged): Ditto. (WebCore::RenderTextArea::selectionChanged): Ditto. (WebCore::RenderSlider::updateFromElement): Ditto. (WebCore::RenderSlider::valueChanged): Ditto.
08:09 Changeset [14206] by darin
  • 4 edits in trunk

JavaScriptCore:

  • kjs/date_object.cpp: (KJS::parseDate): Merged change that George Staikos provided from KDE 3.4.3 branch that allows day values of 0 and values that are > 1000.

LayoutTests:

  • fast/js/kde/resources/Date.js: Added test cases that George Staikos provided that test dates with day values of 0, 55, and 452.
08:08 Changeset [14205] by darin
  • 1 edit in trunk/WebCore/ChangeLog

Added name of test.

07:59 Changeset [14204] by darin
  • 5 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin.

<http://bugzilla.opendarwin.org/show_bug.cgi?id=8563>

Tests that the name, publicID and systemID are all read correctly
and that the doctype object preserves the case of the
components from the source html:

  • fast/doctypes/005-case-preserving.html: Added.
  • fast/doctypes/005-case-preserving-expected.txt: Added.

WebCore:

Reviewed by Darin.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8563

The doctype object in the DOM is now usable by client code
as opposed to always being exposed as nil. Now also ensures that
the 'name' of the component preserves the case of the original html source.
(i.e HtMl -> HtMl not HTML)

  • dom/Document.h: Changes comment by docType() to say it may return 0 for html
  • html/HTMLDocument.cpp: (WebCore::parseDocTypeDeclaration): (WebCore::HTMLDocument::determineParseMode): Preserves the case of the name component (WebCore::HTMLDocument::doctype):removed
  • html/HTMLDocument.h: (WebCore::HTMLDocument::doctype):removed
07:49 Changeset [14203] by darin
  • 2 edits in trunk/WebCore

Reviewed by Darin.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8651:
[DOMHTMLSelectElement multiple] returns no when the select element is multiple

Correct the logic errors, which are clearly indicated by the changeset given
in the bug report.

  • bindings/objc/DOMHTML.mm: (-[DOMHTMLLinkElement disabled]): (-[DOMHTMLSelectElement disabled]): (-[DOMHTMLSelectElement multiple]): (-[DOMHTMLOptGroupElement disabled]): (-[DOMHTMLOptionElement defaultSelected]): (-[DOMHTMLOptionElement disabled]):

05/04/06:

21:30 Changeset [14202] by darin
  • 2 edits in trunk/WebCore

Reviewed by Tim Omernick.

  • fix storage leak I introduced yesterday
  • platform/cg/GraphicsContextCG.cpp: (WebCore::setCGFillColor): Added. (WebCore::setCGStrokeColor): Added. (WebCore::GraphicsContext::drawRect): Use setCGFillColor to avoid allocating a CGColorRef object. (WebCore::GraphicsContext::drawLine): Use setCGStrokeColor and setCGFillColor to avoid allocating a CGColorRef object. (WebCore::GraphicsContext::drawEllipse): Ditto. (WebCore::GraphicsContext::drawArc): Ditto. (WebCore::GraphicsContext::drawConvexPolygon): Ditto. (WebCore::GraphicsContext::fillRect): Ditto.
21:29 Changeset [14201] by darin
  • 3 edits
    1 copy
    3 adds in trunk

LayoutTests:

Reviewed by Darin.

  • plugins/pluginDocumentView-deallocated-dataSource-expected.txt: Added.
  • plugins/pluginDocumentView-deallocated-dataSource.html: Added.
  • plugins/resources: Added.
  • plugins/resources/orange.mov: Added.

WebKit:

Reviewed by Darin.

Test: plugins/pluginDocumentView-deallocated-dataSource.html

  • Plugins/WebPluginDocumentView.m: (-[WebPluginDocumentView dealloc]): Release the dataSource. (-[WebPluginDocumentView setDataSource:]): Retain the dataSource.
21:25 Changeset [14200] by thatcher
  • 1 copy in tags/WebKit-418.3/WebKit

Tag for WebKit 418.3 (part 2 of 2.)

21:25 Changeset [14199] by thatcher
  • 1 add in tags/WebKit-418.3

Tag for WebKit 418.3 (part 1 of 2.)

21:22 Changeset [14198] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebKit

Versioning

21:20 Changeset [14197] by thatcher
  • 1 edit in branches/Safari-2-0-branch/WebKit/WebView.subproj/WebFrameView.m

GCC 3 Build fix for warning: 'return' with a value, in function returning void.

21:19 Changeset [14196] by thatcher
  • 1 edit in trunk/WebKit/WebView/WebFrameView.m

Build fix, warning: 'return' with a value, in function returning void.

18:43 Changeset [14195] by justing
  • 12 edits
    8 adds in trunk

LayoutTests:

Reviewed by harrison

Pasted content would end up inside the block that contained the end of
the selection that was pasted into and not the block that contained
the start of the selection that was pasted into:

  • editing/pasteboard/merge-end-5-expected.checksum: Added.
  • editing/pasteboard/merge-end-5-expected.png: Added.
  • editing/pasteboard/merge-end-5-expected.txt: Added.
  • editing/pasteboard/merge-end-5.html: Added.


Inserting a paragraph separator was splitting and cloning the body element
if the html element was editable:

  • editing/inserting/editable-html-element-expected.checksum: Added.
  • editing/inserting/editable-html-element-expected.png: Added.
  • editing/inserting/editable-html-element-expected.txt: Added.
  • editing/inserting/editable-html-element.html: Added.


Since we now sometimes merge backward (from content already in the
document to just inserted content) during the end merge, the node that
contains the old caret is removed more often during paste. The editing
delegate notifications in these tests reflect this:

  • editing/pasteboard/paste-line-endings-007-expected.txt:
  • editing/pasteboard/paste-line-endings-008-expected.txt:
  • editing/pasteboard/paste-line-endings-009-expected.txt:


Now demonstrates a bug where the html element is focused, but its contents
aren't selected:

  • editing/selection/focus_editable_html-expected.checksum:
  • editing/selection/focus_editable_html-expected.png:
  • editing/selection/focus_editable_html-expected.txt:
  • editing/selection/focus_editable_html.html:

WebCore:

Reviewed by harrison

  • dom/Node.cpp: (WebCore::Node::rootEditableElement): Restored code to stop at the body tag. Editing shouldn't be allowed to happen outside the body, so it needs to be the editable root even if the html element is contentEditable.
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::shouldMergeEnd): Now takes in more information so it can be "the decider". (WebCore::ReplaceSelectionCommand::doApply): Merging two paragraphs will destroy the moved one's block styles. Perform the end merge backward (from content already in the document to just inserted content) if moving forward would move the paragraph that contained the start of the selection being pasted into, since we always want to preserve that paragraph's block style. Moving backward in this case is also helpful because otherwise it would be difficult to remember the position where inserted content began (since merging would remove m_firstNodeInserted). That position is needed in order to select the replacement and to add smart replace whitespace. (WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded): If [br, 0] is at the end of a block, the br is not necessarily collapsed in quirks mode. [br, 0] needs to also not be at the start of a block.


  • editing/ReplaceSelectionCommand.h:
17:58 Changeset [14194] by tomernic
  • 7 edits in trunk

WebCore:

Reviewed by Darin.

<rdar://problem/4537606> Give Java WebKit plugin access to its own DOM element

  • bridge/mac/WebCoreFrameBridge.h: Added DOMElement parameter to -viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:.
  • bridge/JavaAppletWidget.h: Constructor now takes the applet's element instead of its containing frame.
  • bridge/mac/JavaAppletWidget.mm: (JavaAppletWidget::JavaAppletWidget): Pass the applet's element to viewForJavaAppletWithFrame:.
  • rendering/RenderApplet.cpp: (WebCore::RenderApplet::createWidgetIfNecessary): Pass the element along to JavaAppletWidget.

WebKit:

Reviewed by Darin.

<rdar://problem/4537606> Give Java WebKit plugin access to its own DOM element

  • WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]): Pass the DOMElement to the plugin if it's a WebKit plugin (we need to handle Netscape plugins differently).
17:35 Changeset [14193] by thatcher
  • 1 copy in tags/WebKit-418.2/WebKit

Tag for WebKit 418.2 (part 2 of 2.)

17:33 Changeset [14192] by thatcher
  • 1 add in tags/WebKit-418.2

Tag for WebKit 418.2 (part 1 of 2.)

17:33 Changeset [14191] by thatcher
  • 1 copy in tags/WebCore-418.1/WebCore

Tag for WebCore 418.1 (part 2 of 2.)

17:33 Changeset [14190] by thatcher
  • 1 add in tags/WebCore-418.1

Tag for WebCore 418.1 (part 1 of 2.)

17:32 Changeset [14189] by thatcher
  • 1 copy in tags/JavaScriptCore-418.1/JavaScriptCore

Tag for JavaScriptCore 418.1 (part 2 of 2.)

17:32 Changeset [14188] by thatcher
  • 1 add in tags/JavaScriptCore-418.1

Tag for JavaScriptCore 418.1 (part 1 of 2.)

17:02 Changeset [14187] by thatcher
  • 6 edits in branches/Safari-2-0-branch

Versioning

16:54 Changeset [14186] by thatcher
  • 14 edits in branches/Safari-2-0-branch

WebCore:

Reviewed by Harrison.

<rdar://problem/4523536> SUTiLondon: Dashcode removes commented code from HTML files

  • khtml/editing/markup.cpp: (khtml::endMarkup):
  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::createTokenizer):
  • khtml/html/html_documentimpl.h: (DOM::HTMLDocumentImpl::isHTMLDocument):
  • khtml/html/htmlparser.cpp: (KHTMLParser::getElement):
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::HTMLTokenizer): (khtml::HTMLTokenizer::setIncludesComments): (khtml::HTMLTokenizer::includesComments):
  • khtml/html/htmltokenizer.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::removedLastRef): (DocumentImpl::documentElement):
  • khtml/xml/dom_docimpl.h:
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (+[WebCoreBridge includesCommentsInDOM]): (+[WebCoreBridge setIncludesCommentsInDOM:]):

WebKit:

Reviewed by Harrison.

<rdar://problem/4523536> SUTiLondon: Dashcode removes commented code from HTML files

  • WebView.subproj/WebView.m: (+[WebView _includesCommentsInDOM]): (+[WebView _setIncludesCommentsInDOM:]):
  • WebView.subproj/WebViewPrivate.h:
16:03 Changeset [14185] by tomernic
  • 10 edits in trunk

WebCore:

Reviewed by John Sullivan.

<rdar://problem/4480186> Give WebKit plugins access to their own DOM element

  • bridge/mac/WebCoreFrameBridge.h: Added DOMElement: parameter to -viewForPluginWithURL:attributeNames:attributueValues:MIMEType:
  • bridge/mac/FrameMac.h:
  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::createPlugin): Added "element" parameter; wrap element in DOMElement and pass up to the bridge.
  • page/Frame.h: Added "element" parameter to createPlugin().
  • page/Frame.cpp: (WebCore::Frame::loadPlugin): Get the plugin's DOM element and pass to createPlugin().

WebKit:

Reviewed by John Sullivan.

<rdar://problem/4480186> Give WebKit plugins access to their own DOM element

This does not fix <rdar://problem/4480187> Give Netscape plugins access to their own DOM element --
we're not going to use the ObjC DOM API for that, but rather the NP bindings API.

  • Plugins/WebPluginPackage.m: Declared WebPlugInContainingElementKey. This is not a new plugin argument -- it's been in our public headers since all along, but has never been concretely declared -- plugins that referenced it would not link.
  • WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:]): Added DOMElement parameter, which is now included in the plugin arguments dictionary. (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:]): ditto
  • WebKit.exp: Export WebPlugInContainingElementKey.
13:37 Changeset [14184] by andersca
  • 2 edits in trunk/JavaScriptCore

2006-05-04 Anders Carlsson <andersca@mac.com>

Reviewed by Maciej.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8734
Would like a Vector::append that takes another Vector


  • kxmlcore/Vector.h: (KXMLCore::::append): New function that takes another array.
13:08 Changeset [14183] by justing
  • 5 edits in branches/Safari-2-0-branch/WebCore

Reviewed by thatcher


Used the StayInBlock variant of upstream/downstream since they behave that way in
tip of tree (where there is no StayInBlock parameter).

11:26 Changeset [14182] by eseidel
  • 2 edits
    1 add in trunk/WebCore

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

Reviewed by timo.

Add drag & drop support to <input type="file">
http://bugzilla.opendarwin.org/show_bug.cgi?id=8733

Test: manual/input-type-file-drag-drop.html

  • kwq/KWQFileButton.mm: (-[WebFileChooserButton initWithWidget::]): (-[WebCoreFileButton initWithWidget:]): (-[WebCoreFileButton drawRect:]): (-[WebCoreFileButton updateLabel]): (-[WebCoreFileButton setFilename:]): (-[WebCoreFileButton changeFilename:]): (-[WebCoreFileButton chooseFilename:]): (validFilenameFromPasteboard): (-[WebCoreFileButton draggingEntered:]): (-[WebCoreFileButton draggingExited:]): (-[WebCoreFileButton performDragOperation:]):
11:20 Changeset [14181] by bdakin
  • 13 edits in trunk

--This

Reviewed by Hyatt.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8732
Backgrounds with background-size and background-origin do not
always lay out correctly

  • platform/cairo/ImageCairo.cpp: (WebCore::Image::drawTiled): We no longer need to scale the source point since it will now come in with the scale already taken into account.
  • platform/mac/ImageMac.mm: (WebCore::Image::drawTiled): Same as above.
  • rendering/RenderBox.cpp: (WebCore::cacluateBackgroundSize): Now calculate the background size in a helper method. (WebCore::RenderBox::paintBackgroundExtended): Calculate the background size before calculating cx, cy, cw, ch, sx, and sy so that they can all be calculated with the scaled image size taken into account.

M LayoutTests/ChangeLog
M LayoutTests/fast/backgrounds/size/backgroundSize18-expected.checksum
M LayoutTests/fast/backgrounds/size/backgroundSize12-expected.png
M LayoutTests/fast/backgrounds/size/backgroundSize19-expected.checksum
M LayoutTests/fast/backgrounds/size/backgroundSize10-expected.png
M LayoutTests/fast/backgrounds/size/backgroundSize18-expected.png
M LayoutTests/fast/backgrounds/size/backgroundSize19-expected.png
M LayoutTests/fast/backgrounds/size/backgroundSize10-expected.checksum
M LayoutTests/fast/backgrounds/size/backgroundSize12-expected.checksum
M WebCore/platform/mac/ImageMac.mm
M WebCore/platform/cairo/ImageCairo.cpp
M WebCore/rendering/RenderBox.cpp
M WebCore/ChangeLog

11:10 Changeset [14180] by thatcher
  • 1 edit in branches/Safari-2-0-branch/WebKit/Plugins.subproj/WebPluginController.m

Speculative build fix for B&I.

11:04 Changeset [14179] by hyatt
  • 4 edits in trunk/WebCore

Fix for 8693, crash when reloading PDF. Make sure to clear the truncator's
cached renderer.

Reviewed by beth

  • bridge/mac/WebCoreStringTruncator.h:
  • bridge/mac/WebCoreStringTruncator.mm: (+[WebCoreStringTruncator clear]):
  • platform/mac/WebTextRendererFactory.mm: (-[WebTextRendererFactory clearCaches]):
10:42 Changeset [14178] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebKit

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


This fixes: <rdar://problem/4211296> right side of page is clipped when printing to PDF

2005-12-08 John Sullivan <sullivan@apple.com>

Reviewed by Tim O.


  • Added WebKit mechanism to help correctly pass the first responder into the PDF view hierarchy, in order to start addressing keyboard focus and selection highlight issues. Unfortunately this doesn't actually have any user effect yet due to problems that must be fixed in PDFKit.
  • WebView.subproj/WebPDFView.m: (-[WebPDFView acceptsFirstResponder]): Overridden to returns YES. Needed so NSClipView knows it's OK to pass focus down to this level. (-[WebPDFView becomeFirstResponder]): With setNextKeyView:, splices the PDF view into the focus-passing mechanism in much the same way as NSScrollView and NSClipView. (-[WebPDFView setNextKeyView:]): With becomeFirstResponder:, splices the PDF view into the focus-passing mechanism in much the same way as NSScrollView and NSClipView. (-[WebPDFView resignFirstResponder]): Removed this method because the WebPDFView itself is never first responder except transiently.

05/03/06:

17:48 Changeset [14177] by thatcher
  • 1 edit in branches/Safari-2-0-branch/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

Build fix for WebCore.

17:02 Changeset [14176] by thatcher
  • 8 edits
    22 adds
    5 deletes in branches/Safari-2-0-branch/JavaScriptCore

2006-05-03 Timothy Hatcher <timothy@apple.com>

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

2005-11-06 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin.

Our UTF16-modified PCRE didn't work with extended character classes
(classes involving characters > 255) because it used the GETCHARINC
macro to read through them. In UTF16 mode, GETCHARINC expects UTF16
input, but PCRE encodes character classes in UTF8 regardless of the
input mode of the subject string.

The fix is to explicitly define GETUTF8CHARINC, and to use it,
rather than GETCHARINC, when reading extended character classes.


In UTF8 mode, we simply define GETCHARINC to be GETUTF8CHARINC.

  • pcre/pcre_internal.h:
  • pcre/pcre_xclass.c: (_pcre_xclass):

2006-05-03 Timothy Hatcher <timothy@apple.com>

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

2005-09-29 Eric Seidel <eseidel@apple.com>

Fix from Mitz Pettel <opendarwin.org@mitzpettel.com>

Reviewed by darin.

Fix JSC memory smasher in TOT.
http://bugzilla.opendarwin.org/show_bug.cgi?id=5176

  • pcre/pcre_exec.c: (match):

2006-05-03 Timothy Hatcher <timothy@apple.com>

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

2005-09-08 Darin Adler <darin@apple.com>

Reviewed by Geoff.

  • updated to PCRE 6.1

The original PCRE 6.1 sources are checked into the tree with the tag
"pcre-6-1" for reference. What we're checking in right now is the original
plus our changes to make it support UTF-16 and at least one other tweak
(vertical tab considered whitespace). Our work to get our changes was
done on "pcre-6-1-branch", with an anchor at "pcre-6-1-anchor" so you can
see the evolution of the UTF-16 changes.


Note also that there was one small change made here that's not on the branch
in pcre_compile.c.

  • Info.plist: Updated the part of the copyright message that's about PCRE.
  • JavaScriptCore.xcodeproj/project.pbxproj: Added new PCRE source files, removed obsolete ones.
  • pcre/AUTHORS: Updated to PCRE 6.1. Includes credits for Apple's UTF-16 changes, but not the credits for Google's C++ wrapper, since we don't include that.
  • pcre/COPYING: Updated to PCRE 6.1.
  • pcre/LICENCE: Ditto.
  • pcre/dftables.c: Ditto.
  • pcre/pcre-config.h: Ditto.
  • pcre/pcre.h: Ditto.
  • pcre/pcre_compile.c: Added for PCRE 6.1.
  • pcre/pcre_config.c: Ditto.
  • pcre/pcre_exec.c: Ditto.
  • pcre/pcre_fullinfo.c: Ditto.
  • pcre/pcre_get.c: Ditto.
  • pcre/pcre_globals.c: Ditto.
  • pcre/pcre_info.c: Ditto.
  • pcre/pcre_internal.h: Ditto.
  • pcre/pcre_maketables.c: Ditto.
  • pcre/pcre_ord2utf8.c: Ditto.
  • pcre/pcre_printint.c: Ditto.
  • pcre/pcre_refcount.c: Ditto.
  • pcre/pcre_study.c: Ditto.
  • pcre/pcre_tables.c: Ditto.
  • pcre/pcre_try_flipped.c: Ditto.
  • pcre/pcre_ucp_findchar.c: Ditto.
  • pcre/pcre_version.c: Ditto.
  • pcre/pcre_xclass.c: Ditto.
  • pcre/ucp.h: Ditto.
  • pcre/ucp_findchar.c: Ditto.
  • pcre/ucpinternal.h: Ditto.
  • pcre/ucptable.c: Ditto.
  • pcre/get.c: Removed.
  • pcre/internal.h: Removed.
  • pcre/maketables.c: Removed.
  • pcre/pcre.c: Removed.
  • pcre/study.c: Removed.
14:35 Changeset [14175] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebKit

Reviewed by Tim H.

<rdar://problem/4536009> REGRESSION: Printing embedded plugins crashes on Safari-2-0-branch, but not in TOT


Merge over npapi.h from the r14154 JavaScriptCore change.

  • Plugins.subproj/npapi.h:
14:15 Changeset [14174] by darin
  • 12 edits
    1 copy in trunk/WebCore

Reviewed by Eric.

  • WebCore.xcodeproj/project.pbxproj: Added GraphicsContextCG.cpp.
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::scale): Use new GraphicsContext function. (WebCore::CanvasRenderingContext2D::rotate): Ditto. (WebCore::CanvasRenderingContext2D::translate): Ditto.
  • kwq/KWQComboBox.mm: Added include (not sure if this is needed for this patch, but it's needed for one of my upcoming ones).
  • platform/GraphicsContext.h: Changed fillColor and setFillColor to use Color instead of RGBA32. Removed setColorFromFillColor and setColorFromPen. Added scale, rotate, and translate functions.
  • platform/GraphicsContext.cpp: (WebCore::GraphicsContext::setFillColor): Changed to use Color instead of RGBA32. (WebCore::GraphicsContext::fillColor): Ditto.
  • platform/GraphicsTypes.h: Moved HorizontalAlignment here.
  • platform/Widget.h: Removed HorizontalAlignment from here.
  • platform/cg/GraphicsContextCG.cpp: Added. Started as a copy of GraphicsContextMac.mm. (WebCore::GraphicsContext::drawRect): Rewrote to not rely on [NSGraphicsContext currentContext]. (WebCore::GraphicsContext::drawLine): Ditto. (WebCore::GraphicsContext::drawEllipse): Ditto. (WebCore::GraphicsContext::drawArc): Ditto. (WebCore::GraphicsContext::drawConvexPolygon): Ditto. (WebCore::GraphicsContext::fillRect): Ditto. (WebCore::GraphicsContext::setLineWidth): Added check of paintingDisabled(). (WebCore::GraphicsContext::setMiterLimit): Ditto. (WebCore::GraphicsContext::setAlpha): Ditto. (WebCore::GraphicsContext::clearRect): Ditto. (WebCore::GraphicsContext::strokeRect): Ditto. (WebCore::GraphicsContext::setLineCap): Ditto. (WebCore::GraphicsContext::setLineJoin): Ditto. (WebCore::GraphicsContext::clip): Ditto. (WebCore::GraphicsContext::scale): Added. (WebCore::GraphicsContext::rotate): Added. (WebCore::GraphicsContext::translate): Added.
  • platform/mac/GraphicsContextMac.mm: Moved most of this file into GraphicsContextCG.cpp. (WebCore::GraphicsContext::setCompositeOperation): Added check of paintingDisabled().
  • platform/mac/WebCoreSystemInterface.h: Added declarations so this header stands alone.
13:28 Changeset [14173] by thatcher
  • 3 edits in branches/Safari-2-0-branch/WebCore

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

2006-04-04 Justin Garcia <justin.garcia@apple.com>

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.
12:32 Changeset [14172] by darin
  • 58 edits
    19 adds in trunk

LayoutTests:

Reviewed by Justin.

  • fast/forms/input-text-click-inside-expected.png: Added.
  • fast/forms/input-text-click-inside-expected.txt: Added.
  • fast/forms/input-text-click-inside-expected.checksum: Added.
  • fast/forms/input-text-click-inside.html: Added.
  • fast/forms/input-text-click-outside-expected.png: Added.
  • fast/forms/input-text-click-outside-expected.txt: Added.
  • fast/forms/input-text-click-outside-expected.checksum: Added.
  • fast/forms/input-text-click-outside.html: Added. Test clicks both inside and outside an input element.
  • editing/selection/contenteditable-click-inside-expected.png: Added.
  • editing/selection/contenteditable-click-inside-expected.txt: Added.
  • editing/selection/contenteditable-click-inside-expected.checksum: Added.
  • editing/selection/contenteditable-click-inside.html: Added.
  • editing/selection/contenteditable-click-outside-expected.png: Added.
  • editing/selection/contenteditable-click-outside-expected.txt: Added.
  • editing/selection/contenteditable-click-outside-expected.checksum: Added.
  • editing/selection/contenteditable-click-outside.html: Added. Added a test for the same situation, but with a div element set to have editable content.
  • editing/inserting/insert-3851164-fix-expected.txt:
  • editing/inserting/insert-3851164-fix.html:
  • editing/inserting/insert-3907422-fix-expected.txt:
  • editing/inserting/insert-3907422-fix.html:
  • editing/pasteboard/paste-text-011-expected.txt:
  • editing/pasteboard/paste-text-011.html: Update some tests that were relying on a bug that would cause a Select All in a document that contained a single content-editable element select the contents of that element.
  • fast/lists/drag-into-marker-expected.checksum:
  • fast/lists/drag-into-marker-expected.png:
  • fast/lists/drag-into-marker-expected.txt:
  • fast/lists/drag-into-marker.html: Changed test so that it no longer tests what happens when you drag to a marker that is outside the content-editable element. We may still want to make that case behave as before, but that's a separate issue.
  • editing/pasteboard/drop-text-without-selection-expected.txt:
  • editing/pasteboard/merge-start-blockquote-expected.txt:
  • editing/pasteboard/merge-start-list-expected.txt:
  • editing/selection/select-all-iframe-expected.txt:
  • fast/events/div-focus-expected.txt:
  • fast/events/drag-outside-window-expected.txt:
  • fast/forms/focus-control-to-page-expected.txt:
  • fast/forms/input-changing-value-expected.txt:
  • fast/forms/input-maxlength-2-expected.txt:
  • fast/forms/input-paste-undo-expected.txt:
  • fast/forms/input-text-paste-maxlength-expected.txt:
  • fast/forms/input-truncate-newline-expected.txt:
  • fast/forms/plaintext-mode-2-expected.txt:
  • fast/text/textIteratorNilRenderer-expected.txt: Update tests where the DOM range endpoints passed to the delegate are slightly different, but equivalent and still OK.
  • editing/pasteboard/paste-4039777-fix-expected.txt: Updated tests where the resulting tree is slightly different, but still OK.
  • editing/unsupported-content/list-delete-002-expected.checksum:
  • editing/unsupported-content/list-delete-002-expected.png:
  • editing/unsupported-content/list-delete-002-expected.txt: Update test where the new code eliminates an unwanted extra space that we got with the old code.
  • editing/deleting/delete-4038408-fix-expected.txt:
  • editing/deleting/delete-4038408-fix.html:
  • editing/input/text-input-controller-expected.txt:
  • editing/input/text-input-controller.html:
  • fast/forms/attributed-strings-expected.txt:
  • fast/forms/attributed-strings.html: Update tests that were relying on the behavior of Select All putting the selection inside a content-editable element if that element was the first in the body; the patch breaks that behavior.
  • fast/events/updateLayoutForHitTest-expected.checksum:
  • fast/events/updateLayoutForHitTest-expected.png: Update a test that no longer shows a visible selection.
  • editing/selection/3690703-2-expected.checksum:
  • editing/selection/3690703-2-expected.png:
  • editing/selection/3690703-2-expected.txt:
  • editing/selection/3690703-expected.checksum:
  • editing/selection/3690703-expected.png:
  • editing/selection/3690703-expected.txt: Updated results for these tests, which have examples of form elements inside a content-editable area. The old results were wrong; the new results are not much better, but are OK.
  • update some other misc. pixel-test results
  • fast/inspector/style-expected.checksum:
  • fast/inspector/style-expected.png: Updated since the name changed to include "-webkit-".
  • fast/overflow/childFocusRingClip-expected.checksum:
  • fast/overflow/childFocusRingClip-expected.png: Updated results that now seem to show correct clipping of the focus ring.
  • fast/frames/empty-cols-attribute-expected.checksum:
  • fast/frames/empty-cols-attribute-expected.png: Added. Checksum was wrong, png was missing.
  • fast/parser/001-expected.checksum:
  • fast/parser/001-expected.png: Checksum and png were incorrect -- changed a while back.
  • plugins/embed-attributes-style-expected.checksum: Added.
  • plugins/embed-attributes-style-expected.png: Added. Added pixel-test results for tests that don't have them.

WebCore:

Reviewed by Justin.

This bug has always been present for "content editable" HTML, but
now affects <input type=text> as well. The problem is with the editing
concept of a "deep equivalent". When computing the deep equivalent,
the code can move from outside an editable area to inside. To fix this,
I removed all use of the "deep equivalent" concept.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates): Changed argument names from _x and _y to just x and y. When the element is the editable root, changed things so that clicks that are not within the element at all return positions before or after the element, rather than always choosing the closest point within the element. This gets us off on the right foot, by not choosing a position inside an editable root when you click outside that editable root. This code handles shadowParentNode as well, and also calls positionForCoordinates on children rather than calling positionForRenderer (which I believe is now a function that can be removed).
  • editing/VisiblePosition.h: Removed the deepEquivalent function.
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::previousVisiblePosition): Removed use of the deepEquivalent function. Also, to make this function easier to understand I separated out the case where the start point is "in rendered content" and the case where it's not into two separate loops. (WebCore::VisiblePosition::nextVisiblePosition): Ditto. (WebCore::VisiblePosition::initDeepPosition): Removed use of the deepEquivalent function. Also added code to make sure that this work never turns a position outside an editable element into a position inside that editable element, or vice versa. Reorganized the code a bit.
  • dom/Position.cpp: (WebCore::Position::upstream): Removed use of the deepEquivalent function. (WebCore::Position::downstream): Ditto.
  • editing/htmlediting.cpp: (WebCore::editingIgnoresContent): Changed to use isReplaced instead of isWidget and isImage to determine if editing should ignore content. (WebCore::firstInSpecialElement): Rewrote isFirstVisiblePositionInSpecialElement to have code to share with positionBeforeContainingSpecialElement. And changed to allow both the position just before a table and the position just inside a table to qualify. While this is slightly sloppy, the old code worked because of the "deep equivalent" technique. This change is needed to get the desired results even without that technique. (WebCore::lastInSpecialElement): Ditto. (WebCore::isFirstVisiblePositionInSpecialElement): Changed to use the new function. (WebCore::positionBeforeContainingSpecialElement): Ditto. (WebCore::isLastVisiblePositionInSpecialElement): Ditto. (WebCore::positionAfterContainingSpecialElement): Ditto.
  • dom/Node.cpp: (WebCore::Node::rootEditableElement): Rewrote to remove special case for body tag.
  • other changes
  • html/HTMLElement.cpp: (WebCore::HTMLElement::setOuterHTML): Added a FIXME about the fact that this won't merge neighboring text nodes the way setOuterText does. (WebCore::HTMLElement::setInnerText): Added a FIXME about the fact that this creates a text node even when setting to empty text. (WebCore::HTMLElement::setOuterText): Ditto.
  • editing/DeleteSelectionCommand.cpp: Removed some #if 1 and #if 0.
  • editing/ReplaceSelectionCommand.cpp: A little reformatting.
  • rendering/render_button.h: Tiny formatting tweak.
12:32 Changeset [14171] by tomernic
  • 2 edits in branches/Safari-2-0-branch/WebKit

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

2005-12-04 Tim Omernick <timo@apple.com>

Reviewed by Dave Harrison, John Sullivan.

<rdar://problem/4364847> REGRESSION: QuickTime movies open without controller or don't open at all (5928)

I changed WebFrameView on 2005-11-29 so that it avoids creating duplicate WebPluginDocumentViews.
Unfortunately, this change caused a regression due to the fact that it subtly changed when plugins are
initialized. Certain plugins (e.g. QuickTime) expect to be initialized after the WebPluginDocumentView
has been "committed" (inserted into the view hierarchy).

My fix is to ensure that the plugin is initialized where we previously would have created that second
WebPluginDocumentView -- that is, the plugin is created after the WebPluginDocumentView has been committed.


  • Plugins.subproj/WebPluginDocumentView.m: (-[WebPluginDocumentView setDataSource:]): Don't initialize the plugin if the WebPluginDocumentView has not been inserted into the view hierarchy. We assume here that a later call to -setDataSource: will pass this conditional, once the WebDocumentView has been committed.
Note: See TracTimeline for information about the timeline view.