Timeline



Aug 18, 2013:

11:40 PM Changeset in webkit [154264] by Darin Adler
  • 12 edits in trunk/Source

<https://webkit.org/b/119989> Make use of Node::ownerDocument a compile time error

Reviewed by Sam Weinig.

Source/WebCore:

  • dom/Element.h: Deleted the ownerDocument function. For compilers that don't support

deleted functions, it is instead overrides the base class function with one that is
private and not defined, which accomplishes almost the same thing: An error, either
at compile time or link time.

  • bindings/js/JSHTMLElementCustom.cpp:

(WebCore::JSHTMLElement::pushEventHandlerScope): Use document instead of ownerDocument.

  • dom/Document.cpp:

(WebCore::Document::~Document): Added a comment about this clearly-incorrect code.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didPushShadowRoot): Use document instead of ownerDocument.
(WebCore::InspectorInstrumentation::willPopShadowRoot): Ditto.

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheetForInlineStyle::setStyleText): Ditto.

  • plugins/PluginView.cpp:

(WebCore::getFrame): Removed ineffective call to ownerDocument after document when it
returns 0. It will never return anything other than 0 in that case.

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::calculateIntrinsicSize): Use document instead of ownerDocument.
Did not remove the null check at this time, although I'm pretty sure it's bogus. We can
fix that when/if we change the return type of Element::document to a reference.

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::requestImageResource): Use document instead of ownerDocument.

Source/WebKit2:

  • WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:

(WebKit::PDFPluginChoiceAnnotation::createAnnotationElement): Use document instead of
ownerDocument.

  • WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:

(WebKit::PDFPluginTextAnnotation::createAnnotationElement): Ditto.

11:37 PM Changeset in webkit [154263] by Seokju Kwon
  • 5 edits in trunk/LayoutTests

Unreviewed gardening after r154135

fast/js/array-sort-modifying-tostring.html was removed.

  • platform/qt-mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
10:25 PM Changeset in webkit [154262] by Darin Adler
  • 11 edits
    4 deletes in trunk/Source/WebCore

<https://webkit.org/b/119993> Remove most remaining platform-specific code from Clipboard class

Reviewed by Sam Weinig.

  • GNUmakefile.list.am: Removed ClipboardGtk.cpp.
  • PlatformEfl.cmake: Removed ClipboardEfl.cpp.
  • PlatformGTK.cmake: Removed ClipboardGtk.cpp.
  • PlatformWinCE.cmake: Removed ClipboardWin.cpp.
  • Target.pri: Removed ClipboardQt.cpp.
  • WebCore.vcxproj/WebCore.vcxproj: Removed ClipboardWin.cpp and ClipboardWin.h.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Removed ClipboardWin.cpp and ClipboardWin.h.
  • dom/Clipboard.cpp:

(WebCore::Clipboard::createDragImage): Added. Version that works for all platforms
other than Mac, identical to the old one used in GTK and Qt, and close to the one used
on Windows.

  • platform/mac/ClipboardMac.mm: Trimmed includes down, and added a FIXME about next steps.
  • platform/qt/DataTransferItemListQt.h: Removed "friend class ClipboardQt", which refers

to a now-nonexistent class.

  • platform/efl/ClipboardEfl.cpp: Removed.
  • platform/gtk/ClipboardGtk.cpp: Removed.
  • platform/qt/ClipboardQt.cpp: Removed.
  • platform/win/ClipboardWin.cpp: Removed.
9:46 PM Changeset in webkit [154261] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r154218): DFG::FixupPhase no longer turns GetById's child1 into CellUse
https://bugs.webkit.org/show_bug.cgi?id=119961

Reviewed by Mark Hahnenberg.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

9:18 PM Changeset in webkit [154260] by Darin Adler
  • 6 edits in trunk/Source/WebCore

<https://webkit.org/b/119949> Factor Clipboard into drag and non-drag parts

Reviewed by Sam Weinig.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::Clipboard): Move the ClipboardType argument to go after the pasteboard.
Initialize strings more efficiently. Put drag-specific data members inside an if statement.
Replace m_clipboardType with m_forDrag.
(WebCore::Clipboard::createForCopyAndPaste): Moved function up to be close to constructor.
Removed explicit clipboard type since constructor now defaults to copy and paste style.
(WebCore::Clipboard::setAccessPolicy): Tweaked comment.
(WebCore::Clipboard::getData): Put drag-specific code inside #if ENABLE(DRAG_SUPPORT).
(WebCore::Clipboard::setData): Ditto.
(WebCore::Clipboard::files): Ditto.
(WebCore::Clipboard::dropEffect): Added trivial non-drag versions of these functions to
be used when !ENABLE(DRAG_SUPPORT).
(WebCore::Clipboard::setDropEffect): Ditto.
(WebCore::Clipboard::effectAllowed): Ditto.
(WebCore::Clipboard::setEffectAllowed): Ditto.
(WebCore::Clipboard::createForDragAndDrop): Renamed Clipboard::create that takes DragData
to this, and kep the overload that does not as well. Made the DragData argument a const&.
(WebCore::Clipboard::canSetDragImage): Moved down here since it is drag-specific.
(WebCore::Clipboard::updateDragImage): Use m_shouldUpdateDragImage directly insted of
calling a dragStarted function.
(WebCore::dragOpFromIEOp): Moved this function down here to the drag-specific section.
(WebCore::IEOpFromDragOp): Ditto.
(WebCore::Clipboard::sourceOperation): Ditto.
(WebCore::Clipboard::destinationOperation): Ditto.
(WebCore::Clipboard::setSourceOperation): Ditto.
(WebCore::Clipboard::setDestinationOperation): Ditto.

  • dom/Clipboard.h: Removed unneeded include of "Node.h" and added and removed forward

class declarations as required. Removed non-helpful comment. Made ClipboardType a private
implementation detail. Moved functions that are not part of the DOM API down to a separate
section lower down in the class, and sorted the functions to match the order they appear
in the IDL file. Removed isForCopyAndPaste and isForDragAndDrop. Changed dropEffect and
effectAllowed to not be inlined. Moved the long comment before canSetDragImage into the
implementation since it's an implementation detail. Since this class is no longer polymorphic,
use only private, not protected. Make m_dragImageElement an Element, not a Node.

  • dom/Clipboard.idl: Removed flags to tell bindings how to deal with null strings, since

these string properties can never return null strings anyway.

  • page/DragController.cpp:

(WebCore::DragController::dragExited): Updated to call the new createForDragAndDrop function.
(WebCore::DragController::performDrag): Ditto.
(WebCore::DragController::tryDHTMLDrag): Ditto.

  • platform/mac/ClipboardMac.mm: Added now-needed include of Element.h since Clipboard.h no

longer includes it.

8:05 PM Changeset in webkit [154259] by ddkilzer@apple.com
  • 4 edits in trunk/Source/WebCore

WebCore fails to build with trunk clang: error: 'register' storage class specifier is deprecated [-Werror,-Wdeprecated-register]
<http://webkit.org/b/119932>
<rdar://problem/14764085>

Reviewed by Darin Adler.

Add pragma statements to ignore -Wdeprecated-register warnings
in generated code. Also ignore -Wunknown-pragmas so this
doesn't cause a build failure in older versions of clang.

  • css/makeprop.pl:

(WebCore::findProperty): Remove register hints from parameters.

  • css/makevalues.pl:

(WebCore::findValue): Ditto.

  • platform/ColorData.gperf:

(WebCore::findColor): Ditto.

4:56 PM Changeset in webkit [154258] by Seokju Kwon
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

  • platform/efl/TestExpectations: fast/js/array-sort-modifying-tostring.html was removed after r154135.
4:26 PM Changeset in webkit [154257] by Antti Koivisto
  • 26 edits in trunk/Source/WebCore

<https://webkit.org/b/119987> Make Element::attach standalone function

Reviewed by Andreas Kling.

This patch turns Element::attach() and the related functions into standalone functions.

  • dom/ContainerNode.cpp:

(WebCore::attachChild):
(WebCore::detachChild):

  • dom/ContainerNode.h:
  • dom/Document.cpp:

(WebCore::Document::attach):
(WebCore::Document::detach):

  • dom/Element.cpp:

(WebCore::Element::~Element):
(WebCore::Element::lazyReattach):
(WebCore::Element::removeShadowRoot):

Shadow root should be detached by now. Remove the detach call.

(WebCore::Element::updateFocusAppearanceAfterAttachIfNeeded):
(WebCore::Element::updatePseudoElement):
(WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
(WebCore::Element::clearHoverAndActiveStatusBeforeDetachingRenderer):

Factor some parts of former Element::attach/detach() into member functions.

  • dom/Element.h:
  • dom/ElementRareData.h:

(WebCore::ElementRareData::releasePseudoElement):

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::NodeRenderingContext):

  • dom/NodeRenderingContext.h:
  • dom/ShadowRoot.cpp:
  • dom/ShadowRoot.h:
  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::parseAttribute):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::parseAttribute):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::renderFallbackContent):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::willRecalcStyle):
(WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::parseAttribute):
(WebCore::HTMLSelectElement::parseMultipleAttribute):

  • html/HTMLViewSourceDocument.cpp:

(WebCore::HTMLViewSourceDocument::createContainingTable):
(WebCore::HTMLViewSourceDocument::addSpanWithClassName):
(WebCore::HTMLViewSourceDocument::addLine):
(WebCore::HTMLViewSourceDocument::finishLine):
(WebCore::HTMLViewSourceDocument::addBase):
(WebCore::HTMLViewSourceDocument::addLink):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::executeTask):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::willAttachRenderers):
(WebCore::InsertionPoint::willDetachRenderers):

  • loader/PlaceholderDocument.cpp:

(WebCore::PlaceholderDocument::attach):

  • style/StyleResolveTree.cpp:

(WebCore::Style::createRendererIfNeeded):

From Element::createRendererIfNeeded()

(WebCore::Style::attachShadowRoot):

From ShadowRoot::attach()

(WebCore::Style::childAttachedAllowedWhenAttachingChildren):
(WebCore::Style::attachChildren):

From Element::attachChildren()

(WebCore::Style::attachRenderTree):

From Element::attach()

(WebCore::Style::detachShadowRoot):

From ShadowRoot::detach()

(WebCore::Style::detachChildren):

From Element::detachChildren()

(WebCore::Style::detachRenderTree):

From Element::deatach()

(WebCore::Style::reattachRenderTree):

From Element::reattach()

(WebCore::Style::resolveLocal):

  • style/StyleResolveTree.h:

(WebCore::Style::AttachContext::AttachContext):

From Element::AttachContext

  • svg/SVGTests.cpp:

(WebCore::SVGTests::handleAttributeChange):

  • xml/XMLErrors.cpp:

(WebCore::XMLErrors::insertErrorMessageBlock):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::startElementNs):

4:06 PM Changeset in webkit [154256] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix clean engineering builds after r154251.

  • WebKit2.xcodeproj/project.pbxproj: Removed references to the OfflineStorage XPC services

from the “Copy XPC services for engineering builds” build phase.

4:05 PM Changeset in webkit [154255] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Fix crashing plugin tests caused by a logic error in the previous patch.

Not reviewed.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::willDetachRenderers):

1:01 PM Changeset in webkit [154254] by Antti Koivisto
  • 52 edits in trunk/Source/WebCore

<https://webkit.org/b/119982> Make Element::attach non-virtual

Reviewed by Andreas Kling.

This will give us more future refactoring options.

  • dom/Element.cpp:

(WebCore::Element::attach):
(WebCore::Element::detach):

Make non-virtual. Call element type specific custom functions as needed.

(WebCore::Element::styleForRenderer):
(WebCore::Element::willRecalcStyle):
(WebCore::Element::didRecalcStyle):
(WebCore::Element::willAttachRenderers):
(WebCore::Element::didAttachRenderers):
(WebCore::Element::willDetachRenderers):
(WebCore::Element::didDetachRenderers):

Add virtual custom callbacks.

(WebCore::Element::customStyleForRenderer):

  • dom/Element.h:
  • dom/Node.h:

(WebCore::Node::pseudoId):
(WebCore::Node::hasCustomStyleResolveCallbacks):
(WebCore::Node::setHasCustomStyleResolveCallbacks):

Use the existing bit as it largely overlaps. Rename for clarity.

(WebCore::Node::customPseudoId):

  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::PseudoElement):
(WebCore::PseudoElement::didAttachRenderers):

  • dom/PseudoElement.h:
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::HTMLCanvasElement):
(WebCore::HTMLCanvasElement::willAttachRenderers):

  • html/HTMLCanvasElement.h:
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::HTMLFormControlElement::didAttachRenderers):

  • html/HTMLFormControlElement.h:
  • html/HTMLFrameElement.cpp:

(WebCore::HTMLFrameElement::HTMLFrameElement):
(WebCore::HTMLFrameElement::didAttachRenderers):

  • html/HTMLFrameElement.h:
  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
(WebCore::HTMLFrameElementBase::didAttachRenderers):

  • html/HTMLFrameElementBase.h:
  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
(WebCore::HTMLFrameSetElement::willAttachRenderers):

  • html/HTMLFrameSetElement.h:
  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::HTMLIFrameElement):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::didAttachRenderers):

  • html/HTMLImageElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::willAttachRenderers):
(WebCore::HTMLInputElement::didAttachRenderers):
(WebCore::HTMLInputElement::didDetachRenderers):

  • html/HTMLInputElement.h:
  • html/HTMLLIElement.cpp:

(WebCore::HTMLLIElement::HTMLLIElement):
(WebCore::HTMLLIElement::didAttachRenderers):

  • html/HTMLLIElement.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::willAttachRenderers):
(WebCore::HTMLMediaElement::didAttachRenderers):

  • html/HTMLMediaElement.h:
  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
(WebCore::HTMLOptGroupElement::didAttachRenderers):
(WebCore::HTMLOptGroupElement::willDetachRenderers):

  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::HTMLOptionElement):
(WebCore::HTMLOptionElement::didAttachRenderers):
(WebCore::HTMLOptionElement::willDetachRenderers):

  • html/HTMLOptionElement.h:
  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::HTMLPlugInElement):
(WebCore::HTMLPlugInElement::willDetachRenderers):

  • html/HTMLPlugInElement.h:
  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
(WebCore::HTMLPlugInImageElement::didAttachRenderers):
(WebCore::HTMLPlugInImageElement::willDetachRenderers):

  • html/HTMLPlugInImageElement.h:
  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::HTMLProgressElement):
(WebCore::HTMLProgressElement::didAttachRenderers):

  • html/HTMLProgressElement.h:
  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
(WebCore::HTMLTextAreaElement::didAttachRenderers):

  • html/HTMLTextAreaElement.h:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::HTMLVideoElement):
(WebCore::HTMLVideoElement::didAttachRenderers):

  • html/HTMLVideoElement.h:
  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::InsertionPoint):
(WebCore::InsertionPoint::willAttachRenderers):
(WebCore::InsertionPoint::willDetachRenderers):

  • html/shadow/InsertionPoint.h:
  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::SliderThumbElement):
(WebCore::SliderThumbElement::willDetachRenderers):

  • html/shadow/SliderThumbElement.h:
  • html/shadow/SpinButtonElement.cpp:

(WebCore::SpinButtonElement::SpinButtonElement):
(WebCore::SpinButtonElement::willDetachRenderers):

  • html/shadow/SpinButtonElement.h:
  • html/shadow/TextControlInnerElements.cpp:

(WebCore::TextControlInnerElement::TextControlInnerElement):
(WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
(WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
(WebCore::SearchFieldCancelButtonElement::willDetachRenderers):
(WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
(WebCore::InputFieldSpeechButtonElement::willAttachRenderers):
(WebCore::InputFieldSpeechButtonElement::willDetachRenderers):

  • html/shadow/TextControlInnerElements.h:
  • style/StyleResolveTree.cpp:

(WebCore::Style::resolveTree):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::SVGElement):

  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::SVGImageElement):
(WebCore::SVGImageElement::didAttachRenderers):

  • svg/SVGImageElement.h:
  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::SVGUseElement):

12:29 PM Changeset in webkit [154253] by barraclough@apple.com
  • 33 edits in trunk/Source

https://bugs.webkit.org/show_bug.cgi?id=119972
Add attributes field to PropertySlot

Reviewed by Geoff Garen.

For all JSC types, this makes getOwnPropertyDescriptor redundant.
There will be a bit more hacking required in WebCore to remove GOPD whilst maintaining current behaviour.
(Current behaviour is in many ways broken, particularly in that GOPD & GOPS are inconsistent, but we should fix incrementally).

Source/JavaScriptCore:

No performance impact.

  • runtime/PropertySlot.h:

(JSC::PropertySlot::setValue):
(JSC::PropertySlot::setCustom):
(JSC::PropertySlot::setCacheableCustom):
(JSC::PropertySlot::setCustomIndex):
(JSC::PropertySlot::setGetterSlot):
(JSC::PropertySlot::setCacheableGetterSlot):

  • These mathods now all require 'attributes'.
  • runtime/JSObject.h:

(JSC::JSObject::getDirect):
(JSC::JSObject::getDirectOffset):
(JSC::JSObject::inlineGetOwnPropertySlot):

  • Added variants of getDirect, getDirectOffset that return the attributes.
  • API/JSCallbackObjectFunctions.h:

(JSC::::getOwnPropertySlot):

  • runtime/Arguments.cpp:

(JSC::Arguments::getOwnPropertySlotByIndex):
(JSC::Arguments::getOwnPropertySlot):

  • runtime/JSActivation.cpp:

(JSC::JSActivation::symbolTableGet):
(JSC::JSActivation::getOwnPropertySlot):

  • runtime/JSArray.cpp:

(JSC::JSArray::getOwnPropertySlot):

  • runtime/JSArrayBuffer.cpp:

(JSC::JSArrayBuffer::getOwnPropertySlot):

  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::getOwnPropertySlot):

  • runtime/JSDataView.cpp:

(JSC::JSDataView::getOwnPropertySlot):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::getOwnPropertySlot):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::::getOwnPropertySlot):
(JSC::::getOwnPropertySlotByIndex):

  • runtime/JSObject.cpp:

(JSC::JSObject::getOwnPropertySlotByIndex):
(JSC::JSObject::fillGetterPropertySlot):

  • runtime/JSString.h:

(JSC::JSString::getStringPropertySlot):

  • runtime/JSSymbolTableObject.h:

(JSC::symbolTableGet):

  • runtime/Lookup.cpp:

(JSC::setUpStaticFunctionSlot):

  • runtime/Lookup.h:

(JSC::getStaticPropertySlot):
(JSC::getStaticPropertyDescriptor):
(JSC::getStaticValueSlot):
(JSC::getStaticValueDescriptor):

  • runtime/RegExpObject.cpp:

(JSC::RegExpObject::getOwnPropertySlot):

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayEntry::get):

  • Pass attributes to PropertySlot::set* methods.

Source/WebCore:

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):

  • bindings/js/JSHistoryCustom.cpp:

(WebCore::JSHistory::getOwnPropertySlotDelegate):
(WebCore::JSHistory::getOwnPropertyDescriptorDelegate):

  • bindings/js/JSLocationCustom.cpp:

(WebCore::JSLocation::getOwnPropertySlotDelegate):
(WebCore::JSLocation::getOwnPropertyDescriptorDelegate):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::runtimeObjectCustomGetOwnPropertySlot):
(WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
(GenerateImplementation):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::getOwnPropertyDescriptor):
(JSC::RuntimeArray::getOwnPropertySlotByIndex):

  • bridge/runtime_method.cpp:

(JSC::RuntimeMethod::getOwnPropertySlot):
(JSC::RuntimeMethod::getOwnPropertyDescriptor):

  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::getOwnPropertySlot):
(JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):

  • Pass attributes to PropertySlot::set* methods.

Source/WebKit2:

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::getOwnPropertySlot):
(WebKit::JSNPObject::getOwnPropertyDescriptor):

  • Pass attributes to PropertySlot::set* methods.
11:54 AM Changeset in webkit [154252] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

<https://webkit.org/b/119917> Pasting multiple lines into a textarea can introduce extra new lines

Reviewed by Darin Adler.

Source/WebCore:

Inspired by https://chromium.googlesource.com/chromium/blink/+/6152a12f7ace27beea4d284ff8416631e8aa5217.

The bug was caused by createFragmentFromText's falsely assuming that the newline were not preserved
if the first node's renderer didn't exist.

Fixed the bug by obtaining the renderer of the container of the first visible position in the context.

Test: editing/pasteboard/paste-into-textarea-with-new-line.html

  • editing/markup.cpp:

(WebCore::contextPreservesNewline):
(WebCore::createFragmentFromText):

LayoutTests:

Add a regression test.

  • editing/pasteboard/paste-into-textarea-with-new-line-expected.txt: Added.
  • editing/pasteboard/paste-into-textarea-with-new-line.html: Added.
11:44 AM Changeset in webkit [154251] by weinig@apple.com
  • 4 edits
    5 deletes in trunk/Source/WebKit2

<https://webkit.org/b/119911> Remove the unused OfflineStorageProcess

Reviewed by Darin Adler.

  • Configurations/OfflineStorageProcess.xcconfig: Removed.
  • Configurations/OfflineStorageService.Development.xcconfig: Removed.
  • Configurations/OfflineStorageService.xcconfig: Removed.
  • DerivedSources.make:
  • OfflineStorageProcess: Removed.
  • OfflineStorageProcess/EntryPoint: Removed.
  • OfflineStorageProcess/EntryPoint/mac: Removed.
  • OfflineStorageProcess/EntryPoint/mac/LegacyProcess: Removed.
  • OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist: Removed.
  • OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm: Removed.
  • OfflineStorageProcess/EntryPoint/mac/XPCService: Removed.
  • OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService: Removed.
  • OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development: Removed.
  • OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/Info.plist: Removed.
  • OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/Info.plist: Removed.
  • OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageServiceEntryPoint.mm: Removed.
  • OfflineStorageProcess/OfflineStorageProcess.cpp: Removed.
  • OfflineStorageProcess/OfflineStorageProcess.h: Removed.
  • OfflineStorageProcess/OfflineStorageProcess.messages.in: Removed.
  • OfflineStorageProcess/mac: Removed.
  • OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: Removed.
  • OfflineStorageProcess/mac/com.apple.WebKit.OfflineStorage.sb: Removed.
  • Scripts/webkit2/messages.py:
  • Shared/OfflineStorage: Removed.
  • Shared/OfflineStorage/OfflineStorageProcessCreationParameters.cpp: Removed.
  • Shared/OfflineStorage/OfflineStorageProcessCreationParameters.h: Removed.
  • WebKit2.xcodeproj/project.pbxproj:

Remove.

10:15 AM Changeset in webkit [154250] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/119983> Add two missing RefPtr::release() in HTMLLinkElement.

Reviewed by Antti Koivisto.

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::setCSSStyleSheet):

9:01 AM Changeset in webkit [154249] by akling@apple.com
  • 8 edits
    2 adds in trunk/Source/WebCore

<https://webkit.org/b/119981> Move ElementData & co to their own files.

Reviewed by Antti Koivisto.

I like to move it move it.

7:39 AM Changeset in webkit [154248] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

BUILD FIX (r153990): Add UNUSED_PARAM for heightChanged when CSS_SHAPES is disabled

Fixes the following build failure:

WebCore/rendering/RenderBlock.cpp:1529:53: error: unused parameter 'heightChanged' [-Werror,-Wunused-parameter]
void RenderBlock::updateShapesAfterBlockLayout(bool heightChanged)


1 error generated.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateShapesAfterBlockLayout): Add
UNUSED_PARAM(heightChanged) when CSS_SHAPES is disabled.

7:16 AM Changeset in webkit [154247] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] minor method name fix for the textTrackOffMenuItemText method
https://bugs.webkit.org/show_bug.cgi?id=119978

the method textTrackOffMenuItemText was renamed in
https://bugs.webkit.org/show_bug.cgi?id=113822

Patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> on 2013-08-18
Reviewed by Christophe Dumez.

  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::textTrackOffMenuItemText):

4:06 AM Changeset in webkit [154246] by Antti Koivisto
  • 2 edits in trunk/LayoutTests

<https://webkit.org/b/119963> Use TextNodeTraversal for getting sheet text in StyleElement

Reviewed by Andreas Kling.

As a follow-up, mark as crashing a test that is now expected to crash in controlled manner (CRASH()).

Note that the test only ever passed because the amount of data was huge enough (>4GB) for it to take
the special do-nothing code path. With slightly less data the test would hit CRASH() in fastRealloc() like
it does now.


Mark fast/css/giant-stylesheet-crash.html as crashing.

Aug 17, 2013:

8:08 PM Changeset in webkit [154245] by mhahnenberg@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

<https://webkit.org/b/119919> Concurrent JIT crashes in various fast/js/dfg-* tests while the main thread is setting innerHTML

Reviewed by Filip Pizlo.

Added a new mode for DesiredWriteBarrier that allows it to track a position in a
Vector of WriteBarriers rather than the specific address. The fact that we were
arbitrarily storing into a Vector's backing store for constants at the end of
compilation after the Vector could have resized was causing crashes.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::constants):
(JSC::CodeBlock::addConstantLazily):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addConstant):

  • dfg/DFGDesiredWriteBarriers.cpp:

(JSC::DFG::DesiredWriteBarrier::DesiredWriteBarrier):
(JSC::DFG::DesiredWriteBarrier::trigger):
(JSC::DFG::initializeLazyWriteBarrierForConstant):

  • dfg/DFGDesiredWriteBarriers.h:

(JSC::DFG::DesiredWriteBarriers::add):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::truncateConstantToInt32):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::constantRegisterForConstant):

7:55 PM Changeset in webkit [154244] by bshafiei@apple.com
  • 5 edits in branches/safari-537-branch/Source

Versioning.

7:47 PM Changeset in webkit [154243] by bshafiei@apple.com
  • 1 copy in tags/Safari-537.60

New tag.

3:46 PM Changeset in webkit [154242] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/119963> Use TextNodeTraversal for getting sheet text in StyleElement

Reviewed by Andreas Kling.

  • dom/StyleElement.cpp:

(WebCore::StyleElement::process):

Use TextNodeTraversal::contentsAsString for the sheet text. The overflow check is removed as StringBuilder
(which is used by contentsAsString) does that itself. The behavior in case of overflow changes from empty
sheet to CRASH(). Thats what we do elsewhere in similar situations too (scripts for example). Continuing
with > 4GB of style sheet text nodes is probably not going to go well anyway.

3:05 PM Changeset in webkit [154241] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

<https://webkit.org/b/119960> Remove some optimizations made obsolete by use of StringBuilder

Reviewed by Andreas Kling.

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::scriptContent):

StringBuilder already optimizes for the single string case. If there is only one the original string is returned.

  • dom/Text.cpp:

(WebCore::Text::wholeText):

No need to traverse twice to compute the capacity. StringBuilder handles this efficiently.
Also in the common case there is only one string and the optimization here is actually hurting by disabling the StringBuilder one.

2:33 PM Changeset in webkit [154240] by Antti Koivisto
  • 18 edits
    2 adds in trunk/Source/WebCore

<https://webkit.org/b/119959> Add TextNodeTraversal

Reviewed by Andreas Kling.

Add TextNodeTraversal for cleaner and more compact traversal of Text nodes.

Use it where appropriate.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Attr.cpp:

(WebCore::Attr::childrenChanged):

  • dom/NodeTraversal.h:

(WebCore::NodeTraversal::next):

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::scriptContent):

  • dom/Text.cpp:

(WebCore::Text::wholeText):

  • dom/Text.h:

(WebCore::toText):

  • dom/TextNodeTraversal.cpp: Added.

(WebCore::TextNodeTraversal::appendContents):
(WebCore::TextNodeTraversal::contentsAsString):

Helpers for getting text content of a subtree.

  • dom/TextNodeTraversal.h: Added.

(WebCore::TextNodeTraversal::firstTextChildTemplate):
(WebCore::TextNodeTraversal::firstChild):
(WebCore::TextNodeTraversal::firstTextWithinTemplate):
(WebCore::TextNodeTraversal::firstWithin):
(WebCore::TextNodeTraversal::traverseNextTextTemplate):
(WebCore::TextNodeTraversal::next):
(WebCore::TextNodeTraversal::nextSibling):

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::joinChildTextNodes):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::defaultValue):
(WebCore::HTMLTextAreaElement::setDefaultValue):

  • html/HTMLTitleElement.cpp:

(WebCore::HTMLTitleElement::text):

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::determineTextDirection):

  • page/Frame.cpp:

(WebCore::Frame::searchForLabelsAboveCell):

  • xml/XPathUtil.cpp:

(WebCore::XPath::stringValue):

12:46 PM Changeset in webkit [154239] by akling@apple.com
  • 15 edits in trunk/Source

<https://webkit.org/b/119957> Page::contextMenuController() should return a reference.

Reviewed by Antti Koivisto.

Page::m_contextMenuController is never null.

  • page/Page.h:

(WebCore::Page::contextMenuController):

11:05 AM Changeset in webkit [154238] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

<https://webkit.org/b/119954> Page::dragCaretController() should return a reference.

Reviewed by Antti Koivisto.

Page::m_dragCaretController is never null.

  • dom/Document.cpp:

(WebCore::Document::nodeChildrenWillBeRemoved):
(WebCore::Document::nodeWillBeRemoved):

  • page/DragController.cpp:

(WebCore::DragController::cancelDrag):
(WebCore::DragController::dragEnded):
(WebCore::DragController::tryDocumentDrag):
(WebCore::DragController::dispatchTextInputEventFor):
(WebCore::DragController::concludeEditDrag):
(WebCore::DragController::placeDragCaret):

  • page/Page.h:

(WebCore::Page::dragCaretController):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintCaret):

10:29 AM Changeset in webkit [154237] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

<https://webkit.org/b/119952> Simplify Editor's back-pointer to the Frame.

Reviewed by Antti Koivisto.

Remove Editor's inheritance from FrameDestructionObserver. Editor is owned by Frame and
has no interest in observing frame destruction since its own destruction will soon follow.

Editor::m_frame is now a reference instead of a pointer. Removed some null checking.

10:23 AM Changeset in webkit [154236] by zandobersek@gmail.com
  • 2 edits
    1 add
    8 deletes in trunk/LayoutTests

<https://webkit.org/b/119944> The fast/dom/gc-10.html layout test should dump text instead of render tree

Reviewed by Darin Adler.

The fast/dom/gc-10.html layout test is unnecessarily dumping the render tree and the pixel output.
Dumping the text output is sufficient enough for this test.

  • fast/dom/gc-10-expected.txt: Added.
  • fast/dom/gc-10.html:
  • platform/efl/fast/dom/gc-10-expected.png: Removed.
  • platform/efl/fast/dom/gc-10-expected.txt: Removed.
  • platform/gtk/fast/dom/gc-10-expected.txt: Removed.
  • platform/mac/fast/dom/gc-10-expected.png: Removed.
  • platform/mac/fast/dom/gc-10-expected.txt: Removed.
  • platform/qt-5.0-wk2/fast/dom/gc-10-expected.png: Removed.
  • platform/qt/fast/dom/gc-10-expected.png: Removed.
  • platform/qt/fast/dom/gc-10-expected.txt: Removed.
9:58 AM Changeset in webkit [154235] by akling@apple.com
  • 13 edits in trunk/Source

<https://webkit.org/b/119950> Remove unused EditorClient::frameWillDetachPage() callback.

Reviewed by Antti Koivisto.

This callback was only used by the Chromium port.

  • editing/Editor.h:
  • editing/Editor.cpp:

Remove override of FrameDestructionObserver::willDetachPage().

  • page/EditorClient.h:

Remove frameWillDetachPage(). This is repeated in every EditorClient subclass.

9:36 AM Changeset in webkit [154234] by akling@apple.com
  • 2 edits in trunk/Source/WebKit

[Windows] Unreviewed build fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Don't export Frame::settings() as it's an inline method now.

9:12 AM Changeset in webkit [154233] by akling@apple.com
  • 2 edits in trunk/Source/WebKit/win

Windows build fix after r154219.

  • WebFrame.cpp:

(WebFrame::dispatchDidClearWindowObjectInWorld):

8:43 AM Changeset in webkit [154232] by Antti Koivisto
  • 15 edits in trunk/Source/WebCore

<https://webkit.org/b/119886> PseudoElement is abusing parent node pointer

Reviewed by Darin Adler.

PseudoElement sets its host node as its parent. This is confusing and wrong as it breaks
the basic tree consistency (a node is a child node of its parent node).

This patch adds an explicit host pointer PseudoElement and switches the call sites over. Memory
impact is negligible as there are not that many ::befores and ::afters.

  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::ComposedShadowTreeWalker::traverseParent):

  • dom/EventPathWalker.cpp:

