Timeline



Dec 23, 2008:

11:46 PM Changeset in webkit [39465] by ap@webkit.org
  • 17 edits
    2 adds in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22980
WebCore uses more thread specific keys than it really needs

Consolidated ThreadSpecific data into a single ThreadGlobalData structure.

10:27 PM Google Summer of Code 2008 edited by ddkilzer@apple.com
(diff)
10:12 PM Changeset in webkit [39464] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Build fix.

  • WebCore.xcodeproj/project.pbxproj: CSSPropertyNames.h is a generated file so it needs to be explicitly copied

into the PrivateHeaders directory, rather than relying on the automatic copying of headers which runs before the
derived sources are generated.

9:23 PM Changeset in webkit [39463] by Simon Fraser
  • 5 edits
    4 adds in trunk

2008-12-23 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

https://bugs.webkit.org/show_bug.cgi?id=22941

If the document element has opacity, we need to erase the view background to
white before painting.

Test: fast/backgrounds/opacity-on-document-element.html

  • rendering/RenderView.cpp: (WebCore::rendererObscuresBackground):
9:19 PM Changeset in webkit [39462] by Simon Fraser
  • 17 edits in trunk

2008-12-23 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

https://bugs.webkit.org/show_bug.cgi?id=21910

Fix SVGImage painting by ensuring that the SVGImage resizes its FrameView correctly.
Otherwise the FrameView is left at 0x0, and nothing paints.

  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::draw):
8:39 PM Changeset in webkit [39461] by mrowe@apple.com
  • 16 edits
    1 copy in tags/Safari-6528.8/WebKit

Merge r39455.

8:39 PM Changeset in webkit [39460] by mrowe@apple.com
  • 1 edit in tags/Safari-6528.8/JavaScriptCore/Configurations/JavaScriptCore.xcconfig

Disable our custom OTHER_CFLAGS until the build issues are resolved.

8:39 PM Changeset in webkit [39459] by mrowe@apple.com
  • 2 edits in tags/Safari-6528.8/WebKit/mac

Merge r39452.

7:51 PM Changeset in webkit [39458] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

7:28 PM Changeset in webkit [39457] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.8

New tag.

1:42 PM Changeset in webkit [39456] by Darin Adler
  • 52 edits in trunk/WebCore

2008-12-23 Darin Adler <Darin Adler>

Reviewed by John Sullivan.

  • improve robustness of undo/redo in HTML editing to fix the following bugs <https://bugs.webkit.org/show_bug.cgi?id=19703> Crash in WebCore::InsertNodeBeforeCommand::doUnapply() <rdar://problem/4059423> DOM operations performed on editable HTML can cause a crash later during Undo

Major categories of improvements:

1) Added null checks.
2) Eliminated type casts without corresponding type checks.
3) Avoided possible infinite loops by building up lists of nodes to operate on

before starting to make DOM changes.

4) Use more RefPtr.

