WebKit-https.git
6 years agoFTL ArithMod Int32Use doesn't check for negative zero correctly
fpizlo@apple.com [Fri, 6 Sep 2013 23:05:00 +0000 (23:05 +0000)]
FTL ArithMod Int32Use doesn't check for negative zero correctly
https://bugs.webkit.org/show_bug.cgi?id=120905

Reviewed by Mark Hahnenberg.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileArithMod):

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

6 years agoRemove fastNew/fastDelete
andersca@apple.com [Fri, 6 Sep 2013 23:04:13 +0000 (23:04 +0000)]
Remove fastNew/fastDelete
https://bugs.webkit.org/show_bug.cgi?id=120904

Reviewed by Andreas Kling.

Source/WebCore:

Call operator delete directly.

* css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::adoptSelectorVector):

Source/WTF:

Remove the various variants of fastNew and fastDelete.

* wtf/FastAllocBase.h:

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

6 years agoFTL ArithNeg Int32Use doesn't check negative zero
fpizlo@apple.com [Fri, 6 Sep 2013 22:34:29 +0000 (22:34 +0000)]
FTL ArithNeg Int32Use doesn't check negative zero
https://bugs.webkit.org/show_bug.cgi?id=120900

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):

LayoutTests:

* fast/js/regress/script-tests/negative-zero-modulo.js:

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

6 years agoStop using fastNew/fastDelete in JavaScriptCore
andersca@apple.com [Fri, 6 Sep 2013 22:32:08 +0000 (22:32 +0000)]
Stop using fastNew/fastDelete in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=120898

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Change all the hash table members in ExecState to be OwnPtrs and use
adoptPtr instead. Also, since none of the hash tables can be null, change their getters
to return references and propagate the reference types wherever we know that a HashTable can't be null.

* interpreter/CallFrame.h:
(JSC::ExecState::arrayConstructorTable):
(JSC::ExecState::arrayPrototypeTable):
(JSC::ExecState::booleanPrototypeTable):
(JSC::ExecState::dataViewTable):
(JSC::ExecState::dateTable):
(JSC::ExecState::dateConstructorTable):
(JSC::ExecState::errorPrototypeTable):
(JSC::ExecState::globalObjectTable):
(JSC::ExecState::jsonTable):
(JSC::ExecState::numberConstructorTable):
(JSC::ExecState::numberPrototypeTable):
(JSC::ExecState::objectConstructorTable):
(JSC::ExecState::privateNamePrototypeTable):
(JSC::ExecState::regExpTable):
(JSC::ExecState::regExpConstructorTable):
(JSC::ExecState::regExpPrototypeTable):
(JSC::ExecState::stringConstructorTable):
(JSC::ExecState::promisePrototypeTable):
(JSC::ExecState::promiseConstructorTable):
(JSC::ExecState::promiseResolverPrototypeTable):
* runtime/ClassInfo.h:
(JSC::ClassInfo::propHashTable):
* runtime/Lookup.h:
(JSC::getStaticPropertySlot):
(JSC::getStaticFunctionSlot):
(JSC::getStaticValueSlot):
(JSC::lookupPut):
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::~VM):
* runtime/VM.h:

Source/WebCore:

Update for changes to JavaScriptCore.

* bindings/js/DOMObjectHashTableMap.h:
(WebCore::DOMObjectHashTableMap::get):
* bindings/js/JSDOMBinding.cpp:
(WebCore::getHashTableForGlobalData):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::put):
* bindings/js/JSPluginElementFunctions.h:
(WebCore::pluginElementCustomGetOwnPropertySlot):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::deleteProperty):
(WebCore::JSStorage::putDelegate):
* bindings/scripts/CodeGeneratorJS.pm:
(hashTableAccessor):
(prototypeHashTableAccessor):
(constructorHashTableAccessor):
(GenerateGetOwnPropertySlotBody):
(GenerateImplementation):
(GenerateConstructorHelperMethods):

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

6 years agoThe 'failed' file should report collectionName/testName rather than just
fpizlo@apple.com [Fri, 6 Sep 2013 22:26:12 +0000 (22:26 +0000)]
The 'failed' file should report collectionName/testName rather than just
testName.

Rubber stamped by Mark Hahnenberg.

* Scripts/run-jsc-stress-tests:

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

6 years agoInclude Frame.h in fewer places.
akling@apple.com [Fri, 6 Sep 2013 22:08:14 +0000 (22:08 +0000)]
Include Frame.h in fewer places.
<https://webkit.org/b/120868>

Reviewed by Anders Carlsson.

- Move JSMainThreadExecState::instrumentFunctionCall() to a separate header.
  This avoids including InspectorInstrumentation.h from JSMainThreadExecState.h
  which caused all JS and Objective-C bindings to depend on Frame.h

- Out-of-line the three methods on FrameView that were operating on Frames.
  Most of the call sites were in FrameView.cpp so they will still get inlined.

- Removed GenericBinding.h, nothing was using it anyway.

After this, touching Frame.h and doing a (debug) rebuild goes from 9m30 to 3m30
on my laptop.

* GNUmakefile.list.am:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/GenericBinding.h: Removed.
* bindings/js/JSCallbackData.cpp:
* bindings/js/JSEventListener.cpp:
* bindings/js/JSMainThreadExecState.h:
* bindings/js/JSMainThreadExecStateInstrumentation.h: Added.
(WebCore::JSMainThreadExecState::instrumentFunctionCall):
* bindings/js/JSMutationCallback.cpp:
* bindings/js/ScheduledAction.cpp:
* css/DeprecatedStyleBuilder.cpp:
* css/ElementRuleCollector.cpp:
* css/MediaQueryEvaluator.cpp:
* css/SelectorChecker.h:
* dom/StyledElement.cpp:
* html/HTMLPlugInImageElement.cpp:
* inspector/InspectorPageAgent.h:
* inspector/NetworkResourcesData.h:
* inspector/PageRuntimeAgent.cpp:
* loader/cache/CachedImage.cpp:
* page/FrameView.cpp:
(WebCore::FrameView::renderView):
(WebCore::FrameView::mapFromLayoutToCSSUnits):
(WebCore::FrameView::mapFromCSSToLayoutUnits):
* page/FrameView.h:
* page/TouchAdjustment.cpp:
* rendering/RenderBoxModelObject.cpp:
* rendering/RenderLayer.cpp:
* rendering/RenderLayerCompositor.h:
* rendering/RenderText.cpp:
* svg/graphics/SVGImage.cpp:

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

6 years agoFix run-jsc-stress-tests to run on bots with old Ruby.
fpizlo@apple.com [Fri, 6 Sep 2013 22:04:38 +0000 (22:04 +0000)]
Fix run-jsc-stress-tests to run on bots with old Ruby.

