WebKit-https.git
7 years agoWebKit2 doesn't support viewer services that accept image attachments
timothy_horton@apple.com [Thu, 28 Aug 2014 20:45:59 +0000 (20:45 +0000)]
WebKit2 doesn't support viewer services that accept image attachments
https://bugs.webkit.org/show_bug.cgi?id=136349
<rdar://problem/18164606>

Reviewed by Brady Eidson.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
Encode the already-existing parameter.

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

7 years agoScrolling with spacebar on a page with fixed header breaks reading flow
benjamin@webkit.org [Thu, 28 Aug 2014 20:01:18 +0000 (20:01 +0000)]
Scrolling with spacebar on a page with fixed header breaks reading flow
https://bugs.webkit.org/show_bug.cgi?id=135506

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-28
Reviewed by Simon Fraser.

Source/WebCore:

When scrolling by page, find the height of any bar that is obscuring the top or bottom of the page,
and substract that height from the step to scroll.

Tests: scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html
       scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html
       scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html
       scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html
       scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html
       scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html
       scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html
       scrollbars/scrolling-by-page-on-keyboard-spacebar.html

* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::adjustScrollStepForFixedContent):
* page/FrameView.h:
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::adjustScrollStepForFixedContent):
(WebCore::ScrollableArea::scroll):
* platform/ScrollableArea.h:

LayoutTests:

There was pretty much no test coverage for scrolling by page, add some tests.

* fast/events/scrollbar-double-click-expected.txt:
* platform/mac-wk1/TestExpectations:
* scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
* scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html: Added.
* scrollbars/scrolling-backward-by-page-on-keyboard-spacebar-expected.txt: Added.
* scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html: Added.
* scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
* scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html: Added.
* scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
* scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html: Added.
* scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar-expected.txt: Added.
* scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html: Added.
* scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
* scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html: Added.
* scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
* scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html: Added.
* scrollbars/scrolling-by-page-on-keyboard-spacebar-expected.txt: Added.
* scrollbars/scrolling-by-page-on-keyboard-spacebar.html: Added.

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

7 years agoSubpixel layout: Remove unused pixel snapping functions.
zalan@apple.com [Thu, 28 Aug 2014 19:48:50 +0000 (19:48 +0000)]
Subpixel layout: Remove unused pixel snapping functions.
https://bugs.webkit.org/show_bug.cgi?id=136341

Reviewed by Simon Fraser.

Let's not encourage integral snapping by having these functions around.

No change in functionality.

Source/WebCore:

* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::pixelSnappedElementRect): Deleted.
(WebCore::AccessibilityObject::pixelSnappedSize): Deleted.
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::width):
(WebCore::HTMLImageElement::height):
* page/FrameView.cpp:
(WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
* platform/graphics/LayoutPoint.h:
(WebCore::snappedIntSize):
(WebCore::snapSizeToDevicePixel):
* platform/graphics/LayoutRect.h:
(WebCore::LayoutRect::pixelSnappedLocation): Deleted.
(WebCore::LayoutRect::pixelSnappedX): Deleted.
(WebCore::LayoutRect::pixelSnappedY): Deleted.
(WebCore::LayoutRect::pixelSnappedWidth): Deleted.
(WebCore::LayoutRect::pixelSnappedHeight): Deleted.
(WebCore::LayoutRect::pixelSnappedMaxX): Deleted.
(WebCore::LayoutRect::pixelSnappedMaxY): Deleted.
(WebCore::snappedIntRectFromEdges): Deleted.
* rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::pixelSnappedLogicalTopForFloat): Deleted.
(WebCore::RenderBlockFlow::pixelSnappedLogicalBottomForFloat): Deleted.
(WebCore::RenderBlockFlow::pixelSnappedLogicalLeftForFloat): Deleted.
(WebCore::RenderBlockFlow::pixelSnappedLogicalRightForFloat): Deleted.
* rendering/RenderBox.h:
(WebCore::RenderBox::pixelSnappedLogicalHeight):
(WebCore::RenderBox::pixelSnappedLogicalWidth):
(WebCore::RenderBox::pixelSnappedBorderBoxRect):
(WebCore::RenderBox::pixelSnappedWidth): Deleted.
(WebCore::RenderBox::pixelSnappedHeight): Deleted.
(WebCore::RenderBox::pixelSnappedFrameRect): Deleted.
* rendering/RenderFileUploadControl.cpp:
(WebCore::nodeWidth):
(WebCore::nodeHeight):
(WebCore::RenderFileUploadControl::maxFilenameWidth):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::isPointInResizeControl):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::ensureRootLayer):
* rendering/RenderMediaControls.cpp:
(WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::paintColumnRules):
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::buttonRect):
* rendering/RenderView.h:

Source/WebKit2:

* Shared/WebRenderObject.cpp:
(WebKit::WebRenderObject::WebRenderObject):

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

7 years agoDFG should compute immediate dominators using the O(n log n) form of Lengauer and...
fpizlo@apple.com [Thu, 28 Aug 2014 19:23:02 +0000 (19:23 +0000)]
DFG should compute immediate dominators using the O(n log n) form of Lengauer and Tarjan's "A Fast Algorithm for Finding Dominators in a Flowgraph"
https://bugs.webkit.org/show_bug.cgi?id=93361

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

This patch also adds some new utilities for reasoning about block-keyed maps, block sets,
and block worklists. It changes preexisting code to use these abstractions.

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGAnalysis.h:
(JSC::DFG::Analysis::computeIfNecessary):
(JSC::DFG::Analysis::computeDependencies):
* dfg/DFGBlockMap.h: Added.
(JSC::DFG::BlockMap::BlockMap):
(JSC::DFG::BlockMap::size):
(JSC::DFG::BlockMap::atIndex):
(JSC::DFG::BlockMap::operator[]):
* dfg/DFGBlockMapInlines.h: Added.
(JSC::DFG::BlockMap<T>::BlockMap):
* dfg/DFGBlockSet.h: Added.
(JSC::DFG::BlockSet::BlockSet):
(JSC::DFG::BlockSet::add):
(JSC::DFG::BlockSet::contains):
* dfg/DFGBlockWorklist.cpp: Added.
(JSC::DFG::BlockWorklist::BlockWorklist):
(JSC::DFG::BlockWorklist::~BlockWorklist):
(JSC::DFG::BlockWorklist::push):
(JSC::DFG::BlockWorklist::pop):
(JSC::DFG::PostOrderBlockWorklist::PostOrderBlockWorklist):
(JSC::DFG::PostOrderBlockWorklist::~PostOrderBlockWorklist):
(JSC::DFG::PostOrderBlockWorklist::pushPre):
(JSC::DFG::PostOrderBlockWorklist::pushPost):
(JSC::DFG::PostOrderBlockWorklist::pop):
* dfg/DFGBlockWorklist.h: Added.
(JSC::DFG::BlockWorklist::notEmpty):
(JSC::DFG::BlockWith::BlockWith):
(JSC::DFG::BlockWith::operator UnspecifiedBoolType*):
(JSC::DFG::ExtendedBlockWorklist::ExtendedBlockWorklist):
(JSC::DFG::ExtendedBlockWorklist::forcePush):
(JSC::DFG::ExtendedBlockWorklist::push):
(JSC::DFG::ExtendedBlockWorklist::notEmpty):
(JSC::DFG::ExtendedBlockWorklist::pop):
(JSC::DFG::BlockWithOrder::BlockWithOrder):
(JSC::DFG::BlockWithOrder::operator UnspecifiedBoolType*):
(JSC::DFG::PostOrderBlockWorklist::push):
(JSC::DFG::PostOrderBlockWorklist::notEmpty):
* dfg/DFGCSEPhase.cpp:
* dfg/DFGDominators.cpp:
(JSC::DFG::Dominators::compute):
(JSC::DFG::Dominators::naiveDominates):
(JSC::DFG::Dominators::dump):
(JSC::DFG::Dominators::pruneDominators): Deleted.
* dfg/DFGDominators.h:
(JSC::DFG::Dominators::strictlyDominates):
(JSC::DFG::Dominators::dominates):
(JSC::DFG::Dominators::BlockData::BlockData):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dumpBlockHeader):
(JSC::DFG::Graph::getBlocksInPreOrder):
(JSC::DFG::Graph::getBlocksInPostOrder):
* dfg/DFGInvalidationPointInjectionPhase.cpp:
(JSC::DFG::InvalidationPointInjectionPhase::run):
* dfg/DFGNaiveDominators.cpp: Added.
(JSC::DFG::NaiveDominators::NaiveDominators):
(JSC::DFG::NaiveDominators::~NaiveDominators):
(JSC::DFG::NaiveDominators::compute):
(JSC::DFG::NaiveDominators::pruneDominators):
(JSC::DFG::NaiveDominators::dump):
* dfg/DFGNaiveDominators.h: Added.
(JSC::DFG::NaiveDominators::dominates):
* dfg/DFGNaturalLoops.cpp:
(JSC::DFG::NaturalLoops::computeDependencies):
(JSC::DFG::NaturalLoops::compute):
* dfg/DFGNaturalLoops.h:

Source/WTF:

Make BitVector operations return the previous value of the bit you're changing. This is
useful for the kinds of set operations that are commonplace in compiler graph searches.

* wtf/BitVector.h:
(WTF::BitVector::quickSet):
(WTF::BitVector::quickClear):
(WTF::BitVector::set):
(WTF::BitVector::ensureSizeAndSet):
(WTF::BitVector::clear):

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

7 years agotextStylingAtPosition returns incorrect values after executing toggleBold, toggleItal...
enrica@apple.com [Thu, 28 Aug 2014 19:21:24 +0000 (19:21 +0000)]
textStylingAtPosition returns incorrect values after executing toggleBold, toggleItalic and toggleUnderline.
https://bugs.webkit.org/show_bug.cgi?id=136323
rdar://problem/18141964

Reviewed by Antti Koivisto.

For underline style we need to check typingStyle first and use that information to populate
the dictionary. If there is no typing style we can use the render style.
Source/WebCore:

* WebCore.exp.in:
* editing/ios/EditorIOS.mm:
(WebCore::Editor::fontAttributesForSelectionStart):

Source/WebKit2:

We also need to update the editor state for the toggle commands to reflect the state in the UIProcess
even for commands that don't change the selection.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::executeEditCommandWithCallback):

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

7 years agobuild-webkit --inspector-frontend tries to copy files from old inspector path
burg@cs.washington.edu [Thu, 28 Aug 2014 19:19:33 +0000 (19:19 +0000)]
build-webkit --inspector-frontend tries to copy files from old inspector path
https://bugs.webkit.org/show_bug.cgi?id=136346

Reviewed by Timothy Hatcher.

Remove the old code path for copying inspector resources. It doesn't work.
Complain if this option is passed to CMake-based builds.

* Scripts/build-webkit:
* Scripts/webkitdirs.pm:
(copyInspectorFrontendFiles): Deleted.

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

7 years agoFTL should be able to do polymorphic call inlining
fpizlo@apple.com [Thu, 28 Aug 2014 19:09:48 +0000 (19:09 +0000)]
FTL should be able to do polymorphic call inlining
https://bugs.webkit.org/show_bug.cgi?id=135145

Reviewed by Geoffrey Garen.
Source/JavaScriptCore:

Added a log-based high-fidelity call edge profiler that runs in DFG JIT (and optionally
baseline JIT) code. Used it to do precise polymorphic inlining in the FTL. Potential
inlining sites use the call edge profile if it is available, but they will still fall back
on the call inline cache and rare case counts if it's not. Polymorphic inlining means that
multiple possible callees can be inlined with a switch to guard them. The slow path may
either be an OSR exit or a virtual call.

