WebKit-https.git
6 years agoRemove FTL::LowerDFGToLLVM::compileJSConstant()
fpizlo@apple.com [Tue, 5 Nov 2013 21:03:17 +0000 (21:03 +0000)]
Remove FTL::LowerDFGToLLVM::compileJSConstant()
https://bugs.webkit.org/show_bug.cgi?id=123817

Reviewed by Geoffrey Garen.

* ftl/FTLLowerDFGToLLVM.cpp:

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

6 years agoImplement more NSCoder methods
andersca@apple.com [Tue, 5 Nov 2013 20:56:57 +0000 (20:56 +0000)]
Implement more NSCoder methods
https://bugs.webkit.org/show_bug.cgi?id=123815

Reviewed by Dan Bernstein.

Source/WebKit2:

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeObject):
Assert that object is not nil.

(createEncodedObject):
Handle nil objects.

(-[WKRemoteObjectEncoder encodeValueOfObjCType:at:]):
Call the right object stream encoding function based on the object type.

(-[WKRemoteObjectEncoder encodeBool:forKey:]):
(-[WKRemoteObjectEncoder encodeInt64:forKey:]):
(-[WKRemoteObjectEncoder encodeDouble:forKey:]):
Create APIObjects and add them to the current dictionary.

Tools:

Add a method that takes an NSArray, an NSDictionary and an NSURLRequest.

* TestWebKitAPI/Tests/WebKit2ObjC/WKRemoteObjectRegistry.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/WKRemoteObjectRegistry_Bundle.mm:
(-[BundleObject testMethodWithArray:dictionary:request:]):
* TestWebKitAPI/Tests/mac/WKRemoteObjectRegistry_Shared.h:

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

6 years agoEncode the class name
andersca@apple.com [Tue, 5 Nov 2013 19:34:50 +0000 (19:34 +0000)]
Encode the class name
https://bugs.webkit.org/show_bug.cgi?id=123813

Reviewed by Dan Bernstein.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeObject):
Get the Class using -[NSObject classForCoder] and encode its name in the object dictionary.

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

6 years agoClean up the WKRemoteObjectEncoder code
andersca@apple.com [Tue, 5 Nov 2013 19:24:38 +0000 (19:24 +0000)]
Clean up the WKRemoteObjectEncoder code
https://bugs.webkit.org/show_bug.cgi?id=123811

Reviewed by Dan Bernstein.

Add a new object stream array to be used for the non-keyed encoding values
and free functions for encoding values to the object stream. Simplify object encoding
by moving the dictionary creation out into a separate function and ditching the block based methods.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(ensureObjectStream):
Add helper function to create an object stream.

(encodeToObjectStream):
Add overloads for encoding values into the object streams.

(encodeInvocation):
Add helper function for encoding an NSInvocation.

(encodeObject):
Call encodeInvocation if needed, otherwise just use encodeWithCoder:.

(createEncodedObject):
Helper function that sets up a dictionary, encodes the object into the dictionary and then returns the dictionary.

(-[WKRemoteObjectEncoder encodeObject:forKey:]):
Call createEncodedObject.

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

6 years agoASSERTION FAILED: isHTMLTitleElement(m_titleElement.get()) in WebCore::Document:...
reni@webkit.org [Tue, 5 Nov 2013 19:16:38 +0000 (19:16 +0000)]
ASSERTION FAILED: isHTMLTitleElement(m_titleElement.get()) in WebCore::Document::setTitle
https://bugs.webkit.org/show_bug.cgi?id=122092

Reviewed by Darin Adler.

Source/WebCore:

Remove a bogus assert in Document::setTitle().
m_titleElement can be either of HTMLTitleElement or SVGTitleElement. The assertion was wrong.

Backported from Blink:
https://src.chromium.org/viewvc/blink?revision=158620&view=revision

Test: svg/custom/title-assertion.html

* dom/Document.cpp:
(WebCore::Document::setTitle):
* svg/SVGTitleElement.cpp:
(WebCore::SVGTitleElement::insertedInto):

LayoutTests:

* svg/custom/title-assertion-expected.txt: Added.
* svg/custom/title-assertion.html: Added.

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

6 years agoFTL should support PutById
fpizlo@apple.com [Tue, 5 Nov 2013 18:56:06 +0000 (18:56 +0000)]
FTL should support PutById
https://bugs.webkit.org/show_bug.cgi?id=123784

Reviewed by Geoffrey Garen.

* ftl/FTLAbbreviations.h:
(JSC::FTL::buildCall):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLCompile.cpp:
(JSC::FTL::generateICFastPath):
(JSC::FTL::fixFunctionBasedOnStackMaps):
* ftl/FTLInlineCacheDescriptor.h:
(JSC::FTL::InlineCacheDescriptor::InlineCacheDescriptor):
(JSC::FTL::GetByIdDescriptor::GetByIdDescriptor):
(JSC::FTL::PutByIdDescriptor::PutByIdDescriptor):
(JSC::FTL::PutByIdDescriptor::ecmaMode):
(JSC::FTL::PutByIdDescriptor::putKind):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compilePutById):
* ftl/FTLOutput.h:
(JSC::FTL::Output::call):
* ftl/FTLSlowPathCall.cpp:
(JSC::FTL::callOperation):
* ftl/FTLSlowPathCall.h:
* ftl/FTLState.h:
* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArguments):
* runtime/Executable.h:
(JSC::ScriptExecutable::ecmaMode):

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

6 years agoGetById->GetByOffset and PutById->PutByOffset folding should mark haveStructures...
fpizlo@apple.com [Tue, 5 Nov 2013 18:53:04 +0000 (18:53 +0000)]
GetById->GetByOffset and PutById->PutByOffset folding should mark haveStructures since it may result in structure transition watchpoints
https://bugs.webkit.org/show_bug.cgi?id=123788

Reviewed by Geoffrey Garen.

haveStructures is true if there are any currentlyKnownStructures that have
interesting values, since that's the only time when clobbering needs to do things.
It's a really important compile-time optimization. But that also means that anytime
we might cause currentlyKnownStructures to get set - like when we might insert some
structure transition watchpoints - we need to set haveStructures. We were forgetting
to do that for GetById->GetByOffset and PutById->PutByOffset because, I guess, we
forgot that those might insert structure transition watchpoints.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):

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

6 years agoUpdate ReducedFTL
fpizlo@apple.com [Tue, 5 Nov 2013 18:50:22 +0000 (18:50 +0000)]
Update ReducedFTL
https://bugs.webkit.org/show_bug.cgi?id=123805

Reviewed by Sam Weinig.

- Make ReducedFTL build with debug info.

- Give ReducedFTL a --loop mode that runs everything in a loop. Great for finding
  memory leaks and attaching a profiler.

- Reorder the passes so that they match the FTL.

- Make it possible to change the backend opt level and enable the fast isel.

* ReducedFTL/ReducedFTL.c:
(usage):
(roundUpSize):
(mmAllocateCodeSection):
(main):
* ReducedFTL/build.sh:

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

6 years ago[MathML] Poor spacing around delimiters in MathML Torture Test 14
mrobinson@webkit.org [Tue, 5 Nov 2013 18:06:05 +0000 (18:06 +0000)]
[MathML] Poor spacing around delimiters in MathML Torture Test 14
https://bugs.webkit.org/show_bug.cgi?id=122837

Reviewed by Brent Fulgham.

Instead of stretching the vertical bar with the stretchable version, just repeat
the normal vertical bar. This follows what Gecko does when rendering tall vertical
bars and also works around an issue with STIX fonts leading to poor spacing in
formulas.

Source/WebCore:

* rendering/mathml/RenderMathMLOperator.cpp: Stretch the vertical bar with the
normal variant.

LayoutTests:

* mathml/presentation/mo-stretch.html: Reworked this test to show
stretching of all stretchable characters, which reveals a bug with
the double vertical bar (covered by http://wkbug.com/123543).
* platform/gtk/TestExpectations:
* platform/gtk/mathml/presentation/mo-stretch-expected.png:
* platform/gtk/mathml/presentation/mo-stretch-expected.txt:
* platform/mac/mathml/presentation/mo-stretch-expected.png:
* platform/mac/mathml/presentation/mo-stretch-expected.txt:

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

6 years ago[mips] Make regTx registers match between JSInterfaceJIT and GPRInfo.
commit-queue@webkit.org [Tue, 5 Nov 2013 18:05:56 +0000 (18:05 +0000)]
[mips] Make regTx registers match between JSInterfaceJIT and GPRInfo.
https://bugs.webkit.org/show_bug.cgi?id=123807

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-05
Reviewed by Mark Lam.

* jit/GPRInfo.h:
(JSC::GPRInfo::toIndex):
* jit/JSInterfaceJIT.h:

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

6 years agoXSSAuditor should catch reflected srcdoc properties even without a <frame> tag injection
dbates@webkit.org [Tue, 5 Nov 2013 18:02:18 +0000 (18:02 +0000)]
XSSAuditor should catch reflected srcdoc properties even without a <frame> tag injection

From Blink r160615 by <tsepez@chromium.org>
https://src.chromium.org/viewvc/blink?view=rev&revision=160615

Source/WebCore:

Test: http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html

* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::filterIframeToken):

LayoutTests:

* http/tests/security/xssAuditor/iframe-srcdoc-property-blocked-expected.txt: Added.
* http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html: Added.
* http/tests/security/xssAuditor/resources/echo-frame-src.pl: Added.

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

6 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Tue, 5 Nov 2013 16:23:33 +0000 (16:23 +0000)]
Unreviewed EFL gardening

Add baselines for tests marked as missing.

* platform/efl-wk1/TestExpectations:
* platform/efl/css3/masking/mask-luminance-png-expected.txt: Added.
* platform/efl/fast/css/color-correction-untagged-images-expected.png: Added.
* platform/efl/fast/css/color-correction-untagged-images-expected.txt: Added.
* platform/efl/fast/regions/iframe-html-collected-expected.txt: Added.
* platform/efl/fast/repaint/hover-pseudo-borders-expected.png: Added.
* platform/efl/fast/repaint/hover-pseudo-borders-expected.txt: Added.

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

6 years agoAX: switch DRT AX methods to use nullptr
cfleizach@apple.com [Tue, 5 Nov 2013 16:16:55 +0000 (16:16 +0000)]
AX: switch DRT AX methods to use nullptr
https://bugs.webkit.org/show_bug.cgi?id=123773

Reviewed by Andreas Kling.

Switch AX related code in DRT and WKTR to use nullptr.

* DumpRenderTree/AccessibilityUIElement.cpp:
(AccessibilityUIElement::startTextMarker):
(AccessibilityUIElement::endTextMarker):
* DumpRenderTree/mac/AccessibilityControllerMac.mm:
(findAccessibleObjectById):
(AccessibilityController::accessibleElementById):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::getChildAtIndex):
(AccessibilityUIElement::linkedUIElementAtIndex):
(AccessibilityUIElement::ariaOwnsElementAtIndex):
(AccessibilityUIElement::ariaFlowToElementAtIndex):
(AccessibilityUIElement::disclosedRowAtIndex):
(AccessibilityUIElement::selectedChildAtIndex):
(AccessibilityUIElement::selectedRowAtIndex):
(AccessibilityUIElement::rowAtIndex):
(AccessibilityUIElement::titleUIElement):
(AccessibilityUIElement::parentElement):
(AccessibilityUIElement::disclosedByRow):
(AccessibilityUIElement::stringAttributeValue):
(AccessibilityUIElement::uiElementAttributeValue):
(AccessibilityUIElement::role):
(AccessibilityUIElement::subrole):
(AccessibilityUIElement::roleDescription):
(AccessibilityUIElement::title):
(AccessibilityUIElement::description):
(AccessibilityUIElement::orientation):
(AccessibilityUIElement::stringValue):
(AccessibilityUIElement::language):
(AccessibilityUIElement::helpText):
(AccessibilityUIElement::valueDescription):
(AccessibilityUIElement::speak):
(AccessibilityUIElement::classList):
(AccessibilityUIElement::ariaDropEffects):
(AccessibilityUIElement::rangeForLine):
(AccessibilityUIElement::rangeForPosition):
(AccessibilityUIElement::boundsForRange):
(AccessibilityUIElement::stringForRange):
(AccessibilityUIElement::attributedStringForRange):
(AccessibilityUIElement::uiElementForSearchPredicate):
(AccessibilityUIElement::attributesOfColumnHeaders):
(AccessibilityUIElement::attributesOfRowHeaders):
(AccessibilityUIElement::attributesOfColumns):
(AccessibilityUIElement::attributesOfRows):
(AccessibilityUIElement::attributesOfVisibleCells):
(AccessibilityUIElement::attributesOfHeader):
(AccessibilityUIElement::rowIndexRange):
(AccessibilityUIElement::columnIndexRange):
(AccessibilityUIElement::cellForColumnAndRow):
(AccessibilityUIElement::horizontalScrollbar):
(AccessibilityUIElement::verticalScrollbar):
(AccessibilityUIElement::pathDescription):
(AccessibilityUIElement::selectedTextRange):
(AccessibilityUIElement::url):
(AccessibilityUIElement::textMarkerRangeForElement):
(AccessibilityUIElement::textMarkerForIndex):
(AccessibilityUIElement::previousTextMarker):
(AccessibilityUIElement::nextTextMarker):
(AccessibilityUIElement::stringForTextMarkerRange):
(AccessibilityUIElement::textMarkerRangeForMarkers):
(AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(AccessibilityUIElement::endTextMarkerForBounds):
(AccessibilityUIElement::startTextMarkerForBounds):
(AccessibilityUIElement::textMarkerForPoint):
(AccessibilityUIElement::accessibilityElementForTextMarker):
(AccessibilityUIElement::startTextMarker):
(AccessibilityUIElement::endTextMarker):
(AccessibilityUIElement::supportedActions):
(AccessibilityUIElement::mathPostscriptsDescription):
(AccessibilityUIElement::mathPrescriptsDescription):
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::accessibleElementById):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::startTextMarker):
(WTR::AccessibilityUIElement::endTextMarker):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::findAccessibleObjectById):
(WTR::AccessibilityController::accessibleElementById):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::childAtIndex):
(WTR::AccessibilityUIElement::linkedUIElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):
(WTR::AccessibilityUIElement::disclosedRowAtIndex):
(WTR::AccessibilityUIElement::rowAtIndex):
(WTR::AccessibilityUIElement::selectedChildAtIndex):
(WTR::AccessibilityUIElement::selectedRowAtIndex):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::disclosedByRow):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::uiElementAttributeValue):
(WTR::AccessibilityUIElement::role):
(WTR::AccessibilityUIElement::subrole):
(WTR::AccessibilityUIElement::roleDescription):
(WTR::AccessibilityUIElement::title):
(WTR::AccessibilityUIElement::description):
(WTR::AccessibilityUIElement::orientation):
(WTR::AccessibilityUIElement::stringValue):
(WTR::AccessibilityUIElement::language):
(WTR::AccessibilityUIElement::helpText):
(WTR::AccessibilityUIElement::valueDescription):
(WTR::AccessibilityUIElement::classList):
(WTR::AccessibilityUIElement::speak):
(WTR::AccessibilityUIElement::ariaDropEffects):
(WTR::AccessibilityUIElement::rangeForLine):
(WTR::AccessibilityUIElement::rangeForPosition):
(WTR::AccessibilityUIElement::boundsForRange):
(WTR::AccessibilityUIElement::stringForRange):
(WTR::AccessibilityUIElement::attributedStringForRange):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):
(WTR::AccessibilityUIElement::attributesOfColumnHeaders):
(WTR::AccessibilityUIElement::attributesOfRowHeaders):
(WTR::AccessibilityUIElement::attributesOfColumns):
(WTR::AccessibilityUIElement::attributesOfRows):
(WTR::AccessibilityUIElement::attributesOfVisibleCells):
(WTR::AccessibilityUIElement::attributesOfHeader):
(WTR::AccessibilityUIElement::rowIndexRange):
(WTR::AccessibilityUIElement::columnIndexRange):
(WTR::AccessibilityUIElement::cellForColumnAndRow):
(WTR::AccessibilityUIElement::horizontalScrollbar):
(WTR::AccessibilityUIElement::verticalScrollbar):
(WTR::AccessibilityUIElement::selectedTextRange):
(WTR::AccessibilityUIElement::url):
(WTR::AccessibilityUIElement::textMarkerRangeForElement):
(WTR::AccessibilityUIElement::previousTextMarker):
(WTR::AccessibilityUIElement::nextTextMarker):
(WTR::AccessibilityUIElement::stringForTextMarkerRange):
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForBounds):
(WTR::AccessibilityUIElement::startTextMarkerForBounds):
(WTR::AccessibilityUIElement::textMarkerForPoint):
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):
(WTR::AccessibilityUIElement::textMarkerForIndex):
(WTR::AccessibilityUIElement::startTextMarker):
(WTR::AccessibilityUIElement::endTextMarker):
(WTR::AccessibilityUIElement::mathPostscriptsDescription):
(WTR::AccessibilityUIElement::mathPrescriptsDescription):
(WTR::AccessibilityUIElement::pathDescription):
(WTR::AccessibilityUIElement::supportedActions):

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