No test at this time, but test cases should follow in separate patches.

  • WebCore.xcodeproj/project.pbxproj: Set the role of CSSPropertyNames.h to Private so it can be used in other Private headers, specifically editing ones.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::locateCousinList): Adopt parentElement. (WebCore::CSSStyleSelector::locateSharedStyle): Ditto. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
  • dom/Element.cpp: (WebCore::Element::cloneElement): Added.
  • dom/Element.h: Added cloneElement and an implementation of parentElement.
  • dom/Node.h: Moved parentElement from here to Element.h and changed its implementation so it will return 0 when the parent is not an element (document, document fragment, etc.).
  • editing/AppendNodeCommand.cpp: (WebCore::AppendNodeCommand::AppendNodeCommand): Made parent be an Element. Moved assertions from doApply in here. (WebCore::AppendNodeCommand::doApply): Simplified to just a single unchecked appendChild call. (WebCore::AppendNodeCommand::doUnapply): Simplified to just a single remove call.
  • editing/AppendNodeCommand.h: Updated.
  • editing/ApplyStyleCommand.cpp: (WebCore::createStyleSpanElement): Eliminate casting by creating an element in a more direct way with new instead of createElementNS. (WebCore::ApplyStyleCommand::ApplyStyleCommand): Use PassRefPtr. (WebCore::ApplyStyleCommand::removeCSSStyle): Use CSSPropertyID. (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Use cloneElement.
  • editing/ApplyStyleCommand.h:
  • editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): Use Element* and cloneElement.
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::applyStyledElement): Use PassRefPtr and unsigned. (WebCore::CompositeEditCommand::removeStyledElement): Ditto. (WebCore::CompositeEditCommand::insertNodeBefore): Ditto. (WebCore::CompositeEditCommand::insertNodeAfter): Ditto. (WebCore::CompositeEditCommand::insertNodeAt): Ditto. (WebCore::CompositeEditCommand::appendNode): Ditto. (WebCore::CompositeEditCommand::removeChildrenInRange): Ditto. Also use a vector to make the list of children in case removing them has side effects. (WebCore::CompositeEditCommand::removeNode): Ditto. (WebCore::CompositeEditCommand::removeNodePreservingChildren): Ditto. (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Ditto. (WebCore::CompositeEditCommand::splitTextNode): Ditto. (WebCore::CompositeEditCommand::splitElement): Ditto. (WebCore::CompositeEditCommand::mergeIdenticalElements): Ditto. (WebCore::CompositeEditCommand::wrapContentsInDummySpan): Ditto. (WebCore::CompositeEditCommand::splitTextNodeContainingElement): Ditto. (WebCore::CompositeEditCommand::joinTextNodes): Ditto. (WebCore::CompositeEditCommand::inputText): Ditto. (WebCore::CompositeEditCommand::insertTextIntoNode): Ditto. (WebCore::CompositeEditCommand::deleteTextFromNode): Ditto. (WebCore::CompositeEditCommand::replaceTextInNode): Ditto. (WebCore::CompositeEditCommand::insertNodeAtTabSpanPosition): Ditto. (WebCore::CompositeEditCommand::removeCSSProperty): Ditto. (WebCore::CompositeEditCommand::removeNodeAttribute): Ditto. Implement by calling setNodeAttribute instead of with its own SimpleEditCommand. (WebCore::CompositeEditCommand::setNodeAttribute): Ditto. (WebCore::CompositeEditCommand::deleteInsignificantText): Ditto. (WebCore::CompositeEditCommand::appendBlockPlaceholder): Ditto. (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded): Ditto. (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Ditto. Don't bother using an undoable operation to put the break element into the paragraph element because there's no need to split them and redo this when doing undo/redo. (WebCore::CompositeEditCommand::moveParagraphs): Ditto. (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
  • editing/CompositeEditCommand.h: Ditto.
  • editing/DeleteFromTextNodeCommand.cpp: (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): Use unsigned. (WebCore::DeleteFromTextNodeCommand::doApply): Eliminated inappropriate assertions. (WebCore::DeleteFromTextNodeCommand::doUnapply): Ditto.
  • editing/DeleteFromTextNodeCommand.h:
  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::removeNode): Use PassRefPtr. (WebCore::DeleteSelectionCommand::deleteTextFromNode): Ditto.
  • editing/DeleteSelectionCommand.h:
  • editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::FormatBlockCommand): Use AtomicString. (WebCore::FormatBlockCommand::doApply): Use Element.
  • editing/FormatBlockCommand.h:
  • editing/IndentOutdentCommand.cpp: (WebCore::createIndentBlockquoteElement): Use new to create the element instead of calling a function so we have a more specific type. (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): Use RefPtr and Element. (WebCore::IndentOutdentCommand::indentRegion): Ditto. (WebCore::IndentOutdentCommand::outdentParagraph): Ditto.
  • editing/IndentOutdentCommand.h:
  • editing/InsertIntoTextNodeCommand.cpp: (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Use unsigned. Added an assertion. (WebCore::InsertIntoTextNodeCommand::doApply): Eliminated inappropriate assertions. (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
  • editing/InsertIntoTextNodeCommand.h:
  • editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::insertNodeAfterPosition): Use Element. (WebCore::InsertLineBreakCommand::insertNodeBeforePosition): Ditto.
  • editing/InsertListCommand.cpp: (WebCore::InsertListCommand::doApply): Use Element.
  • editing/InsertNodeBeforeCommand.cpp: (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): Moved assertions here from doApply. (WebCore::InsertNodeBeforeCommand::doApply): Eliminated inappropriate assertions. Added a null check. (WebCore::InsertNodeBeforeCommand::doUnapply): Simplified to just a single remove call.
  • editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): Use Element and cloneElement.
  • editing/JoinTextNodesCommand.cpp: (WebCore::JoinTextNodesCommand::doApply): Eliminated inappropriate assertions. Added some runtime checks. Don't store anything in m_offset. (WebCore::JoinTextNodesCommand::doUnapply): Ditto.
  • editing/JoinTextNodesCommand.h:
  • editing/MergeIdenticalElementsCommand.cpp: (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): Moved an assertion here from doApply. (WebCore::MergeIdenticalElementsCommand::doApply): Eliminated inappropriate assertions. Added a null check. Changed implementation to use remove to avoid null parent issue. Use a vector of nodes to avoid possible infinite loop if mutation happens while iterating. (WebCore::MergeIdenticalElementsCommand::doUnapply): Ditto.
  • editing/ModifySelectionListLevel.cpp: (WebCore::ModifySelectionListLevelCommand::appendSiblingNodeRange): Use Element*. (WebCore::IncreaseSelectionListLevelCommand::doApply): Ditto.
  • editing/ModifySelectionListLevel.h:
  • editing/RemoveCSSPropertyCommand.cpp: (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand): Use PassRefPtr and CSSPropertyID. Also renamed m_decl to m_style. (WebCore::RemoveCSSPropertyCommand::doApply): Eliminated inappropriate assertions. (WebCore::RemoveCSSPropertyCommand::doUnapply): Ditto.
  • editing/RemoveNodeAttributeCommand.cpp: Removed contents of this file. To be deleted. Use SetNodeAttributeCommand instead.
  • editing/RemoveNodeAttributeCommand.h: Ditto.
  • editing/RemoveNodeCommand.cpp: (WebCore::RemoveNodeCommand::RemoveNodeCommand): Moved assertions here from doApply. Don't initialize m_refChild here; rather do it in doApply. (WebCore::RemoveNodeCommand::doApply): Eliminated inappropriate assertions. Added checks and streamlined implementation. (WebCore::RemoveNodeCommand::doUnapply): Ditto.
  • editing/RemoveNodeCommand.h:
  • editing/RemoveNodePreservingChildrenCommand.cpp: (WebCore::RemoveNodePreservingChildrenCommand::doApply): Use a vector.
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::insertFragmentForTestRendering): Removed now-unneeded cast.
  • editing/SetNodeAttributeCommand.cpp: (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): Use AtomicString. Removed assertion that prevents us from using this to remove an attribute. (WebCore::SetNodeAttributeCommand::doApply): Eliminated inappropriate assertions. (WebCore::SetNodeAttributeCommand::doUnapply): Ditto.
  • editing/SetNodeAttributeCommand.h:
  • editing/SplitElementCommand.cpp: (WebCore::SplitElementCommand::SplitElementCommand): Moved assertion here from doApply. (WebCore::SplitElementCommand::doApply): Check some more invariants and use a vector to avoid possible infinite loops. (WebCore::SplitElementCommand::doUnapply): Ditto.
  • editing/SplitTextNodeCommand.cpp: (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): Moved assertions and comment here from doApply. (WebCore::SplitTextNodeCommand::doApply): Check for null and failures when applying. (WebCore::SplitTextNodeCommand::doUnapply): Ditto.
  • editing/SplitTextNodeContainingElementCommand.cpp: (WebCore::SplitTextNodeContainingElementCommand::doApply): Use Element.
  • editing/WrapContentsInDummySpanCommand.cpp: (WebCore::WrapContentsInDummySpanCommand::doApply): Check for null and ignore failures. Don't reuse the dummy span. Simplified logic. (WebCore::WrapContentsInDummySpanCommand::doUnapply): Ditto.
  • editing/htmlediting.cpp: (WebCore::isBlock): Make sure this returns true only for elements. (WebCore::enclosingBlock): Return an Element*. (WebCore::enclosingTableCell): Ditto. (WebCore::enclosingList): Return an HTMLElement*. (WebCore::outermostEnclosingList): Return an HTMLElement*. (WebCore::createDefaultParagraphElement): Return an HTMLElement*. (WebCore::createBreakElement): Return an HTMLElement*. (WebCore::createOrderedListElement): Return an HTMLElement*. (WebCore::createUnorderedListElement): Return an HTMLElement*. (WebCore::createListItemElement): Return an HTMLElement*. (WebCore::createHTMLElement): Return an HTMLElement*.
  • editing/htmlediting.h:
  • editing/markup.cpp: (WebCore::createFragmentFromText): Use createBreakElement and use Element*.
  • page/MouseEventWithHitTestResults.cpp: (WebCore::MouseEventWithHitTestResults::targetNode): Use parentElement.
1:40 PM Changeset in webkit [39455] by Darin Adler
  • 16 edits
    1 add in trunk/WebKit

WebKit:

2008-12-23 Darin Adler <Darin Adler>

Reviewed by Alexey Proskuryakov.

  • StringsNotToBeLocalized.txt: Updated.
  • WebKit.xcodeproj/project.pbxproj: Added new file WebNSObjectExtras.mm and existing file WebResourceInternal.h.

WebKit/mac:

2008-12-23 Darin Adler <Darin Adler>

