Timeline



May 2, 2006:

8:21 PM Changeset in webkit [14170] by adele
  • 2 edits in trunk/WebCore

Reviewed by Beth.

Fix for <rdar://problem/4523671>
REGRESSION (NativeTextField): Auto-complete popup list doesn't appear at the correct location after scrolling page.

  • bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement _rectOnScreen]): Use the documentView to compute the correct rect for the element when the view is scrolled.
8:17 PM Changeset in webkit [14169] by justing
  • 12 edits
    28 adds in trunk

LayoutTests:

Reviewed by harrison


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8704>
Fix a few end merge bugs
<rdar://problem/4424044>
REGRESSION: Extra line appears when typing

Added a function so that selection changes can participate in slow-motion-mode:

  • editing/editing.js: Extra newlines were added:
  • editing/inserting/paragraph-separator-01-expected.checksum: Added.
  • editing/inserting/paragraph-separator-01-expected.png: Added.
  • editing/inserting/paragraph-separator-01-expected.txt: Added.
  • editing/inserting/paragraph-separator-01.html: Added.
  • editing/inserting/paragraph-separator-02-expected.checksum: Added.
  • editing/inserting/paragraph-separator-02-expected.png: Added.
  • editing/inserting/paragraph-separator-02-expected.txt: Added.
  • editing/inserting/paragraph-separator-02.html: Added. A preserved newline was turned into a nbsp:
  • editing/inserting/paragraph-separator-03-expected.checksum: Added.
  • editing/inserting/paragraph-separator-03-expected.png: Added.
  • editing/inserting/paragraph-separator-03-expected.txt: Added.
  • editing/inserting/paragraph-separator-03.html: Added. End merge didn't happen:
  • editing/pasteboard/merge-end-4-expected.checksum: Added.
  • editing/pasteboard/merge-end-4-expected.png: Added.
  • editing/pasteboard/merge-end-4-expected.txt: Added.
  • editing/pasteboard/merge-end-4.html: Added. Content was pulled out of these special elements:
  • editing/pasteboard/merge-end-blockquote-expected.checksum: Added.
  • editing/pasteboard/merge-end-blockquote-expected.png: Added.
  • editing/pasteboard/merge-end-blockquote-expected.txt: Added.
  • editing/pasteboard/merge-end-blockquote.html: Added.
  • editing/pasteboard/merge-end-list-expected.checksum: Added.
  • editing/pasteboard/merge-end-list-expected.png: Added.
  • editing/pasteboard/merge-end-list-expected.txt: Added.
  • editing/pasteboard/merge-end-list.html: Added.
  • editing/pasteboard/merge-end-table-expected.checksum: Added.
  • editing/pasteboard/merge-end-table-expected.png: Added.
  • editing/pasteboard/merge-end-table-expected.txt: Added.
  • editing/pasteboard/merge-end-table.html: Added.

WebCore:

Reviewed by harrison


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8704>
Fix a few end merge bugs
<rdar://problem/4424044>
REGRESSION: Extra line appears when typing

  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]): Use renamed characterAfter.
  • editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): Regenerate a VisiblePosition that became stale during a text node split. Don't rebalance whitespace after the operation, 1) it has a bug that turns preserved newlines into nbsps, 2) I think it should only be done during serialization, not after every command (since editable regions now always have -webkit-nbsp-mode:space on them). Use a regular br for the placeholder as I think we can move away from -webkit-block-placeholders.


  • editing/RebalanceWhitespaceCommand.cpp: Added FIXMEs.
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::shouldMergeStart): Removed FIXME. (WebCore::ReplaceSelectionCommand::shouldMergeEnd): Can now use rendering information. (WebCore::ReplaceSelectionCommand::doApply): Call shouldMergeEnd after the insertion so that it can use rendering information. Don't use positionAfterNode of the last node inserted to mark the position at the end of inserted content because canonicalization can send it into content that was already in the document.


  • editing/ReplaceSelectionCommand.h:
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::characterAfter): Renamed. When two candidates are visually equivalent, the rightmost candidate will be the one inside the text node where the character will be.


  • editing/VisiblePosition.h:
  • editing/htmlediting.cpp: (WebCore::enclosingTableCell): Added. (WebCore::enclosingList):
  • editing/htmlediting.h:
5:21 PM Changeset in webkit [14168] by darin
  • 3 edits in trunk/WebKit

Reviewed by Eric.

I don't know how reproduce this without one of Rosyna's hacks installed, so I
did not include a test.

  • Misc/WebStringTruncator.m: (+[WebStringTruncator initialize]): Add call to InitWebCoreSystemInterface.
  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add a boolean so we will only do this one time.
5:02 PM Changeset in webkit [14167] by hyatt
  • 3 edits in trunk/WebCore

Partial fix for the crash in bugzilla bug 8088. There's a third crash
even after fixing this though.

Reviewed by darin

  • platform/mac/WebTextRenderer.mm: (WebCore::WidthMap::widths): (WebCore::extendWidthMap):
  • platform/mac/WebTextRendererFactory.mm: (-[WebTextRendererFactory clearCaches]):
4:56 PM Changeset in webkit [14166] by adele
  • 2 edits in trunk/WebKit

Reviewed by Tim O.

  • WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]): Don't let the UI delegate have control over the context menu for text fields.
4:56 PM Changeset in webkit [14165] by thatcher
  • 5 edits in branches/Safari-2-0-branch/WebCore

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

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

Reviewed by darin


<rdar://problem/3997958>
REGRESSION (Mail): Mail takes half of forever to paste >1500 lines - replaceSelectionWithNode

  • dom/Position.cpp: (WebCore::Position::upstream): Avoid calling previous() when we know that it will 1) end the search and 2) be expensive to compute. (WebCore::Position::downstream): Removed some dead code. (WebCore::Position::inRenderedText): Return false for offsets inside composed characters.
  • dom/Position.h:
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::init): If there are two visually equivalent candidates, we choose the one that occurs first in document order. Using upstream() to find the one that occurs first is much faster than the old code.
4:02 PM Changeset in webkit [14164] by thatcher
  • 3 edits in branches/Safari-2-0-branch/WebKit

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

2006-04-07 David Hyatt <hyatt@apple.com>

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:]):
3:54 PM Changeset in webkit [14163] by sfalken
  • 4 edits in trunk/WebCore

2006-05-02 Steve Falkenburg <sfalken@apple.com>

Reviewed by eric.

WARNING: NO TEST CASES ADDED OR CHANGED

  • WebCore.vcproj/WebCore/WebCore.vcproj: defined NDEBUG in release build
  • bridge/win/FrameWin.cpp: (WebCore::FrameWin::FrameWin): turned on javascript.
  • kwq/KWQKHTMLSettings.h: (KHTMLSettings::KHTMLSettings): initialized settings to 0
3:48 PM Changeset in webkit [14162] by sfalken
  • 3 edits in trunk/JavaScriptCore

2006-05-02 Steve Falkenburg <sfalken@apple.com>

Reviewed by eric.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: set NDEBUG for release build
  • kxmlcore/FastMalloc.cpp: Prevent USE_SYSTEM_MALLOC from being defined twice
3:42 PM Changeset in webkit [14161] by thatcher
  • 50 edits
    1 add in branches/Safari-2-0-branch/WebCore

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

2005-11-07 Maciej Stachowiak <mjs@apple.com>

Reviewed by Eric, Geoff and Darin.

  • fixed <rdar://problem/4118258> XML DOM trees freed prematurely unless reference held to document node (causes crash)


I changed the design for how DOM nodes maintain their reference to
the document. Instead of using DocumentPtr, an indirect reference
which would go null in a clean way when the document is destroyed,
they now have a different strategy.