6 years agoDelete maketokenizer.
commit-queue@webkit.org [Tue, 5 Nov 2013 16:06:20 +0000 (16:06 +0000)]
Delete maketokenizer.
https://bugs.webkit.org/show_bug.cgi?id=115155

Patch by Éva Balázsfalvi <balazsfalvi.eva@stud.u-szeged.hu> on 2013-11-05
Reviewed by Zoltan Herczeg.

This script was used to generate the old flex based CSS tokenizer. It
was replaced by a custom tokenizer in r106217 but the script wasn't
removed. Since there is no mention of it in the original bug nor any
reference to maketokenizer in our build files, it's probably an
oversight.

Merge from blink:
https://chromium.googlesource.com/chromium/blink/+/2a1c8aaf867f707ccdcd8893446e907e2aa2e1c2

* css/maketokenizer: Removed.

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

6 years agoREGRESSION(r158315): Fix register mixup in JIT::compileOpCall.
commit-queue@webkit.org [Tue, 5 Nov 2013 15:34:03 +0000 (15:34 +0000)]
REGRESSION(r158315): Fix register mixup in JIT::compileOpCall.
https://bugs.webkit.org/show_bug.cgi?id=123799

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-05
Reviewed by Mark Lam.

Changeset r158315 is crashing architectures where JSInterfaceJIT::regT3 is
different from GPRInfo::regT3. This is the case for MIPS architecture.

* jit/JITCall32_64.cpp:
(JSC::JIT::compileOpCall):

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

6 years agoRemove leftover Qt related things from WebKitMacros.cmake
commit-queue@webkit.org [Tue, 5 Nov 2013 15:33:20 +0000 (15:33 +0000)]
Remove leftover Qt related things from WebKitMacros.cmake
https://bugs.webkit.org/show_bug.cgi?id=123798

Patch by Éva Balázsfalvi <balazsfalvi.eva@stud.u-szeged.hu> on 2013-11-05
Reviewed by Anders Carlsson.

* Source/cmake/WebKitMacros.cmake:

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

6 years ago[mips] Fix build for MIPS platforms.
commit-queue@webkit.org [Tue, 5 Nov 2013 15:32:27 +0000 (15:32 +0000)]
[mips] Fix build for MIPS platforms.
https://bugs.webkit.org/show_bug.cgi?id=123796

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-05
Reviewed by Michael Saboff.

* assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::linkCode): Add specific MIPS call to relocateJumps.
* assembler/MIPSAssembler.h: Remove executableCopy (because of r157690) and set relocateJumps function public.
(JSC::MIPSAssembler::firstRegister):
(JSC::MIPSAssembler::lastRegister):
(JSC::MIPSAssembler::firstFPRegister):
(JSC::MIPSAssembler::lastFPRegister):
(JSC::MIPSAssembler::buffer): Needed since r157690.
* assembler/MacroAssemblerMIPS.h: Add framePointerRegister.
(JSC::MacroAssemblerMIPS::revertJumpReplacementToPatchableBranchPtrWithPatch): Remove unused parameter warning.

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

6 years agoRemove leftover Qt related things from the flakiness_dashboard
commit-queue@webkit.org [Tue, 5 Nov 2013 15:31:50 +0000 (15:31 +0000)]
Remove leftover Qt related things from the flakiness_dashboard
https://bugs.webkit.org/show_bug.cgi?id=123800

Patch by László Langó <laszlo.lango@frontendart.com> on 2013-11-05
Reviewed by Anders Carlsson.

* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
(test):

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

6 years ago[CSS Regions] Move cssom related tests into fast/regions/cssom
mihnea@adobe.com [Tue, 5 Nov 2013 15:30:10 +0000 (15:30 +0000)]
[CSS Regions] Move cssom related tests into fast/regions/cssom
https://bugs.webkit.org/show_bug.cgi?id=123705

Reviewed by Sam Weinig.

Move tests related to http://dev.w3.org/csswg/css-regions/#cssom_view_and_css_regions into their own folder and adjust paths for resources used in tests.
They test the same functionality: CSSRegions and CSSOM-view.

* fast/regions/cssom/element-region-overset-state-expected.txt: Renamed from LayoutTests/fast/regions/element-region-overset-state-expected.txt.
* fast/regions/cssom/element-region-overset-state-negative-letter-spacing-expected.txt: Renamed from LayoutTests/fast/regions/element-region-overset-state-negative-letter-spacing-expected.txt.
* fast/regions/cssom/element-region-overset-state-negative-letter-spacing.html: Renamed from LayoutTests/fast/regions/element-region-overset-state-negative-letter-spacing.html.
* fast/regions/cssom/element-region-overset-state-vertical-rl-expected.txt: Renamed from LayoutTests/fast/regions/element-region-overset-state-vertical-rl-expected.txt.
* fast/regions/cssom/element-region-overset-state-vertical-rl-negative-letter-spacing-expected.txt: Renamed from LayoutTests/fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing-expected.txt.
* fast/regions/cssom/element-region-overset-state-vertical-rl-negative-letter-spacing.html: Renamed from LayoutTests/fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing.html.
* fast/regions/cssom/element-region-overset-state-vertical-rl.html: Renamed from LayoutTests/fast/regions/element-region-overset-state-vertical-rl.html.
* fast/regions/cssom/element-region-overset-state.html: Renamed from LayoutTests/fast/regions/element-region-overset-state.html.
* fast/regions/cssom/flowed-content-bounding-client-rect-expected.txt: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect-expected.txt.
* fast/regions/cssom/flowed-content-bounding-client-rect-horizontal-bt-expected.txt: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect-horizontal-bt-expected.txt.
* fast/regions/cssom/flowed-content-bounding-client-rect-horizontal-bt.html: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect-horizontal-bt.html.
* fast/regions/cssom/flowed-content-bounding-client-rect-vertical-expected.txt: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect-vertical-expected.txt.
* fast/regions/cssom/flowed-content-bounding-client-rect-vertical-rl-expected.txt: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect-vertical-rl-expected.txt.
* fast/regions/cssom/flowed-content-bounding-client-rect-vertical-rl.html: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect-vertical-rl.html.
* fast/regions/cssom/flowed-content-bounding-client-rect-vertical.html: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect-vertical.html.
* fast/regions/cssom/flowed-content-bounding-client-rect.html: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect.html.
* fast/regions/cssom/flowed-content-transform-bounding-client-rect-expected.txt: Renamed from LayoutTests/fast/regions/flowed-content-transform-bounding-client-rect-expected.txt.
* fast/regions/cssom/flowed-content-transform-bounding-client-rect.html: Renamed from LayoutTests/fast/regions/flowed-content-transform-bounding-client-rect.html.
* fast/regions/cssom/flowed-inline-content-bounding-client-rect-expected.txt: Renamed from LayoutTests/fast/regions/flowed-inline-content-bounding-client-rect-expected.txt.
* fast/regions/cssom/flowed-inline-content-bounding-client-rect.html: Renamed from LayoutTests/fast/regions/flowed-inline-content-bounding-client-rect.html.
* fast/regions/cssom/get-region-flow-ranges-absolute-pos-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-absolute-pos-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-absolute-pos.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-absolute-pos.html.
* fast/regions/cssom/get-region-flow-ranges-content-nodes-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-content-nodes-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-content-nodes.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-content-nodes.html.
* fast/regions/cssom/get-region-flow-ranges-display-none-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-display-none-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-display-none.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-display-none.html.
* fast/regions/cssom/get-region-flow-ranges-empty-regions-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-empty-regions-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-empty-regions.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-empty-regions.html.
* fast/regions/cssom/get-region-flow-ranges-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-fixed-pos-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-fixed-pos-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-fixed-pos.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-fixed-pos.html.
* fast/regions/cssom/get-region-flow-ranges-horiz-bt-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-horiz-bt-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-horiz-bt.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-horiz-bt.html.
* fast/regions/cssom/get-region-flow-ranges-inline-only-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-inline-only-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-inline-only.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-inline-only.html.
* fast/regions/cssom/get-region-flow-ranges-inline-svg-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-inline-svg-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-inline-svg.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-inline-svg.html.
* fast/regions/cssom/get-region-flow-ranges-text-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-text-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-text-vert-lr-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-text-vert-lr-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-text-vert-lr.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-text-vert-lr.html.
* fast/regions/cssom/get-region-flow-ranges-text.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-text.html.
* fast/regions/cssom/get-region-flow-ranges-vert-lr-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-vert-lr-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-vert-lr.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-vert-lr.html.
* fast/regions/cssom/get-region-flow-ranges-vert-rl-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-vert-rl-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-vert-rl.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-vert-rl.html.
* fast/regions/cssom/get-region-flow-ranges-writing-modes-rl-rb-lr-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-writing-modes-rl-rb-lr-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-writing-modes-rl-rb-lr.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-writing-modes-rl-rb-lr.html.
* fast/regions/cssom/get-region-flow-ranges-writing-modes-tb-rl-lr-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-writing-modes-tb-rl-lr-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-writing-modes-tb-rl-lr.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-writing-modes-tb-rl-lr.html.
* fast/regions/cssom/get-region-flow-ranges.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges.html.
* fast/regions/cssom/get-regions-by-content-expected.txt: Renamed from LayoutTests/fast/regions/get-regions-by-content-expected.txt.
* fast/regions/cssom/get-regions-by-content-horiz-bt-expected.txt: Renamed from LayoutTests/fast/regions/get-regions-by-content-horiz-bt-expected.txt.
* fast/regions/cssom/get-regions-by-content-horiz-bt.html: Renamed from LayoutTests/fast/regions/get-regions-by-content-horiz-bt.html.
* fast/regions/cssom/get-regions-by-content-horiz-tb-expected.txt: Renamed from LayoutTests/fast/regions/get-regions-by-content-horiz-tb-expected.txt.
* fast/regions/cssom/get-regions-by-content-horiz-tb.html: Renamed from LayoutTests/fast/regions/get-regions-by-content-horiz-tb.html.
* fast/regions/cssom/get-regions-by-content-pseudo-expected.txt: Renamed from LayoutTests/fast/regions/get-regions-by-content-pseudo-expected.txt.
* fast/regions/cssom/get-regions-by-content-pseudo.html: Renamed from LayoutTests/fast/regions/get-regions-by-content-pseudo.html.
* fast/regions/cssom/get-regions-by-content-vert-lr-expected.txt: Renamed from LayoutTests/fast/regions/get-regions-by-content-vert-lr-expected.txt.
* fast/regions/cssom/get-regions-by-content-vert-lr.html: Renamed from LayoutTests/fast/regions/get-regions-by-content-vert-lr.html.
* fast/regions/cssom/get-regions-by-content-vert-rl-expected.txt: Renamed from LayoutTests/fast/regions/get-regions-by-content-vert-rl-expected.txt.
* fast/regions/cssom/get-regions-by-content-vert-rl.html: Renamed from LayoutTests/fast/regions/get-regions-by-content-vert-rl.html.
* fast/regions/cssom/get-regions-by-content.html: Renamed from LayoutTests/fast/regions/get-regions-by-content.html.
* fast/regions/cssom/get-regions-by-content2-expected.txt: Renamed from LayoutTests/fast/regions/get-regions-by-content2-expected.txt.
* fast/regions/cssom/get-regions-by-content2.html: Renamed from LayoutTests/fast/regions/get-regions-by-content2.html.
* fast/regions/cssom/offsetLeft-offsetTop-in-multiple-regions-expected.txt: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-multiple-regions-expected.txt.
* fast/regions/cssom/offsetLeft-offsetTop-in-multiple-regions.html: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-multiple-regions.html.
* fast/regions/cssom/offsetLeft-offsetTop-in-region-absolute-sticky-fixed-expected.txt: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-region-absolute-sticky-fixed-expected.txt.
* fast/regions/cssom/offsetLeft-offsetTop-in-region-absolute-sticky-fixed.html: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-region-absolute-sticky-fixed.html.
* fast/regions/cssom/offsetLeft-offsetTop-in-region-float-expected.txt: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-region-float-expected.txt.
* fast/regions/cssom/offsetLeft-offsetTop-in-region-float-vert-rl-expected.txt: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-region-float-vert-rl-expected.txt.
* fast/regions/cssom/offsetLeft-offsetTop-in-region-float-vert-rl.html: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-region-float-vert-rl.html.
* fast/regions/cssom/offsetLeft-offsetTop-in-region-float.html: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-region-float.html.
* fast/regions/cssom/offsetLeft-offsetTop-inlines-region-in-element-expected.txt: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-inlines-region-in-element-expected.txt.
* fast/regions/cssom/offsetLeft-offsetTop-inlines-region-in-element.html: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-inlines-region-in-element.html.
* fast/regions/cssom/offsetParent-body-in-flow-thread-expected.txt: Renamed from LayoutTests/fast/regions/offsetParent-body-in-flow-thread-expected.txt.
* fast/regions/cssom/offsetParent-body-in-flow-thread.html: Renamed from LayoutTests/fast/regions/offsetParent-body-in-flow-thread.html.
* fast/regions/cssom/offsetParent-in-flow-thread-expected.txt: Renamed from LayoutTests/fast/regions/offsetParent-in-flow-thread-expected.txt.
* fast/regions/cssom/offsetParent-in-flow-thread.html: Renamed from LayoutTests/fast/regions/offsetParent-in-flow-thread.html.
* fast/regions/cssom/overset-break-expected.txt: Renamed from LayoutTests/fast/regions/overset-break-expected.txt.
* fast/regions/cssom/overset-break-nested-expected.txt: Renamed from LayoutTests/fast/regions/overset-break-nested-expected.txt.
* fast/regions/cssom/overset-break-nested.html: Renamed from LayoutTests/fast/regions/overset-break-nested.html.
* fast/regions/cssom/overset-break-with-sibling-expected.txt: Renamed from LayoutTests/fast/regions/overset-break-with-sibling-expected.txt.
* fast/regions/cssom/overset-break-with-sibling.html: Renamed from LayoutTests/fast/regions/overset-break-with-sibling.html.
* fast/regions/cssom/overset-break.html: Renamed from LayoutTests/fast/regions/overset-break.html.
* fast/regions/cssom/region-range-for-box-crash-expected.txt: Renamed from LayoutTests/fast/regions/region-range-for-box-crash-expected.txt.
* fast/regions/cssom/region-range-for-box-crash.html: Renamed from LayoutTests/fast/regions/region-range-for-box-crash.html.
* fast/regions/cssom/webkit-named-flow-collection-crash-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-collection-crash-expected.txt.
* fast/regions/cssom/webkit-named-flow-collection-crash.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-collection-crash.html.
* fast/regions/cssom/webkit-named-flow-collection-empty-getters-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-collection-empty-getters-expected.txt.
* fast/regions/cssom/webkit-named-flow-collection-empty-getters.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-collection-empty-getters.html.
* fast/regions/cssom/webkit-named-flow-collection-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-collection-expected.txt.
* fast/regions/cssom/webkit-named-flow-collection.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-collection.html.
* fast/regions/cssom/webkit-named-flow-event-add-to-flow-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-add-to-flow-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-add-to-flow.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-add-to-flow.html.
* fast/regions/cssom/webkit-named-flow-event-auto-height-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-auto-height-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-auto-height.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-auto-height.html.
* fast/regions/cssom/webkit-named-flow-event-crash-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-crash-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-crash.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-crash.html.
* fast/regions/cssom/webkit-named-flow-event-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-no-regions-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-no-regions-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-no-regions.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-no-regions.html.
* fast/regions/cssom/webkit-named-flow-event-region-in-flexbox-no-overset-change-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-region-in-flexbox-no-overset-change-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-region-in-flexbox-no-overset-change.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-region-in-flexbox-no-overset-change.html.
* fast/regions/cssom/webkit-named-flow-event-region-in-flexbox-overset-change-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-region-in-flexbox-overset-change-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-region-in-flexbox-overset-change.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-region-in-flexbox-overset-change.html.
* fast/regions/cssom/webkit-named-flow-event-remove-from-dom-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-remove-from-dom-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-remove-from-dom.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-remove-from-dom.html.
* fast/regions/cssom/webkit-named-flow-event-remove-from-flow-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-remove-from-flow-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-remove-from-flow.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-remove-from-flow.html.
* fast/regions/cssom/webkit-named-flow-event-target-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-target-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-target.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-target.html.
* fast/regions/cssom/webkit-named-flow-event-to-null-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-to-null-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-to-null.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-to-null.html.
* fast/regions/cssom/webkit-named-flow-event.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event.html.
* fast/regions/cssom/webkit-named-flow-existing-flow-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-existing-flow-expected.txt.
* fast/regions/cssom/webkit-named-flow-existing-flow.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-existing-flow.html.
* fast/regions/cssom/webkit-named-flow-first-empty-region-index-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-first-empty-region-index-expected.txt.
* fast/regions/cssom/webkit-named-flow-first-empty-region-index.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-first-empty-region-index.html.
* fast/regions/cssom/webkit-named-flow-flow-added-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-flow-added-expected.txt.
* fast/regions/cssom/webkit-named-flow-flow-added.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-flow-added.html.
* fast/regions/cssom/webkit-named-flow-get-content-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-get-content-expected.txt.
* fast/regions/cssom/webkit-named-flow-get-content.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-get-content.html.
* fast/regions/cssom/webkit-named-flow-get-regions-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-get-regions-expected.txt.
* fast/regions/cssom/webkit-named-flow-get-regions-pseudo-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-get-regions-pseudo-expected.txt.
* fast/regions/cssom/webkit-named-flow-get-regions-pseudo.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-get-regions-pseudo.html.
* fast/regions/cssom/webkit-named-flow-get-regions.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-get-regions.html.
* fast/regions/cssom/webkit-named-flow-invalid-name-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-invalid-name-expected.txt.
* fast/regions/cssom/webkit-named-flow-invalid-name.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-invalid-name.html.
* fast/regions/cssom/webkit-named-flow-modified-flow-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-modified-flow-expected.txt.
* fast/regions/cssom/webkit-named-flow-modified-flow.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-modified-flow.html.
* fast/regions/cssom/webkit-named-flow-name-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-name-expected.txt.
* fast/regions/cssom/webkit-named-flow-name.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-name.html.
* fast/regions/cssom/webkit-named-flow-non-existing-flow-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-non-existing-flow-expected.txt.
* fast/regions/cssom/webkit-named-flow-non-existing-flow.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-non-existing-flow.html.
* fast/regions/cssom/webkit-named-flow-overset-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-overset-expected.txt.
* fast/regions/cssom/webkit-named-flow-overset.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-overset.html.
* fast/regions/cssom/webkit-named-flow-removed-flow-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-removed-flow-expected.txt.
* fast/regions/cssom/webkit-named-flow-removed-flow.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-removed-flow.html.
* fast/regions/cssom/webkit-named-flow-same-object-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-same-object-expected.txt.
* fast/regions/cssom/webkit-named-flow-same-object.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-same-object.html.

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