Also make it create a repro file.

Rubber stamped by Mark Hahnenberg.

* Scripts/run-jsc-stress-tests:

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

6 years ago[Windows] Unreviewed gardening: Spell 'Suppressor' properly
bfulgham@apple.com [Fri, 6 Sep 2013 21:58:38 +0000 (21:58 +0000)]
[Windows] Unreviewed gardening: Spell 'Suppressor' properly

* WebCore.vcxproj/WebCore.vcxproj: Change StructuredExceptionHandlerSupressor to StructuredExceptionHandlerSuppressor
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
* platform/graphics/ca/win/LayerChangesFlusher.cpp:
(WebCore::LayerChangesFlusher::hookCallback): Ditto
* platform/win/StructuredExceptionHandlerSuppressor.h: Copied from platform/win/StructuredExceptionHandlerSupressor.h.
* platform/win/StructuredExceptionHandlerSupressor.h: Removed.

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

6 years ago[Windows] Implement text offset methods of IAccessibleText interface.
roger_fong@apple.com [Fri, 6 Sep 2013 21:32:53 +0000 (21:32 +0000)]
[Windows] Implement text offset methods of IAccessibleText interface.
https://bugs.webkit.org/show_bug.cgi?id=120820.
<rdar://problem/14925242>

Reviewed by Brenet Fulgham.

* AccessibleTextImpl.cpp:
(AccessibleText::get_textBeforeOffset):
(AccessibleText::get_textAfterOffset):
(AccessibleText::get_textAtOffset):
(AccessibleText::isInRange):
* AccessibleTextImpl.h:

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

6 years agoAdd new RenderBlockFlow class.
hyatt@apple.com [Fri, 6 Sep 2013 20:54:47 +0000 (20:54 +0000)]
Add new RenderBlockFlow class.
https://bugs.webkit.org/show_bug.cgi?id=120777

Reviewed by Beth Dakin.

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.

This patch adds the new class and it makes sure all the objects that should be block flows
inherit from the new class.

isBlockFlow() proved to be a problematic method (and was the source of regressions when I
landed this patch the first time). When the method was first implemented, it was added as
"I'm a block but not a table." and at the time table was the only subclass of block. However
when new subclasses were added, this function was never patched to account for them. This
means, for example, that flexible boxes and grids claim to be block flows in the codebase
and have for years. This is obviously wrong, since flexible boxes are not in fact block
flows, but because of this mistake, code has started relying on the incorrect behavior of
isBlockFlow() (form controls mostly).

What I've done to deal with this problem is renamed isBlockFlow() to be
isBlockFlowFlexBoxOrGrid() in order to make it obvious that this method is returning true
for pretty much all blocks other than tables. This makes a lot of call sites look pretty
stupid, since they obviously never intended to include flexible boxes or grids, but at least
it is clear what the method is doing now.

The plan is to land this patch and then start converting call sites from
isBlockFlowFlexBoxOrGrid() to isRenderBlockFlow() one by one, and that way we can figure
out which code is making bad assumptions and change those callers to be isRenderBlock()
instead. Ultimately this isBlockFlowFlexBoxOrGrid() method will go away with callers either
changing to use isRenderBlock() or isRenderBlockFlow().

* 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/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::createRenderer):
* html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::createRenderer):
* html/shadow/SliderThumbElement.cpp:
(WebCore::RenderSliderThumb::RenderSliderThumb):
* html/shadow/SliderThumbElement.h:
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::createAnonymous):
(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/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/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:
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::RenderMeter):
* rendering/RenderMeter.h:
* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
* rendering/RenderMultiColumnBlock.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
(WebCore::RenderObject::computeRectForRepaint):
(WebCore::RenderObject::styleWillChange):
(WebCore::firstLineStyleForCachedUncachedType):
* rendering/RenderObject.h:
(WebCore::RenderObject::isBR):
(WebCore::RenderObject::isRenderBlockFlow):
(WebCore::RenderObject::isBlockFlowFlexBoxOrGrid):
* 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/RenderingAllInOne.cpp:
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::createGlyph):
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::RenderSVGBlock):
* rendering/svg/RenderSVGBlock.h:

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

6 years agoGTest: add support for FreeBSD and Hurd
berto@igalia.com [Fri, 6 Sep 2013 20:31:20 +0000 (20:31 +0000)]
GTest: add support for FreeBSD and Hurd
https://bugs.webkit.org/show_bug.cgi?id=120870

Patch by Emilio Pozuelo Monfort <pochu@debian.org>
Reviewed by Gustavo Noronha Silva.

* gtest/include/gtest/internal/gtest-port.h:

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

6 years agoConcurrent FTL causes !hasOptimizedReplacement() asserts in cti_optimize
fpizlo@apple.com [Fri, 6 Sep 2013 20:20:23 +0000 (20:20 +0000)]
Concurrent FTL causes !hasOptimizedReplacement() asserts in cti_optimize
https://bugs.webkit.org/show_bug.cgi?id=120890

Reviewed by Mark Hahnenberg.

Don't install an FTL code block if the DFG code block has already been jettisoned.

* dfg/DFGToFTLDeferredCompilationCallback.cpp:
(JSC::DFG::ToFTLDeferredCompilationCallback::compilationDidComplete):

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

6 years ago Revalidation header blacklisting should be case-insensitive.
ap@apple.com [Fri, 6 Sep 2013 20:04:19 +0000 (20:04 +0000)]
    Revalidation header blacklisting should be case-insensitive.
        https://bugs.webkit.org/show_bug.cgi?id=120832

        Reviewed by Alexey Proskuryakov.

        Adds a new test to verify that a CSS file served initially as type
        'text/css' maintains that type even if a revalidation response sends
        'text/plain' along with a 304 response.

        * http/tests/cache/content-type-ignored-during-revalidation-expected.txt: Added.
        * http/tests/cache/content-type-ignored-during-revalidation.html: Added.
        * http/tests/cache/resources/stylesheet304-bad-content-type.php: Added.

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

6 years agoCalling window.close() should indicate failure with warning message
vivek.vg@samsung.com [Fri, 6 Sep 2013 20:00:49 +0000 (20:00 +0000)]
Calling window.close() should indicate failure with warning message
https://bugs.webkit.org/show_bug.cgi?id=120156

Reviewed by Darin Adler.

Closing of window is allowed for the tests for the automation.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::close):

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

6 years agoActually increment $numFailures
fpizlo@apple.com [Fri, 6 Sep 2013 19:40:32 +0000 (19:40 +0000)]
Actually increment $numFailures

Reviewed by Mark Hahnenberg.

* Scripts/run-jsc-stress-tests:

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