Reviewed by Alexey Proskuryakov (a slightly earlier version).

  • Misc/WebKitLogging.h: Improved comments for ASSERT_MAIN_THREAD. Got rid of WebKitRunningOnMainThread function, which was just a cover for pthread_main_np.
  • Misc/WebKitLogging.m: Ditto.
  • Misc/WebKitVersionChecks.h: Added a version after which we won't do the main thread workaround.
  • Misc/WebNSObjectExtras.h: Added a new method, _webkit_getPropertyOnMainThread:, which performs a selector on the main thread, waits for it to complete, and then returns the value on the caller thread.
  • Misc/WebNSObjectExtras.mm: Added.
  • WebView/WebArchive.mm: (-[WebArchive init]): Added WebCoreThreadViolationCheck. (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Perform initialization on main thread if needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck. (-[WebArchive initWithData:]): Added WebCoreThreadViolationCheck. (-[WebArchive mainResource]): Get property on main thread if needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck. (-[WebArchive subresources]): Ditto. (-[WebArchive subframeArchives]): Ditto. (-[WebArchive data]): Ditto. (-[WebArchive _initWithCoreLegacyWebArchive:]): Added WebCoreThreadViolationCheck. (-[WebArchive _coreLegacyWebArchive]): Ditto. (-[WebArchive _initWithArguments:]): Added. Used to implement the cross-thread version of initWithMainResource above.
  • WebView/WebResource.mm: (-[WebResource initWithCoder:]): Added WebCoreThreadViolationCheck. (-[WebResource data]): Get property on main thread if needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck. (-[WebResource URL]): Ditto. (-[WebResource MIMEType]): Ditto. (-[WebResource textEncodingName]): Ditto. (-[WebResource frameName]): Ditto. (-[WebResource _ignoreWhenUnarchiving]): Ditto. (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): Perform initialization on main thread if needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck. (-[WebResource _suggestedFilename]): Added. Helper for _fileWrapperRepresentation. (-[WebResource _fileWrapperRepresentation]): Rewrote to use methods instead of getting at coreResource directly. (-[WebResource _response]): Get property on main thread if needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck. (-[WebResource _stringValue]): Ditto. (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Added. (-[WebResource _initWithArguments:]): Added. Used to implement the cross-thread version of _initWithData above.
  • WebView/WebResourceInternal.h: Changed to include WebResourcePrivate.h since internal clients have access to the SPI as well as the API. Added definition of MAIL_THREAD_WORKAROUND and the needMainThreadWorkaround helper function.
  • Misc/WebIconDatabase.mm: Removed include of now-defunct FoundationExtras.h file. This probably fixes clean builds.
  • WebCoreSupport/WebIconDatabaseClient.mm: Ditto.
  • WebCoreSupport/WebFrameLoaderClient.mm: Removed include of WebResourcePrivate.h, since it's not actually used.
  • WebView/WebDataSource.mm: Ditto.
  • WebView/WebHTMLRepresentation.mm: Ditto.
12:28 PM Changeset in webkit [39454] by Darin Adler
  • 3 edits in trunk/WebCore

2008-12-23 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • dom/Node.h: Tweak comments and order of bits that Sam moved here last night.
  • dom/Node.cpp: Ditto.
11:01 AM Changeset in webkit [39453] by jchaffraix@webkit.org
  • 8 edits
    23 adds in trunk

WebCore:

2008-12-22 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 11106: Some XMLHttpRequest URI resolving tests fail
https://bugs.webkit.org/show_bug.cgi?id=11106

Use the ScriptExecutionContext to resolve the URI when calling open in JavaScript.
The previous code was using the containing DOMWindow to do so which would fail for
XMLHttpRequest object being passed between iframe.

Tests: http/tests/xmlhttprequest/uri-resolution-opera-open-004.html

http/tests/xmlhttprequest/uri-resolution-opera-open-005.html
http/tests/xmlhttprequest/uri-resolution-opera-open-006.html
http/tests/xmlhttprequest/uri-resolution-opera-open-007.html
http/tests/xmlhttprequest/uri-resolution-opera-open-008.html
http/tests/xmlhttprequest/uri-resolution-opera-open-009.html
http/tests/xmlhttprequest/uri-resolution-opera-open-010.html

  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::open): Use the ScriptExecutionContext to resolve the URL.
  • dom/Document.cpp: (WebCore::Document::virtualCompleteURL): Virtual method added to avoid performance hit on completeURL call.
  • dom/Document.h:
  • dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::completeURL): Non-virtual method that wrap the call to the virtual call.
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::virtualCompleteURL): Pure virtual method.
  • dom/WorkerContext.h:

LayoutTests:

2008-12-22 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Test case for bug 11106: Some XMLHttpRequest URI resolving tests fail
https://bugs.webkit.org/show_bug.cgi?id=11106

These tests are borrowed from Opera's test case suite (http://tc.labs.opera.com/apis/XMLHttpRequest).
They correspond to open/004.html - open/010.html which were previously failing.

  • http/tests/xmlhttprequest/resources/test-uri-resolution.txt: Added.
  • http/tests/xmlhttprequest/resources/uri-resolution-opera-open-004-iframe.html: Added.
  • http/tests/xmlhttprequest/resources/uri-resolution-opera-open-005-iframe.html: Added.
  • http/tests/xmlhttprequest/resources/uri-resolution-opera-open-006-iframe.html: Added.
  • http/tests/xmlhttprequest/resources/uri-resolution-opera-open-007-iframe.html: Added.
  • http/tests/xmlhttprequest/resources/uri-resolution-opera-open-008-iframe.html: Added.
  • http/tests/xmlhttprequest/resources/uri-resolution-opera-open-009-iframe.html: Added.
  • http/tests/xmlhttprequest/resources/uri-resolution-opera-open-010-iframe.html: Added.
  • http/tests/xmlhttprequest/test-uri-resolution.txt: Added.
  • http/tests/xmlhttprequest/uri-resolution-opera-open-004-expected.txt: Added.
  • http/tests/xmlhttprequest/uri-resolution-opera-open-004.html: Added.
  • http/tests/xmlhttprequest/uri-resolution-opera-open-005-expected.txt: Added.
  • http/tests/xmlhttprequest/uri-resolution-opera-open-005.html: Added.
  • http/tests/xmlhttprequest/uri-resolution-opera-open-006-expected.txt: Added.
  • http/tests/xmlhttprequest/uri-resolution-opera-open-006.html: Added.
  • http/tests/xmlhttprequest/uri-resolution-opera-open-007-expected.txt: Added.
  • http/tests/xmlhttprequest/uri-resolution-opera-open-007.html: Added.
  • http/tests/xmlhttprequest/uri-resolution-opera-open-008-expected.txt: Added.
  • http/tests/xmlhttprequest/uri-resolution-opera-open-008.html: Added.
  • http/tests/xmlhttprequest/uri-resolution-opera-open-009-expected.txt: Added.
  • http/tests/xmlhttprequest/uri-resolution-opera-open-009.html: Added.
  • http/tests/xmlhttprequest/uri-resolution-opera-open-010-expected.txt: Added.
  • http/tests/xmlhttprequest/uri-resolution-opera-open-010.html: Added.
9:25 AM Changeset in webkit [39452] by Darin Adler
  • 2 edits in trunk/WebKit/mac