6 years agoUnreviewed. Unbreaking GCC builds.
zandobersek@gmail.com [Tue, 5 Nov 2013 15:25:11 +0000 (15:25 +0000)]
Unreviewed. Unbreaking GCC builds.

* html/HTMLCollection.cpp:
(WebCore::isMatchingElement): This inline function is not a template anymore.

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

6 years agoUnreviewed GTK gardening. Two tests pass after r158575 and r15856.
mario@webkit.org [Tue, 5 Nov 2013 14:50:09 +0000 (14:50 +0000)]
Unreviewed GTK gardening. Two tests pass after r158575 and r15856.

* platform/gtk/TestExpectations: Removed passing tests.

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

6 years agoMake it compile.
antti@apple.com [Tue, 5 Nov 2013 14:35:47 +0000 (14:35 +0000)]
Make it compile.

* dom/LiveNodeList.h:
(WebCore::LiveNodeList::LiveNodeList):
(WebCore::LiveNodeList::~LiveNodeList):
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::adoptDocument):
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::~HTMLCollection):

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

6 years ago[EFL] accessibility/svg-group-element-with-title.html is failing
commit-queue@webkit.org [Tue, 5 Nov 2013 13:40:49 +0000 (13:40 +0000)]
[EFL] accessibility/svg-group-element-with-title.html is failing
https://bugs.webkit.org/show_bug.cgi?id=114151

Patch by Robert Plociennik <r.plociennik@samsung.com> on 2013-11-05
Reviewed by Mario Sanchez Prada.

Tools:

atk_component_ref_accessible_at_point(), utilized in
AccessibilityUIElement::elementAtPoint(), is expected to 'get a reference to the
accessible child, if one exists, at the coordinate point specified' and not
explicitly return self in case of lack of child elements. This contradicts with
expected behavior of elementAtPoint(). Therefore, elementAtPoint() is
changed to return self regardless of coordinates specified, provided no child
element could be retrieved, effectively mimicing the behaviour of equivalent
Mac implementation in accessibilityHitTest().

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::elementAtPoint): Fixed.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::elementAtPoint): Fixed.

LayoutTests:

Removed failure expectation.

* platform/efl/TestExpectations: The test is no longer failing.

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

6 years agoHTMLCollection should not be NodeList
antti@apple.com [Tue, 5 Nov 2013 13:20:49 +0000 (13:20 +0000)]
HTMLCollection should not be NodeList
https://bugs.webkit.org/show_bug.cgi?id=123794

Reviewed by Andreas Kling.

HTMLCollection and NodeList are unrelated types in DOM yet our HTMLCollection inherits NodeList
for code sharing reasons. While some code does get shared the types are sufficiently different
that this results in lots of unnecessary branches, complexity and general awkwardness. Code sharing
can be better achieved by means other than inheritance.

This patch splits HTMLCollection from NodeList by copy-pasting and eliminating resulting redundancies.
Sharing comes later.

* dom/Attr.cpp:
(WebCore::Attr::setValue):
(WebCore::Attr::childrenChanged):
* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::~ClassNodeList):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::childrenChanged):
(WebCore::ContainerNode::getElementsByTagName):
(WebCore::ContainerNode::getElementsByName):
(WebCore::ContainerNode::getElementsByClassName):
(WebCore::ContainerNode::radioNodeList):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::registerNodeList):
(WebCore::Document::unregisterNodeList):
(WebCore::Document::registerCollection):
(WebCore::Document::unregisterCollection):
(WebCore::Document::ensureCachedCollection):

    Add separate functions and map for registering HTMLCollections.

(WebCore::Document::all):
(WebCore::Document::windowNamedItems):
(WebCore::Document::documentNamedItems):
* dom/Document.h:
* dom/Element.cpp:
(WebCore::Element::attributeChanged):
(WebCore::Element::ensureCachedHTMLCollection):
(WebCore::Element::cachedHTMLCollection):
* dom/LiveNodeList.cpp:
(WebCore::LiveNodeList::rootNode):
(WebCore::isMatchingElement):
(WebCore::LiveNodeList::iterateForPreviousElement):
(WebCore::LiveNodeList::itemBefore):
(WebCore::firstMatchingElement):
(WebCore::nextMatchingElement):
(WebCore::traverseMatchingElementsForwardToOffset):
(WebCore::LiveNodeList::traverseLiveNodeListFirstElement):
(WebCore::LiveNodeList::traverseLiveNodeListForwardToOffset):
(WebCore::LiveNodeList::isLastItemCloserThanLastOrCachedItem):
(WebCore::LiveNodeList::isFirstItemCloserThanCachedItem):
(WebCore::LiveNodeList::length):
(WebCore::LiveNodeList::item):
(WebCore::LiveNodeList::elementBeforeOrAfterCachedElement):

    This code used to live in HTMLCollection.cpp. Copy-paste here and remove all branches not needed for NodeLists.

(WebCore::LiveNodeList::invalidateCache):

    NodeLists have no name caches.

* dom/LiveNodeList.h:
(WebCore::LiveNodeList::LiveNodeList):
(WebCore::LiveNodeList::~LiveNodeList):
(WebCore::LiveNodeList::isRootedAtDocument):
(WebCore::LiveNodeList::type):
(WebCore::LiveNodeList::invalidateCache):
(WebCore::LiveNodeList::setCachedElement):

    Merge LiveNodeListBase and LiveNodeList.
    Remove fields and code supporting HTMLCollection.

(WebCore::shouldInvalidateTypeOnAttributeChange):

    Move to global scope. This function is used both HTMLCollections and LiveNodeLists.

* dom/NameNodeList.cpp:
(WebCore::NameNodeList::~NameNodeList):
* dom/NameNodeList.h:
(WebCore::NameNodeList::create):
* dom/Node.cpp:
(WebCore::shouldInvalidateNodeListCachesForAttr):
(WebCore::Document::shouldInvalidateNodeListAndCollectionCaches):
(WebCore::Document::invalidateNodeListAndCollectionCaches):
(WebCore::Node::invalidateNodeListAndCollectionCachesInAncestors):
(WebCore::NodeListsNodeData::invalidateCaches):
* dom/Node.h:
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::addCacheWithAtomicName):
(WebCore::NodeListsNodeData::addCacheWithName):
(WebCore::NodeListsNodeData::addCacheWithQualifiedName):
(WebCore::NodeListsNodeData::addCachedCollection):
(WebCore::NodeListsNodeData::cachedCollection):
(WebCore::NodeListsNodeData::removeCacheWithAtomicName):
(WebCore::NodeListsNodeData::removeCacheWithName):
(WebCore::NodeListsNodeData::removeCachedCollection):
(WebCore::NodeListsNodeData::isEmpty):
(WebCore::NodeListsNodeData::adoptDocument):
(WebCore::NodeListsNodeData::namedCollectionKey):
(WebCore::NodeListsNodeData::namedNodeListKey):
(WebCore::NodeListsNodeData::deleteThisAndUpdateNodeRareDataIfAboutToRemoveLastList):

    Add separate cache for HTMLCollections.

* dom/TagNodeList.cpp:
(WebCore::TagNodeList::TagNodeList):
(WebCore::TagNodeList::~TagNodeList):
* dom/TagNodeList.h:
(WebCore::TagNodeList::create):
(WebCore::HTMLTagNodeList::create):
* html/CollectionType.h:

    Remove NodeList types.

* html/HTMLCollection.cpp:
(WebCore::shouldOnlyIncludeDirectChildren):
(WebCore::rootTypeFromCollectionType):
(WebCore::invalidationTypeExcludingIdAndNameAttributes):
(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::~HTMLCollection):
(WebCore::HTMLCollection::rootNode):
(WebCore::isMatchingElement):
(WebCore::HTMLCollection::iterateForPreviousElement):
(WebCore::HTMLCollection::itemBefore):
(WebCore::firstMatchingElement):
(WebCore::nextMatchingElement):
(WebCore::traverseMatchingElementsForwardToOffset):
(WebCore::HTMLCollection::isLastItemCloserThanLastOrCachedItem):
(WebCore::HTMLCollection::isFirstItemCloserThanCachedItem):
(WebCore::HTMLCollection::setCachedElement):
(WebCore::HTMLCollection::length):
(WebCore::HTMLCollection::item):
(WebCore::HTMLCollection::elementBeforeOrAfterCachedElement):
(WebCore::HTMLCollection::traverseFirstElement):
(WebCore::HTMLCollection::traverseNextElement):
(WebCore::HTMLCollection::traverseForwardToOffset):
(WebCore::HTMLCollection::invalidateCache):
(WebCore::HTMLCollection::invalidateIdNameCacheMaps):
(WebCore::HTMLCollection::namedItem):

    Remove NodeList specific branches and functions.
    LiveNodeListBase functions are now HTMLCollection functions.

* html/HTMLCollection.h:
(WebCore::HTMLCollection::isRootedAtDocument):
(WebCore::HTMLCollection::invalidationType):
(WebCore::HTMLCollection::type):
(WebCore::HTMLCollection::ownerNode):
(WebCore::HTMLCollection::invalidateCache):
(WebCore::HTMLCollection::document):
(WebCore::HTMLCollection::overridesItemAfter):
(WebCore::HTMLCollection::isElementCacheValid):
(WebCore::HTMLCollection::cachedElement):
(WebCore::HTMLCollection::cachedElementOffset):
(WebCore::HTMLCollection::isLengthCacheValid):
(WebCore::HTMLCollection::cachedLength):
(WebCore::HTMLCollection::setLengthCache):
(WebCore::HTMLCollection::setCachedElement):
(WebCore::HTMLCollection::isItemRefElementsCacheValid):
(WebCore::HTMLCollection::setItemRefElementsCacheValid):
(WebCore::HTMLCollection::rootType):
(WebCore::HTMLCollection::hasNameCache):
(WebCore::HTMLCollection::setHasNameCache):

    Copy-paste functions and fields from former LiveNodeListBase.

* html/HTMLNameCollection.cpp:
(WebCore::HTMLNameCollection::~HTMLNameCollection):
* html/LabelableElement.cpp:
(WebCore::LabelableElement::labels):
* html/LabelsNodeList.cpp:
(WebCore::LabelsNodeList::~LabelsNodeList):
* html/LabelsNodeList.h:
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::~RadioNodeList):
* html/RadioNodeList.h:
(WebCore::RadioNodeList::create):

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

6 years ago[GTK] Add stubs for missing symbols in dom bindings
commit-queue@webkit.org [Tue, 5 Nov 2013 13:02:51 +0000 (13:02 +0000)]
[GTK] Add stubs for missing symbols in dom bindings
https://bugs.webkit.org/show_bug.cgi?id=123663

Patch by Emilio Pozuelo Monfort <pochu27@gmail.com> on 2013-11-05
Reviewed by Carlos Garcia Campos.

* bindings/gobject/WebKitDOMCustom.cpp:
(webkit_dom_html_head_element_get_profile):
(webkit_dom_html_head_element_set_profile):
(webkit_dom_processing_instruction_get_data):
(webkit_dom_processing_instruction_set_data):
* bindings/gobject/WebKitDOMCustom.h:
* bindings/gobject/WebKitDOMCustom.symbols:

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

6 years agoMain thread tasks in ThreadableBlobRegistry should use std::unique_ptr
zandobersek@gmail.com [Tue, 5 Nov 2013 10:48:57 +0000 (10:48 +0000)]
Main thread tasks in ThreadableBlobRegistry should use std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=122946

Reviewed by Darin Adler.

The new BlobRegistryContext objects don't have to be adopted into OwnPtr and then have OwnPtr's leaked pointer
passed into the WTF::callOnMainThread call - the pointer to the new heap-allocated object is passed in directly,
with the object ending up being managed by std::unique_ptr in the designated main thread task.

* fileapi/ThreadableBlobRegistry.cpp:
(WebCore::registerBlobURLTask):
(WebCore::ThreadableBlobRegistry::registerBlobURL):
(WebCore::registerBlobURLFromTask):
(WebCore::unregisterBlobURLTask):
(WebCore::ThreadableBlobRegistry::unregisterBlobURL):

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

6 years ago[EFL] Update a test expected result.
commit-queue@webkit.org [Tue, 5 Nov 2013 10:17:32 +0000 (10:17 +0000)]
[EFL] Update a test expected result.
https://bugs.webkit.org/show_bug.cgi?id=123792

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2013-11-05
Reviewed by Gyuyoung Kim.

Need to update some length properties in this expected file.
The test expected reseult is mismatched with return-values of eval() method in LayoutTests/resources/js-test-pre.js.

* platform/efl/js/dom/constructor-length-expected.txt:

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

6 years ago[CSS] Enable css-image-orientation on EFL and GTK ports.
gyuyoung.kim@samsung.com [Tue, 5 Nov 2013 09:39:53 +0000 (09:39 +0000)]
[CSS] Enable css-image-orientation on EFL and GTK ports.
https://bugs.webkit.org/show_bug.cgi?id=123698

Reviewed by Beth Dakin.

Source/WebCore:

r157909 added wrong early return for css-image-orientation. It causes about 20 regressions in layout test
when enabling css-image-orientation. This fixes those wrong implementation as well as enables it on EFL
and GTK ports by default.

Test: fast/css/image-orientation/image-orientation.html

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer):
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::updateSize):

Tools:

r157909 added wrong early return for css-image-orientation. It causes about 20 regressions in layout test
when enabling css-image-orientaiton. This fixes those wrong implementation as well as enables it on EFL
and GTK ports by default.

* Scripts/webkitperl/FeatureList.pm:

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

6 years ago[EFL] accessibility/tabindex-elements-are-accessible.html is failing after r158195
commit-queue@webkit.org [Tue, 5 Nov 2013 09:35:15 +0000 (09:35 +0000)]
[EFL] accessibility/tabindex-elements-are-accessible.html is failing after r158195
https://bugs.webkit.org/show_bug.cgi?id=123741

Unreviewed EFL gardening.

Patch by Artur Moryc <a.moryc@samsung.com> on 2013-11-05

* platform/efl/TestExpectations: adding failing test

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

6 years agoRenderEmbeddedObject shouldn't know about fallback content.
akling@apple.com [Tue, 5 Nov 2013 09:29:50 +0000 (09:29 +0000)]
RenderEmbeddedObject shouldn't know about fallback content.
<https://webkit.org/b/123781>

Stop caching the presence of fallback (DOM) content in a flag on
RenderEmbeddedObject and have SubframeLoader fetch it directly from
HTMLObjectElement instead.

Also made SubframeLoader::requestObject() take the owner element
by reference since we don't support owner-less embedded objects.

Reviewed by Antti Koivisto.

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

6 years ago[GStreamer] Remove NATIVE_FULLSCREEN_VIDEO support
calvaris@igalia.com [Tue, 5 Nov 2013 09:08:15 +0000 (09:08 +0000)]
[GStreamer] Remove NATIVE_FULLSCREEN_VIDEO support
https://bugs.webkit.org/show_bug.cgi?id=123437

Reviewed by Philippe Normand.

Source/WebCore:

Removed some dead code as no GStreamer port is using the native
fullscreen video support.

* GNUmakefile.list.am:
* PlatformEfl.cmake:
* PlatformGTK.cmake: Removed compilation of deleted files.
* platform/graphics/MediaPlayer.h: Removed structures related to
GStreamer and NATIVE_FULLSCREEN_VIDEO.
* platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp: Removed.
* platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.h: Removed.
* platform/graphics/gstreamer/GStreamerGWorld.cpp: Removed.
* platform/graphics/gstreamer/GStreamerGWorld.h: Removed.
* platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Removed
gst/video/video.h include.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::platformMedia):
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
Removed code related to GStreamer and NATIVE_FULLSCREEN_VIDEO.
* platform/graphics/gstreamer/PlatformVideoWindow.h: Removed.
* platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Removed.
* platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Removed.
* platform/graphics/gstreamer/PlatformVideoWindowMac.mm: Removed.
* platform/graphics/gstreamer/PlatformVideoWindowNix.cpp: Removed.
* platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: Removed.
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(webkitVideoSinkRender):
(webkitVideoSinkNew):
* platform/graphics/gstreamer/VideoSinkGStreamer.h: Removed code
related to GStreamer and NATIVE_FULLSCREEN_VIDEO.
* platform/graphics/gtk/FullscreenVideoControllerGtk.cpp: Removed.
* platform/graphics/gtk/FullscreenVideoControllerGtk.h: Removed.

Source/WebCore/platform/gtk/po:

* POTFILES.in: Removed FullscreenVideoControllerGtk.cpp.
* gl.po: Removed appearances of strings of
FullscreenVideoControllerGtk.cpp.

Source/WebKit/efl:

Removed some dead code as no GStreamer port is using the native
fullscreen video support.

* WebCoreSupport/FullscreenVideoControllerEfl.h: Removed.

Source/WebKit/gtk:

Removed some dead code as no GStreamer port is using the native
fullscreen video support.

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::enterFullScreenForElement):
(WebKit::ChromeClient::exitFullScreenForElement):
* WebCoreSupport/ChromeClientGtk.h: Removed code related to
GStreamer and NATIVE_FULLSCREEN_VIDEO.

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

6 years agoRemove RenderWidget::viewCleared().
akling@apple.com [Tue, 5 Nov 2013 08:53:32 +0000 (08:53 +0000)]
Remove RenderWidget::viewCleared().
<https://webkit.org/b/123777>

This was some ancient hand-waving code from the KHTML era.

It was obviously confused (e.g RenderEmbeddedObject trying to handle
iframe owners, even though that setup is impossible.)

Reviewed by Anders Carlsson.

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

6 years agoIDB: Split backend Cursors and Transactions into their own files
beidson@apple.com [Tue, 5 Nov 2013 07:55:59 +0000 (07:55 +0000)]
IDB: Split backend Cursors and Transactions into their own files
https://bugs.webkit.org/show_bug.cgi?id=123789

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests (Rename, no change in behavior).

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBBackingStoreCursorInterface.h:
(WebCore::IDBBackingStoreCursorInterface::~IDBBackingStoreCursorInterface):

* Modules/indexeddb/IDBBackingStoreInterface.h:

* Modules/indexeddb/IDBBackingStoreTransactionInterface.h: Added.
(WebCore::IDBBackingStoreTransactionInterface::~IDBBackingStoreTransactionInterface):

* Modules/indexeddb/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
* Modules/indexeddb/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::create):

* Modules/indexeddb/IDBFactoryBackendInterface.h:

* Modules/indexeddb/IDBIndexWriter.cpp:
(WebCore::IDBIndexWriter::writeIndexKeys):
(WebCore::IDBIndexWriter::verifyIndexKeys):
(WebCore::IDBIndexWriter::addingKeyAllowed):
* Modules/indexeddb/IDBIndexWriter.h:

* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::createCursorBackend):
* Modules/indexeddb/IDBTransactionBackendImpl.h:
* Modules/indexeddb/IDBTransactionBackendInterface.h:

* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::GetOperation::perform):
(WebCore::OpenCursorOperation::perform):
(WebCore::CountOperation::perform):
(WebCore::DeleteRangeOperation::perform):

* Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.cpp: Added.
(WebCore::IDBBackingStoreCursorLevelDB::IDBBackingStoreCursorLevelDB):
(WebCore::IDBBackingStoreCursorLevelDB::firstSeek):
(WebCore::IDBBackingStoreCursorLevelDB::advance):
(WebCore::IDBBackingStoreCursorLevelDB::continueFunction):
(WebCore::IDBBackingStoreCursorLevelDB::haveEnteredRange):
(WebCore::IDBBackingStoreCursorLevelDB::isPastBounds):
* Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h: Added.
(WebCore::IDBBackingStoreCursorLevelDB::~IDBBackingStoreCursorLevelDB):
(WebCore::IDBBackingStoreCursorLevelDB::IDBBackingStoreCursorLevelDB):

* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::compareIndexKeys):
(WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
(WebCore::IDBBackingStoreLevelDB::createObjectStore):
(WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
(WebCore::IDBBackingStoreLevelDB::getRecord):
(WebCore::IDBBackingStoreLevelDB::putRecord):
(WebCore::IDBBackingStoreLevelDB::clearObjectStore):
(WebCore::IDBBackingStoreLevelDB::deleteRecord):
(WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
(WebCore::IDBBackingStoreLevelDB::createIndex):
(WebCore::IDBBackingStoreLevelDB::deleteIndex):
(WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
(WebCore::findGreatestKeyLessThanOrEqual):
(WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
(WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
(WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
(WebCore::ObjectStoreKeyCursorImpl::create):
(WebCore::ObjectStoreKeyCursorImpl::clone):
(WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
(WebCore::ObjectStoreCursorImpl::create):
(WebCore::ObjectStoreCursorImpl::clone):
(WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
(WebCore::objectStoreCursorOptions):
(WebCore::indexCursorOptions):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexCursor):
(WebCore::IDBBackingStoreLevelDB::createBackingStoreTransaction):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:

       * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp: Added.
(WebCore::IDBBackingStoreTransactionLevelDB::IDBBackingStoreTransactionLevelDB):
(WebCore::IDBBackingStoreTransactionLevelDB::begin):
(WebCore::IDBBackingStoreTransactionLevelDB::commit):
(WebCore::IDBBackingStoreTransactionLevelDB::rollback):
* Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:

* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
(WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:

Source/WebKit2:

* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
(WebKit::WebIDBFactoryBackend::createCursorBackend):
* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

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

6 years agointernal-js-tests.yaml/Octane/stress-tests/pdfjs.js.default: ASSERTION FAILED: m_stat...
fpizlo@apple.com [Tue, 5 Nov 2013 07:09:19 +0000 (07:09 +0000)]
internal-js-tests.yaml/Octane/stress-tests/pdfjs.js.default: ASSERTION FAILED: m_state.forNode(child).m_futurePossibleStructure.isSubsetOf(StructureSet(structure)) at DFGConstantFoldingPhase.cpp:249
https://bugs.webkit.org/show_bug.cgi?id=123778

Unreviewed, remove the other such assertion.

* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):

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

6 years agoDumpRenderTree should reset its preferences file on launch
ap@apple.com [Tue, 5 Nov 2013 07:05:59 +0000 (07:05 +0000)]
DumpRenderTree should reset its preferences file on launch
https://bugs.webkit.org/show_bug.cgi?id=29751

Reviewed by Dan Bernstein.

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _retrieveKeyboardUIModeFromPreferences:]):
Further fix reading of AppleKeyboardUIMode - reading it from kCFPreferencesAnyApplication
domain meant that current application's domain was explcitly ignored, and the only
way to override the setting in DRT was through argument domain.

Source/WebKit2:

* UIProcess/mac/WKFullKeyboardAccessWatcher.mm:
(-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
Further fix reading of AppleKeyboardUIMode - reading it from kCFPreferencesAnyApplication
domain meant that current application's domain was explcitly ignored, and the only
way to override the setting in WTR was through argument domain.

Tools:

Using NSArgumentDomain was not a good idea. While it works with NSUserDefaults
and CFPreferencesCopyAppValue family of functions, it doesn't work with
CFPreferencesCopyValue(..., kCFPreferencesCurrentApplication, ...).

So, now we'll just set defaults in the current application.

* DumpRenderTree/mac/DumpRenderTree.mm: (setDefaultsToConsistentValuesForTesting):
- Delete the defaults.
- Removed CFPreferencesSetAppValue calls, as -setValuesForKeysWithDictionary: does the same.
- The comment about [NSUserDefaults standardUserDefaults] indirectly initializing NSApplication was incorrect.

* WebKitTestRunner/mac/main.mm: (setDefaultsToConsistentValuesForTesting):
Switched to -setValuesForKeysWithDictionary for consistency.

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

6 years agoDo not call setFrameRect on Widget unless its boundaries changed.
zalan@apple.com [Tue, 5 Nov 2013 07:04:50 +0000 (07:04 +0000)]
Do not call setFrameRect on Widget unless its boundaries changed.
https://bugs.webkit.org/show_bug.cgi?id=123781

Reviewed by Andreas Kling.

Call Widget:setFrameRect only when the frame's rect actually changes. It also
cleans up the related weak reference code a bit.

Covered by existing tests.

* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::setWidgetGeometry):

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

6 years ago[webcore/html] remove extra header includes from cpp files.
commit-queue@webkit.org [Tue, 5 Nov 2013 06:50:16 +0000 (06:50 +0000)]
[webcore/html] remove extra header includes from cpp files.
https://bugs.webkit.org/show_bug.cgi?id=123740

Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-11-04
Reviewed by Darin Adler.

Removing redundant headers.

* html/BaseDateAndTimeInputType.cpp:
* html/ColorInputType.cpp:
* html/DOMFormData.cpp:
* html/DOMURL.cpp:
* html/DateInputType.cpp:
* html/DateTimeInputType.cpp:
* html/DateTimeLocalInputType.cpp:
* html/FTPDirectoryDocument.cpp:
* html/FileInputType.cpp:
* html/FormController.cpp:
* html/HTMLAnchorElement.cpp:
* html/HTMLAreaElement.cpp:
* html/HTMLCanvasElement.cpp:
* html/HTMLCollection.cpp:
* html/HTMLDetailsElement.cpp:
* html/HTMLDocument.cpp:
* html/HTMLElement.cpp:
* html/HTMLFormControlsCollection.cpp:
* html/HTMLFormElement.cpp:
* html/HTMLImageElement.cpp:
* html/HTMLInputElement.cpp:
* html/HTMLLegendElement.cpp:
* html/HTMLMapElement.cpp:
* html/HTMLMediaElement.cpp:
* html/HTMLOptionElement.cpp:
* html/HTMLOptionsCollection.cpp:
* html/HTMLPlugInImageElement.cpp:
* html/HTMLProgressElement.cpp:
* html/HTMLSummaryElement.cpp:
* html/HTMLTemplateElement.cpp:
* html/HTMLVideoElement.cpp:
* html/HTMLViewSourceDocument.cpp:
* html/MediaController.cpp:
* html/MediaKeyEvent.cpp:
* html/MonthInputType.cpp:
* html/RangeInputType.cpp:
* html/StepRange.cpp:
* html/TextFieldInputType.cpp:
* html/TimeInputType.cpp:
* html/WeekInputType.cpp:
* html/canvas/CanvasRenderingContext.cpp:
* html/canvas/CanvasRenderingContext2D.cpp:
* html/canvas/CanvasStyle.cpp:
* html/canvas/OESVertexArrayObject.cpp:
* html/parser/BackgroundHTMLParser.cpp:
* html/parser/CSSPreloadScanner.cpp:
* html/parser/CompactHTMLToken.cpp:
* html/parser/HTMLConstructionSite.cpp:
* html/parser/HTMLDocumentParser.cpp:
* html/parser/HTMLElementStack.cpp:
* html/parser/HTMLFormattingElementList.cpp:
* html/parser/HTMLMetaCharsetParser.cpp:
* html/parser/HTMLParserIdioms.cpp:
* html/parser/HTMLPreloadScanner.cpp:
* html/parser/HTMLTokenizer.cpp:
* html/parser/HTMLTreeBuilder.cpp:
* html/parser/HTMLTreeBuilderSimulator.cpp:
* html/parser/HTMLViewSourceParser.cpp:
* html/parser/TextDocumentParser.cpp:
* html/parser/XSSAuditor.cpp:
* html/shadow/ContentDistributor.cpp:
* html/shadow/InsertionPoint.cpp:
* html/shadow/MediaControlElements.cpp:
* html/shadow/MediaControlsApple.cpp:
* html/shadow/MediaControlsBlackBerry.cpp:
* html/shadow/MediaControlsGtk.cpp:
* html/shadow/SliderThumbElement.cpp:
* html/track/AudioTrack.cpp:
* html/track/InbandGenericTextTrack.cpp:
* html/track/InbandTextTrack.cpp:
* html/track/InbandWebVTTTextTrack.cpp:
* html/track/TextTrack.cpp:
* html/track/TextTrackCueGeneric.cpp:
* html/track/TextTrackList.cpp:
* html/track/TextTrackRegion.cpp:
* html/track/TrackListBase.cpp:
* html/track/VideoTrack.cpp:
* html/track/WebVTTParser.cpp:

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

6 years agoIDB: deleteDatabase() interface should be asynchronous
beidson@apple.com [Tue, 5 Nov 2013 06:16:47 +0000 (06:16 +0000)]
IDB: deleteDatabase() interface should be asynchronous
https://bugs.webkit.org/show_bug.cgi?id=123787

Reviewed by Tim Horton.

No new tests (No behavior change for a tested port).

deleteDatabase now has no return value, but calls back to a bool function:
* Modules/indexeddb/IDBBackingStoreInterface.h:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::deleteDatabase):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:

Refactor to account for the new async deleteDatabase:
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::deleteDatabase):
(WebCore::IDBDatabaseBackendImpl::deleteDatabaseAsync):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:

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

6 years agoREGRESSION(r158586): plugins/refcount-leaks.html fails
msaboff@apple.com [Tue, 5 Nov 2013 06:06:03 +0000 (06:06 +0000)]
REGRESSION(r158586): plugins/refcount-leaks.html fails
https://bugs.webkit.org/show_bug.cgi?id=123765

Source/JavaScriptCore:

We were leaving a hole of one slot above a new frame when pushing the new frame on
the stack with pushFrame().  This unused slot can contain residual values that will
be marked during GC.

Reviewed by Filip Pizlo.

* interpreter/JSStackInlines.h:
(JSC::JSStack::pushFrame):

LayoutTests:

Reviewed by Filip Pizlo.

Reverted the test expectation changes after fixing the underlying issue.

* TestExpectations:
* platform/wk2/TestExpectations:

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

6 years agoRemote Layer Tree: Make LayerTypeCustom remote-host CALayers from the Web process
timothy_horton@apple.com [Tue, 5 Nov 2013 05:52:45 +0000 (05:52 +0000)]
Remote Layer Tree: Make LayerTypeCustom remote-host CALayers from the Web process
https://bugs.webkit.org/show_bug.cgi?id=123766

Reviewed by Anders Carlsson.

Put each LayerTypeCustom layer into a CAContext, so that we can
host small CALayer trees (for video, plugins, etc.) from the Web process
to the UI process without proxying their (more complex) content.

* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
(WebKit::RemoteLayerTreeTransaction::dump):
Store, encode, and dump the CAContext ID of custom layers.

* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::createLayer):
Create a CALayerHost with the CAContext ID from the Web process.

* WebKit2.xcodeproj/project.pbxproj:
Add PlatformCALayerRemoteCustom.

* WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
(WebKit::GraphicsLayerCARemote::createPlatformCALayer):
Call the newly-added custom-layer constructor.

* WebProcess/WebPage/mac/PlatformCALayerRemote.h:
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::create):
(PlatformCALayerRemote::PlatformCALayerRemote):
Move the call to layerWasCreated() out to ::create(), so that all of
the constructors for this class and all subclasses have completed
before we call it (so that layerWasCreated() can store the context ID
in the created layer properties object).

(WebKit::PlatformCALayerRemote::hostingContextID):
Should never be reached on the base class, only PlatformCALayerRemoteCustom.

* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp: Added.
(PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
(PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
(PlatformCALayerRemoteCustom::hostingContextID):
* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: Added.
Add PlatformCALayerRemoteCustom, which owns a LayerHostingContext
which it will use to share a custom CALayer tree with the UI process.

* WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
Drive-by remove an unnecessary include.

* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::layerWasCreated):
Store the CAContext ID with the layer creation properties so it can
be used to create a CALayerHost upon commit in the UI process.

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

6 years agointernal-js-tests.yaml/Octane/stress-tests/pdfjs.js.default: ASSERTION FAILED: m_stat...
fpizlo@apple.com [Tue, 5 Nov 2013 05:41:41 +0000 (05:41 +0000)]
internal-js-tests.yaml/Octane/stress-tests/pdfjs.js.default: ASSERTION FAILED: m_state.forNode(child).m_futurePossibleStructure.isSubsetOf(StructureSet(structure)) at DFGConstantFoldingPhase.cpp:249
https://bugs.webkit.org/show_bug.cgi?id=123778

Reviewed by Geoffrey Garen.

This assertion was just wrong: ee do an execute() above the assertion. The assertion
is asserting that if we need a watchpoint (i.e. the best proven structure was not the
current structure) then it must be the future possible structure.  But while that may
have been true before execute(), it won't be true after if the PutById was a
transition. Of course, this can only happen in the concurrent JIT in which case the
code would be invalidated anyway since we would only transform the code in a way that
leveraged the lack of a transition if we inserted a watchpoint, in which case we
would realize that the watchpoint had been fired during compilation.

Since this requires concurrent JIT awesomeness, I don't know how to test it.

* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):

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

6 years agoAdd Modules/indexeddb/leveldb to the WebCore.xcodeproj
beidson@apple.com [Tue, 5 Nov 2013 05:41:38 +0000 (05:41 +0000)]
Add Modules/indexeddb/leveldb to the WebCore.xcodeproj

Rubberstamped by Andreas Kling.

This will make hacking on IDB much easier for Mac developers as they won’t have
to constantly add and then subtract the leveldb subdirectory.

The USE(LEVELDB) flag is still disabled so these files won’t actually build by default.

* WebCore.xcodeproj/project.pbxproj:

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

6 years agoDFG CheckArray(String) should just be a Phantom(String:)
fpizlo@apple.com [Tue, 5 Nov 2013 05:39:03 +0000 (05:39 +0000)]
DFG CheckArray(String) should just be a Phantom(String:)
https://bugs.webkit.org/show_bug.cgi?id=123779

Reviewed by Geoffrey Garen.

This should be a speed-up since Phantom(String:) is smart enough to use the string
structure. It should also be a simplification since CheckArray(String) was totally
redundant.

Also FixupPhase was assuming that it may see CheckArray's. That's wrong. It can
create CheckArray's but it won't see them as input since no previous phase can
create them.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::checkArray):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArray):

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