(WebCore::EventPathWalker::moveToParent):

  • dom/EventRetargeter.h:

(WebCore::EventRetargeter::eventTargetRespectingTargetRules):

  • dom/Node.cpp:

(WebCore::Node::~Node):

Add consistency assertions. Remove unnecessary clearing of sibling pointers. They should be cleared already.

(WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):

  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::PseudoElement):
(WebCore::PseudoElement::customStyleForRenderer):

  • dom/PseudoElement.h:

(WebCore::toPseudoElement):

Add casting functions.

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::setInnerNode):
(WebCore::HitTestResult::setInnerNonSharedNode):

8:32 AM Changeset in webkit [154231] by Darin Adler
  • 4 edits in trunk/Source/WebCore

<https://webkit.org/b/119948> Change drag-specific clipboard writing in DragController to go straight to Pasteboard, not forward through Clipboard

Reviewed by Andreas Kling.

  • dom/Clipboard.cpp: Removed writeRange, writePlainText, and writeURL functions.

All three are just unneeded forwarding to pasteboard.

  • dom/Clipboard.h: Ditto.
  • page/DragController.cpp:

(WebCore::DragController::startDrag): Move the logic in here. Later we might
want to straighten this out a bit, perhaps using functions in Editor, but it's
not much code so fine to just have it here for now.

8:21 AM Changeset in webkit [154230] by Darin Adler
  • 3 edits in trunk/Source/WebCore

<https://webkit.org/b/119947> Remove LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS

Reviewed by Andreas Kling.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::Clipboard):
(WebCore::Clipboard::~Clipboard):

  • dom/Clipboard.h:

Remove LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS, LEGACY_VIRTUAL, and LEGACY_PURE.
Keep only the !USE(LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS) side of all conditionals.

7:56 AM Changeset in webkit [154229] by Darin Adler
  • 4 edits in trunk/Source/WebCore

<https://webkit.org/b/119946> Move some code used only by EventHandler from Clipboard to EventHandler

Reviewed by Andreas Kling.

Later it would be good to move this all to DragController, but there is no reason to have
these functions as member functions of the DOM-exposed Clipboard class.

  • dom/Clipboard.cpp: Deleted hasFileOfType, hasStringOfType, convertDropZoneOperationToDragOperation,

convertDragOperationToDropZoneOperation.

  • dom/Clipboard.h: Ditto.
  • page/EventHandler.cpp:

(WebCore::convertDropZoneOperationToDragOperation): Moved here.
(WebCore::convertDragOperationToDropZoneOperation): Moved here. Also changed to use ASCIILiteral.
(WebCore::hasFileOfType): Moved here and made a free function instead of a member function. Removed
canReadTypes check because Clipboard::files already takes care of that.
(WebCore::hasStringOfType): Moved here and made a free function instead of a member function.
Added a check for the null string because HashSet::contains will not work on a null string.
(WebCore::hasDropZoneType): Moved here and made a free function instead of a member function.
(WebCore::findDropZone): Call the hasDropZoneType function instead of Clipboard::hasDropZoneType.

7:48 AM Changeset in webkit [154228] by Darin Adler
  • 6 edits in trunk/Source/WebCore

<https://webkit.org/b/119943> Clean up the Document class a bit

Reviewed by Antti Koivisto.

  • dom/Document.cpp:

(WebCore::Document::~Document): Fixed typo in comment.
(WebCore::Document::suggestedMIMEType): Use ASCIILiteral for literals.
Also name local variable just loader rather than documentLoader.
(WebCore::Document::updateTitle): Call loader rather than going indirectly
through frame to get to the loader.
(WebCore::Document::setTitleElement): Fixed formatting (add braces).
(WebCore::Document::removeTitle): Iterate elements instead of nodes.
(WebCore::Document::isPageBoxVisible): Use ensureStyleResolver to call
styleForPage to avoid the need for a simple forwarding function. Also
eliminated local variable to increase clarity.
(WebCore::Document::pageSizeAndMarginsInPixels): Use ensureStyleResolver
to call styleForPage to avoid the need for a simple forwarding function.
(WebCore::Document::setIsViewSource): Renamed a local variable.

  • dom/Document.h: Removed unneeded childNeedsAndNotInStyleRecalc and

styleForPage functions.

  • loader/FrameLoader.cpp: Removed unnneeded setTitle function.
  • loader/FrameLoader.h: Ditto.
  • page/PrintContext.cpp:

(WebCore::PrintContext::pageProperty): Use ensureStyleResolver to call
styleForPage to avoid the need for a simple forwarding function.

7:41 AM Changeset in webkit [154227] by Darin Adler
  • 12 edits
    3 deletes in trunk/Source/WebCore

<https://webkit.org/b/119939> Remove some unused clipboard and pasteboard code

Reviewed by Andreas Kling.

  • PlatformWinCE.cmake: Removed EditorWin.cpp.
  • WebCore.vcxproj/WebCore.vcxproj: Removed EditorWin.cpp.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Removed EditorWin.cpp.
  • WebCore.xcodeproj/project.pbxproj: Removed ClipboardIOS.h and

ClipboardIOS.mm, and also let Xcode edit/reorder this file.

  • editing/Editor.cpp:

(WebCore::Editor::dispatchCPPEvent): Removed some LEGACY_STYLE_ABSTRACT_CLIPBOARD
class code. Will remove the rest later.

  • editing/Editor.h: Removed declaration of newGeneralClipboard.
  • platform/Pasteboard.h: Removed declaration of writeClipboard. Also updated a

comment to make it clearer.

  • platform/blackberry/PasteboardBlackBerry.cpp: Removed Pasteboard::writeClipboard.
  • platform/efl/PasteboardEfl.cpp: Ditto.
  • platform/ios/PasteboardIOS.mm: Ditto.
  • platform/win/PasteboardWin.cpp: Ditto.
  • platform/ios/ClipboardIOS.h: Removed. Was an empty file.
  • platform/ios/ClipboardIOS.mm: Removed. Was an empty file.
  • platform/win/EditorWin.cpp: Removed. Had only newGeneralClipboard in the file,

a function that is never called.

7:39 AM Changeset in webkit [154226] by Darin Adler
  • 7 edits in trunk/Source/WebCore

<https://webkit.org/b/119940> Rename Clipboard::m_dragLoc to m_dragLocation

Reviewed by Andreas Kling.

  • dom/Clipboard.h: Removed unused dragLocation member function.

Renamed m_dragLoc to m_dragLocation.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::setDragImage):

  • platform/gtk/ClipboardGtk.cpp:

(WebCore::Clipboard::createDragImage):

  • platform/mac/ClipboardMac.mm:

(WebCore::Clipboard::createDragImage):

  • platform/qt/ClipboardQt.cpp:

(WebCore::Clipboard::createDragImage):

  • platform/win/ClipboardWin.cpp:

(WebCore::Clipboard::createDragImage):
Updated for new name.

7:37 AM Changeset in webkit [154225] by Darin Adler
  • 7 edits in trunk/Source/WebCore

<https://webkit.org/b/119942> Remove unnecessary uses of Element::ownerDocument

Reviewed by Andreas Kling.

The Element::document is a simpler faster alternative to Element::ownerDocument.
The only behavior difference between the two is that ownerDocument returns 0 when
called on a Document.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::supportsFocus): Call document instead of ownerDocument.
(WebCore::HTMLMediaElement::mediaPlayerOwningDocument): Removed null checking of
document and call to ownerDocument, since ownerDocument will never return non-null
if document returns null.
(WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks): Call document instead
of ownerDocument.

  • inspector/DOMEditor.cpp:

(WebCore::DOMEditor::SetOuterHTMLAction::perform): Call document instead of ownerDocument.

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getMatchedStylesForNode): Call document instead of ownerDocument.
(WebCore::InspectorCSSAgent::forcePseudoState): Call document instead of ownerDocument.
(WebCore::InspectorCSSAgent::resetPseudoStates): Call document instead of ownerDocument.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::setOuterHTML): Call document instead of expression that
does the same thing in a roundabout way.
(WebCore::InspectorDOMAgent::focusNode): Call document instead of ownerDocument.
(WebCore::InspectorDOMAgent::resolveNode): Call document instead of expression that
does the same thing in a roundabout way.

  • page/DragController.cpp:

(WebCore::DragController::concludeEditDrag): Call document instead of ownerDocument.

  • svg/SVGElementInstance.cpp:

(WebCore::SVGElementInstance::ownerDocument): Call document instead of ownerDocument.

7:27 AM Changeset in webkit [154224] by Darin Adler
  • 19 edits in trunk/Source

<https://webkit.org/b/119941> Make Page::dragController return a reference

Reviewed by Andreas Kling.

Source/WebCore:

  • page/Page.h:

(WebCore::Page::dragController): Return a reference instead of a pointer.

  • page/DragController.cpp:

(WebCore::DragController::concludeEditDrag):

  • page/EventHandler.cpp:

(WebCore::EventHandler::eventMayStartDrag):
(WebCore::EventHandler::updateDragSourceActionsAllowed):
(WebCore::EventHandler::handleDrag):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::passSubframeEventToSubframe):
Updated call sites.

Source/WebKit/gtk:

  • webkit/webkitwebview.cpp:

(dragExitedCallback):
(webkit_web_view_drag_motion):
(webkit_web_view_drag_data_received):
(webkit_web_view_drag_drop):
Updated call sites.

Source/WebKit/mac:

  • WebView/WebFrameView.mm:

(-[WebFrameView _setDocumentView:]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView draggingSourceOperationMaskForLocal:]):
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):

  • WebView/WebView.mm:

(-[WebView _setInitiatedDrag:]):
(-[WebView draggingEntered:]):
(-[WebView draggingUpdated:]):
(-[WebView draggingExited:]):
(-[WebView performDragOperation:]):
(-[WebView moveDragCaretToPoint:]):
(-[WebView removeDragCaret]):
Updated call sites.

Source/WebKit/qt:

  • WebCoreSupport/DragClientQt.cpp:

(WebCore::DragClientQt::startDrag):

  • WebCoreSupport/QWebPageAdapter.cpp:

(QWebPageAdapter::dragEntered):
(QWebPageAdapter::dragLeaveEvent):
(QWebPageAdapter::dragUpdated):
(QWebPageAdapter::performDrag):
Updated call sites.

Source/WebKit/win:

  • WebCoreSupport/WebDragClient.cpp:

(WebDragClient::startDrag):

  • WebView.cpp:

(WebView::keyStateToDragOperation):
(WebView::DragEnter):
(WebView::DragOver):
(WebView::DragLeave):
(WebView::Drop):
Updated call sites.

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::performDragControllerAction):
(WebKit::WebPage::dragEnded):
Updated call sites.

5:38 AM Changeset in webkit [154223] by ddkilzer@apple.com
  • 5 edits in trunk/Source/ThirdParty/ANGLE

ANGLE fails to build with trunk clang: error: 'register' storage class specifier is deprecated [-Werror,-Wdeprecated-register]
<http://webkit.org/b/119931>
<rdar://problem/14763822>

Reviewed by Darin Adler.

  • src/compiler/glslang.l:
  • src/compiler/glslang_lex.cpp:
  • src/compiler/preprocessor/Tokenizer.cpp:
  • src/compiler/preprocessor/Tokenizer.l:

Add pragma statements to ignore -Wdeprecated-register warnings
in generated code. Also ignore -Wunknown-pragmas so this
doesn't cause a build failure in older versions of clang.

5:37 AM Changeset in webkit [154222] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit2 fails to build with trunk clang: error: 'WebPluginSiteDataManagerh' is used as a header guard here, followed by #define of a different macro [-Werror,-Wheader-guard]
<http://webkit.org/b/119935>
<rdar://problem/14764131>

Reviewed by Darin Adler.

  • UIProcess/Plugins/WebPluginSiteDataManager.h: Fix typo

introduced in r78647.

5:31 AM Changeset in webkit [154221] by commit-queue@webkit.org
  • 7 edits
    22 adds in trunk

<https://webkit.org/b/119795> Propagate writing-mode from the first region to the flow thread

Patch by Morten Stenshorne <mstensho@opera.com> on 2013-08-17
Reviewed by Darin Adler.

Source/WebCore:

Since the flow thread is a direct child of RenderView, it doesn't inherit
proper writing-mode automatically. It should be mentioned that if the thread's
contents' writing-mode differs from that of the first region, things are
typically going to look useless (although perhaps that's how it should be),
but as long as writing-mode is only specified on a common parent of the
thread's contents and the regions, things look fine, and also, we're now
following what the spec has to say on the matter:

http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-flow-into-property

"The first region defines the principal writing mode for the entire flow.

The writing mode on subsequent regions is ignored."

This is a back-port of the fix for Blink bug 257965.
Reviewed by esprehn and mihnea there.
Blink review URL: https://chromiumcodereview.appspot.com/18374008

Tests: fast/regions/changing-writing-mode-2.html

fast/regions/changing-writing-mode-3.html
fast/regions/changing-writing-mode-4.html
fast/regions/changing-writing-mode-5.html
fast/regions/changing-writing-mode.html
fast/regions/invalid-first-region-with-writing-mode-2.html
fast/regions/invalid-first-region-with-writing-mode.html
fast/regions/subtree-with-horiz-bt.html
fast/regions/subtree-with-horiz-tb.html
fast/regions/subtree-with-vert-lr.html
fast/regions/subtree-with-vert-rl.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::styleDidChange):

  • rendering/RenderFlowThread.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::updateWritingMode):
(WebCore::RenderNamedFlowThread::addRegionToNamedFlowThread):
(WebCore::RenderNamedFlowThread::removeRegionFromThread):
(WebCore::RenderNamedFlowThread::regionChangedWritingMode):

  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::styleDidChange):

LayoutTests:

  • fast/regions/changing-writing-mode-2-expected.html: Added.
  • fast/regions/changing-writing-mode-2.html: Added.
  • fast/regions/changing-writing-mode-3-expected.html: Added.
  • fast/regions/changing-writing-mode-3.html: Added.
  • fast/regions/changing-writing-mode-4-expected.html: Added.
  • fast/regions/changing-writing-mode-4.html: Added.
  • fast/regions/changing-writing-mode-5-expected.html: Added.
  • fast/regions/changing-writing-mode-5.html: Added.
  • fast/regions/changing-writing-mode-expected.html: Added.
  • fast/regions/changing-writing-mode.html: Added.
  • fast/regions/invalid-first-region-with-writing-mode-2-expected.html: Added.
  • fast/regions/invalid-first-region-with-writing-mode-2.html: Added.
  • fast/regions/invalid-first-region-with-writing-mode-expected.html: Added.
  • fast/regions/invalid-first-region-with-writing-mode.html: Added.
  • fast/regions/subtree-with-horiz-bt-expected.html: Added.
  • fast/regions/subtree-with-horiz-bt.html: Added.
  • fast/regions/subtree-with-horiz-tb-expected.html: Added.
  • fast/regions/subtree-with-horiz-tb.html: Added.
  • fast/regions/subtree-with-vert-lr-expected.html: Added.
  • fast/regions/subtree-with-vert-lr.html: Added.
  • fast/regions/subtree-with-vert-rl-expected.html: Added.
  • fast/regions/subtree-with-vert-rl.html: Added.
5:11 AM Changeset in webkit [154220] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpecations: Unskip fast/dom/gc-10.html, the test seems to work now.
3:58 AM Changeset in webkit [154219] by akling@apple.com
  • 65 edits in trunk/Source

<https://webkit.org/b/119903> Make Settings ref-counted (and let Frame keep a ref!)

Reviewed by Geoff Garen.

Let Frame hold a RefPtr<Settings> so Frame::settings() isn't forced to go through Page.
It now also returns a reference, as it can never be null.

Removed 8.8 million lines of null-checking as a result.

Aug 16, 2013:

10:50 PM Changeset in webkit [154218] by fpizlo@apple.com
  • 9 edits
    6 adds in trunk

DFG should optimize typedArray.byteLength
https://bugs.webkit.org/show_bug.cgi?id=119909

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

This adds typedArray.byteLength inlining to the DFG, and does so without changing
the IR: byteLength is turned into GetArrayLength followed by BitLShift. This is
legal since the byteLength of a typed array cannot exceed
numeric_limits<int32_t>::max().

  • bytecode/SpeculatedType.cpp:

(JSC::typedArrayTypeFromSpeculation):

  • bytecode/SpeculatedType.h:
  • dfg/DFGArrayMode.cpp:

(JSC::DFG::toArrayType):

  • dfg/DFGArrayMode.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::attemptToMakeGetArrayLength):
(JSC::DFG::FixupPhase::attemptToMakeGetByteLength):
(JSC::DFG::FixupPhase::convertToGetArrayLength):
(JSC::DFG::FixupPhase::prependGetArrayLength):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::constantRegisterForConstant):
(JSC::DFG::Graph::convertToConstant):

  • runtime/TypedArrayType.h:

(JSC::logElementSize):
(JSC::elementSize):

LayoutTests:

Reviewed by Oliver Hunt.

Convert two of the tyepd array tests to use byteLength instead of length.
These tests show speed-ups around 2.5x-5x.

  • fast/js/regress/Int16Array-bubble-sort-with-byteLength-expected.txt: Added.
  • fast/js/regress/Int16Array-bubble-sort-with-byteLength.html: Added.
  • fast/js/regress/Int8Array-load-with-byteLength-expected.txt: Added.
  • fast/js/regress/Int8Array-load-with-byteLength.html: Added.
  • fast/js/regress/script-tests/Int16Array-bubble-sort-with-byteLength.js: Added.

(bubbleSort):
(myRandom):
(validateSort):

  • fast/js/regress/script-tests/Int8Array-load-with-byteLength.js: Added.

(adler32):

10:36 PM Changeset in webkit [154217] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk

DFG optimizes out strict mode arguments tear off
https://bugs.webkit.org/show_bug.cgi?id=119504

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg and Oliver Hunt.

Don't do the optimization for strict mode.

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::ArgumentsSimplificationPhase::pruneObviousArgumentCreations):

LayoutTests:

Reviewed by Mark Hahnenberg and Oliver Hunt.

  • fast/js/dfg-arguments-strict-mode-expected.txt: Added.
  • fast/js/dfg-arguments-strict-mode.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-arguments-strict-mode.js: Added.

(f):

7:50 PM Changeset in webkit [154216] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit/efl

[EFL] Unreviewed build fix after r154192

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld):

6:47 PM Changeset in webkit [154215] by Lucas Forschler
  • 5 edits in branches/safari-537-branch/Source

Versioning.

6:44 PM Changeset in webkit [154214] by Lucas Forschler
  • 1 copy in tags/Safari-537.59

New Tag.

6:33 PM Changeset in webkit [154213] by Lucas Forschler
  • 5 edits in branches/safari-537-branch/Source

Versioning.

6:31 PM Changeset in webkit [154212] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

<https://webkit.org/b/119536> Refactor highestEditableRoot to avoid a redundant call to rendererIsEditable

Reviewed by Benjamin Poulain.

Refactor highestEditableRoot to avoid an extra tree walk. We now walk up the ancestor chain up to
the first root editable element exactly once.

  • dom/Node.cpp:

(WebCore::Node::rendererIsEditable): Change the order of conditions to make the evaluation faster
when we don't have to check RenderStyle's value.

  • editing/htmlediting.cpp:

(WebCore::highestEditableRoot):

6:31 PM Changeset in webkit [154211] by Lucas Forschler
  • 1 delete in tags/Safari-537.59

Remove Tag.

6:21 PM Changeset in webkit [154210] by Lucas Forschler
  • 5 edits in branches/safari-537-branch/Source

Versioning.

6:20 PM Changeset in webkit [154209] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove a useless #include of SelectorChecker.h

Rubber-stamped by Ryosuke Niwa.

  • dom/DocumentStyleSheetCollection.cpp:
6:19 PM Changeset in webkit [154208] by Lucas Forschler
  • 1 copy in tags/Safari-537.59

New Tag.

4:34 PM Changeset in webkit [154207] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] x86: improve code generation for xxxTest32
https://bugs.webkit.org/show_bug.cgi?id=119876

Reviewed by Geoffrey Garen.

Try to use testb whenever possible when testing for an immediate value.

When the input is an address and an offset, we can tweak the mask
and offset to be able to generate testb for any byte of the mask.

When the input is a register, we can use testb if we are only interested
in testing the low bits.

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::branchTest32):
(JSC::MacroAssemblerX86Common::test32):
(JSC::MacroAssemblerX86Common::generateTest32):

2:56 PM Changeset in webkit [154206] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

<https://webkit.org/b/119915> REGRESSION(r154144): ASSERTION FAILED: m_history->provisionalItem() == m_requestedHistoryItem.get()

Add failing test expectations.

  • platform/mac-wk2/TestExpectations:
2:45 PM Changeset in webkit [154205] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Windows] Update RenderMediaControls for new API
https://bugs.webkit.org/show_bug.cgi?id=119910

Reviewed by Eric Carlson.

  • rendering/RenderMediaControls.cpp: Update calls to WebKitSystemInterface for

the changed API.

2:40 PM Changeset in webkit [154204] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

<https://bugs.webkit.org/show_bug.cgi?id=119913> Baseline JIT gives erroneous
error message that an object is not a constructor though it expects a function

Reviewed by Michael Saboff.

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

2:29 PM Changeset in webkit [154203] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

<https://webkit.org/b/119912> Fix WebKit build error when SVG is disabled(broken since r154174)

Patch by Arunprasad Rajkumar <arurajku@cisco.com> on 2013-08-16
Reviewed by Simon Fraser.

No new tests required, just a build fix.

Since r154174 CSS keywords alpha and luminance used by -webkit-mask-source-type. Move those
keywords from SVGCSSValueKeywords.in to CSSValueKeywords.in.

  • css/CSSValueKeywords.in:
  • css/SVGCSSValueKeywords.in:
1:04 PM Changeset in webkit [154202] by dfarler@apple.com
  • 2 edits in trunk/Websites/bugs.webkit.org

PrettyPatch: Wrap pre blocks
https://bugs.webkit.org/show_bug.cgi?id=119906

Reviewed by Darin Adler.

  • PrettyPatch/PrettyPatch.rb:

<pre> will use the same wrap settings as the text class:
white-space: pre-wrap and word-wrap: break-word.

12:33 PM Changeset in webkit [154201] by commit-queue@webkit.org
  • 21 edits in trunk/Source

<https://webkit.org/b/119785> Replace currentTime() with monotonicallyIncreasingTime() in WebCore

Patch by Arunprasad Rajkumar <arurajku@cisco.com> on 2013-08-16
Reviewed by Alexey Proskuryakov.

Source/WebCore:

WTF::currentTime() is prone to DST changes and NTP adjustments, so use
WTF::monotonicallyIncreasingTime() to measure elapsed time.

  • Modules/filesystem/FileWriter.cpp:

(WebCore::FileWriter::didWrite):

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::elapsedTime):
(WebCore::Document::resetLastHandledUserGestureTimestamp):

  • dom/Element.cpp:

(WebCore::Element::setActive):

  • fileapi/FileReader.cpp:

(WebCore::FileReader::didReceiveData):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::startProgressEventTimer):
(WebCore::HTMLMediaElement::progressEventTimerFired):
(WebCore::HTMLMediaElement::refreshCachedTime):
(WebCore::HTMLMediaElement::invalidateCachedTime):
(WebCore::HTMLMediaElement::currentTime):
(WebCore::HTMLMediaElement::startPlaybackProgressTimer):
(WebCore::HTMLMediaElement::scheduleTimeupdateEvent):

  • html/HTMLMediaElement.h:
  • html/HTMLPlugInImageElement.cpp:

(WebCore::documentHadRecentUserGesture):

  • html/MediaController.cpp:

(MediaController::scheduleTimeupdateEvent):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::pumpPendingSpeculations):

  • html/parser/HTMLParserScheduler.h:

(WebCore::HTMLParserScheduler::checkForYieldBeforeToken):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::SelectorProfile::SelectorProfile):
(WebCore::SelectorProfile::totalMatchingTimeMs):
(WebCore::SelectorProfile::startSelector):
(WebCore::SelectorProfile::commitSelector):
(WebCore::SelectorProfile::commitSelectorTime):

  • inspector/InspectorProfilerAgent.cpp:

(WebCore::InspectorProfilerAgent::willProcessTask):
(WebCore::InspectorProfilerAgent::didProcessTask):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::timestamp):

  • inspector/TimelineTraceEventProcessor.cpp:

(WebCore::TimelineTraceEventProcessor::processEventOnAnyThread):

  • page/FrameView.cpp:

(WebCore::FrameView::adjustedDeferredRepaintDelay):
(WebCore::FrameView::paintContents):

  • platform/ClockGeneric.cpp:

(ClockGeneric::now):

  • platform/ScrollAnimatorNone.cpp:

(WebCore::ScrollAnimatorNone::scroll):
(WebCore::ScrollAnimatorNone::animationTimerFired):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::flushContextIfNecessary):
(WebCore::ImageBuffer::flushContext):
(WebCore::ImageBuffer::copyNativeImage):

Source/WTF:

WTF::currentTime() is prone to DST changes and NTP adjustments, so use
WTF::monotonicallyIncreasingTime() to measure elapsed time.

  • wtf/CurrentTime.h:

(WTF::monotonicallyIncreasingTimeMS): Added mille second version of monotonic time API.

12:20 PM Changeset in webkit [154200] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

<https://webkit.org/b/119891> [WinCairo] Compile error.

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-08-16
Reviewed by Brent Fulgham.

  • rendering/FlowThreadController.cpp: Need USE(ACCELERATED_COMPOSITING) guard.
  • rendering/FlowThreadController.h: Need USE(ACCELERATED_COMPOSITING) guard.
12:15 PM Changeset in webkit [154199] by fpizlo@apple.com
  • 10 edits
    3 adds in trunk

Object properties added using dot syntax (o.f = ...) from code that isn't in eval should be less likely to cause an object to become a dictionary
https://bugs.webkit.org/show_bug.cgi?id=119897

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

6-10x speed-up on microbenchmarks that create large static objects. 40-65% speed-up
on Octane/gbemu. 3% overall speed-up on Octane. No slow-downs anywhere; our ability
to turn objects into dictionaries when you're storing using bracket syntax or using
eval is still in place.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::putByIdContext):

  • dfg/DFGOperations.cpp:
  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/JSObject.h:

(JSC::JSObject::putDirectInternal):

  • runtime/PutPropertySlot.h:

(JSC::PutPropertySlot::PutPropertySlot):
(JSC::PutPropertySlot::context):

  • runtime/Structure.cpp:

(JSC::Structure::addPropertyTransition):

  • runtime/Structure.h:

LayoutTests:

Reviewed by Oliver Hunt.

  • fast/js/regress/lots-of-fields-expected.txt: Added.
  • fast/js/regress/lots-of-fields.html: Added.
  • fast/js/regress/script-tests/lots-of-fields.js: Added.

(foo):

12:08 PM Changeset in webkit [154198] by Brent Fulgham
  • 2 edits in trunk/Tools

[Windows] DRT is not using the same preferences as the Mac build.
https://bugs.webkit.org/show_bug.cgi?id=119822

Reviewed by Darin Adler.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(runTest): Process Windows message queue using CFRunLoop to allow
dispatch routines to run properly.
(dllLauncherEntryPoint): Wrap CG-specific setup code in a macro
to prevent problems on WinCairo port.

11:53 AM Changeset in webkit [154197] by zandobersek@gmail.com
  • 6 edits in trunk/Source/WebCore

<https://webkit.org/b/119887> [Soup] The testing NetworkStorageSession should have a proper SoupSession

Reviewed by Martin Robinson.

After r154144, a testing NetworkStorageSession is enforced when running the layout tests
through WebKitTestRunner. Ports using the Soup networking backend don't assign any SoupSession
objects to such NetworkStorageSession objects as it's usually the case. This is causing problems
as the ResourceHandleInternal uses the SoupSession that's provided by the NetworkingContext's
NetworkStorageSession, which ends up being null if the testing-specific NetworkStorageSession is used.
As a result, all the layout tests are crashing under WKTR.

  • platform/network/NetworkStorageSession.h: Make the SoupSession member a GRefPtr.

(WebCore::NetworkStorageSession::soupSession): Return the GRefPtr's pointer.

  • platform/network/ResourceHandle.h: Declare the new createTestingSession method.
  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::cookieJarForSession): Instead of returning the default SoupCookieJar when there's no SoupSession
provided by the NetworkStorageSession, assert that there now always is one, and return the session's cookie
jar. For testing NetworkStorageSession objects, their SoupSession objects will always use the default cookie jar.

  • platform/network/soup/NetworkStorageSessionSoup.cpp:

(WebCore::NetworkStorageSession::NetworkStorageSession): Adopt the given SoupSession reference pointer.
(WebCore::NetworkStorageSession::switchToNewTestingSession): Use a newly-created, testing-specific SoupSession.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::createTestingSession): Define the new createTestingSession method. It creates a new
SoupSession through createSoupSession, but uses the default SoupCookieJar, as provided by WebCore::soupCookieJar.

11:43 AM Changeset in webkit [154196] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebInspectorUI

<https://webkit.org/b/118105> Web Inspector: AX: Add support for ARIA tablists/tabs to inspector tabs

Patch by James Craig <james@cookiecrook.com> on 2013-08-16
Reviewed by Joseph Pecoraro.

Updating accessibility roles and attributes for single-select toolbar item sets.

  • UserInterface/ActivateButtonNavigationItem.js:

(WebInspector.ActivateButtonNavigationItem):
(WebInspector.ActivateButtonNavigationItem.prototype.set activated):

  • UserInterface/ActivateButtonToolbarItem.js:

(WebInspector.ActivateButtonToolbarItem):

  • UserInterface/ButtonToolbarItem.js:

(WebInspector.ButtonToolbarItem):

  • UserInterface/SidebarPanel.js:

(WebInspector.SidebarPanel):

  • UserInterface/Toolbar.js:

(WebInspector.Toolbar):

11:42 AM Changeset in webkit [154195] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening. Rebaseline after r154124.

  • platform/mac-lion/fast/js/global-constructors-attributes-expected.txt:
11:06 AM Changeset in webkit [154194] by Brent Fulgham
  • 2 edits in trunk/Tools

[Windows] URL printing code in DRT doesn't match WTR or Mac DRT
https://bugs.webkit.org/show_bug.cgi?id=119583

Reviewed by Alexey Proskuryakov.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(urlSuitableForTestResult): Revise URL output to match Mac DRT by emiting last path
component if the URL does not contain the expected base URL.

11:02 AM Changeset in webkit [154193] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

[Windows] Unreviewed gardening. Correct Windows test expectations after JSC changes.

  • platform/win/fast/js/dom-static-property-for-in-iteration-expected.txt:
  • platform/win/fast/js/global-constructors-attributes-shared-worker-expected.txt:
10:55 AM Changeset in webkit [154192] by psolanki@apple.com
  • 78 edits in trunk

<https://webkit.org/b/119852> Frame::scriptController() should return a reference

Reviewed by Andreas Kling.

m_script is never NULL so we can just return a reference. Also remove some pointless null
checks as a result of doing this.

Source/WebCore:

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::connect):

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::toJS):
(WebCore::toJSDOMWindow):

  • bindings/js/JSDOMWindowShell.cpp:

(WebCore::toJS):
(WebCore::toJSDOMWindowShell):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction):

  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::setJavaScriptPaused):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::execute):

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):

  • bindings/js/ScriptEventListener.cpp:

(WebCore::createAttributeEventListener):
(WebCore::eventListenerHandlerScriptState):

  • bindings/js/ScriptState.cpp:

(WebCore::mainWorldScriptState):
(WebCore::scriptStateFromNode):
(WebCore::scriptStateFromPage):

  • bindings/objc/DOM.mm:

(-[DOMNode JSC::Bindings::]):

  • bindings/objc/DOMInternal.mm:

(-[WebScriptObject _initializeScriptDOMNodeImp]):

  • dom/Document.cpp:

(WebCore::Document::disableEval):
(WebCore::Document::ensurePlugInsInjectedScript):

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::prepareScript):
(WebCore::ScriptElement::executeScript):

  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createRenderer):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::rendererIsNeeded):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::controls):

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::getInstance):
(WebCore::HTMLPlugInElement::getNPObject):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):

  • html/parser/HTMLParserOptions.cpp:

(WebCore::HTMLParserOptions::HTMLParserOptions):

  • inspector/InspectorAgent.cpp:

(WebCore::InspectorAgent::didClearWindowObjectInWorld):

  • inspector/InspectorClient.cpp:

(WebCore::InspectorClient::doDispatchMessageOnFrontendPage):

  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