2008-12-23 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • WebView/WebView.mm: (-[WebView drawsBackground]): Added comment and a null check for _private.
9:22 AM Changeset in webkit [39451] by Darin Adler
  • 3 edits in trunk/WebCore

2008-12-23 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • platform/graphics/cairo/PathCairo.cpp: (WebCore::Path::strokeBoundingRect): Only create a GraphicsContext if the applier is non-null.
  • platform/graphics/cg/PathCG.cpp: (WebCore::putBytesNowhere): Added. (WebCore::createScratchContext): Changed to use a "/dev/null" type function to discard bytes rather than using a data object. This eliminates the possibility that memory will be used if someone draws into the scratch context by accident. Also moved to the top of the file; it was in a slightly strange place before. (WebCore::Path::strokeBoundingRect): Only create a GraphicsContext if the applier is non-null. Simplify the empty path special case.

Dec 22, 2008:

11:08 PM Changeset in webkit [39450] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-22 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Fix rounding / bounds / signed comparison bug in ExecutableAllocator.

ExecutableAllocator::alloc assumed that m_freePtr would be aligned. This was
not always true, since the first allocation from an additional pool would not
be rounded up. Subsequent allocations would be unaligned, and too much memory
could be erroneously allocated from the pool, when the size requested was
available, but the size rounded up to word granularity was not available in the
pool. This may result in the value of m_freePtr being greater than m_end.

Under these circumstances, the unsigned check for space will always pass,
resulting in pointers to memory outside of the arena being returned, and
ultimately segfaulty goodness when attempting to memcpy the hot freshly jitted
code from the AssemblerBuffer.

https://bugs.webkit.org/show_bug.cgi?id=22974
... and probably many, many more.

  • jit/ExecutableAllocator.h: (JSC::ExecutablePool::alloc): (JSC::ExecutablePool::roundUpAllocationSize): (JSC::ExecutablePool::ExecutablePool): (JSC::ExecutablePool::poolAllocate):
7:05 PM Changeset in webkit [39449] by weinig@apple.com
  • 5 edits in trunk/WebCore

2008-12-22 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Save a word in all Elements by moving the 5 loose bits to Node,
where we had 16 spare.

  • dom/Element.cpp: (WebCore::Element::Element):
  • dom/Element.h:
  • dom/Node.cpp: (WebCore::Node::Node):
  • dom/Node.h:
6:14 PM Changeset in webkit [39448] by Nikolas Zimmermann
  • 6 edits
    2 adds in trunk/WebCore

Reviewed by George Staikos.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22972

Add WML <meta> element support. All needed functionality is present
in Document::processHttpEquiv, already covered by tests.

5:55 PM Changeset in webkit [39447] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

Rubber-stamped by Darin Adler.

Don't reference specific layout tests in comments.

5:31 PM Changeset in webkit [39446] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

Reviewed by George Staikos.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22965

Add WML <head> element support. Doesn't require a WMLHeadElement.
No functional behaviour, as we already created a WMLElement for headTag, by default.
It's just cleaner to list <head> in WMLTagNames, forwarding to a WMLElement constructor.

5:29 PM Changeset in webkit [39445] by Nikolas Zimmermann
  • 3 edits
    3 adds in trunk

Reviewed by George Staikos.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22971

Fix regression caused by the HTMLFormElement refactorization.
File form elements without a name have to be included in multipart/form-data
submission. Cover this behaviour with a new test case.

5:06 PM Changeset in webkit [39444] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/6438298> Bump schema version for app cache

Reviewed by Alexey Proskuryakov.

  • loader/appcache/ApplicationCacheStorage.cpp: Increment SchemaVersion from 2 to 3.
4:49 PM Changeset in webkit [39443] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

Use Deque in CSSStyleSheet::addSubresourceStyleURLs()

Reviewed by Darin Adler.

  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Replaced use of ListHashSet with more efficient Deque.
4:25 PM Changeset in webkit [39442] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.

Fix obvious crash fix for WML enabled builds.

4:00 PM Changeset in webkit [39441] by ddkilzer@apple.com
  • 46 edits
    16 adds in trunk

Bug 11850: Webarchive fails to save images referenced in CSS

<https://bugs.webkit.org/show_bug.cgi?id=11850>

Reviewed by Darin Adler.

WebCore:

This entry contains two parts since the tests for adding a
completeURL() method to StyleSheet and CSSStyleSheet (part 1) depend
on Bug 11850 being fixed (part 2).

--

Tests: http/tests/webarchive/test-css-url-encoding-shift-jis.html

http/tests/webarchive/test-css-url-encoding-utf-8.html
http/tests/webarchive/test-css-url-encoding.html

Added completeURL() methods to StyleSheet and CSSStyleSheet that
match the behavior of Document::completeURL(). Most notably,
CSSStyleSheet::completeURL() uses the charset of the stylesheet
(if it exists) to construct URLs, just like Document::completeURL().

  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Use CSSStyleSheet::completeURL(). (WebCore::CSSParser::parseContent): Ditto. (WebCore::CSSParser::parseFillImage): Ditto. (WebCore::CSSParser::parseFontFaceSrc): Ditto. (WebCore::CSSParser::parseBorderImage): Ditto.
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::completeURL): Added.
  • css/CSSStyleSheet.h: (WebCore::CSSStyleSheet::completeURL): Added declaration.
  • css/StyleSheet.cpp: (WebCore::StyleSheet::completeURL): Added.
  • css/StyleSheet.h: (WebCore::StyleSheet::completeURL): Added declaration.
  • dom/Document.cpp: (WebCore::Document::completeURL): Added comment referring to the new completeURL() methods in StyleSheet and CSSStyleSheet.

--

Tests: webarchive/test-css-url-resources-in-stylesheets.html

webarchive/test-css-url-resources-inline-styles.html

Walk stylesheets and inline style attributes for url() references
when building a list of URLs to include in a webarchive. Note that
not all URLs found this way will be included in the webarchive if
they were not used (and thus not downloaded) when laying out the
page.

The key method for CSS stylesheets is
CSSStyleSheet::addSubresourceStyleURLs() which iterates over all
CSSStyleSheet objects recursively referenced from its own stylesheet
through @import rules. Starting with the CSSRule objects in each
sheet and continuing down through the CSSMutableStyleDeclaration and
CSSValue objects, addSubresourceStyleURLs() methods are called to
gather URLs.