6 years agoFix run-jsc-stress-tests to use Pathname instead of File.realpath.
fpizlo@apple.com [Fri, 6 Sep 2013 19:36:34 +0000 (19:36 +0000)]
Fix run-jsc-stress-tests to use Pathname instead of File.realpath.

Also make it uses system() instead of popen(); that means that test output
will go to the console. This reduces error detection flakiness. It's fine
because stress tests don't print() unless they really have to.

Rubber stamped by Mark Hahnenberg.

* Scripts/run-jsc-stress-tests:

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

6 years ago2013-09-06 Mike West <mkwst@chromium.org>
ap@apple.com [Fri, 6 Sep 2013 19:18:03 +0000 (19:18 +0000)]
2013-09-06  Mike West  <mkwst@chromium.org>

        Revalidation header blacklisting should be case-insensitive.
        https://bugs.webkit.org/show_bug.cgi?id=120832

        Reviewed by Alexey Proskuryakov.

        Headers like 'content-type' should be ignored for 304 responses,
        even if they are delivered as 'Content-Type', or 'CoNtEnT-TyPe', etc.

        I broke this behavior in http://trac.webkit.org/changeset/142068
        ("Entity-header extension headers honored on 304 responses"). Pages like
        https://learndev.unm.edu/ currently break on reload, as they incorrectly
        send 'Content-Type: text/plain' for 304 responses for resources like
        CSS and JavaScript. The browser should drop these headers, but because
        we're comparing in a case-sensitive fashion, we don't.

        https://code.google.com/p/chromium/issues/detail?id=246875 documents the
        Blink-side fix; this patch is a port of that patch.

        Test: http/tests/cache/content-type-ignored-during-revalidation.html

        * loader/cache/CachedResource.cpp:
        (WebCore::shouldUpdateHeaderAfterRevalidation):
        Compare the provided AtomicString 'header' to the revalidation
        blacklists in a case-insensitive fashion.

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