The call edge profiling added in this patch is very precise - it will tell you about every
call that has ever happened. It took some effort to reduce the overhead of this profiling.
This mostly involved ensuring that we don't do it unnecessarily. For example, we avoid it
in the baseline JIT (you can conditionally enable it but it's off by default) and we only do
it in the DFG JIT if we know that the regular inline cache profiling wasn't precise enough.
I also experimented with reducing the precision of the profiling. This led to a significant
reduction in the speed-up, so I avoided this approach. I also explored making log processing
concurrent, but that didn't help. Also, I tested the overhead of the log processing and
found that most of the overhead of this profiling is actually in putting things into the log
rather than in processing the log - that part appears to be surprisingly cheap.

Polymorphic inlining could be enabled in the DFG if we enabled baseline call edge profiling,
and if we guarded such inlining sites with some profiling mechanism to detect
polyvariant monomorphisation opportunities (where the callsite being inlined reveals that
it's actually monomorphic).

This is a ~28% speed-up on deltablue and a ~7% speed-up on richards, with small speed-ups on
other programs as well. It's about a 2% speed-up on Octane version 2, and never a regression
on anything we care about. Some aggregates, like V8Spider, see a regression. This is
highlighting the increase in profiling overhead. But since this doesn't show up on any major
score (code-load or SunSpider), it's probably not relevant.

Relanding after fixing debug assertions in fast/storage/serialized-script-value.html.

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/CallEdge.cpp: Added.
(JSC::CallEdge::dump):
* bytecode/CallEdge.h: Added.
(JSC::CallEdge::operator!):
(JSC::CallEdge::callee):
(JSC::CallEdge::count):
(JSC::CallEdge::despecifiedClosure):
(JSC::CallEdge::CallEdge):
* bytecode/CallEdgeProfile.cpp: Added.
(JSC::CallEdgeProfile::callEdges):
(JSC::CallEdgeProfile::numCallsToKnownCells):
(JSC::worthDespecifying):
(JSC::CallEdgeProfile::worthDespecifying):
(JSC::CallEdgeProfile::visitWeak):
(JSC::CallEdgeProfile::addSlow):
(JSC::CallEdgeProfile::mergeBack):
(JSC::CallEdgeProfile::fadeByHalf):
(JSC::CallEdgeLog::CallEdgeLog):
(JSC::CallEdgeLog::~CallEdgeLog):
(JSC::CallEdgeLog::isEnabled):
(JSC::operationProcessCallEdgeLog):
(JSC::CallEdgeLog::emitLogCode):
(JSC::CallEdgeLog::processLog):
* bytecode/CallEdgeProfile.h: Added.
(JSC::CallEdgeProfile::numCallsToNotCell):
(JSC::CallEdgeProfile::numCallsToUnknownCell):
(JSC::CallEdgeProfile::totalCalls):
* bytecode/CallEdgeProfileInlines.h: Added.
(JSC::CallEdgeProfile::CallEdgeProfile):
(JSC::CallEdgeProfile::add):
* bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::visitWeak):
* bytecode/CallLinkInfo.h:
* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::computeFromLLInt):
(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeExitSiteData):
(JSC::CallLinkStatus::computeFromCallLinkInfo):
(JSC::CallLinkStatus::computeFromCallEdgeProfile):
(JSC::CallLinkStatus::computeDFGStatuses):
(JSC::CallLinkStatus::isClosureCall):
(JSC::CallLinkStatus::makeClosureCall):
(JSC::CallLinkStatus::dump):
(JSC::CallLinkStatus::function): Deleted.
(JSC::CallLinkStatus::internalFunction): Deleted.
(JSC::CallLinkStatus::intrinsicFor): Deleted.
* bytecode/CallLinkStatus.h:
(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::isSet):
(JSC::CallLinkStatus::couldTakeSlowPath):
(JSC::CallLinkStatus::edges):
(JSC::CallLinkStatus::size):
(JSC::CallLinkStatus::at):
(JSC::CallLinkStatus::operator[]):
(JSC::CallLinkStatus::canOptimize):
(JSC::CallLinkStatus::canTrustCounts):
(JSC::CallLinkStatus::isClosureCall): Deleted.
(JSC::CallLinkStatus::callTarget): Deleted.
(JSC::CallLinkStatus::executable): Deleted.
(JSC::CallLinkStatus::makeClosureCall): Deleted.
* bytecode/CallVariant.cpp: Added.
(JSC::CallVariant::dump):
* bytecode/CallVariant.h: Added.
(JSC::CallVariant::CallVariant):
(JSC::CallVariant::operator!):
(JSC::CallVariant::despecifiedClosure):
(JSC::CallVariant::rawCalleeCell):
(JSC::CallVariant::internalFunction):
(JSC::CallVariant::function):
(JSC::CallVariant::isClosureCall):
(JSC::CallVariant::executable):
(JSC::CallVariant::nonExecutableCallee):
(JSC::CallVariant::intrinsicFor):
(JSC::CallVariant::functionExecutable):
(JSC::CallVariant::isHashTableDeletedValue):
(JSC::CallVariant::operator==):
(JSC::CallVariant::operator!=):
(JSC::CallVariant::operator<):
(JSC::CallVariant::operator>):
(JSC::CallVariant::operator<=):
(JSC::CallVariant::operator>=):
(JSC::CallVariant::hash):
(JSC::CallVariant::deletedToken):
(JSC::CallVariantHash::hash):
(JSC::CallVariantHash::equal):
* bytecode/CodeOrigin.h:
(JSC::InlineCallFrame::isNormalCall):
* bytecode/ExitKind.cpp:
(JSC::exitKindToString):
* bytecode/ExitKind.h:
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeForStubInfo):
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeForStubInfo):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::propagate):
* dfg/DFGBasicBlock.cpp:
(JSC::DFG::BasicBlock::~BasicBlock):
* dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::takeLast):
(JSC::DFG::BasicBlock::didLink):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::processSetLocalQueue):
(JSC::DFG::ByteCodeParser::removeLastNodeFromGraph):
(JSC::DFG::ByteCodeParser::addCallWithoutSettingResult):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::emitFunctionChecks):
(JSC::DFG::ByteCodeParser::undoFunctionChecks):
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::cancelLinkingForBlock):
(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::prepareToParseBlock):
(JSC::DFG::ByteCodeParser::clearCaches):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::linkBlock):
(JSC::DFG::ByteCodeParser::linkBlocks):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
* dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::freeUnnecessaryNodes):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGCommon.h:
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::getBlocksInPreOrder):
(JSC::DFG::Graph::visitChildren):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
* dfg/DFGLazyJSValue.cpp:
(JSC::DFG::LazyJSValue::switchLookupValue):
* dfg/DFGLazyJSValue.h:
(JSC::DFG::LazyJSValue::switchLookupValue): Deleted.
* dfg/DFGNode.cpp:
(WTF::printInternal):
* dfg/DFGNode.h:
(JSC::DFG::OpInfo::OpInfo):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasCellOperand):
(JSC::DFG::Node::cellOperand):
(JSC::DFG::Node::setCellOperand):
(JSC::DFG::Node::canBeKnownFunction): Deleted.
(JSC::DFG::Node::hasKnownFunction): Deleted.
(JSC::DFG::Node::knownFunction): Deleted.
(JSC::DFG::Node::giveKnownFunction): Deleted.
(JSC::DFG::Node::hasFunction): Deleted.
(JSC::DFG::Node::function): Deleted.
(JSC::DFG::Node::hasExecutable): Deleted.
(JSC::DFG::Node::executable): Deleted.
* dfg/DFGNodeType.h:
* dfg/DFGPhantomCanonicalizationPhase.cpp:
(JSC::DFG::PhantomCanonicalizationPhase::run):
* dfg/DFGPhantomRemovalPhase.cpp:
(JSC::DFG::PhantomRemovalPhase::run):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitSwitch):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStructureRegistrationPhase.cpp:
(JSC::DFG::StructureRegistrationPhase::run):
* dfg/DFGTierUpCheckInjectionPhase.cpp:
(JSC::DFG::TierUpCheckInjectionPhase::run):
(JSC::DFG::TierUpCheckInjectionPhase::removeFTLProfiling):
* dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validate):
* dfg/DFGWatchpointCollectionPhase.cpp:
(JSC::DFG::WatchpointCollectionPhase::handle):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::ftlUnreachable):
(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCheckCell):
(JSC::FTL::LowerDFGToLLVM::compileCheckBadCell):
(JSC::FTL::LowerDFGToLLVM::compileGetExecutable):
(JSC::FTL::LowerDFGToLLVM::compileNativeCallOrConstruct):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::buildSwitch):
(JSC::FTL::LowerDFGToLLVM::compileCheckFunction): Deleted.
(JSC::FTL::LowerDFGToLLVM::compileCheckExecutable): Deleted.
* heap/Heap.cpp:
(JSC::Heap::collect):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::storeValue):
(JSC::AssemblyHelpers::loadValue):
* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArguments):
* jit/GPRInfo.h:
(JSC::JSValueRegs::uses):
* jit/JITCall.cpp:
(JSC::JIT::compileOpCall):
* jit/JITCall32_64.cpp:
(JSC::JIT::compileOpCall):
* runtime/Options.h:
* runtime/VM.cpp:
(JSC::VM::ensureCallEdgeLog):
* runtime/VM.h:
* tests/stress/fold-profiled-call-to-call.js: Added. This test pinpoints the problem we saw in fast/storage/serialized-script-value.html.
* tests/stress/new-array-then-exit.js: Added.
* tests/stress/poly-call-exit-this.js: Added.
* tests/stress/poly-call-exit.js: Added.

Source/WTF:

Add some power that I need for call edge profiling.

* wtf/OwnPtr.h:
(WTF::OwnPtr<T>::createTransactionally):
* wtf/Spectrum.h:
(WTF::Spectrum::add):
(WTF::Spectrum::addAll):
(WTF::Spectrum::get):
(WTF::Spectrum::size):
(WTF::Spectrum::KeyAndCount::KeyAndCount):
(WTF::Spectrum::clear):
(WTF::Spectrum::removeIf):

LayoutTests:

* js/regress/script-tests/simple-poly-call-nested.js: Added.
* js/regress/script-tests/simple-poly-call.js: Added.
* js/regress/simple-poly-call-expected.txt: Added.
* js/regress/simple-poly-call-nested-expected.txt: Added.
* js/regress/simple-poly-call-nested.html: Added.
* js/regress/simple-poly-call.html: Added.

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

7 years ago[GTK] Add WaylandEventSource
zandobersek@gmail.com [Thu, 28 Aug 2014 19:03:07 +0000 (19:03 +0000)]
[GTK] Add WaylandEventSource
https://bugs.webkit.org/show_bug.cgi?id=136213

Reviewed by Martin Robinson.

Add the WaylandEventSource class. Its static method, createEventSource(),
creates a new GSource object that is attached to the main context and
enables handling Wayland display events through the GLib's main loop.

The method will be called by the nested Wayland compositor during its
initialization, which will also take the control over the ownership and
will be tasked with properly removing the GSource from the main context.

GLibSource is a GSource-based struct that additionally holds a GPollFD object
and the pointer to the wl_display object whose event loop we'll be
dispatching during the GSource dispatch. This is the type that g_source_new
uses when allocating the new GSource object.

The GSource is assigned the default priorty, can recurse, and is attached
to the main context.

* PlatformGTK.cmake:
* platform/graphics/wayland/WaylandEventSource.cpp: Added.
(WebCore::GLibSource::initialize):
(WebCore::GLibSource::check):
(WebCore::GLibSource::dispatch):
(WebCore::prepareCallback):
(WebCore::checkCallback):
(WebCore::dispatchCallback):
(WebCore::WaylandEventSource::createDisplayEventSource):
* platform/graphics/wayland/WaylandEventSource.h: Added.

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

7 years agoAX: Safari at com.apple.WebCore: WebCore::AXObjectCache::clearTextMarkerNodesInUse
cfleizach@apple.com [Thu, 28 Aug 2014 18:00:33 +0000 (18:00 +0000)]
AX: Safari at com.apple.WebCore: WebCore::AXObjectCache::clearTextMarkerNodesInUse
https://bugs.webkit.org/show_bug.cgi?id=136333

Reviewed by David Kilzer.

If a Node is asked for it's Document when it's not actually in a document, it can lead to an assert/crash.
We can avoid this by checking that the node is in a document before asking for its document.

I was not able to make a test case.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::clearTextMarkerNodesInUse):

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

7 years agoASSERTION FAILED: !m_renderView.document().inPageCache() in compositing/iframes/resou...
akling@apple.com [Thu, 28 Aug 2014 17:54:31 +0000 (17:54 +0000)]
ASSERTION FAILED: !m_renderView.document().inPageCache() in compositing/iframes/resources/page-cache-helper.html
<https://webkit.org/b/136329>

Cancel any pending compositing layer updates when moving a document
into the page cache.

Reviewed by Zalan Bujtas.

* dom/Document.cpp:
(WebCore::Document::documentWillSuspendForPageCache):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::cancelCompositingLayerUpdate):
* rendering/RenderLayerCompositor.h:

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

7 years agoDashboard metrics page could show longest stretch of red
ap@apple.com [Thu, 28 Aug 2014 17:26:08 +0000 (17:26 +0000)]
Dashboard metrics page could show longest stretch of red
https://bugs.webkit.org/show_bug.cgi?id=136334

Reviewed by Sam Weinig.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:
(Analyzer.prototype._updateStretchOfRedCounters):
(Analyzer.prototype._countPercentageOfGreen):
When counting percentage of green, also keep track of how long the page was red.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsView.js:
(MetricsView.prototype._update.addDivider):
(MetricsView.prototype._update.appendQueueResults):
Show it in aggregate queues (can't think of a reason to have it in individual ones).

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Metrics.css:
Changed to use an explicit divider element between green time and performance groups,
as there are too many combinations to easily express in CSS.

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

7 years agoWebInspectorUI.framework is not built for the "All Source" Xcode scheme
burg@cs.washington.edu [Thu, 28 Aug 2014 17:22:59 +0000 (17:22 +0000)]
WebInspectorUI.framework is not built for the "All Source" Xcode scheme
https://bugs.webkit.org/show_bug.cgi?id=136343

Reviewed by David Kilzer.

The "build" and "run" actions in Xcode should copy over the latest Inspector resources.

* WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme:
* WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:

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

7 years ago[Win] Adjust build order to reduce flakiness.
bfulgham@apple.com [Thu, 28 Aug 2014 16:00:53 +0000 (16:00 +0000)]
[Win] Adjust build order to reduce flakiness.

* WebKit.vcxproj/WebKit.sln: Make sure WebCoreGenerated doesn't
  start until the last JSC tool has finished building.

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

7 years agoCorrect GC length unit and prevent division by 0 in showObjectStatistics.
julien.brianceau@gmail.com [Thu, 28 Aug 2014 14:22:25 +0000 (14:22 +0000)]
Correct GC length unit and prevent division by 0 in showObjectStatistics.
https://bugs.webkit.org/show_bug.cgi?id=136340

Reviewed by Mark Hahnenberg.

* heap/HeapStatistics.cpp:
(JSC::HeapStatistics::showObjectStatistics):

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

7 years ago[CSSSRegions] Incorrect selection clearing on a document without regions
mihnea@adobe.com [Thu, 28 Aug 2014 13:25:02 +0000 (13:25 +0000)]
[CSSSRegions] Incorrect selection clearing on a document without regions
https://bugs.webkit.org/show_bug.cgi?id=134901

Reviewed by David Hyatt.

Source/WebCore:

When we select all the content of document with named flows but without regions,
the start and end points of selection is cached in RenderView. However, since
the document has named flows, the selection is split between the subtrees. During the split,
it is possible that the cached end-points of the original selection are not included
in any of the resulting subtree selection and they are not marked accordingly.
In order to process the selection clearing correctly, we have to take the original
selection end-points into account.

Test: fast/regions/selection/select-all-without-regions.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::isSelectionBorder):

LayoutTests:

* fast/regions/selection/select-all-without-regions-expected.txt: Added.
* fast/regions/selection/select-all-without-regions.html: Added.

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

7 years ago[GTK] Add webkit_uri_response_get_http_headers to WebKit2 GTK+ API
carlosgc@webkit.org [Thu, 28 Aug 2014 13:11:21 +0000 (13:11 +0000)]
[GTK] Add webkit_uri_response_get_http_headers to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=136248

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Move the code to update the SoupMessageHeaders to a new public
method.

* platform/network/soup/ResourceResponse.h:
* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateSoupMessageHeaders):
(WebCore::ResourceResponse::toSoupMessage):

Source/WebKit2:

Add webkit_uri_response_get_http_headers() that returns the HTTP
headers as a SoupMessageHeaders* like webkit_uri_request_get_http_headers().

* UIProcess/API/gtk/WebKitURIResponse.cpp:
(webkitURIResponseGetProperty): Add http-headers property getter.
(webkit_uri_response_class_init): Add http-headers property.
(webkit_uri_response_get_http_headers): Return the HTTP headers as
a SoupMessageHeaders* or NULL for non HTTP responses.
* UIProcess/API/gtk/WebKitURIResponse.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.

Tools:

Add new test case for webkit_uri_response_get_http_headers().

* TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp:
(testURIResponseHTTPHeaders):
(serverCallback):
(beforeAll):

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

7 years ago[GTK] Remove support for GTK+2 theme rendering
carlosgc@webkit.org [Thu, 28 Aug 2014 09:13:58 +0000 (09:13 +0000)]
[GTK] Remove support for GTK+2 theme rendering
https://bugs.webkit.org/show_bug.cgi?id=136285

Reviewed by Philippe Normand.

GTK+2 is only used by the plugin process that doesn't need to
render html controls themed. Since the theme files are still
built for WebCorePlatformGTK2, we need to provide dummy
implementations for the pure virtual methods when
GTK_API_VERSION_2 is defined.

