Timeline


and

04/17/09:

21:44 Changeset [42638] by barraclough@apple.com
  • 4 edits
    1 add in trunk/JavaScriptCore

2009-04-17 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

On x86_64, make all JIT-code allocations from a new heap, managed
by FixedVMPoolAllocator. This class allocates a single large (2Gb)
pool of virtual memory from which all further allocations take place.
Since all JIT code is allocated from this pool, we can continue to
safely assume (as is already asserted) that it will always be possible
to link any JIT-code to JIT-code jumps and calls.

Add new file.

  • jit/ExecutableAllocatorFixedVMPool.cpp: Added. (JSC::FreeListEntry::FreeListEntry): (JSC::AVLTreeAbstractorForFreeList::get_less): (JSC::AVLTreeAbstractorForFreeList::set_less): (JSC::AVLTreeAbstractorForFreeList::get_greater): (JSC::AVLTreeAbstractorForFreeList::set_greater): (JSC::AVLTreeAbstractorForFreeList::get_balance_factor): (JSC::AVLTreeAbstractorForFreeList::set_balance_factor): (JSC::AVLTreeAbstractorForFreeList::null): (JSC::AVLTreeAbstractorForFreeList::compare_key_key): (JSC::AVLTreeAbstractorForFreeList::compare_key_node): (JSC::AVLTreeAbstractorForFreeList::compare_node_node): (JSC::sortFreeListEntriesByPointer): (JSC::sortCommonSizedAllocations): (JSC::FixedVMPoolAllocator::release): (JSC::FixedVMPoolAllocator::reuse): (JSC::FixedVMPoolAllocator::addToFreeList): (JSC::FixedVMPoolAllocator::coalesceFreeSpace): (JSC::FixedVMPoolAllocator::FixedVMPoolAllocator): (JSC::FixedVMPoolAllocator::alloc): (JSC::FixedVMPoolAllocator::free): (JSC::ExecutableAllocator::intializePageSize): (JSC::ExecutablePool::systemAlloc): (JSC::ExecutablePool::systemRelease):

The new 2Gb heap class!

  • jit/ExecutableAllocatorPosix.cpp:

Disable use of this implementation on x86_64.

  • wtf/AVLTree.h:

Add missing variable initialization.

(WTF::::remove):

19:23 Changeset [42637] by justin.garcia@apple.com
  • 4 edits in trunk/LayoutTests/platform/mac/fast/inline

Accidently checked in outdated pixel results.

19:04 Changeset [42636] by oliver@apple.com
  • 3 edits
    3 adds in trunk

Fix bug where the VM reentry cache would not correctly unroll the cached callframe

Reviewed by Darin Adler

Fix a check that was intended to mark a cached call as invalid when the callframe could
not be constructed. Instead it was just checking that there was a place to put the
exception. This eventually results in a non-recoverable RegisterFile starvation.

18:59 Changeset [42635] by justin.garcia@apple.com
  • 1 edit in trunk/WebCore/rendering/RenderText.cpp

Forgot to uncomment some code before checking in.

18:53 Changeset [42634] by justin.garcia@apple.com
  • 3 edits
    8 adds in trunk

WebCore:

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

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=25277
If there is no line wrapping, a caret can leave its containing block but it shouldn't leave its root line box


Also added code to handle a caret wider than one pixel.


Added fast/inline/25277.html and fast/inline/25277-2.html

  • rendering/RenderText.cpp: (WebCore::RenderText::localCaretRect): Distribute a caret's width to either side of the offset, so that a caret between two characters doesn't hang over one character more than the other. If there is no wrapping, the caret can leave its containing block, but not its root line box.

LayoutTests:

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

Reviewed by Dan Bernstein.


https://bugs.webkit.org/show_bug.cgi?id=25277
If there is no line wrapping, a caret can leave its containing block but it shouldn't leave its root line box

  • fast/inline/25277-2.html: Added.
  • fast/inline/25277.html: Added.
  • platform/mac/fast/inline/25277-2-expected.checksum: Added.
  • platform/mac/fast/inline/25277-2-expected.png: Added.
  • platform/mac/fast/inline/25277-2-expected.txt: Added.
  • platform/mac/fast/inline/25277-expected.checksum: Added.
  • platform/mac/fast/inline/25277-expected.png: Added.
  • platform/mac/fast/inline/25277-expected.txt: Added.
18:31 Changeset [42633] by ggaren@apple.com
  • 40 edits in trunk/WebCore

2009-04-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
Unbounded memory growth when churning elements with anonymous event handler functions


Some refactoring of "inline" event listeners.


Renames:

dispatchEventForType => dispatchEvent
setWindowInlineEventListenerForTypeAndAttribute => setWindowInlineEventListener
removeInlineEventListenerForType => clearInlineEventListener
setInlineEventListenerForType => setInlineEventListener
inlineEventListenerForType => getInlineEventListener

  • bindings/js/JSLazyEventListener.cpp: (WebCore::eventParameterName): (WebCore::JSLazyEventListener::JSLazyEventListener): (WebCore::createInlineEventListener):
  • bindings/js/JSLazyEventListener.h: Added two helper functions for creating "inline" event listeners. These replace Document::createEventListener, and abstract the creation of JS event listeners for DOM attributes out of the DOM. Removed legacy JSProtectedEventListener constructor code for adding the event listener's function to a map, since lazy event listeners don't have functions at construction time.
  • dom/Document.cpp: (WebCore::Document::setFocusedNode):
  • dom/Document.h: (WebCore::Document::isSVGDocument):
  • dom/Element.cpp: (WebCore::Element::setWindowInlineEventListener):
  • dom/Element.h: Updated for renames. Nixed Document::createEventListener, mentioned above. Moved setWindowInlineEventListenerForTypeAndAttribute to Element, for simplicity.
  • dom/InputElement.cpp: (WebCore::InputElement::setValueFromRenderer):
  • dom/Node.cpp: (WebCore::Node::dispatchFocusEvent): (WebCore::Node::dispatchBlurEvent): (WebCore::Node::dispatchEvent): (WebCore::Node::clearInlineEventListener): (WebCore::Node::setInlineEventListener): (WebCore::Node::getInlineEventListener): (WebCore::Node::onabort): (WebCore::Node::setOnabort): (WebCore::Node::etc.):
  • dom/Node.h: Updated for renames.


  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): Updated for renames.


Updated these files for renames, and to use the new createInlineEventListener
helper function:

  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseMappedAttribute):
  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::parseMappedAttribute):
  • html/HTMLElement.cpp: (WebCore::HTMLElement::parseMappedAttribute):
  • html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::onChange):
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::prepareSubmit): (WebCore::HTMLFormElement::reset): (WebCore::HTMLFormElement::parseMappedAttribute):
  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::parseMappedAttribute):
  • html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::parseMappedAttribute):
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::parseMappedAttribute):
  • html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::dispatchLoadEvent):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): (WebCore::HTMLInputElement::onSearch):
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::loadInternal):
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::parseMappedAttribute):
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::parseMappedAttribute): (WebCore::HTMLScriptElement::dispatchLoadEvent): (WebCore::HTMLScriptElement::dispatchErrorEvent):
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute):
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::parseMappedAttribute):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::notifyFinished):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::mouseButtonListener):
  • page/DOMWindow.cpp:
  • page/DOMWindow.h: (WebCore::DOMWindow::eventListeners):
  • page/EventHandler.cpp: (WebCore::EventHandler::canMouseDownStartSelect): (WebCore::EventHandler::canMouseDragExtendSelect): (WebCore::EventHandler::sendScrollEvent):
  • page/Page.cpp: (WebCore::networkStateChanged):
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::valueChanged):
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::selectionChanged):
  • svg/SVGElement.cpp: (WebCore::SVGElement::parseMappedAttribute):
  • svg/SVGElementInstance.cpp:
  • svg/SVGImageLoader.cpp: (WebCore::SVGImageLoader::dispatchLoadEvent):
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::parseMappedAttribute):
  • svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::dispatchErrorEvent):
  • wml/WMLInputElement.cpp: (WebCore::WMLInputElement::defaultEventHandler):
16:52 Changeset [42632] by andersca@apple.com
  • 11 edits in trunk/WebKit/mac

2009-04-17 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

<rdar://problem/6714488>
REGRESSION (Safari 3-4): Edit menu commands (cut/copy/paste/select all) do not work on Flash content


  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::syntheticKeyDownWithCommandModifier): Send a keyDown event to the plug-in host.


  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView sendModifierEventWithKeyCode:character:]): Call the plug-in instance proxy.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]): Add this. Subclasses are required to override it.


(-[WebBaseNetscapePluginView cut:]):
(-[WebBaseNetscapePluginView copy:]):
(-[WebBaseNetscapePluginView paste:]):
(-[WebBaseNetscapePluginView selectAll:]):
Call sendModifierEventWithKeyCode.


  • Plugins/WebNetscapePluginEventHandler.h: Add syntheticKeyDownWithCommandModifier.


  • Plugins/WebNetscapePluginEventHandlerCarbon.h:
  • Plugins/WebNetscapePluginEventHandlerCarbon.mm: (WebNetscapePluginEventHandlerCarbon::syntheticKeyDownWithCommandModifier): Send the synthetic event.


  • Plugins/WebNetscapePluginEventHandlerCocoa.h:
  • Plugins/WebNetscapePluginEventHandlerCocoa.mm: (WebNetscapePluginEventHandlerCocoa::syntheticKeyDownWithCommandModifier): Send the synthetic event.


  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView sendModifierEventWithKeyCode:character:]): Call the event handler.
16:11 Changeset [42631] by ddkilzer@apple.com
  • 13 edits
    3 adds in trunk

Simplify FEATURE_DEFINES definition

Reviewed by Darin Adler.

This moves FEATURE_DEFINES and its related ENABLE_FEATURE_NAME
variables to their own FeatureDefines.xcconfig file. It also
extracts a new ENABLE_GEOLOCATION variable so that
FEATURE_DEFINES only needs to be defined once.

JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Added.
  • Configurations/JavaScriptCore.xcconfig: Removed definition of ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES. Added include of FeatureDefines.xcconfig.
  • JavaScriptCore.xcodeproj/project.pbxproj: Added FeatureDefines.xcconfig file.

WebCore:

  • Configurations/FeatureDefines.xcconfig: Added.
  • Configurations/WebCore.xcconfig: Removed definition of ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES. Added include of FeatureDefines.xcconfig.
  • WebCore.xcodeproj/project.pbxproj: Added FeatureDefines.xcconfig file.
  • bindings/scripts/CodeGeneratorObjC.pm: When creating a list of command-line macro definitions, split on one-or-more spaces instead of a single space since the FEATURE_DEFINES macro may now contain more than one space between macros if some macros aren't defined.

WebKit:

  • WebKit.xcodeproj/project.pbxproj: Added FeatureDefines.xcconfig file.

WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Added.
  • Configurations/WebKit.xcconfig: Removed definition of ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES. Added include of FeatureDefines.xcconfig.

WebKitTools:

  • Scripts/build-webkit: Realphabetized code related to enabling Geolation features for WebKit. Also set ENABLE_GEOLOCATION variable for xcodebuild.
15:54 Changeset [42630] by adachan@apple.com
  • 2 edits in trunk/WebKit/win

<rdar://problem/6803905> Lots of ASSERTs firing when trying to clear history

Reviewed by Steve Falkenburg.

  • WebHistory.cpp: (WebHistory::data): Return null if there are no history items.
15:29 Changeset [42629] by simon.fraser@apple.com
  • 2 edits in trunk/WebKitSite

2009-04-17 Simon Fraser <simon.fraser@apple.com>

Reviewed by Steve Falkenburg

Fix the link for setting the Platform SDK paths in the Windows instructions.

  • building/build.html:
15:28 QtWebKitTodo edited by hausmann@webkit.org
(diff)
15:27 QtWebKitJournal edited by hausmann@webkit.org
(diff)
14:49 Changeset [42628] by beidson@apple.com
  • 3 edits
    1 move in trunk

WebCore:

2009-04-17 Brady Eidson <beidson@apple.com>

Reviewed by Mark Rowe

<rdar://problem/6786999> Tiger WebKit shouldn't try to POST on back/forward without nagging.

  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::willLoadFromCache):

LayoutTests:

2009-04-17 Brady Eidson <beidson@apple.com>

Reviewed by Mark Rowe

<rdar://problem/6778137> - Disable post-goback-repost-policy.html until the networking layer allows it to be useful.

  • http/tests/navigation/post-goback-repost-policy.html: Removed.
  • http/tests/navigation/post-goback-repost-policy.html-disabled: Copied from http/tests/navigation/post-goback-repost-policy.html.
13:50 Changeset [42627] by darin@apple.com
  • 4 edits
    2 adds in trunk/WebCore

2009-04-17 Darin Adler <darin@apple.com>

Reviewed by Timothy Hatcher.

Added sudden termination functions that can be called without involving
the page or client.

  • GNUmakefile.am: Added SuddenTermination.h.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto. Also added SuddenTermination.mm.
  • platform/SuddenTermination.h: Added.
  • platform/mac/SuddenTermination.mm: Added.
13:45 Changeset [42626] by eric@webkit.org
  • 7 edits in trunk/WebCore

Reviewed by Simon Fraser.

Move more code into RenderSVGModelObject

needsLayer() already returns false from RenderSVGModelObject
lineHeight and baselinePosition are from days of RenderPath having RenderBox parents.

I also added comments to explain how focus rings work (now that I understand)
I got rid of two more uses of m_absoluteBounds (nearly dead!)

  • rendering/RenderPath.cpp:
  • rendering/RenderPath.h:
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::paint): (WebCore::RenderSVGContainer::addFocusRingRects):
  • rendering/RenderSVGContainer.h:
  • rendering/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::absoluteRects): (WebCore::RenderSVGModelObject::absoluteQuads):
  • rendering/RenderSVGModelObject.h:
13:44 Changeset [42625] by adachan@apple.com
  • 2 edits in trunk/WebKit/win
  • Fix a leak in WebHistoryItem::children() by adopting the created instance of WebHistoryItem.
  • Remove the unnecessary call to QueryInterface() which is not related to the leak.

Reviewed by Adam Roben.

  • WebHistoryItem.cpp: (WebHistoryItem::children):
13:42 Changeset [42624] by pkasting@chromium.org
  • 2 edits in trunk/WebCore

2009-04-16 Peter Kasting <pkasting@google.com>

Reviewed by Adele Peterson.

https://bugs.webkit.org/show_bug.cgi?id=25238
Invalidate the hovered scrollbar part when resetting the pressed part,
since once there is no pressed part we can draw a hovered state.

  • platform/Scrollbar.cpp: (WebCore::Scrollbar::setHoveredPart): (WebCore::Scrollbar::setPressedPart):
13:31 Changeset [42623] by darin@chromium.org
  • 6 edits
    3 adds in trunk

2009-04-16 Darin Fisher <darin@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=25223
REGRESSION: Back button after form submission to the same URL fails to navigate.

Test: http/tests/navigation/post-goback-same-url.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadItem): Check if the page we are leaving has FormData.
13:09 Changeset [42622] by zimmermann@webkit.org
  • 3 edits in trunk/WebCore

Not reviewed. Fix WML enabled builds.

12:53 Changeset [42621] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk/po

2009-04-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Unreviewed build fix to generate all .mo files at the correct
location.

  • GNUmakefile.am:
12:53 Changeset [42620] by darin@apple.com
  • 2 edits in trunk/WebKit/mac

2009-04-17 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Fix crashes seen in regression tests with hosted plug-ins.

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::cancelStreamLoad): Check the stream for 0, not the stream ID.
12:35 Changeset [42619] by eric.carlson@apple.com
  • 7 edits in trunk

2009-04-17 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Simon Fraser.

Add support for the media element 'played' attribute.
This involves support of "normalized TimeRanges" as described by
the spec.

Test: media/video-played.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): Renamed m_currentTimeDuringSeek->m_lastSeekTime. Added m_playing and m_playedTimeRanges. (WebCore::HTMLMediaElement::loadInternal): Reset m_playing, m_lastSeekTime, and m_playedTimeRanges (WebCore::HTMLMediaElement::seek): Set current time to m_playedTimeRanges (WebCore::HTMLMediaElement::currentTime): m_currentTimeDuringSeek -> m_lastSeekTime (WebCore::HTMLMediaElement::played): Returns m_playedTimeRanges. (WebCore::HTMLMediaElement::updatePlayState): Add the new played time ranges when pausing. Set the m_playing flag.
  • html/HTMLMediaElement.h:
  • html/TimeRanges.cpp: (TimeRanges::add): Merge range(s) if overlap.
  • html/TimeRanges.h: Add various helpers (below). (WebCore::TimeRanges::Range::isPointInRange): Added. (WebCore::TimeRanges::Range::isOverlappingRange): Ditto. (WebCore::TimeRanges::Range::unionWithOverlappingRange): Ditto. (WebCore::TimeRanges::Range::isBeforeRange): Ditto.

2009-04-17 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Simon Fraser.

Add test for media element 'played' attribute.

  • media/video-played-expected.txt: Added.
  • media/video-played.html: Added.
  • media/video-test.js: (disableFullTestDetailsPrinting): New, include less information in 'reportExpected' output to accomodate tests with values that are expected to change from run to run. (reportExpected): Don't log expected and observed values when printFullTestDetails is false. (runSilently): New, same as run() but without logging. (run): Call runSilently to run command.
12:16 Changeset [42618] by darin@apple.com
  • 49 edits in trunk

WebCore:

2009-04-17 Darin Adler <darin@apple.com>

Reviewed by Antti Koivisto.