Nodes that belong to the document now hold a special kind of
reference on the document - a "self only reference". When a
document has no regular references but still has self-only
references, it won't be destroyed, but it will drop all its
children. This allows detached nodees to still have a valid
document reference, but they won't keep the rest of the DOM alive
or cause circular references.

  • khtml/editing/SelectionController.cpp: (khtml::SelectionController::toRange):
  • khtml/editing/visible_position.cpp: (khtml::makeRange):
  • khtml/editing/visible_text.cpp: (khtml::TextIterator::range): (khtml::SimplifiedBackwardsTextIterator::range):
  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::HTMLBodyElementImpl): (HTMLFrameElementImpl::HTMLFrameElementImpl): (HTMLFrameSetElementImpl::HTMLFrameSetElementImpl): (HTMLHeadElementImpl::HTMLHeadElementImpl): (HTMLHtmlElementImpl::HTMLHtmlElementImpl): (HTMLIFrameElementImpl::HTMLIFrameElementImpl):
  • khtml/html/html_baseimpl.h:
  • khtml/html/html_blockimpl.cpp: (HTMLBlockquoteElementImpl::HTMLBlockquoteElementImpl): (HTMLDivElementImpl::HTMLDivElementImpl): (HTMLHRElementImpl::HTMLHRElementImpl): (HTMLHeadingElementImpl::HTMLHeadingElementImpl): (HTMLParagraphElementImpl::HTMLParagraphElementImpl): (HTMLPreElementImpl::HTMLPreElementImpl): (HTMLMarqueeElementImpl::HTMLMarqueeElementImpl):
  • khtml/html/html_blockimpl.h:
  • khtml/html/html_canvasimpl.cpp: (HTMLCanvasElementImpl::HTMLCanvasElementImpl):
  • khtml/html/html_canvasimpl.h:
  • khtml/html/html_documentimpl.cpp: (DOM::HTMLDocumentImpl::createTokenizer): (DOM::HTMLDocumentImpl::determineParseMode):
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::HTMLElementImpl): (HTMLElementImpl::createContextualFragment): (HTMLElementImpl::setInnerText): (HTMLElementImpl::setOuterText):
  • khtml/html/html_elementimpl.h:
  • khtml/html/html_formimpl.cpp: (DOM::HTMLFormElementImpl::HTMLFormElementImpl): (DOM::HTMLGenericFormElementImpl::HTMLGenericFormElementImpl): (DOM::HTMLButtonElementImpl::HTMLButtonElementImpl): (DOM::HTMLFieldSetElementImpl::HTMLFieldSetElementImpl): (DOM::HTMLInputElementImpl::HTMLInputElementImpl): (DOM::HTMLLabelElementImpl::HTMLLabelElementImpl): (DOM::HTMLLegendElementImpl::HTMLLegendElementImpl): (DOM::HTMLSelectElementImpl::HTMLSelectElementImpl): (DOM::HTMLKeygenElementImpl::HTMLKeygenElementImpl): (DOM::HTMLOptGroupElementImpl::HTMLOptGroupElementImpl): (DOM::HTMLOptionElementImpl::HTMLOptionElementImpl): (DOM::HTMLOptionElementImpl::setText): (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl): (DOM::HTMLIsIndexElementImpl::HTMLIsIndexElementImpl):
  • khtml/html/html_formimpl.h:
  • khtml/html/html_headimpl.cpp: (HTMLBaseElementImpl::HTMLBaseElementImpl): (HTMLLinkElementImpl::HTMLLinkElementImpl): (HTMLMetaElementImpl::HTMLMetaElementImpl): (HTMLScriptElementImpl::HTMLScriptElementImpl): (HTMLStyleElementImpl::HTMLStyleElementImpl): (HTMLTitleElementImpl::HTMLTitleElementImpl):
  • khtml/html/html_headimpl.h:
  • khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::HTMLImageElementImpl): (HTMLMapElementImpl::HTMLMapElementImpl): (HTMLAreaElementImpl::HTMLAreaElementImpl):
  • khtml/html/html_imageimpl.h:
  • khtml/html/html_inlineimpl.cpp: (DOM::HTMLAnchorElementImpl::HTMLAnchorElementImpl): (DOM::HTMLBRElementImpl::HTMLBRElementImpl): (DOM::HTMLFontElementImpl::HTMLFontElementImpl): (DOM::HTMLModElementImpl::HTMLModElementImpl): (DOM::HTMLQuoteElementImpl::HTMLQuoteElementImpl):
  • khtml/html/html_inlineimpl.h:
  • khtml/html/html_listimpl.h: (DOM::HTMLUListElementImpl::HTMLUListElementImpl): (DOM::HTMLDirectoryElementImpl::HTMLDirectoryElementImpl): (DOM::HTMLMenuElementImpl::HTMLMenuElementImpl): (DOM::HTMLOListElementImpl::HTMLOListElementImpl): (DOM::HTMLLIElementImpl::HTMLLIElementImpl): (DOM::HTMLDListElementImpl::HTMLDListElementImpl):
  • khtml/html/html_miscimpl.cpp: (DOM::HTMLBaseFontElementImpl::HTMLBaseFontElementImpl):
  • khtml/html/html_miscimpl.h:
  • khtml/html/html_objectimpl.cpp: (DOM::HTMLAppletElementImpl::HTMLAppletElementImpl): (DOM::HTMLEmbedElementImpl::HTMLEmbedElementImpl): (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl): (DOM::HTMLParamElementImpl::HTMLParamElementImpl):
  • khtml/html/html_objectimpl.h:
  • khtml/html/html_tableimpl.cpp: (DOM::HTMLTableElementImpl::HTMLTableElementImpl): (DOM::HTMLTableElementImpl::createTHead): (DOM::HTMLTableElementImpl::createTFoot): (DOM::HTMLTableElementImpl::createCaption): (DOM::HTMLTableElementImpl::insertRow): (DOM::HTMLTableSectionElementImpl::HTMLTableSectionElementImpl): (DOM::HTMLTableSectionElementImpl::insertRow): (DOM::HTMLTableRowElementImpl::insertCell): (DOM::HTMLTableCellElementImpl::HTMLTableCellElementImpl): (DOM::HTMLTableColElementImpl::HTMLTableColElementImpl):
  • khtml/html/html_tableimpl.h: (DOM::HTMLTablePartElementImpl::HTMLTablePartElementImpl): (DOM::HTMLTableRowElementImpl::HTMLTableRowElementImpl): (DOM::HTMLTableCaptionElementImpl::HTMLTableCaptionElementImpl):
  • khtml/html/htmlfactory.cpp: (DOM::htmlConstructor): (DOM::headConstructor): (DOM::bodyConstructor): (DOM::baseConstructor): (DOM::linkConstructor): (DOM::metaConstructor): (DOM::styleConstructor): (DOM::titleConstructor): (DOM::frameConstructor): (DOM::framesetConstructor): (DOM::iframeConstructor): (DOM::formConstructor): (DOM::buttonConstructor): (DOM::inputConstructor): (DOM::isindexConstructor): (DOM::fieldsetConstructor): (DOM::labelConstructor): (DOM::legendConstructor): (DOM::optgroupConstructor): (DOM::optionConstructor): (DOM::selectConstructor): (DOM::textareaConstructor): (DOM::dlConstructor): (DOM::ulConstructor): (DOM::olConstructor): (DOM::dirConstructor): (DOM::menuConstructor): (DOM::liConstructor): (DOM::blockquoteConstructor): (DOM::divConstructor): (DOM::headingConstructor): (DOM::hrConstructor): (DOM::paragraphConstructor): (DOM::preConstructor): (DOM::basefontConstructor): (DOM::fontConstructor): (DOM::modConstructor): (DOM::anchorConstructor): (DOM::imageConstructor): (DOM::mapConstructor): (DOM::areaConstructor): (DOM::canvasConstructor): (DOM::appletConstructor): (DOM::embedConstructor): (DOM::objectConstructor): (DOM::paramConstructor): (DOM::scriptConstructor): (DOM::tableConstructor): (DOM::tableCaptionConstructor): (DOM::tableColConstructor): (DOM::tableRowConstructor): (DOM::tableCellConstructor): (DOM::tableSectionConstructor): (DOM::brConstructor): (DOM::quoteConstructor): (DOM::marqueeConstructor): (DOM::HTMLElementFactory::createHTMLElement):
  • khtml/html/htmlparser.cpp: (HTMLParser::HTMLParser): (HTMLParser::~HTMLParser):
  • khtml/html/htmlparser.h: (HTMLParser::doc):
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::HTMLTokenizer): (khtml::HTMLTokenizer::parseTag): (khtml::parseHTMLDocumentFragment):
  • khtml/html/htmltokenizer.h:
  • khtml/misc/loader.h:
  • khtml/misc/shared.h: (khtml::TreeShared::~TreeShared): (khtml::TreeShared::destroy): (khtml::TreeShared::deref):
  • khtml/xbl/xbl_tokenizer.cpp: (XBL::XBLTokenHandler::XBLTokenHandler):
  • khtml/xbl/xbl_tokenizer.h: (XBL::):
  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::RangeImpl): (DOM::RangeImpl::setStart): (DOM::RangeImpl::setEnd): (DOM::RangeImpl::processContents): (DOM::RangeImpl::cloneRange): (DOM::RangeImpl::setStartAfter): (DOM::RangeImpl::setEndBefore): (DOM::RangeImpl::setEndAfter): (DOM::RangeImpl::setStartBefore): (DOM::rangeOfContents):
  • khtml/xml/dom2_rangeimpl.h:
  • khtml/xml/dom_docimpl.cpp: (DOMImplementationImpl::createDocumentType): (DOMImplementationImpl::createDocument): (DocumentImpl::DocumentImpl): (DocumentImpl::destroy): (DocumentImpl::~DocumentImpl): (DocumentImpl::createDocumentFragment): (DocumentImpl::createTextNode): (DocumentImpl::createComment): (DocumentImpl::createCDATASection): (DocumentImpl::createProcessingInstruction): (DocumentImpl::createEntityReference): (DocumentImpl::createEditingTextNode): (DocumentImpl::createElementNS): (DocumentImpl::setTitle): (DocumentImpl::removeTitle): (DocumentImpl::createRange): (DocumentImpl::createTokenizer): (DocumentImpl::implicitClose): (DocumentImpl::setHoverNode): (DocumentImpl::setActiveNode): (DocumentImpl::setFocusNode): (DocumentImpl::createAttributeNS): (DocumentFragmentImpl::DocumentFragmentImpl): (DocumentFragmentImpl::cloneNode): (DocumentTypeImpl::DocumentTypeImpl):
  • khtml/xml/dom_docimpl.h: (DOM::DocumentImpl::selfOnlyRef): (DOM::DocumentImpl::selfOnlyDeref): (DOM::DocumentImpl::focusNode): (DOM::DocumentImpl::hoverNode): (DOM::DocumentImpl::activeNode):
  • khtml/xml/dom_elementimpl.cpp: (AttributeImpl::allocateImpl): (AttrImpl::AttrImpl): (AttrImpl::cloneNode): (ElementImpl::ElementImpl): (StyledElementImpl::StyledElementImpl):
  • khtml/xml/dom_elementimpl.h:
  • khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::NodeImpl): (DOM::NodeImpl::setDocument): (DOM::NodeImpl::~NodeImpl): (DOM::NodeImpl::dispatchEvent): (DOM::NodeImpl::dispatchWindowEvent): (DOM::NodeImpl::dispatchMouseEvent): (DOM::NodeImpl::checkAddChild): (DOM::ContainerNodeImpl::ContainerNodeImpl): (DOM::ContainerNodeImpl::removeAllChildren): (DOM::ContainerNodeImpl::~ContainerNodeImpl):
  • khtml/xml/dom_nodeimpl.h: (DOM::NodeImpl::inDocument): (DOM::NodeImpl::getDocument):
  • khtml/xml/dom_textimpl.cpp: (CharacterDataImpl::CharacterDataImpl): (CommentImpl::CommentImpl): (TextImpl::TextImpl): (TextImpl::createNew): (CDATASectionImpl::CDATASectionImpl): (CDATASectionImpl::createNew): (EditingTextImpl::EditingTextImpl):
  • khtml/xml/dom_textimpl.h:
  • khtml/xml/dom_xmlimpl.cpp: (DOM::EntityImpl::EntityImpl): (DOM::EntityReferenceImpl::EntityReferenceImpl): (DOM::EntityReferenceImpl::cloneNode): (DOM::NotationImpl::NotationImpl): (DOM::ProcessingInstructionImpl::ProcessingInstructionImpl): (DOM::ProcessingInstructionImpl::cloneNode):
  • khtml/xml/dom_xmlimpl.h:
  • khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::XMLTokenizer): (khtml::XMLTokenizer::startElementNs): (khtml::XMLTokenizer::enterText): (khtml::XMLTokenizer::processingInstruction): (khtml::XMLTokenizer::cdataBlock): (khtml::XMLTokenizer::comment): (khtml::XMLTokenizer::internalSubset): (khtml::XMLTokenizer::finish): (khtml::XMLTokenizer::insertErrorMessageBlock): (khtml::XMLTokenizer::executeScripts): (khtml::newXMLTokenizer):
  • khtml/xml/xml_tokenizer.h:
  • khtml/xsl/xslt_processorimpl.cpp: (DOM::createFragmentFromSource):