* PlatformGTK.cmake: Remove deleted files from compilation.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::create):
(WebCore::RenderTheme::themeForPage):
(WebCore::getScreenDPI):
(WebCore::RenderThemeGtk::systemFont):
(WebCore::RenderThemeGtk::sliderTickSize):
(WebCore::RenderThemeGtk::sliderTickOffsetFromTrackCenter):
(WebCore::RenderThemeGtk::getScreenDPI): Deleted.
* platform/gtk/RenderThemeGtk.h:
* platform/gtk/RenderThemeGtk2.cpp: Removed.
* platform/gtk/RenderThemeGtk3.cpp:
* platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::hasThumb):
(WebCore::ScrollbarThemeGtk::backButtonRect):
(WebCore::ScrollbarThemeGtk::forwardButtonRect):
(WebCore::ScrollbarThemeGtk::trackRect):
(WebCore::ScrollbarThemeGtk::registerScrollbar):
(WebCore::ScrollbarThemeGtk::unregisterScrollbar):
(WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
* platform/gtk/ScrollbarThemeGtk.h:
* platform/gtk/ScrollbarThemeGtk2.cpp: Removed.
* platform/gtk/WidgetRenderingContext.cpp: Removed.
* platform/gtk/WidgetRenderingContext.h: Removed.

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

7 years agoList Iago Toral <itoral@igalia.com> as the co-author of r172856 anr r173052 in the...
zandobersek@gmail.com [Thu, 28 Aug 2014 08:02:46 +0000 (08:02 +0000)]
List Iago Toral <itoral@igalia.com> as the co-author of r172856 anr r173052 in the ChangeLog entries.

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

7 years agoUnreviewed GTK build fix for the Wayland windowing target after r173052.
zandobersek@gmail.com [Thu, 28 Aug 2014 07:47:14 +0000 (07:47 +0000)]
Unreviewed GTK build fix for the Wayland windowing target after r173052.

* platform/graphics/wayland/WaylandSurface.cpp: Include the IntSize header.
* platform/graphics/wayland/WaylandSurface.h: Forward-declare IntSize.

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

7 years ago[CSS Regions] Move positioning tests into fast/regions/positioning
mihnea@adobe.com [Thu, 28 Aug 2014 07:33:55 +0000 (07:33 +0000)]
[CSS Regions] Move positioning tests into fast/regions/positioning
https://bugs.webkit.org/show_bug.cgi?id=136302

Reviewed by Andrei Bucur.

Moved tests, clean up tests, adjust TestExpectations files where needed.

* fast/regions/positioned-objects-block-static-in-regions-expected.html: Removed.
* fast/regions/positioned-objects-block-static-in-regions.html: Removed.
* fast/regions/positioned-objects-block-static-in-rtl-regions-expected.html: Removed.
* fast/regions/positioned-objects-block-static-in-rtl-regions.html: Removed.
* fast/regions/positioned-objects-clipped-spanning-regions-expected.html: Removed.
* fast/regions/positioned-objects-in-regions.html: Removed.
* fast/regions/positioned-objects-inline-static-spanning-regions-expected.html: Removed.
* fast/regions/positioning/fixed-element-transformed-parent-expected.txt: Renamed from LayoutTests/fast/regions/fixed-element-transformed-parent-expected.txt.
* fast/regions/positioning/fixed-element-transformed-parent.html: Renamed from LayoutTests/fast/regions/fixed-element-transformed-parent.html.
* fast/regions/positioning/fixed-in-named-flow-position-changed-expected.html: Renamed from LayoutTests/fast/regions/fixed-in-named-flow-position-changed-expected.html.
* fast/regions/positioning/fixed-in-named-flow-position-changed.html: Renamed from LayoutTests/fast/regions/fixed-in-named-flow-position-changed.html.
* fast/regions/positioning/fixed-inside-fixed-in-named-flow-expected.html: Renamed from LayoutTests/fast/regions/fixed-inside-fixed-in-named-flow-expected.html.
* fast/regions/positioning/fixed-inside-fixed-in-named-flow.html: Renamed from LayoutTests/fast/regions/fixed-inside-fixed-in-named-flow.html.
* fast/regions/positioning/fixed-inside-named-flow-zIndex-expected.html: Renamed from LayoutTests/fast/regions/fixed-inside-named-flow-zIndex-expected.html.
* fast/regions/positioning/fixed-inside-named-flow-zIndex.html: Renamed from LayoutTests/fast/regions/fixed-inside-named-flow-zIndex.html.
* fast/regions/positioning/fixed-pos-content-fragmented-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-content-fragmented-expected.html.
* fast/regions/positioning/fixed-pos-content-fragmented.html: Renamed from LayoutTests/fast/regions/fixed-pos-content-fragmented.html.
* fast/regions/positioning/fixed-pos-elem-in-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow-expected.txt.
* fast/regions/positioning/fixed-pos-elem-in-named-flow.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow.html.
* fast/regions/positioning/fixed-pos-elem-in-named-flow2-expected.txt: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow2-expected.txt.
* fast/regions/positioning/fixed-pos-elem-in-named-flow2.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow2.html.
* fast/regions/positioning/fixed-pos-elem-in-namedflow-noregions-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-namedflow-noregions-expected.html.
* fast/regions/positioning/fixed-pos-elem-in-namedflow-noregions.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-namedflow-noregions.html.
* fast/regions/positioning/fixed-pos-elem-in-region-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-region-expected.html.
* fast/regions/positioning/fixed-pos-elem-in-region.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-region.html.
* fast/regions/positioning/fixed-pos-region-in-nested-flow-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-in-nested-flow-expected.html.
* fast/regions/positioning/fixed-pos-region-in-nested-flow.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-in-nested-flow.html.
* fast/regions/positioning/fixed-pos-region-overflow-content-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-overflow-content-expected.html.
* fast/regions/positioning/fixed-pos-region-overflow-content.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-overflow-content.html.
* fast/regions/positioning/positioned-fragmented-content-expected.html: Renamed from LayoutTests/fast/regions/positioned-fragmented-content-expected.html.
* fast/regions/positioning/positioned-fragmented-content.html: Renamed from LayoutTests/fast/regions/positioned-fragmented-content.html.
* fast/regions/positioning/positioned-object-inline-cb-crash-expected.txt: Renamed from LayoutTests/fast/regions/positioned-object-inline-cb-crash-expected.txt.
* fast/regions/positioning/positioned-object-inline-cb-crash.html: Renamed from LayoutTests/fast/regions/positioned-object-inline-cb-crash.html.
* fast/regions/positioning/positioned-objects-block-static-in-regions-expected.html: Added.
* fast/regions/positioning/positioned-objects-block-static-in-regions.html: Added.
* fast/regions/positioning/positioned-objects-block-static-in-rtl-regions-expected.html: Added.
* fast/regions/positioning/positioned-objects-block-static-in-rtl-regions.html: Added.
* fast/regions/positioning/positioned-objects-block-static-spanning-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions-expected.html.
* fast/regions/positioning/positioned-objects-block-static-spanning-regions-rtl-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions-rtl-expected.html.
* fast/regions/positioning/positioned-objects-block-static-spanning-regions-rtl.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions-rtl.html.
* fast/regions/positioning/positioned-objects-block-static-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions.html.
* fast/regions/positioning/positioned-objects-clipped-spanning-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-in-regions-expected.html.
* fast/regions/positioning/positioned-objects-clipped-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-clipped-spanning-regions.html.
* fast/regions/positioning/positioned-objects-in-regions-expected.html: Added.
* fast/regions/positioning/positioned-objects-in-regions.html: Added.
* fast/regions/positioning/positioned-objects-in-rtl-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-in-rtl-regions-expected.html.
* fast/regions/positioning/positioned-objects-in-rtl-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-in-rtl-regions.html.
* fast/regions/positioning/positioned-objects-inline-static-in-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-regions-expected.html.
* fast/regions/positioning/positioned-objects-inline-static-in-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-regions.html.
* fast/regions/positioning/positioned-objects-inline-static-in-rtl-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.html.
* fast/regions/positioning/positioned-objects-inline-static-in-rtl-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-rtl-regions.html.
* fast/regions/positioning/positioned-objects-inline-static-spanning-regions-expected.html: Added.
* fast/regions/positioning/positioned-objects-inline-static-spanning-regions-rtl-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-spanning-regions-rtl-expected.html.
* fast/regions/positioning/positioned-objects-inline-static-spanning-regions-rtl.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-spanning-regions-rtl.html.
* fast/regions/positioning/positioned-objects-inline-static-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-spanning-regions.html.
* fast/regions/positioning/positioned-objects-perpendicular-flows-in-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-perpendicular-flows-in-regions-expected.html.
* fast/regions/positioning/positioned-objects-perpendicular-flows-in-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-perpendicular-flows-in-regions.html.
* fast/regions/positioning/positioned-objects-spanning-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-spanning-regions-expected.html.
* fast/regions/positioning/positioned-objects-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-spanning-regions.html.
* fast/regions/positioning/positioned-slider-in-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-slider-in-regions-expected.html.
* fast/regions/positioning/positioned-slider-in-regions.html: Renamed from LayoutTests/fast/regions/positioned-slider-in-regions.html.
* fast/regions/positioning/positioned-vrl-in-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/positioned-vrl-in-named-flow-expected.txt.
* fast/regions/positioning/positioned-vrl-in-named-flow.html: Renamed from LayoutTests/fast/regions/positioned-vrl-in-named-flow.html.
* fast/regions/positioning/positioned-vrl-in-parent-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/positioned-vrl-in-parent-named-flow-expected.txt.
* fast/regions/positioning/positioned-vrl-in-parent-named-flow.html: Renamed from LayoutTests/fast/regions/positioned-vrl-in-parent-named-flow.html.
* fast/regions/positioning/positioned-with-vrl-parent-in-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/positioned-with-vrl-parent-in-named-flow-expected.txt.
* fast/regions/positioning/positioned-with-vrl-parent-in-named-flow.html: Renamed from LayoutTests/fast/regions/positioned-with-vrl-parent-in-named-flow.html.
* platform/mac-wk2/TestExpectations:
* platform/win/TestExpectations:

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

7 years ago[CSS Regions] Move writing mode tests into fast/regions/writing-mode
mihnea@adobe.com [Thu, 28 Aug 2014 06:34:33 +0000 (06:34 +0000)]
[CSS Regions] Move writing mode tests into fast/regions/writing-mode
https://bugs.webkit.org/show_bug.cgi?id=136298

Reviewed by Andrei Bucur.

* fast/regions/writing-mode/changing-writing-mode-2-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-2-expected.html.
* fast/regions/writing-mode/changing-writing-mode-2.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-2.html.
* fast/regions/writing-mode/changing-writing-mode-3-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-3-expected.html.
* fast/regions/writing-mode/changing-writing-mode-3.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-3.html.
* fast/regions/writing-mode/changing-writing-mode-4-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-4-expected.html.
* fast/regions/writing-mode/changing-writing-mode-4.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-4.html.
* fast/regions/writing-mode/changing-writing-mode-5-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-5-expected.html.
* fast/regions/writing-mode/changing-writing-mode-5.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-5.html.
* fast/regions/writing-mode/changing-writing-mode-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-expected.html.
* fast/regions/writing-mode/changing-writing-mode.html: Renamed from LayoutTests/fast/regions/changing-writing-mode.html.
* fast/regions/writing-mode/invalid-first-region-with-writing-mode-2-expected.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode-2-expected.html.
* fast/regions/writing-mode/invalid-first-region-with-writing-mode-2.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode-2.html.
* fast/regions/writing-mode/invalid-first-region-with-writing-mode-expected.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode-expected.html.
* fast/regions/writing-mode/invalid-first-region-with-writing-mode.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode.html.

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

7 years ago[CSS Regions] Move more multicol tests in fast/regions/multicol
mihnea@adobe.com [Thu, 28 Aug 2014 06:31:40 +0000 (06:31 +0000)]
[CSS Regions] Move more multicol tests in fast/regions/multicol
https://bugs.webkit.org/show_bug.cgi?id=136295

Reviewed by Andrei Bucur.

* fast/regions/multicol/regions-in-multicol-bt-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-bt-expected.html.
* fast/regions/multicol/regions-in-multicol-bt.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-bt.html.
* fast/regions/multicol/regions-in-multicol-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-expected.html.
* fast/regions/multicol/regions-in-multicol-hover-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover-expected.html.
* fast/regions/multicol/regions-in-multicol-hover-overflow-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover-overflow-expected.html.
* fast/regions/multicol/regions-in-multicol-hover-overflow.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover-overflow.html.
* fast/regions/multicol/regions-in-multicol-hover.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover.html.
* fast/regions/multicol/regions-in-multicol-lr-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-lr-expected.html.
* fast/regions/multicol/regions-in-multicol-lr.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-lr.html.
* fast/regions/multicol/regions-in-multicol-rl-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-rl-expected.html.
* fast/regions/multicol/regions-in-multicol-rl.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-rl.html.
* fast/regions/multicol/regions-in-multicol.html: Renamed from LayoutTests/fast/regions/regions-in-multicol.html.

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

7 years agoOne more URTBF after r173047.
ossy@webkit.org [Thu, 28 Aug 2014 06:10:51 +0000 (06:10 +0000)]
One more URTBF after r173047.

* accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:
(webkitAccessibleComponentGetExtents):

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

7 years ago[GTK] Add WaylandSurface
zandobersek@gmail.com [Thu, 28 Aug 2014 06:09:04 +0000 (06:09 +0000)]
[GTK] Add WaylandSurface
https://bugs.webkit.org/show_bug.cgi?id=136220

Reviewed by Martin Robinson.

Add the WaylandSurface class. An objects of this type is meant to be used
by the LayerTreeHostGtk in the WebProcess and is constructed via the
WaylandDisplay::createSurface() method.

LayerTreeHostGtk uses such object to perform frame requests to the nested
Wayland compositor in the UIProcess, and to create the GLContextEGL object
that's used during the layer flushing and compositing.

The resize() method is called whenever LayerTreeHostGtk is being resized,
and basically only wraps the wl_egL_window_resize() call.

* PlatformGTK.cmake:
* platform/graphics/wayland/WaylandSurface.cpp: Added.
(WebCore::frameCallback):
(WebCore::WaylandSurface::WaylandSurface):
(WebCore::WaylandSurface::~WaylandSurface):
(WebCore::WaylandSurface::resize):
(WebCore::WaylandSurface::createGLContext):
(WebCore::WaylandSurface::requestFrame):
* platform/graphics/wayland/WaylandSurface.h: Added.
(WebCore::WaylandSurface::surface):
(WebCore::WaylandSurface::nativeWindowHandle):

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

7 years agoURTBF after r173047.
ossy@webkit.org [Thu, 28 Aug 2014 05:58:44 +0000 (05:58 +0000)]
URTBF after r173047.

* accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
(webkitAccessibleImageGetImagePosition):

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

7 years agoEWS status link at build.webkit.org/dashboard is incorrect until EWS pop-up is opened
ap@apple.com [Thu, 28 Aug 2014 05:44:25 +0000 (05:44 +0000)]
EWS status link at build.webkit.org/dashboard is incorrect until EWS pop-up is opened
https://bugs.webkit.org/show_bug.cgi?id=131668

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js:
(EWSQueue.prototype.loadDetailedStatus): Fixed a typo in assertion.

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

7 years agoSubpixel layout: Cleanup snapSizeToPixel/snapSizeToDevicePixel.
zalan@apple.com [Thu, 28 Aug 2014 05:27:41 +0000 (05:27 +0000)]
Subpixel layout: Cleanup snapSizeToPixel/snapSizeToDevicePixel.
https://bugs.webkit.org/show_bug.cgi?id=136264

Reviewed by Simon Fraser.

1. Align snapSizeToPixel()/snapSizeToDevicePixel() function names with the rest of snapping
functions. ->snappedIntSize()/snapSizeToDevicePixel().
2. Operate on LayoutSize/LayoutPoint instead of LayoutUnit/LayoutUnit to reflect functionality.

Covered by existing tests.

Source/WebCore:

* platform/LayoutUnit.h:
(WebCore::snapSizeToPixel): Deleted.
(WebCore::snapSizeToDevicePixel): Deleted.
* platform/graphics/LayoutPoint.h:
(WebCore::snappedIntSize):
(WebCore::snapSizeToDevicePixel):
(WebCore::pixelSnappedIntSize): Deleted.
* platform/graphics/LayoutRect.h:
(WebCore::LayoutRect::pixelSnappedSize):
(WebCore::LayoutRect::pixelSnappedWidth):
(WebCore::LayoutRect::pixelSnappedHeight):
(WebCore::pixelSnappedIntRect):
(WebCore::pixelSnappedIntRectFromEdges):
(WebCore::pixelSnappedForPainting):
(WebCore::directionalPixelSnappedForPainting):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::pixelSnappedClientWidth):
(WebCore::RenderBox::pixelSnappedClientHeight):
(WebCore::RenderBox::pixelSnappedOffsetWidth):
(WebCore::RenderBox::pixelSnappedOffsetHeight):
(WebCore::RenderBox::scrollWidth):
(WebCore::RenderBox::scrollHeight):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
(WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::scrollWidth):
(WebCore::RenderLayer::scrollHeight):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeLayers):

