WebKit-https.git
6 years agoGenerate toFooElement() functions from tagname data.
gyuyoung.kim@samsung.com [Thu, 5 Sep 2013 22:57:40 +0000 (22:57 +0000)]
Generate toFooElement() functions from tagname data.
https://bugs.webkit.org/show_bug.cgi?id=120676

Reviewed by Andreas Kling.

As r154965 introduced the isFooElement() generation, this patch adds generations of toFooElement() function
to *generateTypeChecking* attribute. To represent isFooElement() and toFooElement(), *generateTypeChecking*
is changed to *generateTypeHelpers*.

Removed all the hand-written toFooElement() that can be covered by the *generateTypeHelpers*.

* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/make_names.pl:
(defaultTagPropertyHash):
(printTypeHelpers):
(printTypeHelpersHeaderFile):
* html/HTMLAnchorElement.h:
* html/HTMLAreaElement.h:
* html/HTMLAudioElement.h:
* html/HTMLCanvasElement.h:
* html/HTMLElement.h:
* html/HTMLFormElement.h:
* html/HTMLFrameSetElement.h:
* html/HTMLImageElement.h:
* html/HTMLInputElement.h:
* html/HTMLLabelElement.h:
* html/HTMLMapElement.h:
* html/HTMLMeterElement.h:
* html/HTMLOptGroupElement.h:
* html/HTMLOptionElement.h:
* html/HTMLProgressElement.h:
* html/HTMLScriptElement.h:
* html/HTMLStyleElement.h:
* html/HTMLTableElement.h:
* html/HTMLTableRowElement.h:
* html/HTMLTagNames.in:
* html/HTMLTextAreaElement.h:
* html/HTMLTitleElement.h:
* svg/SVGElement.h:
* svg/SVGFontElement.h:
* svg/SVGFontFaceElement.h:
* svg/SVGImageElement.h:
* svg/SVGScriptElement.h:
* svg/svgtags.in:

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

6 years agoWeb Inspector: Remove harmless assert, triggered hitting breakpoint in auto prettypri...
commit-queue@webkit.org [Thu, 5 Sep 2013 22:11:29 +0000 (22:11 +0000)]
Web Inspector: Remove harmless assert, triggered hitting breakpoint in auto prettyprinted code on reload
https://bugs.webkit.org/show_bug.cgi?id=120332

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-09-05
Reviewed by Timothy Hatcher.

* UserInterface/TextEditor.js:

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

6 years ago WKFullScreenWindowController extends lifetime of WKView, deleting it at a...
ap@apple.com [Thu, 5 Sep 2013 22:06:31 +0000 (22:06 +0000)]
    WKFullScreenWindowController extends lifetime of WKView, deleting it at a wrong time
        https://bugs.webkit.org/show_bug.cgi?id=120792
        <rdar://problem/14884666>

        Reviewed by Jer Noble.

        * UIProcess/API/mac/WKView.mm: (-[WKView fullScreenWindowController]):
        Use a newly minted initializer for the controller.

        * UIProcess/mac/WKFullScreenWindowController.h: Removed unused web view accessors.
        Changed the class to take web view at initialization time.

        * UIProcess/mac/WKFullScreenWindowController.mm:
        (-[WKFullScreenWindowController initWithWindow:webView:]): Initialize the controller
        inone step.
        (-[WKFullScreenWindowController dealloc]): WebView is now a raw pointer, no need
        to zero it.
        (-[WKFullScreenWindowController close]): Make sure to not leave a dangling WKView
        pointer (this method is indirectly but inevitably called when WKView is deallocated).

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

6 years agoMake Vector::uncheckedAppend work with move-only types
andersca@apple.com [Thu, 5 Sep 2013 21:52:25 +0000 (21:52 +0000)]
Make Vector::uncheckedAppend work with move-only types
https://bugs.webkit.org/show_bug.cgi?id=120799

Reviewed by Andreas Kling.

Source/WTF:

* wtf/Vector.h:
(WTF::::uncheckedAppend):
Use std::forward to invoke the move constructor when possible.

Tools:

* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::MoveOnly):
Add a move-only class.

(TestWebKitAPI::TEST):
Add a test for Vector<MoveOnly>::uncheckedAppend.

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

6 years agoMove all Vector tests into Vector.cpp
andersca@apple.com [Thu, 5 Sep 2013 21:34:17 +0000 (21:34 +0000)]
Move all Vector tests into Vector.cpp
https://bugs.webkit.org/show_bug.cgi?id=120797

Reviewed by Andreas Kling.

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/GNUmakefile.am:
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj.filters:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/VectorBasic.cpp: Removed.
* TestWebKitAPI/Tests/WTF/VectorReverse.cpp: Removed.
* TestWebKitAPI/Tests/WTF/WTF.pro:

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

6 years agoCached Page and Frame don't need to be ref-counted.
akling@apple.com [Thu, 5 Sep 2013 21:25:32 +0000 (21:25 +0000)]
Cached Page and Frame don't need to be ref-counted.
<https://webkit.org/b/120710>

Reviewed by Anders Carlsson.

- CachedPage is owned by HistoryItem.
- CachedFrame is owned by CachedPage.

Remove the ref counting from these objects to make the code less confusing.

Added a new method:

- PassOwnPtr<CachedPage> PageCache::take(HistoryItem*)

..which is what it looks like - a combined get() and remove() that transfers
ownership of the CachedPage to the caller.

This is used by commitProvisionalLoad() and invalidateCurrentItemCachedPage()
to accomplish in one swoop what they used to do in awkwardly spaced steps.

* history/CachedFrame.h:
(WebCore::CachedFrame::create):
* history/CachedPage.cpp:
(WebCore::CachedPage::create):
* history/CachedPage.h:
* history/HistoryItem.h:
* history/PageCache.cpp:
(WebCore::PageCache::take):
* history/PageCache.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):
* loader/FrameLoader.h:
* loader/HistoryController.cpp:
(WebCore::HistoryController::invalidateCurrentItemCachedPage):

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

6 years agoREGRESSION(149636, merged in 153145): ToThis conversion doesn't work in the DFG
fpizlo@apple.com [Thu, 5 Sep 2013 21:19:09 +0000 (21:19 +0000)]
REGRESSION(149636, merged in 153145): ToThis conversion doesn't work in the DFG
https://bugs.webkit.org/show_bug.cgi?id=120781

Reviewed by Mark Hahnenberg.

- Use some method table hacks to detect if the CheckStructure optimization is
  valid for to_this.

- Introduce a FinalObjectUse and use it for ToThis->Identity conversion.

This looks like it might be perf-neutral on the major benchmarks, but it
introduces some horrible performance cliffs. For example if you add methods to
the Array prototype, you'll get horrible performance cliffs. As in virtual calls
to C++ every time you call a JS function even if it's inlined.
LongSpider/3d-cube appears to hit this.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateFinalObject):
(JSC::DFG::SpeculativeJIT::speculate):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGUseKind.cpp:
(WTF::printInternal):
* dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):

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

6 years agoAdd COMPILER_SUPPORTS(CXX_AUTO_TYPE) and #error if it's 0
andersca@apple.com [Thu, 5 Sep 2013 21:17:35 +0000 (21:17 +0000)]
Add COMPILER_SUPPORTS(CXX_AUTO_TYPE) and #error if it's 0
https://bugs.webkit.org/show_bug.cgi?id=120794

Reviewed by Andreas Kling.

People have already begun using C++11 auto in WebCore, so let's make it a prerequisite.

* wtf/Compiler.h:

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

6 years agoBUILD FIX (r155108): Add SynchronousLoaderClientCFNet.cpp to Xcode project
ddkilzer@apple.com [Thu, 5 Sep 2013 21:07:41 +0000 (21:07 +0000)]
BUILD FIX (r155108): Add SynchronousLoaderClientCFNet.cpp to Xcode project

* WebCore.xcodeproj/project.pbxproj: The iOS port defines
USE(CFNETWORK), so it needs to compile
SynchronousLoaderClientCFNet.cpp to build successfully.

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

6 years agoClean up wtf/Compiler.h
andersca@apple.com [Thu, 5 Sep 2013 21:01:30 +0000 (21:01 +0000)]
Clean up wtf/Compiler.h
https://bugs.webkit.org/show_bug.cgi?id=120790

Reviewed by Andreas Kling.

- Get rid of the CLANG_PRAGMA define, it's not used anywhere.
- Remove a workaround for a bug in the version of clang that came with Xcode 4.2.
- Replace WTF_COMPILER_SUPPORTS_CXX_FINAL_CONTROL with a compiler quirk for versions of clang
  that have a buggy final implementation and fix a bug in the macro where final would be disabled
  for versions of clang where __clang_minor__ is less than 2, regardless of the major version.
- Fail if someone tries to compile the WebKit stack with a compiler that doesn't support rvalue
  references or static_assert.

* wtf/Compiler.h:

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

6 years agoFix build bustage.
hyatt@apple.com [Thu, 5 Sep 2013 20:54:49 +0000 (20:54 +0000)]
Fix build bustage.

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

6 years agoReplace uses of CLANG_PRAGMA with #pragma
andersca@apple.com [Thu, 5 Sep 2013 20:17:48 +0000 (20:17 +0000)]
Replace uses of CLANG_PRAGMA with #pragma

Rubber-stamped by Andreas Kling.

This file is only compiled by clang anyway.

* WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
(WebKit::InjectedBundle::load):

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

6 years agoGCAssertions.h should use STL type traits and static_assert
andersca@apple.com [Thu, 5 Sep 2013 20:12:23 +0000 (20:12 +0000)]
GCAssertions.h should use STL type traits and static_assert
https://bugs.webkit.org/show_bug.cgi?id=120785

Reviewed by Andreas Kling.

Source/JavaScriptCore:

There's no need to rely on compiler specific support to figure out if a class is trivially destructable,
we can just use type traits from STL. Do this, fix the assert macro to use static_assert directly and
rename it from ASSERT_HAS_TRIVIAL_DESTRUCTOR to STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE to clarify that
it's a static assert and to match the STL nomenclature.

* API/JSCallbackFunction.cpp:
* debugger/DebuggerActivation.cpp:
* heap/GCAssertions.h:
* runtime/ArrayConstructor.cpp:
* runtime/BooleanConstructor.cpp:
* runtime/BooleanObject.cpp:
* runtime/BooleanPrototype.cpp:
* runtime/DateConstructor.cpp:
* runtime/ErrorConstructor.cpp:
* runtime/ErrorInstance.cpp:
* runtime/ErrorPrototype.cpp:
* runtime/ExceptionHelpers.cpp:
* runtime/FunctionConstructor.cpp:
* runtime/FunctionPrototype.cpp:
* runtime/GetterSetter.cpp:
* runtime/InternalFunction.cpp:
* runtime/JSAPIValueWrapper.cpp:
* runtime/JSArray.cpp:
* runtime/JSCell.cpp:
* runtime/JSNotAnObject.cpp:
* runtime/JSONObject.cpp:
* runtime/JSObject.cpp:
* runtime/JSPromiseConstructor.cpp:
* runtime/JSPromisePrototype.cpp:
* runtime/JSPromiseResolverConstructor.cpp:
* runtime/JSPromiseResolverPrototype.cpp:
* runtime/JSProxy.cpp:
* runtime/JSScope.cpp:
* runtime/JSWrapperObject.cpp:
* runtime/MathObject.cpp:
* runtime/NameConstructor.cpp:
* runtime/NativeErrorConstructor.cpp:
* runtime/NumberConstructor.cpp:
* runtime/NumberObject.cpp:
* runtime/NumberPrototype.cpp:
* runtime/ObjectConstructor.cpp:
* runtime/ObjectPrototype.cpp:
* runtime/RegExpObject.cpp:
* runtime/StrictEvalActivation.cpp:
* runtime/StringConstructor.cpp:
* runtime/StringObject.cpp:
* runtime/StringPrototype.cpp:

Source/WebCore:

Update for JavaScriptCore changes.

* bindings/js/JSDOMBinding.cpp:
* bindings/js/JSImageConstructor.cpp:

Source/WebKit2:

Update for JavaScriptCore changes.

* WebProcess/Plugins/Netscape/JSNPMethod.cpp:

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

6 years agoMake RenderListItem inherit from RenderBlockFlow.
hyatt@apple.com [Thu, 5 Sep 2013 19:57:08 +0000 (19:57 +0000)]
Make RenderListItem inherit from RenderBlockFlow.
https://bugs.webkit.org/show_bug.cgi?id=120789

Reviewed by Beth Dakin.

* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::RenderListItem):
(WebCore::RenderListItem::willBeDestroyed):
(WebCore::RenderListItem::willBeRemovedFromTree):
(WebCore::RenderListItem::layout):
(WebCore::RenderListItem::addOverflowFromChildren):
(WebCore::RenderListItem::computePreferredLogicalWidths):
(WebCore::RenderListItem::paint):
* rendering/RenderListItem.h:

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

6 years agoMake RenderBlock have a protected constructor..
hyatt@apple.com [Thu, 5 Sep 2013 19:47:40 +0000 (19:47 +0000)]
Make RenderBlock have a protected constructor..
https://bugs.webkit.org/show_bug.cgi?id=120787

Reviewed by Beth Dakin.

Make sure nobody can create a RenderBlock directly. Make sure RenderBlockFlows
get made when a display:block/inline-block/compact/run-in is seen.

* html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::createRenderer):
* html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::createRenderer):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::createAnonymous):
* rendering/RenderBlock.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):

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

6 years agoExpected result images are sometimes blank in WKTR
simon.fraser@apple.com [Thu, 5 Sep 2013 19:38:48 +0000 (19:38 +0000)]
Expected result images are sometimes blank in WKTR
https://bugs.webkit.org/show_bug.cgi?id=120715

Reviewed by Tim Horton.

In WebKitTestRunner, snapshots obtained via windowSnapshotImage() were
sometimes blank if a previous test triggered compositing mode, and the
current test or reference did not require compositing. This happened
because the UI process didn't wait for the web process to complete
its compositing mode switch before snapshotting. Fix by calling
WKPageForceRepaint() before we take the snapshot; this is async,
so we have to spin the runloop for a while.