6 years agoRunning FTL tests shouldn't reduce coverage on DFG tests
fpizlo@apple.com [Tue, 5 Nov 2013 05:38:33 +0000 (05:38 +0000)]
Running FTL tests shouldn't reduce coverage on DFG tests
https://bugs.webkit.org/show_bug.cgi?id=123780

Reviewed by Geoffrey Garen.

* Scripts/run-jsc-stress-tests:

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

6 years agoAddress review feedback I forgot to commit in r158641
beidson@apple.com [Tue, 5 Nov 2013 05:20:12 +0000 (05:20 +0000)]
Address review feedback I forgot to commit in r158641

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::processPendingOpenCalls):

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

6 years agoIDB: Make opening/establishing a database asynchronous.
beidson@apple.com [Tue, 5 Nov 2013 05:08:11 +0000 (05:08 +0000)]
IDB: Make opening/establishing a database asynchronous.
https://bugs.webkit.org/show_bug.cgi?id=123775

Reviewed by Andreas Kling.

No new tests (No behavior change for a tested port).

* Modules/indexeddb/IDBBackingStoreInterface.h: Add getOrEstablishIDBDatabaseMetadata with a callback,
  removing getIDBDatabaseMetaData, getObjectStores, and createIDBDatabaseMetaData in the process.

* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::getOrEstablishIDBDatabaseMetadata): Adapted from getIDBDatabaseMetaData,
  implement the asynchronous interface in terms of other LevelDB methods, always calling back synchronously.
(WebCore::IDBBackingStoreLevelDB::createIDBDatabaseMetaData):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::create):
(WebCore::IDBDatabaseBackendImpl::openInternalAsync): Broken off from openInternal.
(WebCore::IDBDatabaseBackendImpl::didOpenInternalAsync): Broken off from openInternal.
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::processPendingOpenCalls): Broken off to allow didOpenInternalAsync
  to perform open callbacks in the failure case.
(WebCore::IDBDatabaseBackendImpl::openConnection): Always queue open connection calls, then immediately processPendingCalls.
(WebCore::IDBDatabaseBackendImpl::openConnectionInternal): Actually perform open connection calls.
* Modules/indexeddb/IDBDatabaseBackendImpl.h:

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

6 years agoBuild fix. Update is_flaky when it's NULL.
rniwa@webkit.org [Tue, 5 Nov 2013 05:04:19 +0000 (05:04 +0000)]
Build fix. Update is_flaky when it's NULL.

* public/include/test-results.php:

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

6 years agoJSON generation on new flakiness dashboard is still too slow
rniwa@webkit.org [Tue, 5 Nov 2013 04:05:50 +0000 (04:05 +0000)]
JSON generation on new flakiness dashboard is still too slow
https://bugs.webkit.org/show_bug.cgi?id=123776

Reviewed by Mark Rowe.

* init-database.sql: Added a constraint that result is unique for each (build, test) pair.

* public/include/test-results.php:
(ResultsJSONGenerator::generate): Don't sort results by latest_revision_time since that's done
in the client side anyway.
(update_flakiness_for_build): Don't update is_flaky flag if it's already set to the right value.

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

6 years agoCTTE: RenderFrameBase's widget is always a FrameView.
akling@apple.com [Tue, 5 Nov 2013 03:31:56 +0000 (03:31 +0000)]
CTTE: RenderFrameBase's widget is always a FrameView.
<https://webkit.org/b/123771>

Delete widget() from RenderFrameBase and supplant a childView()
that returns FrameView*. Strip away unnecessary casts and asserts.

Reviewed by Antti Koivisto.

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

6 years ago[CSS Regions][CSS Shapes] Content in region doesn't respect shape-outside after initi...
zoltan@webkit.org [Tue, 5 Nov 2013 02:34:16 +0000 (02:34 +0000)]
[CSS Regions][CSS Shapes] Content in region doesn't respect shape-outside after initial layout pass
<https://webkit.org/b/114829>

Source/WebCore:

Although we set the size of a shape for shape-outside in RenderBlockFlow::insertFloatingObject based on the
float's size, the actual height of the float is not always resolved at that point. (Look at cases when the shape
has percentage based height or percentage based radius.) ShapeInfo::setShapeSize triggers a layout for 0 height
value, which will be overriden later, when RenderBlockFlow::positionNewFloats sets the actual size of the float (shape).
Thus it doesn't make sense to set the shape's size in insertFloatingObject and run those extra unnecessary layout passes,
since it'll be overriden anyways. I moved the shape size setting logic into RenderBlockFlow::positionNewFloats.

The problem showed up when we had a shape-outside ellipse with percentage based radius, and we inserted the content
with JavaScript into a region flow. The content has been layed out based on the 0 border radius, and relayout hasn't been
triggered when it flew into the flow. This change sets the shape size only when we already have the height of the float,
so the radius(es) can be resolved correctly, thus no unnecessary layout passes will happen and the layout will be correct as well.

Reviewed by David Hyatt.

Test: fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass.html

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::insertFloatingObject): Remove setting the size of the shape.
(WebCore::RenderBlockFlow::positionNewFloats): Set the size of the shape here.

LayoutTests:

Reviewed by David Hyatt.

* fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass.html: Added.

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

6 years agoAX: AXShowMenu doesn't always work.
samuel_white@apple.com [Tue, 5 Nov 2013 02:14:32 +0000 (02:14 +0000)]
AX: AXShowMenu doesn't always work.
https://bugs.webkit.org/show_bug.cgi?id=123649

Reviewed by Chris Fleizach.

No new tests, the change occurs in a code path that forces the context menu to show which
locks up DRT if we try to test it (platform menu is shown). The change itself gives the mouse
event handler a chance to handle our platform mouse event BEFORE the event ends up in the show
context menu machinery. This is necessary because without it, the element will not become
focused. Without focus, accessibility shows different/less menu items than a mouse click. The
end result is that context menus shown via accessibility are consistent with menus shown via click.

* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::showContextMenuAt):

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

6 years agoImplement base64url encoding from RFC 4648
ap@apple.com [Tue, 5 Nov 2013 01:45:36 +0000 (01:45 +0000)]
Implement base64url encoding from RFC 4648
https://bugs.webkit.org/show_bug.cgi?id=123767

Reviewed by Sam Weinig.

No tests yet, will be covered by JWK tests for WebCrypto.

* wtf/text/Base64.cpp:
(WTF::base64EncodeInternal):
(WTF::base64Encode):
(WTF::base64URLEncode):
(WTF::base64DecodeInternal):
(WTF::base64Decode):
(WTF::base64URLDecode):
* wtf/text/Base64.h:
(WTF::base64URLEncode):

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

6 years agoSMIL timers can still fire after the containing document has been torn down
jpfau@apple.com [Tue, 5 Nov 2013 01:45:13 +0000 (01:45 +0000)]
SMIL timers can still fire after the containing document has been torn down
<https://webkit.org/b/123291>

Reviewed by Darin Adler.

Source/WebCore:

Ensure that the timers get paused when the document is preparing to be torn down.

Test: svg/animations/smil-timers-not-disabled-crash.html

* dom/Document.cpp:
(WebCore::Document::dropChildren):
(WebCore::Document::commonTeardown):
(WebCore::Document::prepareForDestruction):
* dom/Document.h:

LayoutTests:

Add a test that triggers the crash; unfortunately it triggers it after
the test is done, causing the next test to time out or crash.

* svg/animations/smil-timers-not-disabled-crash-expected.txt: Added.
* svg/animations/smil-timers-not-disabled-crash.html: Added.

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

6 years agoMove duplicate code in TrackPrivate classes to a common base class
commit-queue@webkit.org [Tue, 5 Nov 2013 01:37:26 +0000 (01:37 +0000)]
Move duplicate code in TrackPrivate classes to a common base class
https://bugs.webkit.org/show_bug.cgi?id=123619

Patch by Brendan Long <b.long@cablelabs.com> on 2013-11-04
Reviewed by Darin Adler.

No new tests because this is just refactoring.

* GNUmakefile.list.am: Add TrackPrivateBase.
* WebCore.vcxproj/WebCore.vcxproj: Same.
* WebCore.vcxproj/WebCore.vcxproj.filters: Same.
* WebCore.xcodeproj/project.pbxproj: Same.
* html/track/AudioTrack.cpp:
(WebCore::AudioTrack::inbandTrackIndex): Renamed audioTrackIndex() to trackIndex().
(WebCore::AudioTrack::labelChanged): First argument is now a TrackPrivateBase*.
(WebCore::AudioTrack::languageChanged): Same.
(WebCore::AudioTrack::willRemove): Same.
* html/track/AudioTrack.h: Update TrackPrivateBaseClient function signatures.
* html/track/InbandTextTrack.cpp:
(WebCore::InbandTextTrack::inbandTrackIndex): Renamed textTrackIndex() to trackIndex().
(WebCore::InbandTextTrack::labelChanged): First argument is now a TrackPrivateBase*.
(WebCore::InbandTextTrack::languageChanged): Same.
(WebCore::InbandTextTrack::willRemove): Same.
* html/track/InbandTextTrack.h: Update TrackPrivateBaseClient function signatures.
* html/track/VideoTrack.cpp:
(WebCore::VideoTrack::inbandTrackIndex): Renamed videoTrackIndex() to trackIndex().
(WebCore::VideoTrack::labelChanged): First argument is now a TrackPrivateBase*.
(WebCore::VideoTrack::languageChanged): Same.
(WebCore::VideoTrack::willRemove): Same.
* html/track/VideoTrack.h: Update TrackPrivateBaseClient function signatures.
* platform/graphics/AudioTrackPrivate.h: Remove code that was moved to TrackPrivateBase.
* platform/graphics/InbandTextTrackPrivate.h: Same.
* platform/graphics/InbandTextTrackPrivateClient.h: Same.
* platform/graphics/VideoTrackPrivate.h: Same.
* platform/graphics/TrackPrivateBase.h: Refactored out duplicate code in AudioTrackPrivate, InbandTextTrackPrivate and VideoTrackPrivate.
* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Renamed textTrackIndex() to trackIndex().
* platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h: Same.
* platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: Renamed audioTrackIndex() to trackIndex().
* platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: Renamed videoTrackIndex() to trackIndex90.

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

6 years agoFrameView destructor is worried about being retained by a renderer.
akling@apple.com [Tue, 5 Nov 2013 01:33:34 +0000 (01:33 +0000)]
FrameView destructor is worried about being retained by a renderer.
<https://webkit.org/b/123763>

There's no way we can be in ~FrameView() while also being owned by
a RenderWidget. Remove some overly paranoid code that was making sure
the renderer didn't have a reference on us.

Reviewed by Anders Carlsson.

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

6 years agoREGRESSION(r158311): media/media-fragments/TC0054.html and TC0061.html hit assertions
eric.carlson@apple.com [Tue, 5 Nov 2013 01:33:11 +0000 (01:33 +0000)]
REGRESSION(r158311): media/media-fragments/TC0054.html and TC0061.html hit assertions
https://bugs.webkit.org/show_bug.cgi?id=123555

Reviewed by Darin Adler.

Source/WebCore:

No new tests, covered by existing tests.

* html/MediaFragmentURIParser.cpp:
(WebCore::MediaFragmentURIParser::parseFragments): Don't add a fragment with empty key or value as
    they will not processed.
(WebCore::MediaFragmentURIParser::parseNPTFragment): Remove excess whitespace.

LayoutTests:

* TestExpectations: Remove media/media-fragments/TC0054.html and media/media-fragments/TC0061.html.

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

6 years agoRemove code duplications in createFontCustomPlatformData()
paroga@webkit.org [Tue, 5 Nov 2013 01:31:43 +0000 (01:31 +0000)]
Remove code duplications in createFontCustomPlatformData()
https://bugs.webkit.org/show_bug.cgi?id=123706

