Timeline



Aug 25, 2014:

11:43 PM Changeset in webkit [172951] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Generate toFile() instead of manual functions.
https://bugs.webkit.org/show_bug.cgi?id=136207

Reviewed by Darin Adler.

No new tests, no behavior changes.

  • fileapi/Blob.h: Define BLOB_TYPE_CASTS.
  • fileapi/File.h: Use BLOB_TYPE_CASTS to generate toFile().

(WebCore::toFile): Deleted.

9:36 PM Changeset in webkit [172950] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

TypeProfiler search breaks on return statements
https://bugs.webkit.org/show_bug.cgi?id=136201

Patch by Saam Barati <sbarati@apple.com> on 2014-08-25
Reviewed by Filip Pizlo.

Searching for return statements in the TypeProfiler currently
breaks down because it expected to see the search descriptor
TypeProfilerSearchDescriptorFunctionReturn when looking for
return statements in the actual source code of the program.
But, TypeProfilerSearchDescriptorFunctionReturn search descriptor
is reserved for looking for return statements that aren't in the
actual source code of the program, but when asking for the
aggregate return type of a function. Now, searching for
return statements in the actual source code of the program will
work when passing in the search descriptor TypeProfilerSearchDescriptorNormal.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::findLocation):
(JSC::descriptorMatchesTypeLocation): Deleted.

7:17 PM Changeset in webkit [172949] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Return statement TypeSet's might be duplicated
https://bugs.webkit.org/show_bug.cgi?id=136200

Patch by Saam Barati <sbarati@apple.com> on 2014-08-25
Reviewed by Filip Pizlo.

Currently, the globalTypeSet that converges the types of all
return statements in a function lives off of CodeBlock. It lives
off CodeBlock because of a faulty assumption that CodeBlock
will have a one to one mapping with a function in the source
text of the program. (Currently, there isn't an actual bug
with this design because TypeLocationCache will hash cons to
the same TypeLocation, but this is still an incorrect design).
In this patch, the globalTypeSet for function return statements
is moved to the FunctionExecutable object which does have a one
to one mapping with functions in the source text of a program.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::returnStatementTypeSet): Deleted.

  • runtime/Executable.h:

(JSC::FunctionExecutable::returnStatementTypeSet):

7:11 PM Changeset in webkit [172948] by Alan Bujtas
  • 27 edits in trunk/Source

Subpixel layout: remove roundedLayoutPoint/roundedLayoutSize functions.
https://bugs.webkit.org/show_bug.cgi?id=136236

Reviewed by Simon Fraser.

These functions simply call LayoutPoint/LayoutSize c'tors. They don't round the input value at all.

Non change in functionality.

Source/WebCore:

  • dom/MouseRelatedEvent.cpp:

(WebCore::MouseRelatedEvent::computePageLocation):
(WebCore::MouseRelatedEvent::computeRelativePosition):

  • dom/Touch.cpp:

(WebCore::Touch::Touch):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::setPositionFromPoint):

  • page/DragController.cpp:

(WebCore::elementUnderMouse):

  • page/EventHandler.cpp:

(WebCore::selectionExtentRespectingEditingBoundary):

  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:

(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateChildNodesAfterScroll):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):

  • platform/graphics/LayoutPoint.h:

(WebCore::roundedLayoutPoint): Deleted.

  • platform/graphics/LayoutSize.h:

(WebCore::roundedLayoutSize): Deleted.

  • rendering/EllipsisBox.cpp:

(WebCore::EllipsisBox::nodeAtPoint):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::selectionGapRectsForRepaint):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::positionLineBox):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):

  • rendering/RenderEmbeddedObject.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::localCaretRect):
(WebCore::RenderInline::mapLocalToContainer):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::absoluteToContents):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::mapLocalToContainer):

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::createShapeForImage):

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::nodeAtFloatPoint):

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::nodeAtFloatPoint):

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::nodeAtFloatPoint):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::nodeAtFloatPoint):

  • testing/Internals.cpp:

(WebCore::Internals::nodesFromRect):

Source/WebKit2:

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::computeCustomFixedPositionRect):

6:52 PM Changeset in webkit [172947] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Rename RenderObject::showTree() and showTreeForThis() to showNodeTree*().
https://bugs.webkit.org/show_bug.cgi?id=136238

Reviewed by Simon Fraser.

showNodeTree()/showNodeTreeForThis() reflects the functionality better.

No change in functionality.

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::showNodeTreeForThis):
(showNodeTree):
(WebCore::InlineBox::showTreeForThis): Deleted.
(showTree): Deleted.

  • rendering/InlineBox.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::showNodeTreeForThis):
(showNodeTree):
(WebCore::RenderObject::showTreeForThis): Deleted.
(showTree): Deleted.

  • rendering/RenderObject.h:
5:56 PM Changeset in webkit [172946] by Antti Koivisto
  • 16 edits in trunk/Source

Don't pass priority as parameter to ResourceLoadScheduler
https://bugs.webkit.org/show_bug.cgi?id=136232

Reviewed by Sam Weinig.

Source/WebCore:

It is part of the ResourceRequest which is also passed in.

  • WebCore.exp.in:
  • loader/ResourceLoadScheduler.cpp:

(WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
(WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
(WebCore::ResourceLoadScheduler::scheduleLoad):

  • loader/ResourceLoadScheduler.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):

Restore the original request priority when a delegate modifies the request.

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::priority): Deleted.

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):

  • Shared/Network/NetworkResourceLoadParameters.h:
  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
(WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
(WebKit::WebResourceLoadScheduler::scheduleLoad):

  • WebProcess/Network/WebResourceLoadScheduler.h:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::loadResourceSynchronously):

5:12 PM Changeset in webkit [172945] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Rubber-banding in overflow:scroll regions does not work correctly with direction:rtl
https://bugs.webkit.org/show_bug.cgi?id=136176

Reviewed by Sam Weinig.

Use scrollPosition() instead of scrollXOffset() and scrollYOffset() which both add
in the scrollOrigin(). Other implementations of visibleContentRectInternal() do
not add in the scrollOrigin(), so RenderLayer's shouldn't either in order to be
consistent. This makes rubber-banding work for RTL because
ScrollAnimatorMac::pinnedInDirection() and
ScrollAnimatorMac::absoluteScrollPosition() both return the expect values now.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::visibleContentRectInternal):

5:01 PM Changeset in webkit [172944] by ap@apple.com
  • 2 edits in trunk/Tools

Remove a little more accidentally landed code from r172891.

iteration.branch also wasn't meant to be landed.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype._parseData):

4:54 PM Changeset in webkit [172943] by ap@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r172891): Internal dashboard is broken.

Removing some accidentally landed code - I needed "changes" for another patch, but
not here, and then I decided to not use it anyway.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype._parseData):

4:08 PM Changeset in webkit [172942] by dbates@webkit.org
  • 2 edits in trunk/Tools

Fix the iOS DumpRenderTree build after <http://trac.webkit.org/changeset/172814/>
(https://bugs.webkit.org/show_bug.cgi?id=136108)

Use a similar approach as in TestWebKitAPI/config.h and define a stub for the macro define WEBCORE_EXPORT
so that we can compile DumpRenderTree for iOS.

  • DumpRenderTree/config.h:
4:06 PM Changeset in webkit [172941] by ap@apple.com
  • 3 edits in trunk/Tools

Make build.webkit.org/dashboard work with changeset_show_files=location
https://bugs.webkit.org/show_bug.cgi?id=136237

Reviewed by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:

(Trac.prototype._convertCommitInfoElementToObject): Remove location information
from description before getting title, and also actually parse the location into
result object when available.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:

(String.prototype.startsWith): Added.

3:35 PM Changeset in webkit [172940] by fpizlo@apple.com
  • 58 edits
    16 adds in trunk

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.

(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::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/new-array-then-exit.js: Added.

(foo):

  • 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.
3:31 PM Changeset in webkit [172939] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't crash when the DataDetectors framework is unavailable.
<rdar://problem/18106066> and https://bugs.webkit.org/show_bug.cgi?id=136234

Reviewed by Tim Horton.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::buildPhoneNumberHighlights): Bail if DD.framework didn’t soft link.
(WebKit::ServicesOverlayController::buildSelectionHighlight): Ditto.

3:15 PM Changeset in webkit [172938] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

Attempt to fix the iOS build after <http://trac.webkit.org/changeset/172889>
(https://bugs.webkit.org/show_bug.cgi?id=109658)

Substitute GraphicsLayer::setContentsToPlatformLayer(..., GraphicsLayer::ContentsLayerForMedia)
for GraphicsLayer::setContentsToMedia(...) because the latter was removed in <http://trac.webkit.org/changeset/172889>.

  • WebView/WebView.mm:

(-[WebView _setMediaLayer:forPluginView:]):

2:05 PM Changeset in webkit [172937] by Lucas Forschler
  • 5 edits in branches/safari-600.1-branch

Merged r172929. <rdar://problem/18121645>.

2:02 PM Changeset in webkit [172936] by Lucas Forschler
  • 5 edits in tags/Safari-600.1.15.1

Merged r172929. <rdar://problem/18121645>

1:39 PM Changeset in webkit [172935] by Lucas Forschler
  • 5 edits in tags/Safari-600.1.15.1/Source

Versioning.

1:30 PM Changeset in webkit [172934] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.15.1

New Tag.

12:33 PM Changeset in webkit [172933] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

Reduce style marking when using the pseudo class :placeholder-shown
https://bugs.webkit.org/show_bug.cgi?id=136203

Reviewed by Darin Adler.

When the :placeholder-shown filter is hit, we were always marking the RenderStyle as unique.
As a result, if :placeholder-shown was used without a more restrictive filter (e.g. "*:placeholder-shown"
or simply ":placeholder-shown"), style sharing was disabled for the whole tree.

This patch rescope the tree marking to any element that can be affected by a placeholder:
any the subclass of HTMLTextFormControlElement. For other elements, any change in internal state
would be irrelevant for "isPlaceholderVisible".

Styling of :placeholder-shown is covered by the existing tests. Style sharing of :placeholder-shown
is covered by LayoutTests/fast/css/placeholder-shown-basics.html.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::isPlaceholderShown): Deleted.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::isPlaceholderShown):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
(WebCore::SelectorCompiler::makeUniqueIfNecessaryAndTestIsPlaceholderShown): Deleted.

12:32 PM Changeset in webkit [172932] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

After r172867 another crash in in js/dom/line-column-numbers.html
https://bugs.webkit.org/show_bug.cgi?id=136192

Reviewed by Geoffrey Garen.

In lookupExceptionHandlerFromCallerFrame(), We need to use the caller's CallFrame
and VMEntryFrame when calling genericUnwind(). NativeCallFrameTracerWithRestore()
does that for us.

In general, NativeCallFrameTracerWithRestore(), restores the values because we may
do more processing that requires the current callFrame and vmEntryFrame before we
get to the catch handler where we change these to the catch values. In this
particular case, that restoration isn't currently needed, but we add complexity
and possible future confusion if we create another NativeCallFrameTracerXXX()
version that doesn't restore the values.

  • jit/JITOperations.cpp:

(JSC::lookupExceptionHandlerFromCallerFrame): Changed NativeCallFrameTracer() to
NativeCallFrameTracerWithRestore() so that VM::topVMEntryFrame will be updated
before calling genericUnwind().

11:46 AM Changeset in webkit [172931] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

Remove ResourceLoader::didChangePriority
https://bugs.webkit.org/show_bug.cgi?id=136230

Reviewed by Andreas Kling.

It doesn't do anything on any platform.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::didChangePriority): Deleted.

  • loader/ResourceLoader.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::setLoadPriority):

  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::didChangePriority): Deleted.

  • platform/network/ResourceHandle.h:
11:39 AM Changeset in webkit [172930] by Brian Burg
  • 82 edits
    3 moves
    2 adds
    2 deletes in trunk/Source

Web Inspector: rename Inspector::TypeBuilder to Inspector::Protocol
https://bugs.webkit.org/show_bug.cgi?id=136031

Reviewed by Timothy Hatcher.

Rename TypeBuilder namespace to Protocol. Disambiguate where
necessary. Also rename InspectorTypeBuilder to ProtocolTypes.

  • CMakeLists.txt:
  • DerivedSources.make:

Source/JavaScriptCore:

(Inspector::messageSourceValue):
(Inspector::messageTypeValue):
(Inspector::messageLevelValue):
(Inspector::ConsoleMessage::addToFrontend):

  • inspector/ContentSearchUtilities.cpp:

(Inspector::ContentSearchUtilities::buildObjectForSearchMatch):
(Inspector::ContentSearchUtilities::searchInTextByLines):

  • inspector/ContentSearchUtilities.h:
  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::evaluate):
(Inspector::InjectedScript::callFunctionOn):
(Inspector::InjectedScript::evaluateOnCallFrame):
(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getInternalProperties):
(Inspector::InjectedScript::wrapCallFrames):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):

  • inspector/InjectedScript.h:
  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::makeEvalCall):

  • inspector/InjectedScriptBase.h:
  • inspector/InspectorTypeBuilder.h: Removed.
  • inspector/ScriptCallFrame.cpp:

(Inspector::ScriptCallFrame::buildInspectorObject):

  • inspector/ScriptCallFrame.h:
  • inspector/ScriptCallStack.cpp:

(Inspector::ScriptCallStack::buildInspectorArray):

  • inspector/ScriptCallStack.h:
  • inspector/agents/InspectorAgent.cpp:

(Inspector::InspectorAgent::inspect):

  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::breakpointActionTypeForString):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::resolveBreakpoint):
(Inspector::InspectorDebuggerAgent::searchInContent):
(Inspector::InspectorDebuggerAgent::getFunctionDetails):
(Inspector::InspectorDebuggerAgent::evaluateOnCallFrame):
(Inspector::InspectorDebuggerAgent::currentCallFrames):
(Inspector::InspectorDebuggerAgent::didParseSource):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorProfilerAgent.cpp:

(Inspector::InspectorProfilerAgent::createProfileHeader):
(Inspector::InspectorProfilerAgent::getProfileHeaders):
(Inspector::buildInspectorObject):
(Inspector::InspectorProfilerAgent::buildProfileInspectorObject):
(Inspector::InspectorProfilerAgent::getCPUProfile):

  • inspector/agents/InspectorProfilerAgent.h:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::buildErrorRangeObject):
(Inspector::InspectorRuntimeAgent::parse):
(Inspector::InspectorRuntimeAgent::evaluate):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getProperties):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/scripts/codegen/init.py:
  • inspector/scripts/codegen/generate_backend_dispatcher_header.py:

(BackendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_backend_dispatcher_implementation.py:

(BackendDispatcherImplementationGenerator._generate_async_dispatcher_class_for_domain):
(BackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):

  • inspector/scripts/codegen/generate_frontend_dispatcher_header.py:

(FrontendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_frontend_dispatcher_implementation.py:

(FrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):

  • inspector/scripts/codegen/generate_type_builder_header.py: Removed.
  • inspector/scripts/codegen/generate_type_builder_implementation.py: Removed.
  • inspector/scripts/codegen/generator.py:

(Generator.protocol_type_string_for_type):
(Generator.protocol_type_string_for_type_member):
(Generator.type_string_for_type_with_name):
(Generator.type_string_for_formal_out_parameter):
(Generator.type_string_for_formal_async_parameter):
(Generator.type_string_for_stack_in_parameter):
(Generator.type_string_for_stack_out_parameter):
(Generator.assertion_method_for_type_member.assertion_method_for_type):
(Generator.assertion_method_for_type_member):
(Generator.type_builder_string_for_type): Deleted.
(Generator.type_builder_string_for_type_member): Deleted.

  • inspector/scripts/codegen/generator_templates.py:

(Inspector):

  • inspector/scripts/generate-inspector-protocol-bindings.py:

(generate_from_specification):

  • 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/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • runtime/HighFidelityTypeProfiler.cpp:

(JSC::HighFidelityTypeProfiler::getTypesForVariableAtOffsetForInspector):

  • runtime/HighFidelityTypeProfiler.h:
  • runtime/TypeSet.cpp:

(JSC::TypeSet::allPrimitiveTypeNames):
(JSC::TypeSet::allStructureRepresentations):
(JSC::StructureShape::inspectorRepresentation):

  • runtime/TypeSet.h:

Source/WebCore:

  • ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Removed.
  • ForwardingHeaders/inspector/InspectorTypeBuilder.h: Removed.
  • WebCore.order:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::inspectImpl):

  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):

  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::getAllStyleSheets):
(WebCore::InspectorCSSAgent::getStyleSheet):
(WebCore::InspectorCSSAgent::setStyleText):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::addRule):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::collectStyleSheets):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForRuleList):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::querySelectorAll):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
(WebCore::InspectorDOMAgent::getSearchResults):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::getAttributes):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::processAccessibilityChildren):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):

  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):

  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp:

(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):

  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseResource.cpp:

(WebCore::InspectorDatabaseResource::bind):

  • inspector/InspectorIndexedDBAgent.cpp:
  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::layersForNode):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):

  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::resourceTypeJson):
(WebCore::InspectorPageAgent::cachedResourceTypeJson):
(WebCore::buildObjectForCookie):
(WebCore::buildArrayForCookies):
(WebCore::InspectorPageAgent::getCookies):
(WebCore::InspectorPageAgent::getResourceTree):
(WebCore::InspectorPageAgent::searchInResource):
(WebCore::buildObjectForSearchResult):
(WebCore::InspectorPageAgent::searchInResources):
(WebCore::InspectorPageAgent::buildObjectForFrame):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::buildInspectorObjectForPosition):
(WebCore::buildInspectorObjectForInput):
(WebCore::buildInspectorObjectForSession):
(WebCore::buildInspectorObjectForSessionState):
(WebCore::buildInspectorObjectForSegmentState):
(WebCore::SerializeInputToJSONFunctor::SerializeInputToJSONFunctor):
(WebCore::SerializeInputToJSONFunctor::operator()):
(WebCore::buildInspectorObjectForSegment):
(WebCore::InspectorReplayAgent::switchSession):
(WebCore::InspectorReplayAgent::insertSessionSegment):
(WebCore::InspectorReplayAgent::removeSessionSegment):
(WebCore::InspectorReplayAgent::currentReplayState):
(WebCore::InspectorReplayAgent::getAvailableSessions):
(WebCore::InspectorReplayAgent::getSessionData):
(WebCore::InspectorReplayAgent::getSegmentData):

  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::buildSourceRangeObject):
(WebCore::buildMediaObject):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorStyleSheet::canBind):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::sendEvent):

  • inspector/PageRuntimeAgent.cpp:
11:36 AM Changeset in webkit [172929] by Brent Fulgham
  • 5 edits in trunk

[Win] Pass OFFICIAL_BUILD flag to WebInspectorUI build process
https://bugs.webkit.org/show_bug.cgi?id=136229

Reviewed by Dean Jackson.

Source/WebInspectorUI:

  • WebInspectorUI.vcxproj/WebInspectorUI.make: Pass OFFICIAL_BUILD

flag to build-webinspectorui.pl.

  • WebInspectorUI.vcxproj/build-webinspectorui.pl: Accept and use

the OFFICIAL_BUILD flag.

WebKitLibraries:

  • win/tools/vsprops/common.props: Pass OFFICIAL_BUILD argument

from VS to child Make processes.

11:34 AM Changeset in webkit [172928] by b.long@cablelabs.com
  • 2 edits in trunk/Source/WebCore

[GStreamer] ASSERT failure in WebKitWebSource in StreamingClient
https://bugs.webkit.org/show_bug.cgi?id=136132

adoptGRef() has an ASSERT failure if it's used on a floating pointer. For some reason,
WebKitWebSrc* src in StreamingClient's constructor is floating. Since we
don't construct this ourselves, I assume this is happening in Playbin.

If we remove the ref and adopt, GRefPtr's constructor calls gst_object_ref_sink,
which removes the floating reference and doesn't increment the reference count.
This should work, but actually causes the page to either lock up or crash (different
results for different testers).

In this case, it seems like the adoptGRef / gst_object_ref was the correct thing to do,
but adoptGRef won't actually let us do. Removing the ASSERT is a bad idea, because
usually we don't want to adopt floating pointers.

This is all a long way of saying that making m_src a raw pointer and manually
calling gst_object_ref(), and calling gst_object_unref in the destructor is the
best solution in this case, since it fixes the problem while leaving the ASSERT
to protect us in the much more common case where adopting a floating reference is bad.

Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(StreamingClient::StreamingClient): Make m_src a raw pointer instead of a GRefPtr.
(StreamingClient::~StreamingClient): Unref m_src.
(StreamingClient::createReadBuffer): Replace m_src.get() with m_src, since it's a raw pointer now.
(StreamingClient::handleResponseReceived): Same.
(StreamingClient::handleDataReceived): Same.
(StreamingClient::handleNotifyFinished): Same.
(CachedResourceStreamingClient::notifyFinished): Same.
(ResourceHandleStreamingClient::didFail): Same.
(ResourceHandleStreamingClient::wasBlocked): Same.
(ResourceHandleStreamingClient::cannotShowURL): Same.

11:04 AM Changeset in webkit [172927] by Antti Koivisto
  • 11 edits
    2 deletes in trunk/Source/WebKit2

Remove load scheduling code from network process
https://bugs.webkit.org/show_bug.cgi?id=136199

Reviewed by Darin Adler.

Most platforms just flush resource loads directly to the networking layer by
making the parallel load count large. Also we always pass ResourceLoadPriorityHighest
to the scheduler so no actual scheduling happens. This is effectively dead code.

Keep basic support for serializing loads. This is only used for testing.

  • NetworkProcess/HostRecord.cpp: Removed.
  • NetworkProcess/HostRecord.h: Removed.
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::servePendingRequests):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::getNetworkProcessStatistics):

  • NetworkProcess/NetworkResourceLoadScheduler.cpp:

(WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler):
(WebKit::NetworkResourceLoadScheduler::scheduleLoader):
(WebKit::NetworkResourceLoadScheduler::removeLoader):
(WebKit::NetworkResourceLoadScheduler::loadsPendingCount):
(WebKit::NetworkResourceLoadScheduler::loadsActiveCount):
(WebKit::NetworkResourceLoadScheduler::scheduleServePendingRequests): Deleted.
(WebKit::NetworkResourceLoadScheduler::requestTimerFired): Deleted.
(WebKit::NetworkResourceLoadScheduler::hostForURL): Deleted.
(WebKit::NetworkResourceLoadScheduler::receivedRedirect): Deleted.
(WebKit::NetworkResourceLoadScheduler::servePendingRequests): Deleted.
(WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders): Deleted.
(WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader): Deleted.
(WebKit::NetworkResourceLoadScheduler::hostsPendingCount): Deleted.
(WebKit::NetworkResourceLoadScheduler::hostsActiveCount): Deleted.

  • NetworkProcess/NetworkResourceLoadScheduler.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::continueWillSendRequest):

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::isLoadingMainResource):
(WebKit::NetworkResourceLoader::setHostRecord): Deleted.
(WebKit::NetworkResourceLoader::hostRecord): Deleted.

  • NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:

(WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings):
(WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Deleted.

  • NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp:

(WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings):
(WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
9:25 AM Changeset in webkit [172926] by ap@apple.com
  • 2 edits in trunk/LayoutTests

ASSERT(extractable()) when storing a non-extractable key in IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=136202
rdar://problem/17993967

  • platform/mac-wk1/TestExpectations: Skip the test, IndexedDB is not supported

with WebKit1.

7:47 AM Changeset in webkit [172925] by Michał Pakuła vel Rutka
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed EFL gardening

  • platform/efl/TestExpectations: Added test expecations for failing and crashing tests.
  • platform/efl/scrollbars/scrollbar-selectors-expected.txt: Rebaseline after r172220.
6:44 AM Changeset in webkit [172924] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r172920 - [GTK] Older versions of WebKit should use the plugins cache in read only mode
https://bugs.webkit.org/show_bug.cgi?id=136215

Reviewed by Philippe Normand.

Now that WebKitGTK+ 2.4 and 2.5 are parallel installable, since
they use different versions of the plugins cache, apps using 2.4
might override the plugins cache file. We should prevent this from
happening by making older versions use the plugin cache, but not
downgrade it.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::updatePluginInfo):

  • UIProcess/Plugins/gtk/PluginInfoCache.h:
6:40 AM Changeset in webkit [172923] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Minibrowser : Enhance application to be able to support history list navigation
https://bugs.webkit.org/show_bug.cgi?id=135795

Patch by Tanay C <tanay.c@samsung.com> on 2014-08-25
Reviewed by Gyuyoung Kim.

  • MiniBrowser/efl/main.c: Adding functionality for long press history list navigation

(history_list_hide): Hiding and dereferencing the history list and items
(on_key_down):
(on_mouse_down):
(on_back_button_clicked): Early return for longpress
(on_forward_button_clicked): Early return for longpress
(list_item_label_get): Populate item labels
(on_list_item_select): Navigates on selection from history list
(navigation_button_longpress_process): Populates the history list and displays it
(on_forward_button_longpress):
(on_back_button_longpress):
(window_create): Add the widget for history list

6:39 AM Changeset in webkit [172922] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r172919 - [GTK] Should check if a plugin mixes GTK+ symbols earlier
https://bugs.webkit.org/show_bug.cgi?id=136214

Reviewed by Philippe Normand.

We are currently checking if the plugin module and the plugin
process mix GTK symbols after the plugin has been loaded and
initialized. This is too late in many cases, since plugins can use
GTK methods in the NP_Initialize implementation. This is causing
the apps using WebKitGTK+ 2.4 to freeze when the plugin process
scans the plugins and there's a plugin using GTK+3 installed. We
should move the check earlier, once the module is loaded but
before calling NP_Initialize.

  • Shared/Plugins/Netscape/NetscapePluginModule.cpp:

(WebKit::moduleMixesGtkSymbols):
(WebKit::NetscapePluginModule::tryLoad):

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitialize):

6:05 AM Changeset in webkit [172921] by berto@igalia.com
  • 2 edits in trunk

[GTK] Unify webkitgtk and webkit2gtk directories
https://bugs.webkit.org/show_bug.cgi?id=136209

Reviewed by Carlos Garcia Campos.

Use webkit2gtk-X.X both for the process binaries and the injected
bundle.

  • Source/cmake/OptionsGTK.cmake:
5:49 AM Changeset in webkit [172920] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Older versions of WebKit should use the plugins cache in read only mode
https://bugs.webkit.org/show_bug.cgi?id=136215

Reviewed by Philippe Normand.

Now that WebKitGTK+ 2.4 and 2.5 are parallel installable, since
they use different versions of the plugins cache, apps using 2.4
might override the plugins cache file. We should prevent this from
happening by making older versions use the plugin cache, but not
downgrade it.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::updatePluginInfo):

  • UIProcess/Plugins/gtk/PluginInfoCache.h:
5:45 AM Changeset in webkit [172919] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Should check if a plugin mixes GTK+ symbols earlier
https://bugs.webkit.org/show_bug.cgi?id=136214

Reviewed by Philippe Normand.

We are currently checking if the plugin module and the plugin
process mix GTK symbols after the plugin has been loaded and
initialized. This is too late in many cases, since plugins can use
GTK methods in the NP_Initialize implementation. This is causing
the apps using WebKitGTK+ 2.4 to freeze when the plugin process
scans the plugins and there's a plugin using GTK+3 installed. We
should move the check earlier, once the module is loaded but
before calling NP_Initialize.

  • Shared/Plugins/Netscape/NetscapePluginModule.cpp:

(WebKit::moduleMixesGtkSymbols):
(WebKit::NetscapePluginModule::tryLoad):

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitialize):

5:24 AM Changeset in webkit [172918] by zandobersek@gmail.com
  • 2 edits
    4 deletes in trunk/Source/WebCore

[GTK] Remove PopupMenuGtk, SearchPopupMenuGtk
https://bugs.webkit.org/show_bug.cgi?id=136211

Reviewed by Carlos Garcia Campos.

Remove the two classes from the codebase. They're not used anymore
after the WebKit1 layer of the GTK port was removed some time ago.

  • PlatformGTK.cmake:
  • platform/gtk/PopupMenuGtk.cpp: Removed.
  • platform/gtk/PopupMenuGtk.h: Removed.
  • platform/gtk/SearchPopupMenuGtk.cpp: Removed.
  • platform/gtk/SearchPopupMenuGtk.h: Removed.
5:22 AM Changeset in webkit [172917] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit2

Improve virtual method declarations in LayerTreeHostGtk
https://bugs.webkit.org/show_bug.cgi?id=136210

Reviewed by Carlos Garcia Campos.

Mark the LayerTreeHostGtk class as final in the virtual inheritance hierarchy.

Order the public and private virtual method overrides from the LayerTreeHost
and GraphicsLayerClient interfaces. Explicitly mark them as overriding the
base class methods.

Remove the overriding notifyAnimationStarted() and notifyFlushRequired()
methods since they are identical to the methods in the base class.

De-virtualize flushPendingLayerChanges(). It's not inherited and is not
overriden by anything (and nothing can inherit from LayerTreeHostGtk from
now on due to the final specifier).

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::notifyAnimationStarted): Deleted.
(WebKit::LayerTreeHostGtk::notifyFlushRequired): Deleted.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:

(WebKit::LayerTreeHostGtk::didCommitChangesForLayer): Deleted.

5:05 AM Changeset in webkit [172916] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WTF

Merge r172903 - Add support for little-endian PowerPC64
https://bugs.webkit.org/show_bug.cgi?id=135647

Patch by Tomas Popela <tpopela@redhat.com> on 2014-08-25
Reviewed by Oliver Hunt.

  • wtf/Platform.h:
  • wtf/dtoa/utils.h:
4:06 AM Changeset in webkit [172915] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Tools

Merge r171794 - [GTK] GLib tests fail with recent GTK+ due to runtime warning about deprecated properties
https://bugs.webkit.org/show_bug.cgi?id=135411

Reviewed by Sergio Villar Senin.

Recent versions of GTK+ now warn at runtime when a deprecated
property or signal is used. A diagnostic mode was added that is
enabled by default, but that can be disabled by setting
G_ENABLE_DIAGNOSTIC=0. Runtime warnings are considered test
failures by gtester, so we need to run the tests with the
diganostic mode disabled.

  • TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp:

(main):

3:57 AM Changeset in webkit [172914] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r172317 - HTML <sub> and <sup> elements do not work in some 64-bit builds
https://bugs.webkit.org/show_bug.cgi?id=135736

Reviewed by Tim Horton.

RootInlineBox::verticalPositionForBox() had some implicit conversions between
LayoutUnit and int that caused overflow, and resulted in different comparison
behavior with an int constant in different architectures, since overflow behavior
is undefined.

