WebKit-https.git
6 years ago[WebGL] Vertex attribute binding validation method
commit-queue@webkit.org [Fri, 16 Aug 2013 07:17:10 +0000 (07:17 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154166 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119865> Parent pointer and shadow root host pointer should...
antti@apple.com [Fri, 16 Aug 2013 06:33:51 +0000 (06:33 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154165 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed GTK build fix for debug configurations.
zandobersek@gmail.com [Fri, 16 Aug 2013 06:32:27 +0000 (06:32 +0000)]
Unreviewed GTK build fix for debug configurations.

* webkit/webkitwebframe.cpp:
(WebKit::kit): Remove the bogus assertion for Frame::loader() that now returns a reference.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154164 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Unreviewed gardening. Correct some test expectations that now pass.
bfulgham@apple.com [Fri, 16 Aug 2013 03:59:30 +0000 (03:59 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154163 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119833> Concurrent compilation thread should not trigger WriteB...
mhahnenberg@apple.com [Fri, 16 Aug 2013 03:28:39 +0000 (03:28 +0000)]
<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.

* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.cpp:
(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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154162 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix x86 32bits build after r154158
benjamin@webkit.org [Fri, 16 Aug 2013 03:00:21 +0000 (03:00 +0000)]
Fix x86 32bits build after r154158

* assembler/X86Assembler.h: Add missing #ifdef for the x86_64 instructions.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154161 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Get iOS port off legacy clipboard
darin@apple.com [Fri, 16 Aug 2013 02:50:01 +0000 (02:50 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154160 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBuild fix attempt after r154156.
rniwa@webkit.org [Fri, 16 Aug 2013 02:42:42 +0000 (02:42 +0000)]
Build fix attempt after r154156.

* jit/JITStubs.cpp:
(JSC::cti_vm_handle_exception): encode!

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154159 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[JSC] x86: Use inc and dec when possible
benjamin@webkit.org [Fri, 16 Aug 2013 02:35:31 +0000 (02:35 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154158 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSometimes, the DFG uses a GetById for typed array length accesses despite profiling...
fpizlo@apple.com [Fri, 16 Aug 2013 02:30:37 +0000 (02:30 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154157 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix crash when performing activation tearoff.
mark.lam@apple.com [Fri, 16 Aug 2013 01:47:41 +0000 (01:47 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154156 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] Unreviewed build fix after r154142 and r154144.
ryuan.choi@samsung.com [Fri, 16 Aug 2013 01:43:00 +0000 (01:43 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154155 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Shapes] Add support for shape-outside image values
hmuller@adobe.com [Thu, 15 Aug 2013 23:47:18 +0000 (23:47 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154152 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119858> AX: Crash: com.apple.WebKit.WebContent at com.apple...
cfleizach@apple.com [Thu, 15 Aug 2013 23:40:06 +0000 (23:40 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154151 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRevert that. The test had been fixed in r154148.
rniwa@webkit.org [Thu, 15 Aug 2013 23:30:26 +0000 (23:30 +0000)]
Revert that. The test had been fixed in r154148.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154150 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119873> REGRESSION(r154057): platform/mac/accessibility/role...
rniwa@webkit.org [Thu, 15 Aug 2013 23:28:03 +0000 (23:28 +0000)]
<https://webkit.org/b/119873> REGRESSION(r154057): platform/mac/accessibility/role-subrole-roledescription.html fails

Add a test expectation.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154149 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAX: platform/mac/accessibility/role-subrole-roledescription.html is failing
commit-queue@webkit.org [Thu, 15 Aug 2013 23:19:13 +0000 (23:19 +0000)]
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@apple.com> on 2013-08-15
Reviewed by Chris Fleizach.

* platform/mac/accessibility/role-subrole-roledescription-expected.txt:
* platform/mac/accessibility/role-subrole-roledescription.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154148 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119871> Flash of garbage pixels when playing a show on Hulu
simon.fraser@apple.com [Thu, 15 Aug 2013 23:15:06 +0000 (23:15 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154147 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago../WebCore: [Windows] Consolidate WebKit Bundle Handling
bfulgham@apple.com [Thu, 15 Aug 2013 22:45:01 +0000 (22:45 +0000)]
../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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154146 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agorefCount() of a StringImpl could be zero if it's static; in that case we shouldn...
fpizlo@apple.com [Thu, 15 Aug 2013 22:27:53 +0000 (22:27 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154145 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago [WK2] NetworkProcess should use a temporary storage session for test
ap@apple.com [Thu, 15 Aug 2013 22:25:33 +0000 (22:25 +0000)]
    [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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154144 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove some code duplication.
fpizlo@apple.com [Thu, 15 Aug 2013 22:23:11 +0000 (22:23 +0000)]
Remove some code duplication.

Rubber stamped by Mark Hahnenberg.

* runtime/JSDataViewPrototype.cpp:
(JSC::getData):
(JSC::setData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119859> Frame::loader() should return a reference
andersca@apple.com [Thu, 15 Aug 2013 22:17:17 +0000 (22:17 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[DFG] isDouble() and isNumerical() should return true with KnownNumberUse UseKind.
commit-queue@webkit.org [Thu, 15 Aug 2013 22:12:10 +0000 (22:12 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154141 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119863> [iOS] Upstream WebCore/editing/ios
dbates@webkit.org [Thu, 15 Aug 2013 22:08:17 +0000 (22:08 +0000)]
<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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agohttp://trac.webkit.org/changeset/154120 accidentally changed DFGCapabilities to read...
fpizlo@apple.com [Thu, 15 Aug 2013 21:54:01 +0000 (21:54 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154139 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Unreviewed build fix after r154127.
bfulgham@apple.com [Thu, 15 Aug 2013 21:46:30 +0000 (21:46 +0000)]
[Windows] Unreviewed build fix after r154127.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove two symbols that are
now part of JavaScriptCore.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154138 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Unreviewed build fix after r15417.
bfulgham@apple.com [Thu, 15 Aug 2013 21:43:51 +0000 (21:43 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154137 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Clear up improper export declaration.
bfulgham@apple.com [Thu, 15 Aug 2013 21:38:25 +0000 (21:38 +0000)]
[Windows] Clear up improper export declaration.

* runtime/ArrayBufferView.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154136 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove a test that times out.
fpizlo@apple.com [Thu, 15 Aug 2013 21:33:45 +0000 (21:33 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154135 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119863> [iOS] Upstream WebCore/editing/ios
dbates@webkit.org [Thu, 15 Aug 2013 21:33:11 +0000 (21:33 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154134 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoImplement CSS Image filter() function
krit@webkit.org [Thu, 15 Aug 2013 21:29:26 +0000 (21:29 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154133 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSource/JavaScriptCore: Unreviewed, remove some unnecessary periods from exceptions.
fpizlo@apple.com [Thu, 15 Aug 2013 21:27:27 +0000 (21:27 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154132 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, fix bindings tests after http://trac.webkit.org/changeset/154127
fpizlo@apple.com [Thu, 15 Aug 2013 21:12:13 +0000 (21:12 +0000)]
Unreviewed, fix bindings tests after 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154131 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed GTK build fix after r154106.
zandobersek@gmail.com [Thu, 15 Aug 2013 21:11:50 +0000 (21:11 +0000)]
Unreviewed GTK build fix after r154106.

* Source/autotools/symbols.filter: Export the proper Element::shadowRoot() symbol.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154130 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, fix 32-bit build.
fpizlo@apple.com [Thu, 15 Aug 2013 21:00:58 +0000 (21:00 +0000)]
Unreviewed, fix 32-bit build.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154129 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoQt minimum build fix after r154116.
rniwa@webkit.org [Thu, 15 Aug 2013 20:54:59 +0000 (20:54 +0000)]
Qt minimum build fix after r154116.

* page/FrameView.cpp:
(WebCore::FrameView::sendResizeEventIfNeeded):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154128 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTyped arrays should be rewritten
fpizlo@apple.com [Thu, 15 Aug 2013 20:43:06 +0000 (20:43 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154127 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119850> Speed up test importing by doing all the regex matching...
bjonesbe@adobe.com [Thu, 15 Aug 2013 20:26:35 +0000 (20:26 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154126 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119824> AX: WKView does not become first responder when the...
cfleizach@apple.com [Thu, 15 Aug 2013 20:00:08 +0000 (20:00 +0000)]
<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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154123 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119826> Page::focusController() should return a reference.
akling@apple.com [Thu, 15 Aug 2013 19:59:05 +0000 (19:59 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154122 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoASSERTION FAILED: !m_adoptionIsRequired in void WebCore::TreeShared<NodeType>::ref()
rwlbuis@webkit.org [Thu, 15 Aug 2013 19:52:53 +0000 (19:52 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154121 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119830> Assigning to a readonly global results in DFG byte...
oliver@apple.com [Thu, 15 Aug 2013 19:44:16 +0000 (19:44 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154120 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Incorrect DLL Linkage for JSC ArrayBuffer and ArrayBufferView
bfulgham@apple.com [Thu, 15 Aug 2013 19:29:47 +0000 (19:29 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154119 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Build correctsion after r154106
bfulgham@apple.com [Thu, 15 Aug 2013 19:25:13 +0000 (19:25 +0000)]
[Windows] Build correctsion after r154106

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add missing symbol export.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154118 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119856> Improve extract-localizable-strings messages
mitz@apple.com [Thu, 15 Aug 2013 19:19:45 +0000 (19:19 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154117 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFrameView should have an isMainFrameView()
timothy_horton@apple.com [Thu, 15 Aug 2013 19:08:48 +0000 (19:08 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154116 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119853> REGRESSION (r139343): WebKit crashes when canceling...
aestes@apple.com [Thu, 15 Aug 2013 19:05:04 +0000 (19:05 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154115 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119854> REGRESSION (r153379): Serious drawing issues with WebViews
andersca@apple.com [Thu, 15 Aug 2013 18:50:48 +0000 (18:50 +0000)]
<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:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154114 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=119843
barraclough@apple.com [Thu, 15 Aug 2013 18:49:05 +0000 (18:49 +0000)]
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)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154113 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac] Remove "legacy" media UI
eric.carlson@apple.com [Thu, 15 Aug 2013 18:48:27 +0000 (18:48 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154112 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago Adding Myles Maxfield to contributors.json.
ap@apple.com [Thu, 15 Aug 2013 18:09:32 +0000 (18:09 +0000)]
    Adding Myles Maxfield to contributors.json.

        Oops, wrong section, fixing.

        * Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154111 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago Adding Myles Maxfield to contributors.json.
ap@apple.com [Thu, 15 Aug 2013 18:07:40 +0000 (18:07 +0000)]
    Adding Myles Maxfield to contributors.json.

        * Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154110 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoANGLE doesn't build with bison 3.0
allan.jensen@digia.com [Thu, 15 Aug 2013 17:59:40 +0000 (17:59 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154109 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove bogus assertion.
oliver@apple.com [Thu, 15 Aug 2013 17:23:39 +0000 (17:23 +0000)]
Remove bogus assertion.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154108 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Qt] Do not check specifically for version 5.0
allan.jensen@digia.com [Thu, 15 Aug 2013 16:53:20 +0000 (16:53 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154107 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119834> Remove ElementShadow
antti@apple.com [Thu, 15 Aug 2013 16:52:40 +0000 (16:52 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154106 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Unreviewed gardening. Move Mac specific expectation for
mario@webkit.org [Thu, 15 Aug 2013 16:49:59 +0000 (16:49 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154105 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Qt] memory leak in WebCore::FontCache::getLastResortFallbackFont
allan.jensen@digia.com [Thu, 15 Aug 2013 16:24:00 +0000 (16:24 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154103 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Correct build after r154088
bfulgham@apple.com [Thu, 15 Aug 2013 16:14:03 +0000 (16:14 +0000)]
[Windows] Correct build after r154088

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove unused
(and now renamed) export symbols.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154102 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoEmpty qt-5.0 expectations into qt expectations
allan.jensen@digia.com [Thu, 15 Aug 2013 16:07:50 +0000 (16:07 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154101 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Unreviewed gardening. Update test expectations.
simon.pena@samsung.com [Thu, 15 Aug 2013 15:31:50 +0000 (15:31 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154100 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoASSERTION FAILED: !m_adoptionIsRequired in void WebCore::TreeShared<NodeType>::ref()
rwlbuis@webkit.org [Thu, 15 Aug 2013 15:02:11 +0000 (15:02 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154099 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119584> [Gtk] URL printing code in DumpRenderTree doesn't match...
simon.pena@samsung.com [Thu, 15 Aug 2013 13:15:36 +0000 (13:15 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154098 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Unreviewed gardening. Skip failing test.
simon.pena@samsung.com [Thu, 15 Aug 2013 13:06:23 +0000 (13:06 +0000)]
[GTK] Unreviewed gardening. Skip failing test.

* platform/gtk-wk1/TestExpectations:
http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html
is failing.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154097 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Qt] fast/canvas/canvas-blending-transforms.html test fails on x32 after r153941.
allan.jensen@digia.com [Thu, 15 Aug 2013 11:37:15 +0000 (11:37 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154096 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(r148790) Made 7 tests fail on x86 32bit
allan.jensen@digia.com [Thu, 15 Aug 2013 11:28:55 +0000 (11:28 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154095 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Unreviewed gardening. Rebaseline after r154057.
simon.pena@samsung.com [Thu, 15 Aug 2013 10:35:37 +0000 (10:35 +0000)]
[GTK] Unreviewed gardening. Rebaseline after r154057.

* platform/gtk/fast/js/dom-static-property-for-in-iteration-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154094 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] Unreviwed gardening.
ryuan.choi@samsung.com [Thu, 15 Aug 2013 10:31:08 +0000 (10:31 +0000)]
[EFL] Unreviwed gardening.

Skipped some failures.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
* platform/efl/fast/forms/datalist/input-list-expected.txt: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154093 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Unreviewed gardening. Rebaseline after r154072.
simon.pena@samsung.com [Thu, 15 Aug 2013 10:29:02 +0000 (10:29 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154092 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Qt] Unreviwed gardening. Rebase fast tests after r154072.
kadam@inf.u-szeged.hu [Thu, 15 Aug 2013 09:02:51 +0000 (09:02 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154091 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDon't copy js-test-pre in cookies-test-pre
ap@apple.com [Thu, 15 Aug 2013 06:12:53 +0000 (06:12 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154090 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119786> [EFL] decoration of search type is different from other...
ryuan.choi@samsung.com [Thu, 15 Aug 2013 05:14:04 +0000 (05:14 +0000)]
<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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154089 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS] Introduce new structure to pass image orientation values.
gyuyoung.kim@samsung.com [Thu, 15 Aug 2013 04:46:27 +0000 (04:46 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154088 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate binding test results. Follow up fix for <https://webkit.org/b/119664>
weinig@apple.com [Thu, 15 Aug 2013 00:53:02 +0000 (00:53 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154087 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119810> [Mac] No AutoreleasePool leaks when dragging image...
joepeck@webkit.org [Thu, 15 Aug 2013 00:45:01 +0000 (00:45 +0000)]
<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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154086 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119827> Allow primary plug-in detection to run more than once...
dino@apple.com [Thu, 15 Aug 2013 00:43:19 +0000 (00:43 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154085 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUn-inline dataLog dumpers for IntSize and IntPoint
timothy_horton@apple.com [Thu, 15 Aug 2013 00:25:49 +0000 (00:25 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119824> AX: WKView does not become first responder when the...
cfleizach@apple.com [Thu, 15 Aug 2013 00:00:08 +0000 (00:00 +0000)]
<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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154083 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119817> AX: Integrate layout tests from overflow bounding boxes...
cfleizach@apple.com [Wed, 14 Aug 2013 23:59:01 +0000 (23:59 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154082 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Exclusions] Minimal support for using an image to define a shape
hmuller@adobe.com [Wed, 14 Aug 2013 23:24:45 +0000 (23:24 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemotely hosted plugins don’t work in window-server-hosted WebKit1 views
timothy_horton@apple.com [Wed, 14 Aug 2013 23:03:23 +0000 (23:03 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/119820> Add pluginView-related logging to WebPage
dino@apple.com [Wed, 14 Aug 2013 22:49:47 +0000 (22:49 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154077 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Unreviewed build gardening.
bfulgham@apple.com [Wed, 14 Aug 2013 22:10:28 +0000 (22:10 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154076 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFixed jit on Win64.
msaboff@apple.com [Wed, 14 Aug 2013 21:49:45 +0000 (21:49 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154075 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFlakiness dashboard build fix.
rniwa@webkit.org [Wed, 14 Aug 2013 21:44:55 +0000 (21:44 +0000)]
Flakiness dashboard build fix.

* TestResultServer/static-dashboards/flakiness_dashboard.js:
(processTestRunsForBuilder):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154074 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WK2] Sync messages with with non-default timeout sent from secondary threads always...
ap@apple.com [Wed, 14 Aug 2013 21:36:41 +0000 (21:36 +0000)]
[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().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154073 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Regions] RenderRegions should have a RenderLayer+Backing when they contain a...
achicu@adobe.com [Wed, 14 Aug 2013 21:36:05 +0000 (21:36 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154072 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] [CMake] Add support for building TestWebKitAPI
mrobinson@webkit.org [Wed, 14 Aug 2013 21:00:39 +0000 (21:00 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154071 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Simplify Setting WebKit Debugging Options in WinLauncher
bfulgham@apple.com [Wed, 14 Aug 2013 20:43:16 +0000 (20:43 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154070 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFinish making FloatingObject a real class with private members
bjonesbe@adobe.com [Wed, 14 Aug 2013 20:30:14 +0000 (20:30 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154069 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed build fix for Win64 after r153943.
achristensen@apple.com [Wed, 14 Aug 2013 20:23:33 +0000 (20:23 +0000)]
Unreviewed build fix for Win64 after r153943.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Added 64-bit linker symbol for frameOrientationAtIndex.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154068 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION (r153877): Plugin scanning slows creation of WebViews
timothy_horton@apple.com [Wed, 14 Aug 2013 20:21:05 +0000 (20:21 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154067 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCompile fix for Win64 with jit disabled.
achristensen@apple.com [Wed, 14 Aug 2013 20:16:49 +0000 (20:16 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154066 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<http://webkit.org/b/119520> REGRESSION(154062): fast/repaint/caret-jump-between...
akling@apple.com [Wed, 14 Aug 2013 19:51:36 +0000 (19:51 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154065 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAssertion failure in RenderObject::drawLineForBoxSide
rwlbuis@webkit.org [Wed, 14 Aug 2013 19:14:00 +0000 (19:14 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154064 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(r153815): fast/repaint/caret-jump-between-nodes.html sucks.
akling@apple.com [Wed, 14 Aug 2013 18:51:19 +0000 (18:51 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154062 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd a hyperlink from build.webkit.org to the flakiness dashboard.
rniwa@webkit.org [Wed, 14 Aug 2013 18:42:21 +0000 (18:42 +0000)]
Add a hyperlink from build.webkit.org to the flakiness dashboard.

Rubbers-tamped by Simon Fraser.

* BuildSlaveSupport/build.webkit.org-config/templates/root.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154061 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAX: Headings not longer have an AXTitle if they have a link as the only child
cfleizach@apple.com [Wed, 14 Aug 2013 17:44:11 +0000 (17:44 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154058 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove id attribute to parent Element interface
ch.dumez@sisa.samsung.com [Wed, 14 Aug 2013 17:41:57 +0000 (17:41 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154057 268f45cc-cd09-0410-ab3c-d52691b4dbfc