6 years agofast/js/dfg-* tests should wait for the concurrent JIT
fpizlo@apple.com [Fri, 6 Sep 2013 19:14:35 +0000 (19:14 +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-check-structure-elimination-for-non-cell-expected.txt:
* fast/js/dfg-check-two-structures-expected.txt:
* fast/js/dfg-compare-final-object-to-final-object-or-other-expected.txt:
* fast/js/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object-expected.txt:
* fast/js/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object-expected.txt:
* fast/js/dfg-constant-fold-first-local-read-after-block-merge-expected.txt:
* fast/js/dfg-constant-fold-logical-not-branch-expected.txt:
* fast/js/dfg-constant-fold-misprediction-expected.txt:
* fast/js/dfg-constant-fold-uncaptured-variable-that-is-later-captured-expected.txt:
* fast/js/dfg-convert-this-dom-window-expected.txt:
* fast/js/dfg-convert-this-object-then-exit-on-other-expected.txt:
* fast/js/dfg-convert-this-other-then-exit-on-object-expected.txt:
* fast/js/dfg-convert-this-polymorphic-object-then-exit-on-other-expected.txt:
* fast/js/dfg-convert-this-polymorphic-object-then-exit-on-string-expected.txt:
* fast/js/dfg-create-inlined-arguments-in-closure-inline-expected.txt:
* fast/js/dfg-cross-global-object-inline-new-array-literal-expected.txt:
* fast/js/dfg-cross-global-object-inline-new-array-literal-with-variables-expected.txt:
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-check-structure-elimination-for-non-cell.js:
* fast/js/script-tests/dfg-check-two-structures.js:
* fast/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object.js:
* fast/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object.js:
* fast/js/script-tests/dfg-compare-final-object-to-final-object-or-other.js:
* fast/js/script-tests/dfg-constant-fold-first-local-read-after-block-merge.js:
* fast/js/script-tests/dfg-constant-fold-logical-not-branch.js:
* fast/js/script-tests/dfg-constant-fold-misprediction.js:
* fast/js/script-tests/dfg-constant-fold-uncaptured-variable-that-is-later-captured.js:
* fast/js/script-tests/dfg-convert-this-dom-window.js:
* fast/js/script-tests/dfg-convert-this-object-then-exit-on-other.js:
* fast/js/script-tests/dfg-convert-this-other-then-exit-on-object.js:
* fast/js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-other.js:
* fast/js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-string.js:
* fast/js/script-tests/dfg-create-inlined-arguments-in-closure-inline.js:
* fast/js/script-tests/dfg-cross-global-object-inline-new-array-literal-with-variables.js:
(done):
(doit):
* fast/js/script-tests/dfg-cross-global-object-inline-new-array-literal.js:
(done):
(doit):

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

6 years agoREGRESSION(149636, merged in 153145): ToThis conversion doesn't work in the DFG
fpizlo@apple.com [Fri, 6 Sep 2013 19:01:21 +0000 (19:01 +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.

Roll this back in with a build fix.

- 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/DFGRepatch.cpp:
(JSC::DFG::emitPutTransitionStub):
* 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@155201 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIntroduce a way to run benchmarks and JSRegress as stress tests with different jsc...
fpizlo@apple.com [Fri, 6 Sep 2013 18:51:05 +0000 (18:51 +0000)]
Introduce a way to run benchmarks and JSRegress as stress tests with different jsc command-line options
https://bugs.webkit.org/show_bug.cgi?id=120808

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg and rubber stamped by Geoffrey Garen.

Allow --useExperimentalFTL=true even if FTL isn't built since this simplifies
testing.

* dfg/DFGTierUpCheckInjectionPhase.cpp:
(JSC::DFG::TierUpCheckInjectionPhase::run):

Tools:

Reviewed by Mark Hahnenberg and rubber stamped by Geoffrey Garen.

Add a script for running stress tests.  A stress test is a .js file that is run
through different configurations of JSC.  It can control which configurations it
runs by using "//@ <ruby code>" to guide the script.

This script is now run as part of run-javascriptcore-tests, on Mac only.

* Scripts/run-javascriptcore-tests:
* Scripts/run-jsc-stress-tests: Added.

LayoutTests:

Reviewed by Mark Hahnenberg and rubber stamped by Geoffrey Garen.

Make it so that long-running tests aren't run as part of the stress test (they
will still run as part of benchmarks and LayoutTests) or run them with fewer
configurations.

* fast/js/regress/script-tests/ArrayBuffer-DataView-alloc-large-long-lived.js:
* fast/js/regress/script-tests/ArrayBuffer-DataView-alloc-long-lived.js:
* fast/js/regress/script-tests/ArrayBuffer-Int32Array-byteOffset.js:
* fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-huge-long-lived.js:
* fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js:
* fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived.js:
* fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived-buffer.js:
* fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived.js:
* fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc.js:
* fast/js/regress/script-tests/DataView-custom-properties.js:
* fast/js/regress/script-tests/Float32Array-to-Float64Array-set.js:
* fast/js/regress/script-tests/Float64Array-alloc-long-lived.js:
* fast/js/regress/script-tests/Float64Array-to-Int16Array-set.js:
* fast/js/regress/script-tests/HashMap-put-get-iterate-keys.js:
* fast/js/regress/script-tests/HashMap-put-get-iterate.js:
* fast/js/regress/script-tests/HashMap-string-put-get-iterate.js:
* fast/js/regress/script-tests/Int16Array-alloc-long-lived.js:
* fast/js/regress/script-tests/Int16Array-to-Int32Array-set.js:
* fast/js/regress/script-tests/Int32Array-alloc-huge-long-lived.js:
* fast/js/regress/script-tests/Int32Array-alloc-huge.js:
* fast/js/regress/script-tests/Int32Array-alloc-large-long-lived.js:
* fast/js/regress/script-tests/Int32Array-alloc-large.js:
* fast/js/regress/script-tests/Int32Array-alloc-long-lived.js:
* fast/js/regress/script-tests/Int32Array-alloc.js:
* fast/js/regress/script-tests/Int8Array-alloc-long-lived.js:
* fast/js/regress/script-tests/array-nonarray-polymorhpic-access.js:
* fast/js/regress/script-tests/basic-set.js:
* fast/js/regress/script-tests/emscripten-memops.js:
* fast/js/regress/script-tests/inline-arguments-local-escape.js:
* fast/js/regress/script-tests/method-on-number.js:
* fast/js/regress/script-tests/nested-function-parsing-random.js:
* fast/js/regress/script-tests/nested-function-parsing.js:
* fast/js/regress/script-tests/new-array-buffer-push.js:
* fast/js/regress/script-tests/new-array-push.js:
* fast/js/regress/script-tests/poly-stricteq.js:
* fast/js/regress/script-tests/splice-to-remove.js:
* fast/js/regress/script-tests/string-equality.js:
* fast/js/regress/script-tests/string-repeat-arith.js:
* fast/js/regress/script-tests/string-sub.js:

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

6 years ago[MediaStream API] Allow empty MediaStreams
eric.carlson@apple.com [Fri, 6 Sep 2013 18:28:54 +0000 (18:28 +0000)]
[MediaStream API] Allow empty MediaStreams
https://bugs.webkit.org/show_bug.cgi?id=120815

Reviewed by Jer Noble.

The spec is a bit unclear ecactly what should happen with newly created MediaStreams
that doesn't have any tracks. The current implementation is too strict and the spec
is being worked upon to be clearer. In the meantime this patch doesn't set eneded to
true in the constructor.

Source/WebCore:

No new tests, existing test updated.

(WebCore::MediaStreamRegistry::lookupMediaStreamDescriptor):
* platform/mediastream/MediaStreamDescriptor.h:
(WebCore::MediaStreamDescriptor::MediaStreamDescriptor):

LayoutTests:

* fast/mediastream/MediaStreamConstructor-expected.txt:
* fast/mediastream/MediaStreamConstructor.html:

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

6 years agoStop using fastNew/fastDelete in WebCore
andersca@apple.com [Fri, 6 Sep 2013 18:21:35 +0000 (18:21 +0000)]
Stop using fastNew/fastDelete in WebCore
https://bugs.webkit.org/show_bug.cgi?id=120867

Reviewed by Geoffrey Garen.

Using fastNew/fastDelete can be dangerous, especially when put into a smart pointer
such as OwnPtr which uses regular delete. Because of this I'd like to remove fastNew/fastDelete.
Turns out it's only used in a couple of places in WebCore, so just use new/delete here instead.

* platform/audio/FFTFrame.h:
* platform/audio/gstreamer/FFTFrameGStreamer.cpp:
(WebCore::FFTFrame::FFTFrame):
(WebCore::FFTFrame::~FFTFrame):
(WebCore::FFTFrame::doFFT):
(WebCore::FFTFrame::doInverseFFT):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(webkitVideoSinkDispose):

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

6 years ago[GTK] Desktop proxy settings are ignored inside the internal jhbuild
commit-queue@webkit.org [Fri, 6 Sep 2013 18:19:45 +0000 (18:19 +0000)]
[GTK] Desktop proxy settings are ignored inside the internal jhbuild
https://bugs.webkit.org/show_bug.cgi?id=120833

Patch by Mario Sanchez Prada <mario.prada@samsung.com> on 2013-09-06
Reviewed by Gustavo Noronha Silva.

Add dconf as an optional module for the internal jhbuild, along
with vala 0.17 as a dependency, and make sure we do not explicitly
set always the 'memory' backend, so we can have an easy way to
allow apps access desktop settings from the jhbuild. This is
useful for example to be able to run apps such as MiniBrowser
inside the jhbuild (by means of run-launcher, for instance) while
working behind a proxy, since those network settings have to be
read from the system global configuration in org.gnome.system.proxy.

* gtk/jhbuild-optional.modules: Added dconf 0.14 and vala 0.17.
* gtk/jhbuildrc: Do not explicitly choose the GSettings memory
backend here, since that will make more difficult to use the dconf
backend from inside the jhbuild if we need to do it so.

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

6 years ago Lots of pixel tests are failing on first run, so tests cannot finish
ap@apple.com [Fri, 6 Sep 2013 18:11:41 +0000 (18:11 +0000)]
    Lots of pixel tests are failing on first run, so tests cannot finish
        https://bugs.webkit.org/show_bug.cgi?id=120755

        Reviewed by Ryosuke Niwa.

        For whatever reason, many reftests are color profile sensitive, and we only set
        color profile to a known one for pixel tests, not for reftests.

        Pixel testing mode is also enabled  when retrying tests, so these failures used to
        be essentially hidden - the tests were "flaky", but that was not reported loudly enough.
        But now, so many tests fail that it makes run-webkit-tests stop early, and never retry.

        This probably shouldn't happen, as reftests should not be color profile sensitive.
        The fix is a stopgap measure to unblock EWS until a better fix can be investigated.

        * Scripts/webkitpy/layout_tests/controllers/manager.py:
        (Manager._set_up_run): Roll out <http://trac.webkit.org/changeset/115601>.

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

6 years agoFix fastMalloc/delete mismatches in CSS parser
andersca@apple.com [Fri, 6 Sep 2013 17:33:44 +0000 (17:33 +0000)]
Fix fastMalloc/delete mismatches in CSS parser
https://bugs.webkit.org/show_bug.cgi?id=120864

Reviewed by Andreas Kling.

Stop putting fastMalloced memory inside an OwnPtr.

* css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::CSSParserSelector):
(WebCore::CSSParserSelector::adoptSelectorVector):

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

6 years agoFrameLoader::subresourceLoader() should return a reference.
akling@apple.com [Fri, 6 Sep 2013 17:23:03 +0000 (17:23 +0000)]
FrameLoader::subresourceLoader() should return a reference.
<https://webkit.org/b/120830>

Reviewed by Anders Carlsson.

There is always a SubresourceLoader, so this method could never return null.
Also made m_subresourceLoader an OwnPtr to reduce header dependencies.

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

6 years ago[GTK] GlibUtilities: getCurrentExecutablePath() does not compile on GNU/Hurd
berto@igalia.com [Fri, 6 Sep 2013 16:48:44 +0000 (16:48 +0000)]
[GTK] GlibUtilities: getCurrentExecutablePath() does not compile on GNU/Hurd
https://bugs.webkit.org/show_bug.cgi?id=120793

Reviewed by Gustavo Noronha Silva.

Original patch by Svante Signell <svante.signell@telia.com>.

PATH_MAX is not defined in GNU/Hurd, this patch adds a dummy
implementation to make it compile.

* wtf/gobject/GlibUtilities.cpp:
(getCurrentExecutablePath):

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

6 years ago[GTK] AccessibilityUIElement::addNotificationListener() crashes on debug build
commit-queue@webkit.org [Fri, 6 Sep 2013 16:32:30 +0000 (16:32 +0000)]
[GTK] AccessibilityUIElement::addNotificationListener() crashes on debug build
https://bugs.webkit.org/show_bug.cgi?id=120416

Patch by Denis Nomiyama <d.nomiyama@samsung.com> on 2013-09-06
Reviewed by Mario Sanchez Prada.

Tools:

Fixed crashes when running debug DRT. Simplified loops at AccessibilityCallbackAtk.cpp where the HashMap
iterator was removed inside a loop. Fixed AccessibilityUIElement::addNotificationListener() where
m_notificationHandler expected RefPtr.

The global notification handler was stored in the HashMap with key 0. And this caused an assertion when
HashMap::add() or find() are called. To fix it, moved the global handler to a separated pointer.

* DumpRenderTree/atk/AccessibilityCallbacks.h: Removed the global notification key.
* DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp:
(axObjectEventListener): Simplified the code by using HashMap::find() and a separate pointer for the
global notification handler.
(addAccessibilityNotificationHandler): Simplified the code by using HashMap::find() and a separate pointer
for the global notification handler.
(removeAccessibilityNotificationHandler): Added the removal for the global notification handler.
* DumpRenderTree/atk/AccessibilityNotificationHandlerAtk.h:
(AccessibilityNotificationHandler::create): Added static function to create
AccessibilityNotificationHandler.
* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::addNotificationListener): Assigned m_notificationHandler with
AccessibilityNotificationHandler::create().

LayoutTests:

Fixed crashes when running debug DRT on tests that require an a11y notification handler.

* platform/gtk/TestExpectations: Unskipped some a11y tests that were crashing before this fix.
Updated the expectation of accessibility/notification-listeners.html to expect failure on Debug build
since it is not crashing anymore. This other issue is tracked in a separate bug (bug 120669).

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

6 years agoAX: aria-relevant does not expose AXARIARelevant
cfleizach@apple.com [Fri, 6 Sep 2013 16:13:52 +0000 (16:13 +0000)]
AX: aria-relevant does not expose AXARIARelevant
https://bugs.webkit.org/show_bug.cgi?id=120373

Reviewed by Darin Adler.

Source/WebCore:

When global ARIA attributes are present on an Element we need to ignore
a presentational role, if set on that Element.

Test: accessibility/global-aria-attributes-invalidate-presentational.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAriaRoleAttribute):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::supportsARIAAttributes):