Remove the Qt/EFL code that does the same thing.

* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::forceRepaintDoneCallback):
(WTR::TestInvocation::dumpResults):
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/cairo/TestInvocationCairo.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):
* WebKitTestRunner/qt/TestInvocationQt.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

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

6 years agoAdd new RenderBlockFlow class
hyatt@apple.com [Thu, 5 Sep 2013 19:32:35 +0000 (19:32 +0000)]
Add new RenderBlockFlow class
https://bugs.webkit.org/show_bug.cgi?id=120777

Reviewed by Simon Fraser.

This patch adds a new RenderBlockFlow class. The idea is to get all of the line/float/margin
code out of RenderBlock and into the subclass, and then we can make RenderBlock an abstract
base. This will save memory for all of the classes that derive from RenderBlock but have
their own layout systems (e.g., flexbox, grid, table), and it will let us tighten up
types to make it more clear when we're talking about block layout code vs. a more generic
block-level object that can have any kind of layout.

The only real change here is that isBlockFlow() has been renamed to isRenderBlockFlow() and
is now checking if the object is a RenderBlockFlow. All of the block subclasses have been patched
to be a RenderBlock or RenderBlockFlow.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
* dom/Position.cpp:
(WebCore::Position::isCandidate):
(WebCore::Position::getInlineBoxAndOffset):
(WebCore::Position::primaryDirection):
* dom/PositionIterator.cpp:
(WebCore::PositionIterator::isCandidate):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
* editing/Editor.cpp:
(WebCore::Editor::baseWritingDirectionForSelectionStart):
* editing/FrameSelection.cpp:
(WebCore::caretRenderer):
* editing/TextIterator.cpp:
(WebCore::TextIterator::shouldRepresentNodeOffsetZero):
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::makeEditableRootEmpty):
* editing/htmlediting.cpp:
(WebCore::isBlockFlowElement):
* html/shadow/SliderThumbElement.cpp:
(WebCore::RenderSliderThumb::RenderSliderThumb):
* html/shadow/SliderThumbElement.h:
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::firstLineBoxBaseline):
(WebCore::RenderBlock::lastLineBoxBaseline):
(WebCore::RenderBlock::firstLineBlock):
(WebCore::findFirstLetterBlock):
(WebCore::shouldCheckLines):
(WebCore::RenderBlock::adjustForBorderFit):
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp: Added.
(WebCore::RenderBlockFlow::RenderBlockFlow):
(WebCore::RenderBlockFlow::~RenderBlockFlow):
* rendering/RenderBlockFlow.h: Added.
(WebCore::toRenderBlockFlow):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::positionForPoint):
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::canHaveBoxInfoInRegion):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
(WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::RenderDetailsMarker):
* rendering/RenderDetailsMarker.h:
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::RenderFieldset):
* rendering/RenderFieldset.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::RenderFileUploadControl):
* rendering/RenderFileUploadControl.h:
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
* rendering/RenderFlowThread.h:
* rendering/RenderFullScreen.cpp:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::computeRectForRepaint):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::RenderMeter):
* rendering/RenderMeter.h:
* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
* rendering/RenderMultiColumnBlock.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::computeRectForRepaint):
(WebCore::RenderObject::styleWillChange):
(WebCore::firstLineStyleForCachedUncachedType):
* rendering/RenderObject.h:
(WebCore::RenderObject::isBR):
(WebCore::RenderObject::isRenderBlockFlow):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::insertChildNode):
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::RenderProgress):
* rendering/RenderProgress.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
* rendering/RenderRegion.h:
* rendering/RenderRuby.cpp:
(WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
* rendering/RenderRuby.h:
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::RenderRubyBase):
* rendering/RenderRubyBase.h:
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::RenderRubyRun):
* rendering/RenderRubyRun.h:
* rendering/RenderRubyText.cpp:
(WebCore::RenderRubyText::RenderRubyText):
* rendering/RenderRubyText.h:
* rendering/RenderTableCaption.cpp:
(WebCore::RenderTableCaption::RenderTableCaption):
* rendering/RenderTableCaption.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
* rendering/RenderTableCell.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
* rendering/RenderTextControl.h:
* rendering/RenderTextControlSingleLine.h:
(WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
* rendering/RenderTextTrackCue.cpp:
(WebCore::RenderTextTrackCue::RenderTextTrackCue):
* rendering/RenderTextTrackCue.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderView.h:
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::RenderSVGBlock):
* rendering/svg/RenderSVGBlock.h:

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

6 years agoiOS build broke with change to make Mac use PDFKit for PDFDocumentImage
timothy_horton@apple.com [Thu, 5 Sep 2013 19:25:21 +0000 (19:25 +0000)]
iOS build broke with change to make Mac use PDFKit for PDFDocumentImage
https://bugs.webkit.org/show_bug.cgi?id=120771

Reviewed by Anders Carlsson.

* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::createPDFDocument):
Use the (removed in r155069) PLATFORM(MAC) way of making a CGDataProvider from a SharedBuffer
everywhere; this is what iOS was expecting to use (where I accidentally changed behavior),
and it should also work for Windows, the only other USE(CG) platform.

Since we only createPDFDocument() after all data has been received, I'm not
restoring the comment about the SharedBuffer being secretly written to behind its back.

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

6 years agoRename supportsContext to probablySupportsContext
dino@apple.com [Thu, 5 Sep 2013 18:58:07 +0000 (18:58 +0000)]
Rename supportsContext to probablySupportsContext
https://bugs.webkit.org/show_bug.cgi?id=120716
<rdar://problem/14914499>

Reviewed by Antoine Quint.

As decided in: http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2013-September/040680.html

Source/WebCore:

* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::probablySupportsContext):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::probablySupportsContext):
* html/HTMLCanvasElement.h:
* html/HTMLCanvasElement.idl:

LayoutTests:

* fast/canvas/webgl/canvas-supports-context-expected.txt:
* fast/canvas/webgl/canvas-supports-context.html:

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

6 years agoFix build warning about unused variable.
joepeck@webkit.org [Thu, 5 Sep 2013 18:29:30 +0000 (18:29 +0000)]
Fix build warning about unused variable.

Unreviewed build fix.

* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::evaluateBreakpointAction):

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

6 years agoEnable C++11 wherever we build C++ files that include wtf/Platform.h
andersca@apple.com [Thu, 5 Sep 2013 18:23:02 +0000 (18:23 +0000)]
Enable C++11 wherever we build C++ files that include wtf/Platform.h
https://bugs.webkit.org/show_bug.cgi?id=120782

Reviewed by Andreas Kling.

Source/ThirdParty:

Set CLANG_CXX_LANGUAGE_STANDARD to gnu++0x.

* gtest/xcode/Config/General.xcconfig:

Source/WebCore:

Pass -std=gnu++11 when preprocessing wtf/Platform.h.

* DerivedSources.make:

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

6 years agoWeb Inspector: Breakpoint Actions
joepeck@webkit.org [Thu, 5 Sep 2013 18:01:00 +0000 (18:01 +0000)]
Web Inspector: Breakpoint Actions
https://bugs.webkit.org/show_bug.cgi?id=120576

Reviewed by Timothy Hatcher.

Give the CodeMirror editor for JavaScript Breakpoint Actions JS Runtime
completions (like window, document, etc.).

The logic was inside of JavaScriptLogViewController but was already
entirely independent. Factor it out into its own class and plug it into
CodeMirrorCompletionController as a "CompletionsProvider".

Because the class hooks into a global event to reset some state, make
it a singleton, so new instances are not leaked.

* UserInterface/Main.html:
* UserInterface/Main.js:
(WebInspector.loaded):
* UserInterface/RuntimeManager.js: Added.
(WebInspector.RuntimeManager):
(WebInspector.RuntimeManager.prototype.evalCallback):
(WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
Move eval in window to new RuntimeManager. A slightly cleaner place to this
since it is used both by the console and JS completions provider.

* UserInterface/CodeMirrorCompletionController.js:
(WebInspector.CodeMirrorCompletionController):
(WebInspector.CodeMirrorCompletionController.prototype.setExtendedCompletionProvider):
(WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
Allow a completions provider plugin to completions controller. If one
is available, this supercedes the delegate extend completions path.

* UserInterface/BreakpointActionView.js:
* UserInterface/ConsolePrompt.js:
(WebInspector.ConsolePrompt):
Use the new JS completions provider to get runtime JS completions.
NOTE: ConsolePrompt still needs the delegate path for SQL completions.

* UserInterface/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController):
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
* UserInterface/JavaScriptRuntimeCompletionProvider.js: Added.
(WebInspector.JavaScriptRuntimeCompletionProvider):
(get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.):
(get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
Move the JS completions code to a new class. No changes needed.

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

6 years agoWeb Inspector: Breakpoint Actions
joepeck@webkit.org [Thu, 5 Sep 2013 18:00:56 +0000 (18:00 +0000)]
Web Inspector: Breakpoint Actions
https://bugs.webkit.org/show_bug.cgi?id=120576

Reviewed by Timothy Hatcher.

* UserInterface/Breakpoint.js:
(WebInspector.Breakpoint):
(WebInspector.Breakpoint.prototype.get actions):
(WebInspector.Breakpoint.prototype.get options):
(WebInspector.Breakpoint.prototype.get info):
(WebInspector.Breakpoint.prototype._serializableActions):
Saving, restoring, and serialization.

(WebInspector.Breakpoint.prototype.createAction):
(WebInspector.Breakpoint.prototype.recreateAction):
(WebInspector.Breakpoint.prototype.removeAction):
(WebInspector.Breakpoint.prototype.breakpointActionDidChange):
Modifying _actions ivar.

(WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
(WebInspector.Breakpoint.prototype._popoverActionsCreateAddActionButton):
(WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked):
(WebInspector.Breakpoint.prototype._popoverActionsInsertBreakpointActionView):
(WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView):
(WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView):
(WebInspector.Breakpoint.prototype.breakpointActionViewResized):
Popover UI containing breakpoint action views and converting to and from
having no actions.

(WebInspector.Breakpoint.prototype.willDismissPopover):
Cleanup some ivars when the popover dismisses.

* UserInterface/Breakpoint.css:
(.popover .edit-breakpoint-popover-content.wide):
Wider setting when there are actions in the popover.

(.popover .edit-breakpoint-popover-content > table > tr > th):
Keep the title labels at the top of their section.

* UserInterface/BreakpointAction.js:
(WebInspector.BreakpointAction):
(WebInspector.BreakpointAction.prototype.get breakpoint):
(WebInspector.BreakpointAction.prototype.get type):
(WebInspector.BreakpointAction.prototype.get data):
(WebInspector.BreakpointAction.prototype.set data):
(WebInspector.BreakpointAction.prototype.get info):
Very basic BreakpointAction class. Notifies Breakpoint on data changes.
Type changes are not allowed, instead just create a new BreakpointAction.

* UserInterface/BreakpointActionView.css: Added.
(.breakpoint-action-block-header):
(.breakpoint-action-remove-button):
(.breakpoint-action-remove-button:active):
(.breakpoint-action-append-button):
(.breakpoint-action-block-body):
(.breakpoint-action-block-body > input):
(.breakpoint-action-eval-editor):
(.breakpoint-action-eval-editor > .CodeMirror):
(.breakpoint-action-eval-editor > .CodeMirror-scroll):
* UserInterface/BreakpointActionView.js: Added.
(WebInspector.BreakpointActionView):
(WebInspector.BreakpointActionView.displayStringForType):
(WebInspector.BreakpointActionView.prototype.get action):
(WebInspector.BreakpointActionView.prototype.get element):
(WebInspector.BreakpointActionView.prototype._pickerChanged):
(WebInspector.BreakpointActionView.prototype._appendActionButtonClicked):
(WebInspector.BreakpointActionView.prototype._removeActionButtonClicked):
(WebInspector.BreakpointActionView.prototype._updateBody.switch.break):
(WebInspector.BreakpointActionView.prototype._logInputChanged):
(WebInspector.BreakpointActionView.prototype._codeMirrorBlurred):
(WebInspector.BreakpointActionView.prototype._codeMirrorViewportChanged):
UI and form controls for individual breakpoint actions. The view
wraps a single BreakpointAction, and for any actions that could affect
other views the delegate is notified.

* UserInterface/DebuggerManager.js:
(WebInspector.DebuggerManager):
(WebInspector.DebuggerManager.prototype._debuggerBreakpointActionType):
When sending to the backend, make sure to send protocol enums.

* UserInterface/Popover.js:
(WebInspector.Popover.prototype.update):
Update the popover when content changes.

* UserInterface/Images/BreakpointActionAdd.svg: Added.
* UserInterface/Images/BreakpointActionRemove.svg: Added.
* UserInterface/InspectorBackendCommands.js:
* UserInterface/Main.html:
* Localizations/en.lproj/localizedStrings.js:
Misc. New strings, images, includes.

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

6 years agoWeb Inspector: Breakpoint Actions
joepeck@webkit.org [Thu, 5 Sep 2013 18:00:53 +0000 (18:00 +0000)]
Web Inspector: Breakpoint Actions
https://bugs.webkit.org/show_bug.cgi?id=120576

Reviewed by Timothy Hatcher.

Source/WebCore:

Tests: inspector-protocol/debugger/setBreakpoint-actions.html
       inspector-protocol/debugger/setBreakpoint-options-exception.html

* inspector/ScriptBreakpoint.h:
(WebCore::ScriptBreakpointAction::ScriptBreakpointAction):
(WebCore::ScriptBreakpoint::ScriptBreakpoint):
Struct for a breakpoint action. Type and string of data.

* bindings/js/ScriptDebugServer.h:
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::hasBreakpoint):
(WebCore::ScriptDebugServer::evaluateBreakpointAction):
(WebCore::ScriptDebugServer::evaluateBreakpointActions):
(WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
(WebCore::ScriptDebugServer::pauseIfNeeded):
When a breakpoint is triggered evaluate each of its breakpoint
actions in order. If there are exceptions, log them.

* inspector/Inspector.json:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::buildObjectForBreakpointCookie):
(WebCore::InspectorDebuggerAgent::didParseSource):
Save and restore breakpoint actions where needed.

(WebCore::breakpointActionTypeForString):
(WebCore::breakpointActionsFromProtocol):
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::InspectorDebuggerAgent::setBreakpoint):
Parse optional breakpoint actions from the protocol into
ScriptBreakpointAction objects.

LayoutTests:

* inspector-protocol/debugger/resources/breakpoint.js:
* inspector-protocol/debugger/setBreakpoint-actions-expected.txt: Added.
* inspector-protocol/debugger/setBreakpoint-actions.html: Added.
* inspector-protocol/debugger/setBreakpoint-options-exception-expected.txt: Added.
* inspector-protocol/debugger/setBreakpoint-options-exception.html: Added.
* inspector-protocol/resources/console-helper.js: Added.
(ConsoleHelper.simplifiedConsoleMessage):

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

6 years agoSource/WebCore: Fix repaint issue on "paints into ancestor" filtered layers
simon.fraser@apple.com [Thu, 5 Sep 2013 17:56:58 +0000 (17:56 +0000)]
Source/WebCore: Fix repaint issue on "paints into ancestor" filtered layers
https://bugs.webkit.org/show_bug.cgi?id=120780

Reviewed by Tim Horton.

When a repaint happened on a layer with a filter, and which paints into
its compositing ancestor, we'd repaint the wrong layer (and assert).

Fix by ensuring that RenderLayer::enclosingFilterLayer() takes paintsIntoCompositedAncestor()
into account, by adding a function that we share between three callers who
check isComposited() && !paintsIntoCompositedAncestor(). I didn't use a function
on RenderLayer, because I wanted it to be inline but to not #include RenderLayerBacking
in RenderLayer.h.

Test: compositing/filters/opacity-change-on-filtered-paints-into-ancestor.html

* dom/Node.cpp: Drive-by removal of #include "RenderLayer.h"
* rendering/RenderLayer.cpp:
(WebCore::compositedWithOwnBackingStore):
(WebCore::RenderLayer::enclosingCompositingLayerForRepaint):
(WebCore::RenderLayer::enclosingFilterRepaintLayer):
(WebCore::RenderLayer::clippingRootForPainting):

LayoutTests: Fix repaint issue on "paints into ancestor" filtered layers
https://bugs.webkit.org/show_bug.cgi?id=120780
<rdar://problem/14884148>

Reviewed by Tim Horton.

Ref test for opacity change on a filtered layer which paints into its compositing ancestor.

* compositing/filters/opacity-change-on-filtered-paints-into-ancestor-expected.html: Added.
* compositing/filters/opacity-change-on-filtered-paints-into-ancestor.html: Added.

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

6 years ago[Windows] Unreviewed build/link improvement after r155127 to be
bfulgham@apple.com [Thu, 5 Sep 2013 17:54:11 +0000 (17:54 +0000)]
[Windows] Unreviewed build/link improvement after r155127 to be
consistent about using debug-build support libraries.

Now that <rdar://problem/9898937> is resolved, we should be linking
to debug AVFoundationCF as well.

* page/CaptionUserPreferencesMediaAF.cpp: Link to AVFoundationCF_debug
when building with the DEBUG_ALL target.
* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Ditto.
* platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Ditto.

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

6 years ago[GTK] improving tests expectations related to trackmenu
commit-queue@webkit.org [Thu, 5 Sep 2013 17:28:28 +0000 (17:28 +0000)]
[GTK] improving tests expectations related to trackmenu
https://bugs.webkit.org/show_bug.cgi?id=120699

Adding tests expectations to the current GTK's trackmenu
implementation.

Also adding a in-band-track test expectation as failure since we don't
support in-band tracks yet.

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

* platform/gtk/TestExpectations:
* platform/gtk/media/video-controls-captions-trackmenu-expected.txt: Added.
* platform/gtk/media/video-controls-captions-trackmenu-hide-on-click-expected.txt: Added.
* platform/gtk/media/video-controls-captions-trackmenu-localized-expected.txt: Added.
* platform/gtk/media/video-controls-captions-trackmenu-sorted-expected.txt: Added.

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

6 years agoLink to libdispatch_debug.lib when using DebugSuffix configuration.
roger_fong@apple.com [Thu, 5 Sep 2013 17:21:16 +0000 (17:21 +0000)]
Link to libdispatch_debug.lib when using DebugSuffix configuration.
https://bugs.webkit.org/show_bug.cgi?id=120712.
<rdar://problem/14883216>.

Reviewed by Brent Fulgham.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

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

6 years agoChange StringBuffer back to not use an OwnPtr in an attempt to fix ports.
andersca@apple.com [Thu, 5 Sep 2013 17:11:55 +0000 (17:11 +0000)]
Change StringBuffer back to not use an OwnPtr in an attempt to fix ports.

* wtf/text/StringBuffer.h:

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

6 years ago[WK2] [GTK] Remove the test to disable AC under Wayland from WebKitWebViewGroup
berto@igalia.com [Thu, 5 Sep 2013 17:10:13 +0000 (17:10 +0000)]
[WK2] [GTK] Remove the test to disable AC under Wayland from WebKitWebViewGroup
https://bugs.webkit.org/show_bug.cgi?id=120762

Reviewed by Gustavo Noronha Silva.

The code to disable AC under Wayland is not run if we're using
WebKitTestRunner, so it would be better to move it to
WebKitWebViewBase.

However it's not really necessary to do that, instead it's much
simpler to disable accelerated compositing in all cases unless we
know we can support it.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseUpdatePreferences):
* UIProcess/API/gtk/WebKitWebViewGroup.cpp:
(webkitWebViewGroupAttachSettingsToPageGroup):

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