Bug 25210: don't use ObjC methods to wrap/unwrap DOM objects with ObjC
https://bugs.webkit.org/show_bug.cgi?id=25210

  • WebCore.base.exp: Export the core and kit function overloads that are used in WebKit. Also resorted this file.
  • WebCore.xcodeproj/project.pbxproj: Re-added DOMHTMLCanvasElement.h to fix a strange problem with the file type.
  • bindings/objc/DOM.mm: Removed the many extraneous includes. Added new includes so we can use and implement the new core and kit functions. Import DOMInternal.h first so it can do its public/private magic. (-[DOMNode _rootObject]): Changed to use early-return style. (kitClass): Added. Tells the wrapper generator what kind of node class to create to wrap DOM nodes. This has the code that used to be in the _wrapNode method. (kit): Added. Takes an EventTarget and makes the appropriate type of wrapper, dpending on whether it's a Node or an SVGElementInstance. This replace methods that used to be on both of those classes. (-[DOMNode boundingBox]): Changed to use early return, and the core function. (-[DOMNode lineBoxRects]): Ditto. (-[DOMNode renderedImage]): Ditto. (-[DOMRange boundingBox]): Ditto. (-[DOMRange lineBoxRects]): Ditto. (-[DOMElement image]): Ditto. (-[DOMElement _font]): Ditto. (-[DOMElement _imageTIFFRepresentation]): Ditto. (-[DOMElement _getURLAttribute:]): Ditto. (-[DOMElement isFocused]): Ditto. (kit): Hand-wrote the version of this for NodeFilter, since it's a protocol, not a class in the binding. (core): Ditto. (-[DOMNodeFilter acceptNode:]): Use core.
  • bindings/objc/DOMAbstractView.mm: (-[DOMAbstractView document]): Use kit. (-[DOMAbstractView _disconnectFrame]): Call removeDOMWrapper, which is no longer in the WebCore namespace, since it's headed for WebKit in the future. (core): Hand-wrote the version of this for DOMAbstractView.mm, since we store a pointer to the Frame, not the DMWindow. (kit): Ditto.
  • bindings/objc/DOMCSS.mm: (kitClass): Added. Tells the wrapper generator what kind of node class to create to wrap CSS objects. This has the code that used to be in the _wrapStyleSheet, _wrapCSSRule, and _wrapCSSValue methods.
  • bindings/objc/DOMEvents.mm: (kitClass): Added. Tells the wrapper generator what kind of node class to create to wrap event objects. This has the code that used to be in the _wrapEvent methods.
  • bindings/objc/DOMHTML.mm: (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]): Use kit and core. (-[DOMHTMLDocument createDocumentFragmentWithText:]): Ditto. (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Ditto. (-[DOMHTMLInputElement _rectOnScreen]): Ditto. (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): Ditto. (-[DOMHTMLInputElement _selectedRange]): Ditto. (-[DOMHTMLInputElement _setAutofilled:]): Ditto. (-[DOMHTMLSelectElement _activateItemAtIndex:]): Ditto. (-[DOMHTMLInputElement _isEdited]): Ditto. (-[DOMHTMLTextAreaElement _isEdited]): Ditto. (kitClass): Added. Gives HTMLOptionCollection objects an appropriate wrapper.
  • bindings/objc/DOMInternal.h: Removed most of the imports. There's no reason to have this header include all the other internal DOM headers. Removed unneeded interfaces, including the redeclaration of _init in DOMObject, since it's already inherited from WebScriptObject. Moved all the functions out of the WebCore namespace since this code is destined for WebKit, which doesn't use a namespace. Added kit and core functions for the two classes that live in this header.
  • bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): Use core.
  • bindings/objc/DOMObject.h: Made the _internal field be private instead of protected. This also allows the "#define private public" trick to be used to make the field accessible inside the bindings code.
  • bindings/objc/DOMObject.mm: (-[DOMObject dealloc]): Updated for namespace change. (-[DOMObject sheet]): Use core and kit functions.
  • bindings/objc/DOMRGBColor.mm: (-[DOMRGBColor dealloc]): Updated for namespace change. (-[DOMRGBColor red]): Use kit function. (-[DOMRGBColor green]): Ditto. (-[DOMRGBColor blue]): Ditto. (-[DOMRGBColor alpha]): Ditto. (core): Added. Replaces the _RGBColor method. (kit): Added. Replaces the _wrapRGBColor method.
  • bindings/objc/DOMSVGPathSegInternal.mm: (kitClass): Added. Replaces the _wrapSVGPathSeg method.
  • bindings/objc/DOMUtility.mm: (JSC::createDOMWrapper): Use kit function. (createDOMWrapper): Ditto.
  • bindings/objc/DOMXPath.mm: (core): Added. Replaces the _xpathNSResolver method. (kit): Added. Replaces the _wrapXPathNSResolver method.
  • bindings/objc/ObjCEventListener.mm: (WebCore::ObjCEventListener::find): Changed to use early return. (WebCore::ObjCEventListener::handleEvent): Use kit function.
  • bindings/objc/ObjCNodeFilterCondition.mm: (WebCore::ObjCNodeFilterCondition::acceptNode): Use kit function.
  • bindings/objc/WebScriptObject.mm: (+[WebScriptObject scriptObjectForJSObject:originRootObject:rootObject:]): Updated for namespace change.
  • bindings/scripts/CodeGeneratorObjC.pm: Changed spelling of "license" to U.S. spelling. Removed GetObjCTypeMaker, GetObjCTypeGetterName, GetInternalTypeGetterSignature, and GetInternalTypeMakerSignature. Changed includes to conform to new scheme. Generate core and kit functions instead of methods and calls to those functions. Added a new attribute, Polymorphic, to indicate classes that have derived subclasses. Removed the old ObjCCustomInternalImpl attribute.
  • css/CSSRule.idl: Use Polymorphic attribute, so core and kit functions will be generated, with kit calling kitClass. This requires less hand- written code than the old ObjCCustomInternalImpl.
  • css/CSSValue.idl: Ditto.
  • css/StyleSheet.idl: Ditto.
  • dom/Event.idl: Ditto.
  • dom/Node.idl: Ditto.
  • html/HTMLCollection.idl: Ditto.
  • svg/SVGPathSeg.idl: Ditto.
  • editing/TextAffinity.h: Moved kit and core functions out of the WebCore namespace since this code is destined for WebKit, which doesn't use a namespace
  • platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::declareAndWriteDragImage): Use kit function.
  • platform/mac/DragDataMac.mm: (WebCore::DragData::asFragment): Use core function.
  • platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writeSelection): Use kit function.
  • svg/SVGElementInstance.idl: Removed now-unneeded ObjCCustomInternalImpl function. This can be generated in a standard way now.
  • svg/SVGViewSpec.idl: Ditto.

WebKit/mac:

2009-04-17 Darin Adler <darin@apple.com>

Reviewed by Antti Koivisto.

Bug 25210: don't use ObjC methods to wrap/unwrap DOM objects with ObjC
https://bugs.webkit.org/show_bug.cgi?id=25210

  • DOM/WebDOMOperations.mm: (-[DOMNode markupString]): Use the core function instead of an Objective-C method. (-[DOMNode _subresourceURLs]): Ditto. (-[DOMDocument _focusableNodes]): Ditto. (-[DOMRange webArchive]): Ditto. (-[DOMRange markupString]): Ditto.
  • Misc/WebElementDictionary.mm: Added now-needed include since the core and kit functions now come from the internal headers from DOM bindings.
  • Misc/WebNSPasteboardExtras.mm: Ditto.
  • Plugins/WebNullPluginView.mm: Ditto.
  • Plugins/WebPluginController.mm: Ditto.
  • WebCoreSupport/WebChromeClient.mm: Ditto.
  • WebCoreSupport/WebInspectorClient.mm: Ditto.
  • WebCoreSupport/WebPasteboardHelper.mm: Ditto.
  • WebView/WebHTMLView.mm: Ditto.
  • WebCoreSupport/WebEditorClient.mm: Made kit function have internal linkage since it's only used in this file. Someone had instead added a declaration to suppress the warning you would otherwise get. Removed the core function. (WebEditorClient::textFieldDidBeginEditing): Added correct type checking. Previously the function would check only that something was an HTMLElement, but then cast it to HTMLInputElement. Also call kit instead of old wrap method. (WebEditorClient::textFieldDidEndEditing): Ditto. (WebEditorClient::textDidChangeInTextField): Ditto. (WebEditorClient::doTextFieldCommandFromEvent): Ditto. (WebEditorClient::textWillBeDeletedInTextField): Ditto. (WebEditorClient::textDidChangeInTextArea): Ditto, but for HTMLTextAreaElement.
  • WebView/WebFrame.mm: Removed the core and kit functions here which are no longer needed since they're automatically generated now. (-[WebFrame _nodesFromList:]): Use kit. (-[WebFrame _markupStringFromRange:nodes:]): Use core. (-[WebFrame _stringForRange:]): More of the same. (-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto. (-[WebFrame _firstRectForDOMRange:]): Ditto. (-[WebFrame _scrollDOMRangeToVisible:]): Ditto. (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]): Ditto. (-[WebFrame _convertNSRangeToDOMRange:]): Ditto. (-[WebFrame _convertDOMRangeToNSRange:]): Ditto. (-[WebFrame _markDOMRange]): Ditto. (-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto. (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto. (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto. (-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto. (-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto. (-[WebFrame _characterRangeAtPoint:]): Ditto. (-[WebFrame _typingStyle]): Ditto. (-[WebFrame _setTypingStyle:withUndoAction:]): Ditto. (-[WebFrame _pauseAnimation:onNode:atTime:]): Ditto. (-[WebFrame _pauseTransitionOfProperty:onNode:atTime:]): Ditto. (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
  • WebView/WebFrameInternal.h: Removed the core and kit functions here which are no longer needed since they're automatically generated now.
  • WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): Use core. (formElementFromDOMElement): Ditto. (inputElementFromDOMElement): Ditto.
  • WebView/WebTextIterator.mm: (-[WebTextIterator initWithRange:]): Ditto. (-[WebTextIterator currentRange]): Ditto. (-[WebTextIterator currentNode]): Ditto.
  • WebView/WebView.mm: (-[WebView textIteratorForRect:]): Ditto. (-[WebView setSelectedDOMRange:affinity:]): Ditto.
11:46 Changeset [42617] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-04-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=25251
Crash when frame creation removes it from the parent

This brings us up-to-date with the expectations of sub-frame
creation, following what Mac has done. It fixes crashes when
calling init on the child frame removes it from the page.

This makes the following test pass instead of crash:

fast/loader/frame-creation-removal.html

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::createFrame):
11:03 Changeset [42616] by beidson@apple.com
  • 9 edits
    2 adds in trunk

WebCore:

2009-04-17 Brady Eidson <beidson@apple.com>

Reviewed by Maciej Stachowiak

<rdar://problem/5753299> "Private Browsing" doesn't affect HTML 5 Database storage

If the Page is in private browsing mode when a statement is queued up, flag that
statement as read-only.

It would be better to set the read-only flag on the database thread when it actually
executes, but that would either require making Settings access a lock-protected operation
or involve a synchronous callback to the WebCore thread, neither of which seem worth it.
If it becomes an issue in practice, we can revisit this later.

Test: storage/private-browsing-readonly.html

  • storage/Database.cpp: (WebCore::Database::setAuthorizerReadOnly):
  • storage/Database.h:
  • storage/DatabaseAuthorizer.cpp: For all action types that would alter the database, deny when in read-only mode. (WebCore::DatabaseAuthorizer::reset): (WebCore::DatabaseAuthorizer::createTable): (WebCore::DatabaseAuthorizer::dropTable): (WebCore::DatabaseAuthorizer::allowAlterTable): (WebCore::DatabaseAuthorizer::createIndex): (WebCore::DatabaseAuthorizer::dropIndex): (WebCore::DatabaseAuthorizer::createTrigger): (WebCore::DatabaseAuthorizer::dropTrigger): (WebCore::DatabaseAuthorizer::createVTable): (WebCore::DatabaseAuthorizer::dropVTable): (WebCore::DatabaseAuthorizer::allowDelete): (WebCore::DatabaseAuthorizer::allowInsert): (WebCore::DatabaseAuthorizer::allowUpdate): (WebCore::DatabaseAuthorizer::setReadOnly):
  • storage/DatabaseAuthorizer.h:
  • storage/SQLStatement.cpp: (WebCore::SQLStatement::create): Add a m_readOnly flag. (WebCore::SQLStatement::SQLStatement): Ditto. (WebCore::SQLStatement::execute): If m_readOnly is set, tell the authorizer to change to read-only mode.
  • storage/SQLStatement.h:
  • storage/SQLTransaction.cpp: (WebCore::SQLTransaction::executeSQL): Flag the statement as read-only if the Page is currently in private browsing mode.

LayoutTests:

2009-04-17 Brady Eidson <beidson@apple.com>

Reviewed by Maciej Stachowiak

<rdar://problem/5753299> "Private Browsing" doesn't affect HTML 5 Database storage

  • storage/private-browsing-readonly-expected.txt: Added.
  • storage/private-browsing-readonly.html: Added.
10:59 QtWebKitTodo edited by ariya@webkit.org
(diff)
10:46 Changeset [42615] by andersca@apple.com
  • 11 edits in trunk/WebKit/mac

2009-04-17 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

WebKit side of <rdar://problem/6449642>.


  • Plugins/Hosted/HostedNetscapePluginStream.h: (WebKit::HostedNetscapePluginStream::create): New function that creates a stream from a frame loader.


  • Plugins/Hosted/HostedNetscapePluginStream.mm: (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream): Add the constructor that takes a frame loader.


  • Plugins/Hosted/NetscapePluginHostManager.h:
  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin): Pass "fullFrame" to the plug-in host.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCCancelLoadURL): Call NetscapePluginInstanceProxy::cancelStreamLoad.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::create): Pass "fullFrame" to the constructor.


(WebKit::NetscapePluginInstanceProxy::manualStream):
New getter for the manual stream.


  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Take the implicit request into account if we have a full frame plug-in.


(WebKit::NetscapePluginInstanceProxy::setManualStream):
Setter for the manual stream.


(WebKit::NetscapePluginInstanceProxy::cancelStreamLoad):
Cancel the manual stream if necessary.


  • Plugins/Hosted/WebHostedNetscapePluginView.h: WebHostedNetscapePluginView now conforms to the WebPluginManualLoader protocol.


  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]): Pass "fullFrame" to instantiatePlugin.


(-[WebHostedNetscapePluginView pluginView:receivedResponse:]):
(-[WebHostedNetscapePluginView pluginView:receivedData:]):
(-[WebHostedNetscapePluginView pluginView:receivedError:]):
(-[WebHostedNetscapePluginView pluginViewFinishedLoading:]):
Call the equivalent manual stream functions.


  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): Use a macro for getting the plug-in view type.
10:44 Changeset [42614] by adachan@apple.com
  • 2 edits in trunk/WebKit/win

Fix a leak in WebHistory::data().

Reviewed by Adam Roben.

  • WebHistory.cpp: (WebHistory::data):
10:42 Changeset [42613] by eric@webkit.org
  • 15 edits in trunk

Reviewed by Antti Koivisto.

Move RenderPath and RenderSVGContainer onto a unified clippedOverflowRectForRepaint
https://bugs.webkit.org/show_bug.cgi?id=25268

Lots of minus lines. Now we're sharing more sane code
(which will respect -webkit-transforms! and scroll offsets correctly)

Which means this fixes:
https://bugs.webkit.org/show_bug.cgi?id=20769 too!

We're no longer expanding the paint rect "for anti-aliasing", since
I can't find a case where that's required. If it is, repaintRectInLocalCoordinates()
should be fixed to handle those cases instead of here.

This fixes svg/custom/scroll-hit-test (now that we respect scroll offsets when repainting)
as well as improves our focus ring drawing seen in svg/custom/focus-ring
focus rings are now closer to transformed content by a couple pixels (they were needlessly outset by the antialiasing hack)
Also, it fixes the dumped rects for markers, causing a progression in svg/custom/marker-overflow-clip

  • rendering/RenderPath.cpp: (WebCore::RenderPath::repaintRectInLocalCoordinates): (WebCore::RenderPath::setPath):
  • rendering/RenderPath.h:
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
  • rendering/RenderSVGContainer.h:
  • rendering/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint): (WebCore::RenderSVGModelObject::computeRectForRepaint):
  • rendering/RenderSVGModelObject.h:
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::computeRectForRepaint):
  • rendering/RenderSVGRoot.h:
09:53 Changeset [42612] by mitz@apple.com
  • 2 edits in trunk/LayoutTests

Rubber-stamped by Anders Carlsson.

  • remove tests affected by <rdar://problem/6661401> from the skip list, now that it is fixed.
  • platform/mac-snowleopard/Skipped:
09:00 Changeset [42611] by cfleizach@apple.com
  • 3 edits
    2 adds in trunk

Bug 25259: AX: VoiceOver cmd-cntl-space does not follow the google.com->more link
https://bugs.webkit.org/show_bug.cgi?id=25259

When a node becomes visible or hidden, accessibility needs to be told to update.

08:52 Changeset [42610] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix, added missing header.

02:20 Changeset [42609] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2009-04-17 Simon Hausmann <simon.hausmann@nokia.com>

Unreviewed build fix.

Fix the build with enabled SVG filters

01:49 Changeset [42608] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-04-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>

Reviewed by Simon Hausmann.

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

Remove QtCore 4.5 dependency from QWebElement test

00:34 Changeset [42607] by oliver@apple.com
  • 5 edits in trunk

Bug 25027: JavaScript parseInt wrong on negative numbers
<https://bugs.webkit.org/show_bug.cgi?id=25027>

Contributed by Mihnea Ovidenie
Reviewed by Oliver Hunt

When dealing with negative numbers, parseInt should use ceil instead of floor.

04/16/09:

23:20 Changeset [42606] by slewis@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-04-16 Stephanie Lewis <slewis@apple.com>

Reviewed by Oliver Hunt.

<rdar://problem/6744652> 32-bit to 64-bit: Javascript hash tables double in size

Remove perfect hash optimization which removes 1 MB of overhead on 32-bit and almost 2 MB on 64-bit. Removing the optimization was not a regression on SunSpider and the acid 3 test still passes.

  • create_hash_table:
  • runtime/Lookup.cpp: (JSC::HashTable::createTable): (JSC::HashTable::deleteTable):
  • runtime/Lookup.h: (JSC::HashEntry::initialize): (JSC::HashEntry::next): (JSC::HashTable::entry):
  • runtime/Structure.cpp: (JSC::Structure::getEnumerableNamesFromClassInfoTable):
21:41 Changeset [42605] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Fix subtle error in optimised VM reentry in Array.sort

Reviewed by Gavin Barraclough

Basically to ensure we don't accidentally invalidate the cached callframe
we should be using the cached callframe rather than our own exec state.
While the old behaviour was wrong i have been unable to actually create a
test case where anything actually ends up going wrong.

21:23 Changeset [42604] by dglazkov@chromium.org
  • 2 edits in trunk/WebCore

2009-04-16 Eric Roman <eroman@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25196
Add a missing V8DOMMap include.

  • bindings/v8/WorkerScriptController.cpp: Included V8DOMMap.h.
21:19 Changeset [42603] by dglazkov@chromium.org
  • 2 edits in trunk/WebCore

2009-04-16 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Darin Fisher.

https://bugs.webkit.org/show_bug.cgi?id=25260
Finish V8 custom bindings for InspectorController.

  • bindings/v8/custom/V8InspectorControllerCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): Added.
20:10 Changeset [42602] by alice.liu@apple.com
  • 2 edits in trunk/WebKit/win

2009-04-16 Alice Liu <alice.liu@apple.com>

Reviewed by Mark Rowe.

Fix for heavy leakage of WebURLResponses seen during the stress test

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::shouldCacheResponse):
18:36 Changeset [42601] by kevino@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by Kevin Ollivier.

Switch to wxGraphicsBitmap when using wxGraphicsContext so that we're not doing unnecessary conversions internally when drawing bitmaps.

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

18:23 Changeset [42600] by justin.garcia@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

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

Reviewed by Dan Bernstein.

Performing a block style change in an editable root that contains only a br adds a newline
https://bugs.webkit.org/show_bug.cgi?id=25256

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Fix a bad check for an root block that didn't handle a root that contained a placeholder.

LayoutTests:

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

Reviewed by Dan Bernstein.


Performing a block style change in an editable root that contains only a br adds a newline
https://bugs.webkit.org/show_bug.cgi?id=25256

  • editing/execCommand/25256-expected.txt: Added.
  • editing/execCommand/25256.html: Added.
17:34 Changeset [42599] by eric@webkit.org
  • 18 edits in trunk

Reviewed by Simon Fraser.

Fix computeContainerBoundingBox to respect viewport translations
https://bugs.webkit.org/show_bug.cgi?id=25254

Previously computeContainerBoundingBox was just adding the viewportTranslation.
Which, although it has a confusing name, only contains the scale and translation
for the viewBox/preserveAspectRatio adjustment. It does not contain the
translation for the x/y offset of the viewport.
localToParentTransform() does contain this offset, so we use that instead
of the previous hacky code.

  • rendering/RenderSVGContainer.h:
  • rendering/RenderSVGViewportContainer.h:
  • rendering/SVGRenderSupport.cpp: (WebCore::computeContainerBoundingBox):
16:27 Changeset [42598] by eric@webkit.org
  • 14 edits in trunk/WebCore

Reviewed by Simon Fraser.

Add a localToParentTransform() method which includes the
full transform between local and parent local coordinates.
https://bugs.webkit.org/show_bug.cgi?id=25226