LayoutTests:

* accessibility/global-aria-attributes-invalidate-presentational-expected.txt: Added.
* accessibility/global-aria-attributes-invalidate-presentational.html: Added.

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

6 years ago[Qt][BlackBerry] Text track localized string functions are named wrong
commit-queue@webkit.org [Fri, 6 Sep 2013 16:12:33 +0000 (16:12 +0000)]
[Qt][BlackBerry] Text track localized string functions are named wrong
https://bugs.webkit.org/show_bug.cgi?id=120788

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

This renames textTrackOffText() to textTrackOffMenuItemText(), and
adds textTrackAutomaticMenuItemText(), to make them match the
definitions in LocalizedStrings.h.

* platform/blackberry/LocalizedStringsBlackBerry.cpp:
* platform/qt/LocalizedStringsQt.cpp:

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

6 years ago[Win][WebGL] WebGL rendering is slow.
commit-queue@webkit.org [Fri, 6 Sep 2013 16:03:22 +0000 (16:03 +0000)]
[Win][WebGL] WebGL rendering is slow.
https://bugs.webkit.org/show_bug.cgi?id=120841

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-09-06
Reviewed by Brent Fulgham.

Rendering WebGL content is slow on Windows, because lots of debug information is written to debug.txt.

* ANGLE.vcxproj/ANGLERelease.props: Disable logging in release builds.

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

6 years ago[Qt] REGRESSION(r155140) Pixel tests is still broken on Qt with QT_WEBKIT_DISABLE_UIP...
ossy@webkit.org [Fri, 6 Sep 2013 13:33:03 +0000 (13:33 +0000)]
[Qt] REGRESSION(r155140) Pixel tests is still broken on Qt with QT_WEBKIT_DISABLE_UIPROCESS_DUMPPIXELS=1
https://bugs.webkit.org/show_bug.cgi?id=120847

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-09-06
Reviewed by Csaba Osztrogon√°c.

Move the force repaint code back to if (PlatformWebView::windowSnapshotEnabled()) block to support Qt.
Typo fixed: windowShapshotEnabled -> windowSnapshotEnabled.
Add a default PlatformWebView::windowSnapshotEnabled() to the !PLATFORM(QT).

* WebKitTestRunner/PlatformWebView.h:
(WTR::PlatformWebView::windowSnapshotEnabled):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::dumpResults):
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::WrapperWindow::handleStatusChanged):
(WTR::PlatformWebView::windowSnapshotEnabled):
* WebKitTestRunner/qt/TestInvocationQt.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

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

6 years agoREGRESSION(r155140) Broke pixel tests on EFL/GTK/Qt
allan.jensen@digia.com [Fri, 6 Sep 2013 12:07:47 +0000 (12:07 +0000)]
REGRESSION(r155140) Broke pixel tests on EFL/GTK/Qt
https://bugs.webkit.org/show_bug.cgi?id=120843