1:45 PM Changeset in webkit [14160] by hyatt
  • 4 adds in trunk/LayoutTests/fast/overflow

Add layout test for scrollLeft/Top setting bug.

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

Make sure to updateLayout on all scrolling functions (in particular when
setting scrollLeft/Top).

Reviewed by eric

fast/overflow/008,html added as a test case.

  • dom/Element.cpp: (WebCore::Element::scrollIntoView): (WebCore::Element::scrollIntoViewIfNeeded): (WebCore::Element::setScrollLeft): (WebCore::Element::setScrollTop):
1:20 PM Changeset in webkit [14158] by thatcher
  • 2 edits in branches/Safari-2-0-branch/JavaScriptCore/kjs

Debug build fix.

9:23 AM Changeset in webkit [14157] by darin
  • 6 edits
    1 add in trunk/WebKitWin
  • ChangeLog: Added.
  • <most files: Cleared the stray "executable" bit that was on most files.
2:30 AM Changeset in webkit [14156] by andersca
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Maciej.

  • kxmlcore/HashMap.h: (KXMLCore::::operator): Return *this
12:25 AM Changeset in webkit [14155] by andersca
  • 3 edits
    2 adds in trunk

WebCore:

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

Reviewed by Dave Hyatt.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8688
file URLs aren't being serialized correctly when using window.location


  • platform/KURL.cpp: (KURL::prettyURL): Append "" for file URLs.

LayoutTests:

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

Reviewed by Dave Hyatt.

Test case for http://bugzilla.opendarwin.org/show_bug.cgi?id=8688
file URLs aren't being serialized correctly when using window.location


  • fast/js/window-location-href-file-urls-expected.txt: Added.
  • fast/js/window-location-href-file-urls.html: Added.

May 1, 2006:

5:49 PM Changeset in webkit [14154] by thatcher
  • 4 edits in branches/Safari-2-0-branch

JavaScriptCore:

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

2006-05-01 Tim Omernick <timo@apple.com>

Reviewed by Tim Hatcher.

<rdar://problem/4476875> Support printing for embedded Netscape plugins

  • bindings/npapi.h: Fixed struct alignment problem in our npapi.h. Structs must be 68k-aligned on both pre-Mac OS X and Mac OS X systems, as this is what plugins expect.

WebKit:

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

2006-04-20 Tim Omernick <timo@apple.com>

Reviewed by John Sullivan.

<rdar://problem/4476875> Support printing for embedded Netscape plugins

NOTE: This only works with the Flash plugin right now. It appears that the other
major plugins either have awful printing support, or no printing support. If someone
can find an example of any other embedded Netscape plugin printing in any browser on
the Mac, I will be happy to eat my own words!

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView drawRect:]): When printing, get the printed bitmap via -_printedPluginBitmap, and draw it into the plugin view. (-[WebBaseNetscapePluginView _printedPluginBitmap]): Call NPP_Print on the plugin to render it into a GWorld. This GWorld has the same underlying buffer as an NSBitmapImageRep, which is returned to the caller.
5:48 PM Changeset in webkit [14153] by tomernic
  • 2 edits in trunk/JavaScriptCore

Reviewed by Tim Hatcher.

<rdar://problem/4476875> Support printing for embedded Netscape plugins

  • bindings/npapi.h: Fixed struct alignment problem in our npapi.h. Structs must be 68k-aligned on both pre-Mac OS X and Mac OS X systems, as this is what plugins expect.
5:08 PM Changeset in webkit [14152] by thatcher
  • 4 edits in branches/Safari-2-0-branch/WebKit

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

2006-03-13 Tim Omernick <timo@apple.com>

Reviewed by Maciej.

<rdar://problem/4476873> Support printing for plugin documents (not embedded plugins)

  • WebView.subproj/WebFrameViewPrivate.h:
  • WebView.subproj/WebFrameView.m: (-[WebFrameView documentViewShouldHandlePrint]): Called by the host application before it initializes and runs a print operation. If NO is returned, the host application will abort its print operation and call -printDocumentView on the WebFrameView. The document view is then expected to run its own print operation. If YES is returned, the host application's print operation will continue as normal. (-[WebFrameView printDocumentView]): Called by the host application when the WebFrameView returns YES from -documentViewShouldHandlePrint.
  • Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView documentViewShouldHandlePrint]): Allow the plugin to take over printing if it defines an NPP_Print function (-[WebNetscapePluginDocumentView printDocumentView]): Print the plugin document.
4:48 PM Changeset in webkit [14151] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebCore

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

2006-01-02 Vicki Murley <vicki@apple.com>

Reviewed by Maciej.


  • fix for <rdar://problem/4389622> *Pan EU2* iframe swallows events for overlapping elements (part 2)


We originally added a call to passSubframeEventToSubframe here to fix the hand cursor updating problem
reported in <rdar://problem/4316201> REGRESSION: cursor and text in status bar is not updated when
mousing over links in a frame (5509). However, when we return early after passSubframeEventToSubframe,
we fail to fire onmouseout events. Since the call to passSubframeEventToSubframe was originally added
to fix the hand cursor updating problem, remove the early return and make cursor updating conditional
on passSubframeEventToSubframe.

  • khtml/khtmlview.cpp: (KHTMLView::viewportMouseMoveEvent):
4:07 PM Changeset in webkit [14150] by thatcher
  • 4 edits in branches/Safari-2-0-branch/JavaScriptCore

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

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

Reviewed by ggaren.

Fix "new Function()" to correctly use lexical scoping.
Add ScopeChain::print() function for debugging.
<rdar://problem/4067864> REGRESSION (125-407): JavaScript failure on PeopleSoft REN Server

  • kjs/function_object.cpp: (FunctionObjectImp::construct):
  • kjs/scope_chain.cpp: (KJS::ScopeChain::print):
  • kjs/scope_chain.h:
4:02 PM Changeset in webkit [14149] by hyatt
  • 12 edits in trunk/WebCore

Convert WebTextRenderer to be a C++ class. Change the factory so
that it uses pointer-based hashmaps instead of NSMutableDictionaries.
Convert uses of malloc/free to new/delete so that they start using
the fastMalloc/fastFree code.