Tools:

* TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:
(TestWebKitAPI::TEST): Deleted.

LayoutTests:

* cssom/subpixel-offsetleft-top-width-height-values-expected.txt:
* platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:

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

7 years agoEWS status link at build.webkit.org/dashboard is incorrect until EWS pop-up is opened
ap@apple.com [Thu, 28 Aug 2014 05:19:01 +0000 (05:19 +0000)]
EWS status link at build.webkit.org/dashboard is incorrect until EWS pop-up is opened
https://bugs.webkit.org/show_bug.cgi?id=131668

Reviewed by Daniel Bates.

We used to fetch the URL from EWS detailed status JSON, but there isn't much reason
to not just hardcode.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js:
(EWS.prototype.queueStatusURL): Added.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js:
(EWSQueue.prototype.get statusPageURL): Use the above function.
(EWSQueue.prototype.loadDetailedStatus): Changed assignment to an assertion.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js:
(EWSQueueView.prototype.update): While at it, made a popover show up even if there
are no patches in the queue. The popover has other useful information, such as charts
link and bot status.

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

7 years agoSubpixel layout: Rename LayoutRect's device pixel snapping functions.
zalan@apple.com [Thu, 28 Aug 2014 04:24:31 +0000 (04:24 +0000)]
Subpixel layout: Rename LayoutRect's device pixel snapping functions.
https://bugs.webkit.org/show_bug.cgi?id=136319

Reviewed by Simon Fraser.

From pixelSnappedForPainting() to snapRectToDevicePixels() and
pixelSnappedIntRect*() to snappedIntRect*().

No change in functionality.

Source/WebCore:

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::boundingBoxForQuads):
(WebCore::AccessibilityObject::isOnscreen):
(WebCore::AccessibilityObject::scrollToMakeVisible):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect):
(WebCore::AccessibilityObject::pixelSnappedElementRect):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isOffScreen):
(WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
(-[WebAccessibilityObjectWrapper accessibilityFrame]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper position]):
(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
* bindings/objc/DOMUIKitExtensions.mm:
(-[DOMHTMLAreaElement boundingBoxWithOwner:]):
(-[DOMHTMLAreaElement absoluteQuadWithOwner:]):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::computedTransform):
* dom/Node.h:
(WebCore::Node::pixelSnappedBoundingBox):
(WebCore::Node::pixelSnappedRenderRect):
* editing/RenderedPosition.cpp:
(WebCore::RenderedPosition::absoluteRect):
* editing/mac/FrameSelectionMac.mm:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForElementInfo):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::didPaint):
* page/FrameSnapshotting.cpp:
(WebCore::snapshotNode):
* page/FrameView.cpp:
(WebCore::FrameView::scrollContentsFastPath):
(WebCore::FrameView::extendedBackgroundRectForPainting):
(WebCore::FrameView::windowClipRectForFrameOwner):
(WebCore::FrameView::convertFromRendererToContainingView):
* page/Page.cpp:
(WebCore::Page::addRelevantRepaintedObject):
(WebCore::Page::addRelevantUnpaintedObject):
* page/ios/FrameIOS.mm:
(WebCore::ancestorRespondingToClickEvents):
* platform/DragImage.cpp:
(WebCore::createDragImageForImage):
* platform/graphics/LayoutRect.cpp:
(WebCore::enclosingRectToDevicePixels):
(WebCore::enclosingRectForPainting): Deleted.
* platform/graphics/LayoutRect.h:
(WebCore::snappedIntRect):
(WebCore::snappedIntRectFromEdges):
(WebCore::snapRectToDevicePixels):
(WebCore::snapRectToDevicePixelsWithWritingDirection):
(WebCore::pixelSnappedIntRect): Deleted.
(WebCore::pixelSnappedIntRectFromEdges): Deleted.
(WebCore::pixelSnappedForPainting): Deleted.
(WebCore::directionalPixelSnappedForPainting): Deleted.
* platform/graphics/RoundedRect.cpp:
(WebCore::RoundedRect::pixelSnappedRoundedRectForPainting):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::computePixelAlignment):
* platform/text/TextStream.cpp:
(WebCore::TextStream::operator<<):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paintSelection):
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRendererHelper::applyFilterEffect):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paint):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::positionForOffset):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addVisualOverflowFromTheme):
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::blockSelectionGap):
(WebCore::RenderBlock::logicalLeftSelectionGap):
(WebCore::RenderBlock::logicalRightSelectionGap):
(WebCore::RenderBlock::absoluteRects):
(WebCore::RenderBlock::addFocusRingRects):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::clipOutFloatingObjects):
(WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::absoluteRects):
(WebCore::RenderBox::absoluteContentBox):
(WebCore::RenderBox::outlineBoundsForRepaint):
(WebCore::RenderBox::addFocusRingRects):
(WebCore::RenderBox::getBackgroundPaintedExtent):
(WebCore::RenderBox::pushContentsClip):
(WebCore::RenderBox::computeRectForRepaint):
* rendering/RenderBox.h:
(WebCore::RenderBox::pixelSnappedFrameRect):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
(WebCore::RenderBoxModelObject::paintNinePieceImage):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::RenderBoxModelObject::paintBoxShadow):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::paint):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintSnapshotImage):
(WebCore::RenderEmbeddedObject::isReplacementObscured):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::paintBoxDecorations):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::paint):
(WebCore::RenderFrameSet::layout):
(WebCore::RenderFrameSet::positionFramesWithFlattening):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::paintReplaced):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutlineForLine):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateTransform):
(WebCore::RenderLayer::currentTransform):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::scrollCornerRect):
(WebCore::RenderLayer::drawPlatformResizerImage):
(WebCore::RenderLayer::paintResizer):
(WebCore::RenderLayer::hitTestOverflowControls):
(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
(WebCore::RenderLayer::hitTestResizerInFragments):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateTransform):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::resetContentsRect):
(WebCore::RenderLayerBacking::updateImageContents):
(WebCore::RenderLayerBacking::backgroundBoxForPainting):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
(WebCore::RenderLayerBacking::paintContents):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
(WebCore::RenderLayerCompositor::requiresCompositingForFrame):
(WebCore::RenderLayerCompositor::paintContents):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::addFocusRingRects):
(WebCore::RenderListBox::paintScrollbar):
(WebCore::RenderListBox::paintItemBackground):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::updateLogicalWidth):
(WebCore::RenderMeter::computeLogicalHeight):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::paintColumnRules):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
(WebCore::RenderObject::addPDFURLRect):
(WebCore::RenderObject::paintOutline):
(WebCore::RenderObject::absoluteBoundingBoxRect):
(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::repaintSlowRepaintObject):
(WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::computeLogicalHeight):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::paintIntoRect):
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::showPopup):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::paintSnapshot):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paintCollapsedBorders):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::addFocusRingRects):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::paint):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
* rendering/RenderTreeAsText.cpp:
(WebCore::write):
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::videoBox):
(WebCore::RenderVideo::paintReplaced):
* rendering/RenderView.cpp:
(WebCore::RenderView::repaintViewRectangle):
(WebCore::RenderView::computeRectForRepaint):
(WebCore::RenderView::absoluteRects):
(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::unscaledDocumentRect):
* rendering/RenderView.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paintContents):
(WebCore::RenderWidget::paint):
* rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintDebugBorders):
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paintReplaced):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::selectionRectForTextFragment):

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _dashboardRegions]):
(-[WebView trackedRepaintRects]):

Source/WebKit2:

* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::renderedImage):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::snapshotNode):
* WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::buildSelectionHighlight):

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

7 years agoScrollbar corner can be drawn outside containing frame
dbates@webkit.org [Thu, 28 Aug 2014 03:45:35 +0000 (03:45 +0000)]
Scrollbar corner can be drawn outside containing frame
https://bugs.webkit.org/show_bug.cgi?id=133131
<rdar://problem/16382769>

Reviewed by Simon Fraser.

Source/WebCore:

Merged from Blink (patch by Levi Weintraub):
<https://src.chromium.org/viewvc/blink?revision=170625&view=revision>

Fixes an issue where the scroll corner may be painted outside the rectangle of
its associated frame by setting a clip rectangle before painting the scroll bar(s)
and scroll corner.

Test: scrollbars/custom-scrollbars-paint-outside-iframe.html

* platform/ScrollView.cpp:
(WebCore::ScrollView::paint):

LayoutTests:

Add DRT test that was derived from the test included in
<https://src.chromium.org/viewvc/blink?revision=170625&view=revision>.

* scrollbars/custom-scrollbars-paint-outside-iframe-expected.html: Added.
* scrollbars/custom-scrollbars-paint-outside-iframe.html: Added.

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

7 years agoSubpixel layout: Rename FloatPoint/FloatRect device pixel snapping functions.
zalan@apple.com [Thu, 28 Aug 2014 03:33:02 +0000 (03:33 +0000)]
Subpixel layout: Rename FloatPoint/FloatRect device pixel snapping functions.
https://bugs.webkit.org/show_bug.cgi?id=136314

Reviewed by Simon Fraser.

From *edToDevicePixels() to *PointToDevicePixels() (* = floor/round/ceil)

EnclosedIntRect -> enclosingIntRect() changes functionality for InspectorOverlay painting,
but currently untestable.

Source/WebCore:

* WebCore.exp.in:
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::showPaintRect):
* platform/graphics/FloatPoint.h:
(WebCore::flooredIntSize):
(WebCore::floorPointToDevicePixels):
(WebCore::ceilPointToDevicePixels):
(WebCore::flooredToDevicePixels): Deleted.
(WebCore::ceiledToDevicePixels): Deleted.
* platform/graphics/FloatRect.cpp:
(WebCore::enclosingRectToDevicePixels):
(WebCore::enclosingRectExtendedToDevicePixels): Deleted. Renamed.
(WebCore::enclosedIntRect): Deleted. Not needed.
* platform/graphics/FloatRect.h:

Source/WebKit2:

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _updateTapHighlight]):

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

7 years agoSubpixel layout: Rename LayoutPoint's device pixel snapping functions.
zalan@apple.com [Thu, 28 Aug 2014 02:34:35 +0000 (02:34 +0000)]
Subpixel layout: Rename LayoutPoint's device pixel snapping functions.
https://bugs.webkit.org/show_bug.cgi?id=136306

Reviewed by Simon Fraser.

From *edForPainting() to *PointToDevicePixels() (* = floor/round/ceil)

No change in functionality.

* platform/graphics/LayoutPoint.h:
(WebCore::roundPointToDevicePixels):
(WebCore::floorPointToDevicePixels):
(WebCore::ceilPointToDevicePixels):
(WebCore::roundedForPainting): Deleted.
(WebCore::flooredForPainting): Deleted.
(WebCore::ceiledForPainting): Deleted.
* platform/graphics/LayoutRect.cpp:
(WebCore::enclosingRectForPainting):
* platform/graphics/LayoutRect.h:
(WebCore::directionalPixelSnappedForPainting):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):

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

7 years agoDelete a MSVS2010 workaround.
thakis@chromium.org [Thu, 28 Aug 2014 01:40:08 +0000 (01:40 +0000)]
Delete a MSVS2010 workaround.
https://bugs.webkit.org/show_bug.cgi?id=136321

Reviewed by Benjamin Poulain.

Ports https://codereview.chromium.org/512923004/ by the talented
Nico Weber from Blink. No intended behavior change.

* wtf/Vector.h:
(WTF::=):

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

7 years agoUpdate placeholder-shown-basics.html for GTK
benjamin@webkit.org [Thu, 28 Aug 2014 01:35:02 +0000 (01:35 +0000)]
Update placeholder-shown-basics.html for GTK

GTK does not support the color input type. This was causing placeholder-shown-basics.html
to fail when testing the non-support of placeholder by input[type=color].

Since this is a minor part of the test, it is more valuable getting the test running everywhere
than skipping it. I removed the subtest causing troubles.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-27

* fast/css/placeholder-shown-basics-expected.html:
* fast/css/placeholder-shown-basics.html:
* platform/gtk/TestExpectations:

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

7 years agoWebKit2 swipe gesture should report the position of the snapshot to the client
timothy_horton@apple.com [Thu, 28 Aug 2014 01:23:52 +0000 (01:23 +0000)]
WebKit2 swipe gesture should report the position of the snapshot to the client
https://bugs.webkit.org/show_bug.cgi?id=136308
rdar://problem/18105827

Reviewed by Simon Fraser.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _setDidMoveSwipeSnapshotCallback:]):
Add _setDidMoveSwipeSnapshotCallback, and plumb it to ViewGestureController.
Callers provide a block which is called whenever ViewGestureController moves the
swipe *snapshot* layer around.

* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::boundsOfLayerInLayerBackedWindowCoordinates):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::boundsOfLayerInLayerBackedWindowCoordinates):
Expose a Mac-only way to get the bounds of a given CALayer in window coordinates,
respecting transforms. This only works for layer-backed windows because
it uses CA in order to do the mapping respecting transforms.

* UIProcess/mac/ViewGestureController.h:
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::~ViewGestureController):
(WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback):
Do the Block_copy and Block_release dance to keep our copy of the callback block.

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::handleSwipeGesture):
(WebKit::ViewGestureController::didMoveSwipeSnapshotLayer):
When the swipe snapshot layer moves around, call the block.

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

7 years agoSubpixel layout: Rename LayoutSize's device pixel snapping functions.
zalan@apple.com [Thu, 28 Aug 2014 00:04:24 +0000 (00:04 +0000)]
Subpixel layout: Rename LayoutSize's device pixel snapping functions.
https://bugs.webkit.org/show_bug.cgi?id=136310

Reviewed by Simon Fraser.

From *edForPainting() to *SizeToDevicePixels() (* = floor/round/ceil)