Moved m_localTransform up into RenderSVGTransformableContainer
and added a comment to RenderSVGViewportContainer to make it more
clear that it does not have a localTransform().

This patch reveals two more failed design decisions:

  1. Use of RenderBox::absoluteTransform() to mean "absoluteTransform()

including only my localTransform()" callers are probably using it
incorrectly anyway and are just masking bugs in the confused code.

  1. computeContainerBoundingBox does not include viewport translations in

its computed bounding box, so bounding boxes will be off for parents of
inner <svg> elements. I'll fix this an updated the results in a separate change.

No functional changes, thus no tests.

  • rendering/RenderObject.cpp: (WebCore::RenderObject::localToParentTransform): (WebCore::RenderObject::absoluteTransform):
  • rendering/RenderObject.h:
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout):
  • rendering/RenderSVGContainer.h: (WebCore::RenderSVGContainer::viewportTransform):
  • rendering/RenderSVGHiddenContainer.cpp:
  • rendering/RenderSVGHiddenContainer.h: (WebCore::RenderSVGHiddenContainer::absoluteTransform):
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::localToParentTransform): (WebCore::RenderSVGRoot::absoluteTransform):
  • rendering/RenderSVGRoot.h:
  • rendering/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::localToParentTransform): (WebCore::RenderSVGTransformableContainer::localTransform):
  • rendering/RenderSVGTransformableContainer.h:
  • rendering/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::localToParentTransform): (WebCore::RenderSVGViewportContainer::absoluteTransform):
  • rendering/RenderSVGViewportContainer.h:
  • rendering/SVGRenderSupport.cpp: (WebCore::computeContainerBoundingBox):
15:29 Changeset [42597] by darin@chromium.org
  • 3 edits in trunk/WebCore

2009-04-16 Adam Langley <agl@google.com>

Reviewed by Darin Fisher.

Fix Chromium's rendering of <option> elements inside of <optgroups>.

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

Test (will included as a manual test by https://bugs.webkit.org/show_bug.cgi?id=24900):

<select>

<optgroup label="Should be bold">

<option>Should not be bold</option>

</optgroup>

</select>

  • css/themeWin.css: adding comments
  • platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::getRowFont): use menuStyle() rather than the item's style
15:25 Changeset [42596] by zecke@webkit.org
  • 3 edits in trunk/WebKit/qt

2009-04-16 Holger Hans Peter Freyther <zecke@selfish.org>

Rubber-stamped by Simon Hausmann.

Make the operator== and operator!= non inline to
allow looking at the d-pointer in the future.

  • Api/qwebelement.cpp: (QWebElement::operator==): (QWebElement::operator!=):
  • Api/qwebelement.h:
15:17 Changeset [42595] by xan@webkit.org
  • 2 edits in trunk/WebKit/win

2009-04-16 Xan Lopez <xlopez@igalia.com>

Unreviewed build fix.

  • WebView.cpp:
15:13 Changeset [42594] by ggaren@apple.com
  • 2 edits in trunk/WebKitTools

2009-04-16 Geoffrey Garen <ggaren@apple.com>

Build fix: updated check-for-global-initializers to account for code motion.

  • Scripts/check-for-global-initializers:
15:12 Changeset [42593] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-04-16 Eric Roman <eroman@chromium.org>

Reviewed by Alexey Proskuryakov.

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

Make DOMWindow::inlineEventListenerForType not have the "inline"
keyword. As this method gets used outside of DOMWindow.

  • page/DOMWindow.cpp: (WebCore::DOMWindow::inlineEventListenerForType):
15:02 Changeset [42592] by bolsinga@apple.com
  • 2 edits in trunk/WebCore

2009-04-16 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Antti Koivisto.

Fix <rdar://problem/6766969>


When deferred repaints are enabled and being reset and there is a active
timer, stop the timer and do the deferred repaints immediately.

  • page/FrameView.cpp: (WebCore::FrameView::resetDeferredRepaintDelay):
15:01 Changeset [42591] by christian@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-04-16 Christian Dywan <christian@twotoasts.de>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=25042
destroying webview widget directly causes crash.

  • tests/testwebframe.c: (test_webkit_web_frame_create_destroy): Add a test case for destroying a web view shortly after packing it in a window.
14:53 Changeset [42590] by xan@webkit.org
  • 50 edits in trunk

WebCore:

2009-04-16 Xan Lopez <xlopez@igalia.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=25241
Remove superfluous NotImplemented.h includes.

  • html/CanvasRenderingContext2D.cpp:
  • html/CanvasStyle.cpp:
  • page/AccessibilityRenderObject.cpp:
  • platform/chromium/ScrollbarThemeChromiumLinux.cpp:
  • platform/graphics/GraphicsContext.cpp:
  • platform/graphics/cairo/ImageBufferCairo.cpp:
  • platform/graphics/cairo/PathCairo.cpp:
  • platform/graphics/chromium/SimpleFontDataLinux.cpp:
  • platform/graphics/gtk/FontGtk.cpp:
  • platform/graphics/gtk/IconGtk.cpp:
  • platform/graphics/qt/IconQt.cpp:
  • platform/graphics/qt/ImageQt.cpp:
  • platform/graphics/qt/ImageSourceQt.cpp:
  • platform/graphics/skia/ImageBufferSkia.cpp:
  • platform/graphics/skia/ImageSkia.cpp:
  • platform/graphics/win/ColorSafari.cpp:
  • platform/graphics/win/FontWin.cpp:
  • platform/graphics/win/GraphicsContextCGWin.cpp:
  • platform/graphics/win/GraphicsContextCairoWin.cpp:
  • platform/graphics/win/SimpleFontDataCairoWin.cpp:
  • platform/graphics/wx/ImageWx.cpp:
  • platform/graphics/wx/TransformationMatrixWx.cpp:
  • platform/gtk/PlatformScreenGtk.cpp:
  • platform/gtk/PopupMenuGtk.cpp:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/gtk/ScrollbarGtk.cpp:
  • platform/network/cf/ResourceHandleCFNet.cpp:
  • platform/posix/FileSystemPOSIX.cpp:
  • platform/qt/DragDataQt.cpp:
  • platform/qt/FileSystemQt.cpp:
  • platform/qt/Localizations.cpp:
  • platform/qt/PopupMenuQt.cpp:
  • platform/win/EditorWin.cpp:
  • platform/win/PasteboardWin.cpp:
  • platform/wx/KeyboardEventWx.cpp:
  • platform/wx/PopupMenuWx.cpp:
  • platform/wx/SharedTimerWx.cpp:
  • plugins/gtk/PluginViewGtk.cpp:
  • plugins/mac/PluginPackageMac.cpp:
  • plugins/qt/PluginPackageQt.cpp:
  • plugins/win/PluginViewWin.cpp:
  • rendering/RenderThemeChromiumLinux.cpp:
  • svg/graphics/SVGImage.cpp:

WebKit/gtk:

2009-04-16 Xan Lopez <xlopez@igalia.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=25241
Remove superfluous NotImplemented.h includes.

  • webkit/webkitprivate.cpp:

WebKit/win:

2009-04-16 Xan Lopez <xlopez@igalia.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=25241
Remove superfluous NotImplemented.h includes

  • WebDownloadCFNet.cpp:
  • WebURLAuthenticationChallengeSender.cpp:
  • WebView.cpp:
14:19 Changeset [42589] by ggaren@apple.com
  • 12 edits in trunk/WebCore

2009-04-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
Unbounded memory growth when churning elements with anonymous event handler functions


Some cleanup in event handling code.

  • bindings/js/JSDOMGlobalObject.cpp:
  • bindings/js/JSDOMGlobalObject.h: Removed findJSProtectedEventListener and findJSProtectedEventListener because they are now unused.
  • bindings/js/JSEventListener.cpp:
  • bindings/js/JSEventListener.h: (WebCore::JSEventListener::clearGlobalObject):
  • bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::JSLazyEventListener): (WebCore::JSLazyEventListener::~JSLazyEventListener): (WebCore::JSLazyEventListener::globalObject):
  • bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::clearGlobalObject): Nixed JSProtectedEventListener, and merged it with JSLazyEventListener, the only remaining event listener that still GC-protects its function and global object.
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::ScriptController):
  • bindings/js/ScriptController.h: (WebCore::ScriptController::setEventHandlerLineNumber): (WebCore::ScriptController::eventHandlerLineNumber): Renamed handlerLineno => handlerLineNumber, because anything less would be uncivilized. Removed createInlineEventListener because it mostly did irrelevent work, so it just got in the way of understanding how event handler creation works.
  • dom/Document.cpp: (WebCore::Document::createEventListener):
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::startElementNs):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::processToken): Ditto.
14:19 Changeset [42588] by justin.garcia@apple.com
  • 1 add in trunk/LayoutTests/platform/mac/fast/forms/caret-rtl-expected.png

Checking in pixel results for a recently added test.

13:58 Changeset [42587] by bdakin@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

2009-04-16 Beth Dakin <bdakin@apple.com>

Reviewed by Dave Hyatt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=20765 Website
crashes on load due to messy HTML in search form
-and corresponding-
<rdar://problem/6210633>

Before this patch, <form>s were allowed to sit inside tables
without being wrapped by anonymous table parts. There was also a
concept that such a form could be "demoted" and would not be
allowed to have any children. This patch has the HTML parser mark
form elements that have been demoted as such, and then the demoted
forms are not given renderers. I also removed the code that allowed
forms to sit in tables without anonymous table sections. So now any
forms that do manage to get a renderer inside a table will also be
wrapped with appropriate table parts.

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement): (WebCore::HTMLFormElement::rendererIsNeeded):
  • html/HTMLFormElement.h: (WebCore::HTMLFormElement::setDemoted): (WebCore::HTMLFormElement::isDemoted):
  • html/HTMLParser.cpp: (WebCore::HTMLParser::insertNode):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::addChild):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::addChild):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild):
13:48 Changeset [42586] by bdakin@apple.com
  • 25 edits
    8 adds in trunk

WebCore:

2009-04-16 Beth Dakin <bdakin@apple.com>

Reviewed by Dave Hyatt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=20765 Website
crashes on load due to messy HTML in search form
-and corresponding-
<rdar://problem/6210633>

Before this patch, <form>s were allowed to sit inside tables
without being wrapped by anonymous table parts. There was also a
concept that such a from could be "demoted" and would not be
allowed to have any children. This patch has the HTML parser mark
form elements that have been demoted as such, and then the demoted
forms are not given renderers. I also removed the code that allowed
forms to sit in tables without anonymous table sections. So now any
forms that do manage to get a renderer inside a table will also be
wrapped with appropriate table parts.

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement): (WebCore::HTMLFormElement::rendererIsNeeded):
  • html/HTMLFormElement.h: (WebCore::HTMLFormElement::setDemoted): (WebCore::HTMLFormElement::isDemoted):
  • html/HTMLParser.cpp: (WebCore::HTMLParser::insertNode):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::addChild):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::addChild):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild):

LayoutTests:

2009-04-16 Beth Dakin <bdakin@apple.com>

Reviewed by Dave Hyatt.

Tests for https://bugs.webkit.org/show_bug.cgi?id=20765 Website
crashes on load due to messy HTML in search form
-and corresponding-
<rdar://problem/6210633>

New tests:

  • fast/forms/form-added-to-table.html: Added.
  • fast/forms/form-in-malformed-markup.html: Added.
  • platform/mac/fast/forms/form-added-to-table-expected.checksum: Added.
  • platform/mac/fast/forms/form-added-to-table-expected.png: Added.
  • platform/mac/fast/forms/form-added-to-table-expected.txt: Added.
  • platform/mac/fast/forms/form-in-malformed-markup-expected.checksum: Added.
  • platform/mac/fast/forms/form-in-malformed-markup-expected.png: Added.
  • platform/mac/fast/forms/form-in-malformed-markup-expected.txt: Added.

Tests with new results:

  • platform/mac/fast/forms/formmove3-expected.txt:
  • platform/mac/fast/forms/preserveFormDuringResidualStyle-expected.txt:
  • platform/mac/fast/invalid/table-residual-style-crash-expected.txt:
  • platform/mac/fast/table/fixed-table-non-cell-in-row-expected.txt:
  • platform/mac/fast/table/inline-form-assert-expected.txt:
  • platform/mac/fast/table/insert-cell-before-form-expected.txt:
  • platform/mac/fast/table/insert-row-before-form-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1318-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug2516-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug32447-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug34538-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug78162-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug96334-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug96343-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
13:02 Changeset [42585] by darin@chromium.org
  • 3 edits
    3 adds in trunk

2009-04-16 Xiaomei Ji <xji@chromium.org>

Reviewed by Simon Fraser.

Fix https://bugs.webkit.org/show_bug.cgi?id=24527
caret does not paint the first time you focus on a 0px right padding RTL div

Test: fast/forms/caret-rtl.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::localCaretRect): When calculating x-axis if alignment is alignRight, we need to subtract the caretWidth so that the caret at IntRect(x, y, caretWidth, height) is inside the block.
11:41 Changeset [42584] by justin.garcia@apple.com
  • 1 add
    1 delete in trunk/LayoutTests

Moving this test to platform/mac, it's mac only.

11:11 Changeset [42583] by justin.garcia@apple.com
  • 4 edits
    4 adds in trunk

WebCore:

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

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=25228
SelectionController::absoluteCaretBounds returns an inflated caret (the caret repaint rect)


Return the bounds of the transformed caret, not the transformed repaint rect for the caret (which is inflated).

  • editing/SelectionController.cpp: (WebCore::SelectionController::localCaretRect): (WebCore::SelectionController::absoluteBoundsForLocalRect): (WebCore::SelectionController::caretRepaintRect): (WebCore::SelectionController::recomputeCaretRect):
  • editing/SelectionController.h:

LayoutTests:

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

Reviewed by Simon Fraser.


https://bugs.webkit.org/show_bug.cgi?id=25228
SelectionController::absoluteCaretBounds returns an inflated caret (the caret repaint rect)

  • editing/selection/25228.html: Added.
  • platform/mac/editing/selection/25228-expected.checksum: Added.
  • platform/mac/editing/selection/25228-expected.png: Added.
  • platform/mac/editing/selection/25228-expected.txt: Added.
11:11 Changeset [42582] by kov@webkit.org
  • 2 edits in trunk/WebKitTools

2009-04-16 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Adam Roben.

Compare test's response mime type and dump test as text properly.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (dump):
11:00 Changeset [42581] by eric.carlson@apple.com
  • 2 edits in trunk/WebCore

2009-04-16 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=25187
Bug 25187: <video> may not be rendered upon certain racy conditions

Always create the video renderer when the load state reaches QTMovieLoadStateLoaded
and the element is visible, not only when the movie has just been opened.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates): Make sure we do not make false assumption on the state changes order. Create the renderer if none is present, when movie is loaded instead.
10:24 Changeset [42580] by eric@webkit.org
  • 5 edits in trunk/WebCore

Reviewed by Geoffrey Garen.

Add filterBoundingBox() to RenderSVGModelObject to share a tiny bit of code

RenderSVGModelObject has much more interesting code it can share,
but I'm just trying to get the commits out of my local branch and into
the repository in any order I can. :) This one was small.

This will be used by the unified RenderSVGModelObject
clippedOverflowRectForRepaint patch coming soon.

  • rendering/RenderPath.cpp: (WebCore::RenderPath::clippedOverflowRectForRepaint):
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
  • rendering/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::filterBoundingBox):
  • rendering/RenderSVGModelObject.h:
10:11 Changeset [42579] by ggaren@apple.com
  • 7 edits in trunk/WebCore

2009-04-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Eric Seidel and Adam Roben.

More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
Unbounded memory growth when churning elements with anonymous event handler functions


Simplified some EventHandler creation code.


Removed a pile of code whose sole purpose was to allow SVG event handlers
to supply a parameter named "evt" instead of the normal "event", and
replaced it with a single parameter to JSLazyEventListener's constructor
specifying the parameter name to use.

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::JSLazyEventListener): (WebCore::JSLazyEventListener::parseCode):
  • bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::createInlineEventListener):
  • bindings/js/ScriptController.h:
  • dom/Document.cpp: (WebCore::Document::createEventListener):
10:09 Changeset [42578] by eric@webkit.org
  • 28 edits in trunk/WebCore

Reviewed by David Hyatt.

Split out objectBoundingBox and repaintRectInLocalCoordinates from relativeBBox
in preparation for simplifying (and fixing) repaint logic in the SVG rendering tree.
https://bugs.webkit.org/show_bug.cgi?id=25224

objectBoundingBox() matches the SVG 1.1 concept of a "bounding box"

repaintRectInLocalCoordinates() should return the a rect covering all painted content.
However, repaintRectInLocalCoordinates() still only returns the "stroke bounding box"
in this patch. In a future patch, repaintRectInLocalCoordinates will be fixed to return
a rect covering all painted content. In order to avoid changing several hundred layout test results, I've left
the behavior as-is for now. The returned rect is used by various repaintRectInLocalCoordinates
implementations and sometimes adjusted to include all painted content, but not always, and
the places where the adjustments are made are sometimes wrong. Again, will be fixed in
an upcoming patch.

This patch discovered a bug in Font::drawTextUsingSVGFont, which is probably causing
bounding-box relative gradients on SVGFont glyphs to not paint correctly.
I chose not to try and fix the bug in this patch and instead left a FIXME.

This patch also discovered that at least tspan.getBBox() is broken. This
along with the foreignObject.getBBox() change will be tested (and fixed) in a
later patch. https://bugs.webkit.org/show_bug.cgi?id=25225

No change in behavior (besides the above mentioned foreignObject.getBBox()), thus no tests.

  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::objectBoundingBox): this is a behavior improvement for getBBox() test case coming in a later patch (WebCore::RenderForeignObject::repaintRectInLocalCoordinates): only really used for layout test results, might some day be used for repaint.
  • rendering/RenderForeignObject.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::objectBoundingBox): new methods, ASSERT if used but not implemented. (WebCore::RenderObject::repaintRectInLocalCoordinates):
  • rendering/RenderObject.h:
  • rendering/RenderPath.cpp: (WebCore::RenderPath::objectBoundingBox): (WebCore::RenderPath::repaintRectInLocalCoordinates): (WebCore::RenderPath::clippedOverflowRectForRepaint): (WebCore::RenderPath::lineHeight): (WebCore::RenderPath::baselinePosition): (WebCore::RenderPath::paint): (WebCore::RenderPath::addFocusRingRects):
  • rendering/RenderPath.h:
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::paint): (WebCore::RenderSVGContainer::objectBoundingBox): (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
  • rendering/RenderSVGContainer.h:
  • rendering/RenderSVGGradientStop.h: (WebCore::RenderSVGGradientStop::objectBoundingBox): (WebCore::RenderSVGGradientStop::repaintRectInLocalCoordinates):
  • rendering/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::objectBoundingBox): (WebCore::RenderSVGHiddenContainer::repaintRectInLocalCoordinates):
  • rendering/RenderSVGHiddenContainer.h:
  • rendering/RenderSVGImage.cpp: (WebCore::RenderSVGImage::objectBoundingBox): (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): (WebCore::RenderSVGImage::calculateAbsoluteBounds): (WebCore::RenderSVGImage::addFocusRingRects):
  • rendering/RenderSVGImage.h:
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::paint): (WebCore::RenderSVGRoot::objectBoundingBox): (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
  • rendering/RenderSVGRoot.h:
  • rendering/RenderSVGTSpan.h: (WebCore::RenderSVGTSpan::objectBoundingBox): (WebCore::RenderSVGTSpan::repaintRectInLocalCoordinates):
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::clippedOverflowRectForRepaint): (WebCore::RenderSVGText::absoluteRects): (WebCore::RenderSVGText::absoluteQuads): (WebCore::RenderSVGText::objectBoundingBox): (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
  • rendering/RenderSVGText.h:
  • rendering/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::viewportTransform):
  • rendering/SVGRenderSupport.cpp: (WebCore::computeContainerBoundingBox):
  • rendering/SVGRenderSupport.h:
  • rendering/SVGRenderTreeAsText.cpp: (WebCore::operator<<):
  • svg/SVGFont.cpp: (WebCore::Font::drawTextUsingSVGFont):
  • svg/SVGLocatable.cpp: (WebCore::SVGLocatable::getBBox):
  • svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::buildPattern):
  • svg/graphics/SVGPaintServerGradient.cpp: (WebCore::createMaskAndSwapContextForTextGradient): (WebCore::clipToTextMask): (WebCore::SVGPaintServerGradient::setup):
  • svg/graphics/SVGPaintServerPattern.cpp: (WebCore::SVGPaintServerPattern::setup):