Reviewed by darin

  • bridge/mac/WebCoreStringTruncator.mm: (stringWidth): (truncateString):
  • kwq/KWQComboBox.mm: (QComboBox::sizeHint):
  • kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth):
  • kwq/KWQListBox.mm: (itemTextRenderer): (groupLabelTextRenderer): (QListBox::sizeForNumberOfLines): (QListBox::clearCachedTextRenderers): (-[KWQTableView drawRow:clipRect:]):
  • platform/FontDataSet.h:
  • platform/mac/FontMac.mm: (WebCore::FontDataSet::~FontDataSet): (WebCore::FontDataSet::getRenderer): (WebCore::FontDataSet::invalidate): (WebCore::Font::ascent): (WebCore::Font::descent): (WebCore::Font::lineSpacing): (WebCore::Font::xHeight): (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: (WebCore::WebTextRenderer::ascent): (WebCore::WebTextRenderer::descent): (WebCore::WebTextRenderer::lineSpacing): (WebCore::WebTextRenderer::lineGap): (WebCore::WebTextRenderer::misspellingLineThickness): (WebCore::WebTextRenderer::misspellingLinePatternWidth): (WebCore::WebTextRenderer::misspellingLinePatternGapWidth):
  • platform/mac/WebTextRenderer.mm: (WebCore::WebCoreInitializeFont): (WebCore::WebCoreInitializeTextRun): (WebCore::WebCoreInitializeEmptyTextStyle): (WebCore::WebCoreInitializeEmptyTextGeometry): (WebCore::widthForGlyph): (WebCore::overrideLayoutOperation): (WebCore::m_ATSUMirrors): (WebCore::WebTextRenderer::~WebTextRenderer): (WebCore::WebTextRenderer::xHeight): (WebCore::WebTextRenderer::drawRun): (WebCore::WebTextRenderer::floatWidthForRun): (WebCore::WebTextRenderer::drawLineForCharacters): (WebCore::WebTextRenderer::selectionRectForRun): (WebCore::WebTextRenderer::drawHighlightForRun): (WebCore::WebTextRenderer::drawLineForMisspelling): (WebCore::WebTextRenderer::pointToOffset): (WebCore::WebTextRenderer::setAlwaysUseATSU): (WebCore::getSmallCapsRenderer): (WebCore::findSubstituteFont): (WebCore::rendererForAlternateFont): (WebCore::computeWidthForSpace): (WebCore::setUpFont): (WebCore::CG_selectionRect): (WebCore::CG_draw): (WebCore::updateGlyphMapEntry): (WebCore::extendGlyphMap): (WebCore::extendWidthMap): (WebCore::initializeATSUStyle): (WebCore::createATSULayoutParameters): (WebCore::disposeATSULayoutParameters): (WebCore::addDirectionalOverride): (WebCore::ATSU_selectionRect): (WebCore::ATSU_draw): (WebCore::ATSU_pointToOffset): (WebCore::freeWidthMap): (WebCore::freeGlyphMap): (WebCore::glyphForCharacter): (WebCore::advanceWidthIterator):
  • platform/mac/WebTextRendererFactory.h:
  • platform/mac/WebTextRendererFactory.mm: (-[WebTextRendererFactory clearCaches]): (-[WebTextRendererFactory init]): (-[WebTextRendererFactory dealloc]): (-[WebTextRendererFactory rendererWithFont:]):
3:54 PM Changeset in webkit [14148] by thatcher
  • 19 edits in branches/Safari-2-0-branch

JavaScriptCore:

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

2006-03-29 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin.

  • JavaScriptCore side of fix for <rdar://problem/4308243> 8F36 Regression: crash in malloc_consolidate if you use a .PAC file

The crash was a result of threaded deallocation of thread-unsafe
objects. Pure JS objects are thread-safe because all JS execution
is synchronized through JSLock. However, JS objects that wrap WebCore
objects are thread-unsafe because JS and WebCore execution are not
synchronized. That unsafety comes into play when the collector
deallocates a JS object that wraps a WebCore object, thus causing the
WebCore object to be deallocated.

The solution here is to have each JSCell know whether it is safe to
collect on a non-main thread, and to avoid collecting unsafe cells
when on a non-main thread.

We don't have a way to test PAC files yet, so there's no test
attached to this patch.

  • kjs/collector.cpp: (KJS::Collector::collect):
(1) Added the test "currentThreadIsMainThread

imp->m_destructorIsThreadSafe".

  • kjs/protect.h: (KJS::gcProtectNullTolerant): (KJS::gcUnprotectNullTolerant):
  • kjs/value.h: (KJS::JSCell::JSCell): The bools here must be bitfields, otherwise m_destructorIsThreadSafe becomes another whole word, ruining the collector optimizations we've made based on the size of a JSObject.
  • kxmlcore/FastMalloc.cpp: (KXMLCore::currentThreadIsMainThread): (KXMLCore::fastMallocRegisterThread):
  • kxmlcore/FastMalloc.h:

WebCore:

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

2006-03-29 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin.

  • WebCore side of fix for <rdar://problem/4308243> 8F36 Regression: crash in malloc_consolidate if you use a .PAC file

(1) To ensure thread-safe deallocation, set the "unsafe to destroy on
non-main threads" bit in the DOMObject constructor.

(2) Made all binding objects inherit from DOMObject, because the
WebCore data structures they wrap are not thread-safe. "DOMObject" is
a slightly awkward name for things like the Window object, but the
DOM spec is considering adding a Window object, and creating a whole
new base class for this purpose seemed like overkill.

  • khtml/ecma/JSDOMParser.h:
  • khtml/ecma/JSXMLHttpRequest.h:
  • khtml/ecma/JSXMLSerializer.cpp: (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
  • khtml/ecma/JSXMLSerializer.h:
  • khtml/ecma/JSXSLTProcessor.h:
  • khtml/ecma/kjs_binding.h: (KJS::DOMObject::DOMObject): Unset the "safe to collect on non-main threads bit" to ensure thread-safe deallocation.
  • khtml/ecma/kjs_html.h:
  • khtml/ecma/kjs_navigator.cpp: (KJS::Navigator::Navigator): (KJS::PluginBase::PluginBase):
  • khtml/ecma/kjs_navigator.h:
  • khtml/ecma/kjs_proxy.cpp:
  • khtml/ecma/kjs_window.cpp: (KJS::History::History): (KJS::FrameArray::FrameArray): (KJS::Screen::Screen): (KJS::Window::Window): (KJS::BarInfo::BarInfo):
  • khtml/ecma/kjs_window.h:
3:46 PM Changeset in webkit [14147] by eseidel
  • 2 edits in branches/Safari-2-0-branch/WebCore

kwq/KWQKURL.mm

3:28 PM Changeset in webkit [14146] by sfalken
  • 1 edit in trunk/WebKitWin/WebFramePrivate.cpp

2006-05-01 Steve Falkenburg <sfalken@apple.com>

Reviewed by eric.


Fix missing line ending.

  • WebFramePrivate.cpp:
3:21 PM Changeset in webkit [14145] by sfalken
  • 5 edits
    4 deletes in trunk/WebKitTools

2006-05-01 Steve Falkenburg <sfalken@apple.com>

Reviewed by eric.

Spinneret now links against the new separate lib.
Removed WebFrame, WebView.


  • Spinneret/Spinneret.sln:
  • Spinneret/Spinneret/Spinneret.cpp: (SpinneretWebHost::updateLocationBar): (_tWinMain):
  • Spinneret/Spinneret/Spinneret.h:
  • Spinneret/Spinneret/Spinneret.vcproj:
  • Spinneret/Spinneret/WebFrame.cpp: Removed.
  • Spinneret/Spinneret/WebFrame.h: Removed.
  • Spinneret/Spinneret/WebView.cpp: Removed.
  • Spinneret/Spinneret/WebView.h: Removed.
3:10 PM Changeset in webkit [14144] by sfalken
  • 4 copies
    11 adds in trunk/WebKitWin

2006-05-01 Steve Falkenburg <sfalken@microsoft.com>

Reviewed by eric.

Moved WebKit-like code from Spinnaret into WebKitWin.


  • .: Added.
  • WebFrame.cpp: Added. (WebKit::WebFrame::createWebFrame): Factory to create web frames.
  • WebFramePrivate.cpp: Added. (WebKit::WebFramePrivate::WebFrameData::WebFrameData): (WebKit::WebFramePrivate::WebFrameData::~WebFrameData): (WebKit::WebFramePrivate::WebFramePrivate): (WebKit::WebFramePrivate::~WebFramePrivate): (WebKit::WebFramePrivate::loadFilePath): (WebKit::WebFramePrivate::loadHTMLString): (WebKit::WebFramePrivate::openURL): (WebKit::WebFramePrivate::submitForm): (WebKit::WebFramePrivate::loadURL): (WebKit::WebFramePrivate::getURL): (WebKit::WebFramePrivate::reload): (WebKit::WebFramePrivate::receivedData): (WebKit::WebFramePrivate::receivedAllData): (WebKit::WebFramePrivate::paint): (WebKit::WebFramePrivate::impl): (WebKit::WebFramePrivate::toPrivate):
  • WebFramePrivate.h: Added.
  • WebKitWin.vcproj: Added.
  • WebKitWin.vcproj/WebKitWin: Added.
  • WebKitWin.vcproj/WebKitWin.sln: Added.
  • WebKitWin.vcproj/WebKitWin/WebKitWin.vcproj: Added.
  • WebKitWin.vcproj/WebKitWin/stdafx.cpp: Added.
  • WebKitWin.vcproj/WebKitWin/stdafx.h: Added.
  • WebView.cpp: Added. (WebKit::WebView::createWebView): (WebKit::WebView::WebView): (WebKit::WebView::mouseMoved): (WebKit::WebView::mouseDown): (WebKit::WebView::mouseUp): (WebKit::WebView::mouseDoubleClick): (WebKit::WebView::keyPress): (WebKit::WebViewWndProc):
  • public: Added.
  • public/WebFrame.h: Added.
  • public/WebHost.h: Added.
  • public/WebView.h: Added.
2:43 PM Changeset in webkit [14143] by justing
  • 4 edits
    16 adds in trunk

LayoutTests:

Reviewed by darin


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8653>
Remove a use of hasMoreThanOneBlock

Deleting didn't merge because of code that stopped the merge whenever
the end of the selection to delete was in a fully selected line.

  • editing/deleting/merge-endOfParagraph-expected.checksum: Added.
  • editing/deleting/merge-endOfParagraph-expected.png: Added.
  • editing/deleting/merge-endOfParagraph-expected.txt: Added.
  • editing/deleting/merge-endOfParagraph.html: Added.


Two testcases where paste did not request a merge from deletion, but should have.

  • editing/pasteboard/merge-after-delete-1-expected.checksum: Added.
  • editing/pasteboard/merge-after-delete-1-expected.png: Added.
  • editing/pasteboard/merge-after-delete-1-expected.txt: Added.
  • editing/pasteboard/merge-after-delete-1.html: Added.
  • editing/pasteboard/merge-after-delete-2-expected.checksum: Added.
  • editing/pasteboard/merge-after-delete-2-expected.png: Added.
  • editing/pasteboard/merge-after-delete-2-expected.txt: Added.
  • editing/pasteboard/merge-after-delete-2.html: Added.


Code that prevents nesting incoming blocks in the block being pasted into
could reverse the order of pasted paragraphs.

  • editing/pasteboard/prevent-block-nesting-01-expected.checksum: Added.
  • editing/pasteboard/prevent-block-nesting-01-expected.png: Added.
  • editing/pasteboard/prevent-block-nesting-01-expected.txt: Added.
  • editing/pasteboard/prevent-block-nesting-01.html: Added.

WebCore:

Reviewed by darin


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8653>
Remove a use of hasMoreThanOneBlock, which uses info from the test rendering.

  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::initializePositionData): Removed code that stopped the merge if the end of the selection to delete was in a fully selected line, which was nonsense.


(WebCore::DeleteSelectionCommand::mergeParagraphs):
Deletion does a bad job of updating the endpoints of the selection as it removes
content. If the endpoints have been flip flipped, bail.
If deletion has removed everything from the block that contained the
start of the selection to delete, we can't create a visible position inside
that block to serve as a destination for the merge. So, we insert a placeholder
at that position to prop the block open to let content in.


  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): Added an assert and two early returns for cases where we'll crash. Removed a use of !fragment.hasMoreThanOneBlock, which uses test rendering info and which was wrong. If we've already inserted content during the start merge, insertionPos will be the position just after that content, so inserting new content before insertionPos will reverse its order.
2:24 PM Changeset in webkit [14142] by tomernic
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Darin.

  • manual-tests/plugin-controller-datasource.html: Added.
  • manual-tests/resources/orange.mov: Added.

WebKit:

Reviewed by Darin.

  • WebView/WebHTMLView.m:

(-[WebHTMLView setDataSource:]): Set the pluginController's dataSource.