No change in functionality.

 * platform/graphics/LayoutSize.h:
(WebCore::floorSizeToDevicePixels):
(WebCore::flooredForPainting): Deleted.
* rendering/style/StyleGeneratedImage.cpp:
(WebCore::StyleGeneratedImage::computeIntrinsicDimensions):

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

7 years agoJavaScriptCore is missing debug info for WTF because libWTF.a is stripped.
mrowe@apple.com [Thu, 28 Aug 2014 00:03:25 +0000 (00:03 +0000)]
JavaScriptCore is missing debug info for WTF because libWTF.a is stripped.
<https://webkit.org/b/136320> / <rdar://problem/18148776>

Reviewed by Dan Bernstein.

* Configurations/WTF.xcconfig: Set STRIP_INSTALLED_PRODUCT = NO for the target
that produces libWTF.a so that the debug symbols will be linked into JavaScriptCore
and end up in its dSYM file.

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

7 years agoEnums in ScrollTypes and PlatformWheelEvent should not use uint64_t storage
burg@cs.washington.edu [Wed, 27 Aug 2014 23:29:28 +0000 (23:29 +0000)]
Enums in ScrollTypes and PlatformWheelEvent should not use uint64_t storage
https://bugs.webkit.org/show_bug.cgi?id=136318

Reviewed by Simon Fraser.

This regressed in a replay-related patch. Revert back to uint8_t storage size.

* platform/PlatformWheelEvent.h:
* platform/ScrollTypes.h:
* replay/WebInputs.json:

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

7 years agoSpeling is hard.
simon.fraser@apple.com [Wed, 27 Aug 2014 23:24:19 +0000 (23:24 +0000)]
Speling is hard.

Reviewed by Tim Horton.

* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::handlePasteGlobalSelection):
(WebCore::EventHandler::updateMouseEventTargetNode):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

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

7 years agoFix the iOS build.
simon.fraser@apple.com [Wed, 27 Aug 2014 23:20:32 +0000 (23:20 +0000)]
Fix the iOS build.

* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):

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

7 years agoEnsure that the call frame passed from JIT code via JSC::operationCallEval to JSC...
commit-queue@webkit.org [Wed, 27 Aug 2014 23:06:00 +0000 (23:06 +0000)]
Ensure that the call frame passed from JIT code via JSC::operationCallEval to JSC::eval always contains the valid scope chain.
https://bugs.webkit.org/show_bug.cgi?id=136313

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-08-27
Reviewed by Michael Saboff.

Do not rely on calling conventions to fill in the CallerFrame component
of the execCallee parameter of JSC::operationCallEval.

* jit/JITOperations.cpp:

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

7 years agowebkit.org is inconsistent in uses of "OS X" vs. "Mac OS X"
commit-queue@webkit.org [Wed, 27 Aug 2014 23:01:30 +0000 (23:01 +0000)]
webkit.org is inconsistent in uses of "OS X" vs. "Mac OS X"
https://bugs.webkit.org/show_bug.cgi?id=136315

Patch by Conrad Shultz <conrad_shultz@apple.com> on 2014-08-27
Reviewed by Mark Rowe.

* building/checkout.html:
* building/debug-mac-uiprocess.html:
* building/debug.html:
* building/run.html:
* building/tools.html:
* contact.html:
* index.html:
* projects/javascript/index.html:
* projects/svg/index.html:
* quality/bugwriting.html:
* quality/crashlogs.html:
* quality/leakhunting.html:
* quality/lifecycle.html:
* quality/testing.html:

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

7 years agoOccasional crashes in commitTransientZoom's transaction completion block
timothy_horton@apple.com [Wed, 27 Aug 2014 23:00:55 +0000 (23:00 +0000)]
Occasional crashes in commitTransientZoom's transaction completion block
https://bugs.webkit.org/show_bug.cgi?id=136309
<rdar://problem/17215064>

Reviewed by Dan Bernstein.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
Hold a reference to zoomLayer and the WebPage. It's possible that either
of these things could have gone away by the time the transaction is committed.

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

7 years agoDrawing text in an SVG font causes load events to be fired.
akling@apple.com [Wed, 27 Aug 2014 22:56:06 +0000 (22:56 +0000)]
Drawing text in an SVG font causes load events to be fired.
<https://webkit.org/b/136269>
<rdar://problem/15724915>

Source/WebCore:

Don't flush pending load events in Document::implicitClose() for frameless documents.
This is a targeted fix for an issue where parsing SVG fonts during layout would cause
event dispatch to happen in the main document, leading to arbitrary JS execution.

Note that the testcase only works in DRT/WTR, since once the SVG font is in cached
by WebCore, we won't reparse it again. Caches are cleared between tests, so it will
correctly fail if this should regress.

Longer-term, we should clean this up and get rid of the global dispatch entirely.

Reviewed by Simon Fraser.

Test: fast/text/svg-font-trigger-load-event.html

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

LayoutTests:

Reviewed by Simon Fraser.

* fast/text/svg-font-trigger-load-event-expected.txt: Added.
* fast/text/svg-font-trigger-load-event.html: Added.

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=136317
ap@apple.com [Wed, 27 Aug 2014 22:35:18 +0000 (22:35 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=136317
Dashboard metrics page sometimes shows 0 for best time

Reviewed by Tim Horton.

This also affects regular dashboard display in a good way - iterations that failed
due to infrastructure misbehavior will more reliably show up as yellow and not red.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration): Added a list of steps that we actually care about. It will need to be
updated if we rename steps.
(BuildbotIteration.prototype.get productive): Now that computation is more involved,
do it once.
(BuildbotIteration.prototype._parseData): Tweak computation of "productive" - builds
that failed e.g. at downloading built archive step are not productive.

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

7 years agoDeconstruction object pattern node emits the wrong start/end text positions
commit-queue@webkit.org [Wed, 27 Aug 2014 22:34:02 +0000 (22:34 +0000)]
Deconstruction object pattern node emits the wrong start/end text positions
https://bugs.webkit.org/show_bug.cgi?id=136304

Patch by Saam Barati <sbarati@apple.com> on 2014-08-27
Reviewed by Geoffrey Garen.

Object pattern nodes that used the syntactic sugar binding:
'var {foo} = {foo:20}' instead of 'var {foo:foo} = {foo:20}'
would get the wrong text position for variable 'foo'. The position
would be placed on the comma(s)/closing brace instead of the identifier.
This patch fixes this bug by caching the identifier's JSToken before
trying to parse an optional colon.

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseVarDeclarationList):
(JSC::Parser<LexerType>::createBindingPattern):
(JSC::Parser<LexerType>::parseDeconstructionPattern):
* parser/Parser.h:

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

7 years agoSome EventHandler naming cleanup
simon.fraser@apple.com [Wed, 27 Aug 2014 22:25:33 +0000 (22:25 +0000)]
Some EventHandler naming cleanup
https://bugs.webkit.org/show_bug.cgi?id=136303

Reviewed by Beth Dakin.

Rename "mev" variables to "mouseEvent".

No behavior change.

* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::updateDragAndDrop):
(WebCore::EventHandler::prepareMouseEvent):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::passMousePressEventToScrollbar):
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

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

7 years agoSome EventHandler naming cleanup
simon.fraser@apple.com [Wed, 27 Aug 2014 22:25:30 +0000 (22:25 +0000)]
Some EventHandler naming cleanup
https://bugs.webkit.org/show_bug.cgi?id=136303

Reviewed by Beth Dakin.

Rename PlatformMouseEvent variables from "mouseEvent" to "platformMouseEvent"
so that a later patch can rename "mev" to "mouseEvent".

0 => nullptr.

No behavior change.

* page/EventHandler.cpp:
(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::invalidateClick):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::handlePasteGlobalSelection):
(WebCore::EventHandler::updateMouseEventTargetNode):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

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

7 years agoMake isScrollableOrRubberbandable() a virtual function on RenderLayerModelObject
bdakin@apple.com [Wed, 27 Aug 2014 22:20:49 +0000 (22:20 +0000)]
Make isScrollableOrRubberbandable() a virtual function on RenderLayerModelObject
https://bugs.webkit.org/show_bug.cgi?id=136307

Reviewed by Simon Fraser.

Remove extra parentheses.
* page/FrameView.cpp:
(WebCore::FrameView::isScrollable):

Mark isScrollableOrRubberbandable() as override now that the root implementation
is moving to RenderLayerModelObject. It can also be private now.
* rendering/RenderBox.h:

isBox() check and cast are no longer necessary.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):

Base implementation should return false.
* rendering/RenderLayerModelObject.h:
(WebCore::RenderLayerModelObject::isScrollableOrRubberbandable):

Mark as override.
* rendering/RenderView.h:

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

7 years ago[Win] Unreviewed Build 'fix' after r173018.
bfulgham@apple.com [Wed, 27 Aug 2014 22:18:37 +0000 (22:18 +0000)]
[Win] Unreviewed Build 'fix' after r173018.

The new launcher applications were not getting build when driven
by WebKit.sln. This adds the missing project links and dependencies.

* WebKit.vcxproj/WebKit.sln: Update to include jscLauncher,
testapiLauncher, and testRegExpLauncher.

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

7 years ago[Win] Unreviewed gardening.
bfulgham@apple.com [Wed, 27 Aug 2014 22:09:14 +0000 (22:09 +0000)]
[Win] Unreviewed gardening.

* win/AssembleBuildLogs/AssembleLogs.cmd: Add some missing build logs to the set
of logs assembled into the final build output.

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

7 years ago[Win] Build fix after last commit.
bfulgham@apple.com [Wed, 27 Aug 2014 22:04:14 +0000 (22:04 +0000)]
[Win] Build fix after last commit.

Check in new DLLLauncherMain.cpp file.

* JavaScriptCore.vcxproj/jsc/DLLLauncherMain.cpp: Added.
(enableTerminationOnHeapCorruption):
(getStringValue):
(applePathFromRegistry):
(appleApplicationSupportDirectory):
(copyEnvironmentVariable):
(prependPath):
(fatalError):
(directoryExists):
(modifyPath):
(getLastErrorString):
(wWinMain):

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

7 years ago[iOS WK2] Provide a delegate callback to skip Geolocation authorization per page...
benjamin@webkit.org [Wed, 27 Aug 2014 21:48:02 +0000 (21:48 +0000)]
[iOS WK2] Provide a delegate callback to skip Geolocation authorization per page for WebApp
https://bugs.webkit.org/show_bug.cgi?id=136243

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-27
Reviewed by Sam Weinig.

Just ask the UI if the authorization dialog needs to be skipped.

* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):

* UIProcess/ios/WKContentView.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]): Deleted.
The code in WKContentView only exists due to legacy. Instead, the PageClient dispatch the request
to the GeolocationProvider directly.

* UIProcess/ios/WKGeolocationProviderIOS.h:
* UIProcess/ios/WKGeolocationProviderIOS.mm:
(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:view:]):
(-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
(-[WKGeolocationProviderIOS positionChanged:]):
(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:window:]): Deleted.

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

7 years ago[Win] testapi and testRegExp need to find support libraries.
bfulgham@apple.com [Wed, 27 Aug 2014 21:30:55 +0000 (21:30 +0000)]
[Win] testapi and testRegExp need to find support libraries.
https://bugs.webkit.org/show_bug.cgi?id=136008.

Reviewed by Dean Jackson.

Revise the Windows build of jsc, testapi, and testRegExp so that they
find and use the proper runtime support libraries.

These locations vary between the Apple Windows build and WinCairo, and
are generally not in the system PATH environment setting. Consequently,
these applications fail on launch unless the user modifies their
PATH.

This patch revises these tools to work like WinLauncher and DumpRenderTree
so that they run reliably.

* API/tests/testapi.c:
(dllLauncherEntryPoint): Added.
* JavaScriptCore.vcxproj/JavaScriptCore.sln: Add new build projects and
  provide proper dependencies with existing projects.
* JavaScriptCore.vcxproj/JavaScriptCore.submit.sln: Ditto.
* JavaScriptCore.vcxproj/jsc/jsc.vcxproj: Switch to build
  a DLL, rather than an executable.
* JavaScriptCore.vcxproj/jsc/jscCommon.props: Add shlwapi.lib
  to the list of libraries needed at link-time, and to use
  the DLL/Console combination entry point.
* JavaScriptCore.vcxproj/jsc/jscLauncher.vcxproj: Added.
* JavaScriptCore.vcxproj/jsc/jscLauncherPostBuild.cmd: Copied from JavaScriptCore.vcxproj/jsc/jscPostBuild.cmd.
* JavaScriptCore.vcxproj/jsc/jscLauncherPreBuild.cmd: Copied from JavaScriptCore.vcxproj/jsc/jscPreBuild.cmd.
* JavaScriptCore.vcxproj/jsc/jscLauncherPreLink.cmd: Copied from JavaScriptCore.vcxproj/jsc/jscPreLink.cmd.
* JavaScriptCore.vcxproj/testRegExp/testRegExp.vcxproj: Switch to build
  a DLL, rather than an executable.
* JavaScriptCore.vcxproj/testRegExp/testRegExpCommon.props: Add shlwapi.lib
  to the list of libraries needed at link-time, and to use
  the DLL/Console combination entry point.
* JavaScriptCore.vcxproj/testRegExp/testRegExpLauncher.vcxproj: Added.
* JavaScriptCore.vcxproj/testRegExp/testRegExpLauncherPostBuild.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPostBuild.cmd.
* JavaScriptCore.vcxproj/testRegExp/testRegExpLauncherPreBuild.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPreBuild.cmd.
* JavaScriptCore.vcxproj/testRegExp/testRegExpLauncherPreLink.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPreLink.cmd.
* JavaScriptCore.vcxproj/testapi/testapi.vcxproj: Switch to build
  a DLL, rather than an executable.
* JavaScriptCore.vcxproj/testapi/testapiLauncher.vcxproj: Added.
* JavaScriptCore.vcxproj/testapi/testapiCommon.props: Add shlwapi.lib
  to the list of libraries needed at link-time, and to use
  the DLL/Console combination entry point.
* JavaScriptCore.vcxproj/testapi/testapiLauncherPostBuild.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPostBuild.cmd.
* JavaScriptCore.vcxproj/testapi/testapiLauncherPreBuild.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPreBuild.cmd.
* JavaScriptCore.vcxproj/testapi/testapiLauncherPreLink.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPreLink.cmd.
* jsc.cpp:
(dllLauncherEntryPoint): Added.
* testRegExp.cpp:
(dllLauncherEntryPoint): Added.

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

7 years agoREGRESSION(r172946): Plugin tests asserting on Yosemite debug bot
antti@apple.com [Wed, 27 Aug 2014 21:17:27 +0000 (21:17 +0000)]
REGRESSION(r172946): Plugin tests asserting on Yosemite debug bot
https://bugs.webkit.org/show_bug.cgi?id=136301

Reviewed by Alexey Proskuryakov.

Don't pull the priority from the platform request if it is not defined.

* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doUpdateResourceRequest):
* platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest):

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