08:42 Changeset [42577] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • fix <rdar://problem/6032139> Table cell widths calculated incorrectly on table that uses table-layout:fixed, colspans, and a mix of percentage and pixel widths

Test: fast/table/fixed-granular-cols.html

The incorrect widths resulted from incorrect handling of the case where
the <col> elements are more granular than the table cells.

  • rendering/FixedTableLayout.cpp: (WebCore::FixedTableLayout::calcWidthArray): When processing <col> elements, append effective columns or split existing effective columns as needed.

LayoutTests:

Reviewed by Darin Adler.

  • test for <rdar://problem/6032139> Table cell widths calculated incorrectly on table that uses table-layout:fixed, colspans, and a mix of percentage and pixel widths
  • fast/table/fixed-granular-cols.html: Added.
  • platform/mac/fast/table/fixed-granular-cols-expected.checksum: Added.
  • platform/mac/fast/table/fixed-granular-cols-expected.png: Added.
  • platform/mac/fast/table/fixed-granular-cols-expected.txt: Added.
08:40 Changeset [42576] by aroben@apple.com
  • 2 edits in trunk/WebKitTools

Skip yet another JavaScriptCore test that sometimes fails on Windows

See Bug 25160: Various ecma/Date tests sometimes fail on Windows (but
not Mac)
<https://bugs.webkit.org/show_bug.cgi?id=25160>

  • Scripts/run-javascriptcore-tests: Skip ecma/Date/15.9.2.2-6.js.
05:01 Changeset [42575] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Optimise op_resolve_base

Reviewed by Gavin Barraclough.

If we can statically find a property we are trying to resolve
the base of, the base is guaranteed to be the global object.

04:36 Changeset [42574] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Improve performance of read-write-modify operators

Reviewed by Gavin Barraclough

Implement cross scope optimisation for read-write-modify
operators, to avoid unnecessary calls to property resolve
helper functions.

03:10 Changeset [42573] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Improve performance of remaining array enumeration functions

Reviewed by Gavin Barraclough

Make use of function entry cache for remaining Array enumeration functions.

00:54 Changeset [42572] by ap@webkit.org
  • 5 edits in trunk/WebCore

<rdar://problem/6795285> Infinite recursion in ResourceHandle::receivedRequestToContinueWithoutCredential

Rolled out <http://trac.webkit.org/projects/webkit/changeset/42536> - the two instances of
authentication challenge are different, after all. Added a FIXME comment about a possible
future improvement.

  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::clearAuthentication):
  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal):
  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::receivedCredential): (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): (WebCore::ResourceHandle::receivedCancellation):
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::didCancelAuthenticationChallenge): (WebCore::ResourceHandle::receivedCredential): (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): (WebCore::ResourceHandle::receivedCancellation):
00:24 Changeset [42571] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Improve performance of Array.sort

Reviewed by Gavin Barraclough.

Cache the VM entry for Array.sort when using a JS comparison function.

04/15/09:

21:07 Changeset [42570] by oliver@apple.com
  • 5 edits
    3 adds in trunk

Bug 25229: Need support for Array.prototype.reduceRight
<https://bugs.webkit.org/show_bug.cgi?id=25229>

Reviewed by Gavin Barraclough.

Implement Array.reduceRight

20:51 Changeset [42569] by ggaren@apple.com
  • 5 edits in trunk/WebCore

2009-04-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
Unbounded memory growth when churning elements with anonymous event handler functions

Also fixed <rdar://problem/6792909> WebInspector crashes when reloading
a page with breakpoints set


  • bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::clearJSFunctionInline): (WebCore::JSEventListener::markJSFunction):
  • bindings/js/JSEventListener.h: Actually clear our function and global object pointers when our client instructs us to. (Oops!) Also, mark our global object while we still intend to use it.
  • bindings/js/JSSVGElementInstanceCustom.cpp: (WebCore::JSSVGElementInstance::mark): (WebCore::toJS):
  • bindings/scripts/CodeGeneratorJS.pm:
  • svg/SVGElementInstance.idl: For every SVGElementInstance wrapper, ensure that the corresponding element also has a wrapper, to keep its event listeners alive.
20:33 Changeset [42568] by dglazkov@chromium.org
  • 4 edits
    6 copies
    3 adds in trunk/WebCore

2009-04-15 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Darin Fisher.

https://bugs.webkit.org/show_bug.cgi?id=25201
Add ScriptFunctionCall/ScriptObject for V8.

  • bindings/v8/ScriptFunctionCall.cpp: Added.
  • bindings/v8/ScriptFunctionCall.h: Added.
  • bindings/v8/ScriptObject.cpp: Added.
  • bindings/v8/ScriptObject.h: Added.
  • bindings/v8/ScriptObjectQuarantine.cpp: Added.
  • bindings/v8/ScriptObjectQuarantine.h: Added.
  • bindings/v8/ScriptScope.cpp: Added.
  • bindings/v8/ScriptScope.h: Added.
  • bindings/v8/ScriptState.h: (WebCore::ScriptState::ScriptState): Added new constructors. (WebCore::ScriptState::frame): Added Frame ptr accessor.
  • bindings/v8/ScriptString.h: (WebCore::ScriptString::ScriptString): Added default constructor.
  • bindings/v8/ScriptValue.h: (WebCore::ScriptValue::isEqual): Added.
19:12 Changeset [42567] by oliver@apple.com
  • 3 edits
    3 adds in trunk

Bug 25227: Array.filter triggers an assertion when the target array shrinks while being filtered
<https://bugs.webkit.org/show_bug.cgi?id=25227>

Reviewed by Gavin Barraclough.

We correct this simply by making the fast array path fall back on the slow path if
we ever discover the fast access is unsafe.

17:49 Changeset [42566] by kov@webkit.org
  • 2 edits in trunk/WebCore

2009-04-15 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Unreviewed build fix. Add RenderSVGModelObject.* to GTK+'s build.

  • GNUmakefile.am:
17:02 Changeset [42565] by sfalken@apple.com
  • 2 edits in trunk/WebKitTools

Redo last build fix in a more straightforward way.

  • DumpRenderTree/win/DumpRenderTree.cpp: (sharedCFURLCache):
16:46 Changeset [42564] by sfalken@apple.com
  • 2 edits in trunk/WebKitTools

Fix Windows build of DumpRenderTree.

  • DumpRenderTree/win/DumpRenderTree.cpp: (sharedCFURLCache): (main):
16:35 Changeset [42563] by oliver@apple.com
  • 3 edits
    3 adds in trunk

Bug 25159: Support Array.prototype.reduce
<https://bugs.webkit.org/show_bug.cgi?id=25159>

Reviewed by Gavin Barraclough

Implement Array.prototype.reduce

15:46 Changeset [42562] by kevino@webkit.org
  • 2 edits in trunk/WebKit/wx

Reviewed by Kevin Ollivier.

Implement support for wxWebViewNewWindowEvent.

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

15:32 Changeset [42561] by eric@webkit.org
  • 11 edits
    2 adds in trunk/WebCore

Reviewed by Simon Fraser.

Add minimal RenderSVGModelObject and make RenderPath and RenderSVGContainer use it.
https://bugs.webkit.org/show_bug.cgi?id=25221

RenderSVGModelObject is the base rendering class for things which live
in the SVG rendering tree. Not all SVG renders are RenderSVGModelObjects yet.

More patches coming. This is just adding the class, future patches
will pull more logic out of RenderPath and RenderSVGContainer into RenderSVGModelObject.

  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderPath.cpp: (WebCore::RenderPath::RenderPath):
  • rendering/RenderPath.h:
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer):
  • rendering/RenderSVGContainer.h:
  • rendering/RenderSVGModelObject.cpp: Added. (WebCore::RenderSVGModelObject::RenderSVGModelObject):
  • rendering/RenderSVGModelObject.h: Added. (WebCore::RenderSVGModelObject::requiresLayer):
  • rendering/RenderTreeAsText.cpp:
  • rendering/SVGRenderTreeAsText.cpp:
15:22 Changeset [42560] by justin.garcia@apple.com
  • 2 edits in trunk/LayoutTests/platform/win

Fixed an expected result and added a test to the Skipped list while I investigate why its expected results didn't change.

14:32 Changeset [42559] by sfalken@apple.com
  • 3 edits in trunk/WebCore

<rdar://problem/6785760> WebCore should use a maximum of 6 connections per host, not 4

Reviewed by Adam Roben.

  • platform/network/ResourceRequestBase.cpp:
  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::initializeMaximumHTTPConnectionCountPerHost):
14:30 Changeset [42558] by sfalken@apple.com
  • 4 edits in trunk/WebKitLibraries

Updated WebKitSystemInterface for Windows.
Changes needed for <rdar://problem/6785760>

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h:
  • win/lib/WebKitSystemInterface.lib:
  • win/lib/WebKitSystemInterface_debug.lib:
13:28 Changeset [42557] by weinig@apple.com
  • 3 edits in trunk/WebCore

2009-04-15 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Add special casing to bindings generator so that custom functions
starting with xml or xslt conform to WebKit style guidelines.

  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::xmlHttpRequest): (WebCore::JSDOMWindow::xsltProcessor):
  • bindings/scripts/CodeGenerator.pm:
13:25 Changeset [42556] by aroben@apple.com
  • 2 edits in trunk/WebKitTools

Skip yet another JavaScriptCore test that sometimes fails on Windows

See Bug 25160: Various ecma/Date tests sometimes fail on Windows (but
not Mac)
<https://bugs.webkit.org/show_bug.cgi?id=25160>

  • Scripts/run-javascriptcore-tests: Skip ecma/Date/15.9.2.2-2.js (who didn't see it coming?).
13:24 Changeset [42555] by eric@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Simon Fraser.

Remove more dead code from RenderSVGHiddenContainer.

lineHeight and baselinePosition used to be on RenderSVGContainer
(of which this is a subclass) because RenderSVGContainer used
to be a RenderBox and always the renderer for <svg>
Now <svg> uses RenderSVGRoot when needing a RenderBox (inside HTML)
and RenderSVGViewportContainer (when inside SVG content)
so there is no need for RenderSVGHiddenContainer to have these HTML-specific methods.

  • rendering/RenderSVGHiddenContainer.cpp:
  • rendering/RenderSVGHiddenContainer.h:
13:01 Changeset [42554] by eric@webkit.org
  • 6 edits in trunk/WebCore

Reviewed by Simon Fraser.

Remove unneeded (broken) code from SVG renderers
https://bugs.webkit.org/show_bug.cgi?id=25214

Mostly due to my historical confusions about the render tree
and some methods not being removed after classes were split.

RenderSVGRoot is an RenderBox and should just use all the
standard RenderBox methods for inspector and repaint rects.

RenderSVGContainer is *not* a RenderBox (any more) and thus
doesn't need lineHeight or width/height or calcBounds.

RenderSVGViewportContainer had some broken code which tried
to see if the click was inside the container at all, but it
was using width/height metrics based off of the containing
block (from calcWidth) which is wrong (since its real
width/height are from its containing viewport not containing block).

  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): (WebCore::RenderSVGContainer::layout):
  • rendering/RenderSVGContainer.h:
  • rendering/RenderSVGRoot.cpp:
  • rendering/RenderSVGRoot.h:
  • rendering/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::layout): (WebCore::RenderSVGViewportContainer::nodeAtPoint):
12:42 Changeset [42553] by justin.garcia@apple.com
  • 2 edits in trunk/LayoutTests

Updated expected result for a text dragging test that pastes text on Windows but not on Mac (which is expected).

12:33 Changeset [42552] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Simon Fraser and Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=25217
Simplify nearestViewportElement and farthestViewportElement using isViewportElement and a for loop
Add ASSERT(element) to all these functions since they should never be passed a null element.

  • svg/SVGLocatable.cpp: (WebCore::isViewportElement): (WebCore::SVGLocatable::nearestViewportElement): (WebCore::SVGLocatable::farthestViewportElement): (WebCore::SVGLocatable::getBBox): (WebCore::SVGLocatable::getCTM): (WebCore::SVGLocatable::getScreenCTM):
11:41 Changeset [42551] by weinig@apple.com
  • 2 edits in trunk/WebCore

2009-04-15 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Remove support for the ObjCIvar extended attribute from the Objective-C
bindings generator. It is not used anymore.

  • bindings/scripts/CodeGeneratorObjC.pm:
11:30 Changeset [42550] by eric.carlson@apple.com
  • 2 edits in trunk/LayoutTests

2009-04-15 Eric Carlson <eric.carlson@apple.com>

Fix incorrect expected result.

  • http/tests/security/local-video-source-from-remote-expected.txt:
11:22 Changeset [42549] by justin.garcia@apple.com
  • 15 edits in trunk

WebCore:

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

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=25204
Create a fast path for ReplaceSelectionCommand that merges text nodes


During simple pastes, where we're just pasting a text node into a run of text, we would split the current
text and insert the new node in between. This is slow and we hit this bug:

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

in the layout and rendering code where adjacent text nodes don't shape correctly in Arabic.


This change creates a fast path for ReplaceSelectionCommand that inserts text directly into the
text node that holds the selection (very similar to the fast path we wrote for InsertTextCommand).

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): (WebCore::ReplaceSelectionCommand::performTrivialReplace):
  • editing/ReplaceSelectionCommand.h:
  • editing/TextIterator.cpp:

LayoutTests:

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

Reviewed by Dan Bernstein.


https://bugs.webkit.org/show_bug.cgi?id=25204
Create a fast path for ReplaceSelectionCommand that merges text nodes


Simplified DOM/Render trees:

  • editing/pasteboard/4840662-expected.txt:
  • platform/mac/editing/pasteboard/bad-placeholder-expected.txt:
  • platform/mac/editing/pasteboard/paste-match-style-001-expected.txt:
  • platform/mac/editing/pasteboard/paste-text-019-expected.txt:
  • platform/mac/editing/pasteboard/paste-xml-expected.txt:

Removed redundant styles that were generated during nesting prevention that is no longer needed:

  • platform/mac/editing/pasteboard/4076267-2-expected.txt:
  • platform/mac/editing/pasteboard/5156401-1-expected.txt:


No longer incorrectly uncollapsing unrendered whitespace:

  • editing/pasteboard/paste-into-anchor-text-expected.txt:
  • platform/mac/editing/pasteboard/5387578-expected.txt:


No longer invalidating the old selected DOM range during a paste:

  • editing/pasteboard/copy-in-password-field-expected.txt:
11:18 Changeset [42548] by darin@chromium.org
  • 4 edits
    2 adds in trunk/WebCore

2009-04-15 Adam Langley <agl@google.com>

Reviewed by Darin Fisher.

Move VDMX parsing into the Chromium Linux port.

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

VDMX tables are optional tables in TrueType fonts which contain the
exact pixel height of a given font at a given pel size. In order to
match Windows font metrics we have to use these numbers.

Previously, the parsing was performed in Skia. As part of the merge
with upstream Skia, an interface for getting table data from a font
has been added to Skia and we're moving the parsing into WebKit.

This does not change any layout tests.

  • platform/graphics/chromium/FontPlatformDataLinux.cpp: (WebCore::FontPlatformData::uniqueID):
  • platform/graphics/chromium/FontPlatformDataLinux.h:
  • platform/graphics/chromium/FontTrueTypeLinux.cpp: Added.
  • platform/graphics/chromium/FontTrueTypeLinux.h: Added.
  • platform/graphics/chromium/SimpleFontDataLinux.cpp: (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformWidthForGlyph):
11:15 Changeset [42547] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-04-15 Stephen White <senorblanco@chromium.org>

Reviewed by Dimitri Glazkov.

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

Restore stroked outlines to PlatformContextSkia::drawRect().
These were removed inadvertently in r41805, aka
https://bugs.webkit.org/show_bug.cgi?id=24662.
SkRect is { left, top, right, bottom }, not { left, top, width, height }.

  • platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::drawRect):
11:14 Changeset [42546] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • fix <rdar://problem/6777374> Generated content with display: run-in causes a crash

Test: fast/runin/generated.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::handleRunInChild): Check if the run-in block is generated, and if so, make the RenderInline anonymous instead of passing a 0 node to the RenderInline constructor. If the run-in itself is generated, do move :before and :after children from the block into the inline, as they will not be regenerated. Changed nested ifs into early returns.

LayoutTests:

Reviewed by Dave Hyatt.

  • test for <rdar://problem/6777374> Generated content with display: run-in causes a crash
  • fast/runin/generated.html: Added.
  • platform/mac/fast/runin/generated-expected.checksum: Added.
  • platform/mac/fast/runin/generated-expected.png: Added.
  • platform/mac/fast/runin/generated-expected.txt: Added.
11:13 Changeset [42545] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-04-15 Eric Roman <eroman@chromium.org>

Reviewed by Geoffrey Garen.

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

Expose DOMWindow::removeInlineEventListenerForType and
DOMWindow::inlineEventListenerForType as public.

  • page/DOMWindow.h:
11:06 Changeset [42544] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-04-14 Eric Roman <eroman@chromium.org>

Reviewed by Darin Adler.

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

Wrap RegisteredEventListener's markEventListeners and invalidateEventListeners
in a USE(JSC), since it doesn't compile with V8 bindings.

  • dom/RegisteredEventListener.h:
10:26 Changeset [42543] by eric.carlson@apple.com
  • 3 edits
    1 add
    1 delete in trunk/LayoutTests

2009-04-15 Eric Carlson <eric.carlson@apple.com>

Reviewed by Alexey Proskuryakov.

Use a media file inside of LayoutTests/http/ so a cgi isn't necessary to load
it. Fixes a test failure introduced in r42533.

  • http/tests/resources/silence.mpg: Added.
  • http/tests/security/local-video-source-from-remote-expected.txt:
  • http/tests/security/local-video-source-from-remote.html: change the remote url, update a comment.
  • http/tests/security/resources/load-media.cgi: Removed.
10:20 Changeset [42542] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-04-15 Eric Roman <eroman@chromium.org>

Reviewed by Darin Adler.

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

Fix a caller of Settings::javaScriptCanOpenWindowsAutomatically() to
use the new name.

  • bindings/v8/custom/V8DOMWindowCustom.cpp:
08:25 Changeset [42541] by ap@webkit.org
  • 2 edits in trunk/WebKitSite

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=25186
There is no XSLT component in bugzilla

  • projects/xslt/index.html: Changed to search by bug title.
08:09 Changeset [42540] by ariya@webkit.org
  • 4 edits in trunk/WebKit/qt

2009-04-15 Antonio Gomes <antonio.gomes@openbossa.org>

Reviewed by Ariya Hidayat.

Rename extend() method in QWebElementSelection to append().

  • Api/qwebelement.cpp: (QWebElementSelection::append):
  • Api/qwebelement.h:
  • tests/qwebelement/tst_qwebelement.cpp: (tst_QWebElement::appendSelection):