1:58 PM Changeset in webkit [14141] by thatcher
  • 2 edits in trunk/JavaScriptCore

Reviewed by Maciej.


<rdar://problem/4308243> 8F36 Regression: crash in malloc_consolidate if you use a .PAC file

The original fix missed the oversized cell case. Added a test for "currentThreadIsMainThread

imp->m_destructorIsThreadSafe" where we collect oversized cells.

We don't have a way to test PAC files yet, so there's no test attached.

  • kjs/collector.cpp: (KJS::Collector::collect): test the thread when we collect oversized cells
1:49 PM Changeset in webkit [14140] by tomernic
  • 2 edits in trunk/JavaScriptCore

Reviewed by Adele.

<rdar://problem/4526114> REGRESSION (two days ago): LOG() just prints @ for NSObject substitutions

  • kxmlcore/Assertions.cpp: Changed sense of strstr("%@") check. I already made the same fix to the WebBrowser assertions.
12:20 PM Changeset in webkit [14139] by thatcher
  • 3 edits in branches/Safari-2-0-branch/WebCore

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

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

Reviewed by mjs.

Speculative fix for our 7th worst crasher.
Also added ASSERTs to help us better understand the issue.
<rdar://problem/4153404> CrashTracer: 2412 crashes in Safari at com.apple.WebCore: khtml::RenderStyle::RenderStyle[unified] + 44

  • dom/Document.cpp: (WebCore::Document::recalcStyle): (WebCore::Document::setInPageCache):
  • dom/Document.h:
  • dom/Element.cpp: (WebCore::Element::recalcStyle):
11:25 AM Changeset in webkit [14138] by thatcher
  • 1 copy in tags/JavaScriptGlue-418/JavaScriptGlue

Tag for JavaScriptGlue 418 (part 2 of 2.)

11:25 AM Changeset in webkit [14137] by thatcher
  • 1 add in tags/JavaScriptGlue-418

Tag for JavaScriptGlue 418 (part 1 of 2.)

11:25 AM Changeset in webkit [14136] by thatcher
  • 1 copy in tags/JavaScriptCore-418/JavaScriptCore

Tag for JavaScriptCore 418 (part 2 of 2.)

11:25 AM Changeset in webkit [14135] by thatcher
  • 1 add in tags/JavaScriptCore-418

Tag for JavaScriptCore 418 (part 1 of 2.)

11:24 AM Changeset in webkit [14134] by thatcher
  • 1 copy in tags/WebKit-418.1/WebKit

Tag for WebKit 418.1 (part 2 of 2.)

11:24 AM Changeset in webkit [14133] by thatcher
  • 1 add in tags/WebKit-418.1

Tag for WebKit 418.1 (part 1 of 2.)

11:23 AM Changeset in webkit [14132] by thatcher
  • 1 move in tags/WebCore-418

Wrong tag name.

11:21 AM Changeset in webkit [14131] by thatcher
  • 1 copy in tags/WebCore-418.4/WebCore

Tag for WebCore 418.4 (part 2 of 2.)

11:21 AM Changeset in webkit [14130] by thatcher
  • 1 add in tags/WebCore-418.4

Tag for WebCore 418.4 (part 1 of 2.)

11:10 AM Changeset in webkit [14129] by mjs
  • 2 edits in trunk/WebKit
  • fix build
  • WebKit.exp: Add symbol that the new Safari will need.
10:59 AM Changeset in webkit [14128] by thatcher
  • 8 edits in branches/Safari-2-0-branch

Versioning.

8:17 AM Changeset in webkit [14127] by sullivan
  • 4 edits in trunk/WebKit

Reviewed by Tim Omernick.


  • fixed <rdar://problem/3126419> history load enforces history limit, but deletes the newest instead of oldest items
  • added notification reporting items discarded during load because the age limit or item count limit is exceeded
  • a few other minor tweaks
  • History/WebHistory.h: fixed a typo and an incorrect method name


  • History/WebHistoryPrivate.h: Added declaration of WebHistoryItemsDiscardedWhileLoadingNotification. Also changed signature of WebHistoryPrivate method -loadFromURL:error: to have new collectDiscardedItemsInto: parameter. Also deleted declarations of two methods that didn't actually exist (loadHistory and initWithFile:), and added comments about which methods should become public API, WebKit-internal, or file-internal.
  • History/WebHistory.m: (-[WebHistoryPrivate arrayRepresentation]): This method, called only by _saveHistoryGuts:, used to deliberately leave out items that violated either the age limit or the item count limit. Now all the items are included (and thus saved), and all the pruning is done at load time, so clients can keep track of the pruned items by observing the new WebHistoryItemsDiscardedWhileLoadingNotification (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]): Now keeps track of all the items that violated the age limit or item count limit in the new collectedDiscardedItemsInto: parameter. Also, now processes items in forward order rather than reverse order to fix 3126419. Now uses compare: rather than _webkit_compareDay: to check against age limit; this is faster and also more correct (most noticeable with small age limits). (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): new collectDiscardedItemsInto: parameter, passed into _loadHistoryGuts:... (-[WebHistory loadFromURL:error:]): Now sends new WebHistoryItemsDiscardedWhileLoadingNotification if any items were discarded due to age limit or item count limit.


  • WebKit.exp: exported symbol for WebHistoryItemsDiscardedWhileLoadingNotification
1:34 AM Changeset in webkit [14126] by eseidel
  • 4 edits in trunk

2006-04-30 Rob Buis <buis@kde.org>

Reviewed by eseidel. Landed by eseidel.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8651:
CGContextSetLineDash: invalid dash array: emmited during WebKit tests

Properly discard invalid stroke-dasharray properties like in
invalid-css.svg. (Tests updated.)

  • ksvg2/css/SVGCSSParser.cpp: (WebCore::CSSParser::parseSVGStrokeDasharray):

Apr 29, 2006:

1:19 PM Changeset in webkit [14125] by thatcher
  • 2 edits in trunk/WebKit

Reviewed by Maciej.

Bug 8577: [TabBarView _web_superviewOfClass:stoppingAtClass:]
http://bugzilla.opendarwin.org/show_bug.cgi?id=8577

Added back _web_superviewOfClass:stoppingAtClass:.
This method was removed in r14032 (bug 8562), but Safari 2.0 still uses it.
We should remove this method once Open Source users have a new version
to use with TOT WebKit.

  • Misc/WebNSViewExtras.m: (-[NSView _web_superviewOfClass:stoppingAtClass:]):

Apr 28, 2006:

11:15 PM Changeset in webkit [14124] by sfalken
  • 2 edits in trunk/JavaScriptCore

2006-04-28 Steve Falkenburg <sfalken@apple.com>

Reviewed by kdecker


Actually apply the change that was reviewed insted of checking it in with an #if 0 (oops).

  • kjs/testkjs.cpp: (main): Suppress C runtime alerts
10:45 PM Changeset in webkit [14123] by sfalken
  • 2 edits in trunk/WebKitTools

2006-04-28 Steve Falkenburg <sfalken@apple.com>

Reviewed by kdecker

Modify error reporting registry keys to disable Dr. Watson.
This allows Javascript test cases to complete without blocking UI.


  • Scripts/install-win-extras:
    • Use Perl Win32 registry functions to disable blocking UI
10:28 PM Changeset in webkit [14122] by sfalken
  • 2 edits in trunk/JavaScriptCore

2006-04-28 Steve Falkenburg <sfalken@apple.com>

Reviewed by kdecker

Suppress error reporting dialog that blocks Javascript tests from completing.


Real error is due to an overflow in the date/time handling functions that needs
to be addressed, but this will prevent the hang running the Javascript tests
on the build bot (along with the related changes).


  • kjs/testkjs.cpp: (main): Suppress C runtime alerts
6:03 PM Changeset in webkit [14121] by hyatt
  • 3 edits in trunk/WebCore

Make image buffer sizes in the loader more accurate, since we know we store
buffers with 4 bytes per pixel. Double sizes to account for this. Also
deal better with animated GIFs that may have thousands of frames by adding
in a heuristic that will use the data size instead of a single frame RGBA32
buffer size if it's larger.

Reviewed by darin

WARNING: NO TEST CASES ADDED OR CHANGED

  • loader/Cache.cpp:
  • loader/CachedImage.cpp: (WebCore::CachedImage::data):
5:59 PM Changeset in webkit [14120] by hyatt
  • 2 edits in trunk/WebKit

Double the cache size to account for our revised (more accurate)
measurement of the image buffers.

Reviewed by darin

  • WebView/WebPreferences.m: (+[WebPreferences initialize]):
5:50 PM Changeset in webkit [14119] by hyatt
  • 1 copy in trunk/WebCore/icu/unicode/unorm.h

Fix build bustage for public builds.

5:33 PM Changeset in webkit [14118] by hyatt
  • 1 add in trunk/WebCore/platform/mac/WebCoreTextRenderer.mm

fix build bustage.

5:17 PM Changeset in webkit [14117] by sfalken
  • 9 edits in trunk/WebKitTools

2006-04-28 Steve Falkenburg <sfalken@apple.com>

Reviewed by eric.


Turned off C++ exceptions, fixed memory leaks

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.vcproj:
  • Spinneret/Spinneret.sln:
  • Spinneret/Spinneret/Spinneret.cpp: (_tWinMain):
  • Spinneret/Spinneret/Spinneret.vcproj:
  • Spinneret/Spinneret/WebFrame.cpp: (WebKit::WebFrame::WebFramePrivate::~WebFramePrivate): (WebKit::WebFrame::WebFrame): (WebKit::WebFrame::~WebFrame): (WebKit::WebFrame::impl):
  • Spinneret/Spinneret/WebFrame.h:
  • Spinneret/Spinneret/WebView.cpp:
  • Spinneret/Spinneret/stdafx.h:
5:12 PM Changeset in webkit [14116] by sfalken
  • 6 edits in trunk/WebCore

2006-04-28 Steve Falkenburg <sfalken@apple.com>

Reviewed by eric.