For inline style attributes in HTML DOM elements,
StyledElement::addSubresourceAttributeURLs() calls
CSSMutableStyleDeclaration::addSubresourceStyleURLs() to gather URLs
from each element, hence the need to call
addSubresourceAttributeURLs() on superclasses when the method is
implemented on the element class itself.

  • css/CSSBorderImageValue.cpp: (WebCore::CSSBorderImageValue::addSubresourceStyleURLs): Added.
  • css/CSSBorderImageValue.h: (WebCore::CSSBorderImageValue::addSubresourceStyleURLs): Added declaration.
  • css/CSSFontFaceRule.cpp: (WebCore::CSSFontFaceRule::addSubresourceStyleURLs): Added.
  • css/CSSFontFaceRule.h: (WebCore::CSSFontFaceRule::addSubresourceStyleURLs): Added declaration.
  • css/CSSFontFaceSrcValue.cpp: (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs): Added.
  • css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs): Added declaration.
  • css/CSSImportRule.cpp: (WebCore::CSSImportRule::addSubresourceStyleURLs): Added.
  • css/CSSImportRule.h: (WebCore::CSSImportRule::addSubresourceStyleURLs): Added declaration.
  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::addSubresourceStyleURLs): Added. Iterates over m_properties vector of CSSProperty objects calling addSubresourceStyleURLs() on each property's CSSValue object.
  • css/CSSMutableStyleDeclaration.h: (WebCore::CSSMutableStyleDeclaration::addSubresourceStyleURLs): Added declaration.
  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs): Added.
  • css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs): Added declaration.
  • css/CSSReflectValue.cpp: (WebCore::CSSReflectValue::addSubresourceStyleURLs): Added.
  • css/CSSReflectValue.h: (WebCore::CSSReflectValue::addSubresourceStyleURLs): Added declaration.
  • css/CSSRule.h: (WebCore::CSSRule::addSubresourceStyleURLs): Added. Virtual method with empty implementation that's overridden by subclasses as needed.
  • css/CSSStyleRule.cpp: (WebCore::CSSStyleRule::addSubresourceStyleURLs): Added.
  • css/CSSStyleRule.h: (WebCore::CSSStyleRule::addSubresourceStyleURLs): Added declaration.
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Updated to call CSSRule::addSubresourceStyleURLs on each rule to extract URLs. Removed unneeded baseURL parameter now that the completeURL() method exists.
  • css/CSSStyleSheet.h: (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Updated declaration.
  • css/CSSValue.h: (WebCore::CSSValue::addSubresourceStyleURLs): Added. Virtual method with empty implementation that's overridden by subclasses as needed.
  • css/CSSValueList.cpp: (WebCore::CSSValueList::addSubresourceStyleURLs): Added. Iterates over m_values vector of CSSValue objects calling addSubresourceStyleURLs() on each.
  • css/CSSValueList.h: (WebCore::CSSValueList::addSubresourceStyleURLs): Added declaration.
  • css/StyleSheet.h: (WebCore::StyleSheet::addSubresourceStyleURLs): Updated declaration to remove unneeded baseURL parameter.
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::addSubresourceAttributeURLs): Fixed to use the StyleBase::baseURL() method to get the stylesheet's URL instead of calling Document::completeURL().
  • dom/StyledElement.cpp: (WebCore::StyledElement::addSubresourceAttributeURLs): Added method to extract URLs from inline style declarations.
  • dom/StyledElement.h: (WebCore::StyledElement::addSubresourceAttributeURLs): Added declaration.
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Call addSubresourceAttributeURLs() in superclass to extract URLs from inline style declarations.
  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLParamElement.cpp: (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLTableCellElement.cpp: (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
  • svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Ditto.
  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
  • svg/SVGImageElement.cpp: (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
  • svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.

LayoutTests:

The first set of files below tests that URLs are encoded properly
based on the charset of the stylesheet. Normally this behavior may
only be tested by looking at web server logs with manual tests, but
webarchives represent this information in such a way that they may
be tested by DumpRenderTree. Note that these tests depend on Bug
11850 being fixed, so it's not possible to separate them.

The second set of files below tests that all types of resources
referenced by url() in CSS stylesheets are now saved in webarchives.

  • http/tests/webarchive/resources/.htaccess: Added.
  • http/tests/webarchive/resources/apple.gif: Copied from LayoutTests/fast/canvas/resources/apple.gif.
  • http/tests/webarchive/resources/test-no-charset.css: Added.
  • http/tests/webarchive/resources/test-shift-jis.css: Added.
  • http/tests/webarchive/resources/test-utf-8.css: Added.
  • http/tests/webarchive/test-css-url-encoding-expected.webarchive: Added.
  • http/tests/webarchive/test-css-url-encoding-shift-jis-expected.webarchive: Added.
  • http/tests/webarchive/test-css-url-encoding-shift-jis.html: Added.
  • http/tests/webarchive/test-css-url-encoding-utf-8-expected.webarchive: Added.
  • http/tests/webarchive/test-css-url-encoding-utf-8.html: Added.
  • http/tests/webarchive/test-css-url-encoding.html: Added.
  • webarchive/resources/Ahem.ttf: Copied from LayoutTests/fast/css/resources/Ahem.ttf.
  • webarchive/test-css-url-resources-in-stylesheets-expected.webarchive: Added.
  • webarchive/test-css-url-resources-in-stylesheets.html: Added.
  • webarchive/test-css-url-resources-inline-styles-expected.webarchive: Added.
  • webarchive/test-css-url-resources-inline-styles.html: Added.
1:21 PM Changeset in webkit [39440] by weinig@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-12-22 Sam Weinig <sam@webkit.org>

Reviewed by Gavin Barraclough.

Rename all uses of the term "repatch" to "patch".

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::DataLabelPtr::patch): (JSC::MacroAssembler::DataLabel32::patch): (JSC::MacroAssembler::Jump::patch): (JSC::MacroAssembler::PatchBuffer::PatchBuffer): (JSC::MacroAssembler::PatchBuffer::setPtr): (JSC::MacroAssembler::loadPtrWithAddressOffsetPatch): (JSC::MacroAssembler::storePtrWithAddressOffsetPatch): (JSC::MacroAssembler::storePtrWithPatch): (JSC::MacroAssembler::jnePtrWithPatch):
  • assembler/X86Assembler.h: (JSC::X86Assembler::patchAddress): (JSC::X86Assembler::patchImmediate): (JSC::X86Assembler::patchPointer): (JSC::X86Assembler::patchBranchOffset):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::tryCTICachePutByID): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_put_by_id): (JSC::Interpreter::cti_op_get_by_id): (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::Interpreter::cti_op_get_by_id_proto_list): (JSC::Interpreter::cti_vm_dontLazyLinkCall):
  • jit/JIT.cpp: (JSC::ctiPatchCallByReturnAddress): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITCall.cpp: (JSC::JIT::unlinkCall): (JSC::JIT::linkCall): (JSC::JIT::compileOpCall):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdSlowCase): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace): (JSC::JIT::privateCompilePatchGetArrayLength): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdSelfList): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace):
1:20 PM Changeset in webkit [39439] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

2008-12-22 Dhananjoy Chutia <dhanrd@gmail.com>

Reviewed by David Kilzer.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22959
Memory leak fixes for WebKit+soup

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::finishedCallback):
11:19 AM Changeset in webkit [39438] by kdecker@apple.com
  • 2 edits in trunk/WebKit/mac

Reviewed by Anders Carlsson.

<rdar://problem/6449588> REGRESSION (r38279-r38280): Minimize them remaximize a window with a flash plugin, plugin doesn't resume at full speed


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): Deminiaturizing should restart timers, not stop timers.
10:16 AM Changeset in webkit [39437] by ap@webkit.org
  • 4 edits
    5 adds in trunk