Specifically, VerticalPositionCache was written in terms of ints with a special
0x80000000 "not found" value. However, 0x80000000 was being assigned to
a LayoutUnit, which multiplies by 64 causing overflow. The result was then
compared again with 0x80000000 which could pass or fail depending on overflow
behavior.

Fix by converting VerticalPositionCache to use LayoutUnits, and to have a bool
return value with a result out param, instead of a special return value.

Not easily testable, since the difference does not show in DRT output,
and a ref test would be flakey.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::ascentAndDescentForBox):

  • rendering/VerticalPositionCache.h:

(WebCore::VerticalPositionCache::get):
(WebCore::VerticalPositionCache::set):

3:54 AM Changeset in webkit [172913] by Carlos Garcia Campos
  • 11 edits in releases/WebKitGTK/webkit-2.4

Merge r172707 - Completed iterator can be revived by adding more than one new entry to the target object
https://bugs.webkit.org/show_bug.cgi?id=129993

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-08-18
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

When iterator reaches end, finish iterator.

  • runtime/JSMapIterator.h:

(JSC::JSMapIterator::finish):

  • runtime/JSSetIterator.h:

(JSC::JSSetIterator::finish):

  • runtime/MapData.h:

(JSC::MapData::const_iterator::finish): set index of iterator to max
Int32.

  • runtime/MapIteratorPrototype.cpp:

(JSC::MapIteratorPrototypeFuncNext):

  • runtime/SetIteratorPrototype.cpp:

(JSC::SetIteratorPrototypeFuncNext):

LayoutTests:

Test a Map or Set iterator should remain dead after using it.

  • js/basic-map-expected.txt:
  • js/basic-set-expected.txt:
  • js/script-tests/basic-map.js:

(set var):
(set map):

  • js/script-tests/basic-set.js:

(keys.set keys):
(set add.set add):

3:36 AM Changeset in webkit [172912] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r172472 - [GStreamer] playback rate is rounded to integer
https://bugs.webkit.org/show_bug.cgi?id=135802

Patch by Fabien Vallée <fvallee@connected-labs.com> on 2014-08-12
Reviewed by Philippe Normand.

Source/WebCore:

Test: media/video-ended-event-slow-motion-playback.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setRate):

LayoutTests:

add test to ensure playback is actually working
in slow motion (playback rate = 0.5): Player
should reach EOS and dispatch ended event.

  • media/video-ended-event-slow-motion-playback-expected.txt: Added.
  • media/video-ended-event-slow-motion-playback.html: Added.
3:30 AM Changeset in webkit [172911] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r172341 - [GTK] Do not use GtkWindow:resize-grip-visible with recent GTK+ versions
https://bugs.webkit.org/show_bug.cgi?id=135699

Reviewed by Philippe Normand.

Resize grips support have been removed from GTK+ since 3.13.4, the
API has been deprecated and does nothing.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseSetToplevelOnScreenWindow):
(resizeWebKitWebViewBaseFromAllocation):

3:27 AM Changeset in webkit [172910] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r172896 - [GTK] Toggle buttons visually broken with GTK+ 3.13.7
https://bugs.webkit.org/show_bug.cgi?id=136130

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-08-24
Reviewed by Martin Robinson.

No new tests. Hopefully covered by existing tests, and our tests only
run with GTK+ 3.6 anyway.

  • platform/gtk/RenderThemeGtk3.cpp:

(WebCore::paintToggle): use GTK_STATE_FLAG_CHECKED when compiling for
GTK+ 3.13.7 and above to ensure toggle buttons display as toggled.

3:25 AM Changeset in webkit [172909] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r172592 - WebKit2GTK - WebKitWebProcess assertion fails when dragging and dropping a file into the view
https://bugs.webkit.org/show_bug.cgi?id=127576

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-08-14
Reviewed by Carlos Garcia Campos.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::performDragControllerAction): Assume read access
to any file that has been dragged into the web view when compiling for
GTK, since we don't support sandbox extensions.

2:59 AM Changeset in webkit [172908] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.4

Merge r172828 - [GTK] WebkitWebProcess crashing navigating away from ogg video element
https://bugs.webkit.org/show_bug.cgi?id=135348

Reviewed by Philippe Normand.

Source/WebCore:

Let GraphicsLayerTextureMapper know it needs to detach the platform
layer when a MediaPlayerPrivateGStreamerBase is destroyed.

No new test since media/restore-from-page-cache.html covers it.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):

Source/WebKit2:

When a page is cached, by default doesn't recreate the backing store
(an optimization added in r89316).

Not all the ports uses that optimization. For example IOS port doesn't
use it (r161185).

In the case of the GTK port, the MediaPlayerPrivateGStreamer, not only
processes video buffers, also display them, because it is a
TextureMapperPlatformLayer too.

Nevertheless, in r153937, when a page is cached, the player is
destroyed. But our player has a backing store and the render tree
doesn't know that the player has gone. Hence, when the page is redraw,
the TextureMapper tree visits the video element, which doesn't exist
anymore, a segmentation fault occurs.

So, as our media player renders, and as we cannot trust that the
player exists when a page is painted, we cannot rely in the r89316
optimization.

Disabling the backing stores optimization fixes the problem.

Covered by existing tests.

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformSetCacheModel): Enable the backing store
clearing when page caching for GTK.

2:59 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:50 AM Changeset in webkit [172907] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r172442 - [GTK] The plugins metadata cache doesn't work if the user cache directory doesn't exist
https://bugs.webkit.org/show_bug.cgi?id=135834

Reviewed by Philippe Normand.

Make sure the user cache directory exists. If creating the
directory fails for whatever reason, do not try to save the cache
to disk.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::updatePluginInfo):

1:17 AM Changeset in webkit [172906] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Core: Fix unused parameter build warning.
https://bugs.webkit.org/show_bug.cgi?id=136208

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-08-25
Reviewed by Darin Adler.

Fix unused build warning by removing parameter, which is not used.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):

1:02 AM Changeset in webkit [172905] by clopez@igalia.com
  • 2 edits
    1 add in trunk/Tools

[GTK] JHBuild module gst-plugins-base fails to build on x86 with GCC 4.9
https://bugs.webkit.org/show_bug.cgi?id=136152

Reviewed by Philippe Normand.

  • gtk/jhbuild.modules: Apply gst-plugins-base-fix-build-gcc-4.9-x86.patch.
  • gtk/patches/gst-plugins-base-fix-build-gcc-4.9-x86.patch: Added.

Cherry pick upstream patches daa194 and 4e3d101.

12:56 AM Changeset in webkit [172904] by svillar@igalia.com
  • 5 edits in trunk

ASSERTION FAILED: !trackSizes.isEmpty() in WebCore::createGridTrackList
https://bugs.webkit.org/show_bug.cgi?id=136149

Reviewed by Darin Adler.

Source/WebCore:

The second argument of the repeat() function is a <track-list>
that must have at least one <track-size>. Should it not be found,
the declaration must be invalidated.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTrackRepeatFunction):

LayoutTests:

Added 3 new test cases to check invalid syntax in the repeat() function.

Also fixed a bug in the testInvalidSyntax() function. We were
using style.gridColumns instead of
style.webkitGridTemplateColumns, so the tests were working fine
because there were no such property.

  • fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
  • fast/css-grid-layout/grid-element-repeat-get-set.html:
12:12 AM Changeset in webkit [172903] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

Add support for little-endian PowerPC64
https://bugs.webkit.org/show_bug.cgi?id=135647

Patch by Tomas Popela <tpopela@redhat.com> on 2014-08-25
Reviewed by Oliver Hunt.

  • wtf/Platform.h:
  • wtf/dtoa/utils.h:

Aug 24, 2014:

11:58 PM Changeset in webkit [172902] by ryuan.choi@samsung.com
  • 3 edits in trunk

[EFL] Move Efl specific code from Source/CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=136206

Reviewed by Gyuyoung Kim.

WebKit/Efl only uses ENABLE_WERROR so it can be moved into OptionsEfl.cmake.
Inaddition, renamed ADDITIONAL_FLAGS to ADDITIONAL_COMPILER_FLAGS.

  • Source/CMakeLists.txt:
  • Source/cmake/OptionsEfl.cmake:
11:04 PM Changeset in webkit [172901] by zandobersek@gmail.com
  • 7 edits in trunk/Source/WebCore

Move WebCore storage code to C++11 lambdas, std::function
https://bugs.webkit.org/show_bug.cgi?id=126435

Reviewed by Darin Adler.

Use C++11 lambdas instead of WTF::bind and std::function<void ()>
instead of WTF::Function<void ()> in StorageAreaSync, StorageSyncManager,
StorageThread and StorageTracker classes.

  • storage/StorageAreaSync.cpp:

(WebCore::StorageAreaSync::StorageAreaSync):
(WebCore::StorageAreaSync::scheduleFinalSync):
(WebCore::StorageAreaSync::syncTimerFired):

  • storage/StorageSyncManager.cpp:

(WebCore::StorageSyncManager::dispatch):

  • storage/StorageSyncManager.h:
  • storage/StorageThread.cpp:

(WebCore::StorageThread::dispatch):
(WebCore::StorageThread::terminate):
(WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):

  • storage/StorageThread.h:
  • storage/StorageTracker.cpp:

(WebCore::StorageTracker::importOriginIdentifiers):
(WebCore::StorageTracker::syncImportOriginIdentifiers):
(WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
(WebCore::StorageTracker::setOriginDetails):
(WebCore::StorageTracker::deleteAllOrigins):
(WebCore::StorageTracker::deleteOrigin):

9:07 PM WebKitEFLLayoutTest edited by gyuyoung.kim@samsung.com
(diff)
9:06 PM Changeset in webkit [172900] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

The inspector should not use the "after" pseudo element with the compatibility syntax
https://bugs.webkit.org/show_bug.cgi?id=136204

Reviewed by Darin Adler.

We should only use hte proper pseudo element syntax inside WebKit.

  • Tools/PrettyPrinting/codemirror-additions.css:
  • Tools/PrettyPrinting/populate/apple.css:
8:53 PM Changeset in webkit [172899] by Brian Burg
  • 2 edits in trunk/Source/WebKit2

Remove unused method declarations replaced by WebPage::setViewState
https://bugs.webkit.org/show_bug.cgi?id=136180

Reviewed by Darin Adler.

  • WebProcess/WebPage/WebPage.h:

Remove setFocused, setActive, setViewIsVisible. No longer used.

7:33 PM Changeset in webkit [172898] by ap@apple.com
  • 5 edits
    2 adds in trunk

ASSERT(extractable()) when storing a non-extractable key in IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=136202
rdar://problem/17993967

Reviewed by Darin Adler.

Source/WebCore:

Test: crypto/subtle/rsa-indexeddb-non-exportable.html

Removed the obsolete assertion.

  • crypto/keys/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::exportData):
  • crypto/keys/CryptoKeyHMAC.cpp: (WebCore::CryptoKeyHMAC::exportData):
  • crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::exportData):

LayoutTests:

  • crypto/subtle/rsa-indexeddb-non-exportable-expected.txt: Added.
  • crypto/subtle/rsa-indexeddb-non-exportable.html: Added.
7:26 PM WebKitEFLLayoutTest edited by gyuyoung.kim@samsung.com
EFL port doesn't need to use SHARED_CORE=ON in order to run layout … (diff)
6:44 PM EFLWebKitReleasePlan created by ryuan.choi@samsung.com
6:28 PM EFLWebKit edited by ryuan.choi@samsung.com
(diff)
5:26 PM Changeset in webkit [172897] by Brian Burg
  • 9 edits in trunk/Source

Web Inspector: Rename DOM.RGBA and remove workarounds in the bindings generator
https://bugs.webkit.org/show_bug.cgi?id=136025

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

This workaround can be removed since it is no longer necessary.

  • inspector/scripts/codegen/models.py:

(TypeReference.init):
(Type.raw_name):
(TypeDeclaration.init):

  • inspector/scripts/tests/type-declaration-object-type.json: Remove related test input.
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result: Rebaseline.

Source/WebCore:

Rename DOM.RGBA to DOM.RGBAColor to avoid name clashes with headers on Windows CE.
This workaround used to be special-cased in the bindings generator.

Type names are not used in protocol messages, so this does not introduce legacy issues.

  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

Also rename DOM.RGBA in legacy protocol specifications.

  • Versions/Inspector-iOS-6.0.json:
  • Versions/Inspector-iOS-7.0.json:
3:07 PM Changeset in webkit [172896] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Toggle buttons visually broken with GTK+ 3.13.7
https://bugs.webkit.org/show_bug.cgi?id=136130

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-08-24
Reviewed by Martin Robinson.

No new tests. Hopefully covered by existing tests, and our tests only
run with GTK+ 3.6 anyway.

  • platform/gtk/RenderThemeGtk3.cpp:

(WebCore::paintToggle): use GTK_STATE_FLAG_CHECKED when compiling for
GTK+ 3.13.7 and above to ensure toggle buttons display as toggled.

1:14 PM Changeset in webkit [172895] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk

GenericHashTraits::peek() is producing copies of passed-in temporary values
https://bugs.webkit.org/show_bug.cgi?id=131461

Patch by Zan Dobersek <zdobersek@igalia.com> on 2014-08-24
Reviewed by Darin Adler.

Source/WTF:

  • wtf/HashTraits.h:

(WTF::GenericHashTraits::peek): Make this method a template that passes through
the passed-in value without copying, achieved by using universal references and
std::forward<>().

Tools:

Add a test case that checks the number of copies and moves of the mapped objects
when calling HashMap::get(). Exactly one copy of the mapped value should be
performed when there exists a value that is mapped to the specified key, and
exactly one move and no copies of the empty value should be performed when there
isn't any mapped value for the specified key.

  • TestWebKitAPI/Tests/WTF/CopyMoveCounter.h: Added.

(CopyMoveCounter::TestingScope::TestingScope):
(CopyMoveCounter::CopyMoveCounter):
(CopyMoveCounter::operator=):

  • TestWebKitAPI/Tests/WTF/HashMap.cpp:

(TestWebKitAPI::TEST):

2:12 AM Changeset in webkit [172894] by ryuan.choi@samsung.com
  • 5 edits in trunk

[EFL] Introduce DEVELOPER_MODE
https://bugs.webkit.org/show_bug.cgi?id=135884

Reviewed by Gyuyoung Kim.

.:

Like GTK port, DEVELOPER_MODE can be good solution for developing, debugging and testing
instead of SHARED_CORE.
SHARED_CORE can reduce link time and memory consumption but it is slightly different
from release binary.

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/WebKitHelpers.cmake:

Moved fvisibility=hidden to OptionsEfl.cmake

Tools:

  • Scripts/webkitdirs.pm: Turn on DEVELOPER_MODE for the EFL port.

(generateBuildSystemFromCMakeProject):

12:10 AM Changeset in webkit [172893] by ap@apple.com
  • 6 edits in trunk/Tools

build.webkit.org/dashboard unnecessarily loads results of hidden queues
https://bugs.webkit.org/show_bug.cgi?id=136195

Reviewed by Tim Horton.

This patch also makes it possible to avoid any automatic loading, as needed for metrics view.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js:

Don't start an update just because a queue object was created. Periodic updates
are triggered by views, so it only makes sense to do the same for the initial update.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:

Now that Trac object doesn't auto-load, start loading here.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/QueueView.js:

(QueueView): Calling _updateHiddenState right away was wrong, because it accesses
a data member added by subclasses later. With this.platform being undefined, it
always looked like this queue was not hidden.
(QueueView.prototype._updateHiddenState): Start an immediate update, too.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:

(Trac): Don't load anything here, the client may choose to load a custom date range.
(Trac.prototype.startPeriodicUpdates): Added a function to start automatic loading.