No test necessary - fixing Win32 build, turned off C++ exceptions, turned off RTTI

  • WebCore.vcproj/WebCore/WebCore.vcproj:
  • bridge/win/FrameWin.cpp: (WebCore::FrameWin::~FrameWin):
  • bridge/win/PageWin.cpp: (WebCore::Page::Page):
  • page/Page.h:
  • platform/win/TemporaryLinkStubs.cpp: (FrameWin::saveDocumentState): (Path::contains): (Path::boundingRect):
5:06 PM Changeset in webkit [14115] by hyatt
  • 15 edits
    2 deletes in trunk/WebCore

Merge WebCoreTextRenderer into WebTextRenderer. Merge WebCoreTextRendererFactory
into WebTextRendererFactory. Change all callers to refer to the concrete classes
now. Change WebCoreTextRenderer.h to be the public API that WebKit uses when
it calls in to WebCore. Clean up the exports to remove things WebKit no longer
needs.

Reviewed by darin

  • WebCore.exp:
  • 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.h:
  • platform/FontDataSet.h:
  • platform/mac/FontMac.mm: (WebCore::FontDataSet::getWebCoreFont): (WebCore::FontDataSet::getRenderer): (WebCore::FontDataSet::determinePitch):
  • platform/mac/WebCoreTextRenderer.h:
  • platform/mac/WebCoreTextRendererFactory.mm: (-[WebCoreTextRendererFactory init]):
  • platform/mac/WebTextRenderer.h:
  • platform/mac/WebTextRenderer.mm:
  • platform/mac/WebTextRendererFactory.h:
  • platform/mac/WebTextRendererFactory.mm: (WebCoreInitializeFont): (WebCoreInitializeTextRun): (WebCoreInitializeEmptyTextStyle): (WebCoreInitializeEmptyTextGeometry): (-[WebTextRendererFactory clearCaches]): (+[WebTextRendererFactory createSharedFactory]): (+[WebTextRendererFactory sharedFactory]): (-[WebTextRendererFactory init]):
4:06 PM Changeset in webkit [14114] by thatcher
  • 3 edits
    2 adds in branches/Safari-2-0-branch/JavaScriptCore

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

2006-02-14 Geoffrey Garen <ggaren@apple.com>

Reviewed by John.

  • Fixed <rdar://problem/4330457> CrashTracer: [REGRESSION] 3763 crashes in Safari at com.apple.JavaScriptCore: KJS::Bindings::JavaInstance:: getClass const + 56

This was a memory leak in the bindings code. The leak was so extreme
that it would cause Safari or the JVM to abort from lack of memory.
Upon construction, Class objects create field and method objects,
storing them in CFDictionaries. The bug was that upon destruction, the
class objects released the dictionaries but didn't destroy the stored
objects.

The fix is to supply CFDictionary callbacks for destroying the values
added to the dictionary. This also requires prohibiting copying,
because we don't do any intelligent ref-counting -- when a Class is
destroyed, it destroys its methods and fields unconditionally.

  • bindings/jni/jni_class.cpp: (JavaClass::JavaClass): Added delete callbacks
  • bindings/runtime.cpp: Added definitions for delete callbacks (KJS::Bindings::deleteMethodList): (KJS::Bindings::deleteMethod): (KJS::Bindings::deleteField):
  • bindings/runtime.h: Added declarations for delete callbacks
3:25 PM Changeset in webkit [14113] by hyatt
  • 9 edits
    4 deletes in trunk/WebKit

Fix for 8586, move WebTextRenderer into WebCore.

Reviewed by darin

  • Misc/WebKitNSStringExtras.m: (-[NSString _web_drawAtPoint:font:textColor:]): (-[NSString _web_widthWithFont:]):
  • Misc/WebStringTruncator.m: (+[WebStringTruncator centerTruncateString:toWidth:]): (+[WebStringTruncator centerTruncateString:toWidth:withFont:]): (+[WebStringTruncator rightTruncateString:toWidth:withFont:]): (+[WebStringTruncator widthOfString:font:]):
  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
  • WebCoreSupport/WebTextRenderer.h: Removed.
  • WebCoreSupport/WebTextRenderer.m: Removed.
  • WebCoreSupport/WebTextRendererFactory.h: Removed.
  • WebCoreSupport/WebTextRendererFactory.m: Removed.
  • WebKit.xcodeproj/project.pbxproj:
  • WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]):
  • WebView/WebHTMLView.m: (-[NSArray _addToStyle:fontA:fontB:]):
  • WebView/WebTextView.m: (-[WebTextView setFixedWidthFont]):
  • WebView/WebView.m: (+[WebView _setAlwaysUseATSU:]): (+[WebView _setShouldUseFontSmoothing:]): (+[WebView _shouldUseFontSmoothing]):
3:24 PM Changeset in webkit [14112] by hyatt
  • 8 edits
    4 copies in trunk/WebCore

Fix for 8586, move WebTextRenderer into WebCore.

Reviewed by darin

  • WebCore.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • bridge/mac/WebCoreStringTruncator.mm:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • platform/mac/WebCoreTextRenderer.h:
  • platform/mac/WebCoreTextRendererFactory.mm: (+[WebCoreTextRendererFactory sharedFactory]):
  • platform/mac/WebTextRenderer.h: Added.
  • platform/mac/WebTextRenderer.mm: Added. (widthForGlyph): (-[WebTextRenderer initWithFont:]): (destroy): (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): (-[WebTextRenderer drawLineForMisspelling:withWidth:]): (findSubstituteFont): (setUpFont): (pathFromFont): (drawGlyphs): (CG_draw): (extendGlyphMap): (extendWidthMap): (initializeATSUStyle): (createATSULayoutParameters): (getTextBounds): (addDirectionalOverride): (ATSU_draw): (normalizeVoicingMarks): (advanceWidthIterator): (fillStyleWithAttributes):
  • platform/mac/WebTextRendererFactory.h: Added.
  • platform/mac/WebTextRendererFactory.mm: Added. (getAppDefaultValue): (getUserDefaultValue): (getLCDScaleParameters): (fontsChanged): (+[WebTextRendererFactory createSharedFactory]): (-[WebTextRendererFactory isFontFixedPitch:]): (-[WebTextRendererFactory fontWithFamily:traits:size:]): (FontCacheKeyCopy): (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
3:15 PM Changeset in webkit [14111] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebCore

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

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

Fix by beth. Reviewed by darin. Landed by eseidel.

Make hackish fix to avoid crash in Xcode and Filemaker.
<rdar://problem/4059059> Crash in RenderFlow::detach (XCode Documentation Window)

  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge didNotOpenURL:pageCache:]):
3:03 PM Changeset in webkit [14110] by eseidel
  • 2 edits in trunk/WebCore

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

Fix by beth. Reviewed by darin. Landed by eseidel.

Make hackish fix to avoid crash in Xcode and Filemaker.
<rdar://problem/4059059> Crash in RenderFlow::detach (XCode Documentation Window)

  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge didNotOpenURL:pageCache:]):
2:09 PM Changeset in webkit [14109] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebCore

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

2006-03-23 Darin Adler <Darin Adler>

Reviewed by Beth.

  • fix <rdar://problem/4335038> REGRESSION: when max-height is none, height value is ignored
  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): For max-height of none, set it to Length(undefinedLength, Fixed), which is the correct value (same as the default). Also did some formatting fixes to the height section.
1:57 PM Changeset in webkit [14108] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebCore

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

2006-04-26 Tim Omernick <timo@apple.com>

Reviewed by Hyatt.

<rdar://problem/4068375> Flash inserted via innerHTML Fails to Show when CSS Display
Style is Toggled via Javascript

  • html/html_objectimpl.cpp: (WebCore::HTMLObjectElement::setComplete): Set needWidgetUpdate when finished parsing, even if the object element is not in a document. That way, when the element attaches to a document, it will update its widget (creating the plug-in view if necessary). This is important when the object is being inserted via setInnerHTML, since the parsed nodes are not added to the document until the whole HTML string is parsed.
1:51 PM Changeset in webkit [14107] by thatcher
  • 7 edits in branches/Safari-2-0-branch/WebCore

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

2006-04-22 Beth Dakin <Beth Dakin>

Reviewed by Hyatt.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6141
DOMCSSPrimitiveValue is always returning values in pixels when
using getComputedStyle:

getFloatValue() took a unit type as a parameter, ignored it, and
returned m_value.num. This patch writes a second version of the
function that actually converts m_value.num to the specified unites
before returning it. Where a conversion is not required, I removed
the unit type from the caller so that it would go directly to the
inline version of the function.

  • css/css_valueimpl.cpp: (WebCore::CSSPrimitiveValue::computeLengthFloat): Remove type parameter since a conversion is not needed. (WebCore::scaleFactorForConversion): Helper function for conversion. (WebCore::CSSPrimitiveValue::getFloatValue): This version of getFloatValue() takes a unit type parameter and converts m_value.num.
  • css/css_valueimpl.h: (WebCore::CSSPrimitiveValue::getFloatValue): This version does not take a parameter and just returns m_value.num.
  • css/cssparser.cpp: (WebCore::BorderImageParseContext::commitBorderImage): Remove type parameter since a conversion is not needed.
  • css/cssstyleselector.cpp: (WebCore::convertToLength): Same. (WebCore::CSSStyleSelector::applyProperty): Same. (WebCore::CSSStyleSelector::mapBackgroundSize): Same. (WebCore::CSSStyleSelector::mapBackgroundXPosition): Same. (WebCore::CSSStyleSelector::mapBackgroundYPosition): Same.
  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Same.
  • ksvg2/css/SVGCSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applySVGProperty): Same.
  • ksvg2/misc/KCanvasRenderingStyle.cpp: (WebCore::KSVGPainterFactory::cssPrimitiveToLength): Same.
1:05 PM Changeset in webkit [14106] by ap
  • 11 edits in trunk

Reviewed by hyatt.

WebCore:

LayoutTests:

  • fast/css/acid2.html: Updated to the current version of the test, which no longer includes SGML comment parsing.
  • fast/css/acid2-pixel.html: Ditto.
  • http/tests/misc/acid2-pixel.html: Ditto.
  • http/tests/misc/acid2.html: Ditto.
  • fast/parser/comments-expected.checksum: The results of this test now match WinIE.
  • fast/parser/comments-expected.png:
  • fast/parser/comments-expected.txt:
  • fast/parser/comments.html:
12:51 PM Changeset in webkit [14105] by eseidel
  • 12 edits in trunk/WebKit

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

Reviewed by darin.

Misc. style cleanup.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8643

  • Misc/WebIconDatabase.m: (-[NSMutableDictionary iconForURL:withSize:cache:]): (-[NSMutableDictionary iconURLForURL:]): (-[NSMutableDictionary retainIconForURL:]): (-[NSMutableDictionary releaseIconForURL:]): (-[WebIconDatabase _setIcon:forIconURL:]): (-[WebIconDatabase _iconsForIconURLString:]): (-[WebIconDatabase _forgetIconForIconURLString:]): (-[WebIconDatabase _releaseIconForIconURLString:]): (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
  • Plugins/WebBasePluginPackage.m: (+[WebBasePluginPackage pluginWithPath:]): (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): (-[WebBasePluginPackage initWithPath:]): (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): (-[WebBasePluginPackage pListForPath:createFile:]): (-[WebBasePluginPackage getPluginInfoFromPLists]): (-[WebBasePluginPackage load]): (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]): (-[WebBasePluginPackage isNativeLibraryData:]): (-[NSArray _web_lowercaseStrings]):
  • Plugins/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage openResourceFile]): (-[WebNetscapePluginPackage closeResourceFile:]): (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): (-[WebNetscapePluginPackage getPluginInfoFromResources]): (-[WebNetscapePluginPackage initWithPath:]): (-[WebNetscapePluginPackage executableType]): (-[WebNetscapePluginPackage unloadWithoutShutdown]): (-[WebNetscapePluginPackage load]): (-[WebNetscapePluginPackage unload]):
  • Plugins/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation redeliverStream]):
  • Plugins/WebPluginDatabase.m: (+[WebPluginDatabase installedPlugins]): (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): (-[WebPluginDatabase pluginForExtension:]): (pluginLocations): (-[WebPluginDatabase init]): (-[WebPluginDatabase refresh]):
  • Plugins/npapi.m: (NPN_MemAlloc): (NPN_MemFree): (pluginViewForInstance):
  • WebCoreSupport/WebSubresourceLoader.m: (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): (-[WebSubresourceLoader willSendRequest:redirectResponse:]):
  • WebView/WebDataSource.m: (-[WebDataSource isLoading]):
  • WebView/WebFrame.m: (-[WebFrame _loadDataSource:withLoadType:formState:]): (-[WebFrame _subframeIsLoading]):
  • WebView/WebView.m: (-[WebView initWithFrame:]): (-[WebView initWithFrame:frameName:groupName:]):
11:56 AM Changeset in webkit [14104] by thatcher
  • 3 edits in branches/Safari-2-0-branch/WebCore

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

2006-01-24 Tim Omernick <timo@apple.com>

Reviewed by Dave Harrison.

<rdar://problem/4339024>
<http://bugzilla.opendarwin.org/show_bug.cgi?id=6785> "Fix for possible leak of applet, object, or embed
(and plugin view)"


  • khtml/html/html_objectimpl.cpp: (WebCore::HTMLAppletElementImpl::~HTMLAppletElementImpl): Assert that appletInstance has been deleted by detach(). (WebCore::HTMLAppletElementImpl::detach): Delete appletInstance, because it references the widget owned by the renderer we're about to destroy. It is assumed elsewhere (getRuntimeObject(), kjs_dom.cpp) that the instance is owned by the applet element. Therefore, it is required that the element destroy the instance in its tear-down phase. (WebCore::HTMLEmbedElementImpl::~HTMLEmbedElementImpl): Assert that embedInstance has been deleted by detach(). (WebCore::HTMLEmbedElementImpl::detach): Delete embedInstance, same reason. This is the one that fixes <rdar://problem/4339024>. (WebCore::HTMLObjectElementImpl::~HTMLObjectElementImpl): Assert that objectInstance has been deleted by detach(). (WebCore::HTMLObjectElementImpl::detach): Delete embedInstance, same reason.
  • khtml/html/html_objectimpl.h: Declared HTMLAppletElementImpl::detach() and HTMLEmbedElementImpl::detach().
11:24 AM Changeset in webkit [14103] by thatcher
  • 6 edits in branches/Safari-2-0-branch/WebCore

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

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

Reviewed by andersca.