6 years agoMake build.webkit.org report the number of failing run-fast-jsc tests
ossy@webkit.org [Thu, 5 Sep 2013 16:42:00 +0000 (16:42 +0000)]
Make build.webkit.org report the number of failing run-fast-jsc tests
https://bugs.webkit.org/show_bug.cgi?id=120766

Reviewed by Filip Pizlo.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunJavaScriptCoreTests.commandComplete):
(RunJavaScriptCoreTests.getText2):
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
(RunJavaScriptCoreTestsTest): Added.
(RunJavaScriptCoreTestsTest.assertResults):
(RunJavaScriptCoreTestsTest.test_no_regressions_old_output):
(RunJavaScriptCoreTestsTest.test_mozilla_failure_old_output):
(RunJavaScriptCoreTestsTest.test_mozilla_failure_new_output):
(RunJavaScriptCoreTestsTest.test_fast_js_failure_new_output):
(RunJavaScriptCoreTestsTest.test_fast_js_crash_new_output):
(RunJavaScriptCoreTestsTest.test_mozilla_and_fast_js_failure_new_output):

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

6 years ago[Windows] Unreviewed build fix for DebugSuffix target.
bfulgham@apple.com [Thu, 5 Sep 2013 16:28:15 +0000 (16:28 +0000)]
[Windows] Unreviewed build fix for DebugSuffix target.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Don't build 64-bit assembly in 32-bit build.
Also correct 'filters' file so that files appear in categories that match their on-disk locations.

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

6 years agofast/js/dfg-* tests should wait for the concurrent JIT
fpizlo@apple.com [Thu, 5 Sep 2013 15:54:07 +0000 (15:54 +0000)]
fast/js/dfg-* tests should wait for the concurrent JIT
https://bugs.webkit.org/show_bug.cgi?id=120723

Rubber stamped by Oliver Hunt.

Convert more tests.

* fast/js/dfg-branch-logical-not-peephole-around-osr-exit-expected.txt:
* fast/js/dfg-branch-not-fail-expected.txt:
* fast/js/dfg-byte-array-put-expected.txt:
* fast/js/dfg-call-function-hit-watchpoint-expected.txt:
* fast/js/dfg-call-method-hit-watchpoint-expected.txt:
* fast/js/dfg-captured-var-get-local-expected.txt:
* fast/js/dfg-cfa-merge-with-dead-use-at-tail-expected.txt:
* fast/js/dfg-cfg-simplify-eliminate-set-local-type-check-then-branch-not-null-and-decrement-expected.txt:
* fast/js/dfg-cfg-simplify-eliminate-set-local-type-check-then-branch-not-null-expected.txt:
* fast/js/dfg-cfg-simplify-eliminate-set-local-type-check-then-typeof-expected.txt:
* fast/js/dfg-cfg-simplify-phantom-get-local-on-same-block-set-local-expected.txt:
* fast/js/dfg-cfg-simplify-redundant-dead-get-local-expected.txt:
* fast/js/dfg-check-function-change-structure-expected.txt:
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-branch-logical-not-peephole-around-osr-exit.js:
* fast/js/script-tests/dfg-branch-not-fail.js:
* fast/js/script-tests/dfg-byte-array-put.js:
* fast/js/script-tests/dfg-call-function-hit-watchpoint.js:
* fast/js/script-tests/dfg-call-method-hit-watchpoint.js:
* fast/js/script-tests/dfg-captured-var-get-local.js:
* fast/js/script-tests/dfg-cfa-merge-with-dead-use-at-tail.js:
* fast/js/script-tests/dfg-cfg-simplify-eliminate-set-local-type-check-then-branch-not-null-and-decrement.js:
* fast/js/script-tests/dfg-cfg-simplify-eliminate-set-local-type-check-then-branch-not-null.js:
* fast/js/script-tests/dfg-cfg-simplify-eliminate-set-local-type-check-then-typeof.js:
* fast/js/script-tests/dfg-cfg-simplify-phantom-get-local-on-same-block-set-local.js:
* fast/js/script-tests/dfg-cfg-simplify-redundant-dead-get-local.js:
* fast/js/script-tests/dfg-check-function-change-structure.js:

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

6 years agoVector::releaseBuffer should return an OwnPtr
andersca@apple.com [Thu, 5 Sep 2013 15:20:51 +0000 (15:20 +0000)]
Vector::releaseBuffer should return an OwnPtr
https://bugs.webkit.org/show_bug.cgi?id=120718

Reviewed by Andreas Kling.

Source/WebCore:

Change FormStreamFields::currentData to an OwnPtr.

* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::closeCurrentStream):
(WebCore::advanceCurrentStream):
(WebCore::formCreate):

Source/WTF:

Change Vector::releaseBuffer() to return an OwnPtr. I intentionally chose
to use an OwnPtr over a PassOwnPtr since we're trying to move away from PassOwnPtr objects.

Fix fallout from this change by adopting OwnPtr/PassOwnPtr in StringBuffer and the two StringImpl
constructors that adopt the passed in pointer.

* wtf/Vector.h:
* wtf/text/StringBuffer.h:
* wtf/text/StringImpl.h:

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

6 years agoReverting "Cached Page and Frame don't need to be ref-counted.
akling@apple.com [Thu, 5 Sep 2013 15:17:33 +0000 (15:17 +0000)]
Reverting "Cached Page and Frame don't need to be ref-counted.
<https://webkit.org/b/120758>

This didn't work so well on Qt bots. Will have to take bigger steps
here instead of iterating.

* history/CachedFrame.h:
(WebCore::CachedFrame::create):
* history/CachedPage.cpp:
(WebCore::CachedPage::create):
* history/CachedPage.h:
* history/HistoryItem.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):
* loader/FrameLoader.h:

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

6 years agoAnimations in an AnimationList are never null
andersca@apple.com [Thu, 5 Sep 2013 15:15:59 +0000 (15:15 +0000)]
Animations in an AnimationList are never null
https://bugs.webkit.org/show_bug.cgi?id=120720

Reviewed by Andreas Kling.

Change AnimationList::operator[] to return an Animation& and fix up related code to also take references.

* css/CSSComputedStyleDeclaration.cpp:
* css/DeprecatedStyleBuilder.cpp:
* page/animation/CompositeAnimation.cpp:
* page/animation/KeyframeAnimation.cpp:
* platform/animation/Animation.h:
* platform/animation/AnimationList.cpp:
* platform/animation/AnimationList.h:
* rendering/RenderLayerBacking.cpp:

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

6 years agoMake run-fast-jsc script bash, dash and Darwin's /bin/sh friendly
ossy@webkit.org [Thu, 5 Sep 2013 15:11:58 +0000 (15:11 +0000)]
Make run-fast-jsc script bash, dash and Darwin's /bin/sh friendly
https://bugs.webkit.org/show_bug.cgi?id=120759

Reviewed by Filip Pizlo.

* Scripts/run-fast-jsc: Remove bashisms to make bash, dash and Darwin's /bin/sh happy.
* Scripts/run-javascriptcore-tests: Enable run-fast-jsc tests everywhere, except Windows.

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

6 years agoUnreviewed, green the Mac bots by boosting the timeout on JSC tests. One of the
fpizlo@apple.com [Thu, 5 Sep 2013 15:01:12 +0000 (15:01 +0000)]
Unreviewed, green the Mac bots by boosting the timeout on JSC tests. One of the
Mozilla tests appears to run for a longer time.

I think we want to continue to allow a few tests here and there to be
longer-running, rather than excluding them. I seem to recall that those tests
catch good bugs.

* Scripts/run-javascriptcore-tests:

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

6 years agoCall createTextRenderersForSiblingsAfterAttachIfNeeded only for the attach root
antti@apple.com [Thu, 5 Sep 2013 14:45:58 +0000 (14:45 +0000)]
Call createTextRenderersForSiblingsAfterAttachIfNeeded only for the attach root
https://bugs.webkit.org/show_bug.cgi?id=120770

Reviewed by Andreas Kling.

There is no need to call this during recursive attach as siblings are going to be attached normally anyway.
Move call sites to attach roots only.

* style/StyleResolveTree.cpp:
(WebCore::Style::createTextRenderersForSiblingsAfterAttachIfNeeded):

    Factor to take reference and do the inital tests itself.

(WebCore::Style::createTextRendererIfNeeded):
(WebCore::Style::updateTextRendererAfterContentChange):
(WebCore::Style::attachChildren):

    Also tightened the condition where previously attached children may be encountered.

(WebCore::Style::attachRenderTree):
(WebCore::Style::resolveLocal):
(WebCore::Style::updateTextStyle):
(WebCore::Style::reattachRenderTree):

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