Reviewed by Darin Adler.

Move OpenTypeSanitizer and WOFF handling from the port specific
implementations in createFontCustomPlatformData() into the only
caller of this function CachedFont::ensureCustomFontData().
Also change the parameter passing the SharedBuffer from a
pointer to a reference since it is never null.

* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::ensureCustomFontData):
* platform/graphics/blackberry/FontCustomPlatformData.h:
* platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp:
(WebCore::FontCustomPlatformData::FontCustomPlatformData):
(WebCore::createFontCustomPlatformData):
* platform/graphics/cairo/FontCustomPlatformData.h:
* platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
(WebCore::FontCustomPlatformData::FontCustomPlatformData):
(WebCore::createFontCustomPlatformData):
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::createFontCustomPlatformData):
* platform/graphics/mac/FontCustomPlatformData.h:
* platform/graphics/win/FontCustomPlatformData.cpp:
(WebCore::createFontCustomPlatformData):
* platform/graphics/win/FontCustomPlatformData.h:
* platform/graphics/win/FontCustomPlatformDataCairo.cpp:
(WebCore::createFontCustomPlatformData):
* platform/graphics/wince/FontCustomPlatformData.cpp:
(WebCore::createFontCustomPlatformData):
* platform/graphics/wince/FontCustomPlatformData.h:

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

6 years agoFixing MediaStreamDescriptor addSource and addTrack methods
commit-queue@webkit.org [Tue, 5 Nov 2013 01:26:49 +0000 (01:26 +0000)]
Fixing MediaStreamDescriptor addSource and addTrack methods
https://bugs.webkit.org/show_bug.cgi?id=123755

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-11-04
Reviewed by Eric Carlson.

We must store the track and source that is passed as parameter in a RefPtr,
otherwise we will refer to a null pointer.

No new tests needed.

* platform/mediastream/MediaStreamDescriptor.cpp:
(WebCore::MediaStreamDescriptor::addSource):
(WebCore::MediaStreamDescriptor::addTrack):

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

6 years agoRemove PlatformCALayer::playerLayer
timothy_horton@apple.com [Tue, 5 Nov 2013 01:23:33 +0000 (01:23 +0000)]
Remove PlatformCALayer::playerLayer
https://bugs.webkit.org/show_bug.cgi?id=123764

Reviewed by Sam Weinig.

Source/WebCore:

* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/mac/PlatformCALayerMac.h:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::clone):
Remove playerLayer(), fold it into clone().

Source/WebKit2:

* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:
Remove playerLayer().

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

6 years agoAX: Mail attachments at the start of an email are not output by VoiceOver
cfleizach@apple.com [Tue, 5 Nov 2013 00:47:32 +0000 (00:47 +0000)]
AX: Mail attachments at the start of an email are not output by VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=123697

Reviewed by Ryosuke Niwa.

Source/WebCore:

VoiceOver is expecting that "replaced elements" (attachments in a Mail message in this case) to be
represented by the replacement character when asking for a stringForRange.

However, when that replaced element is at the beginning of the document, the logic does not work because
there is a few code places that will take that first Position and advance it forward, not accounting for replaced elements.
When using the TextIterator normally, it does account for these, so that's why it's only affecting as at the beginning of the document.

Also a "replaced element" can be more than just renderer->isReplaced(), hence the externing of the isRendererReplacedElement method
and using that it in pertinent places.

Tests: platform/mac/accessibility/object-replacement-with-no-rendered-children-at-node-start.html
       platform/mac/accessibility/object-replacement-with-rendered-children-at-node-start.html

* accessibility/AccessibilityObject.cpp:
(WebCore::replacedNodeNeedsCharacter):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(nsStringForReplacedNode):
* dom/Position.cpp:
(WebCore::Position::isCandidate):
* dom/PositionIterator.cpp:
* dom/Range.cpp:
(WebCore::Range::firstNode):
* editing/TextIterator.cpp:
(WebCore::isRendererReplacedElement):
* editing/TextIterator.h:

LayoutTests:

Add two flavors of this. One where the replaced element has rendered children and one where it does not,
which go down two different code paths.

* platform/mac/accessibility/object-replacement-with-no-rendered-children-at-node-start-expected.txt: Added.
* platform/mac/accessibility/object-replacement-with-no-rendered-children-at-node-start.html: Added.
* platform/mac/accessibility/object-replacement-with-rendered-children-at-node-start-expected.txt: Added.
* platform/mac/accessibility/object-replacement-with-rendered-children-at-node-start.html: Added.

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

6 years agoChange structure of frame tree in WINCE port.
commit-queue@webkit.org [Tue, 5 Nov 2013 00:46:55 +0000 (00:46 +0000)]
Change structure of frame tree in WINCE port.
https://bugs.webkit.org/show_bug.cgi?id=121079

Patch by Zhuang Zhigang <zhuangzg@cn.fujitsu.com> on 2013-11-04
Reviewed by Darin Adler.

* WebCoreSupport/FrameLoaderClientWinCE.cpp:
(WebKit::FrameLoaderClientWinCE::createFrame):
* WebView.cpp:
(WebView::createFrame):
* WebView.h:

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

6 years agoREGRESSION(r158586): plugins/refcount-leaks.html fails
rniwa@webkit.org [Tue, 5 Nov 2013 00:41:19 +0000 (00:41 +0000)]
REGRESSION(r158586): plugins/refcount-leaks.html fails
https://bugs.webkit.org/show_bug.cgi?id=123765

Add the test expectation.

* TestExpectations:
* platform/wk2/TestExpectations:

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

6 years agoUse RenderAncestorIterator in a couple of places.
akling@apple.com [Tue, 5 Nov 2013 00:12:56 +0000 (00:12 +0000)]
Use RenderAncestorIterator in a couple of places.
<https://webkit.org/b/123725>

Take the ancestorsOfType<RenderMoo>() thingy out for a spin.

Found a bunch of parent chain walking loops that were really just
looking for the first ancestor renderer of a certain type.
They were a perfect fit for this pattern:

    if (auto svgRoot = ancestorsOfType<RenderSVGRoot>(renderer).first())
        svgRoot->shakeMoneyMaker();

Quite a bit clearer than the previous:

    for (auto ancestor = renderer.parent(); ancestor; ancestor = ancestor->parent()) {
        if (ancestor->isSVGRoot())
            toRenderSVGRoot(ancestor)->makeMoneyShaker();
    }

Reviewed by Antti Koivisto.

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

6 years agoWKRemoteObjectEncoder should escape keys
andersca@apple.com [Tue, 5 Nov 2013 00:09:03 +0000 (00:09 +0000)]
WKRemoteObjectEncoder should escape keys
https://bugs.webkit.org/show_bug.cgi?id=123761

Reviewed by Tim Horton.

Keys that start with $ will be reserved for use by the coder, so prepend an extra
$ to keys that already start with $ to avoid clashes.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(escapeKey):
(-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
(-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):

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

6 years agoDFG NewArray/NewArrayBuffer shouldn't be constructing with negative indexing
fpizlo@apple.com [Tue, 5 Nov 2013 00:05:02 +0000 (00:05 +0000)]
DFG NewArray/NewArrayBuffer shouldn't be constructing with negative indexing
https://bugs.webkit.org/show_bug.cgi?id=123760
<rdar://problem/15356705>

Reviewed by Mark Hahnenberg and Oliver Hunt.

Source/JavaScriptCore:

* dfg/DFGOperations.cpp:

LayoutTests:

* js/dfg-new-array-buffer-while-having-a-bad-time-expected.txt: Added.
* js/dfg-new-array-buffer-while-having-a-bad-time.html: Added.
* js/dfg-new-array-while-having-a-bad-time-expected.txt: Added.
* js/dfg-new-array-while-having-a-bad-time.html: Added.
* js/script-tests/dfg-new-array-buffer-while-having-a-bad-time.js: Added.
(foo):
* js/script-tests/dfg-new-array-while-having-a-bad-time.js: Added.
(foo):

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

6 years ago[MSE] Add a SourceBufferPrivateClient interface for platform -> html communication.
jer.noble@apple.com [Mon, 4 Nov 2013 23:52:32 +0000 (23:52 +0000)]
[MSE] Add a SourceBufferPrivateClient interface for platform -> html communication.
https://bugs.webkit.org/show_bug.cgi?id=123373

Reviewed by Eric Carlson.

To enable communication between SourceBuffer and SourceBufferPrivate without introducing
layering violations, add a new interface class SourceBufferPrivateInterface from which
SourceBuffer will inherit.

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::SourceBuffer): Set the private's client.
(WebCore::SourceBuffer::~SourceBuffer): Clear the private's client.
(WebCore::SourceBuffer::sourceBufferPrivateDidEndStream): Added stub.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment): Hinno.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.
(WebCore::SourceBuffer::sourceBufferPrivateHasAudio): Ditto.
(WebCore::SourceBuffer::sourceBufferPrivateHasVideo): Ditto.
* Modules/mediasource/SourceBuffer.h:
* WebCore.xcodeproj/project.pbxproj: Add new files to project.
* platform/graphics/SourceBufferPrivate.h:
* platform/graphics/SourceBufferPrivateClient.h: Added.
(WebCore::SourceBufferPrivateClient::~SourceBufferPrivateClient): Empty destructor.

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

6 years ago../WebKit: [Win] Use VersionStamper for official builds
bfulgham@apple.com [Mon, 4 Nov 2013 23:26:17 +0000 (23:26 +0000)]
../WebKit: [Win] Use VersionStamper for official builds
https://bugs.webkit.org/show_bug.cgi?id=123758

Reviewed by Tim Horton.

* WebKit.vcxproj/WebKit/WebKitPostBuild.cmd: Restore command to
call VersionStamper on final stage of build.

../WTF: [Win] User VersionStamper for official builds
https://bugs.webkit.org/show_bug.cgi?id=123758

Reviewed by Tim Horton.

* WTF.vcxproj/WTFPostBuild.cmd: Add missing command to run VersionStamper.exe.

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

6 years ago[WK2] Update WebGeolocationManager to support multiple WebContent processes
benjamin@webkit.org [Mon, 4 Nov 2013 23:03:14 +0000 (23:03 +0000)]
[WK2] Update WebGeolocationManager to support multiple WebContent processes
https://bugs.webkit.org/show_bug.cgi?id=123658

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-11-04
Reviewed by Anders Carlsson.

Change WebGeolocationManagerProxy to track which WebProcessProxy needs geolocation.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::disconnectProcess):
WebContext::disconnectProcess does not handle ContextSupplement yet when using multiple
WebContent processes. Add an explicit call for WebGeolocationManagerProxy as a temporary
solution.

* UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
(WebKit::WebGeolocationManagerProxy::contextDestroyed):
(WebKit::WebGeolocationManagerProxy::processDidClose):
(WebKit::WebGeolocationManagerProxy::startUpdating):
(WebKit::WebGeolocationManagerProxy::stopUpdating):
(WebKit::WebGeolocationManagerProxy::removeRequester):
* UIProcess/WebGeolocationManagerProxy.h:
* UIProcess/WebGeolocationManagerProxy.messages.in:

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

6 years ago[PluginProxy] Add a setting to disable video plugin proxy support in HTMLMediaElement.
jer.noble@apple.com [Mon, 4 Nov 2013 22:53:32 +0000 (22:53 +0000)]
[PluginProxy] Add a setting to disable video plugin proxy support in HTMLMediaElement.
https://bugs.webkit.org/show_bug.cgi?id=123621

Reviewed by Eric Carlson.

Source/WebCore:

Add a new Setting which will disable the video plugin proxy. Enable support for AVFoundation
in iOS (which requries fixing a few compile errors resulting from classes and methods which
are not available on iOS.

* WebCore.exp.in: Export wkAVAssetResolvedURL.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::canShareStyleWithElement): Make conditional upon
    new isVideoPluginProxyEnabled() setting.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute): Ditto.
* html/HTMLMediaElement.h:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::createRenderer): Ditto.
(WebCore::HTMLVideoElement::attach): Ditto.
(WebCore::HTMLVideoElement::parseAttribute): Ditto.
(HTMLVideoElement::setDisplayMode): Ditto.
* html/HTMLVideoElement.h:
* page/Settings.cpp:
(WebCore::Settings::setVideoPluginProxyEnabled): Simple setter.
* page/Settings.h:
(WebCore::Settings::isVideoPluginProxyEnabled): Simple getter.
* platform/graphics/MediaPlayer.cpp:
(WebCore::installedMediaEngines): Conditionally add MediaPlayerPrivateIOS and always add
    MediaPlayerPriateAVFoundationObjC.
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::deliverNotification): Add default implementation.
(WebCore::MediaPlayerPrivateInterface::setMediaPlayerProxy): Ditto.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Use new
    HAS_ and USE_ macros instead of __MAC_OS_MIN_VERNSION_REQUIRED.
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::hasContextRenderer): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Use cachedCGColor instead
    of CGColorGetConstantColor.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput): Use CVPixelBuffer pixel
    format constant instead of QuickDraw constant.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createPixelBuffer): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput): Draw to intermediary
    CGImage on iOS.
* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
* platform/ios/WebCoreSystemInterfaceIOS.mm:
* platform/mac/WebCoreSystemInterface.h:

Source/WebKit/mac:

Add a new isVideoPluginProxyEnabled setting.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Set isVideoPluginProxyEnabled preference.
(-[WebPreferences isVideoPluginProxyEnabled]): Pass through to Settings.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Set isVideoPluginProxyEnabled preference.

Source/WebKit2:

Add WebKit2 functions for setting then new isVideoPluginProxyEnabled preference.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetVideoPluginProxyEnabled):
(WKPreferencesGetVideoPluginProxyEnabled):
* UIProcess/API/C/WKPreferences.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Source/WTF:

Enable WTF_USE_AVFOUNDATION and add some HAVE_AVFOUNDATION_* defines
to replace the existing __MAC_OS_X_VERSION_MIN_REQUIRED macros in
MediaPlayerPrivateAVFoundationObjC.mm.

* wtf/Platform.h:

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

6 years agoREGRESSION(r158561): fast/block/float/float-append-child-crash.html asserting.
akling@apple.com [Mon, 4 Nov 2013 22:50:57 +0000 (22:50 +0000)]
REGRESSION(r158561): fast/block/float/float-append-child-crash.html asserting.

The non-const ancestor iterator was walking siblings, not ancestors.

Rubber-stamped by Antti Koivisto.

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

6 years ago[MSE] [Mac] Disclaim support for MSE in AVFoundation and QTKit engines
jer.noble@apple.com [Mon, 4 Nov 2013 22:49:35 +0000 (22:49 +0000)]
[MSE] [Mac] Disclaim support for MSE in AVFoundation and QTKit engines
https://bugs.webkit.org/show_bug.cgi?id=123593

Reviewed by Eric Carlson.

Immediately fail if asked to load a Media Source in engines which do not support
them.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::load):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::load):
(WebCore::MediaPlayerPrivateQTKit::supportsType):

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

6 years ago[CSS Shapes] image valued shape element margin can cause an ASSERT fail
hmuller@adobe.com [Mon, 4 Nov 2013 22:39:46 +0000 (22:39 +0000)]
[CSS Shapes] image valued shape element margin can cause an ASSERT fail
https://bugs.webkit.org/show_bug.cgi?id=123743

Reviewed by Andreas Kling.

Source/WebCore:

When margin-top is specified for a shape's element, the Y coordinates passed
to RasterShapeIntervals::getExcludedIntervals() may be negative. This is
because the incoming logical coordinates are relative to the content or
padding box, depending on the box-sizing property. The RasterShape::getExcludedIntervals()
method now clips the incoming Y coordinates to the shape's bounds before
accessing the shape's intervals.

Test: fast/shapes/shape-outside-floats/shape-outside-floats-margin-crash.html

* rendering/shapes/RasterShape.cpp:
(WebCore::RasterShapeIntervals::getExcludedIntervals):

LayoutTests:

Verify that an element with an image valued shape and a non-negative margin
does not cause an assertion failure.

* fast/shapes/shape-outside-floats/shape-outside-floats-margin-crash-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-margin-crash.html: Added.

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

6 years agoMore WKRemoteObjectRegistry work
andersca@apple.com [Mon, 4 Nov 2013 22:30:34 +0000 (22:30 +0000)]
More WKRemoteObjectRegistry work
https://bugs.webkit.org/show_bug.cgi?id=123754

Reviewed by Dan Bernstein.