Reviewed by Darin Adler.

<rdar://problem/6277060> ASSERTION FAILED: !m_cacheBeingUpdated if the manifest is not available

Tests: http/tests/appcache/404-manifest.html

http/tests/appcache/fail-on-update.html

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::stopLoading): Removed the incorrect assertion.
  • loader/appcache/ApplicationCacheGroup.h: Added an explanation of somewhat nonintuitive m_currentHandle handling.
8:00 AM Changeset in webkit [39436] by Nikolas Zimmermann
  • 13 edits
    8 adds in trunk

Reviewed by Alexey Proskuryakov & George Staikos.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22961

Add WML <fieldset> element support.
Unlike HTML's <fieldset> element, WML doesn't provide a <legend> child element
to describe the <fieldset>. WML instead offers a 'title' attribute on the <fieldset>
element. To integrate within the existing RenderFieldset code, we just create an
internal <insertedLegend> element as first child for a WML <fieldset> element, containing
the title attribute value.

6:28 AM Changeset in webkit [39435] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Build fix after r39428

  • jit/JITCall.cpp: (JSC::JIT::compileOpCallSlowCase): Added a missing MacroAssembler::

Dec 21, 2008:

11:31 PM Changeset in webkit [39434] by ap@webkit.org
  • 6 edits in trunk/LayoutTests

2008-12-21 David Levin <levin@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22950

Attempted fix for 4 failing XMLHttpReuqest tests on Tiger:

access-control-basic-allow-preflight-cache-invalidation-by-header.html
access-control-basic-allow-preflight-cache-invalidation-by-method.html
access-control-basic-allow-preflight-cache-timeout.html
access-control-basic-allow-preflight-cache.html

  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-invalidation.php:
  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-timeout.php:
  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache.php:
  • http/tests/xmlhttprequest/resources/portabilityLayer.php:
  • http/tests/xmlhttprequest/resources/reset-temp-file.php:
6:57 PM Changeset in webkit [39433] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

Not reviewed. Try to fix clean Mac builds, set role=private for FormDataBuilder.h

6:22 PM Changeset in webkit [39432] by Nikolas Zimmermann
  • 80 edits in trunk

Rubber-stamped by George Staikos.

Unify all TorchMobile copyright lines. Consolidate in a single line, as requested by Mark Rowe, some time ago.

6:04 PM Changeset in webkit [39431] by Nikolas Zimmermann
  • 16 edits
    17 adds in trunk

Reviewed by George Staikos.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22638

Add POST method support to WMLGoElement. GET & POST over HTTP
covered by a new set of WML HTTP layout tests.

Tests: http/tests/wml/go-task-get-method-accept-charset.html

http/tests/wml/go-task-get-method.html
http/tests/wml/go-task-post-method-accept-charset.html
http/tests/wml/go-task-post-method.html

5:45 PM Changeset in webkit [39430] by Nikolas Zimmermann
  • 9 edits
    2 adds in trunk/WebCore

Reviewed by Darin Adler and George Staikos.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22949

Refactor HTMLFormElement to share a maximum level of code between HTMLFormElement & WMLGoElement.
Create a new helper class 'FormDataBuilder', which is hold as member variable in those classes.
It encapsulates all functionality needed to generate a FormData object, usable for HTML/WML form
submission, including boundary string generation, multi-part form handling etc.

No functional changes, no test cases affected.
WMLGoElement will be converted in a follow-up patch.

5:42 PM Changeset in webkit [39429] by Nikolas Zimmermann
  • 4 edits in trunk/JavaScriptCore

Rubber-stamped by George Staikos.
Fix copyright of the new RandomNumber* files.

5:00 PM Changeset in webkit [39428] by barraclough@apple.com
  • 9 edits in trunk/JavaScriptCore

2008-12-21 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt & Cameron Zwarich.

Add support for call and property access repatching on x86-64.

No change in performance on current configurations (2x impovement on v8-tests with JIT enabled on x86-64).

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::DataLabelPtr::repatch): (JSC::MacroAssembler::DataLabelPtr::operator X86Assembler::JmpDst): (JSC::MacroAssembler::DataLabel32::repatch): (JSC::MacroAssembler::RepatchBuffer::addressOf): (JSC::MacroAssembler::add32): (JSC::MacroAssembler::sub32): (JSC::MacroAssembler::loadPtrWithAddressOffsetRepatch): (JSC::MacroAssembler::storePtrWithAddressOffsetRepatch): (JSC::MacroAssembler::jePtr): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jnePtrWithRepatch): (JSC::MacroAssembler::differenceBetween):
  • assembler/X86Assembler.h: (JSC::X86Assembler::addl_im): (JSC::X86Assembler::subl_im): (JSC::X86Assembler::cmpl_rm): (JSC::X86Assembler::movq_rm_disp32): (JSC::X86Assembler::movq_mr_disp32): (JSC::X86Assembler::repatchPointer): (JSC::X86Assembler::X86InstructionFormatter::oneByteOp64_disp32):
  • jit/JIT.cpp: (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITCall.cpp: (JSC::JIT::unlinkCall): (JSC::JIT::linkCall): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase):
  • jit/JITInlineMethods.h: (JSC::JIT::restoreArgumentReferenceForTrampoline):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compilePutByIdSlowCase): (JSC::resizePropertyStorage): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain):
  • wtf/Platform.h:
3:44 PM Changeset in webkit [39427] by krit@webkit.org
  • 14 edits
    1 add in trunk/WebCore

2008-12-21 Dirk Schulze <krit@webkit.org>

Reviewed by Darin Adler, Nikolas Zimmermann.

Move the the platform dependent strokeBBox functionality out of RenderPath
into Path with strokeBoundingRect.

RenderPath clean-up for strokeBoundingBox
https://bugs.webkit.org/show_bug.cgi?id=22902

  • GNUmakefile.am:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/Path.h:
  • platform/graphics/StrokeStyleApplier.h: Added. (WebCore::StrokeStyleApplier::~StrokeStyleApplier):
  • platform/graphics/cairo/PathCairo.cpp: (WebCore::Path::strokeBoundingRect):
  • platform/graphics/cg/PathCG.cpp: (WebCore::createScratchContext): (WebCore::scratchContext): (WebCore::Path::strokeBoundingRect):
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::pen):
  • platform/graphics/qt/PathQt.cpp: (WebCore::Path::strokeBoundingRect):
  • rendering/RenderPath.cpp: (WebCore::StrokeBoundingRectStyleApplier::StrokeBoundingRectStyleApplier): (WebCore::StrokeBoundingRectStyleApplier::strokeStyle): (WebCore::RenderPath::relativeBBox):
  • rendering/RenderPath.h:
  • svg/graphics/cairo/RenderPathCairo.cpp:
  • svg/graphics/cg/RenderPathCg.cpp:
  • svg/graphics/qt/RenderPathQt.cpp:
6:49 AM Changeset in webkit [39426] by christian@webkit.org
  • 4 edits in trunk/WebKit/gtk

2008-12-21 Xan Lopez <xan@gnome.org>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=16092
[GTK] Middle-mouse click should allow opening a URL in a new tab

Add mouse button and keyboard state modifiers info to navigation action.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
  • webkit/webkitwebnavigationaction.cpp: (_WebKitWebNavigationActionPrivate::): (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_get_property): (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_set_property): (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_class_init): (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_get_button): (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_get_modifier_state):
  • webkit/webkitwebnavigationaction.h:

Dec 20, 2008:

2:41 PM Changeset in webkit [39425] by mitz@apple.com
  • 4 edits
    1 add in trunk/WebKit/win

Reviewed by Ada Chan.

  • expose the new allItems() method via a new IWebHistoryPrivate interface
  • Interfaces/IWebHistoryPrivate.idl: Added.
  • Interfaces/WebKit.idl: Added IWebHistoryPrivate.idl.
  • WebHistory.cpp: (WebHistory::QueryInterface): Added IWebHistoryPrivate. (WebHistory::allItems):
  • WebHistory.h:
12:52 PM Changeset in webkit [39424] by ddkilzer@apple.com
  • 3 edits in trunk/WebCore

Fix typo "CSSAferRuleValue" to "CSSAfterRuleValue"

  • html/PreloadScanner.cpp: (WebCore::PreloadScanner::tokenizeCSS):
  • html/PreloadScanner.h: (WebCore::PreloadScanner::CSSState):
2:26 AM Changeset in webkit [39423] by ap@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Geoff Garen.

<rdar://problem/6454076> Random crashes on JS raytracer

No test, because the crash is not readily reproducible.

  • platform/text/StringImpl.cpp: (WebCore::StringImpl::empty):
  • platform/text/StringImpl.h: Made empty string per-thread.
2:11 AM Changeset in webkit [39422] by barraclough@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-12-20 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Port optimized property access generation to the MacroAssembler.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::AbsoluteAddress::AbsoluteAddress): (JSC::MacroAssembler::DataLabelPtr::repatch): (JSC::MacroAssembler::DataLabel32::DataLabel32): (JSC::MacroAssembler::DataLabel32::repatch): (JSC::MacroAssembler::Label::operator X86Assembler::JmpDst): (JSC::MacroAssembler::Jump::repatch): (JSC::MacroAssembler::JumpList::empty): (JSC::MacroAssembler::RepatchBuffer::link): (JSC::MacroAssembler::add32): (JSC::MacroAssembler::and32): (JSC::MacroAssembler::sub32): (JSC::MacroAssembler::loadPtrWithAddressRepatch): (JSC::MacroAssembler::storePtrWithAddressRepatch): (JSC::MacroAssembler::push): (JSC::MacroAssembler::ja32): (JSC::MacroAssembler::jePtr): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jnePtrWithRepatch): (JSC::MacroAssembler::align): (JSC::MacroAssembler::differenceBetween):
  • assembler/X86Assembler.h: (JSC::X86Assembler::movl_rm_disp32): (JSC::X86Assembler::movl_mr_disp32): (JSC::X86Assembler::X86InstructionFormatter::oneByteOp_disp32): (JSC::X86Assembler::X86InstructionFormatter::memoryModRM):
  • jit/JIT.cpp: (JSC::ctiRepatchCallByReturnAddress): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compilePutByIdSlowCase): (JSC::resizePropertyStorage): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace): (JSC::JIT::privateCompilePatchGetArrayLength): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdSelfList): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace):
  • wtf/RefCounted.h: (WTF::RefCountedBase::addressOfCount):

Dec 19, 2008:

7:18 PM Changeset in webkit [39421] by zecke@webkit.org
  • 11 edits
    4 adds in trunk

2008-12-19 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=16562
[gtk] Implement WebPolicyDelegate methods

Original work by Pierre-Luc Beaudoin. Final touches by Gustavo
Noronha.

This implements the delegates methods of WebPolicyDelegate.
Since Gtk+/C doesn't have delegate methods, they are replaced with
signals.

A new object WebKitWebPolicyDecision allows the browser to delay its
response in certain cases. WebKitWebNavigationAction contains the
information about what caused a navigation request.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::FrameLoaderClient): (WebKit::FrameLoaderClient::~FrameLoaderClient): (WebKit::FrameLoaderClient::dispatchDecidePolicyForMIMEType): (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction): (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction): (WebKit::FrameLoaderClient::cancelPolicyCheck): (WebKit::FrameLoaderClient::canShowMIMEType):
  • WebCoreSupport/FrameLoaderClientGtk.h:
  • webkit/webkit.h:
  • webkit/webkitdefines.h:
  • webkit/webkitprivate.cpp: (WebKit::kit): (WebKit::core):
  • webkit/webkitprivate.h:
  • webkit/webkitwebnavigationaction.cpp: Added. (_WebKitWebNavigationActionPrivate::): (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_get_property): (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_set_property): (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_init): (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_finalize): (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_class_init): (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_get_reason): (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_set_reason): (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_get_original_uri): (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_set_original_uri):
  • webkit/webkitwebnavigationaction.h: Added.
  • webkit/webkitwebpolicydecision.cpp: Added. (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_class_init): (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_init): (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_new): (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_use): (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_ignore): (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_download): (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_cancel):
  • webkit/webkitwebpolicydecision.h: Added.
6:35 PM Changeset in webkit [39420] by zecke@webkit.org
  • 2 edits in trunk/LayoutTests

2008-12-19 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=22039

Enable more tests for testing on Gtk+ port.

  • platform/gtk/Skipped:
6:04 PM Changeset in webkit [39419] by andersca@apple.com
  • 7 edits in trunk/WebCore

2008-12-19 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Replace some uses of HardRetain etc with RetainPtr.

  • platform/mac/DragImageMac.mm:
  • platform/mac/SharedBufferMac.mm: (WebCore::SharedBuffer::createCFData):
  • rendering/RenderThemeMac.mm:
  • svg/graphics/cg/SVGResourceFilterCg.mm: (WebCore::SVGResourceFilter::prepareFilter): (WebCore::SVGResourceFilter::applyFilter):
  • svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
  • svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm: (WebCore::SVGResourceFilterPlatformDataMac::SVGResourceFilterPlatformDataMac):
5:39 PM Changeset in webkit [39418] by ggaren@apple.com
  • 2 edits in trunk/WebKit/win

2008-12-19 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebHistory.cpp: (WebHistory::allItems):
4:31 PM Changeset in webkit [39417] by ggaren@apple.com
  • 6 edits in trunk/WebKit

WebKit/mac:

2008-12-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler, Adele Peterson, Brady Eidson.


Added SPI for getting an unsorted vector of all items in history.


  • History/WebHistory.h:
  • History/WebHistory.mm: (-[WebHistory allItems]):

WebKit/win:

2008-12-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler, Adele Peterson, Brady Eidson.