6 years agoRemove String(RefPtr<StringImpl>) constructor
mikhail.pozdnyakov@intel.com [Thu, 5 Sep 2013 14:31:30 +0000 (14:31 +0000)]
Remove String(RefPtr<StringImpl>) constructor
https://bugs.webkit.org/show_bug.cgi?id=120767

Reviewed by Anders Carlsson.

The String(RefPtr<StringImpl>) constructor should be removed for the following reasons:
- It almost does not have clients, so it is unneeded.
- RefPtr should never be passed by value

* wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::shrinkToFit):
* wtf/text/WTFString.h:

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

6 years ago[CSS Regions] Convert existing pixel tests in ref tests
commit-queue@webkit.org [Thu, 5 Sep 2013 14:23:14 +0000 (14:23 +0000)]
[CSS Regions] Convert existing pixel tests in ref tests
https://bugs.webkit.org/show_bug.cgi?id=120760

Patch by Mihai Maerean <mmaerean@adobe.com> on 2013-09-05
Reviewed by Antti Koivisto.

I have also removed text-align:justify from the tests because its not relevant to the tested functionality and
it makes creating the expected results very difficult because of the way fragmented text is rendered when
it's aligned justified.

* fast/regions/overflow-in-uniform-regions-dynamic-expected.html: Added.
* fast/regions/overflow-in-uniform-regions-dynamic.html:
* fast/regions/overflow-in-variable-width-regions-expected.html: Added.
* fast/regions/overflow-in-variable-width-regions.html:
* fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.html: Added.
* fast/regions/overflow-moving-below-floats-in-variable-width-regions.html:
* fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.html: Added.
* fast/regions/overflow-not-moving-below-floats-in-variable-width-regions.html:
* fast/regions/overflow-rtl-in-variable-width-regions-expected.html: Added.
* fast/regions/overflow-rtl-in-variable-width-regions.html:
* fast/regions/overflow-size-change-in-variable-width-regions-expected.html: Added.
* fast/regions/overflow-size-change-in-variable-width-regions.html:
* platform/efl/fast/regions/overflow-in-uniform-regions-dynamic-expected.png: Removed.
* platform/efl/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt: Removed.
* platform/efl/fast/regions/overflow-in-variable-width-regions-expected.png: Removed.
* platform/efl/fast/regions/overflow-in-variable-width-regions-expected.txt: Removed.
* platform/efl/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png: Removed.
* platform/efl/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt: Removed.
* platform/efl/fast/regions/overflow-rtl-in-variable-width-regions-expected.png: Removed.
* platform/efl/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt: Removed.
* platform/efl/fast/regions/overflow-size-change-in-variable-width-regions-expected.png: Removed.
* platform/efl/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt: Removed.
* platform/gtk/fast/regions/overflow-in-uniform-regions-dynamic-expected.png: Removed.
* platform/gtk/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt: Removed.
* platform/gtk/fast/regions/overflow-in-variable-width-regions-expected.png: Removed.
* platform/gtk/fast/regions/overflow-in-variable-width-regions-expected.txt: Removed.
* platform/gtk/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png: Removed.
* platform/gtk/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt: Removed.
* platform/gtk/fast/regions/overflow-rtl-in-variable-width-regions-expected.png: Removed.
* platform/gtk/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt: Removed.
* platform/gtk/fast/regions/overflow-size-change-in-variable-width-regions-expected.png: Removed.
* platform/gtk/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt: Removed.
* platform/mac/fast/regions/overflow-in-uniform-regions-dynamic-expected.png: Removed.
* platform/mac/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt: Removed.
* platform/mac/fast/regions/overflow-in-variable-width-regions-expected.png: Removed.
* platform/mac/fast/regions/overflow-in-variable-width-regions-expected.txt: Removed.
* platform/mac/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png: Removed.
* platform/mac/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt: Removed.
* platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.png: Removed.
* platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt: Removed.
* platform/mac/fast/regions/overflow-size-change-in-variable-width-regions-expected.png: Removed.
* platform/mac/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt: Removed.
* platform/qt-wk2/fast/regions/overflow-in-uniform-regions-dynamic-expected.png: Removed.
* platform/qt-wk2/fast/regions/overflow-in-variable-width-regions-expected.png: Removed.
* platform/qt-wk2/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png: Removed.
* platform/qt-wk2/fast/regions/overflow-rtl-in-variable-width-regions-expected.png: Removed.
* platform/qt-wk2/fast/regions/overflow-size-change-in-variable-width-regions-expected.png: Removed.
* platform/qt/fast/regions/overflow-in-uniform-regions-dynamic-expected.png: Removed.
* platform/qt/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt: Removed.
* platform/qt/fast/regions/overflow-in-variable-width-regions-expected.png: Removed.
* platform/qt/fast/regions/overflow-in-variable-width-regions-expected.txt: Removed.
* platform/qt/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png: Removed.
* platform/qt/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt: Removed.
* platform/qt/fast/regions/overflow-rtl-in-variable-width-regions-expected.png: Removed.
* platform/qt/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt: Removed.
* platform/qt/fast/regions/overflow-size-change-in-variable-width-regions-expected.png: Removed.
* platform/qt/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt: Removed.

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

6 years ago[GTK] Assertion fails when the mouse pointer is styled with a custom cursor
commit-queue@webkit.org [Thu, 5 Sep 2013 14:15:46 +0000 (14:15 +0000)]
[GTK] Assertion fails when the mouse pointer is styled with a custom cursor
https://bugs.webkit.org/show_bug.cgi?id=118905

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2013-09-05
Reviewed by Philippe Normand.

Checked that the custom cursor image and its pixbuf is valid and create a null
cursor otherwise.

* platform/gtk/CursorGtk.cpp:
(WebCore::createCustomCursor):

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

6 years agoPrecision updates in WebAudio.
commit-queue@webkit.org [Thu, 5 Sep 2013 13:25:50 +0000 (13:25 +0000)]
Precision updates in WebAudio.
https://bugs.webkit.org/show_bug.cgi?id=119739

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2013-09-05
Reviewed by Philippe Normand.

WebAudio Specification suggests to use 'double' datatypes
for minDecibels, maxDecibels and smoothingTimeConstant in
AnalyserNode.idl and currentTime in AudioContext.idl.
Current WebKit implementation has declared these attributes
as 'float' type.

Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioContext-section
      https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AnalyserNode

No new tests, covered by existing tests.

* Modules/webaudio/AnalyserNode.cpp:
(WebCore::AnalyserNode::setMinDecibels):
(WebCore::AnalyserNode::setMaxDecibels):
(WebCore::AnalyserNode::setSmoothingTimeConstant):
* Modules/webaudio/AnalyserNode.h:
(WebCore::AnalyserNode::minDecibels):
(WebCore::AnalyserNode::maxDecibels):
(WebCore::AnalyserNode::smoothingTimeConstant):
* Modules/webaudio/AnalyserNode.idl:
* Modules/webaudio/AudioContext.idl:
* Modules/webaudio/RealtimeAnalyser.h:
(WebCore::RealtimeAnalyser::setMinDecibels):
(WebCore::RealtimeAnalyser::minDecibels):
(WebCore::RealtimeAnalyser::setMaxDecibels):
(WebCore::RealtimeAnalyser::maxDecibels):
(WebCore::RealtimeAnalyser::setSmoothingTimeConstant):
(WebCore::RealtimeAnalyser::smoothingTimeConstant):

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

6 years ago[GTK] media/track/in-band/ layout tests introduced in r154908 are failing
commit-queue@webkit.org [Thu, 5 Sep 2013 13:22:00 +0000 (13:22 +0000)]
[GTK] media/track/in-band/ layout tests introduced in r154908 are failing
https://bugs.webkit.org/show_bug.cgi?id=120665

Patch by Brendan Long <b.long@cablelabs.com> on 2013-09-05
Reviewed by Philippe Normand.

* platform/efl/TestExpectations: Skip new media/track/in-band tests.

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

6 years ago[Qt] Unreviewed gardening.
zarvai@inf.u-szeged.hu [Thu, 5 Sep 2013 12:34:35 +0000 (12:34 +0000)]
[Qt] Unreviewed gardening.

* platform/qt-wk1/TestExpectations: Unskipping after 155104.
* platform/qt/TestExpectations: Unskipping after r155061.

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

6 years agoReplace node() calls with generatingNode() for RenderRegion code
mihnea@adobe.com [Thu, 5 Sep 2013 10:33:05 +0000 (10:33 +0000)]
Replace node() calls with generatingNode() for RenderRegion code
https://bugs.webkit.org/show_bug.cgi?id=120397

Reviewed by Darin Adler.

As regions will become anonymous blocks nested inside elements with the flow-from property, a first step
would be to change the calls to node() with calls to generatingNode(). In the case of regions, generatingNode()
will always return an Element* and not a Node*. Therefore, to get rid of toElement() casts, i created
a specific method RenderRegion::generatingElement that will return the generating node as Element.
No new tests as no functional change was introduced.

Original patch by Catalin Badea.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::getRegionsByContent):
(WebCore::WebKitNamedFlow::getRegions):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::regionOversetState):
(WebCore::RenderRegion::setRegionOversetState):
(WebCore::RenderRegion::checkRegionStyle):
* rendering/RenderRegion.h:
(WebCore::RenderRegion::generatingElement):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeRenderRegionList): For pseudo-elements as regions, i want to print
{pseudo} instead of {div} marker for the parent.

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

6 years agoFix SynchronousLoaderClient class for !USE(CFNETWORK) platforms
ossy@webkit.org [Thu, 5 Sep 2013 09:51:25 +0000 (09:51 +0000)]
Fix SynchronousLoaderClient class for !USE(CFNETWORK) platforms
https://bugs.webkit.org/show_bug.cgi?id=120532

Reviewed by Darin Adler.

* CMakeLists.txt:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* platform/network/SynchronousLoaderClient.cpp:
* platform/network/cf/SynchronousLoaderClientCFNet.cpp: Added.
(WebCore::SynchronousLoaderClient::didReceiveAuthenticationChallenge):
(WebCore::SynchronousLoaderClient::platformBadResponseError):
* platform/network/soup/SynchronousLoaderClientSoup.cpp: Added.
(WebCore::SynchronousLoaderClient::didReceiveAuthenticationChallenge):
(WebCore::SynchronousLoaderClient::platformBadResponseError):

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

6 years agoFix unused parameter warning in WebKitAccessibleInterfaceText.cpp
jinwoo7.song@samsung.com [Thu, 5 Sep 2013 09:01:02 +0000 (09:01 +0000)]
Fix unused parameter warning in WebKitAccessibleInterfaceText.cpp
<https://webkit.org/b/120761>

Reviewed by Gyuyoung Kim.

Fix warning by removing unused parameter.

* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(sentenceAtPositionForAtkBoundary):

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

6 years agoUnreviewed. Fix build after r155083
ljaehun.lim@samsung.com [Thu, 5 Sep 2013 08:41:25 +0000 (08:41 +0000)]
Unreviewed. Fix build after r155083

Source/WTF/wtf/Vector.h:1210:48: error: ‘>>’ should be ‘> >’ within a nested template argument list

* wtf/Vector.h: Add missing space.

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

6 years agoNULL ptr in WebCore::RefCountedPropertyWrapper<WebCore::ClipPathOperation>::blend
krit@webkit.org [Thu, 5 Sep 2013 07:38:46 +0000 (07:38 +0000)]
NULL ptr in WebCore::RefCountedPropertyWrapper<WebCore::ClipPathOperation>::blend
https://bugs.webkit.org/show_bug.cgi?id=105408

Reviewed by Dean Jackson.

Source/WebCore:

Adding an early return if from or to clip-path values are 'none'. According to the
specification we shall just interpolate between two basic shapes.

http://dev.w3.org/csswg/css-shapes/#basic-shape-interpolation

* page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):

LayoutTests:

Test that animation from none to a basic shape on -webkit-clip-path doesn't crash.

* css3/masking/clip-path-animation-expected.txt:
* css3/masking/clip-path-animation.html:

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

6 years ago[Qt][WK1] REGRESSION(r154988): compositing/video/video-with-invalid-source.html
commit-queue@webkit.org [Thu, 5 Sep 2013 07:33:38 +0000 (07:33 +0000)]
[Qt][WK1] REGRESSION(r154988): compositing/video/video-with-invalid-source.html
https://bugs.webkit.org/show_bug.cgi?id=120683

Patch by Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk> on 2013-09-05
Reviewed by Philippe Normand.

Do not set pipeline state to NULL on MediaPlayerPrivateGStreamer::loadingFailed()
otherwise the bus is flushed and we never get a GST_MESSAGE_ERROR when failing to
load uris.
Also restore previous behaviour (before r154988) of not invoking loadingFailed() for
all failed manual state change attempts.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
Do not call loadingFailed() if state change fails as all manual state changes are
now done with changePipelineState().
(WebCore::MediaPlayerPrivateGStreamer::play):
(WebCore::MediaPlayerPrivateGStreamer::pause):
(WebCore::MediaPlayerPrivateGStreamer::seek):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
Restore previous behaviour (before changeset r154988) when calling changePipelineState().
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
Do nothing if changing to READY on EOS (same behaviour as setting to NULL as it was before
changeset r154988).
(WebCore::MediaPlayerPrivateGStreamer::loadingFailed):
Do not set pipeline state to NULL so we properly get GST_MESSAGE_ERROR on loading failures.

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

6 years agoUnreviewed, don't run fast/js tests in run-javascriptcore-tests on platforms that
fpizlo@apple.com [Thu, 5 Sep 2013 07:23:58 +0000 (07:23 +0000)]
Unreviewed, don't run fast/js tests in run-javascriptcore-tests on platforms that
can't support it because if non-bourne shells. This fixes part #2 of the Linux
bot breakage.

* Scripts/run-javascriptcore-tests:

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

6 years ago[GTK] MediaControlsGtk: fix warning in constructor due to incorrect order of attributes
berto@igalia.com [Thu, 5 Sep 2013 07:22:01 +0000 (07:22 +0000)]
[GTK] MediaControlsGtk: fix warning in constructor due to incorrect order of attributes
https://bugs.webkit.org/show_bug.cgi?id=120703