(WebCore::InspectorFrontendClientLocal::evaluateOnLoad):

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::evaluateInOverlay):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::getScriptExecutionStatus):
(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):

  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::reportExecutionContextCreation):

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::begin):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::cancelAndClear):
(WebCore::FrameLoader::clear):
(WebCore::FrameLoader::prepareForCachedPageRestore):
(WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
(WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::requestFrame):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::canRequest):

  • page/EventSource.cpp:

(WebCore::EventSource::create):

  • page/Frame.cpp:

(WebCore::Frame::willDetachPage):

  • page/Frame.h:

(WebCore::Frame::script):

  • page/Navigator.cpp:

(WebCore::shouldHideFourDot):

  • page/Page.cpp:

(WebCore::Page::setDebugger):

  • platform/graphics/wince/MediaPlayerProxy.cpp:

(WebCore::WebMediaPlayerProxy::pluginInstance):
(WebCore::WebMediaPlayerProxy::invokeMethod):

  • plugins/PluginView.cpp:

(WebCore::PluginView::~PluginView):
(WebCore::PluginView::performRequest):
(WebCore::PluginView::load):
(WebCore::PluginView::bindingInstance):
(WebCore::PluginView::getValue):

  • plugins/efl/PluginViewEfl.cpp:

(WebCore::PluginView::platformGetValue):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::open):

  • xml/XMLTreeViewer.cpp:

(WebCore::XMLTreeViewer::transformDocumentToTreeView):

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
(BlackBerry::WebKit::WebPagePrivate::executeJavaScriptInIsolatedWorld):
(BlackBerry::WebKit::WebPage::executeJavaScriptFunction):
(BlackBerry::WebKit::WebPage::globalContext):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidClearWindowObjectInWorld):

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld):
(DumpRenderTreeSupportEfl::globalContextRefForFrame):

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::dispatchDidClearWindowObjectInWorld):

  • ewk/ewk_frame.cpp:

(ewk_frame_script_execute):

  • ewk/ewk_view.cpp:

(ewk_view_js_object_add):

Source/WebKit/gtk:

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::dispatchDidClearWindowObjectInWorld):

  • webkit/webkitwebframe.cpp:

(webkit_web_frame_get_global_context):

  • webkit/webkitwebview.cpp:

(webkit_web_view_execute_script):

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::cleanup):
(WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
(WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
(WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView getVariable:value:]):
(-[WebNetscapePluginView _destroyPlugin]):

  • Plugins/WebPluginController.mm:
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorFrontendClient::save):
(WebInspectorFrontendClient::append):

  • WebView/WebFrame.mm:

(-[WebFrame _attachScriptDebugger]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
(-[WebFrame _globalContextForScriptWorld:]):
(-[WebFrame jsWrapperForNode:inScriptWorld:]):
(-[WebFrame windowObject]):
(-[WebFrame globalContext]):
(-[WebFrame javaScriptContext]):

  • WebView/WebScriptDebugger.mm:

(WebScriptDebugger::initGlobalCallFrame):
(WebScriptDebugger::callEvent):

  • WebView/WebView.mm:

(-[WebView windowScriptObject]):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):

Source/WebKit/qt:

  • Api/qwebelement.cpp:

(setupScriptContext):
(QWebElement::evaluateJavaScript):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::evaluateScriptInIsolatedWorld):

  • WebCoreSupport/QWebFrameAdapter.cpp:

(QWebFrameAdapter::evaluateJavaScript):
(QWebFrameAdapter::addToJavaScriptWindowObject):

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::globalContext):
(WebFrame::globalContextForScriptWorld):
(WebFrame::dispatchDidClearWindowObjectInWorld):
(WebFrame::stringByEvaluatingJavaScriptInScriptWorld):

  • WebView.cpp:

(WebView::stringByEvaluatingJavaScriptFromString):

Source/WebKit2:

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::globalObject):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::performJavaScriptURLRequest):
(WebKit::PluginView::windowScriptNPObject):
(WebKit::PluginView::pluginElementNPObject):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::jsContext):
(WebKit::WebFrame::jsContextForWorld):
(WebKit::WebFrame::jsWrapperForWorld):

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::didSave):
(WebKit::WebInspector::didAppend):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScriptInMainFrame):

Tools:

  • DumpRenderTree/blackberry/DumpRenderTree.cpp:

(BlackBerry::WebKit::DumpRenderTree::resetToConsistentStateBeforeTesting):

10:52 AM Changeset in webkit [154191] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-537-branch

Merged r154147. <rdar://problem/14307781>

10:48 AM Changeset in webkit [154190] by Lucas Forschler
  • 2 edits in branches/safari-537-branch/Source/WebKit/mac

Merged r154114. <rdar://problem/14698870>

10:47 AM Changeset in webkit [154189] by jer.noble@apple.com
  • 3 edits in trunk/LayoutTests

[Mac] [WK2] Some inspector tests intermittently asserts in InspectorOverlay::paint
https://bugs.webkit.org/show_bug.cgi?id=105988

Unreviewed gardening. Mark tests as flakey (crashing) in WK1 expectations as well as WK2.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
9:21 AM Changeset in webkit [154188] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Attempt to fix the Qt/MountainLion build after r154142.

  • platform/graphics/qt/MediaPlayerPrivateQt.cpp:

(WebCore::MediaPlayerPrivateQt::commitLoad):

9:13 AM Changeset in webkit [154187] by akling@apple.com
  • 2 edits in trunk/Source/WebKit/win

Windows build juice.

  • WebView.cpp:

(WebView::paintIntoBackingStore):

9:03 AM Changeset in webkit [154186] by allan.jensen@digia.com
  • 3 edits in trunk

[Qt] Kerning in fast font path breaks letter-spacing
https://bugs.webkit.org/show_bug.cgi?id=119838

Reviewed by Jocelyn Turcotte.

Source/WebCore:

Mark fonts with both kerning and letter-spacing as unsupported by the simple font-path.

Test: fast/text/letter-spacing-kerned.html

  • platform/graphics/WidthIterator.h:

(WebCore::WidthIterator::supportsTypesettingFeatures):

LayoutTests:

Test that kerning does not break letter spacing.

  • fast/text/letter-spacing-kerned-expected.html: Added.
  • fast/text/letter-spacing-kerned.html: Added.
8:52 AM Changeset in webkit [154185] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Windows] Unreviewed gardening. Turn on a now-passing test.

  • platform/win/TestExpectations: Reactivate fast/text/split-text-crash.xhtml
8:47 AM Changeset in webkit [154184] by akling@apple.com
  • 42 edits in trunk/Source

<https://webkit.org/b/119893> FrameView::frame() should return a reference.

Reviewed by Antti Koivisto.

FrameView::m_frame was only ever null for a brief moment during CachedFrame teardown.
Leave it alone instead, and update the assertion that depended on this behavior.
This enables us to make FrameView::frame() return a Frame&, exposing a ton of
unnecessary null checks.

  • history/CachedFrame.cpp:

(WebCore::CachedFrame::destroy):

Remove call to FrameView::clearFrame() that was the only way to get a null
FrameView::m_frame. Immediately followed by a call to CachedFrame::clear() where
the FrameView would get destroyed anyway.

(WebCore::CachedFrame::clear):

Update an assertion to support the case where the Document's Frame pointer has
been cleared out and CachedFrame is still clinging to the FrameView.

  • history/CachedPage.h:

Made CachedPage::destroy() private as it was only called by ~CachedPage().

  • /:

Frame* FrameView::frame() => Frame& FrameView::frame()

8:44 AM Changeset in webkit [154183] by beidson@apple.com
  • 16 edits
    1 copy
    1 move
    3 adds
    3 deletes in trunk/Source

(NetworkProcess) Sync XHRs should load using async ResourceHandles, not ResourceHandle::loadResourceSynchronously
https://bugs.webkit.org/show_bug.cgi?id=119493

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests (Covered by plenty of existing tests).

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/SynchronousLoaderClient.h: Make platformBadResponseError public
  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::platformLoadResourceSynchronously): Add comments/FIXMEs spelling out how wrong this code is.

Source/WebKit2:

This patch does the following:

  • Consolidates SchedulableLoader and NetworkResourceLoader into one class.
  • Removes SyncNetworkResourceLoader.
  • Adds a NetworkLoaderClient interface that customizes certain behaviors of the NetworkResourceLoader.
  • Implements a SynchronousNetworkLoaderClient and AsynchronousNetworkLoaderClient for the two different types of loads.

The AsynchronousNetworkLoaderClient results in messaging back progress to the WebProcess as the load progresses.
The SynchronousNetworkLoaderClient accumulates the response, data, and error to be communicated back to the WebProcess
only when the load is complete.

Update small swaths of code to reflect that NetworkResourceLoader is the One True Loader (tm):

  • NetworkProcess/HostRecord.cpp:

(WebKit::HostRecord::scheduleResourceLoader):
(WebKit::HostRecord::addLoaderInProgress):
(WebKit::removeLoaderFromQueue):
(WebKit::HostRecord::removeLoader):
(WebKit::HostRecord::servePendingRequestsForQueue):
(WebKit::HostRecord::limitsRequests):

  • NetworkProcess/HostRecord.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
(WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkProcess.cpp:
  • NetworkProcess/NetworkResourceLoadScheduler.cpp:

(WebKit::NetworkResourceLoadScheduler::scheduleLoader):
(WebKit::NetworkResourceLoadScheduler::removeLoader):
(WebKit::NetworkResourceLoadScheduler::receivedRedirect):
(WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
(WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader):

  • NetworkProcess/NetworkResourceLoadScheduler.h:

Combine ScheduleableLoader and NetworkResourceLoader into NetworkResourceLoader:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::isSynchronous):
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::didReceiveResponseAsync):
(WebKit::NetworkResourceLoader::didReceiveBuffer):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFail):
(WebKit::NetworkResourceLoader::willSendRequestAsync):
(WebKit::NetworkResourceLoader::continueWillSendRequest):
(WebKit::NetworkResourceLoader::didSendData):
(WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
(WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
(WebKit::NetworkResourceLoader::consumeSandboxExtensions):
(WebKit::NetworkResourceLoader::invalidateSandboxExtensions):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::create):
(WebKit::NetworkResourceLoader::connectionToWebProcess):
(WebKit::NetworkResourceLoader::priority):
(WebKit::NetworkResourceLoader::request):
(WebKit::NetworkResourceLoader::isLoadingMainResource):
(WebKit::NetworkResourceLoader::setHostRecord):
(WebKit::NetworkResourceLoader::hostRecord):
(WebKit::NetworkResourceLoader::sendAbortingOnFailure):

Add an abstract NetworkLoaderClient to adapt a load to be either synchronous or asynchronous:

  • NetworkProcess/NetworkLoaderClient.h:

(WebKit::NetworkLoaderClient::~NetworkLoaderClient):
(WebKit::NetworkLoaderClient::isSynchronous):
(WebKit::NetworkLoaderClient::NetworkLoaderClient):

The asynchronous loader client, primarily to message progress back to the WebProcess as it happens:

  • NetworkProcess/AsynchronousNetworkLoaderClient.cpp: Added.

(WebKit::AsynchronousNetworkLoaderClient::AsynchronousNetworkLoaderClient):
(WebKit::AsynchronousNetworkLoaderClient::willSendRequest):
(WebKit::AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
(WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse):
(WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
(WebKit::AsynchronousNetworkLoaderClient::didSendData):
(WebKit::AsynchronousNetworkLoaderClient::didFinishLoading):
(WebKit::AsynchronousNetworkLoaderClient::didFail):

  • NetworkProcess/AsynchronousNetworkLoaderClient.h:

(WebKit::AsynchronousNetworkLoaderClient::create):

The synchronous loader client, primarily to accumulate results of the load to send back to the WebProcess all at once:

  • NetworkProcess/SynchronousNetworkLoaderClient.cpp: Added.

(WebKit::SynchronousNetworkLoaderClient::SynchronousNetworkLoaderClient):
(WebKit::SynchronousNetworkLoaderClient::~SynchronousNetworkLoaderClient):
(WebKit::SynchronousNetworkLoaderClient::willSendRequest):
(WebKit::SynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
(WebKit::SynchronousNetworkLoaderClient::didReceiveResponse):
(WebKit::SynchronousNetworkLoaderClient::didReceiveBuffer):
(WebKit::SynchronousNetworkLoaderClient::didFinishLoading):
(WebKit::SynchronousNetworkLoaderClient::didFail):
(WebKit::SynchronousNetworkLoaderClient::sendDelayedReply):

  • NetworkProcess/SynchronousNetworkLoaderClient.h: Added.

(WebKit::SynchronousNetworkLoaderClient::create):

  • NetworkProcess/SchedulableLoader.cpp: Removed.
  • NetworkProcess/SchedulableLoader.h: Removed.
  • NetworkProcess/SyncNetworkResourceLoader.cpp: Removed.
  • NetworkProcess/SyncNetworkResourceLoader.h: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
8:42 AM Changeset in webkit [154182] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/119889> [WinCairo] Compile error.

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-08-16
Reviewed by Brent Fulgham.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::certificatePath): Use correct function name.

8:33 AM Changeset in webkit [154181] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Windows] Unreviewed build correction after r154165.

  • WebCore.vcxproj/copyForwardingHeaders.cmd: Copy html/shadow header files

to WebKit include location.

8:27 AM Changeset in webkit [154180] by Brent Fulgham
  • 4 edits in trunk

Source/WebCore: [Windows] Prevent dangling CACFLayer when switching to/from Tiled backing.
https://bugs.webkit.org/show_bug.cgi?id=119818

Reviewed by Darin Adler.

Covered by existing: compositing/tiling/empty-to-tiled.html

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(PlatformCALayer::~PlatformCALayer): Remove deleted layer from its
parent layer

LayoutTests: [Windows] Enable previously-failing compositing/tiling/empty-to-tiled.html
https://bugs.webkit.org/show_bug.cgi?id=119818

Reviewed by Darin Adler.

  • platform/win/TestExpectations: Re-enable empty-to-tiled.html
7:52 AM Changeset in webkit [154179] by zarvai@inf.u-szeged.hu
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Rebase js tests after r154127.

Patch by Tamas Czene <tczene@inf.u-szeged.hu> on 2013-08-16

  • platform/qt/fast/js/constructor-length-expected.txt:
  • platform/qt/fast/js/global-constructors-attributes-expected.txt:
6:05 AM Changeset in webkit [154178] by akling@apple.com
  • 71 edits in trunk/Source

<https://webkit.org/b/119866> Frame::eventHandler() should return a reference.

Reviewed by Anders Carlsson.

Frame::m_eventHandler is never null.

5:38 AM Changeset in webkit [154177] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/LayoutTests

[EFL] fast/forms/datalist/input-list.html is failing

Unreviewed EFL gardening. unskip LayoutTests/fast/forms/datalist/input-list.html test.

Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-08-16

  • platform/efl/TestExpectations:
  • platform/efl/fast/forms/datalist/input-list-expected.txt: Added.
5:10 AM Changeset in webkit [154176] by zandobersek@gmail.com
  • 4 edits in trunk/Source

Unreviewed, rolling out r153749.
http://trac.webkit.org/changeset/153749
https://bugs.webkit.org/show_bug.cgi?id=119892

The bison generation of the glslang* files has now been fixed. (Requested by zdobersek on #webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2013-08-16

Source/ThirdParty/ANGLE:

  • GNUmakefile.am: Preserve the libANGLE.la dependency on the ANGLE's GNUmakefile.am.

Source/WebCore:

  • GNUmakefile.am:
4:50 AM Changeset in webkit [154175] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] fixing localizedString method name
https://bugs.webkit.org/show_bug.cgi?id=119884

The method name defined in LocalizedStringsGtk.cpp doesn't not match
the one used in LocalizedStrings.h

Patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> on 2013-08-16
Reviewed by Gustavo Noronha Silva.

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::textTrackOffMenuItemText):

4:41 AM Changeset in webkit [154174] by commit-queue@webkit.org
  • 15 edits
    2 adds in trunk

[CSS Masking] Add -webkit-mask-source-type property, with auto, alpha and luminance values
https://bugs.webkit.org/show_bug.cgi?id=119614

Source/WebCore:

Added the -webkit-mask-source-type property, which can have a value of auto, alpha or
luminance. The default value is auto. This patch contains only the parsing of the property,
not the actual implementation of the types of masks. The parsing of mask-source-type in the
-webkit-mask property will be handled in a separate patch.

Patch by Andrei Parvu <parvu@adobe.com> on 2013-08-16
Reviewed by Dirk Schulze.

Test: fast/masking/parsing-mask-source-type.html

  • css/CSSComputedStyleDeclaration.cpp: Added case for CSSPropertyWebkitMaskType.

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp: Parsed the values for CSSPropertyWebkitMaskType.

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillProperty):

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSPropertyNames.in: Added -webkit-mask-type property.
  • css/CSSToStyleMap.cpp: map the provided mask type to the FillLayer class.

(WebCore::CSSToStyleMap::mapFillMaskType):

  • css/CSSToStyleMap.h:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • rendering/style/FillLayer.cpp: Added the m_maskType property to the FillLayer class.

(WebCore::FillLayer::FillLayer):
(WebCore::FillLayer::operator=):
(WebCore::FillLayer::operator==):

  • rendering/style/FillLayer.h: Added methods for working with m_maskType.

(WebCore::FillLayer::maskType):
(WebCore::FillLayer::isMaskTypeSet):
(WebCore::FillLayer::setMaskType):
(WebCore::FillLayer::clearMaskType):
(WebCore::FillLayer::initialMaskType):

  • rendering/style/RenderStyleConstants.h: Added the EMaskSourceType enum.

LayoutTests:

Added tests for the parsing of the -webkit-mask-source-type property

Patch by Andrei Parvu <parvu@adobe.com> on 2013-08-16
Reviewed by Dirk Schulze.

  • fast/masking/parsing-mask-expected.txt:
  • fast/masking/parsing-mask-source-type-expected.txt: Added.
  • fast/masking/parsing-mask-source-type.html: Added.
  • fast/masking/parsing-mask.html:
4:02 AM Changeset in webkit [154173] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

<https://webkit.org/b/119742> REGRESSION(FTL): Fix register usage in mips implementation of ctiVMHandleException

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-08-16
Reviewed by Allan Sandfeld Jensen.

ctiVMHandleException must jump/return using register ra (r31).

  • jit/JITStubsMIPS.h:
3:08 AM Changeset in webkit [154172] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/119885> [CMake] Always build our generated versions of ANGLE's glslang.cpp and glslang_tab.cpp

Reviewed by Gyuyoung Kim.

Now that r154109 has landed, all Bison versions (at least from 2.3 up
to the latest 3.0) should be able to generate versions of glslang* that
build correctly.

Since the idea is to remove the prebuilt files from future imports of
ANGLE, always building our own versions is a good idea, and allows us
to get rid of some very ugly CMake checks.

  • CMakeLists.txt: Always build glslang.cpp and glslang_tab.cpp from

DERIVED_SOURCES_WEBCORE_DIR.

2:58 AM Changeset in webkit [154171] by simon.pena@samsung.com
  • 7 edits
    3 adds in trunk/LayoutTests

[GTK] Unreviewed gardening. Rebaseline after r154127 and add new baseline after r153647.

  • platform/gtk-wk1/TestExpectations:

x-frame-options-deny-meta-tag-in-body.html fails in Release and
Debug.

  • platform/gtk/TestExpectations: CSS Image filter is not enabled

in GTK bots. Also remove entry for deleted test.

  • platform/gtk/fast/forms/search/search-size-with-decorations-expected.png: Added.
  • platform/gtk/fast/forms/search/search-size-with-decorations-expected.txt: Added.
  • platform/gtk/fast/js/constructor-length-expected.txt:

Rebaselined after r154127.

  • platform/gtk/fast/js/global-constructors-attributes-dedicated-worker-expected.txt:

ditto.

  • platform/gtk/fast/js/global-constructors-attributes-expected.txt:

ditto.

  • platform/gtk/fast/js/global-constructors-attributes-shared-worker-expected.txt:

ditto.

2:25 AM Changeset in webkit [154170] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

<https://webkit.org/b/119879> Fix sh4 build after r154156.

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-16
Reviewed by Allan Sandfeld Jensen.

Fix typo in JITStubsSH4.h file.

  • jit/JITStubsSH4.h:
2:07 AM Changeset in webkit [154169] by allan.jensen@digia.com
  • 2 edits in trunk/LayoutTests

Reskip tests that times out.

Unreviewed gardening.

  • platform/qt/TestExpectations:
1:52 AM Changeset in webkit [154168] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/119880> [Qt] Build fix (broken since r154142).

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-16
Reviewed by Gyuyoung Kim.

Since r154142, Frame::loader() is a reference (and not a pointer anymore).

  • xml/parser/XMLDocumentParserQt.cpp:

(WebCore::XMLDocumentParser::parseStartElement):

1:05 AM Changeset in webkit [154167] by rgabor@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt][ARM] Unreviewed buildfix after 154127.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: Add missing header.
12:17 AM Changeset in webkit [154166] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[WebGL] Vertex attribute binding validation method
https://bugs.webkit.org/show_bug.cgi?id=119515

This patch refactors WebGLRenderingContext code by moving the vertex
attribute binding validation to a separate method. It is now
possible to use that validation in other parts of the code. The
code is more clear now.

Patch by Przemyslaw Szymanski <p.szymanski3@samsung.com> on 2013-08-16
Reviewed by Christophe Dumez.

No new tests. Covered by existing tests. No behaviour changed.
LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/gl-drawelements.html
LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/draw-elements-out-of-bounds.html
LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/draw-arrays-out-of-bounds.html

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::validateVertexAttributes):

  • html/canvas/WebGLVertexArrayObjectOES.h:

(WebCore::WebGLVertexArrayObjectOES::VertexAttribState::isBound):
(WebCore::WebGLVertexArrayObjectOES::VertexAttribState::validateBinding):

Aug 15, 2013:

11:33 PM Changeset in webkit [154165] by Antti Koivisto
  • 41 edits in trunk/Source

<https://webkit.org/b/119865> Parent pointer and shadow root host pointer should not be shared

Reviewed by Andreas Kling.

Node::m_parentOrShadowHostNode is currently used both as the parent pointer for regular nodes and as the host
pointer for ShadowRoots. This is confusing. It is also slow as it introduces a branch to all code paths that
want to traverse ancestors normally, without leaving the shadow trees. This is much more popular than
traversing through.

This patch makes the Node have a pure parent pointer only and adds the host element pointer as a separate
member in ShadowRoot. This eliminates the ShadowRoot test branch from Node::parentNode() as the pointer is
now always null in the root node.

ShadowRoot grows by a pointer. This is not significant as there are few ShadowRoots compared to Nodes.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::pushParentShadowRoot):
(WebCore::StyleResolver::popParentShadowRoot):

  • dom/Attr.cpp:

(WebCore::Attr::createTextChild):

  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::ComposedShadowTreeWalker::traverseParentBackToShadowRootOrHost):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::insertBeforeCommon):
(WebCore::ContainerNode::removeBetween):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::appendChildToContainer):
(WebCore::Private::addChildNodesToDeletionQueue):

  • dom/Document.h:

(WebCore::Node::Node):

  • dom/Element.cpp:

(WebCore::Element::addShadowRoot):
(WebCore::Element::removeShadowRoot):

  • dom/ElementRareData.h:

(WebCore::ElementRareData::releasePseudoElement):

  • dom/EventPathWalker.cpp:

(WebCore::EventPathWalker::moveToParent):

  • dom/EventRetargeter.cpp:

(WebCore::determineDispatchBehavior):

  • dom/EventRetargeter.h:

(WebCore::EventRetargeter::eventTargetRespectingTargetRules):

  • dom/Node.cpp:

(WebCore::Node::shadowHost):
(WebCore::Node::deprecatedShadowAncestorNode):
(WebCore::Node::parentOrShadowHostElement):

  • dom/Node.h:

(WebCore::Node::hasTreeSharedParent):

Shadow host elements refs the ShadowRoot. There is no reason to use TreeShared to keep it alive.

(WebCore::Node::setParentNode):
(WebCore::Node::parentNode):
(WebCore::Node::parentNodeGuaranteedHostFree):

  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::PseudoElement):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::setInnerHTML):
(WebCore::ShadowRoot::setApplyAuthorStyles):
(WebCore::ShadowRoot::setResetStyleInheritance):

  • dom/ShadowRoot.h:


Rename host() -> hostElement() for clarity.

(WebCore::Node::parentOrShadowHostNode):

  • dom/Text.cpp:

(WebCore::isSVGShadowText):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::focusedElement):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::ensureDistribution):

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::insertedInto):
(WebCore::InsertionPoint::removedFrom):
(WebCore::InsertionPoint::parseAttribute):

  • page/DragController.cpp:

(WebCore::asFileInput):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):
(WebCore::instanceAssociatedWithShadowTreeElement):

  • page/FocusController.cpp:

(WebCore::FocusNavigationScope::owner):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::hasLineIfEmpty):

  • rendering/RenderLayer.cpp:

(WebCore::rendererForScrollbar):

  • svg/SVGElementInstance.h:

(WebCore::SVGElementInstance::setParentNode):

Renamed so it works with appendChildToContainer template.

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::title):

11:32 PM Changeset in webkit [154164] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit/gtk

Unreviewed GTK build fix for debug configurations.

  • webkit/webkitwebframe.cpp:

(WebKit::kit): Remove the bogus assertion for Frame::loader() that now returns a reference.

8:59 PM Changeset in webkit [154163] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

[Windows] Unreviewed gardening. Correct some test expectations that now pass.

  • platform/win/editing/selection/caret-ltr-right-expected.txt:
  • platform/win/editing/selection/caret-rtl-2-left-expected.txt:
8:28 PM Changeset in webkit [154162] by mhahnenberg@apple.com
  • 18 edits
    6 adds in trunk/Source/JavaScriptCore

<https://webkit.org/b/119833> Concurrent compilation thread should not trigger WriteBarriers

Reviewed by Oliver Hunt.

The concurrent compilation thread should interact minimally with the Heap, including not
triggering WriteBarriers. This is a prerequisite for generational GC.

(JSC::CodeBlock::addOrFindConstant):
(JSC::CodeBlock::findConstant):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::addConstantLazily):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::getJSConstantForValue):
(JSC::DFG::ByteCodeParser::constantUndefined):
(JSC::DFG::ByteCodeParser::constantNull):
(JSC::DFG::ByteCodeParser::one):
(JSC::DFG::ByteCodeParser::constantNaN):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::notifyCompilingStructureTransition):

  • dfg/DFGCommonData.h:
  • dfg/DFGDesiredTransitions.cpp: Added.

(JSC::DFG::DesiredTransition::DesiredTransition):
(JSC::DFG::DesiredTransition::reallyAdd):
(JSC::DFG::DesiredTransitions::DesiredTransitions):
(JSC::DFG::DesiredTransitions::~DesiredTransitions):
(JSC::DFG::DesiredTransitions::addLazily):
(JSC::DFG::DesiredTransitions::reallyAdd):

  • dfg/DFGDesiredTransitions.h: Added.
  • dfg/DFGDesiredWeakReferences.cpp: Added.

(JSC::DFG::DesiredWeakReferences::DesiredWeakReferences):
(JSC::DFG::DesiredWeakReferences::~DesiredWeakReferences):
(JSC::DFG::DesiredWeakReferences::addLazily):
(JSC::DFG::DesiredWeakReferences::reallyAdd):

  • dfg/DFGDesiredWeakReferences.h: Added.
  • dfg/DFGDesiredWriteBarriers.cpp: Added.

(JSC::DFG::DesiredWriteBarrier::DesiredWriteBarrier):
(JSC::DFG::DesiredWriteBarrier::trigger):
(JSC::DFG::DesiredWriteBarriers::DesiredWriteBarriers):
(JSC::DFG::DesiredWriteBarriers::~DesiredWriteBarriers):
(JSC::DFG::DesiredWriteBarriers::addImpl):
(JSC::DFG::DesiredWriteBarriers::trigger):

  • dfg/DFGDesiredWriteBarriers.h: Added.

(JSC::DFG::DesiredWriteBarriers::add):
(JSC::DFG::initializeLazyWriteBarrier):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::truncateConstantToInt32):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::convertToConstant):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::addWeakReference):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::Plan):
(JSC::DFG::Plan::reallyAdd):

  • dfg/DFGPlan.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • runtime/WriteBarrier.h:

(JSC::WriteBarrierBase::set):
(JSC::WriteBarrier::WriteBarrier):

8:00 PM Changeset in webkit [154161] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix x86 32bits build after r154158

  • assembler/X86Assembler.h: Add missing #ifdef for the x86_64 instructions.
7:50 PM Changeset in webkit [154160] by Darin Adler
  • 9 edits in trunk/Source/WebCore

[iOS] Get iOS port off legacy clipboard
https://bugs.webkit.org/show_bug.cgi?id=116412

Reviewed by Daniel Bates.

  • dom/Clipboard.h: Turn off legacy style clipboard for iOS.

Next patch will be able to remove legacy style entirely!

  • editing/Editor.cpp:

(WebCore::Editor::dispatchCPPEvent): Attach the frame to the
pasteboard directly explicitly. This is a layering violation, but
is needed until we change how iOS pasteboard communicates with the
host to use platform strategies instead of the editor client.

  • editing/ios/EditorIOS.mm: Removed Editor::newGeneralClipboard and

the include of ClipboardIOS.h.

  • platform/Pasteboard.h: Added the setFrame function (iOS-only) and

frame and change count data members.

  • platform/ios/ClipboardIOS.h: Emptied out. Later we can remove this.
  • platform/ios/ClipboardIOS.mm: Ditto.
  • platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::Pasteboard): Initialize m_frame to zero.
(WebCore::Pasteboard::createForCopyAndPaste): Added.
(WebCore::Pasteboard::createPrivate): Added.
(WebCore::Pasteboard::writePasteboard): Added. Empty function, like
writeClipboard. Eventually need to remove or implement this.
(WebCore::Pasteboard::setFrame): Added. Sets frame and change count.
(WebCore::Pasteboard::hasData): Moved here from ClipboardIOS.
(WebCore::utiTypeFromCocoaType): Ditto.
(WebCore::cocoaTypeFromHTMLClipboardType): Ditto.
(WebCore::Pasteboard::clear): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::addHTMLClipboardTypesForCocoaType): Ditto.
(WebCore::Pasteboard::writeString): Ditto.
(WebCore::Pasteboard::types): Ditto.
(WebCore::Pasteboard::readFilenames): Ditto.

  • WebCore.exp.in: Move Clipboard destructor from Mac-only section to

common section shared by Mac and iOS.

7:42 PM Changeset in webkit [154159] by rniwa@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Build fix attempt after r154156.

  • jit/JITStubs.cpp:

(JSC::cti_vm_handle_exception): encode!

7:35 PM Changeset in webkit [154158] by benjamin@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

[JSC] x86: Use inc and dec when possible
https://bugs.webkit.org/show_bug.cgi?id=119831

Reviewed by Geoffrey Garen.

When incrementing or decrementing by an immediate of 1, use the insctructions
inc and dec instead of add and sub.
The instructions have good timing and their encoding is smaller.

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86_64::add32):
(JSC::MacroAssemblerX86_64::sub32):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::add64):
(JSC::MacroAssemblerX86_64::sub64):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::dec_r):
(JSC::X86Assembler::decq_r):
(JSC::X86Assembler::inc_r):
(JSC::X86Assembler::incq_r):

7:30 PM Changeset in webkit [154157] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Sometimes, the DFG uses a GetById for typed array length accesses despite profiling data that indicates that it's a typed array length access
https://bugs.webkit.org/show_bug.cgi?id=119874

Reviewed by Oliver Hunt and Mark Hahnenberg.

It was a confusion between heuristics in DFG::ArrayMode that are assuming that
you'll use ForceExit if array profiles are empty, the JIT creating empty profiles
sometimes for typed array length accesses, and the FixupPhase assuming that a
ForceExit ArrayMode means that it should continue using a generic GetById.

This fixes the confusion.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

6:47 PM Changeset in webkit [154156] by mark.lam@apple.com
  • 21 edits in trunk/Source/JavaScriptCore

Fix crash when performing activation tearoff.
https://bugs.webkit.org/show_bug.cgi?id=119848

Reviewed by Oliver Hunt.

The activation tearoff crash was due to a bug in the baseline JIT.
If we have a scenario where the a baseline JIT frame calls a LLINT
frame, an exception may be thrown while in the LLINT.

Interpreter::throwException() which handles the exception will unwind
all frames until it finds a catcher or sees a host frame. When we
return from the LLINT to the baseline JIT code, the baseline JIT code
errorneously sets topCallFrame to the value in its call frame register,
and starts unwinding the stack frames that have already been unwound.