Reviewed by Csaba Osztrogon√°c.

Call notifyDone like the platform specific forceRepaintDoneCallback methods
it replaced did. The method is empty on the Apple ports.

* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::forceRepaintDoneCallback):

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

6 years ago[CSS Regions] Remove orphan test results
commit-queue@webkit.org [Fri, 6 Sep 2013 11:43:20 +0000 (11:43 +0000)]
[CSS Regions] Remove orphan test results
https://bugs.webkit.org/show_bug.cgi?id=120845

Patch by Radu Stavila <stavila@adobe.com> on 2013-09-06
Reviewed by Antti Koivisto.

Removed remaining orphan test results after https://bugs.webkit.org/show_bug.cgi?id=120760.

* platform/efl/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.png: Removed.
* platform/efl/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt: Removed.
* platform/gtk/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.png: Removed.
* platform/gtk/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt: Removed.
* platform/mac/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.png: Removed.
* platform/mac/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt: Removed.
* platform/qt-wk2/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.png: Removed.
* platform/qt/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.png: Removed.
* platform/qt/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt: Removed.

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

6 years ago[EFL] Unreviewed gardening. Added missing results.
jinwoo7.song@samsung.com [Fri, 6 Sep 2013 11:21:41 +0000 (11:21 +0000)]
[EFL] Unreviewed gardening. Added missing results.

* platform/efl/fast/css-generated-content/details-summary-before-after-expected.txt: Added.
* platform/efl/fast/regions/region-dynamic-after-before-expected.txt: Added.
* platform/efl/fast/regions/region-generated-content-before-after-expected.txt: Added.

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

6 years ago[GTK] Unreviewed gardening. Update TestExpectations.
simon.pena@samsung.com [Fri, 6 Sep 2013 11:04:06 +0000 (11:04 +0000)]
[GTK] Unreviewed gardening. Update TestExpectations.

* platform/gtk-wk2/TestExpectations: Skip speech input tests, mark as failing drag and drop tests.
* platform/gtk-wk2/plugins/npruntime/object-from-destroyed-plugin-expected.txt: Added.
* platform/gtk-wk2/plugins/npruntime/object-from-destroyed-plugin-in-subframe-expected.txt: Added.
* platform/gtk/TestExpectations: Updated failing tests.
* platform/gtk/animations/cross-fade-background-image-expected.png: Removed.
* platform/gtk/animations/cross-fade-background-image-expected.txt: Removed.
* platform/gtk/editing/spelling/spellcheck-paste-expected.txt: Rebaseline after r154869.

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

6 years ago[Qt][WK2] Cached credentials not cleared between tests
allan.jensen@digia.com [Fri, 6 Sep 2013 10:11:26 +0000 (10:11 +0000)]
[Qt][WK2] Cached credentials not cleared between tests
https://bugs.webkit.org/show_bug.cgi?id=120775

Reviewed by Jocelyn Turcotte.

Clear the access credentials when resetting the state of a page for testing.

* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):

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

6 years ago[Qt][WK2] Window used by WebKitTestRunner loses active status
allan.jensen@digia.com [Fri, 6 Sep 2013 09:56:13 +0000 (09:56 +0000)]
[Qt][WK2] Window used by WebKitTestRunner loses active status
https://bugs.webkit.org/show_bug.cgi?id=120774

Reviewed by Jocelyn Turcotte.

When focusing the PlatformWebView which is done at the start of each test, we should
ensure the host window of PlatformWebView is also made active, otherwise we will
not receive the keyboard events send by EventSenderProxy.

* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::PlatformWebView::focus):

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

6 years ago[CSS Grid Layout] Resolve named grid lines
svillar@igalia.com [Fri, 6 Sep 2013 08:04:33 +0000 (08:04 +0000)]
[CSS Grid Layout] Resolve named grid lines
https://bugs.webkit.org/show_bug.cgi?id=119632

Reviewed by Andreas Kling.

From Blink r152659, r153794 by <jchaffraix@chromium.org>

Source/WebCore:

Test: fast/css-grid-layout/grid-item-named-grid-line-resolution.html

This change adds the code which translates from a raw named grid
line (stored in RenderStyle) to its actual grid position. This
even includes named grid resolution for grid lines with the 'span'
keyword.

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::explicitGridSizeForSide):
(WebCore::adjustGridPositionForRowEndColumnEndSide):
(WebCore::adjustGridPositionForSide):
(WebCore::RenderGrid::resolveNamedGridLinePositionFromStyle):
(WebCore::RenderGrid::resolveGridPositionFromStyle):
(WebCore::RenderGrid::resolveGridPositionAgainstOppositePosition):
(WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition):
(WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
(WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
* rendering/RenderGrid.h:

LayoutTests:

Added a new test to check named grid lines resolution. This also
provides some more new test cases with named grid lines and
negative positions.

* fast/css-grid-layout/grid-item-named-grid-line-resolution-expected.txt: Added.
* fast/css-grid-layout/grid-item-named-grid-line-resolution.html: Added.
* fast/css-grid-layout/grid-item-negative-position-resolution-expected.txt:
* fast/css-grid-layout/grid-item-negative-position-resolution.html:

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

6 years agoUnreviewed build fix for the GTK port when building with FTL JIT enabled.
zandobersek@gmail.com [Fri, 6 Sep 2013 07:18:01 +0000 (07:18 +0000)]
Unreviewed build fix for the GTK port when building with FTL JIT enabled.

* GNUmakefile.list.am: Add the missing files to the build.

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

6 years agoAllow string as image reference on filter()
krit@webkit.org [Fri, 6 Sep 2013 07:02:40 +0000 (07:02 +0000)]
Allow string as image reference on filter()
https://bugs.webkit.org/show_bug.cgi?id=120829

Reviewed by Andreas Kling.

Source/WebCore:

Beside <image> (which already includes url(), gradients, cross-fade() and
image-set()), the filter() image function should support <string> as image
reference.

http://dev.w3.org/fxtf/filters/#FilterCSSImageValue

* css/CSSParser.cpp:
(WebCore::CSSParser::parseFilterImage): Create CSSImageValue from string.

LayoutTests:

Check that string can be used as image reference, that we
interpolate between the same images once referenced by string
and once by url() and that other tokens are not excepted.

* fast/filter-image/filter-image-animation-expected.txt:
* fast/filter-image/filter-image-animation.html:
* fast/filter-image/parse-filter-image-expected.txt:
* fast/filter-image/parse-filter-image.html:

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

6 years agoSupport SVG filters on -webkit-filter() function
krit@webkit.org [Fri, 6 Sep 2013 06:00:49 +0000 (06:00 +0000)]
Support SVG filters on -webkit-filter() function
https://bugs.webkit.org/show_bug.cgi?id=120806

Reviewed by Darin Adler.

Source/WebCore:

Add support for SVG Filters on CSS -webkit-filter() image function.

Test: fast/filter-image/filter-image-svg.html

* css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::image): Pass renderer to filter builder.

LayoutTests:

Test that the -webkit-filter() function can reference a SVG Filter
from the document.

* fast/filter-image/filter-image-svg-expected.html: Added.
* fast/filter-image/filter-image-svg.html: Added.

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

6 years agoMake it simpler to introduce new data types to the global object
oliver@apple.com [Fri, 6 Sep 2013 05:50:33 +0000 (05:50 +0000)]
Make it simpler to introduce new data types to the global object
https://bugs.webkit.org/show_bug.cgi?id=120801

Reviewed by Gavin Barraclough.

Add an iterator macro that lists all the "simple" ES types (e.g. type
consists of instance, constructor, and prototype classes).  So that
we don't need to have every new type litter JSGlobalObject.{cpp,h} with
members, accessors, and manual GC visiting.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:

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

6 years agoDRY out srcset related deviceScaleFactor calculations
commit-queue@webkit.org [Fri, 6 Sep 2013 05:48:40 +0000 (05:48 +0000)]
DRY out srcset related deviceScaleFactor calculations
https://bugs.webkit.org/show_bug.cgi?id=120791

Identical deviceScaleFactor calculations were performed in 3 different locations.
I've added that calculation as a method of Document.
Previous calculations are replaced by calls to this method.

Patch by Yoav Weiss <yoav@yoav.ws> on 2013-09-05
Reviewed by Andreas Kling.

No new tests since this is a refactoring change. No functionality have changed.

* dom/Document.cpp:
(WebCore::Document::deviceScaleFactor):
* dom/Document.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):

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