7 years agoWeb Inspector: Crash when you open Web Inspector in a private window (due to IndexedDB)
timothy@apple.com [Wed, 27 Aug 2014 20:31:35 +0000 (20:31 +0000)]
Web Inspector: Crash when you open Web Inspector in a private window (due to IndexedDB)
https://bugs.webkit.org/show_bug.cgi?id=136293

Reviewed by Joseph Pecoraro.

* inspector/InspectorIndexedDBAgent.cpp:
(WebCore::InspectorIndexedDBAgent::requestDatabaseNames): Null check idbRequest from
IDBFactory::getDatabaseNames, which can return null now after r172603 in private browsing.

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

7 years agoWeb Inspector: Layout issues for popover on not legacy OS
commit-queue@webkit.org [Wed, 27 Aug 2014 20:19:33 +0000 (20:19 +0000)]
Web Inspector: Layout issues for popover on not legacy OS
https://bugs.webkit.org/show_bug.cgi?id=136268

Patch by Saam Barati <sbarati@apple.com> on 2014-08-27
Reviewed by Joseph Pecoraro.

On the latest OS, popovers invade the title bar's space which will
cause layout issues because the title bar will render above
the popover. Fix this by providing some padding for popovers on
not legacy OSs.

* UserInterface/Views/Popover.js:

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

7 years agooverflow:scroll elements should not latch to the body if the body is
bdakin@apple.com [Wed, 27 Aug 2014 19:53:31 +0000 (19:53 +0000)]
overflow:scroll elements should not latch to the body if the body is
overflow:hidden
https://bugs.webkit.org/show_bug.cgi?id=136273

Reviewed by Darin Adler.

Source/WebCore:

This patch adds an optional parameter to isScrollable(). The Scrollability
parameter that allows the caller to define what they mean by 'scrollable.' Most
callers are interested in the default value, Scrollability::Scrollable, which
means that there is actually content to scroll to, and a scrollbar that will allow
you to access it. In some cases, such as this latching case, callers want to know
if the FrameView is allowed to rubber-band, which the main frame might be allowed
to do even if there is no content to scroll to. In that case, callers use
Scrollability::ScrollableOrRubberbandable.
* page/FrameView.cpp:
(WebCore::FrameView::isScrollable):
(WebCore::FrameView::hasScrollableOrRubberbandableAncestor):

New virtual function on ScrollableArea answers whether a ScrollableArea has any
scrollable or rubber-bandable ancestor.
* page/FrameView.h:
* platform/ScrollableArea.h:

Events should only be allowed to prevent stretching if there is some ancestor
ScrollableArea that will be able to make use of the event.
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::allowsVerticalStretching):
(WebCore::ScrollAnimatorMac::allowsHorizontalStretching):

New ScrollableArea virtual function.
* platform/win/PopupMenuWin.h:

New RenderBox isScrollableOrRubberbandable() returns just
canBeScrolledAndHasScrollableArea() for most RenderBox, but will be overridden by
RenderView.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::isScrollableOrRubberbandable):
* rendering/RenderBox.h:

Recurse up the parent chain to find out if anything is scrollable or just rubber-
bandable.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):
* rendering/RenderLayer.h:

Call into RenderLayer.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::hasScrollableOrRubberbandableAncestor):
* rendering/RenderListBox.h:

Override isScrollableOrRubberbandable() to handle the main frame case where the
main frame is typically allowed to rubber-band even if there is no content to
scroll to.
* rendering/RenderView.cpp:
(WebCore::RenderView::isScrollableOrRubberbandable):
* rendering/RenderView.h:

Source/WebKit2:

New ScrollabeArea virtual function.
* WebProcess/Plugins/PDF/PDFPlugin.h:

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

7 years ago[WinCairo] Link error.
commit-queue@webkit.org [Wed, 27 Aug 2014 19:37:16 +0000 (19:37 +0000)]
[WinCairo] Link error.
https://bugs.webkit.org/show_bug.cgi?id=136286

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-08-27
Reviewed by Darin Adler.

Link with the dynamic runtime libraries, since the WinCairo libraries link with these.

* win/tools/vsprops/common.props:

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

7 years agoUpdating attributes on HTML elements do not invalidate the style correctly unless...
benjamin@webkit.org [Wed, 27 Aug 2014 19:16:51 +0000 (19:16 +0000)]
Updating attributes on HTML elements do not invalidate the style correctly unless the attribute name is lowercase in the stylesheet
https://bugs.webkit.org/show_bug.cgi?id=136270
Source/WebCore:

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-27
Reviewed by Andreas Kling.

In HTML, WebKit treats every attribute name lowercase to implement case-insensitive matching.
When invalidating style, the StyleResolver was ignoring HTML and always using the XML names.

This patch split the names on RuleFeatureSet in two sets: one for XML, one for HTML.
In StyleResolver, the name used depends on the type of the element being updated.

This patch also adds nodeNeedsStyleRecalc() to Internals to test the optimization and various cases
of style update.

Tests: fast/css/attribute-for-content-property-style-update-html.html
       fast/css/attribute-for-content-property-style-update-xhtml.xhtml
       fast/css/attribute-style-invalidation-optimization-html.html
       fast/css/attribute-style-invalidation-optimization-xhtml.xhtml
       fast/css/attribute-style-update-html.html
       fast/selectors/attribute-style-update-html.html
       fast/selectors/attribute-style-update-svg-in-html.html
       fast/selectors/attribute-style-update-xhtml.xhtml

* css/RuleFeature.cpp:
(WebCore::RuleFeatureSet::collectFeaturesFromSelector):
(WebCore::RuleFeatureSet::add):
(WebCore::RuleFeatureSet::clear):
* css/RuleFeature.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
* css/StyleResolver.h:
(WebCore::StyleResolver::hasSelectorForAttribute):
* dom/Element.cpp:
(WebCore::Element::willModifyAttribute):
* testing/Internals.cpp:
(WebCore::Internals::address):
(WebCore::Internals::nodeNeedsStyleRecalc):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

rdar://problem/16190617

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-27
Reviewed by Andreas Kling.

The test coverage for attribute update was abysmal. This adds the basic cases for HTML and XML.

* fast/css/attribute-for-content-property-style-update-html-expected.html: Added.
* fast/css/attribute-for-content-property-style-update-html.html: Added.
* fast/css/attribute-for-content-property-style-update-xhtml-expected.html: Added.
* fast/css/attribute-for-content-property-style-update-xhtml.xhtml: Added.
* fast/css/attribute-style-invalidation-optimization-html-expected.txt: Added.
* fast/css/attribute-style-invalidation-optimization-html.html: Added.
* fast/css/attribute-style-invalidation-optimization-xhtml-expected.txt: Added.
* fast/css/attribute-style-invalidation-optimization-xhtml.xhtml: Added.
* fast/css/attribute-style-update-html-expected.html: Added.
* fast/css/attribute-style-update-html.html: Added.
* fast/selectors/attribute-style-update-html-expected.txt: Added.
* fast/selectors/attribute-style-update-html.html: Added.
* fast/selectors/attribute-style-update-svg-in-html-expected.txt: Added.
* fast/selectors/attribute-style-update-svg-in-html.html: Added.
* fast/selectors/attribute-style-update-xhtml-expected.txt: Added.
* fast/selectors/attribute-style-update-xhtml.xhtml: Added.

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

7 years agoUpdate the CSS Grammar selector names to get closer to the latest terminology
benjamin@webkit.org [Wed, 27 Aug 2014 19:15:52 +0000 (19:15 +0000)]
Update the CSS Grammar selector names to get closer to the latest terminology
https://bugs.webkit.org/show_bug.cgi?id=136277

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-27
Reviewed by Andreas Kling.

CSS Selector Level 4 gives useful definitions for various parts of a selector
(see http://dev.w3.org/csswg/selectors4/#structure). This patch updates our names to be closer
to that spec.

Stricto sensu, our definition of "simple selector list" is wrong. I did not attempt to fix this
because updates of CSS Selector Level 4 and WebVTT will eventually make that whole concept useless.

* css/CSSGrammar.y.in:

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

7 years agoREGRESSION: Web Inspector: Legacy toolbar has two different colors in unfocused windo...
timothy@apple.com [Wed, 27 Aug 2014 19:14:24 +0000 (19:14 +0000)]
REGRESSION: Web Inspector: Legacy toolbar has two different colors in unfocused windowed mode
https://bugs.webkit.org/show_bug.cgi?id=136289

Reviewed by Darin Adler.

* UserInterface/Views/Toolbar.css:
(body.mac-platform.legacy .toolbar): Override the background-color as transparent. Non-legacy
uses a solid color instead of a gradient for window-inactive.

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

7 years agobuild.webkit.org/dashboard: Add a metrics page with overall bot performance results
ap@apple.com [Wed, 27 Aug 2014 17:12:45 +0000 (17:12 +0000)]
build.webkit.org/dashboard: Add a metrics page with overall bot performance results
https://bugs.webkit.org/show_bug.cgi?id=136196

Reviewed by Timothy Hatcher.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External/daterangepicker.css: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External/jquery-1.11.1.min.js: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External/jquery.daterangepicker.js: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External/moment.min.js: Added.
A date range picker control with dependencies.
There are a few modifications from upstream at <https://github.com/longbill/jquery-date-range-picker>:
- Fixed a bug where selected dates were not at midnight the first time a range was chosen
(it didn't happen again upon re-opening the picker).
- Made made style tweaks to match Dashboard UI.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:
Don't create objects that are not needed by the given app, and thus are not loaded at all.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js: Added.
Math to count all the things. Only supports open source tree and trunk at the moment,
but written with internal tree and branches in mind.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsMain.js: Added.
Like dashboard Main.js, draws the UI and creates all necessary objects.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsView.js: Added.
A view for table cells.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js:
(Settings.prototype.toggleSettingsDisplay): Added an event for entering settings.
Metrics page has individual platforms initially scrolled away form the view, so
it needs to scroll down to reveal what's being configured.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:
Added Array.prototype.average and Array.prototype.median.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
Made gear icon fixed instead of absolute, so that it's visible on metrics page when
in settings mode.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Metrics.css:
Additional style rules.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/metrics.html:
The metrics page.

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

7 years ago[CSS Regions] Move generated content tests into fast/regions/generated-content
mihnea@adobe.com [Wed, 27 Aug 2014 17:02:57 +0000 (17:02 +0000)]
[CSS Regions] Move generated content tests into fast/regions/generated-content
https://bugs.webkit.org/show_bug.cgi?id=136288

Reviewed by Andrei Bucur.

Move related tests into generated-content folder and adjust paths.

* fast/regions/generated-content/firstletter-inside-flowthread-expected.html: Renamed from LayoutTests/fast/regions/firstletter-inside-flowthread-expected.html.
* fast/regions/generated-content/firstletter-inside-flowthread.html: Renamed from LayoutTests/fast/regions/firstletter-inside-flowthread.html.
* fast/regions/generated-content/pseudo-after-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-after-content-node-expected.txt.
* fast/regions/generated-content/pseudo-after-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-after-content-node.html.
* fast/regions/generated-content/pseudo-before-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-before-content-node-expected.txt.
* fast/regions/generated-content/pseudo-before-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-before-content-node.html.
* fast/regions/generated-content/pseudo-first-letter-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-first-letter-content-node-expected.txt.
* fast/regions/generated-content/pseudo-first-letter-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-first-letter-content-node.html.
* fast/regions/generated-content/pseudo-first-line-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-first-line-content-node-expected.txt.
* fast/regions/generated-content/pseudo-first-line-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-first-line-content-node.html.

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

7 years agoTake advantage of 3 parameters or32() calls
julien.brianceau@gmail.com [Wed, 27 Aug 2014 16:04:57 +0000 (16:04 +0000)]
Take advantage of 3 parameters or32() calls
https://bugs.webkit.org/show_bug.cgi?id=136287

Reviewed by Michael Saboff.

For specific architectures (arm and mips for instance), or32() calls
with 3 parameters are likely to produce a single instruction.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::branchIsOther):
(JSC::DFG::SpeculativeJIT::branchNotOther):

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

7 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Wed, 27 Aug 2014 13:20:32 +0000 (13:20 +0000)]
Unreviewed EFL gardening

* platform/efl/TestExpectations: Add test expectations for failing and crashin tests.
* platform/efl/fast/css/viewport-units-dynamic-expected.txt: Added after r171567.
* platform/efl/fast/multicol/pagination/RightToLeft-max-width-expected.txt: Added after r171609.
* platform/efl/fast/ruby/bopomofo-expected.txt: Added after r172874.
* platform/efl/fast/ruby/bopomofo-letter-spacing-expected.txt: Ditto.
* platform/efl/fast/ruby/bopomofo-rl-expected.txt: Added after r172861.

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

7 years agohttp://webkit.org/coding/coding-style.html should mention check-webkit-style.
llango.u-szeged@partner.samsung.com [Wed, 27 Aug 2014 13:10:53 +0000 (13:10 +0000)]
webkit.org/coding/coding-style.html should mention check-webkit-style.
https://bugs.webkit.org/show_bug.cgi?id=31993

Reviewed by Darin Adler.

Based on patch by Peter Szanka <h868064@stud.u-szeged.hu>

* coding/contributing.html:
Extend the description of code style guidelines with check-webkit-style in the contributing.html.

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

7 years ago[EFL] Add expectations for flaky svg layout test.
commit-queue@webkit.org [Wed, 27 Aug 2014 12:40:19 +0000 (12:40 +0000)]
[EFL] Add expectations for flaky svg layout test.
https://bugs.webkit.org/show_bug.cgi?id=130592

Unreviewed EFL gardening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-08-27

* platform/efl/TestExpectations:

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

7 years agoRemove networkinfo watch category in watchlist
gyuyoung.kim@samsung.com [Wed, 27 Aug 2014 08:31:35 +0000 (08:31 +0000)]
Remove networkinfo watch category in watchlist
https://bugs.webkit.org/show_bug.cgi?id=136279

Reviewed by Alexey Proskuryakov.

Network info was removed. So, it is not needed anymore.

* Scripts/webkitpy/common/config/watchlist:

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

7 years ago[EFL] Share fast/speechsynthesis/ with other ports
k.czech@samsung.com [Wed, 27 Aug 2014 08:04:14 +0000 (08:04 +0000)]
[EFL] Share fast/speechsynthesis/ with other ports
https://bugs.webkit.org/show_bug.cgi?id=136224

Reviewed by Chris Fleizach.

.:

Enable WebSpeech for EFL.

* Source/cmake/OptionsEfl.cmake:

LayoutTests:

Share fast/speechsynthesis tests with EFL after r172956.
Skipped them for GTK and Win.

* fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt.
* fast/speechsynthesis/speech-synthesis-boundary-events.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html.
* fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt.
* fast/speechsynthesis/speech-synthesis-cancel-crash.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash.html.
* fast/speechsynthesis/speech-synthesis-cancel-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-expected.txt.
* fast/speechsynthesis/speech-synthesis-cancel.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel.html.
* fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt.
* fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html.
* fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt.
* fast/speechsynthesis/speech-synthesis-elapsed-time.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time.html.
* fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt.
* fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html.
* fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt.
* fast/speechsynthesis/speech-synthesis-pause-resume.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume.html.
* fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt.
* fast/speechsynthesis/speech-synthesis-speak-empty-string.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string.html.
* fast/speechsynthesis/speech-synthesis-speak-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-expected.txt.
* fast/speechsynthesis/speech-synthesis-speak.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak.html.
* fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt.
* fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html.
* fast/speechsynthesis/speech-synthesis-voices-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-voices-expected.txt.
* fast/speechsynthesis/speech-synthesis-voices.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-voices.html.
* platform/gtk/TestExpectations: Skipped for GTK
* platform/win/TestExpectations: Skipped for Win

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