06:42 Changeset [42539] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-04-15 Antonio Gomes <antonio.gomes@openbossa.org>

Reviewed by Simon Hausmann.

Fixed nit/typo in QWebElement documentation.

06:24 WebKitFeatures edited by sascha@brawer.ch
Fixed broken links to www.css3.info (diff)
04:56 QtWebKitTodo edited by ariya@webkit.org
(diff)
04:50 QtWebKitTodo edited by elbunce@xendom.com
(diff)
04:48 QtWebKitTodo edited by elbunce@xendom.com
(diff)
00:31 Changeset [42538] by oliver@apple.com
  • 6 edits
    1 copy in trunk/JavaScriptCore

Move CallFrameClosure from inside the Interpreter class to its own file.

Reviewed by NOBODY(Build fix)

00:13 Changeset [42537] by oliver@apple.com
  • 10 edits
    2 adds in trunk

Bug 25202: Improve performance of repeated callbacks into the VM

Reviewed by Cameron Zwarich

Add the concept of a CachedCall to native code for use in Array
prototype and similar functions where a single callback function
is called repeatedly with the same number of arguments.

Used Array.prototype.filter as the test function and got a 50% win
over a naive non-caching specialised version. This makes the native
implementation of Array.prototype.filter faster than the JS one once
more.

04/14/09:

23:43 Changeset [42536] by ap@webkit.org
  • 5 edits in trunk/WebCore

Rubber-stamped by Darin Adler.

Don't keep platform objects for authentication challenge in ResourceHandleInternal.
We already have a copy in AuthenticationChallenge object.

  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::clearAuthentication):
  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal):
  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::receivedCredential): (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): (WebCore::ResourceHandle::receivedCancellation):
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::didCancelAuthenticationChallenge): (WebCore::ResourceHandle::receivedCredential): (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): (WebCore::ResourceHandle::receivedCancellation):
22:06 Changeset [42535] by simon.fraser@apple.com
  • 2 edits in trunk/WebKit/mac

2009-04-14 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

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

Move the run loop observer cleanup from -close
to -_close.

  • WebView/WebView.mm: (-[WebView _close]): (-[WebView close]):
21:19 Changeset [42534] by ggaren@apple.com
  • 2 edits in trunk/WebCore

2009-04-14 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Nixed some now-defunct autogeneration code.

  • bindings/scripts/CodeGeneratorJS.pm:
18:42 Changeset [42533] by eric.carlson@apple.com
  • 3 edits
    7 adds in trunk

2009-04-14 Eric Carlson <eric.carlson@apple.com>

Reviewed by NOBODY (OOPS!).


Fix <rdar://problem/6755724> <audio> and <video> elements can reference local
file:/// URLs from remote in Safari

Tests: http/tests/security/local-video-poster-from-remote.html

http/tests/security/local-video-source-from-remote.html
http/tests/security/local-video-src-from-remote.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::loadResource): Don't pass url to media engine if loader->canLoad() says it should not be loaded.

2009-04-14 Eric Carlson <eric.carlson@apple.com>

Reviewed by NOBODY (OOPS!).

Fix <rdar://problem/6755724> <audio> and <video> elements can reference local
file:/// URLs from remote in Safari

Test cases to ensure that local 'src', 'poster', and <source> are not loaded.

  • http/tests/security/local-video-poster-from-remote-expected.txt: Added.
  • http/tests/security/local-video-poster-from-remote.html: Added.
  • http/tests/security/local-video-source-from-remote-expected.txt: Added.
  • http/tests/security/local-video-source-from-remote.html: Added.
  • http/tests/security/local-video-src-from-remote-expected.txt: Added.
  • http/tests/security/local-video-src-from-remote.html: Added.
  • http/tests/security/resources/load-media.cgi: Added.
18:15 Changeset [42532] by weinig@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

2009-04-14 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Part of <rdar://problem/6150868>
Fix incorrect handling of content that needs to go into the head element
once the head element has been removed.

Test: fast/parser/head-content-after-head-removal.html

  • html/HTMLParser.cpp: (WebCore::HTMLParser::HTMLParser): Remove unneeded initializer of m_head. (WebCore::HTMLParser::handleError): Update since m_head is now a RefPtr. (WebCore::HTMLParser::createHead): Ditto.
  • html/HTMLParser.h: Make m_head a RefPtr.

LayoutTests:

2009-04-14 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Part of <rdar://problem/6150868>
Test for incorrect handling of content that needs to go into the head element
once the head element has been removed.

  • fast/parser/head-content-after-head-removal-expected.txt: Added.
  • fast/parser/head-content-after-head-removal.html: Added.
16:11 Changeset [42531] by ggaren@apple.com
  • 3 edits in trunk/WebCore

2009-04-14 Geoffrey Garen <ggaren@apple.com>

Used svn merge -r42529:42528 to roll out my last patch because it broke
the build.

  • bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): (WebCore::JSDOMGlobalObject::findJSProtectedEventListener): (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener): (WebCore::JSDOMGlobalObject::jsProtectedEventListeners): (WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners):
  • bindings/js/JSDOMGlobalObject.h:
15:58 Changeset [42530] by kov@webkit.org
  • 1 copy in releases/WebKitGTK/webkit-1.1.5

Tagging 1.1.5.

15:54 Changeset [42529] by ggaren@apple.com
  • 3 edits in trunk/WebCore

2009-04-14 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Nixed some now-dead code related to protected event listeners.

  • bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
  • bindings/js/JSDOMGlobalObject.h:
15:48 Changeset [42528] by ggaren@apple.com
  • 5 edits in trunk/WebCore

2009-04-14 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
Unbounded memory growth when churning elements with anonymous event handler functions

Stop using protected event listeners on SVGElementInstance.

  • bindings/js/JSSVGElementInstanceCustom.cpp: (WebCore::JSSVGElementInstance::mark): Mark our event listeners, since they're not protected anymore.

(WebCore::JSSVGElementInstance::addEventListener):
(WebCore::JSSVGElementInstance::removeEventListener): Make unprotected
event listeners, since we mark them now.

  • bindings/scripts/CodeGeneratorJS.pm: Autogenerate event listener invalidation for SVGElementInstance.
  • svg/SVGElementInstance.h: (WebCore::SVGElementInstance::eventListeners): Added an accessor, for the sake of autogenerated code.
  • svg/SVGElementInstance.idl: Removed the ProtectedEventListener attribute from event listener properties. Added a CustomMarkFunction attribute, since we need to mark our event listeners.
15:47 Changeset [42527] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2009-04-14 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

  • Speculative fix for <rdar://problem/6781422>

Protect the plug-in instance proxy in case it's deleted while waiting for a reply.

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::wheelEvent):
15:30 Changeset [42526] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Windows build fix

15:26 Changeset [42525] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

15:25 Changeset [42524] by mrowe@apple.com
  • 1 copy in tags/Safari-6530.6

New tag.

15:04 Changeset [42523] by aroben@apple.com
  • 2 edits in trunk/LayoutTests

Skip another test that sometimes times out on Windows

  • platform/win/Skipped: Added dom/html/level2/html/table29.html.
14:33 Changeset [42522] by xan@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-04-14 Xan Lopez <xlopez@igalia.com>

Fix the build.

Add the yarr headers (and only the headers) to the build, so that
RegExp.cpp can compile. The headers are ifdefed out with yarr
disabled, so we don't need anything else for now.

  • GNUmakefile.am:
14:23 Changeset [42521] by sfalken@apple.com
  • 100 edits in trunk/WebCore

Add header guards to WebCore forwarding headers.


Speeds up WebCore debug build on Windows by 12% on my system,
since Visual Studio appears to not optimize for standard header
guards in included files.


Rubber stamped by Ada Chan.

13:56 Changeset [42520] by aroben@apple.com
  • 2 edits in trunk/LayoutTests

Skip a test that sometimes times out on Windows

  • platform/win/Skipped: Added http/tests/incremental/slow-utf8-text.pl.
13:53 Changeset [42519] by weinig@apple.com
  • 3 edits in trunk/WebCore

2009-04-14 Sam Weinig <sam@webkit.org>

Reviewed by Adele Peterson.

Use a template function to generalize the way we create non-caching
JS function getters.

  • bindings/js/JSDOMWindowCustom.cpp:
  • bindings/js/JSDOMWindowCustom.h: (WebCore::nonCachingStaticFunctionGetter): (WebCore::JSDOMWindow::customGetOwnPropertySlot):
13:53 Changeset [42518] by aroben@apple.com
  • 2 edits in trunk/WebKitTools

Skip another JavaScriptCore test that sometimes fails on Windows

See Bug 25160: Various ecma/Date tests sometimes fail on Windows (but
not Mac)
<https://bugs.webkit.org/show_bug.cgi?id=25160>

Rubber-stamped by Geoff Garen.

  • Scripts/run-javascriptcore-tests: Skip ecma/Date/15.9.2.2-3.js.
13:46 Changeset [42517] by aroben@apple.com
  • 2 edits in trunk/LayoutTests

Skip a sometimes-failing test on Windows

Rubber-stamped by Simon Fraser.

  • platform/win/Skipped: Added transitions/zero-duration-with-non-zero-delay-end.html.
13:46 Changeset [42516] by hausmann@webkit.org
  • 3 edits in trunk

2009-04-14 Benjamin C Meyer <benjamin.meyer@torchmobile.com>

Reviewed by George Staikos.

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

When creating a QNetworkRequest make sure to populate the
CacheLoadControlAttribute with the value set by the ResourceRequest::cachePolicy() so that the cache will be used as WebKit expects.

13:14 Changeset [42515] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-04-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>

Reviewed by Simon Hausmann.

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

Fix linking against QtWebKit for Symbian and other platforms
where the OS ABI distinguishes between an import or an export situation.

12:53 Changeset [42514] by adele@apple.com
  • 3 edits in trunk/WebKit/mac

2009-04-14 Adele Peterson <adele@apple.com>

Reviewed by Darin.

Initialize WebKitSystemInterface in class methods that could get called before a WebView/WebFrame is set up. This was causing Mail to crash on launch.

  • Misc/WebCache.mm: (+[WebCache initialize]):
  • WebView/WebView.mm: (+[WebView initialize]):
12:25 Changeset [42513] by kevino@webkit.org
  • 2 edits in trunk/WebKitTools

Build fix. Move the DerivedSources.make calls into build-wxwebkit so that the FEATURE_DEFINES are parsed properly.

12:06 Changeset [42512] by timothy@apple.com
  • 4 edits in trunk/WebCore

Fix a world leak caused by opening the Web Inspector. This was
a regression caused by the InspectorController becoming refcounted.

<rdar://problem/6782944>

Reviewed by Darin Adler.

  • bindings/js/ScriptObject.cpp: (WebCore::ScriptGlobalObject::get): Renamed to better match the other functions. (WebCore::ScriptGlobalObject::remove): Added. Deletes the property.
  • bindings/js/ScriptObject.h:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::~InspectorController): Do less work at destruction time since the object lifetime is tied to JS GC. Assert that inspectedPageDestroyed cleared everything needed. (WebCore::InspectorController::inspectedPageDestroyed): Do most of the work that ~InspectorController was doing. (WebCore::InspectorController::scriptObjectReady): Renamed getObject.
11:59 Changeset [42511] by dimich@chromium.org
  • 1 edit in trunk/WebCore/ChangeLog

2009-04-14 Dmitry Titov <dimich@chromium.org>

Fixing ChangeLog.

11:55 Changeset [42510] by dimich@chromium.org
  • 3 edits in trunk/WebCore

2009-04-14 Antony Sargent <asargent@chromium.org>

Reviewed by Dimitri Glazkov.

This is some cleanup motivated by the crash in http://crbug.com/9775 , which
happens because of calling window.open inside a window.onload handler.

These changes are just part of the fix, along with some asserts to help prevent
breakage on future changes.

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

  • bindings/v8/V8EventListenerList.cpp: (WebCore::V8EventListenerList::add): (WebCore::V8EventListenerList::remove): (WebCore::V8EventListenerList::clear):
  • bindings/v8/V8EventListenerList.h: (WebCore::V8EventListenerList::size):
11:55 Changeset [42509] by dimich@chromium.org
  • 2 edits in trunk/WebCore

2009-04-14 Evan Martin <evan@chromium.org>

Reviewed by Darin Adler.

Fix a race that can occur between flex and the perl script that parses
its output.

  • css/maketokenizer: Consume all input.
11:55 Changeset [42508] by dimich@chromium.org
  • 2 edits in trunk/WebCore

2009-04-14 Rohit Rao <rohitrao@google.com>

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=25184
Do not change the text color for selected text in Mac Chromium.

  • rendering/RenderThemeChromiumMac.h: (WebCore::RenderThemeChromiumMac::supportsSelectionForegroundColors): Now returns false, matching the behavior of Safari on Mac.
11:48 Changeset [42507] by justin.garcia@apple.com
  • 11 edits in trunk/WebCore

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

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=25172
Extra partial layout during the first keypress in an empty block


Determining if a placeholder needs to be removed requires the creation of a VisiblePosition
which was triggering layout before we were finished modifying the DOM for the insert operation.


Find out if we need to remove a placeholder near the start of the operation, and if we do remember
where it's located. Then, later, remove it along with all of the other DOM operations we perform.


Renamed lineBreakExistsAtPosition to lineBreakExistsAtVisiblePosition and added a lineBreakExistsAtPosition
that takes in a Position. In InsertTextCommand, we can use the latter, since we normalize manually.


removePlaceholderAt now takes in a Position that it assumes has already been checked for a placeholder.


No test added as this only effects performance.

  • editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply):
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::removePlaceholderAt): (WebCore::CompositeEditCommand::moveParagraphs): (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
  • editing/CompositeEditCommand.h:
  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): (WebCore::DeleteSelectionCommand::doApply):
  • editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::doApply):
  • editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
  • editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply):
  • editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input):
  • editing/htmlediting.cpp: (WebCore::lineBreakExistsAtVisiblePosition): (WebCore::lineBreakExistsAtPosition):
  • editing/htmlediting.h:
11:35 Changeset [42506] by aroben@apple.com
  • 6 edits in trunk

Remove support for profile-guided optimization on Windows

JavaScriptCore:

Remove support for profile-guided optimization on Windows

Rubber-stamped by Steve Falkenburg.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Removed the Release_PGO configuration. Also let VS re-order the source files list.

WebCore:

Remove support for profile-guided optimization on Windows

Rubber-stamped by Steve Falkenburg.

  • WebCore.vcproj/WebCore.vcproj: Removed the Release_PGO configuration.

WebKit/win:

Remove support for profile-guided optimization on Windows

Rubber-stamped by Steve Falkenburg.

  • WebKit.vcproj/WebKit.vcproj: Removed the Release_PGOInstrument and Release_PGOOptimize configurations.
11:32 Changeset [42505] by xan@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-04-14 Xan Lopez <xlopez@igalia.com>

Unreviewed build fix.

  • GNUmakefile.am:
11:15 Changeset [42504] by dimich@chromium.org
  • 5 edits in trunk/WebCore

2009-04-14 Dmitry Titov <dimich@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25163
Upstream fix for releasing v8 objects on worker thread termination in Chromium.

  • bindings/v8/V8DOMMap.cpp: (WebCore::domDataList): Now uses Vector instead of HashMap. (WebCore::domDataListMutex): (WebCore::ThreadSpecificDOMData::ThreadSpecificDOMData): remove usage of currentThread(); (WebCore::ThreadSpecificDOMData::~ThreadSpecificDOMData): ditto. (WebCore::NonMainThreadSpecificDOMData::~NonMainThreadSpecificDOMData): moved call to removeAllDOMObjectsInCurrentThread() to ~WorkerScriptController. (WebCore::handleWeakObjectInOwningThread): (WebCore::derefDelayedObjects): (WebCore::removeAllDOMObjectsInCurrentThread): not static anymore.
  • bindings/v8/V8DOMMap.h:
  • bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::dispose): removed code that avoided dual-dereference of WorkerContext. (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): this ref() is countered in removeAllDOMObjectsInCurrentThread(), when the WorkerContext is removed from the v8 map.
  • bindings/v8/WorkerScriptController.cpp: (WebCore::WorkerScriptController::~WorkerScriptController):
11:08 Changeset [42503] by aroben@apple.com
  • 2 edits
    7 adds in trunk/WebCore

Fix Bug 25183: Split up WebCore.vcproj's settings into vsprops files

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

WebCore.vcproj now uses a set of .vsprops files to store most of its
settings.

Reviewed by Darin Adler.

  • WebCore.vcproj/WebCore.vcproj: Moved settings from here into the new .vsprops files.
  • WebCore.vcproj/WebCoreCFNetwork.vsprops: Added. Contains settings for ports that build against CFNetwork.
  • WebCore.vcproj/WebCoreCG.vsprops: Added. Contains settings for ports that build against CoreGraphics.
  • WebCore.vcproj/WebCoreCURL.vsprops: Added. Contains settings for ports that build against libcurl.
  • WebCore.vcproj/WebCoreCairo.vsprops: Added. Contains settings for ports that build against Cairo.
  • WebCore.vcproj/WebCoreCommon.vsprops: Added. Contains settings shared by all ports.
  • WebCore.vcproj/WebCoreMediaQT.vsprops: Added. Contains settings for ports that use QTMovieWin to implement the MediaPlayerPrivate interface.
  • WebCore.vcproj/WebCorePthreads.vsprops: Added. Contains settings for ports that build against pthreads.
10:56 Changeset [42502] by ap@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.

http/tests/xmlhttprequest/basic-auth.html fails on Tiger.

Turns out that NSURLCredentialPersistenceNone doesn't work on Tiger, so we have to use
session persistence.

  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Route the credential through receivedCredential(), ensuring that the Tiger-specific need to use session credentials is honored. (WebCore::ResourceHandle::receivedCredential): On Tiger, change PersistenceNone to PersistenceForSession, because the former doesn't work.
10:40 Changeset [42501] by adele@apple.com
  • 2 edits
    4 adds in trunk

2009-04-13 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for <rdar://problem/6703873> Triple-click quoted line and type Return creates an extra quoted blank line

Test: editing/inserting/6703873.html

  • editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): If the startNode's original parent is now empty, we can remove it. Its already been cloned and copied with the startNode, so we only need to keep it around if it actually holds some original content, otherwise it will look like an extra empty container in the document.
09:52 Changeset [42500] by kov@webkit.org
  • 3 edits in trunk/WebKit/gtk

2009-04-14 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Unreviewed. Update gtk-doc control and base sgml files for 1.1.5.

  • docs/webkitgtk-docs.sgml:
  • docs/webkitgtk-sections.txt:
09:44 Changeset [42499] by xan@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-04-14 Xan Lopez <xlopez@igalia.com>

  • NEWS: updated for 1.1.5 release.
09:14 Changeset [42498] by xan@webkit.org
  • 2 edits in trunk

2009-04-14 Xan Lopez <xlopez@igalia.com>

Unreviewed version bump in preparation for 1.1.5 release.

  • configure.ac:
08:56 Changeset [42497] by xan@webkit.org
  • 2 edits in trunk/WebCore

2009-04-14 Xan Lopez <xlopez@igalia.com>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=21546
[GTK] ATK accessibility enhancements

Add a proper implementation of AtkText::get_text and
AtkText::get_character_count, which takes into account non
TextControl text. With this the 'Text' field in Accerciser's
Interface Viewer is filled correctly.

  • page/gtk/AccessibilityObjectWrapperAtk.cpp:
08:56 Changeset [42496] by xan@webkit.org
  • 2 edits in trunk/WebCore