The fix is:

  1. Rename ctiVMThrowTrampolineSlowpath to ctiVMHandleException. This is a more accurate description of what this runtime function is supposed to do i.e. it handles the exception which include doing nothing (if there are no more frames to unwind).
  2. Fix up topCallFrame values so that the HostCallFrameFlag is never set on it.
  3. Reloading the call frame register from topCallFrame when we're returning from a callee and detect exception handling in progress.
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::unwindCallFrame):

  • Ensure that topCallFrame is not set with the HostCallFrameFlag.

(JSC::Interpreter::getStackTrace):

  • interpreter/Interpreter.h:

(JSC::TopCallFrameSetter::TopCallFrameSetter):
(JSC::TopCallFrameSetter::~TopCallFrameSetter):
(JSC::NativeCallFrameTracer::NativeCallFrameTracer):

  • Ensure that topCallFrame is not set with the HostCallFrameFlag.
  • jit/JIT.h:
  • jit/JITExceptions.cpp:

(JSC::uncaughtExceptionHandler):

  • Convenience function to get the handler for uncaught exceptions.
  • jit/JITExceptions.h:
  • jit/JITInlines.h:

(JSC::JIT::reloadCallFrameFromTopCallFrame):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTINativeCall):

  • Rename ctiVMThrowTrampolineSlowpath to ctiVMHandleException.
  • jit/JITStubs.cpp:

(JSC::throwExceptionFromOpCall):

  • Ensure that topCallFrame is not set with the HostCallFrameFlag.

(JSC::cti_vm_handle_exception):

  • Check for the case when there are no more frames to unwind.
  • jit/JITStubs.h:
  • jit/JITStubsARM.h:
  • jit/JITStubsARMv7.h:
  • jit/JITStubsMIPS.h:
  • jit/JITStubsSH4.h:
  • jit/JITStubsX86.h:
  • jit/JITStubsX86_64.h:
  • Rename ctiVMThrowTrampolineSlowpath to ctiVMHandleException.
  • jit/SlowPathCall.h:

(JSC::JITSlowPathCall::call):

  • reload cfr from topcallFrame when handling an exception.
  • Rename ctiVMThrowTrampolineSlowpath to ctiVMHandleException.
  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • reload cfr from topcallFrame when handling an exception.
  • runtime/VM.cpp:

(JSC::VM::VM):

  • Ensure that topCallFrame is not set with the HostCallFrameFlag.
6:43 PM Changeset in webkit [154155] by ryuan.choi@samsung.com
  • 6 edits in trunk/Source

[EFL] Unreviewed build fix after r154142 and r154144.

Source/WebCore:

  • platform/efl/ErrorsEfl.cpp: Follow the changes of r154142.

(WebCore::printError):
(WebCore::printerNotFoundError):
(WebCore::invalidPageRangeToPrint):

Source/WebKit/efl:

  • ewk/ewk_frame.cpp: Follow the changes of r154142.

(ewk_frame_uri_set):
(ewk_frame_certificate_status_get):

Source/WebKit2:

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::useTestingNetworkSession):
Fixed build break when NETWORK_PROCESS is disabled after r154144.

6:18 PM Changeset in webkit [154154] by Lucas Forschler
  • 5 edits in branches/safari-537-branch/Source

Versioning.

6:16 PM Changeset in webkit [154153] by Lucas Forschler
  • 1 copy in tags/Safari-537.58

New Tag.

4:47 PM Changeset in webkit [154152] by hmuller@adobe.com
  • 5 edits
    4 adds in trunk

[CSS Shapes] Add support for shape-outside image values
https://bugs.webkit.org/show_bug.cgi?id=119809

Source/WebCore:

Added minimal support for shape-outside image values. A new method that computes
the excluded intervals for a horizontal line segment was added to the RasterIntervals
class. The stub RasterShape getExcludedIntervals() method has been replaced by
one that uses the new method.

Image shapes are represented by a RasterIntervals object, which just encapsulates a
Region object. The new getExcludedIntervals() method computes the excluded intervals
for a horizontal line segment between y1 and y2. To find the excluded intervals we
vertically expand each of the image shape Region's rectangles that fall within the line
segment, so that they begin at y1 and have height = y2 - y1. The union of the expanded
rectangles produces a new Region whose horizontal projection defines the excluded intervals.

Reviewed by Alexandru Chiculita.

Tests: fast/shapes/shape-outside-floats/shape-outside-floats-image-001.html

fast/shapes/shape-outside-floats/shape-outside-floats-image-002.html

  • rendering/shapes/RasterShape.cpp:

(WebCore::RasterShapeIntervals::getExcludedIntervals): See above.
(WebCore::RasterShape::getExcludedIntervals): Stub method has been replaced by one that uses RasterShapeIntervals::getExcludedIntervals().

  • rendering/shapes/RasterShape.h:
  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::isEnabledFor): Enable Image valued shapes.

LayoutTests:

Two tests to verify that the initial implementation of shape valued images is working
for shape-outside.

Reviewed by Alexandru Chiculita.

  • fast/shapes/shape-outside-floats/shape-outside-floats-image-001-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-image-001.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-image-002-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-image-002.html: Added.
4:40 PM Changeset in webkit [154151] by Chris Fleizach
  • 2 edits in trunk/Source/WebKit2

<https://webkit.org/b/119858> AX: Crash: com.apple.WebKit.WebContent at com.apple.WebKit2: WebKit::WebPage::accessibilityObjectForMainFramePlugin + 8

Reviewed by Tim Horton.

Ensure that the page is available before accessing it.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::accessibilityObjectForMainFramePlugin):

4:30 PM Changeset in webkit [154150] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Revert that. The test had been fixed in r154148.

4:28 PM Changeset in webkit [154149] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

<https://webkit.org/b/119873> REGRESSION(r154057): platform/mac/accessibility/role-subrole-roledescription.html fails

Add a test expectation.

4:19 PM Changeset in webkit [154148] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

AX: platform/mac/accessibility/role-subrole-roledescription.html is failing
<https://webkit.org/b/119821>

Updating our layout test now that accessibleElementById is able
to fetch the math element correctly.

Patch by Sam White <Samuel White> on 2013-08-15
Reviewed by Chris Fleizach.

  • platform/mac/accessibility/role-subrole-roledescription-expected.txt:
  • platform/mac/accessibility/role-subrole-roledescription.html:
4:15 PM Changeset in webkit [154147] by Simon Fraser
  • 4 edits
    2 adds in trunk

<https://webkit.org/b/119871> Flash of garbage pixels when playing a show on Hulu

Source/WebCore:

Reviewed by Tim Horton.

When starting a show on Hulu, there's a layer that gets marked as
opaque because it has a child RenderLayer whose background fills the
compositing layer. That child RenderLayer was recently position:fixed
but outside the viewport, so its viewportConstrainedNotCompositedReason
was set to a non-zero value.

However, we failed to clear the viewportConstrainedNotCompositedReason
when the layer became non-fixed. This caused painting the opaque
layer to bail in RenderLayer::paintLayer(), leaving garbage.

Test: compositing/contents-opaque/fixed-to-nonfixed.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayer): Add an assertion to catch this error in future.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking): Make sure we clear the
ViewportConstrainedNotCompositedReason if the layer is no longer fixed.

LayoutTests:

Reviewed by Tim Horton.

Test that would hit the newly added assertion in case of failure.
Was unable to create a ref test that worked reliably.

  • compositing/contents-opaque/fixed-to-nonfixed.html: Added.
3:45 PM Changeset in webkit [154146] by Brent Fulgham
  • 7 edits
    2 adds in trunk/Source

../WebCore: [Windows] Consolidate WebKit Bundle Handling
https://bugs.webkit.org/show_bug.cgi?id=119869

Reviewed by Tim Horton.

  • WebCore.vcxproj/WebCore.vcxproj: Add new WebCoreBundleWin files.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::certificatePath): Use correct bundle handling logic.

  • platform/win/LocalizedStringsWin.cpp: Move bundle implementation to

new WebCoreBundleWin.cpp file.

  • platform/win/WebCoreBundleWin.cpp: Added.

(WebCore::createWebKitBundle):
(WebCore::webKitBundle):

  • platform/win/WebCoreBundleWin.h: Added.

../WebKit/win: [Windows] Consolidate WebKit Bundle handling
https://bugs.webkit.org/show_bug.cgi?id=119869

Reviewed by Tim Horton.

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorClient::openInspectorFrontend): Switch to new
WebCore::webkitBundle() method.
(WebInspectorFrontendClient::localizedStringsURL): Ditto.

3:27 PM Changeset in webkit [154145] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

refCount() of a StringImpl could be zero if it's static; in that case we shouldn't report extra memory cost
https://bugs.webkit.org/show_bug.cgi?id=119870

Reviewed by Mark Hahnenberg.

  • wtf/text/StringImpl.h:

(WTF::StringImpl::costDuringGC):
(WTF::StringImpl::isStatic):
(WTF::StringImpl::bufferOwnership):

3:25 PM Changeset in webkit [154144] by ap@apple.com
  • 18 edits in trunk

[WK2] NetworkProcess should use a temporary storage session for test
https://bugs.webkit.org/show_bug.cgi?id=119855

Reviewed by Darin Adler.

We used to have a bundle API for WebKitTestRunner to do this in injected bundle, but
NetworkProcess has no injected bundle.

Added a WKContext API, sending the information to NetworkProcess with initialization
parameters. Reworked WebProcess path to do the same for consistency - bundle API
is better per se, but not when we also need to have another one.

  • NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
  • Shared/Network/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode): (WebKit::NetworkProcessCreationParameters::decode):
  • Shared/Network/NetworkProcessCreationParameters.h:
  • Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode): (WebKit::WebProcessCreationParameters::decode):
  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/C/WKContext.cpp: (WKContextUseTestingNetworkSession):
  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/WebContext.cpp: (WebKit::WebContext::WebContext): (WebKit::WebContext::ensureNetworkProcess): (WebKit::WebContext::createNewWebProcess): (WebKit::WebContext::useTestingNetworkSession):
  • UIProcess/WebContext.h:
  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:
  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess):
3:23 PM Changeset in webkit [154143] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove some code duplication.

Rubber stamped by Mark Hahnenberg.

  • runtime/JSDataViewPrototype.cpp:

(JSC::getData):
(JSC::setData):

3:17 PM Changeset in webkit [154142] by andersca@apple.com
  • 165 edits in trunk/Source

<https://webkit.org/b/119859> Frame::loader() should return a reference

Reviewed by Andreas Kling.

Source/WebCore:

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::willOpenSocketStream):

  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::press):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):

  • bindings/ScriptControllerBase.cpp:

(WebCore::ScriptController::canExecuteScripts):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::initScript):

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::beginLoadTimerFired):

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::setVisualUpdatesAllowed):
(WebCore::Document::updateTitle):
(WebCore::Document::open):
(WebCore::Document::explicitClose):
(WebCore::Document::implicitClose):
(WebCore::Document::userAgent):
(WebCore::Document::canNavigate):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::referrer):
(WebCore::Document::documentDidResumeFromPageCache):
(WebCore::Document::openSearchDescriptionURL):
(WebCore::Document::finishedParsing):
(WebCore::Document::addIconURL):
(WebCore::Document::initSecurityContext):
(WebCore::Document::updateURLForPushOrReplaceState):
(WebCore::Document::loadEventDelayTimerFired):
(WebCore::Document::loader):
(WebCore::Document::decrementActiveParserCount):

  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::CachedFrameBase):
(WebCore::CachedFrameBase::restore):
(WebCore::CachedFrame::CachedFrame):
(WebCore::CachedFrame::open):
(WebCore::CachedFrame::destroy):

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::logCanCachePageDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):
(WebCore::PageCache::canCache):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::handleClick):

  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::updateWidget):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::rendererIsNeeded):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::updateWidget):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::prepareForSubmission):
(WebCore::HTMLFormElement::submit):

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::openURL):

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::disconnectContentFrame):

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::insertedInto):
(WebCore::HTMLFrameSetElement::removedFrom):

  • html/HTMLHtmlElement.cpp:

(WebCore::HTMLHtmlElement::insertedByParser):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::createRenderer):
(WebCore::HTMLMediaElement::attach):
(WebCore::HTMLMediaElement::loadResource):
(WebCore::HTMLMediaElement::getPluginProxyParams):
(WebCore::HTMLMediaElement::createMediaPlayerProxy):
(WebCore::HTMLMediaElement::updateWidget):
(WebCore::HTMLMediaElement::mediaPlayerReferrer):
(WebCore::HTMLMediaElement::mediaPlayerUserAgent):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parametersForPlugin):
(WebCore::HTMLObjectElement::updateWidget):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::isImageType):
(WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
(WebCore::HTMLPlugInImageElement::restartSimilarPlugIns):

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::setDisplayMode):

  • html/ImageDocument.cpp:

(WebCore::ImageDocumentParser::appendBytes):
(WebCore::ImageDocumentParser::finish):
(WebCore::ImageDocument::createDocumentStructure):

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):

  • html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::createDocumentStructure):
(WebCore::PluginDocumentParser::appendBytes):
(WebCore::PluginDocument::detach):
(WebCore::PluginDocument::cancelManualPluginLoad):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::create):
(WebCore::WebGLRenderingContext::loseContextImpl):
(WebCore::WebGLRenderingContext::maybeRestoreContext):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
(WebCore::HTMLConstructionSite::insertHTMLBodyElement):

  • html/parser/HTMLParserOptions.cpp:

(WebCore::HTMLParserOptions::HTMLParserOptions):

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::init):

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSAuditorDelegate::generateViolationReport):
(WebCore::XSSAuditorDelegate::didBlockScript):

  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):

  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::openInNewTab):

  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::loadResourceSynchronously):

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::overlayPage):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::mainResourceContent):
(WebCore::InspectorPageAgent::reload):
(WebCore::InspectorPageAgent::navigate):
(WebCore::allResourcesURLsForFrame):
(WebCore::InspectorPageAgent::searchInResource):
(WebCore::InspectorPageAgent::assertDocumentLoader):
(WebCore::InspectorPageAgent::buildObjectForFrame):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didFailLoading):

  • loader/CookieJar.cpp:

(WebCore::networkingContext):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::frameLoader):
(WebCore::DocumentLoader::document):
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::removeSubresourceLoader):
(WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
(WebCore::DocumentLoader::iconLoadDecisionAvailable):
(WebCore::DocumentLoader::continueIconLoadWithDecision):

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::didReceiveResponse):
(WebCore::DocumentThreadableLoader::didFinishLoading):
(WebCore::DocumentThreadableLoader::didFail):
(WebCore::DocumentThreadableLoader::preflightFailure):
(WebCore::DocumentThreadableLoader::loadRequest):

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::replaceDocument):
(WebCore::DocumentWriter::createDocument):
(WebCore::DocumentWriter::begin):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::~FrameLoader):
(WebCore::FrameLoader::allChildrenAreComplete):
(WebCore::FrameLoader::allAncestorsAreComplete):
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::outgoingReferrer):
(WebCore::FrameLoader::setOpener):
(WebCore::FrameLoader::completed):
(WebCore::FrameLoader::started):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::closeOldDataSources):
(WebCore::FrameLoader::subframeIsLoading):
(WebCore::FrameLoader::subresourceCachePolicy):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::detachChildren):
(WebCore::FrameLoader::checkLoadComplete):
(WebCore::FrameLoader::detachFromParent):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::loadResourceSynchronously):
(WebCore::FrameLoader::shouldClose):
(WebCore::FrameLoader::handleBeforeUnloadEvent):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
(WebCore::createWindow):

  • loader/HistoryController.cpp:

(WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
(WebCore::HistoryController::restoreScrollPositionAndViewState):
(WebCore::HistoryController::saveDocumentState):
(WebCore::HistoryController::saveDocumentAndScrollState):
(WebCore::isAssociatedToRequestedHistoryItem):
(WebCore::HistoryController::restoreDocumentState):
(WebCore::HistoryController::shouldStopLoadingForHistoryItem):
(WebCore::HistoryController::goToItem):
(WebCore::HistoryController::updateForBackForwardNavigation):
(WebCore::HistoryController::updateForReload):
(WebCore::HistoryController::updateForStandardLoad):
(WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
(WebCore::HistoryController::updateForClientRedirect):
(WebCore::HistoryController::updateForCommit):
(WebCore::HistoryController::recursiveUpdateForCommit):
(WebCore::HistoryController::updateForSameDocumentNavigation):
(WebCore::HistoryController::recursiveUpdateForSameDocumentNavigation):
(WebCore::HistoryController::initializeItem):
(WebCore::HistoryController::createItemTree):
(WebCore::HistoryController::recursiveSetProvisionalItem):
(WebCore::HistoryController::recursiveGoToItem):
(WebCore::HistoryController::updateBackForwardListClippedAtTarget):
(WebCore::HistoryController::updateCurrentItem):
(WebCore::HistoryController::pushState):
(WebCore::HistoryController::replaceState):

  • loader/ImageLoader.cpp:

(WebCore::pageIsBeingDismissed):

  • loader/MixedContentChecker.cpp:

(WebCore::MixedContentChecker::client):

  • loader/NavigationScheduler.cpp:

(WebCore::ScheduledURLNavigation::fire):
(WebCore::ScheduledURLNavigation::didStartTimer):
(WebCore::ScheduledURLNavigation::didStopTimer):
(WebCore::ScheduledRedirect::shouldStartTimer):
(WebCore::ScheduledRedirect::fire):
(WebCore::ScheduledRefresh::fire):
(WebCore::ScheduledHistoryNavigation::fire):
(WebCore::ScheduledFormSubmission::fire):
(WebCore::ScheduledFormSubmission::didStartTimer):
(WebCore::ScheduledFormSubmission::didStopTimer):
(WebCore::NavigationScheduler::mustLockBackForwardList):
(WebCore::NavigationScheduler::scheduleLocationChange):
(WebCore::NavigationScheduler::scheduleFormSubmission):
(WebCore::NavigationScheduler::scheduleRefresh):
(WebCore::NavigationScheduler::schedule):

  • loader/PingLoader.cpp:

(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::sendViolationReport):
(WebCore::PingLoader::PingLoader):

  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy):
(WebCore::PolicyChecker::checkNewWindowPolicy):
(WebCore::PolicyChecker::checkContentPolicy):
(WebCore::PolicyChecker::cancelCheck):
(WebCore::PolicyChecker::stopCheck):
(WebCore::PolicyChecker::cannotShowMIMEType):
(WebCore::PolicyChecker::continueLoadAfterWillSubmitForm):
(WebCore::PolicyChecker::continueAfterNavigationPolicy):
(WebCore::PolicyChecker::continueAfterNewWindowPolicy):
(WebCore::PolicyChecker::handleUnimplementablePolicy):

  • loader/ProgressTracker.cpp:

(WebCore::ProgressTracker::progressStarted):
(WebCore::ProgressTracker::progressCompleted):
(WebCore::ProgressTracker::finalProgressComplete):
(WebCore::ProgressTracker::incrementProgress):
(WebCore::ProgressTracker::progressHeartbeatTimerFired):

  • loader/ResourceLoadNotifier.cpp:

(WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
(WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
(WebCore::ResourceLoadNotifier::willSendRequest):
(WebCore::ResourceLoadNotifier::didFailToLoad):
(WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
(WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
(WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
(WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
(WebCore::ResourceLoadNotifier::dispatchDidFailLoading):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::ResourceLoader):
(WebCore::ResourceLoader::start):
(WebCore::ResourceLoader::frameLoader):
(WebCore::ResourceLoader::willSendRequest):

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::pluginIsLoadable):
(WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
(WebCore::SubframeLoader::createJavaAppletWidget):
(WebCore::SubframeLoader::loadOrRedirectSubframe):
(WebCore::SubframeLoader::loadSubframe):
(WebCore::SubframeLoader::allowPlugins):
(WebCore::SubframeLoader::shouldUsePlugin):
(WebCore::SubframeLoader::loadPlugin):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
(WebCore::ApplicationCacheGroup::update):
(WebCore::ApplicationCacheGroup::createResourceHandle):
(WebCore::ApplicationCacheGroup::didReceiveResponse):
(WebCore::ApplicationCacheGroup::didFinishLoading):
(WebCore::ApplicationCacheGroup::didFail):
(WebCore::ApplicationCacheGroup::addEntry):
(WebCore::CallCacheListenerTask::performTask):
(WebCore::ApplicationCacheGroup::postListenerTask):

  • loader/appcache/DOMApplicationCache.cpp:

(WebCore::DOMApplicationCache::applicationCacheHost):

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create):
(WebCore::LegacyWebArchive::createFromSelection):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::addAdditionalRequestHeaders):
(WebCore::CachedResource::load):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::checkInsecureContent):
(WebCore::CachedResourceLoader::canRequest):
(WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::clientDefersImage):
(WebCore::CachedResourceLoader::cachePolicy):
(WebCore::CachedResourceLoader::loadDone):

  • loader/icon/IconController.cpp:

(WebCore::IconController::commitToDatabase):
(WebCore::IconController::startLoader):
(WebCore::IconController::continueLoadWithDecision):

  • loader/icon/IconLoader.cpp:

(WebCore::IconLoader::startLoading):
(WebCore::IconLoader::notifyFinished):

  • page/Chrome.cpp:

(WebCore::canRunModalIfDuringPageDismissal):

  • page/ContextMenuController.cpp:

(WebCore::openNewWindow):
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
(WebCore::DOMWindow::postMessageTimerFired):
(WebCore::DOMWindow::close):
(WebCore::DOMWindow::print):
(WebCore::DOMWindow::stop):
(WebCore::DOMWindow::setName):
(WebCore::DOMWindow::opener):
(WebCore::DOMWindow::dispatchLoadEvent):
(WebCore::DOMWindow::setLocation):
(WebCore::DOMWindow::createWindow):
(WebCore::DOMWindow::open):

  • page/DOMWindowExtension.cpp:

(WebCore::DOMWindowExtension::disconnectFrameForPageCache):
(WebCore::DOMWindowExtension::reconnectFrameFromPageCache):
(WebCore::DOMWindowExtension::willDestroyGlobalObjectInCachedFrame):
(WebCore::DOMWindowExtension::willDestroyGlobalObjectInFrame):
(WebCore::DOMWindowExtension::willDetachGlobalObjectFromFrame):

  • page/DragController.cpp:

(WebCore::DragController::performDrag):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::keyEvent):

  • page/Frame.cpp:

(WebCore::Frame::~Frame):
(WebCore::Frame::setView):
(WebCore::Frame::injectUserScripts):
(WebCore::Frame::willDetachPage):

  • page/Frame.h:

(WebCore::Frame::loader):

  • page/FrameView.cpp:

(WebCore::FrameView::mediaType):
(WebCore::FrameView::setFixedVisibleContentRect):
(WebCore::FrameView::shouldUseLoadTimeDeferredRepaintDelay):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::autoSizeIfEnabled):
(WebCore::FrameView::scrollTo):
(WebCore::FrameView::shouldSuspendScrollAnimations):
(WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
(WebCore::FrameView::wheelEvent):
(WebCore::FrameView::firePaintRelatedMilestones):

  • page/History.cpp:

(WebCore::History::stateInternal):
(WebCore::History::stateObjectAdded):

  • page/Location.cpp:

(WebCore::Location::setLocation):

  • page/Navigator.cpp:

(WebCore::Navigator::userAgent):

  • page/Page.cpp:

(WebCore::Page::goToItem):
(WebCore::Page::refreshPlugins):
(WebCore::Page::setDefersLoading):
(WebCore::Page::setMemoryCacheClientCallsEnabled):
(WebCore::Page::addRelevantRepaintedObject):

  • page/Performance.cpp:

(WebCore::Performance::now):

  • page/PerformanceNavigation.cpp:

(WebCore::PerformanceNavigation::type):
(WebCore::PerformanceNavigation::redirectCount):

  • page/PerformanceResourceTiming.cpp:

(WebCore::monotonicTimeToDocumentMilliseconds):

  • page/mac/PageMac.cpp:

(WebCore::Page::addSchedulePair):
(WebCore::Page::removeSchedulePair):

  • platform/ios/PasteboardIOS.mm:

(WebCore::documentFragmentWithImageResource):
(WebCore::documentFragmentWithRTF):
(WebCore::Pasteboard::documentFragmentForPasteboardItemAtIndex):

  • platform/mac/HTMLConverter.mm:

(-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
(-[WebHTMLConverter _loadFromDOMRange]):

  • platform/mac/PasteboardMac.mm:

(WebCore::documentFragmentWithImageResource):
(WebCore::documentFragmentWithRTF):
(WebCore::fragmentFromWebArchive):

  • plugins/DOMMimeType.cpp:

(WebCore::DOMMimeType::enabledPlugin):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo):

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::defaultEventHandler):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::~SVGImage):
(WebCore::SVGImage::dataChanged):

  • testing/Internals.cpp:

(WebCore::Internals::formControlStateOfPreviousHistoryItem):
(WebCore::Internals::setFormControlStateOfPreviousHistoryItem):
(WebCore::Internals::getReferencedFilePaths):
(WebCore::Internals::forceReload):

  • xml/XSLTProcessorLibxslt.cpp:

(WebCore::docLoaderFunc):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::openFunc):
(WebCore::XMLDocumentParser::startElementNs):

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPagePrivate::loadString):
(BlackBerry::WebKit::WebPagePrivate::stopCurrentLoad):
(BlackBerry::WebKit::closeURLRecursively):
(BlackBerry::WebKit::WebPage::dispatchBeforeUnloadEvent):
(BlackBerry::WebKit::WebPagePrivate::shouldSendResizeEvent):
(BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
(BlackBerry::WebKit::WebPage::reload):
(BlackBerry::WebKit::WebPage::reloadFromCache):
(BlackBerry::WebKit::WebPage::textEncoding):
(BlackBerry::WebKit::WebPage::forcedTextEncoding):
(BlackBerry::WebKit::WebPage::setForcedTextEncoding):
(BlackBerry::WebKit::WebPage::title):

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::createWindow):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidChangeLocationWithinPage):
(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForResponse):
(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
(WebCore::FrameLoaderClientBlackBerry::delayPolicyCheckUntilFragmentExists):
(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNewWindowAction):
(WebCore::FrameLoaderClientBlackBerry::createPlugin):
(WebCore::FrameLoaderClientBlackBerry::receivedData):
(WebCore::FrameLoaderClientBlackBerry::createDocumentLoader):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidCommitLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
(WebCore::FrameLoaderClientBlackBerry::createFrame):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
(WebCore::FrameLoaderClientBlackBerry::restoreViewState):
(WebCore::FrameLoaderClientBlackBerry::startDownload):
(WebCore::FrameLoaderClientBlackBerry::canCachePage):
(WebCore::FrameLoaderClientBlackBerry::didRestoreFromPageCache):

  • WebKitSupport/PagePopup.cpp:

(BlackBerry::WebKit::PagePopup::initialize):

Source/WebKit/efl:

  • WebCoreSupport/ChromeClientEfl.cpp:

(kit):

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::callShouldCloseOnWebView):
(DumpRenderTreeSupportEfl::clearOpener):
(DumpRenderTreeSupportEfl::frameChildren):
(DumpRenderTreeSupportEfl::responseMimeType):
(DumpRenderTreeSupportEfl::provisionalURL):

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::callPolicyFunction):
(WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForNewWindowAction):
(WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForNavigationAction):
(WebCore::FrameLoaderClientEfl::updateGlobalHistoryRedirectLinks):
(WebCore::FrameLoaderClientEfl::updateGlobalHistory):

  • ewk/ewk_frame.cpp:

(_ewk_frame_loader_efl_get):
(_ewk_frame_smart_del):
(_ewk_frame_contents_set_internal):
(ewk_frame_stop):
(ewk_frame_reload):
(ewk_frame_reload_full):
(ewk_frame_child_add):

  • ewk/ewk_view.cpp:

(ewk_view_frame_focused_get):
(ewk_view_setting_user_agent_set):
(ewk_view_setting_encoding_custom_get):
(ewk_view_setting_encoding_custom_set):

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::clearOpener):
(DumpRenderTreeSupportGtk::shouldClose):

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::dispatchWillSubmitForm):
(WebKit::FrameLoaderClient::committedLoad):
(WebKit::FrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebKit::FrameLoaderClient::createFrame):
(WebKit::FrameLoaderClient::dispatchDidCommitLoad):

  • webkit/webkitwebframe.cpp:

(webkit_web_frame_finalize):
(webkit_web_frame_load_uri):
(webkit_web_frame_load_data):
(webkit_web_frame_load_request):
(webkit_web_frame_stop_loading):
(webkit_web_frame_reload):
(webkit_web_frame_get_data_source):
(webkit_web_frame_get_provisional_data_source):
(webkit_web_frame_get_response_mime_type):
(webkit_web_frame_get_network_response):
(WebKit::kit):

  • webkit/webkitwebpolicydecision.cpp:

(webkit_web_policy_decision_use):
(webkit_web_policy_decision_ignore):
(webkit_web_policy_decision_download):

  • webkit/webkitwebview.cpp:

(webkit_web_view_dispose):
(webkit_web_view_reload):
(webkit_web_view_reload_bypass_cache):
(webkit_web_view_stop_loading):
(webkit_web_view_can_show_mime_type):
(webkit_web_view_set_custom_encoding):
(webkit_web_view_get_custom_encoding):
(webkit_web_view_get_subresources):

Source/WebKit/mac:

  • Plugins/Hosted/HostedNetscapePluginStream.mm:

(WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::performRequest):
(WebKit::NetscapePluginInstanceProxy::loadRequest):

  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(-[WebHostedNetscapePluginView pluginView:receivedResponse:]):

  • Plugins/WebBaseNetscapePluginView.mm:

(-[WebBaseNetscapePluginView requestWithURLCString:]):

  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::WebNetscapePluginStream):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView loadStream]):
(-[WebNetscapePluginView pluginView:receivedResponse:]):
(-[WebNetscapePluginView loadPluginRequest:]):
(-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):

  • Plugins/WebPluginController.mm:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
(WebFrameLoaderClient::dispatchWillSubmitForm):
(WebFrameLoaderClient::updateGlobalHistory):
(WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
(WebFrameLoaderClient::restoreViewState):
(WebFrameLoaderClient::transitionToCommittedForNewPage):
(WebFrameLoaderClient::createFrame):

  • WebCoreSupport/WebFrameNetworkingContext.mm:

(WebFrameNetworkingContext::blockedError):

  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::getPluginInfo):

  • WebView/WebFrame.mm:

(kit):
(-[WebFrame _dataSource]):
(-[WebFrame _canProvideDocumentSource]):
(-[WebFrame _commitData:]):
(-[WebFrame _firstLayoutDone]):
(-[WebFrame _loadType]):
(-[WebFrame _cacheabilityDictionary]):
(-[WebFrame _clearOpener]):
(-[WebFrame provisionalDataSource]):
(-[WebFrame dataSource]):
(-[WebFrame loadRequest:]):
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
(-[WebFrame loadArchive:]):
(-[WebFrame stopLoading]):
(-[WebFrame reload]):
(-[WebFrame reloadFromOrigin]):

  • WebView/WebHTMLRepresentation.mm:

(-[WebHTMLRepresentation receivedData:withDataSource:]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):

  • WebView/WebPDFView.mm:

(-[WebPDFView PDFViewWillClickOnLink:withURL:]):

  • WebView/WebRenderLayer.mm:

(-[WebRenderLayer initWithWebFrame:]):

  • WebView/WebRenderNode.mm:

(-[WebRenderNode _initWithCoreFrame:]):

  • WebView/WebView.mm:

(-[WebView _close]):
(-[WebView _loadBackForwardListFromOtherView:]):
(-[WebView _cachedResponseForURL:]):
(-[WebView setCustomTextEncodingName:]):
(-[WebView shouldClose]):

Source/WebKit/qt:

  • WebCoreSupport/ChromeClientQt.cpp:

(WebCore::ChromeClientQt::closeWindowSoon):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::shouldClose):
(DumpRenderTreeSupportQt::responseMimeType):
(DumpRenderTreeSupportQt::clearOpener):
(DumpRenderTreeSupportQt::thirdPartyCookiePolicyAllows):
(DumpRenderTreeSupportQt::setAlternateHtml):

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::callPolicyFunction):
(WebCore::FrameLoaderClientQt::dispatchDidStartProvisionalLoad):
(WebCore::FrameLoaderClientQt::updateGlobalHistory):
(WebCore::FrameLoaderClientQt::updateGlobalHistoryRedirectLinks):
(WebCore::FrameLoaderClientQt::callErrorPageExtension):
(WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
(WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
(WebCore::FrameLoaderClientQt::startDownload):
(WebCore::FrameLoaderClientQt::createFrame):
(WebCore::FrameLoaderClientQt::objectContentType):

  • WebCoreSupport/QWebFrameAdapter.cpp:

(QWebFrameAdapter::load):
(QWebFrameAdapter::setContent):
(QWebFrameAdapter::setHtml):
(QWebFrameAdapter::kit):
(QWebFrameAdapter::title):
(QWebFrameAdapter::clearCoreFrame):

  • WebCoreSupport/QWebPageAdapter.cpp:

(frameLoadRequest):
(openNewWindow):
(QWebPageAdapter::triggerAction):
(QWebPageAdapter::currentFrame):

Source/WebKit/win:

  • WebCoreSupport/WebContextMenuClient.cpp:

(WebContextMenuClient::searchWithGoogle):

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::updateGlobalHistory):
(WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
(WebFrameLoaderClient::savePlatformDataToCachedFrame):
(WebFrameLoaderClient::createFrame):
(WebFrameLoaderClient::dispatchDidFailToStartPlugin):

  • WebCoreSupport/WebFrameNetworkingContext.cpp:

(WebFrameNetworkingContext::blockedError):
(WebFrameNetworkingContext::referrer):

  • WebElementPropertyBag.cpp:

(WebElementPropertyBag::Read):

  • WebFrame.cpp:

(kit):
(WebFrame::reloadFromOrigin):
(WebFrame::loadRequest):
(WebFrame::loadData):
(WebFrame::dataSource):
(WebFrame::provisionalDataSource):
(WebFrame::stopLoading):
(WebFrame::reload):
(WebFrame::firstLayoutDone):
(WebFrame::loadType):
(WebFrame::clearOpener):
(WebFrame::dispatchWillSubmitForm):
(WebFrame::receivedPolicyDecision):
(WebFrame::dispatchDecidePolicyForResponse):
(WebFrame::dispatchDecidePolicyForNewWindowAction):
(WebFrame::dispatchDecidePolicyForNavigationAction):
(WebFrame::createJavaAppletWidget):

  • WebFramePolicyListener.cpp:

(WebFramePolicyListener::receivedPolicyDecision):

  • WebView.cpp:

(WebView::close):
(WebView::canShowMIMEType):
(WebView::setCustomTextEncodingName):
(WebView::loadBackForwardListFromOtherView):
(WebView::shouldClose):

Source/WebKit/wince:

  • WebCoreSupport/FrameLoaderClientWinCE.cpp:

(WebKit::FrameLoaderClientWinCE::dispatchDecidePolicyForResponse):
(WebKit::FrameLoaderClientWinCE::dispatchDecidePolicyForNewWindowAction):
(WebKit::FrameLoaderClientWinCE::dispatchDecidePolicyForNavigationAction):
(WebKit::FrameLoaderClientWinCE::dispatchWillSubmitForm):

  • WebCoreSupport/FrameNetworkingContextWinCE.cpp:

(WebKit::FrameNetworkingContextWinCE::referrer):

  • WebView.cpp:

(WebView::createFrame):
(WebView::load):
(WebView::reload):
(WebView::stop):

Source/WebKit2:

  • Shared/WebRenderLayer.cpp:

(WebKit::WebRenderLayer::create):

  • Shared/WebRenderObject.cpp:

(WebKit::WebRenderObject::create):

  • WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:

(WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameGetFrameLoadState):
(WKBundleFrameClearOpener):
(WKBundleFrameCallShouldCloseOnWebView):

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::InjectedBundleNodeHandle::documentFrame):
(WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
(WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:

(WebKit::InjectedBundleDOMWindowExtension::frame):

  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:

(WebKit::InjectedBundleHitTestResult::frame):
(WebKit::InjectedBundleHitTestResult::targetFrame):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::clickedLink):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::webPage):
(WebKit::PluginView::didFailToInitializePlugin):
(WebKit::PluginView::performFrameLoadURLRequest):
(WebKit::PluginView::userAgent):
(WebKit::PluginView::loadURL):
(WebKit::PluginView::cancelManualStreamLoad):
(WebKit::PluginView::proxiesForURL):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::focusedElementChanged):
(WebKit::WebChromeClient::focusedFrameChanged):
(WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
(WebKit::WebChromeClient::closeWindowSoon):
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):
(WebKit::WebChromeClient::unavailablePluginButtonClicked):
(WebKit::WebChromeClient::print):
(WebKit::WebChromeClient::exceededDatabaseQuota):
(WebKit::WebChromeClient::runOpenPanel):

  • WebProcess/WebCoreSupport/WebContextMenuClient.cpp:

(WebKit::WebContextMenuClient::searchWithGoogle):

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::textFieldDidBeginEditing):
(WebKit::WebEditorClient::textFieldDidEndEditing):
(WebKit::WebEditorClient::textDidChangeInTextField):
(WebKit::WebEditorClient::textDidChangeInTextArea):
(WebKit::WebEditorClient::doTextFieldCommandFromEvent):
(WebKit::WebEditorClient::textWillBeDeletedInTextField):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
(WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
(WebKit::WebFrameLoaderClient::updateGlobalHistory):
(WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
(WebKit::WebFrameLoaderClient::restoreViewState):
(WebKit::WebFrameLoaderClient::createFrame):
(WebKit::WebFrameLoaderClient::createJavaAppletWidget):
(WebKit::WebFrameLoaderClient::objectContentType):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::getPluginInfo):

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::blockedError):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::didReceivePolicyDecision):
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::source):
(WebKit::WebFrame::contentsAsString):
(WebKit::WebFrame::url):
(WebKit::WebFrame::parentFrame):
(WebKit::WebFrame::childFrames):
(WebKit::WebFrame::stopLoading):
(WebKit::WebFrame::frameForContext):
(WebKit::WebFrame::provisionalURL):
(WebKit::WebFrame::suggestedFilenameForResourceWithURL):
(WebKit::WebFrame::mimeTypeForResourceWithURL):
(WebKit::WebFrameFilter::shouldIncludeSubframe):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):
(WebKit::WebPage::close):
(WebKit::WebPage::tryClose):
(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadDataImpl):
(WebKit::WebPage::linkClicked):
(WebKit::WebPage::stopLoadingFrame):
(WebKit::WebPage::stopLoading):
(WebKit::WebPage::reload):
(WebKit::WebPage::tryRestoreScrollPosition):
(WebKit::WebPage::getMainResourceDataOfFrame):
(WebKit::resourceDataForFrame):
(WebKit::shouldReuseCommittedSandboxExtension):
(WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
(WebKit::WebPage::hasLocalDataForURL):
(WebKit::WebPage::setCustomTextEncodingName):
(WebKit::WebPage::canPluginHandleResponse):
(WebKit::WebPage::canShowMIMEType):
(WebKit::WebPage::didCommitLoad):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::platformHasLocalDataForURL):
(WebKit::cachedResponseForURL):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::downloadRequest):

3:12 PM Changeset in webkit [154141] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[DFG] isDouble() and isNumerical() should return true with KnownNumberUse UseKind.
https://bugs.webkit.org/show_bug.cgi?id=119794

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-15
Reviewed by Filip Pizlo.

This patch fixes ASSERTs failures in debug builds for sh4 and mips architecture.

  • dfg/DFGUseKind.h:

(JSC::DFG::isNumerical):
(JSC::DFG::isDouble):

3:08 PM Changeset in webkit [154140] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/119863> [iOS] Upstream WebCore/editing/ios

Reviewed by David Kilzer.

Use the same UUIDs for EditorIOS.mm and the group ios as in the iOS tree
so as to make it straightforward to merge changes to the WebCore Xcode
project file on WebKit.org with changes to the same file in the iOS tree.

  • WebCore.xcodeproj/project.pbxproj:
2:54 PM Changeset in webkit [154139] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

http://trac.webkit.org/changeset/154120 accidentally changed DFGCapabilities to read the resolve type from operand 4, not 3; it should be 3.

Rubber stamped by Oliver Hunt.

This was causing some test crashes for me.

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

2:46 PM Changeset in webkit [154138] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Windows] Unreviewed build fix after r154127.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove two symbols that are

now part of JavaScriptCore.

2:43 PM Changeset in webkit [154137] by Brent Fulgham
  • 5 edits in trunk/Source/WebCore

[Windows] Unreviewed build fix after r15417.

  • DerivedSources.cpp: Remove classes that now live in JSC.
  • WebCore.vcxproj/WebCore.vcxproj: Remove classes no longer included in WebCore.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • bindings/js/WebCoreTypedArrayController.cpp: Add explicit namespace to avoid conflict

with Windows 'Unknown' type.
(WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
(WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):

2:38 PM Changeset in webkit [154136] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Windows] Clear up improper export declaration.

  • runtime/ArrayBufferView.h:
2:33 PM Changeset in webkit [154135] by fpizlo@apple.com
  • 1 edit
    3 deletes in trunk/LayoutTests

Remove a test that times out.

Rubber stamped by Mark Hahnenberg.

This test times out for me, every time. It tests code that has since been rewritten
and has had new tests added to cover it. It's not clear that this test would be
useful anymore even if we made it not timeout.

  • fast/js/array-sort-modifying-tostring-expected.txt: Removed.
  • fast/js/array-sort-modifying-tostring.html: Removed.
  • fast/js/script-tests/array-sort-modifying-tostring.js: Removed.
2:33 PM Changeset in webkit [154134] by dbates@webkit.org
  • 2 edits
    2 adds in trunk/Source/WebCore

<https://webkit.org/b/119863> [iOS] Upstream WebCore/editing/ios

Reviewed by David Kilzer.

  • WebCore.xcodeproj/project.pbxproj:
  • editing/ios/EditorIOS.mm: Added.

(WebCore::Editor::newGeneralClipboard):
(WebCore::Editor::showFontPanel):
(WebCore::Editor::showStylesPanel):
(WebCore::Editor::showColorPanel):
(WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
(WebCore::Editor::insertParagraphSeparatorInQuotedContent):
(WebCore::styleForSelectionStart):
(WebCore::Editor::fontForSelection):
(WebCore::Editor::fontAttributesForSelectionStart):
(WebCore::Editor::removeUnchangeableStyles):

2:29 PM Changeset in webkit [154133] by krit@webkit.org
  • 19 edits
    9 adds in trunk

Implement CSS Image filter() function
https://bugs.webkit.org/show_bug.cgi?id=119845

Reviewed by Dean Jackson.

Source/WebCore:

The Filter Effects specification defines a new CSS Image function called
filter(). This function takes another CSS Image as well as a filter function
list as input and can be used by various CSS properties.

Example:

background-image: -webkit-filter(url(image.png), brightness(0.5))

This patch implements the current definition of filter() based on other
image generation classes like CSSCrossfadeValue.
A new class called CSSFilterImageValue was added together with an
image observer.

The function is implemented prefixed and behind the compiler flag CSS_FILTERS.

Tests: fast/filter-image/filter-image.html

fast/filter-image/parse-filter-image.html

  • CMakeLists.txt: Added new files to build systems.
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSAllInOne.cpp:
  • css/CSSCrossfadeValue.cpp: Share code together with CSSFilterImageValue

in CSSImageGeneratorValue.cpp.

(WebCore::CSSCrossfadeValue::isPending):
(WebCore::CSSCrossfadeValue::loadSubimages):

  • css/CSSFilterImageValue.cpp: Added.

(WebCore::CSSFilterImageValue::~CSSFilterImageValue):
(WebCore::CSSFilterImageValue::customCssText):
(WebCore::CSSFilterImageValue::fixedSize):
(WebCore::CSSFilterImageValue::isPending):
(WebCore::CSSFilterImageValue::knownToBeOpaque):
(WebCore::CSSFilterImageValue::loadSubimages):
(WebCore::CSSFilterImageValue::image):
(WebCore::CSSFilterImageValue::filterImageChanged):
(WebCore::CSSFilterImageValue::createFilterOperations):
(WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::imageChanged):
(WebCore::CSSFilterImageValue::hasFailedOrCanceledSubresources):
(WebCore::CSSFilterImageValue::equals):

  • css/CSSFilterImageValue.h: Added.

(WebCore::CSSFilterImageValue::create):
(WebCore::CSSFilterImageValue::isFixedSize):
(WebCore::CSSFilterImageValue::CSSFilterImageValue):
(WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::FilterSubimageObserverProxy):
(WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::~FilterSubimageObserverProxy):
(WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::setReady):

  • css/CSSImageGeneratorValue.cpp: Shared code between CSSCrossfadeValue and

CSSFilterImageValue.

(WebCore::CSSImageGeneratorValue::image):
(WebCore::CSSImageGeneratorValue::isFixedSize):
(WebCore::CSSImageGeneratorValue::fixedSize):
(WebCore::CSSImageGeneratorValue::isPending):
(WebCore::CSSImageGeneratorValue::knownToBeOpaque):
(WebCore::CSSImageGeneratorValue::loadSubimages):
(WebCore::CSSImageGeneratorValue::subimageIsPending):
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):

  • css/CSSImageGeneratorValue.h:
  • css/CSSParser.cpp: Added parsing information for new image function.

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::isGeneratedImageValue):
(WebCore::CSSParser::parseGeneratedImage):
(WebCore::CSSParser::parseFilterImage):
(WebCore::CSSParser::parseFilter):

  • css/CSSParser.h:
  • css/CSSValue.cpp:

(WebCore::CSSValue::hasFailedOrCanceledSubresources):
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):

  • css/CSSValue.h:

(WebCore::CSSValue::isFilterImageValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::generatedOrPendingFromValue):
(WebCore::StyleResolver::createFilterOperations):

  • css/StyleResolver.h: StyleResolver needs to be passed to

CSSFilterImageValue in order to resolve blur() and
drop-shadow() function. Both needs to be resolved together
with all other properties and can't be done earlier or later.

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build): Pass an argument whether the

intermediate filter results should be clipped or not. The filter
property for instance doesn't clip but scales the intermediate
image sizes.

  • rendering/FilterEffectRenderer.h:

LayoutTests:

Test parsing, style resolving, computed style and behavior of new
CSS image function filter().

  • fast/filter-image/filter-image-expected.html: Added.
  • fast/filter-image/filter-image.html: Added.
  • fast/filter-image/parse-filter-image-expected.txt: Added.
  • fast/filter-image/parse-filter-image.html: Added.
  • fast/filter-image/resources/image.svg: Added.
2:27 PM Changeset in webkit [154132] by fpizlo@apple.com
  • 4 edits in trunk

Source/JavaScriptCore: Unreviewed, remove some unnecessary periods from exceptions.

  • runtime/JSDataViewPrototype.cpp:

(JSC::getData):
(JSC::setData):

LayoutTests: Unreviewed, rebase the test now that we throw different exceptions.

  • fast/canvas/webgl/data-view-test-expected.txt:
2:12 PM Changeset in webkit [154131] by fpizlo@apple.com
  • 8 edits
    1 delete in trunk/Source/WebCore

Unreviewed, fix bindings tests after http://trac.webkit.org/changeset/154127

  • bindings/scripts/test/JS/JSTestCallback.cpp:

(WebCore::JSTestCallback::callbackWithArrayParam):

  • bindings/scripts/test/JS/JSTestCallback.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::setJSTestObjTypedArrayAttr):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors2):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::jsTestTypedefsPrototypeFunctionFunc):

  • bindings/scripts/test/ObjC/DOMFloat64Array.mm:
  • bindings/scripts/test/ObjC/DOMTestCallback.mm:
  • bindings/scripts/test/TestTypedArray.idl: Removed.
2:11 PM Changeset in webkit [154130] by zandobersek@gmail.com
  • 2 edits in trunk

Unreviewed GTK build fix after r154106.

  • Source/autotools/symbols.filter: Export the proper Element::shadowRoot() symbol.
2:00 PM Changeset in webkit [154129] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix 32-bit build.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

1:54 PM Changeset in webkit [154128] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Qt minimum build fix after r154116.

  • page/FrameView.cpp:

(WebCore::FrameView::sendResizeEventIfNeeded):

1:43 PM Changeset in webkit [154127] by fpizlo@apple.com
  • 125 edits
    99 adds
    19 deletes in trunk

Typed arrays should be rewritten
https://bugs.webkit.org/show_bug.cgi?id=119064

.:

Reviewed by Oliver Hunt.

Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>.

  • Source/autotools/symbols.filter:

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

Typed arrays were previously deficient in several major ways:

  • They were defined separately in WebCore and in the jsc shell. The two implementations were different, and the jsc shell one was basically wrong. The WebCore one was quite awful, also.


  • Typed arrays were not visible to the JIT except through some weird hooks. For example, the JIT could not ask "what is the Structure that this typed array would have if I just allocated it from this global object". Also, it was difficult to wire any of the typed array intrinsics, because most of the functionality wasn't visible anywhere in JSC.


  • Typed array allocation was brain-dead. Allocating a typed array involved two JS objects, two GC weak handles, and three malloc allocations.


  • Neutering. It involved keeping tabs on all native views but not the view wrappers, even though the native views can autoneuter just by asking the buffer if it was neutered anytime you touch them; while the JS view wrappers are the ones that you really want to reach out to.


  • Common case-ing. Most typed arrays have one buffer and one view, and usually nobody touches the buffer. Yet we created all of that stuff anyway, using data structures optimized for the case where you had a lot of views.


  • Semantic goofs. Typed arrays should, in the future, behave like ES features rather than DOM features, for example when it comes to exceptions. Firefox already does this and I agree with them.


This patch cleanses our codebase of these sins:

  • Typed arrays are almost entirely defined in JSC. Only the lifecycle management of native references to buffers is left to WebCore.


  • Allocating a typed array requires either two GC allocations (a cell and a copied storage vector) or one GC allocation, a malloc allocation, and a weak handle (a cell and a malloc'd storage vector, plus a finalizer for the latter). The latter is only used for oversize arrays. Remember that before it was 7 allocations no matter what.


  • Typed arrays require just 4 words of overhead: Structure*, Butterfly*, mode/length, void* vector. Before it was a lot more than that - remember, there were five additional objects that did absolutely nothing for anybody.


  • Native views aren't tracked by the buffer, or by the wrappers. They are transient. In the future we'll probably switch to not even having them be malloc'd.


  • Native array buffers have an efficient way of tracking all of their JS view wrappers, both for neutering, and for lifecycle management. The GC special-cases native array buffers. This saves a bunch of grief; for example it means that a JS view wrapper can refer to its buffer via the butterfly, which would be dead by the time we went to finalize.


  • Typed array semantics now match Firefox, which also happens to be where the standards are going. The discussion on webkit-dev seemed to confirm that Chrome is also heading in this direction. This includes making Uint8ClampedArray not a subtype of Uint8Array, and getting rid of ArrayBufferView as a JS-visible construct.


This is up to a 10x speed-up on programs that allocate a lot of typed arrays.
It's a 1% speed-up on Octane. It also opens up a bunch of possibilities for
further typed array optimizations in the JSC JITs, including inlining typed
array allocation, inlining more of the accessors, reducing the cost of type
checks, etc.

An additional property of this patch is that typed arrays are mostly
implemented using templates. This deduplicates a bunch of code, but does mean
that we need some hacks for exporting s_info's of template classes. See
JSGenericTypedArrayView.h and JSTypedArrays.cpp. Those hacks are fairly
low-impact compared to code duplication.

Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>.

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.list.am:
  • JSCTypedArrayStubs.h: Removed.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • bytecode/ByValInfo.h:

(JSC::hasOptimizableIndexingForClassInfo):
(JSC::jitArrayModeForClassInfo):
(JSC::typedArrayTypeForJITArrayMode):

  • bytecode/SpeculatedType.cpp:

(JSC::speculationFromClassInfo):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::toTypedArrayType):

  • dfg/DFGArrayMode.h:

(JSC::DFG::ArrayMode::typedArrayType):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • heap/CopyToken.h:
  • heap/DeferGC.h:

(JSC::DeferGCForAWhile::DeferGCForAWhile):
(JSC::DeferGCForAWhile::~DeferGCForAWhile):

  • heap/GCIncomingRefCounted.h: Added.

(JSC::GCIncomingRefCounted::GCIncomingRefCounted):
(JSC::GCIncomingRefCounted::~GCIncomingRefCounted):
(JSC::GCIncomingRefCounted::numberOfIncomingReferences):
(JSC::GCIncomingRefCounted::incomingReferenceAt):
(JSC::GCIncomingRefCounted::singletonFlag):
(JSC::GCIncomingRefCounted::hasVectorOfCells):
(JSC::GCIncomingRefCounted::hasAnyIncoming):
(JSC::GCIncomingRefCounted::hasSingleton):
(JSC::GCIncomingRefCounted::singleton):
(JSC::GCIncomingRefCounted::vectorOfCells):

  • heap/GCIncomingRefCountedInlines.h: Added.

(JSC::::addIncomingReference):
(JSC::::filterIncomingReferences):

  • heap/GCIncomingRefCountedSet.h: Added.

(JSC::GCIncomingRefCountedSet::size):

  • heap/GCIncomingRefCountedSetInlines.h: Added.

(JSC::::GCIncomingRefCountedSet):
(JSC::::~GCIncomingRefCountedSet):
(JSC::::addReference):
(JSC::::sweep):
(JSC::::removeAll):
(JSC::::removeDead):

  • heap/Heap.cpp:

(JSC::Heap::addReference):
(JSC::Heap::extraSize):
(JSC::Heap::size):
(JSC::Heap::capacity):
(JSC::Heap::collect):
(JSC::Heap::decrementDeferralDepth):
(JSC::Heap::decrementDeferralDepthAndGCIfNeeded):

  • heap/Heap.h:
  • interpreter/CallFrame.h:

(JSC::ExecState::dataViewTable):

  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompilePutByVal):
(JSC::JIT::emitIntTypedArrayGetByVal):
(JSC::JIT::emitFloatTypedArrayGetByVal):
(JSC::JIT::emitIntTypedArrayPutByVal):
(JSC::JIT::emitFloatTypedArrayPutByVal):

  • jsc.cpp:

(GlobalObject::finishCreation):

  • runtime/ArrayBuffer.cpp:

(JSC::ArrayBuffer::transfer):

  • runtime/ArrayBuffer.h:

(JSC::ArrayBuffer::createAdopted):
(JSC::ArrayBuffer::ArrayBuffer):
(JSC::ArrayBuffer::gcSizeEstimateInBytes):
(JSC::ArrayBuffer::pin):
(JSC::ArrayBuffer::unpin):
(JSC::ArrayBufferContents::tryAllocate):

  • runtime/ArrayBufferView.cpp:

(JSC::ArrayBufferView::ArrayBufferView):
(JSC::ArrayBufferView::~ArrayBufferView):
(JSC::ArrayBufferView::setNeuterable):

  • runtime/ArrayBufferView.h:

(JSC::ArrayBufferView::isNeutered):
(JSC::ArrayBufferView::buffer):
(JSC::ArrayBufferView::baseAddress):
(JSC::ArrayBufferView::byteOffset):
(JSC::ArrayBufferView::verifySubRange):
(JSC::ArrayBufferView::clampOffsetAndNumElements):
(JSC::ArrayBufferView::calculateOffsetAndLength):

  • runtime/ClassInfo.h:
  • runtime/CommonIdentifiers.h:
  • runtime/DataView.cpp: Added.

(JSC::DataView::DataView):
(JSC::DataView::create):
(JSC::DataView::wrap):

  • runtime/DataView.h: Added.

(JSC::DataView::byteLength):
(JSC::DataView::getType):
(JSC::DataView::get):
(JSC::DataView::set):

  • runtime/Float32Array.h:
  • runtime/Float64Array.h:
  • runtime/GenericTypedArrayView.h: Added.

(JSC::GenericTypedArrayView::data):
(JSC::GenericTypedArrayView::set):
(JSC::GenericTypedArrayView::setRange):
(JSC::GenericTypedArrayView::zeroRange):
(JSC::GenericTypedArrayView::zeroFill):
(JSC::GenericTypedArrayView::length):
(JSC::GenericTypedArrayView::byteLength):
(JSC::GenericTypedArrayView::item):
(JSC::GenericTypedArrayView::checkInboundData):
(JSC::GenericTypedArrayView::getType):

  • runtime/GenericTypedArrayViewInlines.h: Added.

(JSC::::GenericTypedArrayView):
(JSC::::create):
(JSC::::createUninitialized):
(JSC::::subarray):
(JSC::::wrap):

  • runtime/IndexingHeader.h:

(JSC::IndexingHeader::arrayBuffer):
(JSC::IndexingHeader::setArrayBuffer):

  • runtime/Int16Array.h:
  • runtime/Int32Array.h:
  • runtime/Int8Array.h:
  • runtime/JSArrayBuffer.cpp: Added.

(JSC::JSArrayBuffer::JSArrayBuffer):
(JSC::JSArrayBuffer::finishCreation):
(JSC::JSArrayBuffer::create):
(JSC::JSArrayBuffer::createStructure):
(JSC::JSArrayBuffer::getOwnPropertySlot):
(JSC::JSArrayBuffer::getOwnPropertyDescriptor):
(JSC::JSArrayBuffer::put):
(JSC::JSArrayBuffer::defineOwnProperty):
(JSC::JSArrayBuffer::deleteProperty):
(JSC::JSArrayBuffer::getOwnNonIndexPropertyNames):

  • runtime/JSArrayBuffer.h: Added.

(JSC::JSArrayBuffer::impl):
(JSC::toArrayBuffer):

  • runtime/JSArrayBufferConstructor.cpp: Added.

(JSC::JSArrayBufferConstructor::JSArrayBufferConstructor):
(JSC::JSArrayBufferConstructor::finishCreation):
(JSC::JSArrayBufferConstructor::create):
(JSC::JSArrayBufferConstructor::createStructure):
(JSC::constructArrayBuffer):
(JSC::JSArrayBufferConstructor::getConstructData):
(JSC::JSArrayBufferConstructor::getCallData):

  • runtime/JSArrayBufferConstructor.h: Added.
  • runtime/JSArrayBufferPrototype.cpp: Added.

(JSC::arrayBufferProtoFuncSlice):
(JSC::JSArrayBufferPrototype::JSArrayBufferPrototype):
(JSC::JSArrayBufferPrototype::finishCreation):
(JSC::JSArrayBufferPrototype::create):
(JSC::JSArrayBufferPrototype::createStructure):

  • runtime/JSArrayBufferPrototype.h: Added.
  • runtime/JSArrayBufferView.cpp: Added.

(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
(JSC::JSArrayBufferView::JSArrayBufferView):
(JSC::JSArrayBufferView::finishCreation):
(JSC::JSArrayBufferView::getOwnPropertySlot):
(JSC::JSArrayBufferView::getOwnPropertyDescriptor):
(JSC::JSArrayBufferView::put):
(JSC::JSArrayBufferView::defineOwnProperty):
(JSC::JSArrayBufferView::deleteProperty):
(JSC::JSArrayBufferView::getOwnNonIndexPropertyNames):
(JSC::JSArrayBufferView::finalize):

  • runtime/JSArrayBufferView.h: Added.

(JSC::JSArrayBufferView::sizeOf):
(JSC::JSArrayBufferView::ConstructionContext::operator!):
(JSC::JSArrayBufferView::ConstructionContext::structure):
(JSC::JSArrayBufferView::ConstructionContext::vector):
(JSC::JSArrayBufferView::ConstructionContext::length):
(JSC::JSArrayBufferView::ConstructionContext::mode):
(JSC::JSArrayBufferView::ConstructionContext::butterfly):
(JSC::JSArrayBufferView::mode):
(JSC::JSArrayBufferView::vector):
(JSC::JSArrayBufferView::length):
(JSC::JSArrayBufferView::offsetOfVector):
(JSC::JSArrayBufferView::offsetOfLength):
(JSC::JSArrayBufferView::offsetOfMode):

  • runtime/JSArrayBufferViewInlines.h: Added.

(JSC::JSArrayBufferView::slowDownAndWasteMemoryIfNecessary):
(JSC::JSArrayBufferView::buffer):
(JSC::JSArrayBufferView::impl):
(JSC::JSArrayBufferView::neuter):
(JSC::JSArrayBufferView::byteOffset):

  • runtime/JSCell.cpp:

(JSC::JSCell::slowDownAndWasteMemory):
(JSC::JSCell::getTypedArrayImpl):

  • runtime/JSCell.h:
  • runtime/JSDataView.cpp: Added.

(JSC::JSDataView::JSDataView):
(JSC::JSDataView::create):
(JSC::JSDataView::createUninitialized):
(JSC::JSDataView::set):
(JSC::JSDataView::typedImpl):
(JSC::JSDataView::getOwnPropertySlot):
(JSC::JSDataView::getOwnPropertyDescriptor):
(JSC::JSDataView::slowDownAndWasteMemory):
(JSC::JSDataView::getTypedArrayImpl):
(JSC::JSDataView::createStructure):

  • runtime/JSDataView.h: Added.
  • runtime/JSDataViewPrototype.cpp: Added.

(JSC::JSDataViewPrototype::JSDataViewPrototype):
(JSC::JSDataViewPrototype::create):
(JSC::JSDataViewPrototype::createStructure):
(JSC::JSDataViewPrototype::getOwnPropertySlot):
(JSC::JSDataViewPrototype::getOwnPropertyDescriptor):
(JSC::getData):
(JSC::setData):
(JSC::dataViewProtoFuncGetInt8):
(JSC::dataViewProtoFuncGetInt16):
(JSC::dataViewProtoFuncGetInt32):
(JSC::dataViewProtoFuncGetUint8):
(JSC::dataViewProtoFuncGetUint16):
(JSC::dataViewProtoFuncGetUint32):
(JSC::dataViewProtoFuncGetFloat32):
(JSC::dataViewProtoFuncGetFloat64):
(JSC::dataViewProtoFuncSetInt8):
(JSC::dataViewProtoFuncSetInt16):
(JSC::dataViewProtoFuncSetInt32):
(JSC::dataViewProtoFuncSetUint8):
(JSC::dataViewProtoFuncSetUint16):
(JSC::dataViewProtoFuncSetUint32):
(JSC::dataViewProtoFuncSetFloat32):
(JSC::dataViewProtoFuncSetFloat64):

  • runtime/JSDataViewPrototype.h: Added.
  • runtime/JSFloat32Array.h: Added.
  • runtime/JSFloat64Array.h: Added.
  • runtime/JSGenericTypedArrayView.h: Added.

(JSC::JSGenericTypedArrayView::byteLength):
(JSC::JSGenericTypedArrayView::byteSize):
(JSC::JSGenericTypedArrayView::typedVector):
(JSC::JSGenericTypedArrayView::canGetIndexQuickly):
(JSC::JSGenericTypedArrayView::canSetIndexQuickly):
(JSC::JSGenericTypedArrayView::getIndexQuicklyAsNativeValue):
(JSC::JSGenericTypedArrayView::getIndexQuicklyAsDouble):
(JSC::JSGenericTypedArrayView::getIndexQuickly):
(JSC::JSGenericTypedArrayView::setIndexQuicklyToNativeValue):
(JSC::JSGenericTypedArrayView::setIndexQuicklyToDouble):
(JSC::JSGenericTypedArrayView::setIndexQuickly):
(JSC::JSGenericTypedArrayView::canAccessRangeQuickly):
(JSC::JSGenericTypedArrayView::typedImpl):
(JSC::JSGenericTypedArrayView::createStructure):
(JSC::JSGenericTypedArrayView::info):
(JSC::toNativeTypedView):

  • runtime/JSGenericTypedArrayViewConstructor.h: Added.
  • runtime/JSGenericTypedArrayViewConstructorInlines.h: Added.

(JSC::::JSGenericTypedArrayViewConstructor):
(JSC::::finishCreation):
(JSC::::create):
(JSC::::createStructure):
(JSC::constructGenericTypedArrayView):
(JSC::::getConstructData):
(JSC::::getCallData):

  • runtime/JSGenericTypedArrayViewInlines.h: Added.

(JSC::::JSGenericTypedArrayView):
(JSC::::create):
(JSC::::createUninitialized):
(JSC::::validateRange):
(JSC::::setWithSpecificType):
(JSC::::set):
(JSC::::getOwnPropertySlot):
(JSC::::getOwnPropertyDescriptor):
(JSC::::put):
(JSC::::defineOwnProperty):
(JSC::::deleteProperty):
(JSC::::getOwnPropertySlotByIndex):
(JSC::::putByIndex):
(JSC::::deletePropertyByIndex):
(JSC::::getOwnNonIndexPropertyNames):
(JSC::::getOwnPropertyNames):
(JSC::::visitChildren):
(JSC::::copyBackingStore):
(JSC::::slowDownAndWasteMemory):
(JSC::::getTypedArrayImpl):

  • runtime/JSGenericTypedArrayViewPrototype.h: Added.
  • runtime/JSGenericTypedArrayViewPrototypeInlines.h: Added.

(JSC::genericTypedArrayViewProtoFuncSet):
(JSC::genericTypedArrayViewProtoFuncSubarray):
(JSC::::JSGenericTypedArrayViewPrototype):
(JSC::::finishCreation):
(JSC::::create):
(JSC::::createStructure):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::arrayBufferPrototype):
(JSC::JSGlobalObject::arrayBufferStructure):
(JSC::JSGlobalObject::typedArrayStructure):

  • runtime/JSInt16Array.h: Added.
  • runtime/JSInt32Array.h: Added.
  • runtime/JSInt8Array.h: Added.
  • runtime/JSTypedArrayConstructors.cpp: Added.
  • runtime/JSTypedArrayConstructors.h: Added.
  • runtime/JSTypedArrayPrototypes.cpp: Added.
  • runtime/JSTypedArrayPrototypes.h: Added.
  • runtime/JSTypedArrays.cpp: Added.
  • runtime/JSTypedArrays.h: Added.
  • runtime/JSUint16Array.h: Added.
  • runtime/JSUint32Array.h: Added.
  • runtime/JSUint8Array.h: Added.
  • runtime/JSUint8ClampedArray.h: Added.
  • runtime/Operations.h:
  • runtime/Options.h:
  • runtime/SimpleTypedArrayController.cpp: Added.