6 years ago[Qt] DefaultFullScreenVideoHandler and PlatformVideoWindow are included in the build...
commit-queue@webkit.org [Fri, 6 Sep 2013 05:47:21 +0000 (05:47 +0000)]
[Qt] DefaultFullScreenVideoHandler and PlatformVideoWindow are included in the build when they are disabled
https://bugs.webkit.org/show_bug.cgi?id=117206

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

.:

* Source/widgetsapi.pri: Don't include DefaultFullScreenVideoHandler when it's disabled.

Source/WebCore:

No new tests because this just fixes a build warning.

* Target.pri: Don't include PlatformVideoWindow* files in the build when they are disabled.

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

6 years agoFrameView: Constructor should take Frame&.
akling@apple.com [Fri, 6 Sep 2013 04:49:52 +0000 (04:49 +0000)]
FrameView: Constructor should take Frame&.
<https://webkit.org/b/120824>

Reviewed by Anders Carlsson.

* WebCore.exp.in:
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::overlayPage):
* page/Frame.cpp:
(WebCore::Frame::createView):
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::create):
* page/FrameView.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):

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

6 years ago[EFL] Unreviewed gardening.
jinwoo7.song@samsung.com [Fri, 6 Sep 2013 03:57:14 +0000 (03:57 +0000)]
[EFL] Unreviewed gardening.

* platform/efl-wk1/TestExpectations: Failing after r155014.

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

6 years agoINSTALL_PATH_PREFIX is used even when not installing
mitz@apple.com [Fri, 6 Sep 2013 03:50:53 +0000 (03:50 +0000)]
INSTALL_PATH_PREFIX is used even when not installing
https://bugs.webkit.org/show_bug.cgi?id=120818

Reviewed by Darin Adler.

* Configurations/ANGLE.xcconfig: Changed the definition of PRIVATE_HEADERS_FOLDER_PATH
to include INSTALL_PATH_PREFIX only when installing.

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

6 years agoINSTALL_PATH_PREFIX is used even when not installing
mitz@apple.com [Fri, 6 Sep 2013 03:50:08 +0000 (03:50 +0000)]
INSTALL_PATH_PREFIX is used even when not installing
https://bugs.webkit.org/show_bug.cgi?id=120810

Reviewed by Andy Estes.

* Configurations/CopyWTFHeaders.xcconfig: Removed INSTALL_PATH_PREFIX from
the definition of PRIVATE_HEADERS_FOLDER_PATH. Also removed the leading
slash, because the Xcode definition of this build setting is relative.
* WTF.xcodeproj/project.pbxproj: Prepend INSTALL_PATH_PREFIX here when installing.

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

6 years agoFix build warnings by unused parameter
jinwoo7.song@samsung.com [Fri, 6 Sep 2013 03:43:14 +0000 (03:43 +0000)]
Fix build warnings by unused parameter
https://bugs.webkit.org/show_bug.cgi?id=120821

Reviewed by Anders Carlsson.

Fix warning by removing unused parameter.

* platform/graphics/gstreamer/TextSinkGStreamer.cpp:
(webkitTextSinkGetProperty):
(webkitTextSinkSetProperty):
* platform/network/soup/SynchronousLoaderClientSoup.cpp:
(WebCore::SynchronousLoaderClient::didReceiveAuthenticationChallenge):

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

6 years agoWeb Inspector: Breakpoint Action JS Editor has line wrapping issues with long no...
commit-queue@webkit.org [Fri, 6 Sep 2013 03:33:57 +0000 (03:33 +0000)]
Web Inspector: Breakpoint Action JS Editor has line wrapping issues with long no-space lines
https://bugs.webkit.org/show_bug.cgi?id=120822

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

* UserInterface/BreakpointActionView.css:
(.breakpoint-action-eval-editor > .CodeMirror):
(.breakpoint-action-eval-editor > .CodeMirror-scroll):

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

6 years agoFrameLoader: Convert three little loops to using Vector<Ref<Frame>>.
akling@apple.com [Fri, 6 Sep 2013 01:34:05 +0000 (01:34 +0000)]
FrameLoader: Convert three little loops to using Vector<Ref<Frame>>.
<https://webkit.org/b/120798>

Reviewed by Antti Koivisto.

Also apply a bit of inline capacity + reserveInitialCapacity + uncheckedAppend
in FrameLoader::detachChildren() since we know the final size from the start.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::detachChildren):
(WebCore::FrameLoader::checkLoadComplete):
(WebCore::FrameLoader::shouldClose):

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

6 years agoContainerNode: Apply Ref<T> to some popular DOM functions.
akling@apple.com [Fri, 6 Sep 2013 01:24:45 +0000 (01:24 +0000)]
ContainerNode: Apply Ref<T> to some popular DOM functions.
<https://webkit.org/b/120800>

Reviewed by Antti Koivisto.