Aug 23, 2014:

6:35 PM Changeset in webkit [172892] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard: Further improve Trac loading
https://bugs.webkit.org/show_bug.cgi?id=136174

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:

(Trac.prototype._xmlTimelineURL): Passing -1 as "max" resulted in an off by one
error, the oldest commit within the range wasn't returned. The correct argument for
"no limit" is 0.
(Trac.prototype.load): Added a function to load a specific time range.
(Trac.prototype._loaded): Updated to support loading revisions that are arbitrarily
positioned with regards to ones that were already known.

6:22 PM Changeset in webkit [172891] by ap@apple.com
  • 3 edits in trunk/Tools

build.webkit.org/dashboard: Make it possible to pull historic data from Buildbot
https://bugs.webkit.org/show_bug.cgi?id=136182

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

Make it possible to create a complete BuildbotIteration object with JSON, not only by
loading data from the network.

An iteration has three states:

  1. Just created, it only knows the revision, and whether it's already finished.

BuildbotIteration constructor used to create these.

  1. A complete JSON report loaded from buildbot. The new constructor form creates these.
  2. Data about tests is fetched.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

Make it possible to pull all data from a buildbot queue. This needs to be better
optimized eventually, as it's somewhat slow.

1:39 PM Changeset in webkit [172890] by beidson@apple.com
  • 8 edits in trunk/Source/WebCore

Random Gamepad cleanup
https://bugs.webkit.org/show_bug.cgi?id=136193

Reviewed by Sam Weinig.

No new tests (Not tested yet, and no change in behavior anyways)

  • Use DOMWindow WeakPtrs when iterating
  • More references instead of pointers
  • Modules/gamepad/GamepadEvent.cpp:

(WebCore::GamepadEvent::GamepadEvent):

  • Modules/gamepad/GamepadEvent.h:

(WebCore::GamepadEvent::create):

  • Modules/gamepad/GamepadManager.cpp:

(WebCore::GamepadManager::platformGamepadDisconnected):
(WebCore::GamepadManager::makeGamepadVisible):

  • Modules/gamepad/NavigatorGamepad.cpp:

(WebCore::NavigatorGamepad::gamepadFromPlatformGamepad):
(WebCore::NavigatorGamepad::gamepadAtIndex): Deleted.

  • Modules/gamepad/NavigatorGamepad.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::DOMWindow):

  • page/DOMWindow.h:
2:24 AM Changeset in webkit [172889] by commit-queue@webkit.org
  • 15 edits in trunk/Source

Unify GraphicsLayer::setContentsToMedia and setContentsToCanvas
https://bugs.webkit.org/show_bug.cgi?id=109658
Source/WebCore:

Patch by Byungseon Shin <sun.shin@lge.com> on 2014-08-23
Reviewed by Martin Robinson.

Based on patch originally written by Tim Horton.
Merge setContentsToMedia and setContentsToCanvas into setContentsToPlatformLayer.

  • WebCore.exp.in:

Adjust exports.

  • platform/graphics/GraphicsLayer.h:

Move ContentsLayerPurpose enum up out of GraphicsLayer platform implmentations
and into GraphicsLayer, so we can use it as a parameter.
Add ContentsLayerForPlugin.

(WebCore::GraphicsLayer::setContentsToPlatformLayer):
Remove setContentsToMedia and setContentsToCanvas, and replace them
with setContentsToPlatformLayer, which previously existed but was unused
and simply called setContentsToMedia.
setContentsToPlatformLayer takes a ContentsLayerPurpose, primarily
so that GraphicsLayerCA can know whether it needs to setNeedsDisplay
the layer when parenting it (canvas) or not (everything else).

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setContentsToPlatformLayer):
Rename function setContentsToMedia -> setContentsToPlatformLayer.
Rename argument mediaLayer -> platformLayer.
Store the passed-in ContentsLayerPurpose.
Remove setContentsToCanvas.

(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateContentsPlatformLayer):
Remove updateContentsMediaLayer and updateContentsCanvas layer,
add updateContentsPlatformLayer.

  • platform/graphics/ca/GraphicsLayerCA.h:

Do the same to the LayerChange enum.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setContentsToImage):
(WebCore::GraphicsLayerTextureMapper::setContentsToPlatformLayer):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):
(WebCore::CoordinatedGraphicsLayer::syncPlatformLayer):
(WebCore::CoordinatedGraphicsLayer::destroyPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsLayer::createPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
Fold these together in the same way as elsewhere.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:

Do the same to the LayerChange enum.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::createPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsScene::syncPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsScene::destroyPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsScene::setLayerState):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:

(WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
Rename canvasLayer -> platformLayer.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateConfiguration):
Use the new setContentsToPlatformLayer, passing in the relevant ContentsLayerPurpose.

Source/WebKit2:

Patch by Byungseon Shin <sun.shin@lge.com> on 2014-08-23
Reviewed by Martin Robinson.

Based on patch originally written by Tim Horton.
Merge setContentsToMedia and setContentsToCanvas into setContentsToPlatformLayer.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::encode):
(IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::decode):
Rename canvas -> platformLayer.

1:16 AM Changeset in webkit [172888] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Web Inspector: Do not copy large module source strings
https://bugs.webkit.org/show_bug.cgi?id=136191

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-23
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::injectedScriptSource):

Source/WebCore:

  • inspector/CommandLineAPIModule.cpp:

(WebCore::CommandLineAPIModule::source):

12:15 AM Changeset in webkit [172887] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebCore

Remove uses of CrossThreadTask in ThreadableWebSocketChannelClientWrapper, WorkerThreadableWebSocketChannel
https://bugs.webkit.org/show_bug.cgi?id=133954

Reviewed by Darin Adler.

Replace uses of CrossThreadTask with C++11 lambdas in the ThreadableWebSocketChannelClientWrapper
and WorkerThreadableWebSocketChannel classes.

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:

(WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
(WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
(WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasksCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageErrorCallback): Deleted.

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
  • Modules/websockets/WorkerThreadableWebSocketChannel.cpp:

(WebCore::WorkerThreadableWebSocketChannel::Peer::send):
(WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
(WebCore::workerGlobalScopeDidSend): Deleted.
(WebCore::workerGlobalScopeDidGetBufferedAmount): Deleted.
(WebCore::workerGlobalScopeDidConnect): Deleted.
(WebCore::workerGlobalScopeDidReceiveMessage): Deleted.
(WebCore::workerGlobalScopeDidReceiveBinaryData): Deleted.
(WebCore::workerGlobalScopeDidUpdateBufferedAmount): Deleted.
(WebCore::workerGlobalScopeDidStartClosingHandshake): Deleted.
(WebCore::workerGlobalScopeDidClose): Deleted.
(WebCore::workerGlobalScopeDidReceiveMessageError): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadConnect): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSend): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadBufferedAmount): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadClose): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadFail): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSuspend): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadResume): Deleted.

  • Modules/websockets/WorkerThreadableWebSocketChannel.h:
12:12 AM Changeset in webkit [172886] by Yusuke Suzuki
  • 3 edits in trunk/Source/WebCore

Clean up build warnings: control reaches end of non-void function
https://bugs.webkit.org/show_bug.cgi?id=135889

Reviewed by Alexey Proskuryakov.

  • bindings/js/JSCryptoAlgorithmDictionary.cpp:

(WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):

  • crypto/CryptoKey.cpp:

(WebCore::CryptoKey::type):

12:11 AM Changeset in webkit [172885] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[TexMap] Only notify of a required flush on the first layer property change
https://bugs.webkit.org/show_bug.cgi?id=136104

Reviewed by Martin Robinson.

The GraphicsLayer's client should only be notified that a flush is required
when the first change of one of the layer's properties is initiated, instead
of requesting the flush on every such change.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::notifyChange):

Aug 22, 2014:

11:59 PM Changeset in webkit [172884] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the Mac build using the internal SDK.

  • bindings/objc/PublicDOMInterfaces.h:
11:32 PM Changeset in webkit [172883] by commit-queue@webkit.org
  • 12 edits
    3 deletes in trunk

Remove LevelDB.
https://bugs.webkit.org/show_bug.cgi?id=136170

Patch by Renato Nagy <nagy.renato@stud.u-szeged.hu> on 2014-08-22
Reviewed by Gyuyoung Kim.

Source/ThirdParty:

  • leveldb/AUTHORS: Removed.
  • leveldb/LICENSE: Removed.
  • leveldb/Makefile: Removed.
  • leveldb/NEWS: Removed.
  • leveldb/README: Removed.
  • leveldb/TODO: Removed.
  • leveldb/build_detect_platform: Removed.
  • leveldb/db/builder.cc: Removed.
  • leveldb/db/builder.h: Removed.
  • leveldb/db/c.cc: Removed.
  • leveldb/db/c_test.c: Removed.
  • leveldb/db/corruption_test.cc: Removed.
  • leveldb/db/db_bench.cc: Removed.
  • leveldb/db/db_impl.cc: Removed.
  • leveldb/db/db_impl.h: Removed.
  • leveldb/db/db_iter.cc: Removed.
  • leveldb/db/db_iter.h: Removed.
  • leveldb/db/db_test.cc: Removed.
  • leveldb/db/dbformat.cc: Removed.
  • leveldb/db/dbformat.h: Removed.
  • leveldb/db/dbformat_test.cc: Removed.
  • leveldb/db/filename.cc: Removed.
  • leveldb/db/filename.h: Removed.
  • leveldb/db/filename_test.cc: Removed.
  • leveldb/db/leveldb_main.cc: Removed.
  • leveldb/db/log_format.h: Removed.
  • leveldb/db/log_reader.cc: Removed.
  • leveldb/db/log_reader.h: Removed.
  • leveldb/db/log_test.cc: Removed.
  • leveldb/db/log_writer.cc: Removed.
  • leveldb/db/log_writer.h: Removed.
  • leveldb/db/memtable.cc: Removed.
  • leveldb/db/memtable.h: Removed.
  • leveldb/db/repair.cc: Removed.
  • leveldb/db/skiplist.h: Removed.
  • leveldb/db/skiplist_test.cc: Removed.
  • leveldb/db/snapshot.h: Removed.
  • leveldb/db/table_cache.cc: Removed.
  • leveldb/db/table_cache.h: Removed.
  • leveldb/db/version_edit.cc: Removed.
  • leveldb/db/version_edit.h: Removed.
  • leveldb/db/version_edit_test.cc: Removed.
  • leveldb/db/version_set.cc: Removed.
  • leveldb/db/version_set.h: Removed.
  • leveldb/db/version_set_test.cc: Removed.
  • leveldb/db/write_batch.cc: Removed.
  • leveldb/db/write_batch_internal.h: Removed.
  • leveldb/db/write_batch_test.cc: Removed.
  • leveldb/doc/bench/db_bench_sqlite3.cc: Removed.
  • leveldb/doc/bench/db_bench_tree_db.cc: Removed.
  • leveldb/doc/benchmark.html: Removed.
  • leveldb/doc/doc.css: Removed.
  • leveldb/doc/impl.html: Removed.
  • leveldb/doc/index.html: Removed.
  • leveldb/doc/log_format.txt: Removed.
  • leveldb/doc/table_format.txt: Removed.
  • leveldb/helpers/memenv/memenv.cc: Removed.
  • leveldb/helpers/memenv/memenv.h: Removed.
  • leveldb/helpers/memenv/memenv_test.cc: Removed.
  • leveldb/include/leveldb/c.h: Removed.
  • leveldb/include/leveldb/cache.h: Removed.
  • leveldb/include/leveldb/comparator.h: Removed.
  • leveldb/include/leveldb/db.h: Removed.
  • leveldb/include/leveldb/env.h: Removed.
  • leveldb/include/leveldb/filter_policy.h: Removed.
  • leveldb/include/leveldb/iterator.h: Removed.
  • leveldb/include/leveldb/options.h: Removed.
  • leveldb/include/leveldb/slice.h: Removed.
  • leveldb/include/leveldb/status.h: Removed.
  • leveldb/include/leveldb/table.h: Removed.
  • leveldb/include/leveldb/table_builder.h: Removed.
  • leveldb/include/leveldb/write_batch.h: Removed.
  • leveldb/port/README: Removed.
  • leveldb/port/atomic_pointer.h: Removed.
  • leveldb/port/port.h: Removed.
  • leveldb/port/port_example.h: Removed.
  • leveldb/port/port_posix.cc: Removed.
  • leveldb/port/port_posix.h: Removed.
  • leveldb/port/thread_annotations.h: Removed.
  • leveldb/port/win/stdint.h: Removed.
  • leveldb/table/block.cc: Removed.
  • leveldb/table/block.h: Removed.
  • leveldb/table/block_builder.cc: Removed.
  • leveldb/table/block_builder.h: Removed.
  • leveldb/table/filter_block.cc: Removed.
  • leveldb/table/filter_block.h: Removed.
  • leveldb/table/filter_block_test.cc: Removed.
  • leveldb/table/format.cc: Removed.
  • leveldb/table/format.h: Removed.
  • leveldb/table/iterator.cc: Removed.
  • leveldb/table/iterator_wrapper.h: Removed.
  • leveldb/table/merger.cc: Removed.
  • leveldb/table/merger.h: Removed.
  • leveldb/table/table.cc: Removed.
  • leveldb/table/table_builder.cc: Removed.
  • leveldb/table/table_test.cc: Removed.
  • leveldb/table/two_level_iterator.cc: Removed.
  • leveldb/table/two_level_iterator.h: Removed.
  • leveldb/util/arena.cc: Removed.
  • leveldb/util/arena.h: Removed.
  • leveldb/util/arena_test.cc: Removed.
  • leveldb/util/bloom.cc: Removed.
  • leveldb/util/bloom_test.cc: Removed.
  • leveldb/util/cache.cc: Removed.
  • leveldb/util/cache_test.cc: Removed.
  • leveldb/util/coding.cc: Removed.
  • leveldb/util/coding.h: Removed.
  • leveldb/util/coding_test.cc: Removed.
  • leveldb/util/comparator.cc: Removed.
  • leveldb/util/crc32c.cc: Removed.
  • leveldb/util/crc32c.h: Removed.
  • leveldb/util/crc32c_test.cc: Removed.
  • leveldb/util/env.cc: Removed.
  • leveldb/util/env_posix.cc: Removed.
  • leveldb/util/env_test.cc: Removed.
  • leveldb/util/filter_policy.cc: Removed.
  • leveldb/util/hash.cc: Removed.
  • leveldb/util/hash.h: Removed.
  • leveldb/util/histogram.cc: Removed.
  • leveldb/util/histogram.h: Removed.
  • leveldb/util/logging.cc: Removed.
  • leveldb/util/logging.h: Removed.
  • leveldb/util/mutexlock.h: Removed.
  • leveldb/util/options.cc: Removed.
  • leveldb/util/posix_logger.h: Removed.
  • leveldb/util/random.h: Removed.
  • leveldb/util/status.cc: Removed.
  • leveldb/util/testharness.cc: Removed.
  • leveldb/util/testharness.h: Removed.
  • leveldb/util/testutil.cc: Removed.
  • leveldb/util/testutil.h: Removed.

Source/WebCore:

  • CMakeLists.txt:
  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::createIndex):

  • Modules/indexeddb/IDBTransactionCoordinator.cpp:

(WebCore::IDBTransactionCoordinator::canRunTransaction):
(WebCore::doScopesOverlap): Deleted.

  • Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.cpp: Removed.
  • Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h: Removed.
  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp: Removed.
  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h: Removed.
  • Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp: Removed.
  • Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h: Removed.
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Removed.
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Removed.
  • Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.cpp: Removed.
  • Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h: Removed.
  • Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp: Removed.
  • Modules/indexeddb/leveldb/IDBLevelDBCoding.h: Removed.
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp: Removed.
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h: Removed.
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/DatabaseStrategy.cpp:

(WebCore::DatabaseStrategy::createIDBFactoryBackend):

  • platform/leveldb/LevelDBComparator.h: Removed.
  • platform/leveldb/LevelDBDatabase.cpp: Removed.
  • platform/leveldb/LevelDBDatabase.h: Removed.
  • platform/leveldb/LevelDBIterator.h: Removed.
  • platform/leveldb/LevelDBSlice.h: Removed.
  • platform/leveldb/LevelDBTransaction.cpp: Removed.
  • platform/leveldb/LevelDBTransaction.h: Removed.
  • platform/leveldb/LevelDBWriteBatch.cpp: Removed.
  • platform/leveldb/LevelDBWriteBatch.h: Removed.

Tools:

  • Scripts/webkitpy/common/config/watchlist:
  • Scripts/webkitpy/style/checker.py:
11:29 PM Changeset in webkit [172882] by commit-queue@webkit.org
  • 4 edits in trunk

.:
[EFL] Turn on ENABLE_GAMEPAD_DEPRECATED option.
https://bugs.webkit.org/show_bug.cgi?id=136110

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2014-08-22
Reviewed by Gyuyoung Kim.

Turn on ENABLE_GAMEPAD_DEPRECATED option for the WK2 Efl.

  • Source/cmake/OptionsEfl.cmake:

Source/WebCore:
[EFL] Fix build break caused by ENABLE_GAMEPAD_DEPRECATED.
https://bugs.webkit.org/show_bug.cgi?id=136110

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2014-08-22
Reviewed by Gyuyoung Kim.

WebCore_INCLUDE_DIRECTORY for gamepad was removed from WK2 Efl in order to fix build break when ENABLE_GAMEPAD_DEPRECATED is on.

No new tests because no functional changes.

  • PlatformEfl.cmake:
9:34 PM Changeset in webkit [172881] by zoltan@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WK2] Remove fast/css3-text/css3-text-align-last/text-align-last-with-text-align-justify.html from skipped list
https://bugs.webkit.org/show_bug.cgi?id=128732

Reviewed by Gyuyoung Kim.

  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html:
  • platform/efl/TestExpectations:
9:30 PM Changeset in webkit [172880] by benjamin@webkit.org
  • 13 edits
    12 adds in trunk

Style invalidation does not work for adjacent node updates
https://bugs.webkit.org/show_bug.cgi?id=136145

Reviewed by Antti Koivisto.

Source/WebCore:

There were a bunch of cases in which the style would be in an inconsistent
state until the style resolver kicks in for the entire document.

For example, let's take the selector "foo.bar + target". When the class "bar"
changes, the element foo is invalidated. The element target is untouched.

Now, if the style of "target" is accessed, nodeOrItsAncestorNeedsStyleRecalc()
returns false and the old style is accessed.

At some point, when the style of the entire document is resolved, the node
"foo" is styled, and "target" is invalidated.

To fix the issue, this patch adds an extra flag keeping track of subtrees that
have any node needing style recalc: DirectChildNeedsStyleRecalcFlag.

When invalidating the node "foo", its parent is marked with
DirectChildNeedsStyleRecalcFlag to note that one of the child nodes has an invalid style.

When verifying the style state in nodeOrItsAncestorNeedsStyleRecalc(), we check that flag
in addition to the siblings dependencies to find if the node is part of a subtree that may
be invalid due to sibling selectors.

Similarly, in the style resolver, we use the flag to clear the style on all elements
that could potentially be invalid.

This patch removes the changes introduced by r172721
(The style is not updated correctly when the pseudo class :empty is applied on anything but the rightmost element).
That bug was just a special case of what is solved here.

Tests: fast/selectors/attribute-direct-adjacent-style-update.html

fast/selectors/attribute-sibling-style-update.html
fast/selectors/class-direct-adjacent-style-update.html
fast/selectors/class-sibling-style-update.html
fast/selectors/first-child-direct-adjacent-style-update.html
fast/selectors/first-child-sibling-style-update.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsEmpty):
(WebCore::SelectorCompiler::setStyleOfSiblingsAffectedByEmpty): Deleted.

  • dom/ContainerNode.h:

(WebCore::ContainerNode::directChildNeedsStyleRecalc):
(WebCore::ContainerNode::setDirectChildNeedsStyleRecalc):
Remove the special case for :empty.

  • dom/Document.cpp:

(WebCore::nodeOrItsAncestorNeedsStyleRecalc):

  • dom/Element.cpp:

(WebCore::checkForEmptyStyleChange):
(WebCore::checkForSiblingStyleChanges):
(WebCore::Element::setStyleOfSiblingsAffectedByEmpty): Deleted.
(WebCore::Element::rareDataStyleOfSiblingsAffectedByEmpty): Deleted.

  • dom/Element.h:

(WebCore::Element::styleOfSiblingsAffectedByEmpty): Deleted.

  • dom/ElementRareData.h:

(WebCore::ElementRareData::ElementRareData):
(WebCore::ElementRareData::styleOfSiblingsAffectedByEmpty): Deleted.
(WebCore::ElementRareData::setStyleOfSiblingsAffectedByEmpty): Deleted.

  • dom/Node.cpp:

(WebCore::markAncestorsWithChildNeedsStyleRecalc):
(WebCore::Node::setNeedsStyleRecalc):
(WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Deleted.

  • dom/Node.h:

(WebCore::Node::clearChildNeedsStyleRecalc):

  • style/StyleResolveTree.cpp:

(WebCore::Style::resetStyleForNonRenderedDescendants):

LayoutTests:

Add tests covering the basic cases: classes and attributes.

First-child covers the basic positional updates.

The tests have a version without any indirect adjacent ("~") because the marking
used for those is much more generic and having them hide some bugs.

Some tests are still failing. That is due to the style resolver not handling
direct siblings ("+") correctly when there are multiple of them. I will address
that separately.

  • fast/selectors/attribute-direct-adjacent-style-update-expected.txt: Added.
  • fast/selectors/attribute-direct-adjacent-style-update.html: Added.
  • fast/selectors/attribute-sibling-style-update-expected.txt: Added.
  • fast/selectors/attribute-sibling-style-update.html: Added.
  • fast/selectors/class-direct-adjacent-style-update-expected.txt: Added.
  • fast/selectors/class-direct-adjacent-style-update.html: Added.
  • fast/selectors/class-sibling-style-update-expected.txt: Added.
  • fast/selectors/class-sibling-style-update.html: Added.
  • fast/selectors/first-child-direct-adjacent-style-update.html: Added.
  • fast/selectors/first-child-sibling-style-update-expected.txt: Added.
  • fast/selectors/first-child-sibling-style-update.html: Added.
  • fast/selectors/placeholder-shown-sibling-style-update-expected.txt:
6:58 PM Changeset in webkit [172879] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

6:54 PM Changeset in webkit [172878] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.15

New Tag.

6:28 PM Changeset in webkit [172877] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove unused legacy InspectorFrontendHost methods
https://bugs.webkit.org/show_bug.cgi?id=136186

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-22
Reviewed by Andreas Kling.

  • bindings/js/JSInspectorFrontendHostCustom.cpp:

(WebCore::JSInspectorFrontendHost::recordActionTaken): Deleted.
(WebCore::JSInspectorFrontendHost::recordPanelShown): Deleted.
(WebCore::JSInspectorFrontendHost::recordSettingChanged): Deleted.

  • inspector/InspectorFrontendHost.idl:
5:43 PM Changeset in webkit [172876] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove unnecessary WTFString creation in Dictionary getter
https://bugs.webkit.org/show_bug.cgi?id=136184

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-22
Reviewed by Benjamin Poulain.

  • bindings/js/Dictionary.cpp:

(WebCore::Dictionary::getWithUndefinedOrNullCheck):

  • bindings/js/Dictionary.h:
  • bindings/js/JSDictionary.cpp:

(WebCore::JSDictionary::getWithUndefinedOrNullCheck):

  • bindings/js/JSDictionary.h:
4:04 PM Changeset in webkit [172875] by commit-queue@webkit.org
  • 18 edits in trunk/Source

Unreviewed, rolling out r172866.
https://bugs.webkit.org/show_bug.cgi?id=136177

Broke iOS build (Requested by othermaciej on #webkit).

Reverted changeset:

"Replace use of WKCopyCFLocalizationPreferredName with
NSLocale public API"
https://bugs.webkit.org/show_bug.cgi?id=136082
http://trac.webkit.org/changeset/172866

3:30 PM Changeset in webkit [172874] by hyatt@apple.com
  • 5 edits
    3 adds in trunk

Add proper support for letter-spacing to bopomofo Ruby
https://bugs.webkit.org/show_bug.cgi?id=136171

Reviewed by Sam Weinig.

Source/WebCore:

Added fast/ruby/bopomofo-letter-spacing.html

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::layout):
Alter the layout of bopomofo ruby so that the distance between the base characters is the max of
the letter-spacing between the characters and the minimum required width to hold two rows of
Ruby.

Push the bopomofo ruby into the letter-spacing to ensure that it comes right after the base character
and not after all the letter-spacing.

LayoutTests:

  • fast/ruby/bopomofo-letter-spacing.html: Added.
  • platform/mac/fast/ruby/bopomofo-expected.png:
  • platform/mac/fast/ruby/bopomofo-expected.txt:
  • platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png: Added.
  • platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt: Added.
3:09 PM Changeset in webkit [172873] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix showing paint rects when selecting lines in the timeline
https://bugs.webkit.org/show_bug.cgi?id=136173

Reviewed by Joseph Pecoraro.

Fix the condition used to decide when to show the overlay.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::shouldShowOverlay):

3:09 PM Changeset in webkit [172872] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Use the correct rect for paint flashing
https://bugs.webkit.org/show_bug.cgi?id=136169

Reviewed by Sam Weinig.

Use the rect we've converted to root document coordinates for paint flashing.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::didPaint):

1:55 PM Changeset in webkit [172871] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Google Canvas2D maps are too slow and uncontrollable with Safari with full screen mode
https://bugs.webkit.org/show_bug.cgi?id=136168

Reviewed by Tim Horton.

When Google maps are using their 2D "lite" fallback and you're drawing in a huge
window such as fullscreen 4K, we would drop back to unaccelerated mode, thinking
that we'd exceeded the maximum IOSurface size.

Remove the hardcoded limit on IOSurface sizes, and instead ask the system
what it believe the maximum to be. This was significantly higher than our
limit on the systems I tested.

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::ImageBuffer): Include our IOSurface wrapper, which
has a query for maximum size, and use that instead.

1:40 PM Changeset in webkit [172870] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Maybe fix Windows.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::showPaintRect):

1:26 PM Changeset in webkit [172869] by Simon Fraser
  • 10 edits in trunk/Source

Implement paint flashing in the WK1 InspectorOverlay page
https://bugs.webkit.org/show_bug.cgi?id=136138

Reviewed by Sam Weinig, Joseph Pecoraro.

Implement paint flashing for the WebKit1 InspectorOverlay via a second canvas in the overlay page.
We avoid allocating backing store for this canvas until we have paint rects.

Because this overlay page is weird and doesn't know how to paint itself, InspectorOverlay manages
an array of rects, and pushes them to the page when they change, before forcing a paint.

Because iOS doesn't use the InspectorOverlay page, stub out setShowPaintRects on its
WebKit WebInspectorClient, but don't yet implement paint flashing there.

Source/WebCore:

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::InspectorOverlay):
(WebCore::InspectorOverlay::shouldShowOverlay):
(WebCore::InspectorOverlay::update):
(WebCore::buildObjectForRect):
(WebCore::InspectorOverlay::setShowingPaintRects):
(WebCore::InspectorOverlay::showPaintRect):
(WebCore::InspectorOverlay::updatePaintRectsTimerFired):
(WebCore::InspectorOverlay::drawPaintRects):
(WebCore::InspectorOverlay::forcePaint):
(WebCore::quadToPath): Deleted.
(WebCore::drawOutlinedQuad): Deleted.
(WebCore::InspectorOverlay::drawOutline): Deleted.

  • inspector/InspectorOverlay.h:
  • inspector/InspectorOverlayPage.html:
  • inspector/InspectorOverlayPage.js:

(updatePaintRects):
(reset):
(_drawShapeHighlight):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::setShowPaintRects):
(WebCore::InspectorPageAgent::didPaint):

Source/WebKit/ios:

  • WebCoreSupport/WebInspectorClientIOS.mm:

(WebInspectorClient::setShowPaintRects):
(WebInspectorClient::showPaintRect):

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorClient::WebInspectorClient):

1:10 PM Changeset in webkit [172868] by eric.carlson@apple.com
  • 6 edits in trunk/Source/WebCore

[iOS] Cleanup media code
https://bugs.webkit.org/show_bug.cgi?id=136163

Reviewed by Jer Noble.

No new tests, no functionality was changed.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_requestingPlay.
(WebCore::HTMLMediaElement::parseMediaPlayerAttribute): Deleted.
(WebCore::HTMLMediaElement::parseAttribute): Don't call parseMediaPlayerAttribute.
(WebCore::HTMLMediaElement::playInternal): m_requestingPlay is dead, Jim.
(WebCore::HTMLMediaElement::updatePlayState): Ditto.
(WebCore::HTMLMediaElement::updatePlayState): Remove obsolete FIXME.

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::attributeChanged): Deleted.
(WebCore::MediaPlayer::readyForPlayback): Deleted.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::attributeChanged): Deleted.
(WebCore::MediaPlayerPrivateInterface::readyForPlayback): Deleted.

12:54 PM Changeset in webkit [172867] by msaboff@apple.com
  • 17 edits in trunk/Source/JavaScriptCore

REGRESSION(r163179): Sporadic crash in js/dom/line-column-numbers.html test
https://bugs.webkit.org/show_bug.cgi?id=136111

Reviewed by Filip Pizlo.

The problem was that we weren't properly handling VM::topVMEntryFrame in two ways.

First in the case where we get an exception of a stack overflow during setup of the direct
callee frame of a VM entry frame, we need to throw the exception in the caller's frame.
This requires unrolling topVMEntryFrame while creating the exception object. This is
accomplished with the renamed NativeCallFrameTracerWithRestore object. As part of this,
split the JIT rollback exception handling to call a new helper,
callLookupExceptionHandlerFromCallerFrame, which will unroll the callFrame and VMEntryFrame.

Second, when we unwind to find a handler, we also need to unwind topVMCallFrame for the
case where we end up (re)throwing another exception after entering the catch block, but
before another vmEntry call. Added VM::vmEntryFrameForThrow as a way similar to
VM::callFrameForThrow to pass the appropriate VMENtryFrame to the catch block.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileExceptionHandlers):

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileExceptionHandlers):
Split out the unroll cases to use the new helper callLookupExceptionHandlerFromCallerFrame()
to unwind both the callFrame and topVMEntryFrame.

  • interpreter/Interpreter.cpp:

(JSC::UnwindFunctor::UnwindFunctor):
(JSC::UnwindFunctor::operator()):
(JSC::Interpreter::unwind):

  • jit/JITExceptions.cpp:

(JSC::genericUnwind):
Added VMEntryFrame as another component to unwind.

  • interpreter/Interpreter.h:

(JSC::NativeCallFrameTracer::NativeCallFrameTracer):
(JSC::NativeCallFrameTracerWithRestore::NativeCallFrameTracerWithRestore):
(JSC::NativeCallFrameTracerWithRestore::~NativeCallFrameTracerWithRestore):
Renamed and changed to save and restore topCallFrame and topVMEntryFrame around the setting of
both values.

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::gotoNextFrame):
(JSC::StackVisitor::readNonInlinedFrame):

  • interpreter/StackVisitor.h:

(JSC::StackVisitor::Frame::vmEntryFrame):
Added code to unwind the VMEntryFrame.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::jumpToExceptionHandler): Updated comment to indicate that the value
the handler should use for VM::topEntryFrame is in VM::vmEntryFrameForThrow.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_catch):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

Added code to update VM::topVMEntryFrame from VM::vmEntryFrameForThrowOffset.

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:

(JSC::operationThrowStackOverflowError):
(JSC::operationCallArityCheck):
(JSC::operationConstructArityCheck):

  • runtime/VM.h:

(JSC::VM::vmEntryFrameForThrowOffset):
(JSC::VM::topVMEntryFrameOffset):
Added as the side channel to return the topVMEntryFrame that the handler should use.

12:39 PM Changeset in webkit [172866] by mjs@apple.com
  • 18 edits in trunk/Source

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

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
12:09 PM Changeset in webkit [172865] by dbates@webkit.org
  • 30 edits in trunk/Source

[iOS] Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, and temporarily disable ENABLE_TOUCH_EVENTS
and ENABLE_XSLT when building with the iOS public SDK
https://bugs.webkit.org/show_bug.cgi?id=135945

Reviewed by Andy Estes.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Towards bringing up the iOS WebKit port using the iOS public SDK, disable the proprietary
iOS gesture and touch event code. For now we also temporarily disable ENABLE_TOUCH_EVENTS
and ENABLE_XSLT while we focus to get the rest of the port built using the public SDK. We'll
look to enable these features once we stabilize the build.

  • Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS

and ENABLE_XSLT when building with the public SDK.

  • Configurations/WebCore.xcconfig:
  • DerivedSources.make: Conditionally generate derived sources for touch and gesture events as applicable and pass

define WTF_USE_APPLE_INTERNAL_SDK when generating bindings (if applicable). Make the logic for determining
whether WTF_PLATFORM_IOS is defined consistent with logic for determining whether WTF_USE_APPLE_INTERNAL_SDK and
ENABLE_ORIENTATION_EVENTS are defined. We should look to further cleanup this code.

  • bindings/js/ios/TouchConstructors.cpp: Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)".
  • bindings/objc/DOMEvents.h: Write preprocessor logic in terms of ENABLE_TOUCH_EVENTS and ENABLE_IOS_GESTURE_EVENTS.
  • bindings/objc/PublicDOMInterfaces.h: Include private header <WebKitAdditions/PublicDOMInterfacesIOS.h> when

it exists as opposed to assuming it exists when building for iOS.

  • dom/Document.cpp:

(WebCore::Document::Document): Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "ENABLE(TOUCH_EVENTS) && PLATFORM(IOS)".
(WebCore::Document::prepareForDestruction): Ditto.
(WebCore::Document::removeAllEventListeners): Ditto.

  • dom/Document.h: Write preprocessor logic in terms of ENABLE_IOS_TOUCH_EVENTS and ENABLE_TOUCH_EVENTS.
  • dom/Document.idl: Ditto.
  • dom/Touch.h: Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS)..
  • dom/TouchEvent.h: Ditto.
  • dom/TouchList.h: Ditto.
  • dom/ios/TouchEvents.cpp: Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)".
  • history/CachedFrame.cpp: Add PLATFORM(IOS) guard.
  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::SliderThumbElement): Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS).
(WebCore::SliderThumbElement::willDetachRenderers): Ditto.

  • html/shadow/SliderThumbElement.h: Ditto.
  • loader/EmptyClients.h: Ditto.
  • platform/ios/PlatformEventFactoryIOS.h: Write preprocessor logic in terms of ENABLE_IOS_TOUCH_EVENTS and ENABLE_TOUCH_EVENTS.

Only include header <WebKitAdditions/PlatformTouchEventIOS.h> when building with ENABLE_TOUCH_EVENTS enabled.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS

and ENABLE_XSLT when building with the public SDK.

  • MigrateHeaders.make: Conditionally migrate headers for touch and gesture events.

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS

and ENABLE_XSLT when building with the public SDK.

  • Shared/WebEventConversion.h: Write preprocessor logic in terms of ENABLE(IOS_TOUCH_EVENTS).
  • WebProcess/WebPage/WebPage.h: Ditto.

Source/WTF:

  • wtf/FeatureDefines.h:
12:07 PM Changeset in webkit [172864] by Simon Fraser
  • 12 edits in trunk/Source

Implement paint flashing via GraphicsLayers in the WK2 inspector overlay
https://bugs.webkit.org/show_bug.cgi?id=136136

Reviewed by Sam Weinig, Joseph Pecoraro.
Source/WebCore:

Allow InspectorClient to have a custom implementation of showPaintRect(). For
WebKit2's WebInspectorClient, implement this by creating a set of GraphicsLayers
which are parented in a document overlay, with 0.25s fade-out animations.

Also change InspectorInstrumentation::didPaintImpl() to no longer take a GraphicsContext;
it makes no sense to paint the paint rects directly into the context of the web page.
Now that the paint rects are painted into an overlay, the rectangles need to be converted
to root document coordinates, which is done in InspectorInstrumentation::didPaintImpl().

Remove the generic InspectorOverlay::drawOutline()-based indicators; they will
be reimplemented in a later patch.

  • WebCore.exp.in:
  • inspector/InspectorClient.h:

(WebCore::InspectorClient::showPaintRect):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didPaintImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didPaint):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::didPaint):

  • inspector/InspectorPageAgent.h:
  • page/FrameView.cpp:

(WebCore::FrameView::didPaintContents):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintContents):

Source/WebKit2:

Allow InspectorClient to have a custom implementation of showPaintRect(). For
WebKit2's WebInspectorClient, implement this by creating a set of GraphicsLayers
which are parented in a document overlay, with 0.25s fade-out animations.

Also change InspectorInstrumentation::didPaintImpl() to no longer take a GraphicsContext;
it makes no sense to paint the paint rects directly into the context of the web page.
Now that the paint rects are painted into an overlay, the rectangles need to be converted
to root document coordinates, which is done in InspectorInstrumentation::didPaintImpl().

Remove the generic InspectorOverlay::drawOutline()-based indicators; they will
be reimplemented in a later patch.

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::RepaintIndicatorLayerClient::RepaintIndicatorLayerClient):
(WebKit::RepaintIndicatorLayerClient::~RepaintIndicatorLayerClient):
(WebKit::RepaintIndicatorLayerClient::notifyAnimationEnded):
(WebKit::WebInspectorClient::WebInspectorClient):
(WebKit::WebInspectorClient::~WebInspectorClient):
(WebKit::WebInspectorClient::showPaintRect):
(WebKit::WebInspectorClient::animationEndedForLayer):

  • WebProcess/WebCoreSupport/WebInspectorClient.h:

(WebKit::WebInspectorClient::WebInspectorClient): Deleted.

11:59 AM Changeset in webkit [172863] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Enable fixed executable allocator for any ARM64 target.
https://bugs.webkit.org/show_bug.cgi?id=136162

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

The ARM64 macro assembler relies on near calls being implemented by BL
instructions, which have only 128MB offset range from PC. The
on-demand executable allocator cannot ensure that any two locations in
memory allocated for the JIT-compiled code are within this range.
However, the fixed executable allocator has a fixed 16MB memory pool for
ARM64.

  • wtf/Platform.h:

Define ENABLE_EXECUTABLE_ALLOCATOR_FIXED if CPU(ARM64), and update
attached comment.

11:25 AM Changeset in webkit [172862] by commit-queue@webkit.org
  • 138 edits in trunk/Source

Unreviewed, rolling out r172844.
https://bugs.webkit.org/show_bug.cgi?id=136164

re-applying WEBCORE_EXPORTS patch (Requested by
alexchristensen on #webkit).

Reverted changeset:

"Revert r172831, it broke the Windows build."
http://trac.webkit.org/changeset/172844

11:18 AM Changeset in webkit [172861] by hyatt@apple.com
  • 14 edits
    6 adds in trunk

Implement rudimentary Bopomofo Ruby support (ruby-position:inter-character)
https://bugs.webkit.org/show_bug.cgi?id=136137
<rdar://problem/12567545>

Reviewed by Sam Weinig.

Source/WebCore:

Added fast/ruby/bopomofo.html and fast/ruby/bopomofo-rl.html.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator RubyPosition):

  • css/CSSPropertyNames.in:
  • css/CSSValueKeywords.in:

Add support for the new inter-character value for ruby-position and also
add support for a new font-size keyword, -webkit-ruby-text, that is used
to set a smart initial font size based off the type of ruby being presented.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyFontSize::determineRubyTextSizeMultiplier):
(WebCore::ApplyPropertyFontSize::applyValue):
Determine the Ruby text size multiplier when -webkit-ruby-text is specified
as the font size. For ruby-position of before/after, we use 50% of the parent
font size. For inter-character ruby, we default to 25% instead. If inter-character
Ruby is nested, we assume it's to display tone marks, and we use 100% to ensure
the tone mark is the same size and does not get smaller.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustStyleForInterCharacterRuby):
(WebCore::StyleResolver::applyMatchedProperties):

  • css/StyleResolver.h:

ruby-position is now the highest priority CSS property, and it is resolved
before all other properties to ensure that its value can be checked when
determining a smart default font size. adjustStyleForInterCharacterRuby is a new
function called to auto-adjust inter-character ruby text to be vertical writing mode when
encountered inside horizontal documents.

  • css/html.css:

(ruby > rt):
Change the font-size from 50% to -webkit-ruby-text to allow us to customize it as
needed depending on what kind of Ruby we want to show.

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::layout):

  • rendering/RenderRubyRun.h:

Add layout code to properly position vertical ruby text relative to a horizontal base.

  • rendering/style/RenderStyleConstants.h:

Add the new inter-character constant for ruby-position.

  • rendering/style/StyleRareInheritedData.h:

Increase the number of storage bits for RubyPosition from 1 to 2 now that we support 3 values.

LayoutTests:

  • fast/ruby/bopomofo-rl.html: Added.
  • fast/ruby/bopomofo.html: Added.
  • platform/mac/fast/ruby/bopomofo-expected.png: Added.
  • platform/mac/fast/ruby/bopomofo-expected.txt: Added.
  • platform/mac/fast/ruby/bopomofo-rl-expected.png: Added.
  • platform/mac/fast/ruby/bopomofo-rl-expected.txt: Added.
10:56 AM Changeset in webkit [172860] by jonlee@apple.com
  • 11 edits in trunk/Source

Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
https://bugs.webkit.org/show_bug.cgi?id=136157

Reviewed by Simon Fraser.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]): Wrap in ENABLE(RUBBER_BANDING).

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).

Source/WTF:

  • wtf/FeatureDefines.h: Remove ENABLE(RUBBER_BANDING) logic for Mac platform.
9:09 AM Changeset in webkit [172859] by Lucas Forschler
  • 10 edits
    2 copies in branches/safari-600.1-branch

Merged r172854. <rdar://problem/18001179>

5:40 AM Changeset in webkit [172858] by clopez@igalia.com
  • 2 edits in trunk/Tools

[GTK] install-dependencies don't installs Xvfb that is needed for the tests.
https://bugs.webkit.org/show_bug.cgi?id=136153

Reviewed by Martin Robinson.

  • gtk/install-dependencies: Add Xvfb package to the list of dependencies necessary for running tests.
2:32 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
2:27 AM Changeset in webkit [172857] by gyuyoung.kim@samsung.com
  • 3 edits in trunk

[EFL] Apply eflsymbols.filter to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=136148

Reviewed by Csaba Osztrogonác.

eflsymbol filter hasn't been applied to WK2 port. Additionally clean up WK1 symbol
in the eflsymbols.filter.

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/eflsymbols.filter:
1:19 AM Changeset in webkit [172856] by zandobersek@gmail.com
  • 2 edits
    2 adds in trunk/Source/WebCore

[GTK] Add the Wayland protocol extension
https://bugs.webkit.org/show_bug.cgi?id=136102

Reviewed by Martin Robinson.

Add the Wayland protocol extension that allows mapping GtkWidget
objects (via an ID that's unique to that GtkWidget) to the
corresponding Wayland surface objects. This way the nested
compositor has the proper information about what GtkWidget has
to be updated when surfaces are committed by the LayerTreeHost.

  • PlatformGTK.cmake:
  • platform/graphics/wayland: Added.
  • platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml: Added.

Aug 21, 2014:

10:41 PM Changeset in webkit [172855] by achristensen@apple.com
  • 2 edits in trunk/Tools

[Win] Another unreviewed build fix.

  • DumpRenderTree/config.h:

Defined WEBCORE_EXPORT on Windows.

10:38 PM Changeset in webkit [172854] by Antti Koivisto
  • 10 edits
    2 adds in trunk

Animated GIFs scrolled out of view still cause titlebar blur to update, on tumblr.com page
https://bugs.webkit.org/show_bug.cgi?id=136139

Reviewed by Simon Fraser.

Source/WebCore:

The mechanism for pausing GIF images outside the viewport did not work for subframes.

Test: fast/repaint/no-animation-outside-viewport-subframe.html

  • WebCore.exp.in:
  • page/FrameView.cpp:

(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::resumeVisibleImageAnimationsIncludingSubframes):

Add a function for resuming animations as needed in all subframes.
This is used after scrolling instead of calling the RenderView function directly.

  • page/FrameView.h:
  • page/Page.cpp:

(WebCore::Page::resumeAnimatingImages):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::newImageAnimationFrameAvailable):

Determine the overall visible rect so that it is correct in subframes too.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo):

  • rendering/RenderView.cpp:

(WebCore::RenderView::resumePausedImageAnimationsIfNeeded):

LayoutTests:

  • fast/repaint/no-animation-outside-viewport-subframe-expected.txt: Added.
  • fast/repaint/no-animation-outside-viewport-subframe.html: Added.
10:30 PM Changeset in webkit [172853] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

r171362 accidentally increased the size of InlineCallFrame.
<https://webkit.org/b/136141>

Reviewed by Filip Pizlo.

r171362 increased the size of InlineCallFrame::kind to 2 bits. This increased
the size of InlineCallFrame from 72 to 80 though not intentionally. The fix
is to reduce the size of InlineCallFrame::stackOffset to 29 bits.

Also added an assert to ensure that we never set a value that exceeds the size
of InlineCallFrame::stackOffset.

  • bytecode/CodeOrigin.h:

(JSC::InlineCallFrame::setStackOffset):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

10:27 PM Changeset in webkit [172852] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit/win

[Win] Unreviewed build fix after r172849.

  • WebKitPrefix.h:

Defined WEBCORE_EXPORT.

10:22 PM Changeset in webkit [172851] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merge r172841. <rdar://problem/17733682>

10:20 PM Changeset in webkit [172850] by matthew_hanson@apple.com
  • 11 edits in branches/safari-600.1-branch

Merge r172707. <rdar://problem/18043281>

9:21 PM Changeset in webkit [172849] by achristensen@apple.com
  • 183 edits in trunk/Source/WebCore

More WEBCORE_EXPORT macros!
https://bugs.webkit.org/show_bug.cgi?id=136146