Make WebCore accept any */*+xml type as XML.
http://bugzilla.opendarwin.org/show_bug.cgi?id=5998
<rdar://problem/4031511> XmlHttpRequest doesn't allow responses with Content-Type: application/soap+xml

Test: http/tests/xmlhttprequest/supported-xml-content-types.html

  • dom/DOMImplementation.cpp: (WebCore::DOMImplementation::isXMLMIMEType):
10:05 AM Changeset in webkit [14102] by darin
  • 34 edits
    2 moves in trunk/WebCore

Reviewed by Eric.

  • Changed GraphicsContext to use NSGraphicsContext as little as possible.
  • Removed the printing flag from GraphicsContext.
  • Changed GraphicsContext to assume the NSGraphicsContext is always flipped, and got rid of parameters to pass the flipped boolean around.
  • WebCore.vcproj/WebCore/WebCore.vcproj: Add GraphicsTypes.h/cpp and remove CompositeOperator.h/cpp.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::setDisplaysWithFocusAttributes):
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge drawRect:]):
  • html/CanvasPattern.cpp: (WebCore::patternCallback):
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createDrawingContext):
  • kcanvas/device/quartz/KRenderingDeviceQuartz.mm: (WebCore::KRenderingDeviceContextQuartz::createGraphicsContext):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::lockDrawingFocus): Update for changes to GraphicsContext constructor (no flipped or printing boolean).
  • html/CanvasRenderingContext2D.h: Added a Path to the context state. Changed the LineCap and LineJoin types to use the new ones in GraphicsTypes.h instead of defining types here in this class. Changed m_platformContextStrokeStyleIsPattern and m_platformContextFillStyleIsPattern to be named m_appliedStrokePattern and m_appliedFillPattern and moved them outside the APPLE ifdefs. Removed the platformContext() function. Moved applyStrokePattern and applyFillPattern out of the APPLE ifdef.
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::State::State): Moved the stroke pattern booleans out of Mac-specific ifdef. (WebCore::CanvasRenderingContext2D::save): Changed to use GraphicsContext instead of using CGContext directly. (WebCore::CanvasRenderingContext2D::restore): Ditto. (WebCore::CanvasRenderingContext2D::setStrokeStyle): Ditto. (WebCore::CanvasRenderingContext2D::setFillStyle): Ditto. (WebCore::CanvasRenderingContext2D::setLineWidth): Ditto. (WebCore::CanvasRenderingContext2D::lineCap): Ditto. (WebCore::CanvasRenderingContext2D::setLineCap): Ditto. (WebCore::CanvasRenderingContext2D::lineJoin): Ditto. (WebCore::CanvasRenderingContext2D::setLineJoin): Ditto. (WebCore::CanvasRenderingContext2D::setMiterLimit): Ditto. (WebCore::CanvasRenderingContext2D::shadowColor): Ditto. (WebCore::CanvasRenderingContext2D::setGlobalAlpha): Ditto. (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): Ditto. (WebCore::CanvasRenderingContext2D::scale): Update since platformContext() function no longer exists. (WebCore::CanvasRenderingContext2D::rotate): Ditto. (WebCore::CanvasRenderingContext2D::translate): Ditto. (WebCore::CanvasRenderingContext2D::beginPath): Changed to use GraphicsContext instead of using CGContext directly. (WebCore::CanvasRenderingContext2D::closePath): Ditto. (WebCore::CanvasRenderingContext2D::moveTo): Ditto. (WebCore::CanvasRenderingContext2D::lineTo): Ditto. (WebCore::CanvasRenderingContext2D::quadraticCurveTo): Ditto. (WebCore::CanvasRenderingContext2D::bezierCurveTo): Ditto. (WebCore::CanvasRenderingContext2D::arcTo): Ditto. (WebCore::CanvasRenderingContext2D::arc): Ditto. (WebCore::CanvasRenderingContext2D::rect): Ditto. (WebCore::CanvasRenderingContext2D::fill): Changed to use the current path from this class instead of relying on the CGContext's current path. (WebCore::CanvasRenderingContext2D::stroke): Ditto. (WebCore::CanvasRenderingContext2D::clip): Changed to use the current path and use the GraphicsContext instead of using CGContext directly. (WebCore::CanvasRenderingContext2D::clearRect): Changed to use GraphicsContext instead of using CGContext directly. (WebCore::CanvasRenderingContext2D::fillRect): Update since platformContext() function no longer exists. (WebCore::CanvasRenderingContext2D::strokeRect): Ditto. (WebCore::CanvasRenderingContext2D::setShadow): Ditto. (WebCore::CanvasRenderingContext2D::applyShadow): Ditto. (WebCore::CanvasRenderingContext2D::drawImage): Ditto. (WebCore::CanvasRenderingContext2D::drawImageFromRect): Ditto. (WebCore::CanvasRenderingContext2D::createPattern): Ditto. (WebCore::CanvasRenderingContext2D::applyStrokePattern): Made a tiny bit of this function cross-platform. The bulk is still Mac-specific. (WebCore::CanvasRenderingContext2D::applyFillPattern): Ditto.
  • html/CanvasStyle.h: Changed to use GraphicsContext instead of CGContext. Now the platform-specific stuff is in the implementation, not the header.
  • html/CanvasStyle.cpp: (WebCore::CanvasStyle::applyStrokeColor): Moved the ifdefs inside the function, getting us one step closer to platform independence. (WebCore::CanvasStyle::applyFillColor): Ditto.
  • html/html_imageimpl.cpp: (WebCore::HTMLAreaElement::getRect): Update for changes to the Path class. (WebCore::HTMLAreaElement::getRegion): Ditto.
  • page/Frame.cpp: (WebCore::Frame::paint): Change to check printing flag on the document, rather than on the GraphicsContext, since there is no printing flag for GraphicsContext any more. (WebCore::Frame::adjustPageHeight): Update for change to GraphicsContext constructor.
  • platform/GraphicsContext.h: Define a type called PlatformGraphicsContext so the platform-specific getter and constructor don't have to be ifdef'd. Added clearRect, strokeRect, setLineWidth, setLineCap, setLineJoin, setMiterLimit, setAlpha, setCompositeOperation, and clip functions. Removed the isForPrinting parameter from createGraphicsContextPrivate.
  • platform/GraphicsContext.cpp: (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): Removed isForPrinting. (WebCore::GraphicsContext::createGraphicsContextPrivate): Ditto.
  • platform/mac/GraphicsContextMac.mm: (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): Removed NSGraphicsContext. (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): Ditto. (WebCore::GraphicsContext::GraphicsContext): Removed constructor that takes an NSGraphicsContext. Removed the flipText and forPrinting parameters to the other constructor. (WebCore::GraphicsContext::savePlatformState): Removed NSGraphicsContext code. (WebCore::GraphicsContext::restorePlatformState): Ditto. (WebCore::GraphicsContext::drawRect): Updated assertion to more-precisely reflect the limitation of the current version of this function. (WebCore::GraphicsContext::setColorFromFillColor): Ditto. (WebCore::GraphicsContext::setColorFromPen): Ditto. (WebCore::GraphicsContext::drawLine): Updated assertion to more-precisely reflect the limitation of the current version of this function. (WebCore::setCompositeOperation): (WebCore::GraphicsContext::fillRect): Ditto. (WebCore::GraphicsContext::setLineWidth): Added. (WebCore::GraphicsContext::setMiterLimit): Added. (WebCore::GraphicsContext::setAlpha): Added. (WebCore::GraphicsContext::setCompositeOperation): Added. (WebCore::GraphicsContext::clearRect): Added. (WebCore::GraphicsContext::strokeRect): Added. (WebCore::GraphicsContext::setLineCap): Added. (WebCore::GraphicsContext::setLineJoin): Added. (WebCore::GraphicsContext::clip): Added.
  • platform/CompositeOperator.cpp: Removed.
  • platform/CompositeOperator.h: Removed.
  • platform/GraphicsTypes.cpp: Added. Includes CompositeOperator, LineCap, and LineJoin.
  • platform/GraphicsTypes.h: Added.
  • platform/Image.h: Changed include to GraphicsTypes.h from CompositeOperator.h.
  • platform/Path.h: Removed constructors that take a Rect and an array of points. Made the Path mutable. Changed the types for contains and boundingRect to be float-based instead of int-based. Changed translate to take a FloatSize instead of two integers. Added clear, moveTo, addLineTo, addQuadCurveTo, addBezierCurveTo, addArcTo, closeSubpath, addArc, addRect, addEllipse, and platformPath functions. Defined a PlatformPath type so we don't have to ifdef the header so much.
  • platform/cg/PathCG.cpp: (WebCore::Path::Path): Changed class to always have a mutable path. (WebCore::Path::operator=): Changed to make a mutable copy. (WebCore::Path::contains): Changed to take a FloatPoint instead of IntPoint. (WebCore::Path::translate): Changed to use a FloatSize instead of two ints. (WebCore::Path::boundingRect): Changed to return a FloatRect. (WebCore::Path::moveTo): Added. (WebCore::Path::addLineTo): Added. (WebCore::Path::addQuadCurveTo): Added. (WebCore::Path::addBezierCurveTo): Added. (WebCore::Path::addArcTo): Added. (WebCore::Path::closeSubpath): Added. (WebCore::Path::addArc): Added. (WebCore::Path::addRect): Added. (WebCore::Path::addEllipse): Added. (WebCore::Path::clear): Added.
  • platform/mac/ImageMac.mm: (WebCore::fillSolidColorInRect): Changed to take a GraphicsContext instead of a CGContext. (WebCore::Image::checkForSolidColor): Changed to use the new setCompositeOperation in GraphicsContex. (WebCore::Image::draw): Changed to use the new PDF image and fillSolidColorInRect function that take GraphicsContext instead of CGContext. (WebCore::Image::drawTiled): Ditto.
  • platform/mac/PDFDocumentImage.h: Made most functions private. Changed to use GraphicsContext and FloatRect instead of CGContext and NSRect. Also removed the unused alpha and flipped booleans.
  • platform/mac/PDFDocumentImage.mm: (WebCore::PDFDocumentImage::bounds): Update for change in types. (WebCore::PDFDocumentImage::adjustCTM): Ditto. (WebCore::PDFDocumentImage::setCurrentPage): Ditto. (WebCore::PDFDocumentImage::draw): Ditto.
  • platform/win/TemporaryLinkStubs.cpp: Added lots of new stubs.
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): Changed to get printing boolean from document instead graphics context.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintChildren): Ditto. (WebCore::RenderBlock::paintObject): Ditto.
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines): Ditto.
  • rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::paint): Ditto.
  • rendering/RenderImage.cpp: (WebCore::RenderImage::paint): Ditto.
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintButton): Ditto.
  • rendering/render_list.cpp: (WebCore::RenderListMarker::paint): Ditto.
  • rendering/render_replaced.cpp: (WebCore::RenderWidget::paint): Ditto.
9:02 AM Changeset in webkit [14101] by ap
  • 9 edits
    4 adds in trunk

2006-04-28 Mitz Pettel <opendarwin.org@mitzpettel.com>

Reviewed by hyatt, landed by ap.

WebCore:

Test: fast/repaint/table-extra-bottom-grow.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::overflowRect): Changed to not add the top/left overflow twice and allow the normal overflow height to overlap with the bottom extra height.
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::layout): Removed the code that resets the extra heights.
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): If the top extra height changed or the bottom extra height increased, just repaint the entire cell.

LayoutTests:

  • fast/repaint/table-extra-bottom-grow-expected.checksum: Added.
  • fast/repaint/table-extra-bottom-grow-expected.png: Added.
  • fast/repaint/table-extra-bottom-grow-expected.txt: Added.
  • fast/repaint/table-extra-bottom-grow.html: Added.
  • fast/repaint/table-cell-moved-expected.checksum: Removed excessive painting.
  • fast/repaint/table-cell-moved-expected.png: Ditto.
  • fast/repaint/bugzilla-6278-expected.checksum: Ditto.
  • fast/repaint/bugzilla-6278-expected.png: Ditto.
8:37 AM Changeset in webkit [14100] by ap
  • 2 edits in trunk/WebKitTools

Reviewed by Darin.

  • DumpRenderTree/DumpRenderTree.m: (main): Call [[NSURLCache sharedURLCache] removeAllCachedResponses].
5:49 AM Changeset in webkit [14099] by eseidel
  • 2 edits in trunk/WebKitSite

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

Reviewed by andersca.

  • projects/svg/status.xml: Update to reflect current status.
5:30 AM Changeset in webkit [14098] by eseidel
  • 3 edits in trunk/WebKitTools

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

Reviewed by andersca.

  • Scripts/do-webcore-rename: rename KCanvasContainer too
  • Scripts/run-webkit-tests: output total time
4:50 AM Changeset in webkit [14097] by eseidel
  • 16 edits in trunk/WebCore

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

Reviewed by andersca.

Remove KCanvasContainerQuartz, pushing all logic into KCanvasContainer.

  • kcanvas/KCanvasContainer.cpp: (WebCore::KCanvasContainer::canHaveChildren): (WebCore::KCanvasContainer::requiresLayer): (WebCore::KCanvasContainer::lineHeight): (WebCore::KCanvasContainer::baselinePosition): (WebCore::KCanvasContainer::calcMinMaxWidth): (WebCore::KCanvasContainer::layout): (WebCore::KCanvasContainer::paint): (WebCore::KCanvasContainer::setViewport): (WebCore::KCanvasContainer::viewport): (WebCore::KCanvasContainer::setViewBox): (WebCore::KCanvasContainer::viewBox): (WebCore::KCanvasContainer::setAlign): (WebCore::KCanvasContainer::align): (WebCore::KCanvasContainer::viewportTransform): (WebCore::KCanvasContainer::getAbsoluteRepaintRect): (WebCore::KCanvasContainer::absoluteTransform): (WebCore::KCanvasContainer::getAspectRatio):
  • kcanvas/KCanvasContainer.h: (WebCore::KCanvasContainer::renderName):
  • kcanvas/device/KRenderingDevice.h:
  • kcanvas/device/quartz/KCanvasResourcesQuartz.h:
  • kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
  • kcanvas/device/quartz/KRenderingDeviceQuartz.h:
  • kcanvas/device/quartz/KRenderingDeviceQuartz.mm: (WebCore::KRenderingDeviceQuartz::createPaintServer):
  • ksvg2/svg/SVGAElement.cpp: (WebCore::SVGAElement::createRenderer):
  • ksvg2/svg/SVGGElement.cpp: (SVGGElement::createRenderer):
  • ksvg2/svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createRenderer):
  • ksvg2/svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createRenderer):
  • ksvg2/svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createRenderer):
  • ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createRenderer):
  • ksvg2/svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createRenderer):
  • ksvg2/svg/SVGUseElement.cpp: (SVGUseElement::createRenderer):
3:57 AM Changeset in webkit [14096] by eseidel
  • 5 edits
    3 adds in trunk

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

Reviewed by andersca.

Make WebCore accept any */*+xml type as XML.
http://bugzilla.opendarwin.org/show_bug.cgi?id=5998
<rdar://problem/4031511> XmlHttpRequest doesn't allow responses with Content-Type: application/soap+xml

Test: http/tests/xmlhttprequest/supported-xml-content-types.html

  • dom/DOMImplementation.cpp: (WebCore::DOMImplementation::isXMLMIMEType):
Note: See TracTimeline for information about the timeline view.