Source/WebKit2:

* Shared/API/Cocoa/WKRemoteObjectCoder.h:
* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(-[WKRemoteObjectEncoder rootObjectDictionary]):
Add a getter for the root object dictionary.

* Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
(-[WKRemoteObjectRegistry _sendInvocation:interface:]):
Call _sendMessageWithBody:.
(-[WKRemoteObjectRegistry _sendMessageWithBody:]):
Call WebConnection::postMessage.

Tools:

* TestWebKitAPI/Tests/WebKit2ObjC/WKRemoteObjectRegistry.mm:
(TestWebKitAPI::TEST):
Use the correct bundle test name. Call Util::run.

* TestWebKitAPI/Tests/mac/WKRemoteObjectRegistry_Bundle.mm:
(-[BundleObject sayHello]):
(-[BundleObject testMethodWithString:double:integer:]):
Add BundleObject implementation. Register the bundle object with
the remote object registry. Call _handleMessageWithName:body: on the incoming message.

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

6 years agoMake LiveNodeListBase use Elements instead of Nodes
antti@apple.com [Mon, 4 Nov 2013 21:31:27 +0000 (21:31 +0000)]
Make LiveNodeListBase use Elements instead of Nodes
https://bugs.webkit.org/show_bug.cgi?id=123745

Reviewed by Anders Carlsson.

* WebCore.exp.in:
* dom/Element.cpp:
(WebCore::Element::firstElementChild):
(WebCore::Element::lastElementChild):

    Switch to correct calls. ElementTraversal::previous and previousChild are no longer equivalent.

* dom/ElementTraversal.h:
(WebCore::::lastWithinTemplate):
(WebCore::::previousTemplate):

    Fix ElementTraversal::lastWithin and previous. They had no real clients and didn't work correctly.
    With LiveNodeListBase starting to use these they get excellent test coverage.

* dom/LiveNodeList.cpp:
(WebCore::LiveNodeListBase::invalidateCache):
* dom/LiveNodeList.h:
(WebCore::LiveNodeListBase::LiveNodeListBase):
(WebCore::LiveNodeListBase::isElementCacheValid):
(WebCore::LiveNodeListBase::cachedElement):
(WebCore::LiveNodeListBase::cachedElementOffset):
(WebCore::LiveNodeListBase::setCachedElement):

    Make the cache Element based.
    Switch to Elements in all helpers.
    Rename item -> element for clarity.

* dom/NodeIterator.cpp:
(WebCore::NodeIterator::NodePointer::moveToPrevious):
(WebCore::NodeIterator::updateForNodeRemoval):

    This code expected the old inconsistent NodeTraversal::previous behavior where the traversal includes
    the root as the last item. Drop the stayWithin parameter and handle the one case where it is needed here.

* dom/NodeTraversal.cpp:
(WebCore::NodeTraversal::last):
(WebCore::NodeTraversal::deepLastChild):
* dom/NodeTraversal.h:

    Support ElementTraversal::previous/lastWithin.

(WebCore::NodeTraversal::previous):

    This was slightly wrong too.

* html/HTMLCollection.cpp:
(WebCore::previousElement):
(WebCore::lastElement):
(WebCore::LiveNodeListBase::iterateForPreviousElement):
(WebCore::LiveNodeListBase::itemBefore):
(WebCore::LiveNodeListBase::isLastItemCloserThanLastOrCachedItem):
(WebCore::LiveNodeListBase::isFirstItemCloserThanCachedItem):
(WebCore::LiveNodeListBase::setCachedElement):
(WebCore::LiveNodeListBase::item):
(WebCore::LiveNodeListBase::elementBeforeOrAfterCachedElement):
* html/HTMLCollection.h:
(WebCore::HTMLCollection::isEmpty):
(WebCore::HTMLCollection::hasExactlyOneItem):

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

6 years agoEliminate HostCall bit from JSC Stack CallerFrame
msaboff@apple.com [Mon, 4 Nov 2013 21:28:38 +0000 (21:28 +0000)]
Eliminate HostCall bit from JSC Stack CallerFrame
https://bugs.webkit.org/show_bug.cgi?id=123642

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Replace the HostCallFrame bit or'ed to the CallerFrame value in a CallFrame with
a VM entry sentinel CallFrame.  Logically, the VM entry sentinel call frame is
pushed on the stack before the callee frame when calling from native to JavaScript
code.  The callee frame's CallerFrame points at the VM entry sentinel call frame
and the VM entry sentinel call frame's CallerFrame points to the real caller.
The VM entry sentinel call frame has a sentinel (1) in the CodeBlock to indicate
its a VM entry sentinel call frame.  It's ScopeChain has vm.topCallFrame at the
time of the call.  This allows for a complete stack walk as well as walking just
the contiguous JS frames.

The VM entry sentinel call frame and callee frame are currently allocated and
initialized in ExecState::init(), but this initialization will be moved to
ctiTrampoline when we actually move onto the native stack.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::noticeIncomingCall):
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::callerFrame):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileExceptionHandlers):
* interpreter/CallFrame.h:
(JSC::ExecState::frameExtent):
(JSC::ExecState::currentVPC):
(JSC::ExecState::setCurrentVPC):
(JSC::ExecState::init):
(JSC::ExecState::noCaller):
(JSC::ExecState::isVMEntrySentinel):
(JSC::ExecState::vmEntrySentinelCallerFrame):
(JSC::ExecState::initializeVMEntrySentinelFrame):
(JSC::ExecState::callerFrameSkippingVMEntrySentinel):
(JSC::ExecState::vmEntrySentinelCodeBlock):
* interpreter/Interpreter.cpp:
(JSC::unwindCallFrame):
(JSC::Interpreter::getStackTrace):
* interpreter/Interpreter.h:
(JSC::TopCallFrameSetter::TopCallFrameSetter):
(JSC::TopCallFrameSetter::~TopCallFrameSetter):
(JSC::NativeCallFrameTracer::NativeCallFrameTracer):
* interpreter/JSStack.cpp:
(JSC::JSStack::~JSStack):
* interpreter/JSStackInlines.h:
(JSC::JSStack::getStartOfFrame):
(JSC::JSStack::pushFrame):
(JSC::JSStack::popFrame):
* interpreter/Register.h:
(JSC::Register::operator=):
(JSC::Register::callFrame):
* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::readFrame):
(JSC::StackVisitor::readNonInlinedFrame):
(JSC::StackVisitor::readInlinedFrame):
(JSC::StackVisitor::Frame::print):
* interpreter/VMInspector.cpp:
(JSC::VMInspector::countFrames):
* jit/JIT.cpp:
(JSC::JIT::privateCompileExceptionHandlers):
* jit/JITOperations.cpp:
* jit/JITStubsARM.h:
(JSC::ctiTrampoline):
* jit/JITStubsARM64.h:
* jit/JITStubsARMv7.h:
(JSC::ctiTrampoline):
* jit/JITStubsMIPS.h:
* jit/JITStubsMSVC64.asm:
* jit/JITStubsSH4.h:
* jit/JITStubsX86.h:
* jit/JITStubsX86_64.h:
* jsc.cpp:
(functionDumpCallFrame):
* llint/LowLevelInterpreter.cpp:
(JSC::CLoop::execute):
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::throwException):

Source/WebCore:

Updated JavaScript stack walking as a result of the corresponding changes made in
JavaScriptCore.

* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::stepOutOfFunction):
(WebCore::ScriptDebugServer::returnEvent):
(WebCore::ScriptDebugServer::didExecuteProgram):

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

6 years agoBuild fixes. In particular, we were missing the code to generate JSONs in report...
rniwa@webkit.org [Mon, 4 Nov 2013 20:15:08 +0000 (20:15 +0000)]
Build fixes. In particular, we were missing the code to generate JSONs in report.php :(

* public/api/report.php:
* public/include/test-results.php:

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

6 years ago[css shapes] Fix support for shape-outside on a float with padding
bjonesbe@adobe.com [Mon, 4 Nov 2013 20:12:22 +0000 (20:12 +0000)]
[css shapes] Fix support for shape-outside on a float with padding
https://bugs.webkit.org/show_bug.cgi?id=123590

Reviewed by Alexandru Chiculita.

Source/WebCore:

The line top was being improperly converted to the coordinates of the
shape, causing the shape to be positioned incorrectly when the float
had padding. This fixes that problem.

No new tests, covered by updates to existing ones.

* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):

LayoutTests:

Fix existing tests that depended on the incorrect behavior so that
they are now testing the proper thing. Also fix up the tests to make
them clearer and more robust.

* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-000-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-000.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-001-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-001.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-002-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-002.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-003-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-003.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-004-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-004.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-005-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-005.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-006-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-006.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-007-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-007.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-008-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-008.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-009-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-009.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000-expected.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000.html:
* csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log:

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

6 years agoJSArrayBufferViews of length 0 allocate 0 CopiedSpace bytes, which is invalid
mhahnenberg@apple.com [Mon, 4 Nov 2013 19:52:04 +0000 (19:52 +0000)]
JSArrayBufferViews of length 0 allocate 0 CopiedSpace bytes, which is invalid
https://bugs.webkit.org/show_bug.cgi?id=123746

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This patch disallows clients from allocating 0 bytes in CopiedSpace. We enforce this invariant
with an ASSERT in C++ code and a breakpoint in JIT code. Clients who care about 0-byte
allocations (like JSArrayBufferViews) must handle that case themselves, but we don't punish
anybody else for the rare case that somebody decides to allocate a 0-length typed array.
It also makes the allocation and copying cases consistent for CopiedSpace: no 0-byte allocations,
no 0-byte copying.

Also added a check so that JSArrayBufferViews don't try to copy their m_vector backing store when
their length is 0. Also sprinkled several ASSERTs throughout the JSArrayBufferView code to make sure that
when length is 0 m_vector is null.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewTypedArray):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::emitAllocateBasicStorage):
* heap/CopiedSpaceInlines.h:
(JSC::CopiedSpace::tryAllocate):
* runtime/ArrayBuffer.h:
(JSC::ArrayBuffer::create):
* runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::::visitChildren):
(JSC::::copyBackingStore):
(JSC::::slowDownAndWasteMemory):

LayoutTests:

Added a test to make sure that we don't crash when allocating a typed array with 0 length.

* js/script-tests/typedarray-zero-size.js: Added.
(foo):
* js/typedarray-zero-size-expected.txt: Added.
* js/typedarray-zero-size.html: Added.

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

6 years agoImplement generateKey for HMAC and AES-CBC
ap@apple.com [Mon, 4 Nov 2013 18:45:03 +0000 (18:45 +0000)]
Implement generateKey for HMAC and AES-CBC
https://bugs.webkit.org/show_bug.cgi?id=123669

Reviewed by Dan Bernstein.

Source/WebCore:

Tests: crypto/subtle/aes-cbc-generate-key.html
       crypto/subtle/hmac-generate-key.html

* WebCore.xcodeproj/project.pbxproj: Added new files.

* bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::createAesKeyGenParams): Added bindings for AesKeyGenParams.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey): Handle
algorithms that generate AES and HMAC keys.

* bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::generateKey): Added.

* crypto/CryptoAlgorithmAesKeyGenParams.h: Added.

* crypto/CryptoKey.cpp: (WebCore::CryptoKey::randomData):
* crypto/CryptoKey.h:
* crypto/CryptoKeyMac.cpp: Added
Expose a function that produces random data for symmetric crypto keys. Cross-platform
implementation uses ARC4 code from WTF, while Mac uses a system function that
provides a FIPS validated random number generator.

* crypto/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::generate):
* crypto/CryptoKeyAES.h:
Added a function that creates AES keys.

* crypto/SubtleCrypto.idl: Added generateKey.

* crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
(WebCore::CryptoAlgorithmAES_CBC::generateKey): Added.

* crypto/algorithms/CryptoAlgorithmHMAC.cpp:
(WebCore::CryptoAlgorithmHMAC::generateKey): Added.

* crypto/keys/CryptoKeyHMAC.cpp: (WebCore::CryptoKeyHMAC::generate):
* crypto/keys/CryptoKeyHMAC.h:
Added a function that creates HMAC keys.

* crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: Removed generateKey stub, the implementation
ended up in cross-platform file.

* crypto/mac/CryptoAlgorithmHMACMac.cpp: Ditto.

LayoutTests:

* crypto/subtle/aes-cbc-generate-key-expected.txt: Added.
* crypto/subtle/aes-cbc-generate-key.html: Added.
* crypto/subtle/hmac-generate-key-expected.txt: Added.
* crypto/subtle/hmac-generate-key.html: Added.

* crypto/subtle/sha-1-expected.txt: Now that crypto.webkitSubtle.generateKey exists,
a different exception is raised.

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

6 years agoRevert SetCGFontRenderingMode() build fix for Chromium Mac
dbates@webkit.org [Mon, 4 Nov 2013 18:42:21 +0000 (18:42 +0000)]
Revert SetCGFontRenderingMode() build fix for Chromium Mac
https://bugs.webkit.org/show_bug.cgi?id=123633

Reviewed by Darin Adler.

Reverts <http://trac.webkit.org/changeset/134380>, which
was a Chromium Mac build fix for <http://trac.webkit.org/changeset/134348>
(https://bugs.webkit.org/show_bug.cgi?id=101787). Chromium doesn't
build against top-of-tree WebKit.

* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:

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

6 years ago[sh4] Refactor jumps in baseline JIT to return label after the jump.
commit-queue@webkit.org [Mon, 4 Nov 2013 18:21:37 +0000 (18:21 +0000)]
[sh4] Refactor jumps in baseline JIT to return label after the jump.
https://bugs.webkit.org/show_bug.cgi?id=123734

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-04
Reviewed by Michael Saboff.

Current implementation of jumps in sh4 baseline JIT returns a label on the jump itself
and not after it. This is not correct and leads to issues like infinite loop the DFG
(https://bugs.webkit.org/show_bug.cgi?id=122597 for instance). This refactor fixes this
and also simplifies the link and relink procedures for sh4 jumps.

* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::branchDouble):
(JSC::MacroAssemblerSH4::branchTrue):
(JSC::MacroAssemblerSH4::branchFalse):
* assembler/SH4Assembler.h:
(JSC::SH4Assembler::jmp):
(JSC::SH4Assembler::extraInstrForBranch):
(JSC::SH4Assembler::jne):
(JSC::SH4Assembler::je):
(JSC::SH4Assembler::bra):
(JSC::SH4Assembler::linkJump):
(JSC::SH4Assembler::relinkJump):

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

6 years ago[GTK][WK1] Enable CSS Regions if feature flag is set to TRUE
rego@igalia.com [Mon, 4 Nov 2013 18:03:00 +0000 (18:03 +0000)]
[GTK][WK1] Enable CSS Regions if feature flag is set to TRUE
https://bugs.webkit.org/show_bug.cgi?id=123739

Reviewed by Martin Robinson.

In WK1 CSS Regions were always disabled even if you set the feature flag
ENABLE_CSS_REGIONS to TRUE. Enabling CSS Regions support in that case.

* webkit/webkitwebview.cpp:
(webkit_web_view_update_settings): Enable CSS Regions if feautre flag is
set to TRUE.

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

6 years agoUnreviewed, rolling out r158526.
commit-queue@webkit.org [Mon, 4 Nov 2013 17:37:20 +0000 (17:37 +0000)]
Unreviewed, rolling out r158526.
http://trac.webkit.org/changeset/158526
https://bugs.webkit.org/show_bug.cgi?id=123744

it broke the build (Requested by jessieberlin on #webkit).

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::createAesCbcParams):
(WebCore::createHmacParams):
(WebCore::createHmacKeyParams):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
* bindings/js/JSSubtleCryptoCustom.cpp:
* crypto/CryptoAlgorithmAesKeyGenParams.h: Removed.
* crypto/CryptoKey.cpp:
* crypto/CryptoKey.h:
* crypto/CryptoKeyAES.cpp:
* crypto/CryptoKeyAES.h:
* crypto/CryptoKeyMac.cpp: Removed.
* crypto/SubtleCrypto.idl:
* crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
* crypto/algorithms/CryptoAlgorithmHMAC.cpp:
* crypto/keys/CryptoKeyHMAC.cpp:
* crypto/keys/CryptoKeyHMAC.h:
* crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
(WebCore::CryptoAlgorithmAES_CBC::generateKey):
* crypto/mac/CryptoAlgorithmHMACMac.cpp:
(WebCore::CryptoAlgorithmHMAC::generateKey):

LayoutTests:

* crypto/subtle/aes-cbc-generate-key-expected.txt: Removed.
* crypto/subtle/aes-cbc-generate-key.html: Removed.
* crypto/subtle/hmac-generate-key-expected.txt: Removed.
* crypto/subtle/hmac-generate-key.html: Removed.
* crypto/subtle/sha-1-expected.txt:

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

6 years ago[EFL] Change ATK version to 2.10.0
commit-queue@webkit.org [Mon, 4 Nov 2013 16:08:49 +0000 (16:08 +0000)]
[EFL] Change ATK version to 2.10.0
https://bugs.webkit.org/show_bug.cgi?id=123727

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-11-04
Reviewed by Mario Sanchez Prada.

Provided new API to retrieve text at a given offset.

* efl/jhbuild.modules:

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

6 years ago[EFL] accessibility/textarea-line-for-index.html is failing
commit-queue@webkit.org [Mon, 4 Nov 2013 16:04:10 +0000 (16:04 +0000)]
[EFL] accessibility/textarea-line-for-index.html is failing
https://bugs.webkit.org/show_bug.cgi?id=112015

Patch by Robert Plociennik <r.plociennik@samsung.com> on 2013-11-04
Reviewed by Mario Sanchez Prada.

Tools:

Provided implementation for AccessibilityUIElement::lineForIndex().

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::lineForIndex): Implemented.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::lineForIndex): Implemented.