(JSC::SimpleTypedArrayController::SimpleTypedArrayController):
(JSC::SimpleTypedArrayController::~SimpleTypedArrayController):
(JSC::SimpleTypedArrayController::toJS):

  • runtime/SimpleTypedArrayController.h: Added.
  • runtime/Structure.h:

(JSC::Structure::couldHaveIndexingHeader):

  • runtime/StructureInlines.h:

(JSC::Structure::hasIndexingHeader):

  • runtime/TypedArrayAdaptors.h: Added.

(JSC::IntegralTypedArrayAdaptor::toNative):
(JSC::IntegralTypedArrayAdaptor::toJSValue):
(JSC::IntegralTypedArrayAdaptor::toDouble):
(JSC::FloatTypedArrayAdaptor::toNative):
(JSC::FloatTypedArrayAdaptor::toJSValue):
(JSC::FloatTypedArrayAdaptor::toDouble):
(JSC::Uint8ClampedAdaptor::toNative):
(JSC::Uint8ClampedAdaptor::toJSValue):
(JSC::Uint8ClampedAdaptor::toDouble):
(JSC::Uint8ClampedAdaptor::clamp):

  • runtime/TypedArrayController.cpp: Added.

(JSC::TypedArrayController::TypedArrayController):
(JSC::TypedArrayController::~TypedArrayController):

  • runtime/TypedArrayController.h: Added.
  • runtime/TypedArrayDescriptor.h: Removed.
  • runtime/TypedArrayInlines.h: Added.
  • runtime/TypedArrayType.cpp: Added.

(JSC::classInfoForType):
(WTF::printInternal):

  • runtime/TypedArrayType.h: Added.

(JSC::toIndex):
(JSC::isTypedView):
(JSC::elementSize):
(JSC::isInt):
(JSC::isFloat):
(JSC::isSigned):
(JSC::isClamped):

  • runtime/TypedArrays.h: Added.
  • runtime/Uint16Array.h:
  • runtime/Uint32Array.h:
  • runtime/Uint8Array.h:
  • runtime/Uint8ClampedArray.h:
  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::~VM):

  • runtime/VM.h:

Source/WebCore:

Reviewed by Oliver Hunt.

Typed arrays are now implemented in JavaScriptCore, and WebCore is merely a
client of them. There is only one layering violation: WebCore installs a
WebCoreTypedArrayController on VM, which makes the
ArrayBuffer<->JSArrayBuffer relationship resemble DOM wrappers. By default,
JSC makes the ownership go one way; the JSArrayBuffer keeps the ArrayBuffer
alive but if ArrayBuffer is kept alive from native code then the
JSArrayByffer may die. WebCoreTypedArrayController will keep the
JSArrayBuffer alive if the ArrayBuffer is in the opaque root set.

To make non-JSDOMWrappers behave like DOM wrappers, a bunch of code is
changed to make most references to wrappers refer to JSObject* rather than
JSDOMWrapper*.

Array buffer views are now transient; the JS array buffer view wrappers
don't own them or keep them alive. This required a bunch of changes to make
bindings code use RefPtr<ArrayBufferView> to hold onto their views.

Also there is a bunch of new code to make JSC-provided array buffers and
views obey the toJS/to<ClassName> idiom for wrapping and unwrapping.

Finally, the DataView API is now completely different: the JSDataView
provides the same user-visible JS API but using its own internal magic; the
C++ code that uses DataView now uses a rather different API that is not
aware of usual DOM semantics, since it's in JSC and not WebCore. It's
equally useful for all of WebCore's purposes, but some code had to change
to adapt the new conventions.

Some tests have been changed or rebased due to changes in behavior, that
bring us into conformance with where the standards are going and allow us to
match Firefox behavior.

Automake work and some additional GTK changes courtesy of
Zan Dobersek <zdobersek@igalia.com>.

Additional Qt changes courtesy of Arunprasad Rajkumar <arurajku@cisco.com>.

  • CMakeLists.txt:
  • DerivedSources.make:
  • ForwardingHeaders/runtime/DataView.h: Added.
  • ForwardingHeaders/runtime/JSArrayBuffer.h: Added.
  • ForwardingHeaders/runtime/JSArrayBufferView.h: Added.
  • ForwardingHeaders/runtime/JSDataView.h: Added.
  • ForwardingHeaders/runtime/JSTypedArrays.h: Added.
  • ForwardingHeaders/runtime/TypedArrayController.h: Added.
  • ForwardingHeaders/runtime/TypedArrayInlines.h: Added.
  • ForwardingHeaders/runtime/TypedArrays.h: Added.
  • GNUmakefile.list.am:
  • Modules/webaudio/RealtimeAnalyser.h:
  • Target.pri:
  • UseJSC.cmake:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/DOMWrapperWorld.h:
  • bindings/js/JSArrayBufferCustom.cpp: Removed.
  • bindings/js/JSArrayBufferViewHelper.h: Removed.
  • bindings/js/JSAudioContextCustom.cpp:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSBlobCustom.cpp:
  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSCSSValueCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSCryptoCustom.cpp:

(WebCore::JSCrypto::getRandomValues):

  • bindings/js/JSDOMBinding.h:

(WebCore::wrapperOwner):
(WebCore::wrapperContext):
(WebCore::getInlineCachedWrapper):
(WebCore::setInlineCachedWrapper):
(WebCore::clearInlineCachedWrapper):
(WebCore::getCachedWrapper):
(WebCore::cacheWrapper):
(WebCore::uncacheWrapper):
(WebCore::wrap):
(WebCore::toJS):
(WebCore::toArrayBufferView):
(WebCore::toInt8Array):
(WebCore::toInt16Array):
(WebCore::toInt32Array):
(WebCore::toUint8Array):
(WebCore::toUint8ClampedArray):
(WebCore::toUint16Array):
(WebCore::toUint32Array):
(WebCore::toFloat32Array):
(WebCore::toFloat64Array):
(WebCore::toDataView):

  • bindings/js/JSDataViewCustom.cpp: Removed.
  • bindings/js/JSDictionary.cpp:
  • bindings/js/JSDictionary.h:
  • bindings/js/JSDocumentCustom.cpp:

(WebCore::JSDocument::location):
(WebCore::toJS):

  • bindings/js/JSEventCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSFileReaderCustom.cpp:
  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSHTMLTemplateElementCustom.cpp:

(WebCore::JSHTMLTemplateElement::content):

  • bindings/js/JSImageDataCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSInjectedScriptHostCustom.cpp:
  • bindings/js/JSMessageEventCustom.cpp:
  • bindings/js/JSMessagePortCustom.cpp:
  • bindings/js/JSSVGPathSegCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSStyleSheetCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSTrackCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSWebGLRenderingContextCustom.cpp:
  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::send):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::transferArrayBuffers):

  • bindings/js/WebCoreJSClientData.h:

(WebCore::initNormalWorldClientData):

  • bindings/js/WebCoreTypedArrayController.cpp: Added.

(WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController):
(WebCore::WebCoreTypedArrayController::~WebCoreTypedArrayController):
(WebCore::WebCoreTypedArrayController::toJS):
(WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
(WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):

  • bindings/js/WebCoreTypedArrayController.h: Added.

(WebCore::WebCoreTypedArrayController::wrapperOwner):

  • bindings/scripts/CodeGenerator.pm:

(ForAllParents):
(ParseInterface):
(SkipIncludeHeader):
(IsTypedArrayType):
(IsWrapperType):

  • bindings/scripts/CodeGeneratorJS.pm:

(AddIncludesForType):
(GenerateHeader):
(GenerateImplementation):
(GenerateParametersCheck):
(GetNativeType):
(JSValueToNative):
(NativeToJSValue):
(GenerateConstructorDefinition):
(GenerateConstructorHelperMethods):

  • fileapi/WebKitBlobBuilder.cpp:

(WebCore::BlobBuilder::append):

  • fileapi/WebKitBlobBuilder.h:
  • html/canvas/ArrayBuffer.idl: Removed.
  • html/canvas/ArrayBufferView.idl: Removed.
  • html/canvas/DataView.cpp: Removed.
  • html/canvas/DataView.h: Removed.
  • html/canvas/DataView.idl: Removed.
  • html/canvas/Float32Array.idl: Removed.
  • html/canvas/Float64Array.idl: Removed.
  • html/canvas/Int16Array.idl: Removed.
  • html/canvas/Int32Array.idl: Removed.
  • html/canvas/Int8Array.idl: Removed.
  • html/canvas/Uint16Array.idl: Removed.
  • html/canvas/Uint32Array.idl: Removed.
  • html/canvas/Uint8Array.idl: Removed.
  • html/canvas/Uint8ClampedArray.idl: Removed.
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::validateTexFuncData):

  • page/Crypto.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
(WebCore::MediaPlayerPrivateAVFoundationObjC::extractKeyURIKeyIDAndCertificateFromInitData):

  • platform/graphics/filters/FECustomFilter.h:
  • platform/graphics/filters/FEGaussianBlur.cpp:
  • platform/graphics/filters/FilterEffect.cpp:
  • testing/MockCDM.cpp:

Source/WebKit2:

Reviewed by Oliver Hunt.

You don't need to include JSUint8Array anymore if you just want to
unwrap one; JSDOMBinding gives you all of the things you need.

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

Source/WTF:

Reviewed by Oliver Hunt.

  • Added the notion of a reference counted object that can be marked Deferred, which is like a special-purpose upref.


  • Added a common byte flipper.

Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>.

  • GNUmakefile.list.am:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/DeferrableRefCounted.h: Added.

(WTF::DeferrableRefCountedBase::ref):
(WTF::DeferrableRefCountedBase::hasOneRef):
(WTF::DeferrableRefCountedBase::refCount):
(WTF::DeferrableRefCountedBase::isDeferred):
(WTF::DeferrableRefCountedBase::DeferrableRefCountedBase):
(WTF::DeferrableRefCountedBase::~DeferrableRefCountedBase):
(WTF::DeferrableRefCountedBase::derefBase):
(WTF::DeferrableRefCountedBase::setIsDeferredBase):
(WTF::DeferrableRefCounted::deref):
(WTF::DeferrableRefCounted::setIsDeferred):
(WTF::DeferrableRefCounted::DeferrableRefCounted):
(WTF::DeferrableRefCounted::~DeferrableRefCounted):

  • wtf/FlipBytes.h: Added.

(WTF::needToFlipBytesIfLittleEndian):
(WTF::flipBytes):
(WTF::flipBytesIfLittleEndian):

LayoutTests:

Reviewed by Oliver Hunt.

  • fast/canvas/webgl/array-set-invalid-arguments-expected.txt:
  • fast/canvas/webgl/array-set-out-of-bounds-expected.txt:
  • fast/canvas/webgl/array-unit-tests-expected.txt:
  • fast/canvas/webgl/array-unit-tests.html:
  • fast/canvas/webgl/data-view-crash-expected.txt:
  • fast/canvas/webgl/script-tests/arraybuffer-transfer-of-control.js:

(checkView):

  • fast/dom/call-a-constructor-as-a-function-expected.txt:
  • fast/dom/call-a-constructor-as-a-function.html:
  • fast/js/constructor-length.html:
  • fast/js/global-constructors-attributes-dedicated-worker-expected.txt:
  • fast/js/global-constructors-attributes-expected.txt:
  • fast/js/global-constructors-attributes-shared-worker-expected.txt:
  • fast/js/regress/ArrayBuffer-Int8Array-alloc-expected.txt: Added.
  • fast/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived-expected.txt: Added.
  • fast/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived.html: Added.
  • fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-expected.txt: Added.
  • fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived.html: Added.
  • fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer-expected.txt: Added.
  • fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer.html: Added.
  • fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-expected.txt: Added.
  • fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived.html: Added.
  • fast/js/regress/ArrayBuffer-Int8Array-alloc.html: Added.
  • fast/js/regress/Int32Array-Int8Array-view-alloc-expected.txt: Added.
  • fast/js/regress/Int32Array-Int8Array-view-alloc.html: Added.
  • fast/js/regress/Int32Array-alloc-expected.txt: Added.
  • fast/js/regress/Int32Array-alloc-huge-expected.txt: Added.
  • fast/js/regress/Int32Array-alloc-huge-long-lived-expected.txt: Added.
  • fast/js/regress/Int32Array-alloc-huge-long-lived.html: Added.
  • fast/js/regress/Int32Array-alloc-huge.html: Added.
  • fast/js/regress/Int32Array-alloc-large-expected.txt: Added.
  • fast/js/regress/Int32Array-alloc-large-long-lived-expected.txt: Added.
  • fast/js/regress/Int32Array-alloc-large-long-lived.html: Added.
  • fast/js/regress/Int32Array-alloc-large.html: Added.
  • fast/js/regress/Int32Array-alloc-long-lived-expected.txt: Added.
  • fast/js/regress/Int32Array-alloc-long-lived.html: Added.
  • fast/js/regress/Int32Array-alloc.html: Added.
  • fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-huge-long-lived.js: Added.
  • fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived.js: Added.
  • fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived-buffer.js: Added.
  • fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived.js: Added.
  • fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc.js: Added.
  • fast/js/regress/script-tests/Int32Array-Int8Array-view-alloc.js: Added.
  • fast/js/regress/script-tests/Int32Array-alloc-huge-long-lived.js: Added.
  • fast/js/regress/script-tests/Int32Array-alloc-huge.js: Added.
  • fast/js/regress/script-tests/Int32Array-alloc-large-long-lived.js: Added.
  • fast/js/regress/script-tests/Int32Array-alloc-large.js: Added.
  • fast/js/regress/script-tests/Int32Array-alloc-long-lived.js: Added.
  • fast/js/regress/script-tests/Int32Array-alloc.js: Added.
  • platform/mac/fast/js/constructor-length-expected.txt:
  • webgl/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html:
  • webgl/resources/webgl_test_files/conformance/typedarrays/data-view-test.html:
1:26 PM Changeset in webkit [154126] by Bem Jones-Bey
  • 2 edits in trunk/Tools

<https://webkit.org/b/119850> Speed up test importing by doing all the regex matching in a single pass

Reviewed by Dirk Pranke.

This is a port from Blink of
https://src.chromium.org/viewvc/blink?revision=155647&view=revision
originally by Dirk Pranke.

From the original commit:

This gives something like a 15x speedup over compiling and matching
one property at a time and doing multiple passes over the file.

  • Scripts/webkitpy/w3c/test_converter.py:

(W3CTestConverter.init):
(W3CTestConverter.convert_prefixed_properties):
(W3CTestConverter.add_webkit_prefix_to_unprefixed_properties):

1:24 PM Changeset in webkit [154125] by Lucas Forschler
  • 4 edits
    1 copy in branches/safari-537-branch

Merged r154115. <rdar://problem/14719561>

1:21 PM Changeset in webkit [154124] by Lucas Forschler
  • 3 edits in branches/safari-537-branch/Source/WebCore

Merged r154123. <rdar://problem/14719187>

1:00 PM Changeset in webkit [154123] by Chris Fleizach
  • 3 edits in trunk/Source/WebCore

<https://webkit.org/b/119824> AX: WKView does not become first responder when the voiceover cursor lands on it

Reviewed by Darin Adler.

Incorporate review feedback from Darin.

  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::canSetFocusAttribute):
(WebCore::AccessibilityScrollView::isFocused):

  • accessibility/AccessibilityScrollView.h:
12:59 PM Changeset in webkit [154122] by akling@apple.com
  • 64 edits in trunk/Source

<https://webkit.org/b/119826> Page::focusController() should return a reference.

Reviewed by Anders Carlsson.

Page::focusController() is never null so make it return a reference.
Some unnecessary checks were removed as a result.

12:52 PM Changeset in webkit [154121] by rwlbuis@webkit.org
  • 3 edits in trunk/Source/WebCore

ASSERTION FAILED: !m_adoptionIsRequired in void WebCore::TreeShared<NodeType>::ref()
https://bugs.webkit.org/show_bug.cgi?id=116979

Reviewed by Alexey Proskuryakov.

Make constructors private since only ::create should use them.

  • html/shadow/MeterShadowElement.h:
  • html/shadow/ProgressShadowElement.h:
12:44 PM Changeset in webkit [154120] by oliver@apple.com
  • 4 edits
    3 adds in trunk

<https://webkit.org/b/119830> Assigning to a readonly global results in DFG byte code parse failure

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Make sure dfgCapabilities doesn't report a Dynamic put as
being compilable when we don't actually support it.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

LayoutTests:

Add a test

  • fast/js/dfg-put-to-readonly-property-expected.txt: Added.
  • fast/js/dfg-put-to-readonly-property.html: Added.
  • fast/js/script-tests/dfg-put-to-readonly-property.js: Added.

(foo):
(bar):

12:29 PM Changeset in webkit [154119] by Brent Fulgham
  • 3 edits in trunk/Source/JavaScriptCore

[Windows] Incorrect DLL Linkage for JSC ArrayBuffer and ArrayBufferView
https://bugs.webkit.org/show_bug.cgi?id=119847

Reviewed by Oliver Hunt.

  • runtime/ArrayBuffer.h: Switch from WTF_EXPORT_PRIVATE to JS_EXPORT_PRIVATE
  • runtime/ArrayBufferView.h: Ditto.
12:25 PM Changeset in webkit [154118] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Windows] Build correctsion after r154106

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add missing symbol export.
12:19 PM Changeset in webkit [154117] by mitz@apple.com
  • 2 edits in trunk/Tools

<https://webkit.org/b/119856> Improve extract-localizable-strings messages

Reviewed by Darin Adler.

  • Scripts/extract-localizable-strings: When the strings file disagrees with the source code,

added a message that points to the source code. Removed some unnecessary repetition of what
is already in the file.

12:08 PM Changeset in webkit [154116] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

FrameView should have an isMainFrameView()
https://bugs.webkit.org/show_bug.cgi?id=119435

Reviewed by Simon Fraser.

No new tests, just refactoring.

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::isMainFrameView):
(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::createScrollbar):
(WebCore::FrameView::applyOverflowToViewport):
(WebCore::FrameView::setHeaderHeight):
(WebCore::FrameView::setFooterHeight):
(WebCore::FrameView::minimumScrollPosition):
(WebCore::FrameView::maximumScrollPosition):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::sendResizeEventIfNeeded):
(WebCore::FrameView::pagination):
(WebCore::FrameView::visibleContentScaleFactor):
(WebCore::FrameView::setVisibleScrollerThumbRect):
(WebCore::FrameView::scrollbarStyleChanged):
(WebCore::FrameView::paintScrollCorner):
(WebCore::FrameView::paintScrollbar):
(WebCore::FrameView::paintOverhangAreas):

  • page/FrameView.h:

Add isMainFrameView and adopt it wherever we were previously checking if
the FrameView's frame was the same as its page's main frame.

12:05 PM Changeset in webkit [154115] by aestes@apple.com
  • 4 edits
    1 add in trunk

<https://webkit.org/b/119853> REGRESSION (r139343): WebKit crashes when canceling a load inside webView:resource:didFinishLoadingFromDataSource:

Reviewed by Brady Eidson.

Source/WebCore:

A client implementing webView:resource:didFinishLoadingFromDataSource:
might decide to call stopLoading: for the identifier that just finished
loading. If this happens we re-enter the loader and attempt to cancel a
load that has already finished and been removed from the set of active
loaders. Prevent this by clearing DocumentLoader's
m_identifierForLoadWithoutResourceLoader before calling
dispatchDidFinishLoading().

New API test: WebKit1.StopLoadingFromDidFinishLoading.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::finishedLoading): Set
m_identifierForLoadWithoutResourceLoader to 0 before calling
dispatchDidFinishLoading().

Tools:

Wrote an API test that verifies -[WebView stopLoading:] can be called
inside webView:resource:didFinishLoadingFromDataSource: without crashing.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/StopLoadingFromDidFinishLoading.mm: Added.

(-[StopLoadingFromDidFinishLoadingDelegate webView:resource:didFinishLoadingFromDataSource:]):
(TestWebKitAPI::TEST):

11:50 AM Changeset in webkit [154114] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

<https://webkit.org/b/119854> REGRESSION (r153379): Serious drawing issues with WebViews
<rdar://problem/14698870>

Reviewed by Simon Fraser.

Don't set aside subviews if they have already been set aside.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]):

11:49 AM Changeset in webkit [154113] by barraclough@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=119843
PropertySlot::setValue is ambiguous

Reviewed by Geoff Garen.

There are three different versions of PropertySlot::setValue, one for cacheable properties, and two that are used interchangeably and inconsistently.
The problematic variants are the ones that just take a value, and one that takes a value and also the object containing the property.
Unify on always providing the object, and remove the version that just takes a value.
This always works except for JSString, where we optimize out the object (logically we should be instantiating a temporary StringObject on every property access).
Provide a version of setValue that takes a JSString as the owner of the property.
We won't store this, but it makes it clear that this interface should only be used from JSString.

  • API/JSCallbackObjectFunctions.h:

(JSC::::getOwnPropertySlot):

  • JSCTypedArrayStubs.h:
  • runtime/Arguments.cpp:

(JSC::Arguments::getOwnPropertySlotByIndex):
(JSC::Arguments::getOwnPropertySlot):

  • runtime/JSActivation.cpp:

(JSC::JSActivation::symbolTableGet):
(JSC::JSActivation::getOwnPropertySlot):

  • runtime/JSArray.cpp:

(JSC::JSArray::getOwnPropertySlot):

  • runtime/JSObject.cpp:

(JSC::JSObject::getOwnPropertySlotByIndex):

  • runtime/JSString.h:

(JSC::JSString::getStringPropertySlot):

  • runtime/JSSymbolTableObject.h:

(JSC::symbolTableGet):

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayEntry::get):

  • Pass object containing property to PropertySlot::setValue
  • runtime/PropertySlot.h:

(JSC::PropertySlot::setValue):

  • Logically, the base of a string property access is a temporary StringObject, but we optimize that away.

(JSC::PropertySlot::setUndefined):

  • removed setValue(JSValue), added setValue(JSString*, JSValue)
11:48 AM Changeset in webkit [154112] by eric.carlson@apple.com
  • 14 edits in trunk

[Mac] Remove "legacy" media UI
https://bugs.webkit.org/show_bug.cgi?id=119752

Reviewed by Jer Noble.

Source/WebCore:

  • WebCore.exp.in: Remove _wkMediaControllerThemeAvailable.
  • platform/mac/WebCoreSystemInterface.h: Update for API change.
  • platform/mac/WebCoreSystemInterface.mm: Ditto.
  • rendering/RenderThemeMac.h: Don't override hasOwnDisabledStateHandlingFor.
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Remove code to deal with legacy theme.
(WebCore::getUnzoomedRectAndAdjustCurrentContext): Ditto.
(WebCore::RenderThemeMac::paintMediaFullscreenButton): wkDrawMediaUIPart doesn't need to know

the current theme.

(WebCore::RenderThemeMac::paintMediaMuteButton): Ditto.
(WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
(WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto.
(WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto.
(WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto.
(WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto.
(WebCore::RenderThemeMac::paintMediaRewindButton): Ditto.
(WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
(WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
(WebCore::RenderThemeMac::paintMediaCurrentTime): Ditto.
(WebCore::RenderThemeMac::paintMediaTimeRemaining): Ditto.
(WebCore::RenderThemeMac::paintMediaVolumeSliderContainer): Ditto.
(WebCore::RenderThemeMac::paintMediaVolumeSliderTrack): Ditto.
(WebCore::RenderThemeMac::paintMediaVolumeSliderThumb): Ditto.
(WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderTrack): Ditto.
(WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderThumb): Ditto.
(WebCore::RenderThemeMac::extraMediaControlsStyleSheet): We only have one theme.
(WebCore::RenderThemeMac::extraFullScreenStyleSheet): Ditto.
(WebCore::RenderThemeMac::usesMediaControlStatusDisplay): Ditto.

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Remove MediaControllerThemeAvailable.

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Remove MediaControllerThemeAvailable.

WebKitLibraries:

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceMountainLion.a:
11:09 AM Changeset in webkit [154111] by ap@apple.com
  • 2 edits in trunk/Tools

Adding Myles Maxfield to contributors.json.

Oops, wrong section, fixing.

  • Scripts/webkitpy/common/config/contributors.json:
11:07 AM Changeset in webkit [154110] by ap@apple.com
  • 2 edits in trunk/Tools

Adding Myles Maxfield to contributors.json.

  • Scripts/webkitpy/common/config/contributors.json:
10:59 AM Changeset in webkit [154109] by allan.jensen@digia.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

ANGLE doesn't build with bison 3.0
https://bugs.webkit.org/show_bug.cgi?id=119798

Reviewed by Antti Koivisto.

Make glslang.y compatible with bison 3.0, by using %lex-param
to set YYLEX_PARAM and getting rid of useless YYID macro.

  • src/compiler/glslang.y:
10:23 AM Changeset in webkit [154108] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove bogus assertion.

9:53 AM Changeset in webkit [154107] by allan.jensen@digia.com
  • 2 edits in trunk/Tools

[Qt] Do not check specifically for version 5.0
https://bugs.webkit.org/show_bug.cgi?id=119846

Reviewed by Jocelyn Turcotte.

For Qt 5.x we should always use both wk1 and wk2 basepath results.

  • Scripts/webkitpy/port/qt.py:

(QtPort._search_paths):

9:52 AM Changeset in webkit [154106] by Antti Koivisto
  • 52 edits
    2 deletes in trunk/Source

<https://webkit.org/b/119834> Remove ElementShadow

Reviewed by Anders Carlsson.

It is 1:1 with ShadowRoot and has virtually no functionality. What little there is can be moved to ShadowRoot or Element.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::locateCousinList):

  • css/StyleScopeResolver.cpp:

(WebCore::StyleScopeResolver::styleSharingCandidateMatchesHostRules):
(WebCore::StyleScopeResolver::matchHostRules):

  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::nodeCanBeDistributed):
(WebCore::ComposedShadowTreeWalker::traverseChild):

  • dom/ContainerNode.cpp:

(WebCore::childAttachedAllowedWhenAttachingChildren):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
(WebCore::assertConnectedSubrameCountIsConsistent):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildFrameDisconnector::collectFrameOwners):

  • dom/DOMAllInOne.cpp:
  • dom/Document.cpp:
  • dom/Element.cpp:

(WebCore::Element::~Element):
(WebCore::Element::attach):
(WebCore::Element::detach):
(WebCore::Element::shadowRoot):
(WebCore::Element::didAffectSelector):
(WebCore::Element::addShadowRoot):
(WebCore::Element::removeShadowRoot):

Move addShadowRoot and removeShadowRoot here from ElementShadow.

(WebCore::Element::createShadowRoot):
(WebCore::Element::authorShadowRoot):
(WebCore::Element::userAgentShadowRoot):
(WebCore::Element::ensureUserAgentShadowRoot):
(WebCore::Element::childrenChanged):
(WebCore::Element::removeAllEventListeners):

  • dom/Element.h:

(WebCore::isShadowHost):

  • dom/ElementRareData.h:

(WebCore::ElementRareData::clearShadowRoot):
(WebCore::ElementRareData::shadowRoot):
(WebCore::ElementRareData::setShadowRoot):
(WebCore::ElementRareData::~ElementRareData):

  • dom/ElementShadow.cpp: Removed.
  • dom/ElementShadow.h: Removed.
  • dom/EventDispatcher.cpp:
  • dom/EventPathWalker.cpp:

(WebCore::EventPathWalker::moveToParent):

  • dom/Node.cpp:

(WebCore::Node::needsShadowTreeWalkerSlow):

  • dom/NodeRenderingContext.cpp:
  • dom/NodeRenderingContext.h:
  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::attach):
(WebCore::ShadowRoot::detach):

Move attached() tests from ElementShadow.

(WebCore::ShadowRoot::childrenChanged):
(WebCore::ShadowRoot::removeAllEventListeners):

Move here from ElementShadow.

  • dom/ShadowRoot.h:

(WebCore::Node::shadowRoot):

  • dom/TreeScopeAdopter.cpp:
  • html/ColorInputType.cpp:

(WebCore::ColorInputType::createShadowSubtree):

  • html/FileInputType.cpp:

(WebCore::FileInputType::createShadowSubtree):
(WebCore::FileInputType::disabledAttributeChanged):
(WebCore::FileInputType::multipleAttributeChanged):

  • html/HTMLFormControlElement.cpp:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::canStartSelection):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateType):

  • html/HTMLKeygenElement.cpp:
  • html/HTMLMediaElement.cpp:
  • html/HTMLTextAreaElement.cpp:
  • html/InputType.cpp:
  • html/RangeInputType.cpp:

(WebCore::RangeInputType::handleMouseDownEvent):
(WebCore::RangeInputType::createShadowSubtree):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createShadowSubtree):

  • html/ValidationMessage.cpp:
  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::distribute):
(WebCore::ContentDistributor::ensureDistribution):

  • html/shadow/ContentDistributor.h:

(WebCore::ContentDistributor::isValid):

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::childrenChanged):
(WebCore::InsertionPoint::insertedInto):
(WebCore::InsertionPoint::removedFrom):
(WebCore::resolveReprojection):

  • html/shadow/InsertionPoint.h:

(WebCore::shadowRootOfParentForDistribution):

  • html/shadow/SliderThumbElement.cpp:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::buildObjectForNode):

  • page/FocusController.cpp:

(WebCore::FocusNavigationScope::focusNavigationScopeOwnedByShadowHost):

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::uploadButton):

  • rendering/RenderTheme.cpp:
  • style/StyleResolveTree.cpp:

(WebCore::Style::resolveTree):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::updateReferencedText):
(WebCore::SVGTRefElement::detachTarget):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::clearResourceReferences):
(WebCore::SVGUseElement::buildShadowAndInstanceTree):
(WebCore::SVGUseElement::buildShadowTree):

  • testing/Internals.cpp:

(WebCore::Internals::ensureShadowRoot):
(WebCore::Internals::shadowRoot):

9:49 AM Changeset in webkit [154105] by mario@webkit.org
  • 1 edit
    1 move in trunk/LayoutTests

[GTK] Unreviewed gardening. Move Mac specific expectation for
accessibility test to the cross platform directory, as the result
it's shared with GTK and EFL ports.

  • accessibility/heading-title-includes-links-expected.txt: Renamed

from LayoutTests/platform/mac/accessibility/heading-title-includes-links-expected.txt.

9:44 AM Changeset in webkit [154104] by Lucas Forschler
  • 3 edits in branches/safari-537-branch/Source/WebCore

Merged r154083. <rdar://problem/14719187>

9:24 AM Changeset in webkit [154103] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

[Qt] memory leak in WebCore::FontCache::getLastResortFallbackFont
https://bugs.webkit.org/show_bug.cgi?id=118532

Reviewed by Jocelyn Turcotte.

We don't need to allocate FontPlatformData on the heap
since getCachedFontData makes a deep copy anyway.

  • platform/graphics/qt/FontCacheQt.cpp:

(WebCore::FontCache::getLastResortFallbackFont):

9:14 AM Changeset in webkit [154102] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Windows] Correct build after r154088

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove unused

(and now renamed) export symbols.

9:07 AM Changeset in webkit [154101] by allan.jensen@digia.com
  • 30 edits
    13 copies
    1 add
    4 deletes in trunk/LayoutTests

Empty qt-5.0 expectations into qt expectations