Reviewed by Carlos Garcia Campos.

Fix member initialization so it matches their declaration [-Wreorder].

* html/shadow/MediaControlsGtk.cpp:
(WebCore::MediaControlsGtk::MediaControlsGtk):

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

6 years agoUnreviewed, don't rely on File::Slurp. This fixes part #1 of Linux bot breakage.
fpizlo@apple.com [Thu, 5 Sep 2013 07:18:58 +0000 (07:18 +0000)]
Unreviewed, don't rely on File::Slurp. This fixes part #1 of Linux bot breakage.

* Scripts/run-javascriptcore-tests:
(readAllLines):

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

6 years agoSupport interpolation between cross-fade() images
krit@webkit.org [Thu, 5 Sep 2013 06:50:05 +0000 (06:50 +0000)]
Support interpolation between cross-fade() images
https://bugs.webkit.org/show_bug.cgi?id=119955

Reviewed by Darin Adler.

Source/WebCore:

With this patch, CSS can animate from one -webkit-cross-fade
function to another, when the input images are the same in the
same order.

* css/CSSCrossfadeValue.cpp: Added blend function.
(WebCore::blendFunc):
(WebCore::CSSCrossfadeValue::blend):
(WebCore::CSSCrossfadeValue::equals):
(WebCore::CSSCrossfadeValue::equalInputImages):
* css/CSSCrossfadeValue.h: Added save casting functions.
(WebCore::toCSSCrossfadeValue):
* css/CSSValue.h:
(WebCore::CSSValue::isCrossfadeValue):
* page/animation/CSSPropertyAnimation.cpp: Add another condition to
    interpolate between two -webkit-cross-fade functions.
(WebCore::blendFunc):

LayoutTests:

Test interpolation from one cross-fade function to another. Changed pixel test
to a ref test.

* animations/cross-fade-background-image.html:
* animations/cross-fade-background-image-expected.html: Added.
* platform/mac/animations/cross-fade-background-image-expected.png: Removed.
* platform/mac/animations/cross-fade-background-image-expected.txt: Removed.

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

6 years ago<https://webkit.org/b/118553> Hash navigation doesn't affect history when the page...
zherczeg@webkit.org [Thu, 5 Sep 2013 06:38:55 +0000 (06:38 +0000)]
<https://webkit.org/b/118553> Hash navigation doesn't affect history when the page is retrieved from appcache

Reviewed by Darin Adler.

Source/WebCore:

A new flag called keepInHistory is added to allow keeping
certain pages in the history even if they have substitute data.

Test: http/tests/appcache/history-test.html

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::urlForHistory):
* loader/SubstituteData.h:
(WebCore::SubstituteData::SubstituteData):
(WebCore::SubstituteData::shouldRevealToSessionHistory):
(WebCore::SubstituteData::setShouldRevealToSessionHistory):
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadMainResource):

LayoutTests:

* http/tests/appcache/history-test-expected.txt: Added.
* http/tests/appcache/history-test.html: Added.
* http/tests/appcache/resources/history-test.html: Added.
* http/tests/appcache/resources/history-test.manifest: Added.

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

6 years agojsc tests should have timeouts
fpizlo@apple.com [Thu, 5 Sep 2013 06:34:58 +0000 (06:34 +0000)]
jsc tests should have timeouts
https://bugs.webkit.org/show_bug.cgi?id=120725

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Add the timeout logic directly to 'jsc' because that's easier to do than
writing shell/perl code for it.

* jsc.cpp:
(timeoutThreadMain):
(main):

Tools:

Reviewed by Geoffrey Garen.

Set the timeout to 20 seconds per test for now.

* Scripts/run-javascriptcore-tests:

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

6 years agoTest background blend modes with animated gif background layers.
commit-queue@webkit.org [Thu, 5 Sep 2013 06:32:35 +0000 (06:32 +0000)]
Test background blend modes with animated gif background layers.
https://bugs.webkit.org/show_bug.cgi?id=120057

Patch by Mihai Tica <mitica@adobe.com> on 2013-09-04
Reviewed by Darin Adler.

* css3/compositing/background-blend-mode-gif-color-2.html: Added.
* css3/compositing/background-blend-mode-gif-color.html: Added.
* css3/compositing/resources/squares.gif: Added.
* platform/mac/css3/compositing/background-blend-mode-gif-color-2-expected.png: Added.
* platform/mac/css3/compositing/background-blend-mode-gif-color-2-expected.txt: Added.
* platform/mac/css3/compositing/background-blend-mode-gif-color-expected.png: Added.
* platform/mac/css3/compositing/background-blend-mode-gif-color-expected.txt: Added.

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

6 years agofast/js/dfg-* tests should wait for the concurrent JIT
fpizlo@apple.com [Thu, 5 Sep 2013 06:30:15 +0000 (06:30 +0000)]
fast/js/dfg-* tests should wait for the concurrent JIT
https://bugs.webkit.org/show_bug.cgi?id=120723

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

* runtime/TestRunnerUtils.cpp:
(JSC::numberOfDFGCompiles): This should also handle constructors.

LayoutTests:

Reviewed by Geoffrey Garen.

Add dfgShouldBe(), a handy function that covers a lot of common cases.
Also convert a bunch of tests.

* fast/js/dfg-activation-register-overwritten-in-throw-expected.txt:
* fast/js/dfg-add-not-number-expected.txt:
* fast/js/dfg-allocation-profile-watch-point-exit-expected.txt:
* fast/js/dfg-arguments-alias-escape-expected.txt:
* fast/js/dfg-arguments-cross-code-origin-expected.txt:
* fast/js/dfg-arguments-mixed-alias-expected.txt:
* fast/js/dfg-arguments-strict-mode-expected.txt:
* fast/js/dfg-arguments-unexpected-escape-expected.txt:
* fast/js/dfg-array-dead-expected.txt:
* fast/js/dfg-array-length-dead-expected.txt:
* fast/js/dfg-array-pop-value-clearing-expected.txt:
* fast/js/dfg-array-push-bad-time-expected.txt:
* fast/js/dfg-array-push-slow-put-expected.txt:
* fast/js/dfg-arrayify-when-late-prevent-extensions-expected.txt:
* fast/js/dfg-arrayify-when-prevent-extensions-expected.txt:
* fast/js/dfg-bool-to-int32-reuse-expected.txt:
* fast/js/jsc-test-list:
* fast/js/resources/js-test-pre.js:
(dfgShouldBe):
* fast/js/resources/standalone-pre.js:
(dfgShouldBe):
* fast/js/script-tests/dfg-activation-register-overwritten-in-throw.js:
(g):
* fast/js/script-tests/dfg-add-not-number.js:
* fast/js/script-tests/dfg-allocation-profile-watch-point-exit.js:
(foo):
* fast/js/script-tests/dfg-arguments-alias-escape.js:
* fast/js/script-tests/dfg-arguments-cross-code-origin.js:
* fast/js/script-tests/dfg-arguments-mixed-alias.js:
* fast/js/script-tests/dfg-arguments-strict-mode.js:
* fast/js/script-tests/dfg-arguments-unexpected-escape.js:
* fast/js/script-tests/dfg-array-dead.js:
* fast/js/script-tests/dfg-array-length-dead.js:
* fast/js/script-tests/dfg-array-pop-value-clearing.js:
* fast/js/script-tests/dfg-array-push-bad-time.js:
* fast/js/script-tests/dfg-array-push-slow-put.js:
* fast/js/script-tests/dfg-arrayify-when-late-prevent-extensions.js:
* fast/js/script-tests/dfg-arrayify-when-prevent-extensions.js:
* fast/js/script-tests/dfg-bool-to-int32-reuse.js:

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

6 years agoRemove deprecated markersForNode(Node* node).
g.czajkowski@samsung.com [Thu, 5 Sep 2013 06:29:50 +0000 (06:29 +0000)]
Remove deprecated markersForNode(Node* node).
https://bugs.webkit.org/show_bug.cgi?id=120679

Reviewed by Ryosuke Niwa.

DocumentMarkerController::markersForNode(Node* node) has been marked as
deprecated in favor of markersFor(Node*, MarkerTypes = AllMarkers()).

No new tests, no behavior change.

* dom/DocumentMarkerController.cpp:
* dom/DocumentMarkerController.h:
Remove never used markersForNode(Node*).

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

6 years agoCachedPage construction should begin with a Page&.
akling@apple.com [Thu, 5 Sep 2013 06:20:09 +0000 (06:20 +0000)]
CachedPage construction should begin with a Page&.
<https://webkit.org/b/120721>

Reviewed by Anders Carlsson.

We can't create a CachedPage from a null Page anyway.

* history/CachedPage.cpp:
(WebCore::CachedPage::create):
(WebCore::CachedPage::CachedPage):
(WebCore::CachedPage::restore):
* history/CachedPage.h:
* history/PageCache.cpp:
(WebCore::PageCache::add):
* history/PageCache.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):

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

6 years agosetAttributeNode() does not set the new value to an existing attribute if specified...
a.bah@samsung.com [Thu, 5 Sep 2013 06:05:16 +0000 (06:05 +0000)]
setAttributeNode() does not set the new value to an existing attribute if specified attribute is in a different case.
https://bugs.webkit.org/show_bug.cgi?id=120293

Reviewed by Darin Adler.

Source/WebCore:

setAttributeNode() performs a case-insensitive search for an existing
attribute. If an existing attribute is found, it retrieves the index of
such an attribute. For setting the attribute's new value, we call upon
setAttributeInternal() to which both the index as well as the name of
the attribute is passed.
The name passed to this method is the same as the one passed to the
setAttributeNode() API from the webpage and thus can be in any case.

However, setAttributeInternal() uses this name to get the corresponding
existing attribute node. Since this retrieval is not case-insensitive,
the existing node is not returned and thus the new value is not set on
the existing node.
We should instead use the passed index and use that to retrieve the
existing node.

Note that obtaining the attribute's value using getAttributeNode() would
still return the correct value, i.e. the new one.

Also, this change shall make our behavior similar to that of FF and IE.

Test: fast/dom/Element/setAttributeNode-for-existing-attribute.html

* dom/Element.cpp:
(WebCore::Element::setAttributeInternal):
If the passed index is not equal to attributeNotFound, we use that index
to retrieve the existing attribute.

LayoutTests:

* fast/dom/Element/setAttributeNode-for-existing-attribute-expected.txt: Added.
* fast/dom/Element/setAttributeNode-for-existing-attribute.html: Added.
Layout testcase for verifying that the new attribute value is set properly
if an existing attribute with the same name exists.

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

6 years agorun-javascriptcore-tests should run-fast-jsc as well
fpizlo@apple.com [Thu, 5 Sep 2013 04:44:02 +0000 (04:44 +0000)]
run-javascriptcore-tests should run-fast-jsc as well
https://bugs.webkit.org/show_bug.cgi?id=120722

Tools:

Reviewed by Geoffrey Garen.

Makes run-javascriptcore-tests run the fast/js tests via run-fast-jsc tool.
Integrates run-fast-jsc's error reporting into run-javascriptcore-tests.

* Scripts/run-javascriptcore-tests:
(printThingsFound):

LayoutTests:

Reviewed by Geoffrey Garen.

Make all run-fast-jsc tests pass:

- We should always define successfullyParsed and we shouldn't falsify it
  when a test fails. This was already true in js-test-pre.

- Object-defineProperty() depends on DOM-like global object behavior.
  Remove the test from the run-fast-jsc list.

* fast/js/jsc-test-list:
* fast/js/resources/standalone-pre.js:
(testFailed):

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

6 years agoCachedFrame construction should begin with a Frame&.
akling@apple.com [Thu, 5 Sep 2013 03:13:24 +0000 (03:13 +0000)]
CachedFrame construction should begin with a Frame&.
<https://webkit.org/b/120719>

Reviewed by Anders Carlsson.

We can't create a CachedFrame from a null Frame anyway.

* bindings/js/ScriptCachedFrameData.cpp:
(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):
* bindings/js/ScriptCachedFrameData.h:
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::CachedFrameBase):
(WebCore::CachedFrameBase::restore):
(WebCore::CachedFrame::CachedFrame):
* history/CachedFrame.h:
(WebCore::CachedFrame::create):
* history/CachedPage.cpp:
(WebCore::CachedPage::CachedPage):

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

6 years agorun-fast-jsc should work with new-school fast/js tests that loop until the DFG tiers up
fpizlo@apple.com [Thu, 5 Sep 2013 03:09:57 +0000 (03:09 +0000)]
run-fast-jsc should work with new-school fast/js tests that loop until the DFG tiers up
https://bugs.webkit.org/show_bug.cgi?id=120697

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

* API/JSCTestRunnerUtils.cpp:
(JSC::numberOfDFGCompiles):
(JSC::setNeverInline):
* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* jsc.cpp:
(GlobalObject::finishCreation):
(functionNeverInlineFunction):
(functionNumberOfDFGCompiles):
* runtime/TestRunnerUtils.cpp: Added.
(JSC::getExecutable):
(JSC::numberOfDFGCompiles):
(JSC::setNeverInline):
* runtime/TestRunnerUtils.h: Added.

LayoutTests:

* fast/js/resources/standalone-pre.js:
(testPassed):
(testFailed):
(dfgCompiled):

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

6 years agoSet "render tree being torn down" flag a bit earlier.
akling@apple.com [Thu, 5 Sep 2013 03:04:58 +0000 (03:04 +0000)]
Set "render tree being torn down" flag a bit earlier.
<https://webkit.org/b/120717>

Reviewed by Anders Carlsson.

Set the flag at the start of Document::detach() so everyone can get a chance
to avoid unnecessary work, not just renderers.

* dom/Document.cpp:
(WebCore::Document::detach):

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