Reviewed by Benjamin Poulain.

  • Modules/geolocation/GeolocationClient.h:
  • Modules/mediastream/UserMediaClient.h:
  • Modules/mediastream/UserMediaRequest.h:
  • Modules/notifications/NotificationClient.h:
  • Modules/speech/SpeechSynthesis.h:
  • bindings/generic/RuntimeEnabledFeatures.h:
  • bindings/js/DOMWrapperWorld.h:
  • bindings/js/GCController.h:
  • bindings/js/IDBBindingUtilities.h:
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSNodeCustom.h:
  • bindings/js/JSNodeListCustom.h:
  • bindings/js/JSPluginElementFunctions.h:
  • bindings/js/ScriptController.h:
  • bindings/js/SerializedScriptValue.h:
  • crypto/SerializedCryptoKeyWrap.h:
  • css/LengthFunctions.h:
  • css/StyleProperties.h:
  • css/StyleSheetContents.h:
  • dom/DeviceOrientationClient.h:
  • dom/Range.h:
  • dom/ScriptExecutionContext.h:
  • dom/StyledElement.h:
  • dom/TreeScope.h:
  • dom/UIEventWithKeyState.h:
  • dom/UserGestureIndicator.h:
  • dom/UserTypingGestureIndicator.h:
  • dom/ViewportArguments.h:
  • editing/SmartReplace.h:
  • editing/TextIterator.h:
  • editing/VisiblePosition.h:
  • editing/VisibleSelection.h:
  • editing/VisibleUnits.h:
  • editing/cocoa/HTMLConverter.h:
  • editing/htmlediting.h:
  • editing/mac/TextAlternativeWithRange.h:
  • editing/mac/TextUndoInsertionMarkupMac.h:
  • editing/markup.h:
  • history/HistoryItem.cpp:
  • history/PageCache.h:
  • html/TimeRanges.h:
  • html/parser/HTMLParserIdioms.h:
  • inspector/InstrumentingAgents.h:
  • loader/FrameLoader.h:
  • loader/ResourceBuffer.h:
  • loader/ResourceLoadScheduler.h:
  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::originalRequest):

  • loader/SubframeLoader.h:
  • loader/SubresourceLoader.h:
  • loader/TextResourceDecoder.h:
  • loader/appcache/ApplicationCacheStorage.h:
  • loader/cache/MemoryCache.h:
  • loader/icon/IconDatabaseBase.h:
  • loader/ios/DiskImageCacheIOS.h:
  • page/Chrome.h:
  • page/SecurityOrigin.h:
  • page/SecurityPolicy.h:
  • page/Settings.h:
  • page/UserContentController.h:
  • page/UserContentURLPattern.h:
  • page/UserMessageHandlerDescriptor.h:
  • page/ViewportConfiguration.h:
  • page/VisitedLinkStore.h:
  • page/WheelEventDeltaTracker.h:
  • page/cocoa/UserAgent.h:
  • page/scrolling/ScrollingConstraints.h:
  • page/scrolling/ScrollingCoordinator.h:
  • page/scrolling/ScrollingStateFixedNode.h:
  • page/scrolling/ScrollingStateFrameScrollingNode.h:
  • page/scrolling/ScrollingStateNode.h:
  • page/scrolling/ScrollingStateOverflowScrollingNode.h:
  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ScrollingStateStickyNode.h:
  • page/scrolling/ScrollingStateTree.h:
  • page/scrolling/ScrollingThread.h:
  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeOverflowScrollingNode.h:
  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
  • page/scrolling/mac/ScrollingTreeFixedNode.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeStickyNode.h:
  • platform/Cursor.h:
  • platform/DragImage.h:
  • platform/FileSystem.h:
  • platform/Language.h:
  • platform/LinkHash.h:
  • platform/LocalizedStrings.h:
  • platform/Logging.h:
  • platform/MemoryPressureHandler.h:
  • platform/NotImplemented.h:
  • platform/PlatformStrategies.h:
  • platform/PublicSuffix.h:
  • platform/RuntimeApplicationChecks.h:
  • platform/RuntimeApplicationChecksIOS.h:
  • platform/SchemeRegistry.h:
  • platform/ScrollView.h:
  • platform/ScrollableArea.h:
  • platform/Scrollbar.h:
  • platform/ScrollbarTheme.h:
  • platform/SharedBuffer.h:
  • platform/ThreadCheck.h:
  • platform/ThreadGlobalData.h:
  • platform/Timer.h:
  • platform/URL.h:
  • platform/UUID.h:
  • platform/UserActivity.h:
  • platform/Widget.h:
  • platform/cf/CFURLExtras.h:
  • platform/cf/RunLoopObserver.h:
  • platform/cocoa/SystemVersion.h:
  • platform/graphics/Color.h:
  • platform/graphics/FloatRect.h:
  • platform/graphics/FontCache.h:
  • platform/graphics/GeometryUtilities.h:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/IntRect.h:
  • platform/graphics/LayoutRect.h:
  • platform/graphics/StringTruncator.h:
  • platform/graphics/TextRun.h:
  • platform/graphics/ca/TileController.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.h:
  • platform/graphics/cg/GraphicsContextCG.h:
  • platform/graphics/mac/ColorMac.h:
  • platform/graphics/transforms/TransformationMatrix.h:
  • platform/ios/FileSystemIOS.h:
  • platform/ios/PlatformEventFactoryIOS.h:
  • platform/ios/SelectionRect.h:
  • platform/ios/SystemMemory.h:
  • platform/ios/TileControllerMemoryHandlerIOS.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/mac/PlatformEventFactoryMac.h:
  • platform/mac/ScrollbarThemeMac.h:
  • platform/mac/WebCoreNSURLExtras.h:
  • platform/mac/WebNSAttributedStringExtras.h:
  • platform/network/BlobRegistry.h:
  • platform/network/CookieStorage.h:
  • platform/network/DNS.h:
  • platform/network/NetworkStateNotifier.h:
  • platform/network/PlatformCookieJar.h:
  • platform/network/ProxyServer.h:
  • platform/network/ResourceErrorBase.h:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.h:
  • platform/network/ResourceRequestBase.h:
  • platform/network/ResourceResponseBase.h:
  • platform/network/SynchronousLoaderClient.h:
  • platform/network/cf/ResourceError.h:
  • platform/network/cf/ResourceRequest.h:
  • platform/network/cf/ResourceResponse.h:
  • platform/network/ios/QuickLook.h:
  • platform/network/mac/AuthenticationMac.h:
  • platform/sql/SQLiteDatabase.cpp:
  • platform/text/LocaleToScriptMapping.h:
  • platform/text/TextBreakIterator.h:
  • platform/text/TextEncoding.h:

(WebCore::TextEncoding::decode):

  • platform/text/TextEncodingRegistry.h:
  • platform/text/TextStream.h:
  • rendering/RenderBlock.h:
  • rendering/RenderBox.h:
  • rendering/RenderEmbeddedObject.h:
  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.h:
  • rendering/RenderListItem.h:
  • rendering/RenderObject.h:
  • rendering/RenderText.h:
  • rendering/RenderTextControl.h:
  • rendering/RenderThemeIOS.h:
  • rendering/RenderTreeAsText.h:
  • rendering/RenderView.h:
  • rendering/RenderWidget.h:
  • rendering/ScrollBehavior.cpp:
  • rendering/break_lines.cpp:
  • rendering/style/RenderStyle.h:
  • replay/UserInputBridge.h:
  • storage/StorageEventDispatcher.h:
  • storage/StorageMap.h:
  • storage/StorageStrategy.h:
  • storage/StorageTracker.h:
  • testing/Internals.h:
  • workers/WorkerThread.h:

Added more WEBCORE_EXPORT macros where needed.

8:55 PM Changeset in webkit [172848] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

8:35 PM Changeset in webkit [172847] by Alan Bujtas
  • 2 edits
    1 add
    1 delete in trunk/LayoutTests

ruby-base-merge-block-children-crash-2.html should not use render tree dump.

Unreviewed gardening.

  • fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Added.
  • fast/ruby/ruby-base-merge-block-children-crash-2.html: restore previous version of the test.
  • platform/mac/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Removed.
8:27 PM Changeset in webkit [172846] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Possible RetainPtr misuse in WKScriptMessage.mm - could leak
https://bugs.webkit.org/show_bug.cgi?id=136140

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-21
Reviewed by Darin Adler.

Adopt a copy into a RetainPtr to avoid leaking.

  • UIProcess/API/Cocoa/WKScriptMessage.mm:

(-[WKScriptMessage _initWithBody:webView:frameInfo:name:]):

8:22 PM Changeset in webkit [172845] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Web Inspector: RetainPtr misuse, CFRunLoopSource leak
https://bugs.webkit.org/show_bug.cgi?id=136143

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-21
Reviewed by Timothy Hatcher.

Adopt a Create into the RetainPtr to avoid leaking.

  • inspector/remote/RemoteInspectorDebuggableConnection.mm:

(Inspector::RemoteInspectorDebuggableConnection::setupRunLoop):

8:14 PM Changeset in webkit [172844] by timothy_horton@apple.com
  • 138 edits in trunk/Source

Revert r172831, it broke the Windows build.

  • wtf/ExportMacros.h:

... and many more.

8:07 PM Changeset in webkit [172843] by Alan Bujtas
  • 1 edit
    2 deletes in trunk/LayoutTests

Remove flaky saturated reftest. UnitTest takes care of saturated arithmetics.

Unreviewed gardening.

  • fast/dynamic/saturated-layout-arithmetic-expected.html: Removed.
  • fast/dynamic/saturated-layout-arithmetic.html: Removed.
6:28 PM Changeset in webkit [172842] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix when RUBBER_BANDING is not enabled.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::overhangAmount):
(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):

6:19 PM Changeset in webkit [172841] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] WebCore.proj is not copying WebKit resource files.
https://bugs.webkit.org/show_bug.cgi?id=136142
<rdar://problem/17733682>

Reviewed by Tim Horton.

  • WebCore.vcxproj/WebCore.proj: Copy missing resource files during

post-build step.

5:25 PM Changeset in webkit [172840] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Minibrowser : Add stop button to abort page load
https://bugs.webkit.org/show_bug.cgi?id=136122

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-08-21
Reviewed by Gyuyoung Kim.

  • MiniBrowser/efl/main.c:

(on_key_down):
(on_stop_button_clicked): Callback for stop button press.
(window_create):

4:49 PM Changeset in webkit [172839] by Simon Fraser
  • 3 edits
    1 add in trunk/Source/WebInspectorUI

Add a button to enable paint flashing in the web inspector
https://bugs.webkit.org/show_bug.cgi?id=136133

Reviewed by Tim Hatcher.

Add a button to the right of the layer borders button to turn on paint flashing.
Future patches will actually enable this feature.

  • Localizations/en.lproj/localizedStrings.js: Tooltip strings.
  • UserInterface/Images/PaintFlashing.svg: Added. "Paintbrush" icon.
  • UserInterface/Views/DOMTreeContentView.js:

(WebInspector.DOMTreeContentView):
(WebInspector.DOMTreeContentView.prototype.get navigationItems):
(WebInspector.DOMTreeContentView.prototype._togglePaintFlashing):

4:11 PM Changeset in webkit [172838] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r172808): It made 6 different tests fail on 32 bit platforms.
<https://webkit.org/b/136123>

Reviewed by Filip Pizlo.

The original patch in r172808 removed the code to skip the top scope in
the 64-bit port of JIT::emitResolveClosure() but not in the 32-bit port.
This patch fixes that and achieves parity.

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitResolveClosure):

4:09 PM Changeset in webkit [172837] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Try to fix the 32-bit build by using wildcards in the exported non-virtual thunks
for GraphicsLayerCA::platformCALayerAnimationStarted and GraphicsLayerCA::platformCALayerAnimationEnded.

  • WebCore.exp.in:
3:43 PM Changeset in webkit [172836] by Simon Fraser
  • 31 edits in trunk/Source

Add animationDidEnd callbacks on GraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=136084

Reviewed by Tim Horton.

Hook up GraphicsLayerClient::notifyAnimationEnded() so that code using GraphicsLayers directly
can add animations, and know when they finish.

Source/WebCore:

  • WebCore.exp.in:
  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::notifyAnimationStarted):
(WebCore::GraphicsLayerClient::notifyAnimationEnded):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
(WebCore::GraphicsLayerCA::platformCALayerAnimationEnded):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/PlatformCALayerClient.h:

(WebCore::PlatformCALayerClient::platformCALayerAnimationStarted):
(WebCore::PlatformCALayerClient::platformCALayerAnimationEnded):

  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(-[WebAnimationDelegate animationDidStart:]):
(-[WebAnimationDelegate animationDidStop:finished:]):
(PlatformCALayerMac::animationStarted):
(PlatformCALayerMac::animationEnded):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::notifyAnimationStarted):

  • rendering/RenderLayerBacking.h:

Source/WebKit2:

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidEnd):

  • UIProcess/mac/RemoteLayerTreeHost.h:
  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::animationDidEnd):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::acceleratedAnimationDidEnd):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:

(-[WKAnimationDelegate animationDidStop:finished:]):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::animationStarted):
(WebKit::PlatformCALayerRemote::animationEnded):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
(WebKit::RemoteLayerTreeContext::willStartAnimationOnLayer):
(WebKit::RemoteLayerTreeContext::animationDidStart):
(WebKit::RemoteLayerTreeContext::animationDidEnd):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::acceleratedAnimationDidEnd):

2:34 PM Changeset in webkit [172835] by Alan Bujtas
  • 17 edits
    2 adds in trunk

Enable SATURATED_LAYOUT_ARITHMETIC.
https://bugs.webkit.org/show_bug.cgi?id=136106

Reviewed by Simon Fraser.

SATURATED_LAYOUT_ARITHMETIC protects LayoutUnit against arithmetic overflow.
(No measurable performance regression on Mac.)

.:

  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Test: fast/dynamic/saturated-layout-arithmetic.html

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

LayoutTests:

  • fast/dynamic/saturated-layout-arithmetic-expected.html: Added.
  • fast/dynamic/saturated-layout-arithmetic.html: Added.
  • fast/ruby/ruby-base-merge-block-children-crash-2.html: saturated arithmetics changes behavior. fix test case.
  • scrollbars/scrollbar-large-overflow-rectangle.html: saturated arithmetics changes behavior. fix test case.
2:30 PM Changeset in webkit [172834] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

New ruby parsing rule breaks some real web sites.
https://bugs.webkit.org/show_bug.cgi?id=136062

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2014-08-21
Reviewed by Ryosuke Niwa.

Source/WebCore:

An RP element should not auto close an RTC element.

The HTML5.1 spec was changed:
http://www.w3.org/html/wg/drafts/html/master/syntax.html#parsing-main-inbody
This was done at the following commit:
https://github.com/w3c/html/commit/c61397b989b28235ee2228f280aa8d475f3b9ebf

This patch changed the RP element's behavior to follow the spec change.

Test: fast/ruby/rp-inside-rtc.html

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processStartTagForInBody):

LayoutTests:

html5lib-test was updated using my pull request:
https://github.com/darobin/html5lib-tests/pull/2

  • fast/ruby/rp-inside-rtc-expected.html: Added.
  • fast/ruby/rp-inside-rtc.html: Added.
  • html5lib/resources/ruby.dat: The rp element should not auto close the rtc element.
1:29 PM Changeset in webkit [172833] by commit-queue@webkit.org
  • 4 edits
    4 adds in trunk

REGRESSION: CSS not() selector does not work when it appears after or within @supports
https://bugs.webkit.org/show_bug.cgi?id=136063

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2014-08-21
Reviewed by Darin Adler.