Unreviewed gardening.

  • platform/qt-5.0/TestExpectations:
  • platform/qt-5.0/editing/selection/editable-html-element-expected.txt: Removed.
  • platform/qt-5.0/editing/selection/extend-by-word-001-expected.txt: Removed.
  • platform/qt-5.0/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt: Removed.
  • platform/qt-5.0/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt: Removed.
  • platform/qt-5.0/fast/dom/Orientation/create-event-orientationchange-expected.txt: Removed.
  • platform/qt-5.0/fast/dom/Window/window-properties-device-orientation-expected.txt: Removed.
  • platform/qt-5.0/fast/events/onload-re-entry-expected.txt: Removed.
  • platform/qt-5.0/fast/forms/input-disabled-color-expected.png: Removed.
  • platform/qt-5.0/fast/forms/input-disabled-color-expected.txt: Removed.
  • platform/qt-5.0/fast/forms/menulist-separator-painting-expected.png: Removed.
  • platform/qt-5.0/fast/forms/menulist-separator-painting-expected.txt: Removed.
  • platform/qt-5.0/fast/forms/select-background-none-expected.png: Removed.
  • platform/qt-5.0/fast/forms/select-background-none-expected.txt: Removed.
  • platform/qt-5.0/fast/images/embed-image-expected.txt: Removed.
  • platform/qt-5.0/fast/images/object-image-expected.txt: Removed.
  • platform/qt-5.0/fast/text/backslash-to-yen-sign-expected.txt: Removed.
  • platform/qt-5.0/fast/text/basic/003-expected.png: Removed.
  • platform/qt-5.0/fast/text/basic/003-expected.txt: Removed.
  • platform/qt-5.0/fast/text/fallback-traits-fixup-expected.txt: Removed.
  • platform/qt-5.0/fast/text/international/hindi-whitespace-expected.txt: Removed.
  • platform/qt-5.0/fast/text/international/text-spliced-font-expected.txt: Removed.
  • platform/qt-5.0/fast/text/letter-spacing-negative-opacity-expected.png: Removed.
  • platform/qt-5.0/fast/text/letter-spacing-negative-opacity-expected.txt: Removed.
  • platform/qt-5.0/fast/text/soft-hyphen-3-expected.txt: Removed.
  • platform/qt-5.0/http/tests/misc/location-replace-crossdomain-expected.png: Removed.
  • platform/qt-5.0/http/tests/misc/location-replace-crossdomain-expected.txt: Removed.
  • platform/qt-5.0/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.png: Removed.
  • platform/qt-5.0/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png: Removed.
  • platform/qt-5.0/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.png: Removed.
  • platform/qt-5.0/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.png: Removed.
  • platform/qt-5.0/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.png: Removed.
  • platform/qt-5.0/svg/as-image/img-preserveAspectRatio-support-1-expected.png: Removed.
  • platform/qt-5.0/svg/as-image/img-preserveAspectRatio-support-1-expected.txt: Removed.
  • platform/qt-5.0/svg/as-object/object-box-sizing-no-width-height-expected.png: Removed.
  • platform/qt-5.0/svg/as-object/object-box-sizing-no-width-height-expected.txt: Removed.
  • platform/qt-5.0/svg/batik/text/longTextOnPath-expected.png: Removed.
  • platform/qt-5.0/svg/batik/text/longTextOnPath-expected.txt: Removed.
  • platform/qt-5.0/svg/carto.net/tabgroup-expected.txt: Removed.
  • platform/qt-5.0/svg/foreignObject/text-tref-02-b-expected.png: Removed.
  • platform/qt-5.0/svg/transforms/text-with-pattern-with-svg-transform-expected.png: Removed.
  • platform/qt-5.0/svg/transforms/text-with-pattern-with-svg-transform-expected.txt: Removed.
  • platform/qt/TestExpectations:
  • platform/qt/editing/execCommand/findString-diacriticals-expected.txt: Renamed from LayoutTests/platform/qt-5.0/editing/execCommand/findString-diacriticals-expected.txt.
  • platform/qt/editing/selection/click-left-of-rtl-wrapping-text-expected.txt: Renamed from LayoutTests/platform/qt-5.0/editing/selection/click-left-of-rtl-wrapping-text-expected.txt.
  • platform/qt/fast/events/onload-re-entry-expected.png: Renamed from LayoutTests/platform/qt-5.0/fast/events/onload-re-entry-expected.png.
  • platform/qt/fast/events/onload-re-entry-expected.txt:
  • platform/qt/fast/events/touch/touch-slider-expected.txt: Renamed from LayoutTests/platform/qt-5.0/fast/events/touch/touch-slider-expected.txt.
  • platform/qt/fast/events/touch/touch-slider-no-js-touch-listener-expected.txt: Renamed from LayoutTests/platform/qt-5.0/fast/events/touch/touch-slider-no-js-touch-listener-expected.txt.
  • platform/qt/fast/forms/input-disabled-color-expected.png:
  • platform/qt/fast/forms/input-disabled-color-expected.txt:
  • platform/qt/fast/forms/menulist-separator-painting-expected.png:
  • platform/qt/fast/forms/menulist-separator-painting-expected.txt:
  • platform/qt/fast/forms/select-background-none-expected.png:
  • platform/qt/fast/forms/select-background-none-expected.txt:
  • platform/qt/fast/images/embed-image-expected.txt:
  • platform/qt/fast/images/object-image-expected.txt:
  • platform/qt/fast/text/basic/003-expected.png:
  • platform/qt/fast/text/international/text-spliced-font-expected.png: Renamed from LayoutTests/platform/qt-5.0/fast/text/international/text-spliced-font-expected.png.
  • platform/qt/fast/text/soft-hyphen-3-expected.txt:
  • platform/qt/http/tests/cookies/double-quoted-value-with-semi-colon-expected.txt: Renamed from LayoutTests/platform/qt-5.0/http/tests/cookies/double-quoted-value-with-semi-colon-expected.txt.
  • platform/qt/http/tests/misc/location-replace-crossdomain-expected.png:
  • platform/qt/http/tests/misc/location-replace-crossdomain-expected.txt:
  • platform/qt/http/tests/security/xss-DENIED-xsl-external-entity-redirect-expected.txt: Renamed from LayoutTests/platform/qt-5.0/http/tests/security/xss-DENIED-xsl-external-entity-redirect-expected.txt.
  • platform/qt/http/tests/xmlhttprequest/methods-expected.txt: Renamed from LayoutTests/platform/qt-5.0/http/tests/xmlhttprequest/methods-expected.txt.
  • platform/qt/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Renamed from LayoutTests/platform/qt-5.0/http/tests/xmlhttprequest/workers/methods-async-expected.txt.
  • platform/qt/http/tests/xmlhttprequest/workers/methods-expected.txt: Renamed from LayoutTests/platform/qt-5.0/http/tests/xmlhttprequest/workers/methods-expected.txt.
  • platform/qt/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt: Renamed from LayoutTests/platform/qt-5.0/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt.
  • platform/qt/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.png:
  • platform/qt/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png:
  • platform/qt/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.png:
  • platform/qt/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.png:
  • platform/qt/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.png:
  • platform/qt/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
  • platform/qt/svg/as-object/object-box-sizing-no-width-height-expected.png:
  • platform/qt/svg/as-object/object-box-sizing-no-width-height-expected.txt:
  • platform/qt/svg/batik/text/longTextOnPath-expected.png:
  • platform/qt/svg/batik/text/longTextOnPath-expected.txt:
  • platform/qt/svg/carto.net/tabgroup-expected.png: Renamed from LayoutTests/platform/qt-5.0/svg/carto.net/tabgroup-expected.png.
  • platform/qt/svg/carto.net/tabgroup-expected.txt:
  • platform/qt/svg/foreignObject/text-tref-02-b-expected.png:
  • platform/qt/svg/transforms/text-with-pattern-with-svg-transform-expected.png:
  • platform/qt/svg/transforms/text-with-pattern-with-svg-transform-expected.txt:
8:31 AM Changeset in webkit [154100] by simon.pena@samsung.com
  • 7 edits in trunk/LayoutTests

[GTK] Unreviewed gardening. Update test expectations.

  • platform/gtk-wk1/TestExpectations: Unskip tests no longer failing.
  • platform/gtk-wk1/loader/go-back-cached-main-resource-expected.txt:

Rebaseline after r153852.

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/regions/region-dynamic-after-before-expected.txt:

Rebaseline after r154072.

  • platform/gtk/fast/regions/region-generated-content-before-after-expected.txt:

Rebaseline after r154072.

  • platform/gtk/security/block-test-no-port-expected.txt:

Rebaseline after r153852.

8:02 AM Changeset in webkit [154099] by rwlbuis@webkit.org
  • 4 edits
    2 adds in trunk

ASSERTION FAILED: !m_adoptionIsRequired in void WebCore::TreeShared<NodeType>::ref()
https://bugs.webkit.org/show_bug.cgi?id=116979

Reviewed by Antti Koivisto.

Source/WebCore:

Make sure adoptRef is called before calling setPseudo, for all progress shadow elements.

  • html/shadow/ProgressShadowElement.cpp:

(WebCore::ProgressInnerElement::ProgressInnerElement):
(WebCore::ProgressBarElement::ProgressBarElement):
(WebCore::ProgressValueElement::ProgressValueElement):

  • html/shadow/ProgressShadowElement.h:

(WebCore::ProgressInnerElement::create):
(WebCore::ProgressBarElement::create):
(WebCore::ProgressValueElement::create):

LayoutTests:

Add testcase from bug with small adjustments.

  • svg/custom/tref-with-progress-tag-setpseudo-assert-expected.txt: Added.
  • svg/custom/tref-with-progress-tag-setpseudo-assert.html: Added.
6:15 AM Changeset in webkit [154098] by simon.pena@samsung.com
  • 7 edits in trunk

<https://webkit.org/b/119584> [Gtk] URL printing code in DumpRenderTree doesn't match WTR or Mac DRT

Reviewed by Gustavo Noronha Silva.

Following a similar approach as in r153977, return a path string
that is relative to main frame URL or just file name if the
resource is not in the same directory subtree, and replace empty
strings with "(null)".

Source/WebKit/gtk:

Update the AuthenticationCallback used in DumpRenderTree so that
it receives a WebKitWebResource, and update
dispatchDidReceiveAuthenticationChallenge so that it retrieves the
WebKitWebResource and passes it to the callback.

  • WebCoreSupport/DumpRenderTreeSupportGtk.h: Update the

AuthenticationCallback adding a WebKitWebResource parameter.

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::toString): Define this function earlier so we can use it
to get the WebKitWebResource from the identifier in the
AuthenticationChallenge.
(WebKit::FrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
Use toString to retrieve a WebKitWebResource from the identifier
in the authentication challenge, and pass that WebKitWebResource
to the AuthenticationCallback.

Tools:

Update pathFromSoupURI so it behaves more closely to the other
ports, and remove the unused code after we no longer print
<unknown> in certain cases. Also move
soupURIToStringPreservingPassword to DumpRenderTreeGtk so it can
be used both in TestRunnerGtk and in DumpRenderTree.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(soupURIToStringPreservingPassword): Moved from TestRunnerGtk so
we can print Soup URIs with the password, since soup_uri_to_string
doesn't preserve them.
(pathFromSoupURI): Updated following EFL implementation in
r153977, and return a WTFString instead of a CString.
(convertSoupMessageToURLPath): Return "(null)" instead of empty
strings, and handle the new return type of pathFromSoupURI.
(convertWebResourceToURLPath): Use a GOwnPtr to hold the Soup URI
reference, and handle the new return type of pathFromSoupURI.
(descriptionSuitableForTestResult): Remove unused code.
(didFinishLoading): Use convertResourceToURLPath.
(didFailLoadingWithError): Use convertResourceToURLPath.
(authenticationCallback): Display the URL of the authentication
challenge.

  • DumpRenderTree/gtk/DumpRenderTreeGtk.h: Declare

soupURIToStringPreservingPassword.

  • DumpRenderTree/gtk/TestRunnerGtk.cpp: Remove

soupURIToStringPreservingPassword.

6:06 AM Changeset in webkit [154097] by simon.pena@samsung.com
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed gardening. Skip failing test.

  • platform/gtk-wk1/TestExpectations:

http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html
is failing.

4:37 AM Changeset in webkit [154096] by allan.jensen@digia.com
  • 2 edits in trunk/LayoutTests

[Qt] fast/canvas/canvas-blending-transforms.html test fails on x32 after r153941.
https://bugs.webkit.org/show_bug.cgi?id=119792

Unreviewed gardening.

Speculative unskip after r154095.

  • platform/qt/TestExpectations:
4:28 AM Changeset in webkit [154095] by allan.jensen@digia.com
  • 7 edits in trunk

REGRESSION(r148790) Made 7 tests fail on x86 32bit
https://bugs.webkit.org/show_bug.cgi?id=114913

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

The X87 register was not freed before some calls. Instead
of inserting resetX87Registers to the last call sites,
the two X87 registers are now freed in every call.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/instructions.rb:
  • offlineasm/x86.rb:

LayoutTests:

Unskip the five tests now passsing again.

  • platform/qt/TestExpectations:
3:35 AM Changeset in webkit [154094] by simon.pena@samsung.com
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed gardening. Rebaseline after r154057.

  • platform/gtk/fast/js/dom-static-property-for-in-iteration-expected.txt:
3:31 AM Changeset in webkit [154093] by ryuan.choi@samsung.com
  • 3 edits
    1 delete in trunk/LayoutTests

[EFL] Unreviwed gardening.

Skipped some failures.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/fast/forms/datalist/input-list-expected.txt: Removed.
3:29 AM Changeset in webkit [154092] by simon.pena@samsung.com
  • 12 edits in trunk/LayoutTests

[GTK] Unreviewed gardening. Rebaseline after r154072.

  • platform/gtk/fast/regions/autoheight-regions-mark-expected.txt:
  • platform/gtk/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt:
  • platform/gtk/fast/regions/overflow-in-variable-width-regions-expected.txt:
  • platform/gtk/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt:
  • platform/gtk/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt:
  • platform/gtk/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt:
  • platform/gtk/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt:
  • platform/gtk/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
  • platform/gtk/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
  • platform/gtk/fast/repaint/region-painting-via-layout-expected.txt:
2:02 AM Changeset in webkit [154091] by kadam@inf.u-szeged.hu
  • 18 edits
    1 delete in trunk/LayoutTests

[Qt] Unreviwed gardening. Rebase fast tests after r154072.

Patch by Tamas Czene <tczene@inf.u-szeged.hu> on 2013-08-15

  • platform/qt-5.0-wk2/fast/repaint/region-painting-via-layout-expected.txt: Removed.
  • platform/qt/fast/regions/autoheight-regions-mark-expected.txt:
  • platform/qt/fast/regions/overflow-in-uniform-regions-dynamic-expected.png:
  • platform/qt/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt:
  • platform/qt/fast/regions/overflow-in-variable-width-regions-expected.png:
  • platform/qt/fast/regions/overflow-in-variable-width-regions-expected.txt:
  • platform/qt/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png:
  • platform/qt/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt:
  • platform/qt/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.png:
  • platform/qt/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt:
  • platform/qt/fast/regions/overflow-rtl-in-variable-width-regions-expected.png:
  • platform/qt/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt:
  • platform/qt/fast/regions/overflow-size-change-in-variable-width-regions-expected.png:
  • platform/qt/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt:
  • platform/qt/fast/repaint/line-flow-with-floats-in-regions-expected.png:
  • platform/qt/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
  • platform/qt/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
  • platform/qt/fast/repaint/region-painting-via-layout-expected.txt:

Aug 14, 2013:

11:12 PM Changeset in webkit [154090] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Don't copy js-test-pre in cookies-test-pre
https://bugs.webkit.org/show_bug.cgi?id=119802

Reviewed by Sam Weinig.

  • http/tests/cookies/resources/cookies-test-post.js:
  • http/tests/cookies/resources/cookies-test-pre.js:
10:14 PM Changeset in webkit [154089] by ryuan.choi@samsung.com
  • 35 edits in trunk

<https://webkit.org/b/119786> [EFL] decoration of search type is different from other platforms

Reviewed by Gyuyoung Kim.

Source/WebCore:

Other platforms except EFL port draw a magnifying icon for
-webkit-search-results-button and -webkit-search-results-decoration in search field,
but Efl port draws it for -webkit-search-decoration.

This patch makes Efl port draw icon in first two cases like other ports.

Tests: fast/css/input-search-padding.html

fast/css/text-input-with-webkit-border-radius.html
fast/css/text-overflow-input.html
fast/forms/box-shadow-override.html
fast/forms/control-restrict-line-height.html
fast/forms/input-appearance-height.html
fast/forms/placeholder-position.html
fast/forms/placeholder-pseudo-style.html
fast/forms/search-cancel-button-style-sharing.html
fast/forms/search-display-none-cancel-button.html
fast/forms/search-rtl.html
fast/forms/search-vertical-alignment.html
fast/forms/searchfield-heights.html
fast/repaint/search-field-cancel.html

  • platform/efl/DefaultTheme/widget/search/cancel/search_cancel.edc:

Moved results_button alias to search_decoration.edc

  • platform/efl/DefaultTheme/widget/search/decoration/search_decoration.edc:
  • platform/efl/RenderThemeEfl.cpp:

Updated size of ResultsButtonStyle and ResultsDecorationStyle to show icon.
In addition, removed adjustSearchFieldResultsButtonStyle and paintSearchFieldDecoration.
(WebCore::toEdjeGroup): Removed decoration group.
(WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):

  • platform/efl/RenderThemeEfl.h:

LayoutTests:

Rebaseline related to input search field.

  • platform/efl/fast/css/input-search-padding-expected.png:
  • platform/efl/fast/css/input-search-padding-expected.txt:
  • platform/efl/fast/css/text-input-with-webkit-border-radius-expected.png:
  • platform/efl/fast/css/text-input-with-webkit-border-radius-expected.txt:
  • platform/efl/fast/css/text-overflow-input-expected.png:
  • platform/efl/fast/css/text-overflow-input-expected.txt:
  • platform/efl/fast/forms/box-shadow-override-expected.png:
  • platform/efl/fast/forms/box-shadow-override-expected.txt:
  • platform/efl/fast/forms/control-restrict-line-height-expected.png:
  • platform/efl/fast/forms/control-restrict-line-height-expected.txt:
  • platform/efl/fast/forms/input-appearance-height-expected.png:
  • platform/efl/fast/forms/input-appearance-height-expected.txt:
  • platform/efl/fast/forms/placeholder-position-expected.png:
  • platform/efl/fast/forms/placeholder-position-expected.txt:
  • platform/efl/fast/forms/placeholder-pseudo-style-expected.png:
  • platform/efl/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/efl/fast/forms/search-cancel-button-style-sharing-expected.png:
  • platform/efl/fast/forms/search-cancel-button-style-sharing-expected.txt:
  • platform/efl/fast/forms/search-display-none-cancel-button-expected.png:
  • platform/efl/fast/forms/search-display-none-cancel-button-expected.txt:
  • platform/efl/fast/forms/search-rtl-expected.png:
  • platform/efl/fast/forms/search-rtl-expected.txt:
  • platform/efl/fast/forms/search-vertical-alignment-expected.png:
  • platform/efl/fast/forms/search-vertical-alignment-expected.txt:
  • platform/efl/fast/forms/searchfield-heights-expected.png:
  • platform/efl/fast/forms/searchfield-heights-expected.txt:
  • platform/efl/fast/repaint/search-field-cancel-expected.png:
  • platform/efl/fast/repaint/search-field-cancel-expected.txt:
9:46 PM Changeset in webkit [154088] by gyuyoung.kim@samsung.com
  • 36 edits in trunk/Source/WebCore

[CSS] Introduce new structure to pass image orientation values.
https://bugs.webkit.org/show_bug.cgi?id=119418

Reviewed by Beth Dakin.

Add a ImageOrientationDescription struct in order to reduce count of argument for
image orientation.

No new tests, no behavior change.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::paint):

  • page/DragController.cpp:

(WebCore::DragController::doImageDrag):

  • page/Frame.cpp:

(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):

  • platform/DragImage.h:
  • platform/blackberry/DragImageBlackBerry.cpp:

(WebCore::createDragImageFromImage):

  • platform/efl/DragImageEfl.cpp:

(WebCore::createDragImageFromImage):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::updateSize):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawImage):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/Image.cpp:

(WebCore::Image::draw):

  • platform/graphics/Image.h:
  • platform/graphics/ImageOrientation.h:

(WebCore::ImageOrientationDescription::ImageOrientationDescription):
(WebCore::ImageOrientationDescription::respectImageOrientation):
(WebCore::ImageOrientationDescription::imageOrientation):

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::size):
(WebCore::ImageSource::frameSizeAtIndex):

  • platform/graphics/ImageSource.h:
  • platform/graphics/blackberry/ImageBlackBerry.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/cairo/BitmapImageCairo.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/cg/BitmapImageCG.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::frameSizeAtIndex):
(WebCore::ImageSource::size):
(WebCore::ImageSource::frameBytesAtIndex):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/qt/ImageBufferQt.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/wince/ImageBufferWinCE.cpp:

(WebCore::ImageBuffer::draw):

  • platform/gtk/ClipboardGtk.cpp:

(WebCore::Clipboard::createDragImage):

  • platform/gtk/DragImageGtk.cpp:

(WebCore::createDragImageFromImage):

  • platform/mac/DragImageMac.mm:

(WebCore::createDragImageFromImage):

  • platform/qt/ClipboardQt.cpp:

(WebCore::Clipboard::createDragImage):

  • platform/qt/DragImageQt.cpp:

(WebCore::createDragImageFromImage):

  • platform/win/ClipboardWin.cpp:

(WebCore::Clipboard::createDragImage):

  • platform/win/DragImageCGWin.cpp:

(WebCore::createDragImageFromImage):

  • platform/win/DragImageCairoWin.cpp:

(WebCore::createDragImageFromImage):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::paintSnapshotImage):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::paintSnapshot):

5:53 PM Changeset in webkit [154087] by weinig@apple.com
  • 3 edits in trunk/Source/WebCore

Update binding test results. Follow up fix for <https://webkit.org/b/119664>

  • bindings/scripts/test/JS/JSTestCallback.cpp:

(WebCore::JSTestCallback::JSTestCallback):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):

5:45 PM Changeset in webkit [154086] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/119810> [Mac] No AutoreleasePool leaks when dragging image out of WebView

Reviewed by Dan Bernstein.

This code was just running a block of code asynchronously using a
pthread. Convert this to use a dispatch block, which does provide
an autorelease pool so there are no leaks and ends up much simpler.

  • platform/mac/FileSystemMac.mm:

(WebCore::setMetadataURL):

5:43 PM Changeset in webkit [154085] by dino@apple.com
  • 3 edits in trunk/Source/WebKit2

<https://webkit.org/b/119827> Allow primary plug-in detection to run more than once if necessary

Reviewed by Tim Horton.

We occasionally see cases where the primary plug-in detection runs before the plugins have been added
to the page, especially if they do so in response to a load event. Tweak the algorithm so that it can
run an arbitrary number of times if it fails.

While here, also have the detection run if there has ever been a plugin in the page as opposed to any
current views. We may have snapshotted a plugin by now and deleted its view.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): initialise new members.
(WebKit::WebPage::addPluginView): Mark that we've seen a plugin.
(WebKit::WebPage::resetPrimarySnapshottedPlugIn): Reset new members.
(WebKit::WebPage::determinePrimarySnapshottedPlugIn): Exit early if we've never
seen a plugin, rather than if we don't have any active views. Also, if we didn't find anything set
a timer to run again (maximum of two attempts at the moment).

  • WebProcess/WebPage/WebPage.h: New members - m_numberOfPrimarySnapshotDetectionAttempts

and m_hasSeenPlugin.

5:25 PM Changeset in webkit [154084] by timothy_horton@apple.com
  • 13 edits
    2 adds in trunk

Un-inline dataLog dumpers for IntSize and IntPoint
https://bugs.webkit.org/show_bug.cgi?id=119697

Reviewed by Sam Weinig.

.:

Avoid regressing build performance by moving IntSize::dump and IntPoint::dump elsewhere.

  • Source/autotools/symbols.filter:

Source/WebCore:

Avoid regressing build performance by moving IntSize::dump and IntPoint::dump elsewhere.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/IntPoint.cpp: Added.

(WebCore::IntPoint::dump):

  • platform/graphics/IntPoint.h:
  • platform/graphics/IntSize.cpp: Added.

(WebCore::IntSize::dump):

  • platform/graphics/IntSize.h:

Tools:

  • TestWebKitAPI/GNUmakefile.am:
5:00 PM Changeset in webkit [154083] by Chris Fleizach
  • 3 edits in trunk/Source/WebCore

<https://webkit.org/b/119824> AX: WKView does not become first responder when the voiceover cursor lands on it

Reviewed by Tim Horton.

VoiceOver lands on Scroll views by default. It expects that the scroll view will be able to handle the focus calls.
We should forward scroll view focus requests to the web area to handle, which will trigger a becomeFirstResponder on WKView.

There's not a great way to test this unfortunately, since it requires having focus comes from outside the webview into the webview.

  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::canSetFocusAttribute):
(WebCore::AccessibilityScrollView::isFocused):
(WebCore::AccessibilityScrollView::setFocused):

  • accessibility/AccessibilityScrollView.h:
4:59 PM Changeset in webkit [154082] by Chris Fleizach
  • 1 edit
    2 adds in trunk/LayoutTests

<https://webkit.org/b/119817> AX: Integrate layout tests from overflow bounding boxes are way too big; prevents VoiceOver taps from activating the right elements

Reviewed by Simon Fraser.

Add a layout test to ensure that transformed elements do not get offset twice when calculating their accessibility bounds.

  • accessibility/transformed-bounds-expected.txt: Added.
  • accessibility/transformed-bounds.html: Added.
4:24 PM Changeset in webkit [154081] by hmuller@adobe.com
  • 17 edits
    1 copy
    5 adds in trunk

[CSS Exclusions] Minimal support for using an image to define a shape
https://bugs.webkit.org/show_bug.cgi?id=116643

Source/WebCore:

Reviewed by Alexandru Chiculita.

This is a first small step towards supporting CSS shapes defined by an
image URL and a alpha channel threshold. To keep the patch as small as
possible, there are many limitations and remaining work items. For
example images are currently restricted to same-origin, although CORS
should be supported. See https://bugs.webkit.org/show_bug.cgi?id=116348
for the current list.

Test: fast/exclusions/shape-inside/shape-inside-image-001.html
Test: fast/exclusions/shape-inside/shape-inside-image-002.html

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::imageChanged): When the image has finished loading, request a layout.

  • rendering/RenderBlock.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::setStyle): Add notify clients for shape images.
(WebCore::RenderObject::updateShapeImage):
(WebCore::removeShapeImageClient):
(WebCore::RenderObject::arenaDelete): Remove notify clients for shape images.

  • rendering/RenderObject.h:
  • rendering/shapes/RasterShape.cpp: Added. A Shape defined by thresholding an image's alpha channel.

(WebCore::RasterShapeIntervals::bounds):
(WebCore::RasterShapeIntervals::addInterval): Add a single run to the shape.
(WebCore::alignedRect):
(WebCore::RasterShapeIntervals::getIntervals): Return the shape's runs that fall within a horizonal box.
(WebCore::RasterShape::marginIntervals): Internal representation of the shape with shape-margin factored in. Currently only a stub.
(WebCore::RasterShape::paddingIntervals): Internal representation of the shape with shape-padding factored in. Currently only a stub.
(WebCore::RasterShape::getExcludedIntervals):
(WebCore::RasterShape::getIncludedIntervals):
(WebCore::RasterShape::firstIncludedIntervalLogicalTop):

  • rendering/shapes/RasterShape.h:

(WebCore::RasterShapeIntervals::RasterShapeIntervals): Internal run length encoded representation of a RasterShape.
(WebCore::RasterShapeIntervals::isEmpty):
(WebCore::RasterShape::RasterShape):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createShape): Support for creating a Shape based on a RasterShapeIntervals object.

  • rendering/shapes/Shape.h:
  • rendering/shapes/ShapeInfo.cpp:

(WebCore::::computedShape): Added support for the Image ShapeValue type.

  • rendering/shapes/ShapeInsideInfo.cpp:

(WebCore::ShapeInsideInfo::isEnabledFor): Added support for the Image ShapeValue type.

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::isEnabledFor): Added support for the Image ShapeValue type.

  • rendering/style/ShapeValue.h:

(WebCore::ShapeValue::isImageValid): True if the shape's image is ready to be be processed.

LayoutTests:

Two tests to verify that the initial implementation of shape valued images is working
for shape-inside.

Reviewed by Alexandru Chiculita.

  • fast/exclusions/shape-inside/shape-inside-image-001-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-image-001.html: Added.
  • fast/exclusions/shape-inside/shape-inside-image-002-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-image-002.html: Added.
4:07 PM Changeset in webkit [154080] by Lucas Forschler
  • 5 edits in branches/safari-537-branch/Source

Versioning.

4:05 PM Changeset in webkit [154079] by Lucas Forschler
  • 1 copy in tags/Safari-537.57

New Tag.

4:03 PM Changeset in webkit [154078] by timothy_horton@apple.com
  • 10 edits in trunk/Source/WebKit/mac

Remotely hosted plugins don’t work in window-server-hosted WebKit1 views
https://bugs.webkit.org/show_bug.cgi?id=119709
<rdar://problem/14717572>

Reviewed by Anders Carlsson.

  • Plugins/Hosted/NetscapePluginHostManager.h:

Add hostLayersInWindowServer argument to instantiatePlugin.

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::instantiatePlugin):
Add hostLayersInWindowServer argument to instantiatePlugin, and pass it through to WebKitPluginHost.

  • Plugins/Hosted/NetscapePluginHostProxy.mm:

(WKPCLayerHostingModeChanged):
Forward the notification that the plugin host changed its layer hosting mode
to the instance proxy.

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::setShouldHostLayersInWindowServer):
Ask the plugin host to re-host its layers when the layer hosting mode changes.

(WebKit::NetscapePluginInstanceProxy::layerHostingModeChanged):
Inform the WebHostedNetscapePluginView of the new layer hosting mode
when it changes. Also, store the new CAContext ID.

  • Plugins/Hosted/WebHostedNetscapePluginView.h:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(-[WebHostedNetscapePluginView windowHostsLayersInWindowServer]):
Determine whether the WebView's current window uses window-server hosting for its layers.

(-[WebHostedNetscapePluginView createPlugin]):
Drive-by spelling fix.
Factor _pluginLayer initialization out into createPluginLayer.
Instantiate the plugin with the appropriate layer hosting mode.

(-[WebHostedNetscapePluginView createPluginLayer]):

(-[WebHostedNetscapePluginView setHostsLayersInWindowServer:]):
Create a new _pluginLayer if the layer hosting mode changes.
Attach the new _pluginLayer to our parent layer.

(-[WebHostedNetscapePluginView updateAndSetWindow]):
Inform the NetscapePluginInstanceProxy if the layer hosting mode changes,
so it can inform the plugin host. We will asynchronously receive a reply
with the new hosting mode and renderContextID and switch to the new CAContext,
in setHostsLayersInWindowServer:.

  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/Hosted/WebKitPluginHost.defs:
3:49 PM Changeset in webkit [154077] by dino@apple.com
  • 2 edits in trunk/Source/WebKit2

<https://webkit.org/b/119820> Add pluginView-related logging to WebPage

Reviewed by Tim Horton.

Add some more diagnostic output to help track down bugs.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::addPluginView): More logging.
(WebKit::WebPage::removePluginView): Ditto.

3:10 PM Changeset in webkit [154076] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Windows] Unreviewed build gardening.

  • platform/win/TestExpectations: Clean up a lint warning, and reactivate four tiling tests

that pass and had been turned off previously.

2:49 PM Changeset in webkit [154075] by msaboff@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Fixed jit on Win64.
https://bugs.webkit.org/show_bug.cgi?id=119601

Reviewed by Oliver Hunt.

  • jit/JITStubsMSVC64.asm: Added ctiVMThrowTrampolineSlowpath implementation.
  • jit/JSInterfaceJIT.h: Added thirdArgumentRegister.
  • jit/SlowPathCall.h:

(JSC::JITSlowPathCall::call): Added correct calling convention for Win64.

2:44 PM Changeset in webkit [154074] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Flakiness dashboard build fix.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(processTestRunsForBuilder):

2:36 PM Changeset in webkit [154073] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2] Sync messages with with non-default timeout sent from secondary threads always time out
https://bugs.webkit.org/show_bug.cgi?id=119767

Fix by Justin Bur.
Reviewed by Darin Adler.

  • Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):

The argument to wait() is absolute time, not a delta. This calculation matches one
in Connection::waitForMessage().

2:36 PM Changeset in webkit [154072] by Alexandru Chiculita
  • 31 edits
    21 adds in trunk