2009-04-14 Xan Lopez <xlopez@igalia.com>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=21546
[GTK] ATK accessibility enhancements

Remove some dead code and g_return_if_fail from static functions.

  • page/gtk/AccessibilityObjectWrapperAtk.cpp:
08:56 Changeset [42495] by xan@webkit.org
  • 2 edits in trunk/WebCore

2009-04-14 Xan Lopez <xlopez@igalia.com>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=21546
[GTK] ATK accessibility enhancements

Also implement text interface for StaticTextRole, which covers
most of the text in web pages.

  • page/gtk/AccessibilityObjectWrapperAtk.cpp:
08:07 Changeset [42494] by hausmann@webkit.org
  • 4 edits in trunk/WebKit/qt

2009-04-14 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>

Reviewed by Tor Arne Vestbø.

Rename QWebElement::setHtml and html to setXml and toXml respectivily.

Also add a mean to define the scope (inner or other).

07:53 Changeset [42493] by aroben@apple.com
  • 1 edit
    2 copies
    2 adds in trunk/LayoutTests

Land updated Windows results for two tests changed by r42471

Rubber-stamped by Anders Carlsson.

  • platform/win/css1/text_properties/text_transform-expected.txt: Copied from LayoutTests/platform/mac-leopard/css1/text_properties/text_transform-expected.txt.
  • platform/win/css2.1/t1605-c545-txttrans-00-b-ag-expected.txt: Copied from LayoutTests/platform/mac-leopard/css2.1/t1605-c545-txttrans-00-b-ag-expected.txt.
07:53 Changeset [42492] by aroben@apple.com
  • 2 edits in trunk/WebKitTools

Small run-javascriptcore-tests cleanup

Reviewed by Cameron Zwarich.

  • Scripts/run-javascriptcore-tests: Move the list of tests to skip into its own variable, annotated with the bugs that are filed about the various failures.
07:52 Changeset [42491] by aroben@apple.com
  • 2 edits in trunk/WebKitTools

Skip another sometimes-failing ecma/Date test on Windows

These failing tests are covered by Bug 25160: Various ecma/Date tests
sometimes fail on Windows (but not Mac)
<https://bugs.webkit.org/show_bug.cgi?id=25160>

Reviewed by Cameron Zwarich.

  • Scripts/run-javascriptcore-tests: Added ecma/Date/15.9.2.1.js to the list of tests to skip.
07:37 QtWebKitTodo edited by hausmann@webkit.org
(diff)
07:30 QtWebKitJournal edited by hausmann@webkit.org
(diff)
07:08 Changeset [42490] by hausmann@webkit.org
  • 4 edits in trunk/WebKit/qt

2009-04-14 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>

Reviewed by Tor Arne Vestbø.

Rename QWebElement::setText() and text() to ::setPlainText and
::toPlainText, respectively.

06:31 QtWebKitTodo edited by hausmann@webkit.org
(diff)
06:17 QtWebKitTodo edited by hausmann@webkit.org
(diff)
06:12 QtWebKitTodo edited by hausmann@webkit.org
(diff)
05:15 QtWebKitTodo edited by hausmann@webkit.org
(diff)
05:14 QtWebKitTodo edited by hausmann@webkit.org
(diff)
04:55 QtWebKitGitInstructions edited by hausmann@webkit.org
(diff)
04:54 QtWebKitGitInstructions edited by hausmann@webkit.org
(diff)
04:43 QtWebKitTodo edited by hausmann@webkit.org
(diff)
04:30 QtWebKitJournal edited by hausmann@webkit.org
(diff)
04:30 Changeset [42489] by jmalonzo@webkit.org
  • 5 edits in trunk

2009-04-14 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Holger Freyther.

[Gtk] disable soup auth dialog when running DRT
https://bugs.webkit.org/show_bug.cgi?id=24598

Disable soup's auth dialog when running the tests.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (setDefaultsToConsistentStateValuesForTesting):
  • GNUmakefile.am:

2009-04-14 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Holger Freyther.

[Gtk] disable soup auth dialog when running DRT
https://bugs.webkit.org/show_bug.cgi?id=24598

Enable http/tests/xmlhttprequest/failed-auth.html test. We should
be able to run this test in non-interactive mode

  • platform/gtk/Skipped:
04:16 Changeset [42488] by jmalonzo@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-04-14 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk build fix when building minidom. Not reviewed.

Use C-style comment instead of C++ style since autotools builds
minidom using gcc and not g++.

  • wtf/Platform.h:
03:19 Changeset [42487] by mrowe@apple.com
  • 3 edits in trunk/WebKitLibraries

Update WebKitSystemInterface so that the Tiger portion supports PowerPC.

  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
01:41 Changeset [42486] by ap@webkit.org
  • 2 edits in trunk/WebCore

Another Windows build fix.

  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::WebCoreSynchronousLoader::load):
01:24 Changeset [42485] by ap@webkit.org
  • 2 edits in trunk/WebCore

Windows build fix.

  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::WebCoreSynchronousLoader::willSendRequest): (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
01:16 Changeset [42484] by ap@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

Removed mentions of tests from ChangeLog - I'll land those once OS-level support for this feature is in.

01:11 Changeset [42483] by ap@webkit.org
  • 26 edits in trunk/WebCore

Reviewed by Sam Weinig.

<rdar://problem/6698851> Implement XMLHttpRequest withCredentials attribute

Tests: http/tests/xmlhttprequest/cross-origin-authorization.html

http/tests/xmlhttprequest/cross-origin-no-authorization.html

  • WebCore.xcodeproj/project.pbxproj: Made ThreadableLoader.h private, as enum definitions from it are now used in otehr private headers.
  • xml/XMLHttpRequest.h:
  • xml/XMLHttpRequest.idl: Added withCredentials attribute. When it is false (default), neither credentials nor cookies are sent with cross origin requests, When it is true, those are sent, but the server needs to allow handling results via Access-Control-Allow-Credentials header. It was always possible to send a cross-site request with credentials via IFRAME or IMG, so this just adds a way to read results, as long as the server reports that it's allowed. Having the default set to false ensures that requests won't fail unexpectedly because of stored credentials and cookies for other resources in the target protection space.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::loadRequestSynchronously): Allow stored credentials for same origin requests, and for cross origin ones that have withCredentials attribute set. Such code already existed for cookies (but it's simpler, because we could just set a ResourceRequest flag). (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
  • platform/network/ResourceHandle.h: Added willSendRequest() - just like for other callbacks, is is easier to have code in the class. Also, loadResourceSynchronously() now takes a StoredCredentials option, matching async case.
  • platform/network/ResourceHandleClient.h: (WebCore::ResourceHandleClient::receivedCredential): Removed. This method could never be called, and no client used it. (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential): Ditto.
  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal): Split username and password out of request URL. We want to always get a callback for credentials to manage them in WebCore, so network back-end shouldn't see them too early.
  • platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::removeCredentials):
  • platform/network/ResourceRequestBase.h: Added a removeCredentials() method that removes login and password parts from request URL.
  • platform/network/mac/ResourceHandleMac.mm: (WebCoreCredentialStorage): Added a simple storage class for per-session credentials. (WebCore::ResourceHandle::loadResourceSynchronously): Pass allowStoredCredentials through. (WebCore::ResourceHandle::willSendRequest): On a redirect, credentials should be replaced. (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Try credentials from the URL and per-session credentials. Code was partially moved from Obj-C callback. (WebCore::ResourceHandle::receivedCredential): Intercept per-session credentials and store them in WebCore storage. (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Don't store the redirected URL - we only needed credentials, which are now stored separately. (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): Removed code that was setting credentials from URL. First, the code is now in ResourceHandle, and also, it wasn't actually needed in Leopard release before this patch, see <rdar://problem/5298142>. (-[WebCoreSynchronousLoader dealloc]): Release credentials. Note that unlike ResourceHandle, this class still needs to track URL for checking whether a redirect is allowed. This is not a great solution, and we should unify client code to use the same checks in sync and async cases. (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Just like in async case, put credentials aside to ensure that network back-end asks for them. (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Use credentials from URL, or from WebCore storage. (-[WebCoreSynchronousLoader connectionShouldUseCredentialStorage:]): Don't use stored credentials when not allowed to. (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Put credentials aside to ensure that network back-end asks for them.
  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::WebCoreCredentialStorage::set): (WebCore::WebCoreCredentialStorage::get): (WebCore::willSendRequest): (WebCore::ResourceHandle::start): (WebCore::ResourceHandle::willSendRequest): (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::receivedCredential): (WebCore::ResourceHandle::loadResourceSynchronously): (WebCore::WebCoreSynchronousLoader::willSendRequest): (WebCore::WebCoreSynchronousLoader::didReceiveChallenge): (WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage): (WebCore::WebCoreSynchronousLoader::load): Same changes as in Mac case.
  • platform/network/curl/ResourceHandleCurl.cpp: (WebCore::ResourceHandle::loadResourceSynchronously):
  • platform/network/qt/ResourceHandleQt.cpp: (WebCore::ResourceHandle::loadResourceSynchronously):
  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandle::loadResourceSynchronously): Trying not to break the build.
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::openFunc):
  • xml/XSLTProcessor.cpp: (WebCore::docLoaderFunc): Unconditionally allow stored credentials for these, as they only support same origin loads.
  • workers/WorkerContext.cpp: (WebCore::WorkerContext::importScripts): WorkerContext.importScripts() can be cross-origin, but sending credentials with it is no worse than sending them with <script src=...>, so this is also unconditionally allowed.
  • loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Pass through storedCredentials. (WebCore::DocumentThreadableLoader::create): Ditto. (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Save storedCredentials and sameOrigin flags foruse in callbacks. (WebCore::DocumentThreadableLoader::willSendRequest): Assert that loaders aren't all confused. (WebCore::DocumentThreadableLoader::didSendData): Ditto. (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto. (WebCore::DocumentThreadableLoader::didReceiveData): Ditto. (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto. (WebCore::DocumentThreadableLoader::didFail): Ditto. (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Don't use credential storage if that's not allowed by the code that invoked DocumentThreadableLoader. (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Simulate a failure and cancel the request if we are about to ask the user for credentials for a cross-origin request, which is forbidden by CORS (and would have been very confusing if allowed). (WebCore::DocumentThreadableLoader::receivedCancellation): Assert that loaders aren't all confused.
  • loader/DocumentThreadableLoader.h: Updated for the new flags (storedCredentials and sameOrigin) that affect the loader. Eventually, we need to move all CORS logic from XHR here.
  • loader/ThreadableLoader.h: (StoredCredentials): Added another flag that affects loader behavior. We should combine all of these into a structure, and use it for sync requests, too.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously):
  • loader/FrameLoader.h:
  • loader/ThreadableLoader.cpp: (WebCore::ThreadableLoader::create): (WebCore::ThreadableLoader::loadResourceSynchronously):
  • loader/WorkerThreadableLoader.cpp: (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): (WebCore::WorkerThreadableLoader::loadResourceSynchronously): (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
  • loader/WorkerThreadableLoader.h: (WebCore::WorkerThreadableLoader::create): Pass through storedCredentials.
00:19 Changeset [42482] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

speculative 'doze build fix

00:06 Changeset [42481] by barraclough@apple.com
  • 7 edits
    9 adds in trunk/JavaScriptCore

2009-04-13 Gavin Barraclough <barraclough@apple.com>

Reviewed by Cap'n Geoff Garen.

Yarr!
(Yet another regex runtime).

Currently disabled by default since the interpreter, whilst awesomely
functional, has not been optimized and is likely slower than PCRE, and
the JIT, whilst faster than WREC, is presently incomplete and does not
fallback to using an interpreter for the cases it cannot handle.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::move): (JSC::MacroAssemblerX86Common::swap): (JSC::MacroAssemblerX86Common::signExtend32ToPtr): (JSC::MacroAssemblerX86Common::zeroExtend32ToPtr): (JSC::MacroAssemblerX86Common::branch32): (JSC::MacroAssemblerX86Common::branch16):
  • assembler/X86Assembler.h: (JSC::X86Assembler::cmpw_im): (JSC::X86Assembler::testw_rr): (JSC::X86Assembler::X86InstructionFormatter::immediate16):
  • runtime/RegExp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::~RegExp): (JSC::RegExp::create): (JSC::RegExp::compile): (JSC::RegExp::match):
  • runtime/RegExp.h:
  • wtf/Platform.h:
  • yarr: Added.
  • yarr/RegexCompiler.cpp: Added. (JSC::Yarr::CharacterClassConstructor::CharacterClassConstructor): (JSC::Yarr::CharacterClassConstructor::reset): (JSC::Yarr::CharacterClassConstructor::append): (JSC::Yarr::CharacterClassConstructor::putChar): (JSC::Yarr::CharacterClassConstructor::isUnicodeUpper): (JSC::Yarr::CharacterClassConstructor::isUnicodeLower): (JSC::Yarr::CharacterClassConstructor::putRange): (JSC::Yarr::CharacterClassConstructor::charClass): (JSC::Yarr::CharacterClassConstructor::addSorted): (JSC::Yarr::CharacterClassConstructor::addSortedRange): (JSC::Yarr::newlineCreate): (JSC::Yarr::digitsCreate): (JSC::Yarr::spacesCreate): (JSC::Yarr::wordcharCreate): (JSC::Yarr::nondigitsCreate): (JSC::Yarr::nonspacesCreate): (JSC::Yarr::nonwordcharCreate): (JSC::Yarr::RegexPatternConstructor::RegexPatternConstructor): (JSC::Yarr::RegexPatternConstructor::~RegexPatternConstructor): (JSC::Yarr::RegexPatternConstructor::reset): (JSC::Yarr::RegexPatternConstructor::assertionBOL): (JSC::Yarr::RegexPatternConstructor::assertionEOL): (JSC::Yarr::RegexPatternConstructor::assertionWordBoundary): (JSC::Yarr::RegexPatternConstructor::atomPatternCharacter): (JSC::Yarr::RegexPatternConstructor::atomBuiltInCharacterClass): (JSC::Yarr::RegexPatternConstructor::atomCharacterClassBegin): (JSC::Yarr::RegexPatternConstructor::atomCharacterClassAtom): (JSC::Yarr::RegexPatternConstructor::atomCharacterClassRange): (JSC::Yarr::RegexPatternConstructor::atomCharacterClassBuiltIn): (JSC::Yarr::RegexPatternConstructor::atomCharacterClassEnd): (JSC::Yarr::RegexPatternConstructor::atomParenthesesSubpatternBegin): (JSC::Yarr::RegexPatternConstructor::atomParentheticalAssertionBegin): (JSC::Yarr::RegexPatternConstructor::atomParenthesesEnd): (JSC::Yarr::RegexPatternConstructor::atomBackReference): (JSC::Yarr::RegexPatternConstructor::copyDisjunction): (JSC::Yarr::RegexPatternConstructor::copyTerm): (JSC::Yarr::RegexPatternConstructor::quantifyAtom): (JSC::Yarr::RegexPatternConstructor::disjunction): (JSC::Yarr::RegexPatternConstructor::regexBegin): (JSC::Yarr::RegexPatternConstructor::regexEnd): (JSC::Yarr::RegexPatternConstructor::regexError): (JSC::Yarr::RegexPatternConstructor::setupAlternativeOffsets): (JSC::Yarr::RegexPatternConstructor::setupDisjunctionOffsets): (JSC::Yarr::RegexPatternConstructor::setupOffsets): (JSC::Yarr::compileRegex):
  • yarr/RegexCompiler.h: Added.
  • yarr/RegexInterpreter.cpp: Added. (JSC::Yarr::Interpreter::appendParenthesesDisjunctionContext): (JSC::Yarr::Interpreter::popParenthesesDisjunctionContext): (JSC::Yarr::Interpreter::DisjunctionContext::DisjunctionContext): (JSC::Yarr::Interpreter::DisjunctionContext::operator new): (JSC::Yarr::Interpreter::allocDisjunctionContext): (JSC::Yarr::Interpreter::freeDisjunctionContext): (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::ParenthesesDisjunctionContext): (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::operator new): (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::restoreOutput): (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::getDisjunctionContext): (JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext): (JSC::Yarr::Interpreter::freeParenthesesDisjunctionContext): (JSC::Yarr::Interpreter::InputStream::InputStream): (JSC::Yarr::Interpreter::InputStream::next): (JSC::Yarr::Interpreter::InputStream::rewind): (JSC::Yarr::Interpreter::InputStream::read): (JSC::Yarr::Interpreter::InputStream::readChecked): (JSC::Yarr::Interpreter::InputStream::reread): (JSC::Yarr::Interpreter::InputStream::prev): (JSC::Yarr::Interpreter::InputStream::getPos): (JSC::Yarr::Interpreter::InputStream::setPos): (JSC::Yarr::Interpreter::InputStream::atStart): (JSC::Yarr::Interpreter::InputStream::atEnd): (JSC::Yarr::Interpreter::InputStream::checkInput): (JSC::Yarr::Interpreter::InputStream::uncheckInput): (JSC::Yarr::Interpreter::testCharacterClass): (JSC::Yarr::Interpreter::tryConsumeCharacter): (JSC::Yarr::Interpreter::checkCharacter): (JSC::Yarr::Interpreter::tryConsumeCharacterClass): (JSC::Yarr::Interpreter::checkCharacterClass): (JSC::Yarr::Interpreter::tryConsumeBackReference): (JSC::Yarr::Interpreter::matchAssertionBOL): (JSC::Yarr::Interpreter::matchAssertionEOL): (JSC::Yarr::Interpreter::matchAssertionWordBoundary): (JSC::Yarr::Interpreter::matchPatternCharacter): (JSC::Yarr::Interpreter::backtrackPatternCharacter): (JSC::Yarr::Interpreter::matchCharacterClass): (JSC::Yarr::Interpreter::backtrackCharacterClass): (JSC::Yarr::Interpreter::matchBackReference): (JSC::Yarr::Interpreter::backtrackBackReference): (JSC::Yarr::Interpreter::recordParenthesesMatch): (JSC::Yarr::Interpreter::resetMatches): (JSC::Yarr::Interpreter::resetAssertionMatches): (JSC::Yarr::Interpreter::parenthesesDoBacktrack): (JSC::Yarr::Interpreter::matchParenthesesOnceBegin): (JSC::Yarr::Interpreter::matchParenthesesOnceEnd): (JSC::Yarr::Interpreter::backtrackParenthesesOnceBegin): (JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd): (JSC::Yarr::Interpreter::matchParentheticalAssertionOnceBegin): (JSC::Yarr::Interpreter::matchParentheticalAssertionOnceEnd): (JSC::Yarr::Interpreter::backtrackParentheticalAssertionOnceBegin): (JSC::Yarr::Interpreter::backtrackParentheticalAssertionOnceEnd): (JSC::Yarr::Interpreter::matchParentheses): (JSC::Yarr::Interpreter::backtrackParentheses): (JSC::Yarr::Interpreter::matchTerm): (JSC::Yarr::Interpreter::backtrackTerm): (JSC::Yarr::Interpreter::matchAlternative): (JSC::Yarr::Interpreter::matchDisjunction): (JSC::Yarr::Interpreter::matchNonZeroDisjunction): (JSC::Yarr::Interpreter::interpret): (JSC::Yarr::Interpreter::Interpreter): (JSC::Yarr::ByteCompiler::ParenthesesStackEntry::ParenthesesStackEntry): (JSC::Yarr::ByteCompiler::ByteCompiler): (JSC::Yarr::ByteCompiler::compile): (JSC::Yarr::ByteCompiler::checkInput): (JSC::Yarr::ByteCompiler::assertionBOL): (JSC::Yarr::ByteCompiler::assertionEOL): (JSC::Yarr::ByteCompiler::assertionWordBoundary): (JSC::Yarr::ByteCompiler::atomPatternCharacter): (JSC::Yarr::ByteCompiler::atomCharacterClass): (JSC::Yarr::ByteCompiler::atomBackReference): (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternBegin): (JSC::Yarr::ByteCompiler::atomParentheticalAssertionBegin): (JSC::Yarr::ByteCompiler::popParenthesesStack): (JSC::Yarr::ByteCompiler::dumpDisjunction): (JSC::Yarr::ByteCompiler::closeAlternative): (JSC::Yarr::ByteCompiler::atomParenthesesEnd): (JSC::Yarr::ByteCompiler::regexBegin): (JSC::Yarr::ByteCompiler::regexEnd): (JSC::Yarr::ByteCompiler::alterantiveDisjunction): (JSC::Yarr::ByteCompiler::emitDisjunction): (JSC::Yarr::byteCompileRegex): (JSC::Yarr::interpretRegex):
  • yarr/RegexInterpreter.h: Added. (JSC::Yarr::ByteTerm::): (JSC::Yarr::ByteTerm::ByteTerm): (JSC::Yarr::ByteTerm::BOL): (JSC::Yarr::ByteTerm::CheckInput): (JSC::Yarr::ByteTerm::EOL): (JSC::Yarr::ByteTerm::WordBoundary): (JSC::Yarr::ByteTerm::BackReference): (JSC::Yarr::ByteTerm::AlternativeBegin): (JSC::Yarr::ByteTerm::AlternativeDisjunction): (JSC::Yarr::ByteTerm::AlternativeEnd): (JSC::Yarr::ByteTerm::PatternEnd): (JSC::Yarr::ByteTerm::invert): (JSC::Yarr::ByteTerm::capture): (JSC::Yarr::ByteDisjunction::ByteDisjunction): (JSC::Yarr::BytecodePattern::BytecodePattern): (JSC::Yarr::BytecodePattern::~BytecodePattern):
  • yarr/RegexJIT.cpp: Added. (JSC::Yarr::RegexGenerator::optimizeAlternative): (JSC::Yarr::RegexGenerator::matchCharacterClassRange): (JSC::Yarr::RegexGenerator::matchCharacterClass): (JSC::Yarr::RegexGenerator::jumpIfNoAvailableInput): (JSC::Yarr::RegexGenerator::jumpIfAvailableInput): (JSC::Yarr::RegexGenerator::checkInput): (JSC::Yarr::RegexGenerator::atEndOfInput): (JSC::Yarr::RegexGenerator::notAtEndOfInput): (JSC::Yarr::RegexGenerator::jumpIfCharEquals): (JSC::Yarr::RegexGenerator::jumpIfCharNotEquals): (JSC::Yarr::RegexGenerator::readCharacter): (JSC::Yarr::RegexGenerator::storeToFrame): (JSC::Yarr::RegexGenerator::loadFromFrame): (JSC::Yarr::RegexGenerator::TermGenerationState::TermGenerationState): (JSC::Yarr::RegexGenerator::TermGenerationState::resetAlternative): (JSC::Yarr::RegexGenerator::TermGenerationState::alternativeValid): (JSC::Yarr::RegexGenerator::TermGenerationState::nextAlternative): (JSC::Yarr::RegexGenerator::TermGenerationState::alternative): (JSC::Yarr::RegexGenerator::TermGenerationState::resetTerm): (JSC::Yarr::RegexGenerator::TermGenerationState::termValid): (JSC::Yarr::RegexGenerator::TermGenerationState::nextTerm): (JSC::Yarr::RegexGenerator::TermGenerationState::term): (JSC::Yarr::RegexGenerator::TermGenerationState::lookaheadTerm): (JSC::Yarr::RegexGenerator::TermGenerationState::isSinglePatternCharacterLookaheadTerm): (JSC::Yarr::RegexGenerator::TermGenerationState::inputOffset): (JSC::Yarr::RegexGenerator::TermGenerationState::jumpToBacktrack): (JSC::Yarr::RegexGenerator::TermGenerationState::setBacktrackGenerated): (JSC::Yarr::RegexGenerator::jumpToBacktrackCheckEmitPending): (JSC::Yarr::RegexGenerator::genertateAssertionBOL): (JSC::Yarr::RegexGenerator::genertateAssertionEOL): (JSC::Yarr::RegexGenerator::matchAssertionWordchar): (JSC::Yarr::RegexGenerator::genertateAssertionWordBoundary): (JSC::Yarr::RegexGenerator::genertatePatternCharacterSingle): (JSC::Yarr::RegexGenerator::genertatePatternCharacterPair): (JSC::Yarr::RegexGenerator::genertatePatternCharacterFixed): (JSC::Yarr::RegexGenerator::genertatePatternCharacterGreedy): (JSC::Yarr::RegexGenerator::genertatePatternCharacterNonGreedy): (JSC::Yarr::RegexGenerator::genertateCharacterClassSingle): (JSC::Yarr::RegexGenerator::genertateCharacterClassFixed): (JSC::Yarr::RegexGenerator::genertateCharacterClassGreedy): (JSC::Yarr::RegexGenerator::genertateCharacterClassNonGreedy): (JSC::Yarr::RegexGenerator::generateParenthesesSingleDisjunctionOneAlternative): (JSC::Yarr::RegexGenerator::generateParenthesesSingle): (JSC::Yarr::RegexGenerator::generateTerm): (JSC::Yarr::RegexGenerator::generateDisjunction): (JSC::Yarr::RegexGenerator::RegexGenerator): (JSC::Yarr::RegexGenerator::generate): (JSC::Yarr::jitCompileRegex): (JSC::Yarr::executeRegex):
  • yarr/RegexJIT.h: Added. (JSC::Yarr::RegexCodeBlock::RegexCodeBlock):
  • yarr/RegexParser.h: Added. (JSC::Yarr::): (JSC::Yarr::Parser::): (JSC::Yarr::Parser::CharacterClassParserDelegate::CharacterClassParserDelegate): (JSC::Yarr::Parser::CharacterClassParserDelegate::begin): (JSC::Yarr::Parser::CharacterClassParserDelegate::atomPatternCharacterUnescaped): (JSC::Yarr::Parser::CharacterClassParserDelegate::atomPatternCharacter): (JSC::Yarr::Parser::CharacterClassParserDelegate::atomBuiltInCharacterClass): (JSC::Yarr::Parser::CharacterClassParserDelegate::end): (JSC::Yarr::Parser::CharacterClassParserDelegate::assertionWordBoundary): (JSC::Yarr::Parser::CharacterClassParserDelegate::atomBackReference): (JSC::Yarr::Parser::CharacterClassParserDelegate::flush): (JSC::Yarr::Parser::CharacterClassParserDelegate::): (JSC::Yarr::Parser::Parser): (JSC::Yarr::Parser::parseEscape): (JSC::Yarr::Parser::parseAtomEscape): (JSC::Yarr::Parser::parseCharacterClassEscape): (JSC::Yarr::Parser::parseCharacterClass): (JSC::Yarr::Parser::parseParenthesesBegin): (JSC::Yarr::Parser::parseParenthesesEnd): (JSC::Yarr::Parser::parseQuantifier): (JSC::Yarr::Parser::parseTokens): (JSC::Yarr::Parser::parse): (JSC::Yarr::Parser::saveState): (JSC::Yarr::Parser::restoreState): (JSC::Yarr::Parser::atEndOfPattern): (JSC::Yarr::Parser::peek): (JSC::Yarr::Parser::peekIsDigit): (JSC::Yarr::Parser::peekDigit): (JSC::Yarr::Parser::consume): (JSC::Yarr::Parser::consumeDigit): (JSC::Yarr::Parser::consumeNumber): (JSC::Yarr::Parser::consumeOctal): (JSC::Yarr::Parser::tryConsume): (JSC::Yarr::Parser::tryConsumeHex): (JSC::Yarr::parse):
  • yarr/RegexPattern.h: Added. (JSC::Yarr::CharacterRange::CharacterRange): (JSC::Yarr::): (JSC::Yarr::PatternTerm::): (JSC::Yarr::PatternTerm::PatternTerm): (JSC::Yarr::PatternTerm::BOL): (JSC::Yarr::PatternTerm::EOL): (JSC::Yarr::PatternTerm::WordBoundary): (JSC::Yarr::PatternTerm::invert): (JSC::Yarr::PatternTerm::capture): (JSC::Yarr::PatternTerm::quantify): (JSC::Yarr::PatternAlternative::PatternAlternative): (JSC::Yarr::PatternAlternative::lastTerm): (JSC::Yarr::PatternAlternative::removeLastTerm): (JSC::Yarr::PatternDisjunction::PatternDisjunction): (JSC::Yarr::PatternDisjunction::~PatternDisjunction): (JSC::Yarr::PatternDisjunction::addNewAlternative): (JSC::Yarr::RegexPattern::RegexPattern): (JSC::Yarr::RegexPattern::~RegexPattern): (JSC::Yarr::RegexPattern::reset): (JSC::Yarr::RegexPattern::containsIllegalBackReference): (JSC::Yarr::RegexPattern::newlineCharacterClass): (JSC::Yarr::RegexPattern::digitsCharacterClass): (JSC::Yarr::RegexPattern::spacesCharacterClass): (JSC::Yarr::RegexPattern::wordcharCharacterClass): (JSC::Yarr::RegexPattern::nondigitsCharacterClass): (JSC::Yarr::RegexPattern::nonspacesCharacterClass): (JSC::Yarr::RegexPattern::nonwordcharCharacterClass):