7 years ago[EFL] Unskip compositing test
gyuyoung.kim@samsung.com [Wed, 27 Aug 2014 07:56:09 +0000 (07:56 +0000)]
[EFL] Unskip compositing test
https://bugs.webkit.org/show_bug.cgi?id=136151

Reviewed by Csaba Osztrogon√°c.

Source/WebCore:

* rendering/RenderLayerBacking.cpp: Set true to setContentsOpaque() to support compositing test.
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):

LayoutTests:

* platform/efl/TestExpectations: Unskip compositing tests.

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

7 years agobuild.webkit.org/dashboard: Poor performance when there are broken builds at initial...
ap@apple.com [Wed, 27 Aug 2014 06:58:51 +0000 (06:58 +0000)]
build.webkit.org/dashboard: Poor performance when there are broken builds at initial load time
https://bugs.webkit.org/show_bug.cgi?id=136281

Reviewed by Tim Horton.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
Track and expose whether the itertion is being loaded. Made update() a no-op if
the iteration is already being loaded.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:
(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus): Instead of
loading everything at once, ask the queue to load a little more. We can always repeat
if we still don't have enough data.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue.prototype.loadMoreHistoricalIterations): Added a function that loads
10 more iterations intelligently.

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

7 years agobuild.webkit.org/dashboard raises an exception when Trac RSS fails to load
ap@apple.com [Wed, 27 Aug 2014 06:56:54 +0000 (06:56 +0000)]
build.webkit.org/dashboard raises an exception when Trac RSS fails to load
https://bugs.webkit.org/show_bug.cgi?id=136283

Reviewed by Tim Horton.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
Don't.

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

7 years agobuild.webkit.org/dashboard raises an exception after a hidden platform is removed
ap@apple.com [Wed, 27 Aug 2014 06:43:57 +0000 (06:43 +0000)]
build.webkit.org/dashboard raises an exception after a hidden platform is removed
https://bugs.webkit.org/show_bug.cgi?id=136282

Reviewed by Tim Horton.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
(updateHiddenPlatforms): Check that the platform is still valid.

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

7 years agoCanvas direction should reflect change in dir attribute and also across save/restore...
vivek.vg@samsung.com [Wed, 27 Aug 2014 03:53:00 +0000 (03:53 +0000)]
Canvas direction should reflect change in dir attribute and also across save/restore operations
https://bugs.webkit.org/show_bug.cgi?id=136098

Reviewed by Darin Adler.

Source/WebCore:

Changed State.m_direction type from TextDirection to Direction enum to accomodate 'inherit'
as a separate value. Modified the getter to compute the 'live' value for the direction attribute.
Removed explicit passing of direction to CanvasRenderingContext2D::State constructor.

Updated existing canvas-direction.html with additional cases to reflect this change.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
(WebCore::CanvasRenderingContext2D::reset):
(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::toTextDirection):
(WebCore::CanvasRenderingContext2D::direction):
(WebCore::CanvasRenderingContext2D::setDirection):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
(WebCore::inheritedDirection): Deleted.
* html/canvas/CanvasRenderingContext2D.h:

LayoutTests:

* fast/canvas/canvas-direction-expected.txt:
* fast/canvas/canvas-direction.html:

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

7 years agoAdd WebKit SPI to control the navigator.standalone property
mlilek@apple.com [Wed, 27 Aug 2014 03:17:40 +0000 (03:17 +0000)]
Add WebKit SPI to control the navigator.standalone property
https://bugs.webkit.org/show_bug.cgi?id=136189

Reviewed by Andy Estes.

Source/WebKit2:

Add a property to WKPreferences that allows toggling this setting.

* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _isStandalone]):
(-[WKPreferences _setStandalone:]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Tools:

Add API test for WKPreferences

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/Preferences.mm:
(TEST):

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

7 years ago[EFL] FileApi Layout Tests passed in latest build.
commit-queue@webkit.org [Wed, 27 Aug 2014 02:05:26 +0000 (02:05 +0000)]
[EFL] FileApi Layout Tests passed in latest build.
https://bugs.webkit.org/show_bug.cgi?id=136250

Unreviewed gardening.

FileApi Layout Tests passed in latest build 172953.

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-08-26

* platform/efl/TestExpectations:

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

7 years agoRemove ENABLE_DRT environment variable to enable SHARED_CORE
gyuyoung.kim@samsung.com [Wed, 27 Aug 2014 01:36:00 +0000 (01:36 +0000)]
Remove ENABLE_DRT environment variable to enable SHARED_CORE
https://bugs.webkit.org/show_bug.cgi?id=136205

Reviewed by Andrei Bucur.

EFL port doesn't need to enable SHARED_CORE since r172894. Thus, we don't need to
use ENABLE_DRT enviroment variable, which enables SHARED_CORE.

* Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject):

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

7 years agoWeb Inspector: Fix CodeMirrorTokenTrackingController::_startTracking assertion
commit-queue@webkit.org [Wed, 27 Aug 2014 00:52:53 +0000 (00:52 +0000)]
Web Inspector: Fix CodeMirrorTokenTrackingController::_startTracking assertion
https://bugs.webkit.org/show_bug.cgi?id=136160

Patch by Saam Barati <sbarati@apple.com> on 2014-08-26
Reviewed by Joseph Pecoraro.

Check if '_tracking' is already true before calling '_startTracking'
to prevent the assertion from always firing.

* UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseEntered):

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

7 years agoFileReader cannot read files selected with <input type="file"> in iOS 8
commit-queue@webkit.org [Wed, 27 Aug 2014 00:19:13 +0000 (00:19 +0000)]
FileReader cannot read files selected with <input type="file"> in iOS 8
https://bugs.webkit.org/show_bug.cgi?id=136117

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-26
Reviewed by Alexey Proskuryakov.

* Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
Correct an overzealous deny that was accidentally denying all
com.apple.app-sandbox.read extensions instead of just the ones
in Application bundles it was trying to deny.

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

7 years agoCrashes in ViewGestureController::beginSwipeGesture when swiping in rapid succession
timothy_horton@apple.com [Wed, 27 Aug 2014 00:16:52 +0000 (00:16 +0000)]
Crashes in ViewGestureController::beginSwipeGesture when swiping in rapid succession
https://bugs.webkit.org/show_bug.cgi?id=136271
<rdar://problem/17923694>

Reviewed by Simon Fraser.

It was possible to get into trackSwipeGesture while another swipe was still
occurring, because the guard against this happening depended on m_pendingSwipeReason
never being set while a swipe was occurring. However, if the very first scroll event
had sufficient magnitude, we would still set m_pendingSwipeReason to InsufficientMagnitude,
and then *never clear it*, leading to a path around the guard against multiple live swipes.
This in turn allowed stale layers in m_liveSwipeLayers, which lead to the crash.

* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::handleScrollWheelEvent):
Don't unset m_pendingSwipeReason before calling trackSwipeGesture;
trackSwipeGesture will do it itself.

Don't set m_pendingSwipeReason to InsufficientMagnitude
if the event actually *has* sufficient magnitude to start a swipe.

(WebKit::ViewGestureController::trackSwipeGesture):
Assert that we don't have an active gesture while starting a swipe.

Reset m_pendingSwipeReason, because the swipe is no longer pending!

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

7 years agoMinor style tweak on StyleResolveTree
benjamin@webkit.org [Wed, 27 Aug 2014 00:01:12 +0000 (00:01 +0000)]
Minor style tweak on StyleResolveTree
https://bugs.webkit.org/show_bug.cgi?id=136233

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-26
Reviewed by Sam Weinig.

* style/StyleResolveTree.cpp:
(WebCore::Style::resolveTree):
Clang likely optimized it away, but I find that explicit style cleaner.

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

7 years ago[Win] Version stamp should include package-level version
bfulgham@apple.com [Tue, 26 Aug 2014 23:45:34 +0000 (23:45 +0000)]
[Win] Version stamp should include package-level version
https://bugs.webkit.org/show_bug.cgi?id=136266
<rdar://problem/18134138>

Reviewed by David Kilzer.

Tools:

* Scripts/webkitperl/auto-version_unittest/autoVersionTests.pl: Add
tests for the full 3+ digit version.
* Scripts/webkitperl/auto-version_unittest/versionStampTests.pl:
Confirm that the final output DLL uses the 3+ digit version.

WebKitLibraries:

* win/tools/scripts/auto-version.pl: Retain the full major build
version in addition to the three-digit value we use internally.
* win/tools/scripts/version-stamp.pl: Find and use the full 3+ digit
major build version when stamping the final output file.

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

7 years ago[GTK] Unreviewed GTK gardening.
clopez@igalia.com [Tue, 26 Aug 2014 23:32:16 +0000 (23:32 +0000)]
[GTK] Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Report and mark new failures after r136159, r172826 and r172835.
* platform/gtk/fast/ruby/bopomofo-expected.txt: Added. Add baseline after r172861 and r172874.
* platform/gtk/fast/ruby/bopomofo-letter-spacing-expected.txt: Added. Add baseline after r172861 and r172874.
* platform/gtk/fast/ruby/bopomofo-rl-expected.txt: Added. Add baseline after r172861 and r172874.
* platform/gtk/fast/ruby/ruby-base-merge-block-children-crash-2-expected.png: Removed. Rebaseline (use default baseline) after r172835 and r172847.
* platform/gtk/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Removed. Rebaseline (use default baseline) after r172835 and r172847.

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

7 years agoWeb Inspector: put feature flags for Inspector domains in the protocol specification
burg@cs.washington.edu [Tue, 26 Aug 2014 22:38:36 +0000 (22:38 +0000)]
Web Inspector: put feature flags for Inspector domains in the protocol specification
https://bugs.webkit.org/show_bug.cgi?id=136027

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Remove the hardcoded map of domains to feature guards, and instead parse it from the specification.

Test: inspector/scripts/tests/generate-domains-with-feature-guards.json

* inspector/scripts/codegen/generator.py:
(Generator.wrap_with_guard_for_domain):
* inspector/scripts/codegen/models.py:
(Protocol.parse_domain):
(Domain.__init__):
(Domains):
* inspector/scripts/tests/generate-domains-with-feature-guards.json: Added.
* inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
* inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
* inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
* inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
* inspector/scripts/tests/expected/type-declaration-object-type.json-result:

Source/WebCore:

Add 'featureGuard' settings to wrap domains with ENABLE macros.

No new tests. No behavior was changed.

* inspector/protocol/Database.json:
* inspector/protocol/IndexedDB.json:
* inspector/protocol/Replay.json:

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

7 years ago[Cocoa] Some projects are incorrectly installed to $BUILT_PRODUCTS_DIR
aestes@apple.com [Tue, 26 Aug 2014 22:36:19 +0000 (22:36 +0000)]
[Cocoa] Some projects are incorrectly installed to $BUILT_PRODUCTS_DIR
https://bugs.webkit.org/show_bug.cgi?id=136267

Reviewed by Dan Bernstein.

INSTALL_PATH was set to $BUILT_PRODUCTS_DIR for engineering configurations in r20225 as part of a build fix.
Not only is this no longer necessary to build, but it causes built products to be incorrectly installed in
engineering configurations.

Remove the setting of INSTALL_PATH from the pbxproj file so that the value specified in the xcconfig files is
used instead.

Source/JavaScriptCore:

* JavaScriptCore.xcodeproj/project.pbxproj:

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit2:

* WebKit2.xcodeproj/project.pbxproj:

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

7 years ago[Win] 64-bit JavaScriptCore crashes on launch
msaboff@apple.com [Tue, 26 Aug 2014 22:08:42 +0000 (22:08 +0000)]
[Win] 64-bit JavaScriptCore crashes on launch
https://bugs.webkit.org/show_bug.cgi?id=136241

Reviewed by Mark Lam.

* llint/LowLevelInterpreter.asm:
(vmEntryRecord): X86_64_WIN doesn't use "a0" (rax) for the first argument, it uses
"t2" (rcx).  Changed to get the input parameter using the correct register.

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

7 years ago[Win] WebKit IDL incorrectly passes HWND as OLE_HANDLE
bfulgham@apple.com [Tue, 26 Aug 2014 21:39:51 +0000 (21:39 +0000)]
[Win] WebKit IDL incorrectly passes HWND as OLE_HANDLE
https://bugs.webkit.org/show_bug.cgi?id=136258
<rdar://problem/18134138>

Reviewed by Tim Horton.

Avoid 32/64-bit truncation by preventing 64-bit HWND (and other)
values from passing through the 32-bit OLE_HANDLE data type.

Source/WebCore:

* platform/win/WindowMessageBroadcaster.cpp:
(WebCore::WindowMessageBroadcaster::addListener):
(WebCore::WindowMessageBroadcaster::removeListener):
(WebCore::WindowMessageBroadcaster::destroy):
(WebCore::WindowMessageBroadcaster::unsubclassWindow):
(WebCore::WindowMessageBroadcaster::SubclassedWndProc):

Source/WebKit/win:

* Interfaces/IWebDocument.idl:
* Interfaces/IWebEmbeddedView.idl:
* Interfaces/IWebErrorPrivate.idl:
* Interfaces/IWebFrameLoadDelegate.idl:
* Interfaces/IWebFramePrivate.idl:
* Interfaces/IWebHistoryItem.idl:
* Interfaces/IWebIconDatabase.idl:
* Interfaces/IWebMutableURLRequestPrivate.idl:
* Interfaces/IWebUIDelegate.idl:
* Interfaces/IWebUIDelegatePrivate.idl:
* Interfaces/IWebURLResponsePrivate.idl:
* Interfaces/IWebView.idl:
* Interfaces/IWebViewPrivate.idl:
* WebCoreSupport/EmbeddedWidget.cpp:
(EmbeddedWidget::createWindow):
* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::rootViewToScreen):
(WebChromeClient::screenToRootView):
(WebChromeClient::platformPageClient):
(WebChromeClient::runOpenPanel):
(WebChromeClient::setCursor):
* WebCoreSupport/WebContextMenuClient.cpp:
(WebContextMenuClient::customizeMenu):
* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::createPlugin):
* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorClient::openInspectorFrontend):
(WebInspectorClient::highlight):
(WebInspectorFrontendClient::setAttachedWindowHeight):
(WebInspectorFrontendClient::closeWindowWithoutNotifications):
(WebInspectorFrontendClient::showWindowWithoutNotifications):
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorDelegate.cpp:
* WebCoreSupport/WebInspectorDelegate.h:
(WebInspectorDelegate::webViewFirstResponder):
(WebInspectorDelegate::makeFirstResponder):
(WebInspectorDelegate::contextMenuItemsForElement):
(WebInspectorDelegate::trackCustomPopupMenu):
(WebInspectorDelegate::addCustomMenuDrawingData):
(WebInspectorDelegate::cleanUpCustomMenuDrawingData):
(WebInspectorDelegate::drawHeaderInRect):
(WebInspectorDelegate::drawFooterInRect):
* WebDropSource.cpp:
(generateMouseEvent):
(WebDropSource::GiveFeedback):
* WebError.cpp:
(WebError::sslPeerCertificate):
* WebError.h:
* WebFrame.cpp:
(WebFrame::paintDocumentRectToContext):
(WebFrame::paintScrollViewRectToContextAtPoint):
(WebFrame::createSubframeWithOwnerElement):
(WebFrame::initWithWebView):
(WebFrame::drawHeader):
(WebFrame::drawFooter):
* WebFrame.h:
* WebHistoryItem.cpp:
(WebHistoryItem::icon):
* WebHistoryItem.h:
* WebIconDatabase.cpp:
(WebIconDatabase::iconForURL):
(WebIconDatabase::defaultIconWithSize):
* WebIconDatabase.h:
* WebMutableURLRequest.cpp:
(WebMutableURLRequest::setClientCertificate):
* WebMutableURLRequest.h:
* WebNodeHighlight.cpp:
(WebNodeHighlight::WebNodeHighlight):
* WebURLResponse.cpp:
(WebURLResponse::sslPeerCertificate):
* WebURLResponse.h:
* WebView.cpp:
(WebView::paintIntoBackingStore):
(WebView::handleContextMenuEvent):
(WebView::onInitMenuPopup):
(WebView::onUninitMenuPopup):
(WebView::WebViewWndProc):
(WebView::dispatchDidReceiveIconFromWebFrame):
(WebView::setHostWindow):
(WebView::hostWindow):
(WebView::generateSelectionImage):
(WebView::mainFrameIcon):
(WebView::viewWindow):
(WebView::paintDocumentRectToContext):
(WebView::paintScrollViewRectToContextAtPoint):
(WebView::backingStore):
(WebView::fullScreenClientSetParentWindow):
* WebView.h:

Tools:

* DumpRenderTree/win/AccessibilityControllerWin.cpp:
(AccessibilityController::rootElement):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebViewToConsistentStateBeforeTesting):
(runTest):
(createWebViewAndOffscreenWindow):
* DumpRenderTree/win/FrameLoadDelegate.h:
(FrameLoadDelegate::didReceiveIcon):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setWindowIsKey):
* DumpRenderTree/win/UIDelegate.cpp:
(UIDelegate::trackCustomPopupMenu):
(UIDelegate::drawHeaderInRect):
(UIDelegate::drawFooterInRect):
(UIDelegate::webViewClose):
(UIDelegate::webViewFocus):
(UIDelegate::webViewSetCursor):
(UIDelegate::drawBackground):
* DumpRenderTree/win/UIDelegate.h:
(UIDelegate::webViewFirstResponder):
(UIDelegate::makeFirstResponder):
(UIDelegate::contextMenuItemsForElement):
(UIDelegate::addCustomMenuDrawingData):
(UIDelegate::cleanUpCustomMenuDrawingData):
(UIDelegate::webViewLostFocus):
* TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp:
(TestWebKitAPI::WebViewDestructionWithHostWindow::SetUp):
* WinLauncher/PrintWebUIDelegate.cpp:
(PrintWebUIDelegate::drawHeaderInRect):
(PrintWebUIDelegate::drawFooterInRect):
* WinLauncher/PrintWebUIDelegate.h:
(PrintWebUIDelegate::webViewFirstResponder):
(PrintWebUIDelegate::makeFirstResponder):
(PrintWebUIDelegate::contextMenuItemsForElement):
(PrintWebUIDelegate::trackCustomPopupMenu):
(PrintWebUIDelegate::addCustomMenuDrawingData):
(PrintWebUIDelegate::cleanUpCustomMenuDrawingData):
* WinLauncher/WinLauncher.cpp:
(WinLauncher::prepareViews):
* WinLauncher/WinLauncherWebHost.h:
(WinLauncherWebHost::didReceiveIcon):

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

7 years agoTypeSet caches structureIDs even after the corresponding Structure could be GCed
commit-queue@webkit.org [Tue, 26 Aug 2014 21:24:40 +0000 (21:24 +0000)]
TypeSet caches structureIDs even after the corresponding Structure could be GCed
https://bugs.webkit.org/show_bug.cgi?id=136178

Patch by Saam Barati <sbarati@apple.com> on 2014-08-26
Reviewed by Geoffrey Garen.

Currently, TypeSet will never remove StructureIDs from its cache,
even after the corresponding Structures could be garbage collected.
Now, when the Garbage Collector collects, and type profiling is
enabled, the Garbage Collector will invalidate all TypeSet caches.

* heap/Heap.cpp:
(JSC::Heap::collect):
* runtime/TypeSet.cpp:
(JSC::TypeSet::addTypeInformation):
(JSC::TypeSet::invalidateCache):
* runtime/TypeSet.h:
* runtime/VM.cpp:
(JSC::VM::invalidateTypeSetCache):
* runtime/VM.h:

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

7 years agoReplace use of WKCopyCFLocalizationPreferredName with NSLocale public API
mjs@apple.com [Tue, 26 Aug 2014 21:06:07 +0000 (21:06 +0000)]
Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
https://bugs.webkit.org/show_bug.cgi?id=136082

Reviewed by Alexey Proskuryakov.

Source/WebCore:

* platform/mac/Language.mm:
(WebCore::httpStyleLanguageCode): Replace use of WKCopyCFLocalizationPreferredName
with new WebCoreNSStringExtras helper.
* platform/mac/WebCoreNSStringExtras.mm: Replacements for the aspects of
WKCopyCFLocalizationPreferredName.
(preferredBundleLocalizationName): New helper - most preferred localization available
in the main bundle, canonicalized the way we like it.
(canonicalLocalizationName): Convert a lcalization name to a string with language and
country code, using default if necessary (e.g. "en" maps to "en_US").
* WebCore.order: Remove mention of WKCopyCFLocalizationPreferredName.
* WebCore.exp.in: ditto; also export preferredBundleLocalizationName for WebKit(2).
* platform/ios/WebCoreSystemInterfaceIOS.mm: ditto
* platform/mac/WebCoreSystemInterface.h: ditto
* platform/mac/WebCoreSystemInterface.mm: ditto
* platform/spi/cf: Added.
* platform/spi/cf/CFLocaleSPI.h: Added. Declare
CFLocaleGetLanguageRegionEncodingForLocaleIdentifier.

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost): Get current
localization name using WebCore helper instead of SPI.
* Plugins/WebBasePluginPackage.mm: Fixed the include style for this
file.
(-[WebBasePluginPackage getPluginInfoFromPLists]): Get current
localization name using WebCore helper instead of SPI.
(+[WebBasePluginPackage preferredLocalizationName]): Deleted. This
helper no longer pulls its weight.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Remove mention of
WKCopyCFLocalizationPreferredName.
* WebKit.order: ditto

Source/WebKit2:

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService): Remove accidental leftover retrieval
of the localization.
(WebKit::createProcess): Get current localization name from
CFBundle API instead of using SPI.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Remove mention of WKCopyCFLocalizationPreferredName
* mac/WebKit2.order: ditto

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

7 years agoThe UNUSED_PARAM macros in ServicesOverlayController.mm are causing ASan build failures.
dburkart@apple.com [Tue, 26 Aug 2014 20:37:04 +0000 (20:37 +0000)]
The UNUSED_PARAM macros in ServicesOverlayController.mm are causing ASan build failures.
https://bugs.webkit.org/show_bug.cgi?id=136262

Reviewed by David Kilzer.

* WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::selectionRectsDidChange):
(WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged):

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

7 years ago[CSS Shapes] Positioned polygon reftests failing
zoltan@webkit.org [Tue, 26 Aug 2014 20:12:57 +0000 (20:12 +0000)]
[CSS Shapes] Positioned polygon reftests failing
https://bugs.webkit.org/show_bug.cgi?id=135925

Reviewed by David Hyatt.

Source/WebCore:

We didn't respect the shape-margin before a positioned polygon, since we checked
the shape-margin for only 1 vertex for a polygon edge. This patch fixes the behavior,
removes the tests from the skipped list and updates 1 test, which was incorrect.

Updated existing test and removed tests from skipped list.

* rendering/shapes/PolygonShape.cpp:
(WebCore::clippedCircleXRange):
(WebCore::PolygonShape::getExcludedInterval):

LayoutTests:

* TestExpectations: Remove passing tests.
* css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html: Fix test behavior.

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

7 years ago[EFL] URTBF after r172966.
ossy@webkit.org [Tue, 26 Aug 2014 20:11:59 +0000 (20:11 +0000)]
[EFL] URTBF after r172966.

* UIProcess/efl/WebViewEfl.h:

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

7 years agoREGRESSION(r172966) [GTK] Build broken.
clopez@igalia.com [Tue, 26 Aug 2014 19:34:45 +0000 (19:34 +0000)]
REGRESSION(r172966) [GTK] Build broken.

Unreviewed build fix after r172966.

* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
* UIProcess/API/gtk/PageClientImpl.h:

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

7 years agoSubpixel layout: Remove float to LayoutUnit ceil/round function wrappers.
zalan@apple.com [Tue, 26 Aug 2014 19:29:09 +0000 (19:29 +0000)]
Subpixel layout: Remove float to LayoutUnit ceil/round function wrappers.
https://bugs.webkit.org/show_bug.cgi?id=136253

Reviewed by Simon Fraser.

These functions wrap LayoutUnit::fromFloatCeil/fromFloatRound() functions to ceil/round float to LayoutUnit.
Their usage is limited and can easily be confused with the snapping functions (snap to css/device pixels).

No change in functionality.

* platform/LayoutUnit.h:
(WebCore::roundedLayoutUnit): Deleted. : Callers use the more explicit LayoutUnit::fromFloatRound() function.
(WebCore::ceiledLayoutUnit): Deleted. : Callers use the more explicit LayoutUnit::fromFloatCeil() function.
* rendering/RenderBlock.cpp:
(WebCore::updatePreferredWidth):
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
(WebCore::adjustFloatForSubPixelLayout): Deleted.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::positionLineBox):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::resolveFlexibleLengths):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::offsetForInFlowPositionedInline):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):

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

7 years agoEnsure that layout is up-to-date before hit testing
simon.fraser@apple.com [Tue, 26 Aug 2014 19:00:29 +0000 (19:00 +0000)]
Ensure that layout is up-to-date before hit testing
https://bugs.webkit.org/show_bug.cgi?id=136242
rdar://problem/17435564

Reviewed by Tim Horton.

Various code paths can call into RenderView::hitTest() but fail to
ensure that layout is up-to-date. This is a conservative change that
fixes the issue for callers of EventHandler::hitTestResultAtPoint(),
including WebPage::acceptsFirstMouse() and WebFrame::hitTest().

This change is not general enough that we can ASSERT(!needsLayout())
in RenderView::hitTest() yet.

* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint):

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

7 years agoCrashes in hit testing under WebPage::determinePrimarySnapshottedPlugIn()
simon.fraser@apple.com [Tue, 26 Aug 2014 18:55:16 +0000 (18:55 +0000)]
Crashes in hit testing under WebPage::determinePrimarySnapshottedPlugIn()
https://bugs.webkit.org/show_bug.cgi?id=136240
rdar://problem/17231462

Reviewed by Darin Adler.

determinePrimarySnapshottedPlugIn() does render tree hit testing, so needs
to ensure that layout is up-to-date.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::determinePrimarySnapshottedPlugIn):

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

7 years agoOnly define WEBCORE_EXPORT when building DumpRenderTree for Windows and iOS
dbates@webkit.org [Tue, 26 Aug 2014 18:44:46 +0000 (18:44 +0000)]
Only define WEBCORE_EXPORT when building DumpRenderTree for Windows and iOS

Rubber-stamped by Tim Horton.

The Windows and iOS ports are the only ports that make use of WebCore headers
in DumpRenderTree.

* DumpRenderTree/config.h:

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

7 years agoREGRESSION (r172771): Amazon product page becomes unresponsive after swiping back...
timothy_horton@apple.com [Tue, 26 Aug 2014 18:42:00 +0000 (18:42 +0000)]
REGRESSION (r172771): Amazon product page becomes unresponsive after swiping back to it
https://bugs.webkit.org/show_bug.cgi?id=136260
<rdar://problem/18107826>

Reviewed by Dan Bernstein.

Previously, when a swipe ended up performing a same-document navigation,
we would never get didFinishLoadForMainFrame nor didFirstVisuallyNonEmptyLayoutForMainFrame
nor would we even get didHitRenderTreeSizeThreshold in all cases, so we would never
remove the swipe snapshot. Previous implementations removed the snapshot on
didSameDocumentNavigation for the main frame if the navigation type was Replace or Pop,
so we will match that behavior.

Also, reinstate the watchdog that starts at swipe-end which would have prevented
this bug from forever breaking the view it was associated with.

Also, defend against removing the snapshot before the swipe has finished (before
we have even caused the navigation that we're watching for the effects of).

* UIProcess/API/mac/WKView.mm:
(-[WKView _didSameDocumentNavigationForMainFrame:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
Plumb main-frame same-document navigation notification from WebPageProxy
to ViewGestureControllerMac via PageClient and WKView.

* UIProcess/mac/ViewGestureController.h:
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
Keep track of whether a swipe is currently occurring. We can't use
activeGestureType for this because the swipe currently remains the "active"
gesture until the snapshot is removed.

Reintroduce the old swipeWatchdogTimer (and rename the shorter timer that starts
when we get a visually non-empty layout) so that we will always remove the
snapshot after 5 seconds, even if we haven't committed the load.
This could lead to flashing back to the old content if we fail to get a single
byte for 5 seconds, but that is a rare case and should eventually get additional
special treatment (dropping the tiles until we do get content, or some such).

(WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
If a swipe is still in progress, we haven't done our navigation and thus
don't care about render tree size changes.

(WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
If a swipe is still in progress, we haven't done our navigation and thus
don't care about layouts.

Stop the 5 second overall watchdog if we start the 3 second after-visuallyNonEmptyLayout
watchdog. This means that the snapshot could stay up for a maximum of 8 seconds
for a very, very slow load.

(WebKit::ViewGestureController::didFinishLoadForMainFrame):
If a swipe is still in progress, we haven't done our navigation and thus
don't care about loads that complete.

(WebKit::ViewGestureController::didSameDocumentNavigationForMainFrame):
Remove the swipe snapshot after painting if we do replaceState or popState.

(WebKit::ViewGestureController::removeSwipeSnapshotAfterRepaint):
If a swipe is still in progress, we shouldn't remove the snapshot yet.

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

7 years agoRubber-banding in overflow:scroll regions does not work correctly with
bdakin@apple.com [Tue, 26 Aug 2014 18:29:48 +0000 (18:29 +0000)]
Rubber-banding in overflow:scroll regions does not work correctly with
direction:rtl
https://bugs.webkit.org/show_bug.cgi?id=136176

Reviewed by Tim Horton.

Small cleanup.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::visibleContentRectInternal):

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