Source/WebCore:

CSSParser changes its m_parsingMode to SupportsMode when it finds
"@supports" token. However, the mode will be never changed to
NormalMode. This changes parsing algorithm for "not" token forever,
and it cannot parse not pseudo class selector.

When we finish parsing @supports rule, we should change to normal
mode.

@media does the same thing. This patch changed CharacterEndMediaQuery
to CharacterEndConditionQuery, and we change parsing mode from
SupportsMode to NormalMode when the parser finished to parse
@supports rule.

Like "@-webkit-mediaquery", we cannot use '{' to
"@-webkit-supports-condition". Changed "@-webkit-supports-condition"
parsing rule and parseSupportsCondition() not to use '{'.

Tests: css3/supports-not-selector-cssom.html

css3/supports-not-selector.html

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::parseSupportsCondition):
(WebCore::isCSSLetter):
(WebCore::CSSParser::realLex):

LayoutTests:

Test that @supports doesn't break "not" pseudo class selector.

  • css3/supports-not-selector-cssom-expected.txt: Added.
  • css3/supports-not-selector-cssom.html: Added.
  • css3/supports-not-selector-expected.html: Added.
  • css3/supports-not-selector.html: Added.
1:08 PM Changeset in webkit [172832] by Beth Dakin
  • 22 edits in trunk

overflow:scroll elements should support rubber-banding
https://bugs.webkit.org/show_bug.cgi?id=91655

Reviewed by Sam Weinig and Darin Adler.

Source/WebCore:

This patch enables rubber-banding in overflow regions and it keeps latching
working as currently implemented.

We cannot return early here if there is no scroll delta. There won't be a scroll
delta in most cases during event.phase() == PlatformWheelEventPhaseEnded, but that
phase is required to be processed in order for rubber-banding to work properly.

  • dom/Element.cpp:

(WebCore::Element::dispatchWheelEvent):

  • page/EventHandler.cpp:

(WebCore::handleWheelEventInAppropriateEnclosingBoxForSingleAxis):

Add a setting for this, which will default to true. This allows us to disable the
feature in WebKit1 for now. There is a bug about making it work.

  • page/Settings.in:

allowsHorizontalStretching() and allowsVerticalStretching() now take the
PlatformWheelEvent as a parameter, so that ScrollElasticityAutomatic can use the
event to decide whether or not stretching should be allowed in this case.
ScrollElasticityAutomatic will not allow stretching if it is a brand new gesture
that would result in a rubber-band. We don't want to rubber-band in that case
because we want the event to propagate up to a parent view. Also added some helper
functions just to make that code easier to read.

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::newGestureIsStarting):
(WebCore::ScrollingTreeFrameScrollingNodeMac::isAlreadyPinnedInDirectionOfGesture):
(WebCore::ScrollingTreeFrameScrollingNodeMac::allowsHorizontalStretching):
(WebCore::ScrollingTreeFrameScrollingNodeMac::allowsVerticalStretching):

  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::handleWheelEvent):
(WebCore::newGestureIsStarting):
(WebCore::ScrollAnimatorMac::isAlreadyPinnedInDirectionOfGesture):
(WebCore::ScrollAnimatorMac::allowsVerticalStretching):
(WebCore::ScrollAnimatorMac::allowsHorizontalStretching):

  • platform/mac/ScrollElasticityController.h:
  • platform/mac/ScrollElasticityController.mm:

(WebCore::ScrollElasticityController::handleWheelEvent):

To opt into rubber-banding, all we have to do is implement overhangAmount and set
scroll elasticity. We'll choose ScrollElasticityAutomatic which means that we'll
only rubber-band in directions that can scroll and that we won't rubber-band for
new gestures when we're already pinned to the edge.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::overhangAmount):
(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):

Source/WebKit/mac:

Disable rubber-banding in overflow areas for now.

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

LayoutTests:

Re-baseline. Mostly these tests are different now that end end event is handled.

  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:

This test requires a longer timeout to ensure that the rubber-band has ended.

  • platform/mac/fast/scrolling/scroll-latched-nested-div.html:
12:51 PM Changeset in webkit [172831] by achristensen@apple.com
  • 138 edits in trunk/Source

More WEBCORE_EXPORT macros.
https://bugs.webkit.org/show_bug.cgi?id=136129

Reviewed by Tim Horton.

Source/WebCore:

  • Modules/geolocation/Geolocation.h:
  • Modules/geolocation/GeolocationController.h:
  • Modules/indexeddb/IDBDatabaseBackend.h:
  • Modules/indexeddb/IDBDatabaseMetadata.h:
  • Modules/indexeddb/IDBKey.h:
  • Modules/indexeddb/IDBKeyData.h:
  • Modules/indexeddb/IDBKeyPath.h:
  • Modules/indexeddb/IDBKeyRange.h:
  • Modules/indexeddb/IDBKeyRangeData.h:
  • Modules/notifications/Notification.h:
  • Modules/notifications/NotificationController.h:
  • bindings/js/GCController.h:
  • bridge/IdentifierRep.h:
  • css/StyleProperties.h:
  • dom/ExceptionCodePlaceholder.h:
  • dom/KeyboardEvent.h:
  • dom/MouseEvent.h:
  • dom/MouseRelatedEvent.h:
  • dom/Node.h:

(WebCore::Node::hasEditableStyle):

  • dom/NodeTraversal.h:
  • dom/Position.h:

(WebCore::Position::Position):

  • dom/Range.h:

(WebCore::Range::startContainer):
(WebCore::Range::startOffset):
(WebCore::Range::endContainer):
(WebCore::Range::endOffset):

  • editing/FrameSelection.h:

(WebCore::DragCaretController::clear):

  • history/HistoryItem.h:
  • history/PageCache.h:
  • html/FormController.h:
  • html/HTMLElement.h:
  • html/HTMLFormElement.h:
  • html/HTMLFrameOwnerElement.h:
  • html/HTMLInputElement.h:
  • html/HTMLMediaElement.h:
  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.h:
  • html/HTMLPlugInElement.h:
  • html/HTMLPlugInImageElement.h:
  • html/HTMLSelectElement.h:
  • html/HTMLTableCellElement.h:
  • html/HTMLTextAreaElement.h:
  • html/HTMLTextFormControlElement.h:
  • html/HTMLVideoElement.h:
  • html/ImageDocument.h:
  • html/PluginDocument.h:
  • html/forms/FileIconLoader.h:
  • html/shadow/InsertionPoint.h:
  • inspector/InspectorClient.h:
  • inspector/InspectorController.h:
  • inspector/InspectorFrontendClientLocal.h:
  • inspector/InspectorInstrumentation.h:
  • loader/FrameLoadRequest.h:
  • loader/FrameLoader.h:
  • loader/FrameLoaderStateMachine.h:
  • loader/HistoryController.h:
  • loader/LoaderStrategy.h:
  • loader/NavigationAction.h:
  • loader/NetscapePlugInStreamLoader.h:
  • loader/ProgressTracker.h:
  • loader/archive/cf/LegacyWebArchive.h:
  • loader/cache/MemoryCache.h:
  • loader/icon/IconController.h:
  • loader/icon/IconDatabase.h:
  • loader/icon/IconDatabaseBase.h:
  • page/FocusController.h:
  • page/Frame.h:
  • page/FrameDestructionObserver.h:

Replaced WEBCORE_TESTING with WEBCORE_EXPORT.

  • page/FrameTree.h:
  • page/FrameView.h:
  • page/Page.h:
  • page/PageConsole.h:
  • page/PageGroup.h:
  • page/PageThrottler.h:
  • page/PrintContext.h:
  • page/scrolling/ScrollingConstraints.h:
  • page/scrolling/ScrollingStateNode.h:
  • platform/FileChooser.h:
  • platform/GamepadProvider.h:
  • platform/Length.h:
  • platform/MIMETypeRegistry.h:
  • platform/MemoryPressureHandler.h:
  • platform/Pasteboard.h:
  • platform/PlatformExportMacros.h:

Removed WEBCORE_TESTING, which I'm replacing with WEBCORE_EXPORT.

  • platform/PlatformKeyboardEvent.h:
  • platform/PlatformPasteboard.h:
  • platform/PlatformSpeechSynthesisVoice.h:
  • platform/PlatformSpeechSynthesizer.h:
  • platform/audio/MediaSessionManager.h:
  • platform/graphics/FloatPoint.h:
  • platform/graphics/FloatQuad.h:
  • platform/graphics/FloatRect.h:
  • platform/graphics/FloatSize.h:
  • platform/graphics/Font.h:
  • platform/graphics/FontCache.h:
  • platform/graphics/FontGlyphs.h:
  • platform/graphics/FontPlatformData.h:
  • platform/graphics/GlyphPageTreeNode.h:
  • platform/graphics/Gradient.h:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/Icon.h:
  • platform/graphics/Image.h:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/IntPoint.h:
  • platform/graphics/IntRect.h:
  • platform/graphics/IntSize.h:
  • platform/graphics/LayoutRect.h:
  • platform/graphics/MediaPlayer.h:
  • platform/graphics/Path.h:
  • platform/graphics/Region.h:
  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/LayerFlushScheduler.h:
  • platform/graphics/ca/LayerPool.h:
  • platform/graphics/ca/PlatformCAFilters.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/cg/IOSurfacePool.h:
  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/filters/FilterOperations.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/ios/LegacyTileCache.h:
  • platform/ios/PlatformEventFactoryIOS.h:
  • platform/ios/wak/FloatingPointEnvironment.h:
  • platform/mac/HIDGamepadProvider.h:
  • platform/mock/MockMediaStreamCenter.h:
  • platform/network/FormData.h:
  • platform/network/HTTPHeaderMap.h:
  • platform/network/NetworkStorageSession.h:
  • platform/network/ProtectionSpaceBase.h:
  • platform/network/cocoa/ProtectionSpaceCocoa.h:

(WebCore::ProtectionSpace::encodingRequiresPlatformData):

  • platform/network/ios/QuickLook.h:
  • platform/text/TextBreakIterator.h:
  • plugins/PluginData.h:
  • plugins/PluginMainThreadScheduler.h:
  • rendering/HitTestLocation.h:
  • rendering/HitTestResult.h:
  • rendering/InlineBox.h:

Added more WEBCORE_EXPORT macros, which don't do anything yet.

Source/WTF:

  • wtf/ExportMacros.h:

Removed WTF_TESTING which isn't used.

8:47 AM Changeset in webkit [172830] by clopez@igalia.com
  • 8 edits in trunk/Tools

[GTK] Load the llvmpipe (Mesa) libraries when running the tests with Xvfb.
https://bugs.webkit.org/show_bug.cgi?id=134070

Reviewed by Martin Robinson.

  • Scripts/webkitpy/port/base.py:

(Port.init): Set default _jhbuild_wrapper variable.
(Port._should_use_jhbuild): Implement generic check.

  • Scripts/webkitpy/port/efl.py: Rename to jhbuild_wrapper variable

to make it consistent with the other ports.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.init): Use the new _should_use_jhbuild() method.
(GtkPort.setup_environ_for_server): Get the path for llvmpipe_libgl_path by
querying the jhbuild with printenv. Also check that the path contains
the libraries we expect. Preload this path only for XvfbDriver.

  • Scripts/webkitpy/port/xvfbdriver.py:

(XvfbDriver.check_driver): Check for the jhbuild wrapper and use it.
(XvfbDriver._start): The environment for llvmpipe_libgl_path is now
configured at setup_environ_for_server()

  • Scripts/webkitpy/port/xvfbdriver_unittest.py:

(XvfbDriverTest.make_driver): Get the port default environment.
(XvfbDriverTest.test_start_no_pixel_tests): The expected log now
should include the environment that is passed when running Xvfb.
(XvfbDriverTest.test_start_pixel_tests): Ditto.
(XvfbDriverTest.test_start_arbitrary_worker_number): Ditto.
(XvfbDriverTest.test_start_next_worker): Ditto.

  • gtk/jhbuild.modules: Rename checkoutdir to generic "Mesa" to

prevent future problems when the version is raised. Add also a
comment with a warning.

  • gtk/jhbuildrc: The path LLVMPIPE_LIBGL_PATH should be the one

that has the llvm optimized Gallium libGL libraries.

6:06 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
5:29 AM Changeset in webkit [172829] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Fix countFailures of RunLLINTCLoopTests and Run32bitJSCTests.
https://bugs.webkit.org/show_bug.cgi?id=136125

Patch by Renato Nagy <nagy.renato@stud.u-szeged.hu> on 2014-08-21
Reviewed by Csaba Osztrogonác.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunLLINTCLoopTests.countFailures):
(Run32bitJSCTests.countFailures):

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(RunLLINTCLoopTestsTest):
(RunLLINTCLoopTestsTest.assertResults):
(RunLLINTCLoopTestsTest.test_failures):
(RunLLINTCLoopTestsTest.test_failure):
(RunLLINTCLoopTestsTest.test_no_failure):
(Run32bitJSCTestsTest):
(Run32bitJSCTestsTest.assertResults):
(Run32bitJSCTestsTest.test_failures):
(Run32bitJSCTestsTest.test_failure):
(Run32bitJSCTestsTest.test_no_failure):

4:00 AM WebKitGTK/2.4.x edited by vjaquez@igalia.com
minor code style fix (diff)
3:57 AM WebKitGTK/2.4.x edited by vjaquez@igalia.com
propose r172828 for 2.4.5 (diff)
3:51 AM Changeset in webkit [172828] by vjaquez@igalia.com
  • 6 edits in trunk

[GTK] WebkitWebProcess crashing navigating away from ogg video element
https://bugs.webkit.org/show_bug.cgi?id=135348

Reviewed by Philippe Normand.

Source/WebCore:

Let GraphicsLayerTextureMapper know it needs to detach the platform
layer when a MediaPlayerPrivateGStreamerBase is destroyed.

No new test since media/restore-from-page-cache.html covers it.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):

Source/WebKit2:

When a page is cached, by default doesn't recreate the backing store
(an optimization added in r89316).

Not all the ports uses that optimization. For example IOS port doesn't
use it (r161185).

In the case of the GTK port, the MediaPlayerPrivateGStreamer, not only
processes video buffers, also display them, because it is a
TextureMapperPlatformLayer too.

Nevertheless, in r153937, when a page is cached, the player is
destroyed. But our player has a backing store and the render tree
doesn't know that the player has gone. Hence, when the page is redraw,
the TextureMapper tree visits the video element, which doesn't exist
anymore, a segmentation fault occurs.

So, as our media player renders, and as we cannot trust that the
player exists when a page is painted, we cannot rely in the r89316
optimization.

Disabling the backing stores optimization fixes the problem.

Covered by existing tests.

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformSetCacheModel): Enable the backing store
clearing when page caching for GTK.

LayoutTests:

  • platform/gtk/TestExpectations: Enable

media/restore-from-page-cache.html,
plugins/netscape-plugin-page-cache-works.html and
animations/resume-after-page-cache.html. They should pass correctly.
Skip compositing/iframes/page-cache-layer-tree.html since we disable
that optimization.

2:32 AM Changeset in webkit [172827] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WK2] Websocket Layout Tests passed in latest build.
https://bugs.webkit.org/show_bug.cgi?id=136100

Unreviewed gardening.

Websocket Layout Tests passed in latest build, possibly because r172438 (https://bugs.webkit.org/show_bug.cgi?id=135831) in version
172796.

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

  • platform/efl/TestExpectations:
Note: See TracTimeline for information about the timeline view.