04/13/09:

23:39 Changeset [42480] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Missed code from last patch

23:33 Changeset [42479] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2009-04-13 David Hyatt <hyatt@apple.com>

Reviewed by Cameron Zwarich.

Remove an outdated comment in ScrollView.h

  • platform/ScrollView.h:
23:24 Changeset [42478] by oliver@apple.com
  • 6 edits
    4 adds in trunk

BUG 25171: It should be possible to manually set the name of an anonymous function
<https://bugs.webkit.org/show_bug.cgi?id=25171>

Submitted by Francisco Tolmasky <francisco@280north.com>
Reviewed by Oliver Hunt.

This change adds the displayName property to functions, which when set overrides the
normal name when appearing in the console.

22:30 Moving to Git edited by jhaitas@gmail.com
trivial fix incorrect 'there' replaced with correct 'their' (diff)
22:03 Changeset [42477] by eric.carlson@apple.com
  • 2 edits in trunk/WebCore

2009-04-13 Eric Carlson <eric.carlson@apple.com>

Reviewed by Mark Rowe.

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

QTTrack's -media method always return NULL in 64-bit QTKit, so
MediaPlayerPrivate::disableUnsupportedTracks should use
QTTrackMediaTypeAttribute to get a track's type.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
21:52 Changeset [42476] by ggaren@apple.com
  • 8 edits in trunk/WebCore

2009-04-13 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.

More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
Unbounded memory growth when churning elements with anonymous event handler functions

Stop using protected event listeners on the window object.

  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::mark): Mark our event listeners, since they're no longer protected.

(WebCore::JSDOMWindow::addEventListener):
(WebCore::JSDOMWindow::removeEventListener): Create unprotected event
listeners, since we mark them now.

  • bindings/js/JSEventListener.h: Made some functions public so DOMWindow could call them.
  • bindings/js/JSNodeCustom.cpp: Moved markEventListeners to a header, so it could be shared.
  • bindings/scripts/CodeGeneratorJS.pm: Generate event listener marking and invalidating code for the DOMWindow.
  • dom/RegisteredEventListener.h: (WebCore::markEventListeners): (WebCore::invalidateEventListeners): Added helper functions.
  • page/DOMWindow.idl: Make the window's event listener attributes not protected.
21:13 Changeset [42475] by eric.carlson@apple.com
  • 2 edits in trunk/WebCore

2009-04-13 Eric Carlson <eric.carlson@apple.com>

Reviewed by Mark Rowe.

OS X standalone media documents should not switch from <video> to <embed> when
QTKit load state is QTMovieLoadStateLoading as that happens frequently when a loading
with a slow network connection or when a movie is not saved fast-start.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates): Don't open movie with plug-in when QTKit's loadstate is QTMovieLoadStateLoading, wait until it drops below QTMovieLoadStateError.
18:03 Changeset [42474] by dimich@chromium.org
  • 3 edits in trunk/WebCore

2009-04-13 Dmitry Titov <dimich@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=24453
REGRESSION: If setTimeout is called on a iframe's window, the DOM changes to
the main document that timer callback makes are not flushed.

  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute): Use Document::updateStyleForAllDocuments() instead of document->updateStyleIfNeeded() since timers may affect documents other then their own.
17:21 Changeset [42473] by kov@webkit.org
  • 2 edits in trunk/WebCore

2009-04-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by David Hyatt.

Check document for nullity to avoid crashing on GTK+, when
creating the WebView.

  • page/FrameView.cpp: (WebCore::FrameView::needsLayout):
17:19 Changeset [42472] by adachan@apple.com
  • 2 edits in trunk/WebCore

Forgot to capitalize the "US".

  • platform/text/win/TextBreakIteratorInternalICUWin.cpp: (WebCore::currentTextBreakLocaleID):
17:10 Changeset [42471] by adachan@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/6564956> URL field double-click selects entire domain, rather than single word or entire URL
Revert back to the old word breaking behavior by using en_US_POSIX locale.

Reviewed by Steve Falkenburg.

  • platform/text/win/TextBreakIteratorInternalICUWin.cpp: (WebCore::currentTextBreakLocaleID):
16:42 Changeset [42470] by kdecker@apple.com
  • 3 edits in trunk/WebKit/mac

Reviewed by Darin.

<rdar://problem/6784955> REGRESSION: closing a tab containing a PDF causes world leaks


Simplify the _trackFirstResponder method by just caching the value instead of retaining
a Cocoa object.


  • WebView/WebPDFView.h: Eliminated trackedFirstResponder object and replaced it with a firstResponderIsPDFDocumentView boolean.
  • WebView/WebPDFView.mm: (-[WebPDFView dealloc]): Removed no longer necessary ASSERT. (-[WebPDFView viewWillMoveToWindow:]): Removed call to release and nil-out trackedFirstResponder, which no longer exists. In the new code all we do now is set firstResponderIsPDFDocumentView to NO. (-[WebPDFView _trackFirstResponder]): Rewrote this method to just cache the value instead of retaining an object.
15:36 Changeset [42469] by darin@apple.com
  • 4 edits in trunk/WebKitTools

2009-04-13 Darin Adler <darin@apple.com>

Reviewed by Mark Rowe.

  • Scripts/check-for-exit-time-destructors: Add ERROR: and WARNING: prefixes to make these scripts work better with the build window in new versions of Xcode.
  • Scripts/check-for-global-initializers: Ditto.
  • Scripts/check-for-weak-vtables: Ditto.
15:18 Changeset [42468] by darin@apple.com
  • 3 edits in trunk/WebCore

2009-04-13 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • platform/cf/BinaryPropertyList.cpp: Added comment.
  • platform/cf/BinaryPropertyList.h: Fixed mistakes in comments.
15:16 Changeset [42467] by darin@apple.com
  • 8 edits
    2 adds in trunk

WebCore:

2009-04-13 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

Bug 25158: hit testing doesn't work right in some cases involving anonymous blocks
https://bugs.webkit.org/show_bug.cgi?id=25158
rdar://problem/6769693

Test: editing/selection/click-after-nested-block.html

  • rendering/RenderBlock.cpp: (WebCore::isChildHitTestCandidate): Added. Helper so the two loops in positionForPoint can share code. (WebCore::RenderBlock::positionForPoint): Removed unneeded special case for first child box. Changed special case for last child box to propertly handle the various types of child box that are not hit test candidates (the same ones already handled by the hit test loop below), adding in a loop so we find the last candidate.

LayoutTests:

2009-04-13 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

Bug 25158: hit testing doesn't work right in some cases involving anonymous blocks
https://bugs.webkit.org/show_bug.cgi?id=25158
rdar://problem/6769693

  • editing/selection/click-after-nested-block-expected.txt: Added.
  • editing/selection/click-after-nested-block.html: Added.
  • fast/events/pointer-events-expected.txt: Updated since this is now a plain-text test.
  • fast/events/pointer-events.html: Changed this to a plain-text test, because the old results reflected a difference in hit testing behavior that this test was not intended to exercise and it's better to have the test be more cross-platform. Also removed unneeded use of waitUntilDone.
  • fast/js/finally-codegen-failure.html: Replaced with standard wrapper created by running the make-js-test-wrappers script. If we want to include type and charset attributes in the script elements, we can change make-js-test-wrappers to do that for all tests at some point.
  • fast/js/function-apply-aliased.html: Ditto.
  • fast/js/function-call-aliased.html: Ditto.
14:44 Changeset [42466] by ggaren@apple.com
  • 4 edits in trunk

JavaScriptCore:

2009-04-13 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Disabled another JavaScriptCore test because it fails on Windows but
not Mac, so it makes the bots red.

  • tests/mozilla/expected.html:

WebKitTools:

2009-04-13 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Disabled another JavaScriptCore test because it fails on Windows but
not Mac, so it makes the bots red.

  • Scripts/run-javascriptcore-tests:
14:39 Changeset [42465] by hyatt@apple.com
  • 1 edit in trunk/LayoutTests/platform/mac/accessibility/frame-with-title-expected.txt

Update accessibility layout test from last checkin.

14:34 Changeset [42464] by hyatt@apple.com
  • 9 edits in trunk

Webcore:

2009-04-13 David Hyatt <hyatt@apple.com>

Reviewed by Sam Weinig.

Fix for https://bugs.webkit.org/show_bug.cgi?id=25125. Rework scrolling so that a layout happens first when
it's already needed so that the code doesn't end up making bad decisions based off invalid document sizes.

  • WebCore.base.exp:
  • page/FrameView.h: (WebCore::FrameView::visibleContentsResized):
  • platform/ScrollView.cpp: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::updateScrollbars):
  • platform/ScrollView.h:

WebKit/mac:

2009-04-13 David Hyatt <hyatt@apple.com>

Reviewed by Sam Weinig.

Fix for https://bugs.webkit.org/show_bug.cgi?id=25125. Rework scrolling so that a layout happens first when
it's already needed so that the code doesn't end up making bad decisions based off invalid document sizes.

This patch also eliminates WebHTMLView's separate notion of needing a layout and just consolidates it with
WebCore's notion of needing layout.

  • WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
  • WebView/WebHTMLView.mm: (-[WebHTMLView _frameOrBoundsChanged]): (-[WebHTMLView initWithFrame:]): (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): (-[WebHTMLView setNeedsLayout:]): (-[WebHTMLView _layoutIfNeeded]): (-[WebHTMLView _needsLayout]):
  • WebView/WebHTMLViewInternal.h:
14:31 Changeset [42463] by aroben@apple.com
  • 7 edits in trunk

Windows part 2 of <rdar://5438063> Saving history containing 100,000 entries causes pauses of 2s while browsing

WebCore:

Add SharedBuffer::wrapCFData

This is the CF-equivalent of wrapNSData.

Reviewed by Brady Eidson.

  • platform/SharedBuffer.h:
  • platform/cf/SharedBufferCF.cpp: (WebCore::SharedBuffer::wrapCFData):

WebKit/win:

Windows part 2 of <rdar://5438063> Saving history containing 100,000
entries causes pauses of 2s while browsing

Reviewed by Brady Eidson.

  • Interfaces/IWebHistoryPrivate.idl: Added data, analagous to WebKit/mac's -[WebHistory _data] method.
  • WebHistory.cpp: (WebHistory::saveHistoryGuts): Changed to call data() to get the data for saving. (WebHistory::data): Added. Returns the data for saving as an IStream. (WebHistory::data): Added. Returns the data for saving as a CFDataRef.
  • WebHistory.h: Added data.