6 years agoIntroduce a version of SunSpider that runs for a really long time (about 1 sec on...
fpizlo@apple.com [Thu, 5 Sep 2013 02:53:16 +0000 (02:53 +0000)]
Introduce a version of SunSpider that runs for a really long time (about 1 sec on my machine)

Rubber stamped by Mark Hahnenberg.

This isn't meant for serious VM-to-VM performance comparisons, but it is useful
to see how these benchmarks behave when they're completely warmed up.

* LongSpider: Added.
* LongSpider/3d-cube.js: Added.
(DrawLine):
(CalcCross):
(CalcNormal):
(CreateP):
(MMulti):
(VMulti):
(VMulti2):
(MAdd):
(Translate):
(RotateX):
(RotateY):
(RotateZ):
(DrawQube):
(Loop):
(Init):
* LongSpider/3d-morph.js: Added.
(loops.3500.nx.120.nz.120.morph):
* LongSpider/3d-raytrace.js: Added.
(createVector):
(sqrLengthVector):
(lengthVector):
(addVector):
(subVector):
(scaleVector):
(normaliseVector):
(add):
(sub):
(scalev):
(dot):
(scale):
(cross):
(normalise):
(transformMatrix):
(invertMatrix):
(Triangle):
(Triangle.prototype.intersect):
(Scene):
(Scene.prototype.intersect):
(Scene.prototype.blocked):
(Camera):
(Camera.prototype.generateRayPair):
(renderRows):
(Camera.prototype.render):
(raytraceScene.floorShader):
(raytraceScene):
(arrayToCanvasCommands):
* LongSpider/access-binary-trees.js: Added.
(TreeNode):
(TreeNode.prototype.itemCheck):
(bottomUpTree):
* LongSpider/access-fannkuch.js: Added.
(fannkuch):
* LongSpider/access-nbody.js: Added.
(Body):
(Body.prototype.offsetMomentum):
(Jupiter):
(Saturn):
(Uranus):
(Neptune):
(Sun):
(NBodySystem):
(NBodySystem.prototype.advance):
(NBodySystem.prototype.energy):
* LongSpider/access-nsieve.js: Added.
(pad):
(nsieve):
(sieve):
* LongSpider/bitops-3bit-bits-in-byte.js: Added.
(fast3bitlookup):
(TimeFunc):
* LongSpider/bitops-bits-in-byte.js: Added.
(bitsinbyte):
(TimeFunc):
* LongSpider/bitops-nsieve-bits.js: Added.
(pad):
(primes):
(sieve):
* LongSpider/controlflow-recursive.js: Added.
(ack):
(fib):
(tak):
* LongSpider/crypto-aes.js: Added.
(Cipher):
(SubBytes):
(ShiftRows):
(MixColumns):
(AddRoundKey):
(KeyExpansion):
(SubWord):
(RotWord):
(AESEncryptCtr):
(AESDecryptCtr):
(escCtrlChars):
* LongSpider/crypto-md5.js: Added.
(hex_md5):
(b64_md5):
(str_md5):
(hex_hmac_md5):
(b64_hmac_md5):
(str_hmac_md5):
(md5_vm_test):
(core_md5):
(md5_cmn):
(md5_ff):
(md5_gg):
(md5_hh):
(md5_ii):
(core_hmac_md5):
(safe_add):
(bit_rol):
(str2binl):
(binl2str):
(binl2hex):
(binl2b64):
* LongSpider/crypto-sha1.js: Added.
(hex_sha1):
(b64_sha1):
(str_sha1):
(hex_hmac_sha1):
(b64_hmac_sha1):
(str_hmac_sha1):
(sha1_vm_test):
(core_sha1):
(sha1_ft):
(sha1_kt):
(core_hmac_sha1):
(safe_add):
(rol):
(str2binb):
(binb2str):
(binb2hex):
(binb2b64):
* LongSpider/date-format-tofte.js: Added.
(arrayExists):
(.a):
(.A):
(.B):
(.d):
(.D):
(.F):
(.g):
(.G):
(.h):
(.H):
(.i):
(.j):
(.l):
(.L):
(.m):
(.M):
(.n):
(.O):
(.r):
(.S):
(.s):
(.t):
(.U):
(.W):
(.w):
(.Y):
(.y):
(.z):
(Date.prototype.formatDate):
* LongSpider/date-format-xparb.js: Added.
(Date.prototype.dateFormat):
(Date.createNewFormat):
(Date.getFormatCode):
(Date.parseDate):
(Date.createParser):
(Date.formatCodeToRegex):
(Date.prototype.getTimezone):
(Date.prototype.getGMTOffset):
(Date.prototype.getDayOfYear):
(Date.prototype.getWeekOfYear):
(Date.prototype.isLeapYear):
(Date.prototype.getFirstDayOfMonth):
(Date.prototype.getLastDayOfMonth):
(Date.prototype.getDaysInMonth):
(Date.prototype.getSuffix):
(String.escape):
* LongSpider/math-cordic.js: Added.
(FIXED):
(FLOAT):
(DEG2RAD):
(cordicsincos):
(cordic):
* LongSpider/math-partial-sums.js: Added.
(partial):
* LongSpider/math-spectral-norm.js: Added.
(A):
(Au):
(Atu):
(AtAu):
(spectralnorm):
* LongSpider/string-base64.js: Added.
(toBase64):
(base64ToString):
* LongSpider/string-fasta.js: Added.
(rand):
(makeCumulative):
(fastaRepeat):
(fastaRandom):
* LongSpider/string-tagcloud.js: Added.
(.Array.prototype.toJSONString):
(.Boolean.prototype.toJSONString):
(.Date.prototype.toJSONString):
(.Number.prototype.toJSONString):
(.Object.prototype.toJSONString):
(.):

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

6 years agoFix AutodrainedPool.h to compile without errors under ARC.
mrowe@apple.com [Thu, 5 Sep 2013 02:44:28 +0000 (02:44 +0000)]
Fix AutodrainedPool.h to compile without errors under ARC.

Rubber-stamped by Anders Carlsson.

* wtf/AutodrainedPool.h: Some versions of Clang complain about any use of NSAutoreleasePool under ARC.
Change the type of the member variable to id to work around this. Since the implementation file is compiled
under manual reference counting, everything will work fine.

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

6 years agoCached Page and Frame don't need to be ref-counted.
akling@apple.com [Thu, 5 Sep 2013 01:41:18 +0000 (01:41 +0000)]
Cached Page and Frame don't need to be ref-counted.
<https://webkit.org/b/120710>

Reviewed by Anders Carlsson.

- CachedPage is owned by HistoryItem.
- CachedFrame is owned by CachedPage.

Remove the ref counting from these objects to make the code less confusing.

The only place that used this was in FrameLoader::commitProvisionalLoad() which
took a temporary ref on the CachedPage. Switched this to using a raw pointer.

* history/CachedFrame.h:
(WebCore::CachedFrame::create):
* history/CachedPage.cpp:
(WebCore::CachedPage::create):
* history/CachedPage.h:
* history/HistoryItem.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):
* loader/FrameLoader.h:

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

6 years ago[EFL][WK2] Move ShouldGoToBackForwardListItem to the list of passing API tests
commit-queue@webkit.org [Thu, 5 Sep 2013 01:22:49 +0000 (01:22 +0000)]
[EFL][WK2] Move ShouldGoToBackForwardListItem to the list of passing API tests
https://bugs.webkit.org/show_bug.cgi?id=120646

Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-09-04
Reviewed by Gyuyoung Kim.

* TestWebKitAPI/PlatformEfl.cmake: Move ShouldGoToBackForwardListItem to the
list of passing tests, since it started to pass after r154045.

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

6 years agoUnreviewed. Windows build fix and WebCore project cleanup.
roger_fong@apple.com [Thu, 5 Sep 2013 01:05:27 +0000 (01:05 +0000)]
Unreviewed. Windows build fix and WebCore project cleanup.

* WebCore.vcxproj/WebCore.vcxproj.filters:
* rendering/RenderingAllInOne.cpp:

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

6 years agoDe-indent Vector.h.
andersca@apple.com [Thu, 5 Sep 2013 01:04:54 +0000 (01:04 +0000)]
De-indent Vector.h.

Rubber-stamped by Andreas Kling.

I'm cleaning up Vector and making it work with move-only objects, and the namespace WTF
indentation is driving me crazy.

* wtf/Vector.h:

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

6 years ago<https://webkit.org/b/120707> Make WebKit's localizable strings mechanism usable...
mrowe@apple.com [Thu, 5 Sep 2013 00:49:56 +0000 (00:49 +0000)]
<https://webkit.org/b/120707> Make WebKit's localizable strings mechanism usable under ARC

WebKit's localizable strings mechanism is also used outside of WebKit so it needs to work
both with and without ARC.

Reviewed by Anders Carlsson.

* Misc/WebLocalizableStrings.h: Mark the bundle member as unretained. This matches how the
member is used within WebLocalizableStrings.mm.

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

6 years agoRenamed StackIterator to StackVisitor.
mark.lam@apple.com [Thu, 5 Sep 2013 00:40:15 +0000 (00:40 +0000)]
Renamed StackIterator to StackVisitor.
https://bugs.webkit.org/show_bug.cgi?id=120706.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Also did some minor refactoring:
- Renamed StackIterator::iterate() to StackVisitor::visit().
- Make StackVisitor::visit() a static method.
- Move the instantiation of the StackVisitor instance into StackVisitor::visit()
  from CallFrame::iterate().
- Removed StackIterator::resetIterator() and inline its body into the
  StackVisitor constructor since this is the only remaining caller of it.

* API/JSContextRef.cpp:
(BacktraceFunctor::operator()):
* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* interpreter/CallFrame.h:
(JSC::ExecState::iterate):
* interpreter/Interpreter.cpp:
(JSC::DumpRegisterFunctor::operator()):
(JSC::unwindCallFrame):
(JSC::getStackFrameCodeType):
(JSC::GetStackTraceFunctor::operator()):
(JSC::UnwindFunctor::operator()):
* interpreter/Interpreter.h:
* interpreter/StackIterator.cpp: Removed.
* interpreter/StackIterator.h: Removed.
* interpreter/StackVisitor.cpp: Copied from Source/JavaScriptCore/interpreter/StackIterator.cpp.
(JSC::StackVisitor::StackVisitor):
(JSC::StackVisitor::gotoNextFrame):
(JSC::StackVisitor::readFrame):
(JSC::StackVisitor::readNonInlinedFrame):
(JSC::StackVisitor::readInlinedFrame):
(JSC::StackVisitor::Frame::codeType):
(JSC::StackVisitor::Frame::functionName):
(JSC::StackVisitor::Frame::sourceURL):
(JSC::StackVisitor::Frame::toString):
(JSC::StackVisitor::Frame::arguments):
(JSC::StackVisitor::Frame::computeLineAndColumn):
(JSC::StackVisitor::Frame::retrieveExpressionInfo):
(JSC::StackVisitor::Frame::setToEnd):
(JSC::StackVisitor::Frame::print):
(DebugPrintFrameFunctor::operator()):
* interpreter/StackVisitor.h: Copied from Source/JavaScriptCore/interpreter/StackIterator.h.
(JSC::StackVisitor::visit):
* jsc.cpp:
(FunctionJSCStackFunctor::operator()):
* profiler/ProfileGenerator.cpp:
(JSC::AddParentForConsoleStartFunctor::operator()):
* runtime/JSFunction.cpp:
(JSC::RetrieveArgumentsFunctor::operator()):
(JSC::RetrieveCallerFunctionFunctor::operator()):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::GlobalFuncProtoGetterFunctor::operator()):
(JSC::GlobalFuncProtoSetterFunctor::operator()):
* runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructorGetPrototypeOfFunctor::operator()):

Source/WebCore:

No new tests.

* ForwardingHeaders/interpreter/StackIterator.h: Removed.
* ForwardingHeaders/interpreter/StackVisitor.h: Copied from Source/WebCore/ForwardingHeaders/interpreter/StackIterator.h.
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::SendFunctor::operator()):
* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::CreateScriptCallStackFunctor::operator()):
(WebCore::CreateScriptCallStackForConsoleFunctor::operator()):

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

6 years agoAX: when no other label on provided on form elements, WebKit should fall back to...
commit-queue@webkit.org [Wed, 4 Sep 2013 22:55:52 +0000 (22:55 +0000)]
AX: when no other label on provided on form elements, WebKit should fall back to using @title
https://bugs.webkit.org/show_bug.cgi?id=112842

Patch by Samuel White <samuel_white@apple.com> on 2013-09-04
Reviewed by Chris Fleizach.

Source/WebCore:

Don't let input elements include empty labels in their accessibility title.

Test: platform/mac/accessibility/input-title.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::titleElementText):

LayoutTests:

Added test to ensure that input elements are computing their
accessibility title as expected.

* platform/mac/accessibility/input-title-expected.txt: Added.
* platform/mac/accessibility/input-title.html: Added.

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

6 years agoMake ImageQualityController per-RenderView.
akling@apple.com [Wed, 4 Sep 2013 22:47:58 +0000 (22:47 +0000)]
Make ImageQualityController per-RenderView.
<https://webkit.org/b/120702>

Reviewed by Anders Carlsson.

Move ImageQualityController to its own files and add a RenderView::imageQualityController()
getter instead of using a global map for all render trees.

This avoids having to unregister every renderer (well, every RenderBoxModelObject) from the
global hash map during render tree teardown.

It also simplifies the live resize optimization a bit since it can now short-circuit if
the RenderView's FrameView is being resized. (Previously there could be any number of
RenderViews present in the map.)

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/ImageQualityController.cpp: Added.
* rendering/ImageQualityController.h: Added.

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

6 years agoUnreviewed Build fix for Windows DebugSuffix configuration.
roger_fong@apple.com [Wed, 4 Sep 2013 22:46:07 +0000 (22:46 +0000)]
Unreviewed Build fix for Windows DebugSuffix configuration.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:

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

6 years agoRefining the StackIterator callback interface.
mark.lam@apple.com [Wed, 4 Sep 2013 22:33:57 +0000 (22:33 +0000)]
Refining the StackIterator callback interface.
https://bugs.webkit.org/show_bug.cgi?id=120695.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Introduce CallFrame::iterate() which instantiates a StackIterator and
invoke its iterate() method with the passed in functor. The only place
where the client code gets access to the StackIterator now is as an
argument to the client's functor.