LayoutTests:

Removed failure expectations.

* platform/efl-wk1/TestExpectations: The test is no longer failing.
* platform/efl-wk2/TestExpectations: The test is no longer failing.

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

6 years ago[EFL] accessibility/button-press-action.html
commit-queue@webkit.org [Mon, 4 Nov 2013 15:02:51 +0000 (15:02 +0000)]
[EFL] accessibility/button-press-action.html
https://bugs.webkit.org/show_bug.cgi?id=111993

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-11-04
Reviewed by Mario Sanchez Prada.

Tools:

Provided an implementation for AccessibilityUIElement::isPressActionSupported.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::isPressActionSupported):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::isPressActionSupported):

LayoutTests:

Removed failure expectations.

* platform/efl-wk1/TestExpectations:
* platform/efl-wk2/TestExpectations:

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

6 years ago[Texmap] Remove redundant calls in CoordinatedGraphicsScene
commit-queue@webkit.org [Mon, 4 Nov 2013 14:58:23 +0000 (14:58 +0000)]
[Texmap] Remove redundant calls in CoordinatedGraphicsScene
https://bugs.webkit.org/show_bug.cgi?id=123737

Patch by Przemyslaw Szymanski <p.szymanski3@samsung.com> on 2013-11-04
Reviewed by Noam Rosenthal.

Removing unused code left after few refactoring patches.

No new tests. Covered by existing ones.

* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):

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

6 years agoCSSPrimitiveValue color constructors should return PassRef.
akling@apple.com [Mon, 4 Nov 2013 13:01:40 +0000 (13:01 +0000)]
CSSPrimitiveValue color constructors should return PassRef.
<https://webkit.org/b/123728>

Make CSSPrimitiveValue::createColor() and the corresponding
CSSValuePool helper functions return PassRef<CSSPrimitiveValue>.

Also made CSSValuePool slightly less stupid when hitting the upper
size limit on the color value cache: instead of throwing out cache
and rebuilding it from scratch, just remove one value at random.

Reviewed by Antti Koivisto.

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

6 years agoSome more RenderChildIterator deployment.
akling@apple.com [Mon, 4 Nov 2013 12:55:48 +0000 (12:55 +0000)]
Some more RenderChildIterator deployment.
<https://webkit.org/b/123735>

Convert another handful of loops to use childrenOfType<RenderFoo>
iterators, mostly for skipping over uninteresting text renderers.

Reviewed by Antti Koivisto.

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

6 years agoLabelsNodeList always is always rooted at a LabelableElement.
akling@apple.com [Mon, 4 Nov 2013 12:43:13 +0000 (12:43 +0000)]
LabelsNodeList always is always rooted at a LabelableElement.
<https://webkit.org/b/123730>

Tighten up LabelsNodeList by enforcing that it's only rooted to
a LabelableElement. Also marked the class FINAL and made its
create() helper return PassRef.

Reviewed by Antti Koivisto.

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

6 years agoREGRESSION: RenderStyle is leaked when not creating renderer for display:none
akling@apple.com [Mon, 4 Nov 2013 12:40:59 +0000 (12:40 +0000)]
REGRESSION: RenderStyle is leaked when not creating renderer for display:none
<https://webkit.org/b/123726>

Source/WebCore:

Explicitly drop the RenderStyle reference in RenderElement::createFor
if we decide to not create any renderer.

Reviewed by Antti Koivisto.

Test: fast/css/renderstyle-leak-with-display-none.html

* rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor):

LayoutTests:

Reviewed by Antti Koivisto.

* fast/css/renderstyle-leak-with-display-none-expected.txt: Added.
* fast/css/renderstyle-leak-with-display-none.html: Added.

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

6 years ago[webcore/dom] Remove extra header includes from cpp files.
commit-queue@webkit.org [Mon, 4 Nov 2013 12:25:31 +0000 (12:25 +0000)]
[webcore/dom] Remove extra header includes from cpp files.
https://bugs.webkit.org/show_bug.cgi?id=123720

Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-11-04
Reviewed by Andreas Kling.

Removing redundant headers from dom related cpp files.

* dom/Attr.cpp:
* dom/CharacterData.cpp:
* dom/ChildListMutationScope.cpp:
* dom/ChildNodeList.cpp:
* dom/ContainerNode.cpp:
* dom/ContainerNodeAlgorithms.cpp:
* dom/DOMNamedFlowCollection.cpp:
* dom/DatasetDOMStringMap.cpp:
* dom/Document.cpp:
* dom/DocumentEventQueue.cpp:
* dom/DocumentMarkerController.cpp:
* dom/DocumentOrderedMap.cpp:
* dom/DocumentStyleSheetCollection.cpp:
* dom/Element.cpp:
* dom/ElementRareData.cpp:
* dom/Event.cpp:
* dom/EventContext.cpp:
* dom/EventDispatcher.cpp:
* dom/EventTarget.cpp:
* dom/ExceptionBase.cpp:
* dom/FocusEvent.cpp:
* dom/InlineStyleSheetOwner.cpp:
* dom/KeyboardEvent.cpp:
* dom/LiveNodeList.cpp:
* dom/MessageEvent.cpp:
* dom/MessagePort.cpp:
* dom/MouseRelatedEvent.cpp:
* dom/MutationEvent.cpp:
* dom/MutationObserver.cpp:
* dom/MutationObserverInterestGroup.cpp:
* dom/MutationObserverRegistration.cpp:
* dom/MutationRecord.cpp:
* dom/NameNodeList.cpp:
* dom/NamedFlowCollection.cpp:
* dom/NamedNodeMap.cpp:
* dom/Node.cpp:
* dom/NodeIterator.cpp:
* dom/NodeTraversal.cpp:
* dom/PositionIterator.cpp:
* dom/ProcessingInstruction.cpp:
* dom/Range.cpp:
* dom/RegisteredEventListener.cpp:
* dom/ScopedEventQueue.cpp:
* dom/ScriptElement.cpp:
* dom/ScriptRunner.cpp:
* dom/SelectorQuery.cpp:
* dom/ShadowRoot.cpp:
* dom/StyledElement.cpp:
* dom/TagNodeList.cpp:
* dom/Text.cpp:
* dom/TextEvent.cpp:
* dom/TouchEvent.cpp:
* dom/TreeScope.cpp:
* dom/TreeScopeAdopter.cpp:
* dom/TreeWalker.cpp:
* dom/UIEvent.cpp:
* dom/UserActionElementSet.cpp:
* dom/UserTypingGestureIndicator.cpp:
* dom/VisitedLinkState.cpp:
* dom/WebKitNamedFlow.cpp:

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

6 years agoHTMLAllCollection is always rooted at a Document.
akling@apple.com [Mon, 4 Nov 2013 12:22:48 +0000 (12:22 +0000)]
HTMLAllCollection is always rooted at a Document.
<https://webkit.org/b/123724>

Tighten up HTMLAllCollection by making the constructor take a
Document& instead of a ContainerNode&. Drive-by application of
FINAL and PassRef also happened.

Reviewed by Antti Koivisto.

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

6 years agoMake more CSSValue subclass constructors return PassRef.
akling@apple.com [Mon, 4 Nov 2013 12:21:51 +0000 (12:21 +0000)]
Make more CSSValue subclass constructors return PassRef.
<https://webkit.org/b/123731>

Make the constructor helpers for the following classes return
PassRef instead of PassRefPtr:

    - CSSFontValue
    - CSSImageSetValue
    - CSSUnicodeRangeValue
    - WebKitCSSArrayFunctionValue
    - WebKitCSSFilterValue
    - WebKitCSSMatFunctionValue
    - WebKitCSSMixFunctionValue
    - WebKitCSSShaderValue
    - WebKitCSSTransformValue

Reviewed by Antti Koivisto.

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

6 years agoBuildfix after r158182 for GCC 4.6
ossy@webkit.org [Mon, 4 Nov 2013 12:16:47 +0000 (12:16 +0000)]
Buildfix after r158182 for GCC 4.6
https://bugs.webkit.org/show_bug.cgi?id=123442

Patch by Jozsef Berta <jberta@inf.u-szeged.hu> on 2013-11-04
Reviewed by Csaba Osztrogonác.

Added explicit "friend class", because  GCC 4.6 doesn't support extended friend declaration (c++11)

* dom/ScopedEventQueue.h:

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

6 years agoFix JSON generations on new flakiness dashboard
rniwa@webkit.org [Mon, 4 Nov 2013 09:16:11 +0000 (09:16 +0000)]
Fix JSON generations on new flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=123723

Reviewed by Andreas Kling.

Add is_flaky column on results table so that this column can be used to find flaky tests on a given builder
efficiently without having to through results for all tests in PHP. This column is updated in report.php
when a new build is added. Because is_flaky depends on the preceding and succeeding results, we must update
is_flaky flag on results for builds immediately before and after the new build as well.

To see why, suppose we had two consecutive results [PASS] [PASS]. If we were to insert [FAIL] result between
the two, those two results may also turn into flaky results if they were surrounded by [FAIL]. Similarly,
if we had [PASS] [FAIL] and the second result was marked flaky, inserting new [FAIL] must unmark it.

* init-database.sql: Added is_flaky column to results table with an index. Also added an index on
build_revisions.time as many queries filter results by this quantity. Also set the work_mem to 50MB avoid
disk thrashing while sorting results in various queries.

* public/api/failing-tests.php: Handle builder ids as well as names. Call generate() with failure types.
No longer generates *-failing.json since it's a subset of *-wrongexpectations.json to save time.

* public/api/report.php: Rewritten. Calls update_flakiness_after_inserting_build to update is_flaky flags
on the newly added results.
(store_results): Added.
(main): Added.

* public/include/test-results.php:
(ResultsJSONWriter):
(ResultsJSONWriter::add_results_for_test): Renamed from add_results_for_test_if_matches.
(ResultsJSONGenerator::generate): Takes the failure type. Instead of generating JSONs for all failure types
at once, generate one JSON for the specified type. We generate the list of test ids based on the failure type
and query results based on that. This dramatically cuts down the time spent in PHP.
(ResultsJSONGenerator::latest_build): Added.
(ResultsJSONGenerator::write_jsons): Takes single writer now.
(update_flakiness_for_build): Added.
(update_flakiness_after_inserting_build): Added.

* public/index.html:
(TestResultsView._populateBuilderPane): Emulate *-failing.json upon *-wrongexpectations.json.
(TestResultsView.fetchFailingTestsForBuilder): Ditto.

* public/main.css: Minor style tweaks.
(.testResults): Extend the border that wraps the test results as needed.
(.tooltip): Don't wrap text inside tooltips.

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

6 years agoHTMLTableRowsCollection is always rooted at a HTMLTableElement.
akling@apple.com [Mon, 4 Nov 2013 08:53:47 +0000 (08:53 +0000)]
HTMLTableRowsCollection is always rooted at a HTMLTableElement.
<https://webkit.org/b/123721>

Tighten up HTMLTableRowsCollection by making the create() helper
take a HTMLTableElement& and adding a HTMLSelectElement& getter.

Reviewed by Antti Koivisto.

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

6 years agoHTMLNameCollection and friends are always rooted at a Document.
akling@apple.com [Mon, 4 Nov 2013 08:51:14 +0000 (08:51 +0000)]
HTMLNameCollection and friends are always rooted at a Document.
<https://webkit.org/b/123722>

Tighten WindowNameCollection and DocumentNameCollection by making
their constructors take a Document&, and add a slightly better
document() than the one we inherit from LiveNodeListBase.

Also marked the classes FINAL and made create() helpers return
PassRef instead of PassRefPtr.

Reviewed by Antti Koivisto.

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

6 years agoOptimize baselines: svg/zoom
akling@apple.com [Mon, 4 Nov 2013 08:49:41 +0000 (08:49 +0000)]
Optimize baselines: svg/zoom

Unreviewed; run "webkit-patch optimize-baselines svg/zoom"

* platform/gtk/svg/zoom/page/zoom-background-images-expected.txt: Removed.
* platform/gtk/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt: Removed.
* platform/gtk/svg/zoom/page/zoom-hixie-rendering-model-004-expected.txt: Removed.
* platform/gtk/svg/zoom/page/zoom-mask-with-percentages-expected.txt: Removed.
* platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Removed.
* platform/gtk/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.txt: Removed.
* platform/gtk/svg/zoom/page/zoom-svg-as-image-expected.png: Removed.
* platform/gtk/svg/zoom/page/zoom-svg-float-border-padding-expected.txt: Removed.
* platform/gtk/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt: Removed.
* platform/gtk/svg/zoom/text/zoom-hixie-rendering-model-004-expected.txt: Removed.
* platform/gtk/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Removed.
* svg/zoom/page/zoom-background-images-expected.txt: Renamed from LayoutTests/platform/efl/svg/zoom/page/zoom-background-images-expected.txt.
* svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt: Renamed from LayoutTests/platform/efl/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt.
* svg/zoom/page/zoom-hixie-rendering-model-004-expected.txt: Renamed from LayoutTests/platform/efl/svg/zoom/page/zoom-hixie-rendering-model-004-expected.txt.
* svg/zoom/page/zoom-mask-with-percentages-expected.txt: Renamed from LayoutTests/platform/efl/svg/zoom/page/zoom-mask-with-percentages-expected.txt.
* svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Renamed from LayoutTests/platform/efl/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt.
* svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.txt: Renamed from LayoutTests/platform/efl/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.txt.
* svg/zoom/page/zoom-svg-as-image-expected.png: Renamed from LayoutTests/platform/efl/svg/zoom/page/zoom-svg-as-image-expected.png.
* svg/zoom/page/zoom-svg-float-border-padding-expected.txt: Renamed from LayoutTests/platform/efl/svg/zoom/page/zoom-svg-float-border-padding-expected.txt.
* svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt: Removed.
* svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt: Renamed from LayoutTests/platform/efl/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt.
* svg/zoom/text/zoom-hixie-rendering-model-004-expected.txt: Renamed from LayoutTests/platform/efl/svg/zoom/text/zoom-hixie-rendering-model-004-expected.txt.
* svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Renamed from LayoutTests/platform/efl/svg/zoom/text/zoom-svg-float-border-padding-expected.txt.

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

6 years agoAdd an ancestor renderer iterator.
akling@apple.com [Mon, 4 Nov 2013 08:46:06 +0000 (08:46 +0000)]
Add an ancestor renderer iterator.
<https://webkit.org/b/123718>

Add ancestor iterators for renderers, analogous to element ancestor
iterators. They walk the chain of parent renderers, stopping at each
ancestor of a certain type.

Just like child renderer iterators, this requires isRendererOfType()
to be implemented for the targeted renderer class.

You use them like this:

auto frameSets = ancestorsOfType<RenderFrameSet>(*this);
for (auto frameSet = frameSets.begin(), end = frameSets.end(); frameSet != end; ++frameSet)
    frameSet->thisOrThat();

To complete the patch, I put them to use in a couple of random places.

Reviewed by Antti Koivisto.

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