[CSS Regions] RenderRegions should have a RenderLayer+Backing when they contain a Composited RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=117365

Reviewed by David Hyatt.

Source/WebCore:

After the RenderFlowThread has a new layout we need to check if any of the children layers
had been moved to a new render region. We are only checking for the first level of layers,
as they are the only ones supported right now. Also, added code to make Regions require a layer
based on the layers that fit in their clipping area.

Tests: fast/regions/layers/dynamic-layer-added-with-no-layout.html

fast/regions/layers/dynamic-layer-removed-with-no-layout.html
fast/regions/layers/float-region-promoted-to-layer.html
fast/regions/layers/regions-promoted-to-layers-horizontal-bt.html
fast/regions/layers/regions-promoted-to-layers-vertical-lr.html
fast/regions/layers/regions-promoted-to-layers-vertical-rl.html
fast/regions/layers/regions-promoted-to-layers.html

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded): Iterate on all the flow threads and updateLayerToRegionMappings if needed.

  • rendering/FlowThreadController.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateLocalFloatingObjectsForPaintingContainer): Checks if the FloatingObject
needs to be painted by the current block or not.
(WebCore::RenderBlock::updateFloatingObjectsPaintingContainer): Helper function to lookup what is the right
container that would need to paint a FloatingObject.
(WebCore::RenderBlock::updateAllDescendantsFloatingObjectsPaintingContainer):

  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::outermostBlockContainingFloatingObject): Looks up the ancestor RenderBlock that contains all
the FloatingObjects of a float.
(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists): Extracted the code for outermostBlockContainingFloatingObject
into its own method.
(WebCore::RenderBox::updatePaintingContainerForFloatingObject): Helper method to update the "m_shouldPaint" flag
of all the FloatingObjects created for a floating RenderObject. Normally, that flag is maintained during layout,
but we need to patch it for the floating RenderRegions after the layout is already finished.
(WebCore::RenderBox::updateLayerIfNeeded): Overwrite of the RenderLayerModelObject::updateLayerIfNeeded that is also
calling updatePaintingContainerForFloatingObject if a new layer was created or destroyed.

  • rendering/RenderBox.h:
  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::layout): Added code to call updateLayerToRegionMappings when needed.
(WebCore::RenderFlowThread::regionForCompositedLayer): Looks up the first RenderRegion to display a specific layer.
It only cares about the top most point of the element and ignores transforms.
(WebCore::RenderFlowThread::updateRegionForRenderLayer): Helper method to update the mapped region of a layer.
(WebCore::RenderFlowThread::updateLayerToRegionMappings): Iterates all the first level layers of the flow thread
and updates the region. Will return true if there was any change.

  • rendering/RenderFlowThread.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::dirtyZOrderLists): When new layers are added or removed we need to update the layer map in the flow thread.
(WebCore::RenderLayer::dirtyNormalFlowList):
(WebCore::RenderLayer::shouldBeNormalFlowOnly): CSS Regions might become layers because they contain RenderLayers,
but they should not become stacking contexts for that reason. This will prevent the RenderRegions from rendering
in front of other layers.
(WebCore::RenderLayer::shouldBeSelfPaintingLayer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateCompositingLayers): Call updateRenderFlowThreadLayersIfNeeded when there's a layer hierarchy update.
(WebCore::RenderLayerCompositor::updateRenderFlowThreadLayersIfNeeded): Update the render flow thread layer maps when they are dirty.

  • rendering/RenderLayerCompositor.h:
  • rendering/RenderLayer.h:

(WebCore::RenderLayer::isDirtyRenderFlowThread): Used to check if the RenderLayers had changed their order,
so that we can update the list of layers associated with a region. In a following patch we will need to
rebuild the composited layers.

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::updateLayerIfNeeded): Adds or removes a layer when the "requiresLayer" changes
after the styleDidChange already happened. This is needed for Regions as we only know if they still require a layer,
only after the content of the flow thread is computed.

  • rendering/RenderLayerModelObject.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::setRequiresLayerForCompositing):

  • rendering/RenderRegion.h:

(WebCore::RenderRegion::requiresLayer):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeRenderRegionList): Updated the output to print the fact that the layer has a layer.

LayoutTests:

Added new tests for cases when CSS Regions are promoted to RenderLayers because
they contain elements that might need to become composited.

  • fast/regions/layers/dynamic-layer-added-with-no-layout-expected.png: Added.
  • fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Added.
  • fast/regions/layers/dynamic-layer-added-with-no-layout.html: Added.
  • fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.png: Added.
  • fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Added.
  • fast/regions/layers/dynamic-layer-removed-with-no-layout.html: Added.
  • fast/regions/layers/float-region-promoted-to-layer-expected.html: Added.
  • fast/regions/layers/float-region-promoted-to-layer.html: Added.
  • fast/regions/layers/regions-promoted-to-layers-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-horizontal-bt.html: Added.
  • fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-vertical-lr.html: Added.
  • fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-vertical-rl.html: Added.
  • fast/regions/layers/regions-promoted-to-layers.html: Added.

Updated existing tests that now have CSS Regions that require a RenderLayer.

  • fast/regions/autoheight-regions-mark-expected.txt:
  • fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
  • fast/repaint/region-painting-via-layout-expected.txt:
  • platform/mac/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt:
  • platform/mac/fast/regions/overflow-in-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt:
  • platform/mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
2:00 PM Changeset in webkit [154071] by Martin Robinson
  • 4 edits
    1 add in trunk

[GTK] [CMake] Add support for building TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=116987

Reviewed by Philippe Normand.

.:

  • Source/cmake/OptionsGTK.cmake: Turn on the API tests in the settings.

Tools:

  • TestWebKitAPI/CMakeLists.txt: Move the library listings to before the inclusion of the

platform-specific file, so that GTK+ can override them.

  • TestWebKitAPI/PlatformGTK.cmake: Added.
1:43 PM Changeset in webkit [154070] by Brent Fulgham
  • 5 edits in trunk/Tools

[Windows] Simplify Setting WebKit Debugging Options in WinLauncher
https://bugs.webkit.org/show_bug.cgi?id=119775

This bug updates the WinLauncher program with a few useful menu
options to toggle certain debugging and development features of
WebKit.

Reviewed by Tim Horton.

  • WinLauncher/WinLauncher.cpp:

(dllLauncherEntryPoint): Clean up preference objects on exit.
(ToggleMenuItem): New function.
(LaunchInspector): New function.
(WndProc): Add handler for new menu items. Also properly terminate
CFRunLoop operation on program exit.

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc: Add new

menu items.

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLibCommon.props: Add

resource folder to search path.

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h: Update

for new menu items.

1:30 PM Changeset in webkit [154069] by Bem Jones-Bey
  • 4 edits in trunk/Source/WebCore

Finish making FloatingObject a real class with private members
https://bugs.webkit.org/show_bug.cgi?id=119807

This is a port from Blink of
http://src.chromium.org/viewvc/blink?view=revision&revision=155964
Original patch by Eric Seidel.

From his comments on the Blink change:

Previously FloatingObject was in a half-done state where it had
accessors for many members, but also many members were public.

This CL makes all members private and adds the necessary remaining
accessors.

Reviewed by David Hyatt.

No new tests, no behavior change.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::deleteLineBoxTree):
(WebCore::RenderBlock::addOverflowFromFloats):
(WebCore::RenderBlock::repaintOverhangingFloats):
(WebCore::RenderBlock::paintFloats):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::removeFloatingObject):
(WebCore::RenderBlock::removeFloatingObjectsBelow):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::addIntrudingFloats):
(WebCore::RenderBlock::hitTestFloats):
(WebCore::RenderBlock::adjustForBorderFit):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::FloatingObject::paginationStrut):
(WebCore::RenderBlock::FloatingObject::setPaginationStrut):
(WebCore::RenderBlock::FloatingObject::setRenderer):
(WebCore::RenderBlock::FloatingObject::originatingLine):
(WebCore::RenderBlock::FloatingObject::setOriginatingLine):
(WebCore::RenderBlock::FloatingObjectHashFunctions::hash):
(WebCore::RenderBlock::FloatingObjectHashFunctions::equal):
(WebCore::RenderBlock::FloatingObjectHashTranslator::equal):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::appendFloatingObjectToLastLine):
(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::RenderBlock::linkToEndLineIfNeeded):
(WebCore::RenderBlock::determineStartPosition):
(WebCore::RenderBlock::positionNewFloatOnLine):

1:23 PM Changeset in webkit [154068] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix for Win64 after r153943.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Added 64-bit linker symbol for frameOrientationAtIndex.

1:21 PM Changeset in webkit [154067] by timothy_horton@apple.com
  • 6 edits in trunk/Source

REGRESSION (r153877): Plugin scanning slows creation of WebViews
https://bugs.webkit.org/show_bug.cgi?id=119665
<rdar://problem/14716549>

Reviewed by Darin Adler.

Source/WebKit/mac:

  • Plugins/WebPluginDatabase.h:
  • Plugins/WebPluginDatabase.mm:

(+[WebPluginDatabase sharedDatabaseIfExists]): Added.

  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::refreshPlugins):
Only refresh the plugin database if it's already been loaded.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::refreshPlugins):
Don't repopulate the plugin cache in refreshPlugins, just invalidate it.
It will be repopulated the next time something tries to use it.

1:16 PM Changeset in webkit [154066] by achristensen@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Compile fix for Win64 with jit disabled.
https://bugs.webkit.org/show_bug.cgi?id=119804

Reviewed by Michael Saboff.

  • offlineasm/cloop.rb: Added std:: before isnan.
12:51 PM Changeset in webkit [154065] by akling@apple.com
  • 1 edit
    2 deletes in trunk/LayoutTests

<http://webkit.org/b/119520> REGRESSION(154062): fast/repaint/caret-jump-between-nodes.html flakes on bots.

Unreviewed. This isn't working out. I can't get it to blink the caret a consistent number of times.
Removing the test for now to stop making bots red.

  • fast/repaint/caret-jump-between-nodes-expected.txt: Removed.
  • fast/repaint/caret-jump-between-nodes.html: Removed.
12:14 PM Changeset in webkit [154064] by rwlbuis@webkit.org
  • 3 edits
    2 adds in trunk

Assertion failure in RenderObject::drawLineForBoxSide
https://bugs.webkit.org/show_bug.cgi?id=108187

Reviewed by David Hyatt.

Source/WebCore:

Don't draw the outline if the rectangle to draw is empty.

Test: fast/css/outline-negative.html

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::paintOutlineForLine):

LayoutTests:

Add testcase from bug with small adjustments.

  • fast/css/outline-negative-expected.txt: Added.
  • fast/css/outline-negative.html: Added.
11:52 AM Changeset in webkit [154063] by Lucas Forschler
  • 3 edits in branches/safari-537-branch/Source/WebCore

Merged r154030. <rdar://problem/14687879>

11:51 AM Changeset in webkit [154062] by akling@apple.com
  • 3 edits
    3 deletes in trunk/LayoutTests

REGRESSION(r153815): fast/repaint/caret-jump-between-nodes.html sucks.
<http://webkit.org/b/119520>

Unreviewed, remove the description text from this repaint test in an attempt
to get consistent cross-platform results.

  • fast/repaint/caret-jump-between-nodes-expected.txt:
  • fast/repaint/caret-jump-between-nodes.html:
  • platform/gtk/fast/repaint/caret-jump-between-nodes-expected.txt: Removed.
  • platform/qt-5.0-wk2/fast/repaint/caret-jump-between-nodes-expected.txt: Removed.
  • platform/qt/fast/repaint/caret-jump-between-nodes-expected.txt: Removed.
11:42 AM Changeset in webkit [154061] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Add a hyperlink from build.webkit.org to the flakiness dashboard.

Rubbers-tamped by Simon Fraser.

  • BuildSlaveSupport/build.webkit.org-config/templates/root.html:
11:36 AM Changeset in webkit [154060] by kov@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Unreviewed build fix.

Patch by Gustavo Noronha Silva <gns@gnome.org> on 2013-08-14

  • GNUmakefile.am: link gamepad libs onto the plugin process,

our dearest friend when it comes to linking and unresolved
symbols issues.

11:36 AM Changeset in webkit [154059] by kov@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.0/Tools

Merge 152629 - [GTK] Increase the JHBuild version of GStreamer to 1.0.7
https://bugs.webkit.org/show_bug.cgi?id=115166

Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-07-15
Reviewed by Philippe Normand.

  • gtk/jhbuild.modules: Bumping GStreamer version up to 1.0.8.
10:44 AM Changeset in webkit [154058] by Chris Fleizach
  • 10 edits
    2 adds in trunk

AX: Headings not longer have an AXTitle if they have a link as the only child
https://bugs.webkit.org/show_bug.cgi?id=119699

Reviewed by Anders Carlsson.

Source/WebCore:

Normally, focusable content is not incuded when looking at the visible text of an element.
One case where we need an exception is with headings, where there is usually link content inside the heading
that we want to be used as the visible text.

Test: accessibility/heading-title-includes-links.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::shouldUseAccessiblityObjectInnerText):
(WebCore::AccessibilityNodeObject::title):

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode):
(WebCore::AccessibilityObject::textUnderElement):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textUnderElement):

  • accessibility/AccessibilityRenderObject.h:

LayoutTests:

  • accessibility/heading-title-includes-links.html: Added.
  • platform/mac/accessibility/heading-title-includes-links-expected.txt: Added.
  • platform/mac/accessibility/internal-link-anchors2-expected.txt:
10:41 AM Changeset in webkit [154057] by Christophe Dumez
  • 6 edits in trunk

Move id attribute to parent Element interface
https://bugs.webkit.org/show_bug.cgi?id=119706

Reviewed by Ryosuke Niwa.

Source/WebCore:

Move id attribute from SVGElement / HTMLElement to their Element parent
interface to match the latest DOM specification and avoid duplication:
http://dom.spec.whatwg.org/#dom-element-id

There is no web-exposed behavior change because we haven't moved
properties from instances to their prototype, as per the Web IDL
specification (http://dev.w3.org/2006/webapi/WebIDL/#es-attributes).

Firefox already exposes the id property of Element's prototype.

This patch also drops the comment about returning the empty string when
no id is present (introduced in http://trac.webkit.org/changeset/4417).
This comment is redundant since the id property is already marked to
"reflect" the id attribute. Returning the empty string when the
attribute is not present is the normal behavior when reflecting:
http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#reflect

No new test, no web-exposed behavior change.

  • dom/Element.idl:
  • html/HTMLElement.idl:
  • svg/SVGElement.idl:

LayoutTests:

Rebaseline fast/js/dom-static-property-for-in-iteration.html as
the order has changed.

  • fast/js/dom-static-property-for-in-iteration-expected.txt:
10:25 AM Changeset in webkit [154056] by kov@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WTF

Merge 144174 - Bug in atomicIncrement implementation for MIPS GCC
https://bugs.webkit.org/show_bug.cgi?id=110969

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-02-27
Reviewed by Csaba Osztrogonác.

Fix of sync_[add|sub]_and_fetch_8 for GCC patch.

  • wtf/Atomics.cpp:
10:24 AM Changeset in webkit [154055] by kov@webkit.org
  • 4 edits
    1 add in releases/WebKitGTK/webkit-2.0/Source/WTF

Merge 144077 - Fix the atomicIncrement implementation for MIPS GCC
https://bugs.webkit.org/show_bug.cgi?id=106739

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-02-26
Reviewed by Oliver Hunt.

Implementation of missing sync_[add|sub]_and_fetch_8 functions.

Some architectures, like MIPS32, don't have GCC implementation for
builtin sync_* functions with 64 bits variable size. GCC answer
for the problem: If a target doesn't support atomic operations on
certain variable sizes, you are out of luck with atomicity in that
case (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56296). GCC >= 4.8
will support
atomic_* builtin functions for this purpose for all
the GCC targets, but for current compilers we have to include our
own implementation.

  • GNUmakefile.list.am:
  • WTF.pro:
  • wtf/Atomics.cpp: Added.

(WTF):
(WTF::getSwapLock):
(WTF::atomicStep):

  • wtf/CMakeLists.txt:
10:24 AM WebKitGTK/2.0.x edited by kov@webkit.org
MIPS/powerpc/sparc build fix (diff)
10:08 AM Changeset in webkit [154054] by a.bah@samsung.com
  • 5 edits
    4 adds in trunk

createAttribute/setAttributeNode does not properly normalize case
https://bugs.webkit.org/show_bug.cgi?id=90341

Reviewed by Darin Adler.

Source/WebCore:

setAttributeNode() verifies for existing attributes in a case sensitive
manner. Thus, it would add another attribute if specified in a case
different from the existing one. Instead, like setAttribute(), it too
should modify the existing attribute's value.

Tests: fast/dom/Element/setAttributeNode-case-insensitivity-xhtml.xhtml

fast/dom/Element/setAttributeNode-case-insensitivity.html

  • dom/Element.cpp:

(WebCore::Element::setAttributeNode):
Passing the second param (shouldIgnoreAttributeCase) to
findAttributeIndexByNameForAttributeNode() method. We are now letting
findAttributeIndexByNameForAttributeNode() handle the case-sensitive/insensitive
checking.

(WebCore::ElementData::findAttributeIndexByNameForAttributeNode):

  • dom/Element.h:

Added shouldIgnoreAttributeCase boolean param to the method. It passes
this on to QualifiedName::matchesIgnoringCaseForLocalName() method.

  • dom/QualifiedName.h:

(WebCore::QualifiedName::matchesIgnoringCaseForLocalName):
New method added for doing a case-insensitive comparison based on the
shouldIgnoreCase param passed to this method.

LayoutTests:

  • fast/dom/Element/setAttributeNode-case-insensitivity.html: Added.
  • fast/dom/Element/setAttributeNode-case-insensitivity-expected.txt: Added.

Testcase for verifying that setAttributeNode() checks against existing
attributes in a case insensitive manner. It updates the value of an
existing attribute (in lower case) with that of the one set using
setAttributeNode() (in upper case).
The test also verifies the behavior of attributes when specified with
namespace and prefix.

  • fast/dom/Element/setAttributeNode-case-insensitivity-xhtml-expected.txt: Added.
  • fast/dom/Element/setAttributeNode-case-insensitivity-xhtml.xhtml: Added.

Testcase added for verifying that the default behavior for xhtml documents
does not change with this fix.
For xhtml documents, attributes can be added case sensitively. This testcase
verifies that two attributes with the same name but different case are
allowed for an xhtml document.

9:52 AM Changeset in webkit [154053] by allan.jensen@digia.com
  • 4 edits in trunk

[Qt] Activate visibility API layout tests
https://bugs.webkit.org/show_bug.cgi?id=119790

Patch by Benjamin Dupont <bdupont@nds.com> on 2013-08-14
Reviewed by Allan Sandfeld Jensen.

Tools:

  • DumpRenderTree/qt/TestRunnerQt.cpp:

(TestRunner::resetPageVisibility):
(TestRunner::setPageVisibility):

LayoutTests:

  • platform/qt/TestExpectations:
9:51 AM Changeset in webkit [154052] by allan.jensen@digia.com
  • 13 edits in trunk/Source

DFG_JIT implementation for sh4 architecture.
https://bugs.webkit.org/show_bug.cgi?id=119737

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-14
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::invert):
(JSC::MacroAssemblerSH4::add32):
(JSC::MacroAssemblerSH4::and32):
(JSC::MacroAssemblerSH4::lshift32):
(JSC::MacroAssemblerSH4::mul32):
(JSC::MacroAssemblerSH4::or32):
(JSC::MacroAssemblerSH4::rshift32):
(JSC::MacroAssemblerSH4::sub32):
(JSC::MacroAssemblerSH4::xor32):
(JSC::MacroAssemblerSH4::store32):
(JSC::MacroAssemblerSH4::swapDouble):
(JSC::MacroAssemblerSH4::storeDouble):
(JSC::MacroAssemblerSH4::subDouble):
(JSC::MacroAssemblerSH4::mulDouble):
(JSC::MacroAssemblerSH4::divDouble):
(JSC::MacroAssemblerSH4::negateDouble):
(JSC::MacroAssemblerSH4::zeroExtend32ToPtr):
(JSC::MacroAssemblerSH4::branchTruncateDoubleToUint32):
(JSC::MacroAssemblerSH4::truncateDoubleToUint32):
(JSC::MacroAssemblerSH4::swap):
(JSC::MacroAssemblerSH4::jump):
(JSC::MacroAssemblerSH4::branchNeg32):
(JSC::MacroAssemblerSH4::branchAdd32):
(JSC::MacroAssemblerSH4::branchMul32):
(JSC::MacroAssemblerSH4::urshift32):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::SH4Assembler):
(JSC::SH4Assembler::labelForWatchpoint):
(JSC::SH4Assembler::label):
(JSC::SH4Assembler::debugOffset):

  • dfg/DFGAssemblyHelpers.h:

(JSC::DFG::AssemblyHelpers::preserveReturnAddressAfterCall):
(JSC::DFG::AssemblyHelpers::restoreReturnAddressBeforeReturn):
(JSC::DFG::AssemblyHelpers::debugCall):

  • dfg/DFGCCallHelpers.h:

(JSC::DFG::CCallHelpers::setupArguments):
(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):

  • dfg/DFGFPRInfo.h:

(JSC::DFG::FPRInfo::toRegister):
(JSC::DFG::FPRInfo::toIndex):
(JSC::DFG::FPRInfo::debugName):

  • dfg/DFGGPRInfo.h:

(JSC::DFG::GPRInfo::toRegister):
(JSC::DFG::GPRInfo::toIndex):
(JSC::DFG::GPRInfo::debugName):

  • dfg/DFGOperations.cpp:
  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • jit/JITStubs.h:
  • jit/JITStubsSH4.h:

Source/WTF:

  • wtf/Platform.h:
9:42 AM Changeset in webkit [154051] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[CMake] Fix building with bison-3.0.
https://bugs.webkit.org/show_bug.cgi?id=119788

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-08-14
Reviewed by Zoltan Herczeg.

No new tests, just build fix.

  • CMakeLists.txt:
9:19 AM Changeset in webkit [154050] by jer.noble@apple.com
  • 10 edits in trunk/Source/WebKit/mac

Revert r154019; causes >50 tests to fail on WebKit1 bots.

  • Plugins/Hosted/NetscapePluginHostManager.h:
  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::instantiatePlugin):

  • Plugins/Hosted/NetscapePluginHostProxy.mm:
  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:
  • Plugins/Hosted/WebHostedNetscapePluginView.h:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(-[WebHostedNetscapePluginView setAttributeKeys:andValues:]):
(-[WebHostedNetscapePluginView createPlugin]):
(-[WebHostedNetscapePluginView updateAndSetWindow]):

  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/Hosted/WebKitPluginHost.defs:
8:43 AM Changeset in webkit [154049] by rwlbuis@webkit.org
  • 3 edits
    6 adds in trunk

ASSERTION FAILED: resultAnimationElement->m_animatedType in WebCore::SVGAnimateElement::calculateAnimatedValue
https://bugs.webkit.org/show_bug.cgi?id=119748

Reviewed by Dirk Schulze.

Source/WebCore:

Avoid animation when attributeType="CSS" is used on an animateTransform.

Tests: svg/animations/animateTransform-translate-attributetype-auto.html

svg/animations/animateTransform-translate-invalid-attributetype.html

  • svg/SVGAnimateTransformElement.cpp:

(WebCore::SVGAnimateTransformElement::hasValidAttributeType):

LayoutTests:

Test that using animateTransform with attributeType="CSS" will cause no animateTransform animation, and
attributeType="auto" will act as "XML".

  • svg/animations/animateTransform-translate-attributetype-auto-expected.txt: Added.
  • svg/animations/animateTransform-translate-attributetype-auto.html: Added.
  • svg/animations/animateTransform-translate-invalid-attributetype-expected.txt: Added.
  • svg/animations/animateTransform-translate-invalid-attributetype.html: Added.
  • svg/animations/script-tests/animateTransform-translate-attributetype-auto.js: Added.

(sample1):
(sample2):
(sample3):
(executeTest):

  • svg/animations/script-tests/animateTransform-translate-invalid-attributetype.js: Added.

(sample):
(executeTest):

7:49 AM Changeset in webkit [154048] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Try to fix Qt build.

Not reviewed.

  • xml/parser/XMLDocumentParserQt.cpp:

(WebCore::XMLDocumentParser::parseProcessingInstruction):
(WebCore::XMLDocumentParser::parseCdata):
(WebCore::XMLDocumentParser::parseComment):

7:02 AM Changeset in webkit [154047] by Antti Koivisto
  • 28 edits in trunk/Source/WebCore

Remove Node::attach() and ContainerNode::attach()
https://bugs.webkit.org/show_bug.cgi?id=119698

Reviewed by Andreas Kling.

Currently attach() is a virtual function on Node. However only Elements have style and so a corresponding
independent render object. Attaching should be made Element level concept.

This patch merges Node::attach() and ContainerNode::attach() to Element::attach(). Other related functions
(detach(), reattach(), etc) move similarly.

Next step here is to make attach non-virtual in common case and move it out from the DOM tree.

  • dom/ContainerNode.cpp:

(WebCore::attachChild):
(WebCore::detachChild):

Temporary helpers. Further refactoring should get rid of these.

(WebCore::ContainerNode::takeAllChildrenFrom):
(WebCore::ContainerNode::removeBetween):
(WebCore::updateTreeAfterInsertion):

  • dom/ContainerNode.h:
  • dom/Document.cpp:

(WebCore::Document::attach):
(WebCore::Document::detach):

Copy the relevant parts of the code from base class attach/detach here. It is not much.

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::Element::~Element):

Node destructor no longer detaches.

(WebCore::Element::attachChildren):
(WebCore::Element::attach):

Combine Node::attach(), ContainerNode::attach() and Element::attach().

(WebCore::Element::detachChildren):
(WebCore::Element::detach):

Combine Node::detach(), ContainerNode::detach() and Element::detach().

(WebCore::Element::reattach):
(WebCore::Element::reattachIfAttached):
(WebCore::Element::lazyReattach):
(WebCore::Element::lazyAttach):

This stuff moves from ContainerNode/Node.

  • dom/Element.h:

(WebCore::Element::AttachContext::AttachContext):

  • dom/ElementShadow.cpp:

(WebCore::ElementShadow::removeShadowRoot):
(WebCore::ElementShadow::attach):
(WebCore::ElementShadow::detach):

  • dom/ElementShadow.h:
  • dom/Node.cpp:

(WebCore::Node::~Node):

Assert that we are not attached at this point.

(WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):

  • dom/Node.h:

(WebCore::Node::setAttached):
(WebCore::Node::setStyleChange):

Make available.

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::NodeRenderingContext):

  • dom/NodeRenderingContext.h:
  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::attach):
(WebCore::ShadowRoot::detach):

  • dom/ShadowRoot.h:
  • dom/Text.cpp:

(WebCore::Text::~Text):

Node destructor no longer detaches. Add destructor.

(WebCore::Text::createTextRenderersForSiblingsAfterAttachIfNeeded):

Factor the code that updates sibling text renderers after attach into a function.

(WebCore::Text::attachText):
(WebCore::Text::detachText):

Text::attachText/detachText replace virtual Node::attach/detach. They do the part of the work text nodes actually ended up doing.

(WebCore::Text::updateTextRenderer):

  • dom/Text.h:
  • html/HTMLViewSourceDocument.cpp:

(WebCore::HTMLViewSourceDocument::addText):

  • html/PluginDocument.cpp:

(WebCore::PluginDocument::detach):

  • html/PluginDocument.h:
  • html/parser/HTMLConstructionSite.cpp:

(WebCore::executeTask):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::invalidateDistribution):

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::attach):
(WebCore::InsertionPoint::detach):

  • loader/PlaceholderDocument.cpp:

(WebCore::PlaceholderDocument::attach):

  • loader/PlaceholderDocument.h:
  • style/StyleResolveTree.cpp:

(WebCore::Style::resolveLocal):
(WebCore::Style::updateTextStyle):

  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::exitText):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::processingInstruction):
(WebCore::XMLDocumentParser::cdataBlock):
(WebCore::XMLDocumentParser::comment):

No need to attach non-rendered nodes.

6:39 AM Changeset in webkit [154046] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewd gardening. Skipping failing tests on x86.

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-08-14

  • platform/qt/TestExpectations:
4:29 AM Changeset in webkit [154045] by allan.jensen@digia.com
  • 5 edits in trunk/Source/WebCore

ASSERT(m_frame->view() == this) fails
https://bugs.webkit.org/show_bug.cgi?id=119015

Reviewed by Simon Fraser.

Introduced the method fixedLayoutSizeChanged and made it chack if the view
is attached to the frame before issuing contentsResized.

  • page/FrameView.cpp:

(WebCore::FrameView::fixedLayoutSizeChanged):

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::setFixedLayoutSize):
(WebCore::ScrollView::setUseFixedLayout):
(WebCore::ScrollView::fixedLayoutSizeChanged):

  • platform/ScrollView.h:
3:40 AM Changeset in webkit [154044] by sergio@webkit.org
  • 10 edits
    2 adds in trunk

[CSS Grid Layout] Align our grid-line handling with the updated specification
https://bugs.webkit.org/show_bug.cgi?id=113546

Reviewed by Andreas Kling.

From Blink r148091 by <jchaffraix@chromium.org>

Source/WebCore:

This change makes us match the updated specification by making
grid line numbers to always resolve against the
grid-{column|row}-start edge (the previous code would resolve
grid-{column|row}-end grid lines against the grid-{column|row}-end
edge).

To keep feature parity, negative numbers resolve against the
grid-{column|row}-end edge of the 'explicit grid'.

Test: fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution.html

  • rendering/RenderGrid.cpp:

(WebCore::estimatedGridSizeForPosition):
(WebCore::RenderGrid::explicitGridColumnCount): New utility function.
(WebCore::RenderGrid::explicitGridRowCount): Ditto.
(WebCore::RenderGrid::maximumIndexInDirection): Use explicitGridXXXCount().
(WebCore::RenderGrid::resolveGridPositionsFromStyle): Check that row-end > row-start.
(WebCore::RenderGrid::resolveGridPositionFromStyle): Clamp negative values to the first line.

  • rendering/RenderGrid.h:
  • rendering/style/GridPosition.h:

LayoutTests:

Added a couple of new tests to cover the cases of grid resolutions
using negative integers. Negative integers must resolve against
the grid-{column|row}-end of the explicit grid.

  • fast/css-grid-layout/grid-auto-flow-resolution-expected.txt:
  • fast/css-grid-layout/grid-auto-flow-resolution.html:
  • fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution-expected.txt: Added.
  • fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution.html: Added.
  • fast/css-grid-layout/grid-item-spanning-resolution-expected.txt:
  • fast/css-grid-layout/grid-item-spanning-resolution.html:
  • fast/css-grid-layout/resources/grid.css:

(.autoLastRowAutoLastColumn):
(.autoSecondRowAutoFirstColumn):
(.firstRowBothColumn):
(.secondRowBothColumn):
(.bothRowFirstColumn):
(.bothRowSecondColumn):
(.bothRowBothColumn):

3:12 AM Changeset in webkit [154043] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Add toSVGTextPathElement(), and use it
https://bugs.webkit.org/show_bug.cgi?id=119783

Reviewed by Ryosuke Niwa.

As a step to clean-up static_cast<SVGXXX>, static_cast<SVGTextPathElement*> can
be changed with toSVGTextPathElement().

  • rendering/svg/RenderSVGTextPath.cpp:

(WebCore::RenderSVGTextPath::layoutPath):
(WebCore::RenderSVGTextPath::startOffset):
(WebCore::RenderSVGTextPath::exactAlignment):
(WebCore::RenderSVGTextPath::stretchMethod):

  • svg/SVGTextPathElement.h:

(WebCore::toSVGTextPathElement):

12:49 AM Changeset in webkit [154042] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

FEComponentTransfer could be faster.
https://bugs.webkit.org/show_bug.cgi?id=119671

Patch by Jinwoo Jeong <jw00.jeong@samsung.com> on 2013-08-14
Reviewed by Christophe Dumez.

Use direct writing to target data instead of calling Uint8ClampedArray::set() function.
This change reduces at least 80% time in the loop of that function.

The Uint8ClampedArray::set() function has index checking code, value checking code and value casting code.
But the index is managed by for loop condition, the value is generated by transferFunction.
And the value is already defined as unsigned char.
Thus all works in Uint8ClampedArray::set() function is redundant.
Removing the call to Uint8ClampedArray::set() function does not reduce stability but improves performance.

  • platform/graphics/filters/FEComponentTransfer.cpp:

(WebCore::FEComponentTransfer::platformApplySoftware):

Note: See TracTimeline for information about the timeline view.