* API/JSContextRef.cpp:
(JSContextCreateBacktrace):
* interpreter/CallFrame.cpp:
* interpreter/CallFrame.h:
(JSC::ExecState::iterate):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::dumpRegisters):
(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::unwind):
* interpreter/StackIterator.cpp:
(JSC::StackIterator::StackIterator):
(DebugPrintFrameFunctor::DebugPrintFrameFunctor):
(DebugPrintFrameFunctor::operator()):
(debugPrintCallFrame):
(debugPrintStack):
* interpreter/StackIterator.h:
(JSC::StackIterator::iterate):
* jsc.cpp:
(functionJSCStack):
* profiler/ProfileGenerator.cpp:
(JSC::ProfileGenerator::addParentForConsoleStart):
* runtime/JSFunction.cpp:
(JSC::retrieveArguments):
(JSC::RetrieveCallerFunctionFunctor::operator()):
(JSC::retrieveCallerFunction):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetPrototypeOf):

Source/WebCore:

No new tests.

* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::SendFunctor::SendFunctor):
(WebCore::SendFunctor::line):
(WebCore::SendFunctor::url):
(WebCore::SendFunctor::operator()):
(WebCore::JSXMLHttpRequest::send):
* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStack):

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

6 years agoRemove unnecessary RenderView.h inclusion from headers.
akling@apple.com [Wed, 4 Sep 2013 22:28:36 +0000 (22:28 +0000)]
Remove unnecessary RenderView.h inclusion from headers.
<https://webkit.org/b/120365>

Reviewed by Anders Carlsson.

RenderView.h was overzealously included by RenderText and RenderTextTrackCue,
making it unpleasant to edit on my laptop.

* rendering/RenderText.h:
* rendering/RenderTextTrackCue.h:

    Don't include RenderView.h here, do it in .cpp files.

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

6 years agoFixing a typo in demo files and screenshot.
bdakin@apple.com [Wed, 4 Sep 2013 22:28:19 +0000 (22:28 +0000)]
Fixing a typo in demo files and screenshot.

* blog-files/regions/pizza-is-amazing.png: Replaced.
* demos/regions/pizza-regions-manifesto-regionstyling.html:
* demos/regions/pizza-regions-manifesto.html:

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

6 years agoEditor::m_removedAnchor is unused
ap@apple.com [Wed, 4 Sep 2013 22:20:39 +0000 (22:20 +0000)]
Editor::m_removedAnchor is unused
https://bugs.webkit.org/show_bug.cgi?id=120701

Reviewed by Ryosuke Niwa.

* editing/Editor.h: Removed m_removedAnchor. It was not only unused, but also broken,
as we didn't reset it when navigating.

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

6 years agoDocument::updateHoverActiveState() should allow for deferred style recalcs
psolanki@apple.com [Wed, 4 Sep 2013 22:16:01 +0000 (22:16 +0000)]
Document::updateHoverActiveState() should allow for deferred style recalcs
https://bugs.webkit.org/show_bug.cgi?id=120700

Reviewed by Simon Fraser.

Add an extra argument to Document::updateHoverActiveState() to specify if a style recalc
should be done. The default value keeps the current behavior of doing a style recalc. iOS
touch handling code will pass in DeferRecalcStyleIfNeeded to avoid the work.

No new tests because no functional changes.

* dom/Document.cpp:
(WebCore::Document::updateHoverActiveState):
* dom/Document.h:

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

6 years ago[mac] PDFDocumentImage should use PDFKit to draw
timothy_horton@apple.com [Wed, 4 Sep 2013 22:08:26 +0000 (22:08 +0000)]
[mac] PDFDocumentImage should use PDFKit to draw
https://bugs.webkit.org/show_bug.cgi?id=120651
<rdar://problem/12810731>

Reviewed by Alexey Proskuryakov.

Use PDFKit to draw PDF-in-<img> on Mac, so that annotations in PDF are painted.

Test: fast/images/pdf-as-image-with-annotations.html

* WebCore.xcodeproj/project.pbxproj:
Add PDFDocumentImageMac.mm.

* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::PDFDocumentImage):
We don't need to initialize m_document anymore because it's now a RetainPtr.
Initialize m_hasPage to false.

(WebCore::PDFDocumentImage::~PDFDocumentImage):
We don't need to manually release our CGPDFDocumentRef anymore because it's now a RetainPtr.

(WebCore::PDFDocumentImage::size):
Use expandedIntSize for explicitness.

(WebCore::PDFDocumentImage::applyRotationForPainting):
Rename adjustCTM to applyRotationForPainting, and move the one non-rotation related transformation out.
We need to do this because PDFKit applies the rotation transformation itself, so we don't need to.
Also, explicitly use std::min instead of importing the whole std namespace.

(WebCore::PDFDocumentImage::dataChanged):
Assert that we don't re-enter dataChanged after we've created a document,
because it seems like that shouldn't happen - we only create a document when
we've supposedly received all data, and it would be nice if we didn't have
all this varying code to deal with SharedBuffers changing out from under each other.
Factor the code to create a CGPDFDocumentRef out into createPDFDocument, so we can
replace it with a different implementation that creates a PDFDocument.

(WebCore::PDFDocumentImage::setCurrentPage):
Make all page-number-related things unsigned, since they are in CG and PDFKit,
and add m_hasPage to denote whether we've acquired a valid page yet.
Factor code to retrieve the PDF box bounds into computeBoundsForCurrentPage.
Remove setCurrentPage itself, as we never use a page other than the first page;
we will call computeBoundsForCurrentPage and set hasPage in dataChanged, now.

(WebCore::PDFDocumentImage::draw):
Fix a weird comment.
Factor code that actually draws the PDF out into drawPDFPage.

The rest of the functions in this file are only built for USE(CG) && !PLATFORM(MAC):

(WebCore::PDFDocumentImage::createPDFDocument):
Factored out of dataChanged(); I only kept the !PLATFORM(MAC) branch.

(WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
Factored out of setCurrentPage().
Use deg2rad since we have it.

(WebCore::PDFDocumentImage::pageCount):
(WebCore::PDFDocumentImage::drawPDFPage):
Factored out of draw().
Reduced an unnecessary transform (we were effectively doing mediaBox.origin - cropBox.origin - mediaBox.origin).

* platform/graphics/cg/PDFDocumentImage.h:
Unindent all the things, as we don't indent the first level inside a namespace scope.
Forward-declare PDFDocument.
Make m_currentPage unsigned as it should be.
Add m_hasPage.
Make m_document a PDFDocument on PLATFORM(MAC) and a CGPDFDocumentRef on other platforms.

* platform/graphics/mac/PDFDocumentImageMac.mm: Added.
Soft-link in PDFKit and specifically the PDFDocument class.

(WebCore::PDFDocumentImage::createPDFDocument):
Create our PDFDocument from the SharedBuffer's NSData directly. This shouldn't be a problem
(with respect to the SharedBuffer's data being appended to in secret), because we've waited
for the document to finish loading before getting here.

(WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
Ask PDFKit for the page's media and crop boxes; it automatically performs the correct fallback.
Ask PDFKit for the page's rotation.

(WebCore::PDFDocumentImage::pageCount):
Ask PDFKit for the page count.

(WebCore::PDFDocumentImage::drawPDFPage):
Paint the current page of the PDF. Note that we do not apply the rotation here
via applyRotationForPainting because PDFKit will do it itself.

* platform/mac/SoftLinking.h:
I couldn't find any clients of SOFT_LINK_FRAMEWORK_IN_CORESERVICES_UMBRELLA,
so I made it the more generic SOFT_LINK_FRAMEWORK_IN_UMBRELLA, taking the name
of the umbrella framework and the subframework, so I could use it to soft link
Quartz.framework's PDFKit.framework.

* fast/images/pdf-as-image-with-annotations-expected.html: Added.
* fast/images/pdf-as-image-with-annotations.html: Added.
* fast/images/resources/annotation.pdf: Added.
Add a test that ensures that PDF-in-<img> draws simple annotations.

* platform/mac/fast/images/pdf-as-image-landscape-expected.png:
* platform/mac/fast/images/pdf-as-image-landscape-expected.txt:
Extremely minor rebaselines probably due to PDFKit handling rotation in the new implementation.

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

6 years agoUnreviewed Windows build fix.
roger_fong@apple.com [Wed, 4 Sep 2013 22:04:37 +0000 (22:04 +0000)]
Unreviewed Windows build fix.

* WebCore.vcxproj/WebCoreCommon.props:

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

6 years agoCheck that XMLHttpRequest.response returns null or a json object as specified in...
rniwa@webkit.org [Wed, 4 Sep 2013 22:01:48 +0000 (22:01 +0000)]
Check that XMLHttpRequest.response returns null or a json object as specified in the spec according to readyState value.
https://bugs.webkit.org/show_bug.cgi?id=120690

Reviewed by Darin Adler.

Merge https://chromium.googlesource.com/chromium/blink/+/d667a115b0fd8f5e11a24d8db44388a990abf543

* http/tests/xmlhttprequest/resources/test.json: Added.
* http/tests/xmlhttprequest/response-json-and-readystate-expected.txt: Added.
* http/tests/xmlhttprequest/response-json-and-readystate.html: Added.

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

6 years ago[WK2][GTK] ASSERTION in WebKit::LayerTreeHostGtk::invalidate
berto@igalia.com [Wed, 4 Sep 2013 21:59:27 +0000 (21:59 +0000)]
[WK2][GTK] ASSERTION in WebKit::LayerTreeHostGtk::invalidate
https://bugs.webkit.org/show_bug.cgi?id=117733

Reviewed by Martin Robinson.

If the GL context cannot be created then an invalid
LayerTreeHostGtk object will be returned.

This patch disables accelerated compositing if the system doesn't
support it.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewUpdateSettings):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseUpdatePreferences):
(webkitWebViewBaseCreateWebPage):
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:

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

6 years agoFloatingObjects should manage cleaning it's line box tree pointers itself
bjonesbe@adobe.com [Wed, 4 Sep 2013 21:35:56 +0000 (21:35 +0000)]
FloatingObjects should manage cleaning it's line box tree pointers itself
https://bugs.webkit.org/show_bug.cgi?id=120692

Reviewed by David Hyatt.

This is another step in properly encapsulating FloatingObjects.
Instead of having RenderBlock walk and clear the line box tree
pointers, create a method for the behavior, and have RenderBlock call
that.

In addtion, add a proper destructor to FloatingObjects, so that
RenderBlock does not have to explicitly delete the set in
FloatingObjects.

And as a bonus, fix the ordering of an if to avoid the expensive
descendantChild check.

This is a port of a Blink patch by Eric Seidel.

No new tests, no behavior change.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::~RenderBlock):
(WebCore::RenderBlock::deleteLineBoxTree):
(WebCore::RenderBlock::repaintOverhangingFloats):
(WebCore::RenderBlock::FloatingObjects::~FloatingObjects):
(WebCore::RenderBlock::FloatingObjects::clearLineBoxTreePointers):
(WebCore::RenderBlock::FloatingObjects::clear):
* rendering/RenderBlock.h:

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

6 years agoJSGenericTypedArrayViewConstructor.h is referenced twice in the XCode project build...
benjamin@webkit.org [Wed, 4 Sep 2013 21:06:44 +0000 (21:06 +0000)]
JSGenericTypedArrayViewConstructor.h is referenced twice in the XCode project build section, causing warnings
https://bugs.webkit.org/show_bug.cgi?id=120698

Reviewed by Darin Adler.

* JavaScriptCore.xcodeproj/project.pbxproj:

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

6 years agoUpload demo and images for a potential blog post.
bdakin@apple.com [Wed, 4 Sep 2013 20:48:55 +0000 (20:48 +0000)]
Upload demo and images for a potential blog post.

* blog-files/regions: Added.
* blog-files/regions/pizza-is-amazing.png: Added.
* demos/regions: Added.
* demos/regions/pizza-regions-manifesto-regionstyling.html: Added.
* demos/regions/pizza-regions-manifesto.html: Added.
* demos/regions/yellow-pizza.jpg: Added.

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

6 years agoRemove HTMLDialogElement layout tests after r154835
ossy@webkit.org [Wed, 4 Sep 2013 20:45:07 +0000 (20:45 +0000)]
Remove HTMLDialogElement layout tests after r154835
https://bugs.webkit.org/show_bug.cgi?id=120680

Reviewed by Darin Adler.

* fast/dom/HTMLDialogElement/: Removed.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt-mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

6 years agoActually include new results
oliver@apple.com [Wed, 4 Sep 2013 20:16:21 +0000 (20:16 +0000)]
Actually include new results

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

6 years agoRename customCssText -> customCSSText to match WebKit style
timothy_horton@apple.com [Wed, 4 Sep 2013 20:13:30 +0000 (20:13 +0000)]
Rename customCssText -> customCSSText to match WebKit style
https://bugs.webkit.org/show_bug.cgi?id=120694

Reviewed by Simon Fraser.

No new tests, just a rename.