Added SPI for getting an unsorted vector of all items in history.


  • WebHistory.cpp: (WebHistory::orderedItemsLastVisitedOnDay): (WebHistory::allItems):
  • WebHistory.h:
4:28 PM Changeset in webkit [39416] by kevino@webkit.org
  • 10 edits
    2 adds in trunk

Reviewed by Kevin Ollivier.

Add Context Menu support to wx bindings.

https://bugs.webkit.org/show_bug.cgi?id=22675

4:03 PM Changeset in webkit [39415] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2008-12-19 David Levin <levin@chromium.org>

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=22930

Make the git diff command used for preparing the change log avoid using any external diff tools.

  • Scripts/prepare-ChangeLog:
2:54 PM Changeset in webkit [39414] by Beth Dakin
  • 2 edits in trunk/WebCore

2008-12-19 Beth Dakin <Beth Dakin>

Reviewed by Darin Adler.

Temporary band-aide fix for <rdar://problem/6372481> In Gmail, a
crash occurs at
AccessibilityTable::isTableExposableThroughAccessibility() when
attempting to create a link in a rich text message

We need to disable Accessibility Tables until we get this fixed for
real to prevent rampant crashing.

  • page/AccessibilityTable.cpp: (WebCore::AccessibilityTable::AccessibilityTable):
2:44 PM Changeset in webkit [39413] by Simon Fraser
  • 3 edits
    4 adds in trunk

2008-12-19 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

https://bugs.webkit.org/show_bug.cgi?id=22938

When the document element is transformed, we need to paint
the view background to avoid unpainted areas.

Test: fast/transforms/transformed-document-element.html

  • rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations):
1:37 PM Changeset in webkit [39412] by dino@apple.com
  • 2 edits in trunk/WebKitSite

2008-12-19 Dean Jackson <dino@apple.com>

Media queries that return <integer> but are really boolean
are restricted to 0 and 1. This is in line with other
media features.

  • specs/MediaQueriesExtensions.html:
1:19 PM Changeset in webkit [39411] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Fix build.

  • WebCore.vcproj/WebCore.vcproj:
11:10 AM Changeset in webkit [39410] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-19 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22612
Add test to verify type enforcement in DOM setters.
Resubmitting corrected copies; first submission had patching errors.

  • fast/dom/setter-type-enforcement-expected.txt: Added.
  • fast/dom/setter-type-enforcement.html: Added.
10:52 AM Changeset in webkit [39409] by kevino@webkit.org
  • 6 edits in trunk

wx build fixes after recent changes.

10:34 AM Changeset in webkit [39408] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[GTK] Fix make distcheck again

These files were moved to WebCore/platform/animation
and WebCore/platform/graphics/transforms.

8:54 AM Changeset in webkit [39407] by zecke@webkit.org
  • 2 edits in trunk

2008-12-19 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Holger Freyther.

Use ustar tar format for WebKit/GTK+'s make dist target, so that
storing files whose filenames are > 99 is possible.

  • configure.ac:
8:53 AM Changeset in webkit [39406] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-12-19 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=22900

Fix AtomicString usage, so that building works.

  • platform/network/soup/ResourceHandleSoup.cpp:
8:47 AM Changeset in webkit [39405] by zecke@webkit.org
  • 4 edits in trunk

JavaScriptCore:
2008-12-19 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=22686

Added file which was missing to the javascriptcore_sources
variable, so that it shows up in the tarball created by `make
dist'.

  • GNUmakefile.am:

WebKitTools
2008-12-19 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=22686

Added files which were missing from the TestNetscapePlugin
directory to the SOURCES variable, so that they will be
distributed in a make dist.

  • GNUMakefile.am:
8:35 AM Changeset in webkit [39404] by zecke@webkit.org
  • 2 edits in trunk

[GTK] Build fix by defining WTF_USE_JIT_STUB_ARGUMENT_VA_LIST

Fix the jit compilation on i*686 on Linux by using the va_list
to pass arguments to the CTI. This is done on the MAC as well
and sunspider and javascriptcore seem to work with that.

7:32 AM Changeset in webkit [39403] by Adam Roben
  • 2 edits in trunk/WebCore

Windows build fix on older versions of CFNetwork after r39393

  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::highestSupportedCFURLConnectionClientVersion): Changed preprocessor directives not to leave in unreachable code on old versions of CFNetwork.
4:45 AM Changeset in webkit [39402] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-12-19 Antti Koivisto <Antti Koivisto>

Comment fix.

  • platform/PurgeableBuffer.h:
3:27 AM Changeset in webkit [39401] by zecke@webkit.org
  • 2 edits in trunk/JavaScriptCore

Build fix when building JS API tests with a c89 c compiler

Do not use C++ style comments and convert them to C comments.

3:26 AM Changeset in webkit [39400] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[GTK] Build fix by adding the new files

2:41 AM Changeset in webkit [39399] by vestbo@webkit.org
  • 4 edits in trunk

2008-12-19 Jade Han <jade.han@nokia.com>

Reviewed by Tor Arne Vestbø.

[Qt] Allow conversion of JavaScript Number and Boolean types to Qt types

https://bugs.webkit.org/show_bug.cgi?id=22880

2:05 AM Changeset in webkit [39398] by vestbo@webkit.org
  • 4 edits in trunk/WebCore

2008-12-19 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Holger Freyther.

Implement ImageDecoder::filenameExtension() for Qt

1:14 AM Changeset in webkit [39397] by vestbo@webkit.org
  • 1 edit in trunk/WebCore/WebCore.pro

Fix the Qt build after r39378

1:03 AM Changeset in webkit [39396] by abarth@webkit.org
  • 9 edits in trunk/WebCore

2008-12-18 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Implement ImageSource::filenameExtension for Cario

https://bugs.webkit.org/show_bug.cgi?id=22905

  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::filenameExtension):
  • platform/image-decoders/ImageDecoder.h:
  • platform/image-decoders/bmp/BMPImageDecoder.h: (WebCore::BMPImageDecoder::filenameExtension):
  • platform/image-decoders/gif/GIFImageDecoder.h: (WebCore::GIFImageDecoder::filenameExtension):
  • platform/image-decoders/ico/ICOImageDecoder.h: (WebCore::ICOImageDecoder::filenameExtension):
  • platform/image-decoders/jpeg/JPEGImageDecoder.h: (WebCore::JPEGImageDecoder::filenameExtension):
  • platform/image-decoders/png/PNGImageDecoder.h: (WebCore::PNGImageDecoder::filenameExtension):
  • platform/image-decoders/xbm/XBMImageDecoder.h: (WebCore::XBMImageDecoder::filenameExtension):
12:52 AM Changeset in webkit [39395] by vestbo@webkit.org
  • 1 edit in trunk/JavaScriptCore/wtf/Platform.h

Fix build break in Platform.h

12:19 AM Changeset in webkit [39394] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-12-18 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Tor Arne Vestbø.

When Web Inspector is launched without an associated node,
call show() instead of inspect().

https://bugs.webkit.org/show_bug.cgi?id=22918

Note: See TracTimeline for information about the timeline view.