14:27 Changeset [42462] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2009-04-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Rubber-stamped by Holger Freyther.

Further massage tests to disable tests that are failingto make the
results more useful.

  • platform/gtk/Skipped:
14:09 Changeset [42461] by ggaren@apple.com
  • 4 edits in trunk

JavaScriptCore:

2009-04-13 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Disabled two JavaScriptCore tests because they fail on Window or Mac but
not both, so they make the bots red.

  • tests/mozilla/expected.html: Updated expected results.

WebKitTools:

2009-04-13 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Disabled two JavaScriptCore tests because they fail on Window or Mac but
not both, so they make the bots red.

  • Scripts/run-javascriptcore-tests:
13:57 Changeset [42460] by justin.garcia@apple.com
  • 1 edit in trunk/WebCore/page/EventHandler.cpp

Adding a comment to my previous code change.

13:55 Changeset [42459] by darin@apple.com
  • 2 edits in trunk/WebKit/mac

2009-04-13 Darin Adler <darin@apple.com>

  • WebView/WebViewPrivate.h: Updated comments.
13:48 Changeset [42458] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • build fix
  • page/EventHandler.cpp: (WebCore::documentPointForWindowPoint):
13:46 Changeset [42457] by antti@apple.com
  • 14 edits in trunk

WebCore:

2009-04-13 Antti Koivisto <antti@apple.com>

Reviewed by Darin Adler.

<rdar://problem/6740294> Increase the connection count per host


Try to use six connections per host if possible.

  • WebCore.base.exp:
  • loader/loader.cpp: (WebCore::Loader::Loader):
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • platform/network/ResourceRequestBase.cpp: (WebCore::initMaximumHTTPConnectionCountPerHost):
  • platform/network/ResourceRequestBase.h:
  • platform/network/mac/ResourceRequestMac.mm: (WebCore::initMaximumHTTPConnectionCountPerHost):

WebKit/mac:

2009-04-13 Antti Koivisto <antti@apple.com>

Reviewed by Darin Adler.


<rdar://problem/6740294> Increase the connection count per host

  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):

WebKitLibraries:

2009-04-13 Antti Koivisto <antti@apple.com>

Reviewed by Darin Adler.


<rdar://problem/6740294> Increase the connection count per host

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
13:38 Changeset [42456] by justin.garcia@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

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

Reviewed by Adele Peterson.

https://bugs.webkit.org/show_bug.cgi?id=25153
Can't place the caret into text field that scrolls the window on focus


We refetch the target node in the shadow node case, and when we do so the window coordinate for the mouse event may
be invalid because of scrolling that the focus handler did. Cache the document point (that we derived from the window
coordinate) and use that any time we refetch.

  • page/EventHandler.cpp: (WebCore::documentPointForWindowPoint): (WebCore::EventHandler::handleMousePressEvent): (WebCore::EventHandler::prepareMouseEvent):

LayoutTests:

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

Reviewed by Adele Peterson.


<rdar://problem/6748324> REGRESSION (Kirkwood): Can't type in Netflix search field

  • fast/forms/25153-expected.txt: Added.
  • fast/forms/25153.html: Added.
13:29 Changeset [42455] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

2009-04-13 Sam Weinig <sam@webkit.org>

Fix bad expected result.

  • fast/frames/frame-unload-crash-expected.txt:
13:26 Changeset [42454] by weinig@apple.com
  • 3 edits in trunk/WebCore

2009-04-13 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Rename JavaScriptCanOpenWindowsAutomatically to javaScriptCanOpenWindowsAutomatically
to conform to our style guidelines.

  • page/DOMWindow.cpp: (WebCore::DOMWindow::allowPopUp):
  • page/Settings.h: (WebCore::Settings::javaScriptCanOpenWindowsAutomatically):
13:24 Changeset [42453] by ggaren@apple.com
  • 2 edits in trunk/WebCore

2009-04-13 Geoffrey Garen <ggaren@apple.com>

Mac build fix: Made another header private.

  • WebCore.xcodeproj/project.pbxproj:
13:20 Changeset [42452] by dimich@chromium.org
  • 3 edits in trunk/WebCore

2009-04-13 Jian Li <jianli@chromium.org>

Reviewed by Darin Fisher.

https://bugs.webkit.org/show_bug.cgi?id=25121
Upstream changes to handle error messages from V8 when running worker script.

  • bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::reportFatalErrorInV8): (WebCore::handleConsoleMessage): (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy): (WebCore::WorkerContextExecutionProxy::dispose): (WebCore::WorkerContextExecutionProxy::initV8IfNeeded): (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): (WebCore::WorkerContextExecutionProxy::evaluate):
  • bindings/v8/WorkerContextExecutionProxy.h:
13:18 Changeset [42451] by beidson@apple.com
  • 2 edits in trunk/WebKit/mac

2009-04-13 Brady Eidson <beidson@apple.com>

Reviewed by Tim Hatcher

Tweak my last check-in, moving the thread violation check up to the API-level calls so the logging is more
useful to developers/users.

  • WebView/WebFrame.mm: (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): If not on the main thread, only perform the "call on main thead" workaround, as the log/exception raising is now up at the API level. (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Perform a thread violation check here so logging is more meaningful. (-[WebFrame loadHTMLString:baseURL:]): Ditto. (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
13:16 Changeset [42450] by ggaren@apple.com
  • 3 edits in trunk/WebCore

2009-04-13 Geoffrey Garen <ggaren@apple.com>

Build fix: Made setInlineEventListenerForType not inline, since Document
calls it now. Made RegisteredEventListener.h a private header on Mac,
so WebKit can use it.

  • page/DOMWindow.cpp: (WebCore::DOMWindow::setInlineEventListenerForType):
13:14 Changeset [42449] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • fix <rdar://problem/6404439> REGRESSION: Overlapping text and other layout issues in View Sample feature of MYOB FIrstEdge v3
  • page/Navigator.cpp: (WebCore::shouldHideFourDot): Added "tdqm_loader.js" to the list of JavaScript files this quirk applies to.
13:03 Changeset [42448] by beidson@apple.com
  • 2 edits in trunk/WebKit/mac

2009-04-13 Brady Eidson <beidson@apple.com>

Reviewed by Kevin Decker

<rdar://problem/6712063> Garmin WebUpdater crashes

  • WebView/WebFrame.mm: (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): If not called on the main thread, add a ThreadViolationCheckRoundTwo() call to either log or raise an exception. In the case where it's only a log, reschedule the _loadData call to occur on the main thread.
12:50 Changeset [42447] by weinig@apple.com
  • 13 edits in trunk

WebCore:

2009-04-13 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Move open and showModalDialog functions out of JSDOMWindowBase
and into JSDOMWindow by partially generating them.

This slightly changes the behavior of getting window.showModalDialog
when the embedding app does not support it to return undefined regardless
of shadowing. This should not be an issue in a practice, but will be addressed
when we add a generic way to handle runtime specialization of property
access.

  • DerivedSources.make: Remove JSDOMWindowBase.lut.h
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::): (WebCore::JSDOMWindowBase::getOwnPropertySlot): Move canShowModalDialog check from here to JSDOMWindow::customGetOwnPropertySlot. (WebCore::JSDOMWindowBase::put): Remove dead code.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::createWindow): (WebCore::JSDOMWindow::open): (WebCore::JSDOMWindow::showModalDialog):
  • bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::parseModalDialogFeatures): Move from JSDOMWindowBase. (WebCore::DOMWindow::allowPopUp): Ditto. (WebCore::DOMWindow::canShowModalDialog): Ditto. (WebCore::DOMWindow::canShowModalDialogNow): Ditto.
  • page/DOMWindow.h:
  • page/DOMWindow.idl:

LayoutTests:

2009-04-13 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Update tests after moving showModalDialog from JSDOMWindowBase to
JSDOMWindow and slightly changing the behavior when showModalDialog
is not available, as is the case for DumpRenderTree.

  • fast/dom/Window/window-function-frame-getter-precedence-expected.txt:
  • fast/dom/Window/window-properties-expected.txt:
  • platform/mac-leopard/fast/dom/Window/window-properties-expected.txt:
12:43 Changeset [42446] by ggaren@apple.com
  • 13 edits in trunk/WebCore

2009-04-13 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Moved storage for window event listeners into the window object.

  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::addEventListener): (WebCore::JSDOMWindow::removeEventListener): Add / remove window event listeners to / from the window object.
  • dom/Document.cpp: (WebCore::Document::removeAllEventListeners): (WebCore::Document::clear): (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute): Moved a bunch of code to the DOMWindow class, and left behind a few calls through to DOMWindow, to support legacy clients. (Eventually, these will go away, too.)
  • dom/Document.h: ditto.
  • dom/Node.cpp: (WebCore::Node::dispatchGenericEvent): (WebCore::Node::dispatchWindowEvent): Dipatch window events on the window object, not the document.
  • dom/Node.h:
  • dom/RegisteredEventListener.h: Moved RegisteredEventListenerVector declaration, since it's required in more places now.
  • history/CachedFrame.cpp: (WebCore::CachedFrame::clear): Updated for rename. Also, remove event listeners before detaching and clearing the document's window pointer, since the the document needs its window pointer in order to tell the window to clear its event listeners.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): (WebCore::FrameLoader::canCachePageContainingThisFrame): (WebCore::FrameLoader::logCanCacheFrameDecision): Updated for rename, and movement of window event listeners into the window.
  • loader/ImageDocument.cpp: (WebCore::ImageDocument::createDocumentStructure): Updated for movement of window event listeners into the window.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::handleEvent): (WebCore::DOMWindow::addEventListener): (WebCore::DOMWindow::removeEventListener): (WebCore::DOMWindow::removeAllEventListeners): (WebCore::DOMWindow::hasEventListener): (WebCore::DOMWindow::setInlineEventListenerForType): (WebCore::DOMWindow::removeInlineEventListenerForType): (WebCore::DOMWindow::inlineEventListenerForType): (WebCore::DOMWindow::addPendingFrameUnloadEventCount): (WebCore::DOMWindow::removePendingFrameUnloadEventCount): (WebCore::DOMWindow::addPendingFrameBeforeUnloadEventCount): (WebCore::DOMWindow::removePendingFrameBeforeUnloadEventCount):
  • page/DOMWindow.h: Moved a bunch of code to the DOMWindow class, from the Document.
  • page/Frame.cpp: (WebCore::Frame::shouldClose): Updated for movement of window event listeners into the window.
12:05 Changeset [42445] by bolsinga@apple.com
  • 4 edits in trunk/WebCore

2009-04-13 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Sam Weinig.

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

The Geolocation timer needs to start after the UA has granted permission.

  • bindings/js/JSGeolocationCustom.cpp: Use PassRefPtr<PositionOptions> (WebCore::JSGeolocation::getCurrentPosition): (WebCore::JSGeolocation::watchPosition):
  • page/Geolocation.cpp: Add a RefPtr<PositionOptions> so it can be used later when the timer is started. Change PositionOptions* to PassRefPtr<PositionOptions> where needed. (WebCore::Geolocation::GeoNotifier::GeoNotifier): (WebCore::Geolocation::GeoNotifier::startTimer): (WebCore::Geolocation::getCurrentPosition): (WebCore::Geolocation::watchPosition): (WebCore::Geolocation::setIsAllowed): Start the timer is the UA allows (WebCore::Geolocation::startTimer): (WebCore::Geolocation::startTimersForOneShots): (WebCore::Geolocation::startTimersForWatchers): (WebCore::Geolocation::startTimers):
  • page/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create):
11:01 Changeset [42444] by pam@chromium.org
  • 3 edits in trunk/WebCore

2009-04-13 Pamela Greene <pam@chromium.org>

Reviewed by Darin Fisher.

Fix Chromium (V8) build by renaming methods to match changes
in http://trac.webkit.org/changeset/42377.

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

  • bindings/v8/ScheduledAction.cpp:

(WebCore::ScheduledAction::execute): updateRendering() -> updateStyleIfNeeded()

  • bindings/v8/V8AbstractEventListener.cpp: (WebCore::V8AbstractEventListener::handleEvent): updateDocumentsRendering() -> updateStyleForAllDocuments()
10:52 Changeset [42443] by darin@apple.com
  • 2 edits in trunk/WebKitTools

2009-04-13 Darin Adler <darin@apple.com>

  • Scripts/make-js-test-wrappers: Added another exception.
10:47 Changeset [42442] by darin@chromium.org
  • 3 edits
    5 adds in trunk

2009-04-13 Darin Fisher <darin@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=25136
CRASH in DocumentLoader::removeSubresourceLoader due to null m_frame

Test: fast/frames/frame-unload-crash.html

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::updateLoading): Added null check of m_frame.
10:38 Changeset [42441] by weinig@apple.com
  • 6 edits in trunk

WebCore:

2009-04-13 Sam Weinig <sam@webkit.org>

Reviewed by Tim Hatcher.

Put the MessagePort constructor back in ENABLE_CHANNEL_MESSAGING.

  • page/DOMWindow.idl:

LayoutTests:

2009-04-13 Sam Weinig <sam@webkit.org>

Reviewed by Tim Hatcher.

Update test results after putting the MessagePort constructor
back in ENABLE_CHANNEL_MESSAGING.

  • fast/dom/Window/window-properties-expected.txt:
  • fast/js/global-constructors-expected.txt:
  • platform/mac-leopard/fast/dom/Window/window-properties-expected.txt:
10:24 Changeset [42440] by bolsinga@apple.com
  • 2 edits in trunk/WebCore

2009-04-13 Greg Bolsinga <bolsinga@apple.com>

Fix GTK build break.

  • platform/gtk/GeolocationServiceGtk.cpp: (WebCore::GeolocationServiceGtk::updatePosition):
10:14 Changeset [42439] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2009-04-13 David Hyatt <hyatt@apple.com>

Reviewed by Darin Adler and Dan Bernstein.

Assertion in updateStyleForAllDocuments. Make sure to unscheduleStyleRecalc when an object goes into
the page cache. Disallow scheduling of style recalcs on a document that is already in the page cache.
Schedule a style recalc if needed when an object comes out of the page cache.

  • dom/Document.cpp: (WebCore::Document::scheduleStyleRecalc): (WebCore::Document::setInPageCache):
10:11 Changeset [42438] by timothy@apple.com
  • 3 edits in trunk/WebCore

Correctly sort (program) scripts in the Scripts panel popup menu.

Reviewed by Ada Chan.

  • inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Refactor the code and sort "(program)" options by the sourceID to maintain some order.
  • inspector/front-end/utilities.js: (indexOfObjectInListSortedByFunction): Fix a bug where identical objects would cause an incorrect return value that confuses insertionIndexForObjectInListSortedByFunction. Just set 'first' and break so the correct result will be returned.
10:07 Changeset [42437] by bolsinga@apple.com
  • 10 edits
    1 add in trunk/WebCore

2009-04-13 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Darin Adler.

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


Add custom code for Coordinates that returns null when required by the
Geolocation spec.


http://dev.w3.org/geo/api/spec-source.html#coordinates

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCoordinatesCustom.cpp: Added. (WebCore::JSCoordinates::altitude): returns null if the value cannot be provided. (WebCore::JSCoordinates::altitudeAccuracy): Ditto (WebCore::JSCoordinates::heading): Ditto (WebCore::JSCoordinates::speed): Ditto
  • page/Coordinates.h: (WebCore::Coordinates::create): Add 'canProvide' parameters and values (WebCore::Coordinates::canProvideAltitude): (WebCore::Coordinates::canProvideAltitudeAccuracy): (WebCore::Coordinates::canProvideHeading): (WebCore::Coordinates::canProvideSpeed): (WebCore::Coordinates::Coordinates):
  • page/Coordinates.idl: specify custom getters
  • platform/mac/GeolocationServiceMac.mm: Set the values correctly if they cannot be provided. (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
09:27 Changeset [42436] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-04-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=22898
[GTK] need proper API for printing

Added simple printing unit tests.

  • tests/testwebframe.c: (print_requested_cb): (print_timeout): (test_webkit_web_frame_printing): (main):
09:26 Changeset [42435] by kov@webkit.org
  • 6 edits in trunk/WebKit/gtk

2009-04-13 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=22898
[GTK] need proper API for printing

Implement proper printing API, using the GTK+ printing API.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::print):
  • webkit/webkitprivate.h:
  • webkit/webkitwebframe.cpp:
  • webkit/webkitwebframe.h:
  • webkit/webkitwebview.cpp:
09:15 Changeset [42434] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2009-04-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Rubber-stamped by Holger Freyther.

Reworked the skipped tests listing so that it is easier to find
tests that are skipped but pass using diff. Enable all tests that
are passing, and disable failing tests except for a few crashers
and known regressions. This is an effort to make the build slave
output more useful when it is back.

  • platform/gtk/Skipped:
08:12 Changeset [42433] by adele@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

2009-04-13 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for <rdar://problem/5510537> Typing return at start of block quote yields empty quoted line

Test: editing/inserting/5510537.html

  • editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): If the break insertion position is at the beginning of the topmost quote, then just insert the <br> before the blockquote. Otherwise, if the break insertion position is at the beginning of any quote, adjust the position so the break comes before the current quote level so we don't end up with an empty line in that quote in addition to the new line we're adding with the <br>.

LayoutTests:

2009-04-13 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Test for <rdar://problem/5510537> Typing return at start of block quote yields empty quoted line

  • editing/inserting/5510537.html: Added.
  • platform/mac/editing/inserting/5510537-expected.checksum: Added.
  • platform/mac/editing/inserting/5510537-expected.png: Added.
  • platform/mac/editing/inserting/5510537-expected.txt: Added.
07:46 Changeset [42432] by darin@apple.com
  • 2 edits in trunk/WebCore

2009-04-11 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

Fix problem when encoding history files with duplicate integer arrays near the end of the file.
This results in an assertion failure, and if assertions are turned off, corrupted output.

When writing an integer array it's important not to add an object reference to the
aggregate buffer. The writing of the array does not depend on the aggregate buffer. But,
more importantly, it's possible this instance integer array is a duplicate and won't be
written out. If so, there's no guarantee there's enough space in the aggregate buffer to
store the object references (the references will be ignored). In some cases the aggregate
buffer can then overrun the data being written; normally this is prevented by the fact that
the data being written will include a copy of the aggregate buffer.

Also removed a bit of unneeded dead code to handle the integer -1.

  • platform/cf/BinaryPropertyList.cpp: (WebCore::BinaryPropertyListPlan::BinaryPropertyListPlan): Removed unneeded m_integerNegativeOneObjectReference, since property lists support only non-negative integers. (WebCore::BinaryPropertyListPlan::writeInteger): Removed support for m_integerNegativeOneObjectReference. (WebCore::BinaryPropertyListPlan::integerObjectReference): Ditto. (WebCore::BinaryPropertyListSerializer::writeIntegerWithoutAddingAggregateObjectReference): Added. Factored out most of writeInteger, for use in writeIntegerArray, without calling addAggregateObjectReference. (WebCore::BinaryPropertyListSerializer::writeInteger): Changed to call the new writeIntegerWithoutAddingAggregateObjectReference function. (WebCore::BinaryPropertyListSerializer::writeIntegerArray): Call the new writeIntegerWithoutAddingAggregateObjectReference function and therefore remove the code to save and restore m_currentAggregateBufferByte, which is no longer needed.
04:31 Changeset [42431] by zecke@webkit.org
  • 2 edits in trunk/WebCore

Unreviewed Qt build fix

Note: See TracTimeline for information about the timeline view.