* WebCore.order:
* css/CSSAspectRatioValue.cpp:
(WebCore::CSSAspectRatioValue::customCSSText):
* css/CSSAspectRatioValue.h:
* css/CSSBorderImageSliceValue.cpp:
(WebCore::CSSBorderImageSliceValue::customCSSText):
* css/CSSBorderImageSliceValue.h:
* css/CSSCalculationValue.cpp:
(WebCore::CSSCalcValue::customCSSText):
(WebCore::CSSCalcPrimitiveValue::customCSSText):
(WebCore::CSSCalcBinaryOperation::customCSSText):
* css/CSSCalculationValue.h:
* css/CSSCanvasValue.cpp:
(WebCore::CSSCanvasValue::customCSSText):
* css/CSSCanvasValue.h:
* css/CSSCrossfadeValue.cpp:
(WebCore::CSSCrossfadeValue::customCSSText):
* css/CSSCrossfadeValue.h:
* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::customCSSText):
* css/CSSCursorImageValue.h:
* css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::customCSSText):
* css/CSSFilterImageValue.h:
* css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::customCSSText):
* css/CSSFontFaceSrcValue.h:
* css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::customCSSText):
* css/CSSFunctionValue.h:
* css/CSSGradientValue.cpp:
(WebCore::CSSLinearGradientValue::customCSSText):
(WebCore::CSSRadialGradientValue::customCSSText):
* css/CSSGradientValue.h:
* css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::customCSSText):
* css/CSSImageSetValue.h:
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::customCSSText):
* css/CSSImageValue.h:
* css/CSSInheritedValue.cpp:
(WebCore::CSSInheritedValue::customCSSText):
* css/CSSInheritedValue.h:
* css/CSSInitialValue.cpp:
(WebCore::CSSInitialValue::customCSSText):
* css/CSSInitialValue.h:
* css/CSSLineBoxContainValue.cpp:
(WebCore::CSSLineBoxContainValue::customCSSText):
* css/CSSLineBoxContainValue.h:
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::customCSSText):
(WebCore::CSSPrimitiveValue::customSerializeResolvingVariables):
* css/CSSPrimitiveValue.h:
* css/CSSReflectValue.cpp:
(WebCore::CSSReflectValue::customCSSText):
* css/CSSReflectValue.h:
* css/CSSTimingFunctionValue.cpp:
(WebCore::CSSLinearTimingFunctionValue::customCSSText):
(WebCore::CSSCubicBezierTimingFunctionValue::customCSSText):
(WebCore::CSSStepsTimingFunctionValue::customCSSText):
* css/CSSTimingFunctionValue.h:
* css/CSSUnicodeRangeValue.cpp:
(WebCore::CSSUnicodeRangeValue::customCSSText):
* css/CSSUnicodeRangeValue.h:
* css/CSSValue.cpp:
(WebCore::CSSValue::cssText):
* css/CSSValueList.cpp:
(WebCore::CSSValueList::customCSSText):
* css/CSSValueList.h:
* css/FontFeatureValue.cpp:
(WebCore::FontFeatureValue::customCSSText):
* css/FontFeatureValue.h:
* css/FontValue.cpp:
(WebCore::FontValue::customCSSText):
* css/FontValue.h:
* css/ShadowValue.cpp:
(WebCore::ShadowValue::customCSSText):
* css/ShadowValue.h:
* css/WebKitCSSArrayFunctionValue.cpp:
(WebCore::WebKitCSSArrayFunctionValue::customCSSText):
* css/WebKitCSSArrayFunctionValue.h:
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::customCSSText):
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSMatFunctionValue.cpp:
(WebCore::WebKitCSSMatFunctionValue::customCSSText):
* css/WebKitCSSMatFunctionValue.h:
* css/WebKitCSSMixFunctionValue.cpp:
(WebCore::WebKitCSSMixFunctionValue::customCSSText):
* css/WebKitCSSMixFunctionValue.h:
* css/WebKitCSSSVGDocumentValue.cpp:
(WebCore::WebKitCSSSVGDocumentValue::customCSSText):
* css/WebKitCSSSVGDocumentValue.h:
* css/WebKitCSSShaderValue.cpp:
(WebCore::WebKitCSSShaderValue::customCSSText):
* css/WebKitCSSShaderValue.h:
* css/WebKitCSSTransformValue.cpp:
(WebCore::WebKitCSSTransformValue::customCSSText):
* css/WebKitCSSTransformValue.h:
* svg/SVGColor.cpp:
(WebCore::SVGColor::customCSSText):
* svg/SVGColor.h:
* svg/SVGPaint.cpp:
(WebCore::SVGPaint::customCSSText):
* svg/SVGPaint.h:

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

6 years agoAX: aria-valuetext property not exposing AXValueDescription
cfleizach@apple.com [Wed, 4 Sep 2013 19:57:18 +0000 (19:57 +0000)]
AX: aria-valuetext property not exposing AXValueDescription
https://bugs.webkit.org/show_bug.cgi?id=120375

Reviewed by Darin Adler.

Source/WebCore:

Expose value based attributes for incrementor roles (which are called spinbuttons by ARIA).

Test: platform/mac/accessibility/spinbutton-valuedescription.html

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):

LayoutTests:

* platform/mac/accessibility/spinbutton-valuedescription-expected.txt: Added.
* platform/mac/accessibility/spinbutton-valuedescription.html: Added.

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

6 years ago<https://webkit.org/b/119622> [CSSRegions] Not possible to clear the selection when...
commit-queue@webkit.org [Wed, 4 Sep 2013 19:52:25 +0000 (19:52 +0000)]
<https://webkit.org/b/119622> [CSSRegions] Not possible to clear the selection when mixing content from different FlowThreads

Patch by Javier Fernandez <jfernandez@igalia.com> on 2013-09-04
Reviewed by David Hyatt.

Source/WebCore:

When using CSS Regions is usual that the RenderTree doesn't match
the DOM Tree in terms of relative position of the nodes. Besides,
usually the content of a certain node is split and spread across
multiple blocks, rendered in different positions.

Regarding the Selection, this problem is even more important; the
selection direction changes when crossing the FlowThread
boundaries. This weird behavior is also present in other layouts
using non-regular positioning mechanisms, like absolute,
static. However, for those layouts the RenderTree preserves the
order of the nodes, unlike the CSS Regions layout model.

Because of how the RenderTree is generated with CSS Regions, the
RenderView::setSelection algorithm is not able to repaint some of
the rectangles defined during the selection process. In order to
face this issue, the proposed fix determines whether it should
backwards traversing the RenderTree, from the "stop" node to the
RenderView node.

Test: fast/regions/selecting-text-through-different-region-flows-2.html

* rendering/RenderView.cpp:
(WebCore::getNextOrPrevRenderObjectBasedOnDirection): Added.
(WebCore::RenderView::setSelection):

LayoutTests:

* fast/regions/selecting-text-through-different-region-flows-2-expected.html: Added.
* fast/regions/selecting-text-through-different-region-flows-2.html: Added.

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

6 years agoGet MEDIA_STREAM compiling on OSX
eric.carlson@apple.com [Wed, 4 Sep 2013 19:21:16 +0000 (19:21 +0000)]
Get MEDIA_STREAM compiling on OSX
https://bugs.webkit.org/show_bug.cgi?id=120650

Reviewed by Darin Adler.

No new tests, the code changed doesn't run on OSX yet.

* DerivedSources.make: Add MediaStream idl files.

* Modules/mediastream/LocalMediaStream.h: Mark class as FINAL.

* Modules/mediastream/MediaConstraintsImpl.cpp:
(WebCore::MediaConstraintsImpl::getOptionalConstraints): append -> appendRange so we don't
    need a MediaConstraint copy constructor.

* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::send): Remove an unused parameter name.
* Modules/mediastream/RTCDataChannel.h: ArrayBuffer and ArrayBufferView are in the JSC namespace.

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection): loader() doesn't return a pointer.
(WebCore::RTCPeerConnection::localDescription): Set the ExceptionCode on error.
(WebCore::RTCPeerConnection::remoteDescription): Ditto.

* Modules/mediastream/RTCSessionDescription.cpp:
(WebCore::RTCSessionDescription::setSdp): Remove the unused ExceptionCode parameter.
* Modules/mediastream/RTCSessionDescription.h: Ditto.
* Modules/mediastream/RTCSessionDescription.idl: Ditto.

* Modules/mediastream/RTCStatsResponse.cpp:
(WebCore::RTCStatsResponse::canGetItemsForName): Add so JSRTCStatsResponse::canGetItemsForName
    doesn't cause ref count churn.
* Modules/mediastream/RTCStatsResponse.h: Mark class as FINAL. Declare canGetItemsForName.

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

* bindings/js/JSRTCStatsResponseCustom.cpp:
(WebCore::JSRTCStatsResponse::canGetItemsForName): Use canGetItemsForName instead of namedItem.
    Use propertyNameToAtomicString instead of propertyNameToString
(WebCore::JSRTCStatsResponse::nameGetter): Use propertyNameToAtomicString instead of
    propertyNameToString because namedItem takes an AtomicString.

* platform/mediastream/mac: Added.
* platform/mediastream/mac/MediaStreamCenterMac.cpp: Added.
* platform/mediastream/mac/MediaStreamCenterMac.h: Added.

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

6 years agoASSERT in MarkedAllocator::allocateSlowCase is wrong
mhahnenberg@apple.com [Wed, 4 Sep 2013 19:06:30 +0000 (19:06 +0000)]
ASSERT in MarkedAllocator::allocateSlowCase is wrong
https://bugs.webkit.org/show_bug.cgi?id=120639

Reviewed by Oliver Hunt.

ASSERT(!m_heap->shouldCollect()) is no longer true due to our use of the GC
deferral mechanism. We could technically be beyond our byte allocation limit,
but still not try to collect due to deferral. This patch amends shouldCollect()
to return false if GC is currently deferred.

* heap/Heap.h:
(JSC::Heap::shouldCollect):

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

6 years agoRenderSVGResource shouldn't trigger relayout during render tree teardown.
akling@apple.com [Wed, 4 Sep 2013 18:50:54 +0000 (18:50 +0000)]
RenderSVGResource shouldn't trigger relayout during render tree teardown.
<https://webkit.org/b/120689>
<rdar://problem/14908967>

Reviewed by Antti Koivisto.

The new assertion in FrameView::scheduleRelayoutOfSubtree() caught a fish!
We were doing some unnecessary relayout scheduling while tearing down SVG
resource renderers.

* rendering/svg/RenderSVGResource.cpp:
(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):

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

6 years ago[iOS] Fix the build following <http://trac.webkit.org/changeset/154903>
dbates@webkit.org [Wed, 4 Sep 2013 18:35:53 +0000 (18:35 +0000)]
[iOS] Fix the build following <trac.webkit.org/changeset/154903>
(https://bugs.webkit.org/show_bug.cgi?id=120540)

* style/StyleResolveTree.cpp:
(WebCore::Style::resolveTree): Use address operator and dot-notation when
passing Element to CheckForVisibilityChangeOnRecalcStyle and calling
Element::renderStyle(), respectively.

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

6 years agoFix fast/storage/serialized script value, and add new tests for Map and Set
oliver@apple.com [Wed, 4 Sep 2013 18:32:10 +0000 (18:32 +0000)]
Fix fast/storage/serialized script value, and add new tests for Map and Set
https://bugs.webkit.org/show_bug.cgi?id=120688

Reviewed by Steve Falkenburg.

Update for new version number, and adding binary tests for Map and Set
serialisation

* fast/storage/serialized-script-value.html:

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

6 years agoMove logical dimension getters/setters to FloatingObject from RenderBlock
bjonesbe@adobe.com [Wed, 4 Sep 2013 18:01:27 +0000 (18:01 +0000)]
Move logical dimension getters/setters to FloatingObject from RenderBlock
https://bugs.webkit.org/show_bug.cgi?id=120686

Reviewed by David Hyatt.

This is the first step in decoupling FloatingObject, FloatingObjects,
et al from RenderBlock. It is not ideal that the methods take a bool;
however, passing down the actual writing mode would require
refactoring the way that RenderBlock stores this information, which is
a task for the future.

No new tests, no behavior change.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::repaintOverhangingFloats): Use new methods.
(WebCore::RenderBlock::insertFloatingObject):  Ditto.
(WebCore::RenderBlock::removeFloatingObject): Ditto.
(WebCore::RenderBlock::removeFloatingObjectsBelow): Ditto.
(WebCore::RenderBlock::computeLogicalLocationForFloat): Ditto.
(WebCore::RenderBlock::positionNewFloats): Ditto.
(WebCore::::updateOffsetIfNeeded): Ditto.
(WebCore::::collectIfNeeded): Ditto.
(WebCore::::getHeightRemaining): Ditto.
(WebCore::RenderBlock::logicalLeftFloatOffsetForLine): Ditto.
(WebCore::RenderBlock::logicalRightFloatOffsetForLine): Ditto.
(WebCore::RenderBlock::nextFloatLogicalBottomBelow): Ditto.
(WebCore::RenderBlock::lowestFloatLogicalBottom): Ditto.
(WebCore::RenderBlock::clearFloats): Ditto.
(WebCore::RenderBlock::addOverhangingFloats): Ditto.
(WebCore::RenderBlock::hasOverhangingFloat): Ditto.
(WebCore::RenderBlock::addIntrudingFloats): Ditto.
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatingObject::logicalTop): Moved from RenderBlock::logicalTopForFloat
(WebCore::RenderBlock::FloatingObject::logicalBottom): Moved from RenderBlock::logicalBottomForFloat
(WebCore::RenderBlock::FloatingObject::logicalLeft): Moved from RenderBlock::logicalLeftForFloat
(WebCore::RenderBlock::FloatingObject::logicalRight): Moved from RenderBlock::logicalRightForFloat
(WebCore::RenderBlock::FloatingObject::logicalWidth): Moved from RenderBlock::logicalWidthForFloat
(WebCore::RenderBlock::FloatingObject::pixelSnappedLogicalTop): Moved from RenderBlock::pixelSnappedLogicalTopForFloat
(WebCore::RenderBlock::FloatingObject::pixelSnappedLogicalBottom): Moved from RenderBlock::pixelSnappedLogicalBottomForFloat
(WebCore::RenderBlock::FloatingObject::pixelSnappedLogicalLeft): Moved from RenderBlock::pixelSnappedLogicalLeftForFloat
(WebCore::RenderBlock::FloatingObject::pixelSnappedLogicalRight): Moved from RenderBlock::pixelSnappedLogicalRightForFloat
(WebCore::RenderBlock::FloatingObject::setLogicalTop): Moved from RenderBlock::setLogicalTopForFloat
(WebCore::RenderBlock::FloatingObject::setLogicalLeft): Moved from RenderBlock::setLogicalLeftForFloat
(WebCore::RenderBlock::FloatingObject::setLogicalHeight): Moved from RenderBlock::setLogicalHeightForFloat
(WebCore::RenderBlock::FloatingObject::setLogicalWidth): Moved from RenderBlock::setLogicalWidthForFloat
* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Use new methods.
(WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine): Ditto.
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Ditto.
(WebCore::RenderBlock::positionNewFloatOnLine): Ditto.

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