Use Ref to avoid a bunch of null checks in some popular DOM functions.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::insertBefore):

    'refChild' is never null here, so store it in a Ref.

(WebCore::ContainerNode::replaceChild):

    'removedChild' is never null here, so store it in a Ref.

(WebCore::ContainerNode::removeChild):

    'child' is never null here, so store it in a Ref.
    Also return "true" at the end of the function since we can't
    null-check 'child' anymore (not that it would ever be false!)

(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):

    Use Ref<Document> in both of these methods.

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

6 years agoRoll out r155149 since it broke the build.
mrowe@apple.com [Fri, 6 Sep 2013 01:08:48 +0000 (01:08 +0000)]
Roll out r155149 since it broke the build.

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

6 years agoWeb Inspector: Edit Breakpoint popover sometimes appears misplaced in top left
commit-queue@webkit.org [Fri, 6 Sep 2013 00:55:42 +0000 (00:55 +0000)]
Web Inspector: Edit Breakpoint popover sometimes appears misplaced in top left
https://bugs.webkit.org/show_bug.cgi?id=120804

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

Grab the bounding rect immediately, instead of grabbing it from the element
after the user has selected the "Edit Breakpoint" context menu item. When
the popover was misplaced it was when using an element had been removed or
replaced in the DOM, and caused a bogus bounding client rect.

* UserInterface/Breakpoint.js:
(WebInspector.Breakpoint.prototype.editBreakpoint):
(WebInspector.Breakpoint.prototype._showEditBreakpointPopover):

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

6 years agoScrollView::children() should return a reference.
akling@apple.com [Fri, 6 Sep 2013 00:35:00 +0000 (00:35 +0000)]
ScrollView::children() should return a reference.
<https://webkit.org/b/120795>

Reviewed by Anders Carlsson.

Source/WebCore:

This function was already just returning the address of a member variable.
Modernized some loops that were using it.

* bindings/js/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::setJavaScriptPaused):
* page/FrameView.cpp:
(WebCore::FrameView::hasCustomScrollbars):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
* page/Page.cpp:
(WebCore::Page::pluginViews):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
* platform/ScrollView.h:
(WebCore::ScrollView::children):
* plugins/IFrameShimSupport.cpp:
(WebCore::getPluginOcclusions):

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _addScrollerDashboardRegionsForFrameView:dashboardRegions:]):

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

6 years ago[CMAKE] Add c++0x into CXX_FLAGS as a default
ryuan.choi@samsung.com [Fri, 6 Sep 2013 00:23:22 +0000 (00:23 +0000)]
[CMAKE] Add c++0x into CXX_FLAGS as a default
https://bugs.webkit.org/show_bug.cgi?id=120812

Unreviewed build fix for EFL ports.

.:

* Source/cmake/OptionsCommon.cmake: Moved c++0x option here from WebKitHelpers.
* Source/cmake/WebKitHelpers.cmake:

Source/WebKit/efl:

* tests/UnitTestUtils/EWKTestConfig.h: Add space between strings.

Source/WebKit2:

* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: Added constexpr for in-class initialization.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: Added space between strings.
(EWK2UnitTest::EWK2UnitTestEnvironment::defaultTestPageUrl):
(EWK2UnitTest::EWK2UnitTestEnvironment::defaultTheme):
(EWK2UnitTest::EWK2UnitTestEnvironment::urlForResource):

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

6 years agoReverting revisions 155139, 155141, 155142, and 155145 since they appear to have
bdakin@apple.com [Fri, 6 Sep 2013 00:18:56 +0000 (00:18 +0000)]
Reverting revisions 155139, 155141, 155142, and 155145 since they appear to have
caused about 50 new test failures.

* 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/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::createRenderer):
* html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::createRenderer):
* html/shadow/SliderThumbElement.cpp:
(WebCore::RenderSliderThumb::RenderSliderThumb):
* html/shadow/SliderThumbElement.h:
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::createAnonymous):
(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: Removed.
* rendering/RenderBlockFlow.h: Removed.
* 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/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:
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::RenderMeter):
* rendering/RenderMeter.h:
* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
* rendering/RenderMultiColumnBlock.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
(WebCore::RenderObject::computeRectForRepaint):
(WebCore::RenderObject::styleWillChange):
(WebCore::firstLineStyleForCachedUncachedType):
* rendering/RenderObject.h:
(WebCore::RenderObject::isBlockFlow):
(WebCore::RenderObject::isRenderBlock):
* 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/RenderingAllInOne.cpp:
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::createGlyph):
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::RenderSVGBlock):
* rendering/svg/RenderSVGBlock.h:

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

6 years agoFlaky Test: platform/mac/editing/deleting/deletionUI-single-instance.html
ap@apple.com [Fri, 6 Sep 2013 00:16:28 +0000 (00:16 +0000)]
Flaky Test: platform/mac/editing/deleting/deletionUI-single-instance.html
https://bugs.webkit.org/show_bug.cgi?id=114181

Reviewed by Ryosuke Niwa.

Editor survives navigations, and so did DeleteButtonController. But the state it holds
is document specific (like nodes in the old document).

* editing/Editor.cpp: (WebCore::Editor::clear): Replace DeleteButtonController.

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

6 years agoUnreviewed build fix. VectorReverse.cpp was removed after r155151.
seokju@webkit.org [Thu, 5 Sep 2013 23:30:32 +0000 (23:30 +0000)]
Unreviewed build fix. VectorReverse.cpp was removed after r155151.

* TestWebKitAPI/CMakeLists.txt:

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

6 years agoCleanup formatting of byte code debug output
msaboff@apple.com [Thu, 5 Sep 2013 23:27:41 +0000 (23:27 +0000)]
Cleanup formatting of byte code debug output
Source/JavaScriptCore/ChangeLog

Rubber stamped by Filip Pizlo.

Put the formatting of the byte code offset and operation into one common function to
simplify and unify formatting.  Changed CodeBlock::registerName() to return
"thist" for argument register 0, "argN" for other argument registers and "locN" for
local registers.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::registerName):
(JSC::CodeBlock::printUnaryOp):
(JSC::CodeBlock::printBinaryOp):
(JSC::CodeBlock::printConditionalJump):
(JSC::CodeBlock::printGetByIdOp):
(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::printPutByIdOp):
(JSC::CodeBlock::dumpBytecode):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::printLocationAndOp):
(JSC::CodeBlock::printLocationOpAndRegisterOperand):

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

6 years agoFix build with older versions of clang from Xcode.
andersca@apple.com [Thu, 5 Sep 2013 23:13:42 +0000 (23:13 +0000)]
Fix build with older versions of clang from Xcode.

* wtf/Compiler.h:

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

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