⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Dec 29, 2015:

9:02 PM Changeset in webkit [194442] by Simon Fraser
  • 14 edits in trunk/Source/WebCore

Rename "scrollOffsetForFixedPosition" and related functions to refer to scrollPosition
https://bugs.webkit.org/show_bug.cgi?id=152590

Reviewed by Zalan Bujtas.

FrameView::scrollOffsetForFixedPosition() actually returned a scroll position
(possibly negative for RTL content), not a scroll offset, so rename it and related
functions.

  • page/FrameView.cpp:

(WebCore::FrameView::fixedScrollableAreaBoundsInflatedForScrolling):
(WebCore::FrameView::scrollPositionRespectingCustomFixedPosition):
(WebCore::FrameView::viewportConstrainedVisibleContentRect):
(WebCore::FrameView::scrollPositionForFixedPosition):
(WebCore::FrameView::scrollOffsetRespectingCustomFixedPosition): Deleted.
(WebCore::FrameView::scrollOffsetForFixedPosition): Deleted.

  • page/FrameView.h:
  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::timeToNextService):

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::scrollWasUpdated):

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):

  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:

(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateChildNodesAfterScroll):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::setSize):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateScrollLayerPosition):

  • rendering/RenderView.cpp:

(WebCore::RenderView::mapLocalToContainer):
(WebCore::RenderView::pushMappingToContainer):
(WebCore::RenderView::mapAbsoluteToLocalPoint):
(WebCore::RenderView::computeRectForRepaint):

8:49 PM Changeset in webkit [194441] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Remove tests for sometimes unsupported calendars, numbering systems, and time zone backward links
https://bugs.webkit.org/show_bug.cgi?id=152550

Patch by Andy VanWagoner <andy@instructure.com> on 2015-12-29
Reviewed by Alexey Proskuryakov.

Time zones change often, so only test a few probable backward links.
Remove hanidays numbering system tests, since GTK and EFL don't support it.
Remove islamic-umalqura calendar tests, since GTK and EFL don't support it.

  • js/intl-datetimeformat-expected.txt:
  • js/script-tests/intl-datetimeformat.js:
8:12 PM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
Move myself to Friday... I can do that, yo (diff)
6:45 PM Changeset in webkit [194440] by Simon Fraser
  • 2 edits in trunk/Source/WebKit/win

Fix Windows build.

  • WebView.cpp:

(WebView::scrollOffset):

5:03 PM Changeset in webkit [194439] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix the Windows build.

  • page/win/FrameCGWin.cpp:

(WebCore::drawRectIntoContext):

4:29 PM Changeset in webkit [194438] by Simon Fraser
  • 24 edits in trunk/Source

Remove ScrollView::scrollOffset() in preparation for scrollOffset vs. scrollPosition clarification
https://bugs.webkit.org/show_bug.cgi?id=152589

Reviewed by Sam Weinig.

Current code uses scrollOffset vs. scrollPosition interchangeably, and confusingly.
Longer term, I plan to make "scrollPosition" be the value that is relative to the
contents, i.e. affected by scrollOrigin, and "scrollOffset" be the zero-based value
that's used to set scrollbar values.

To prepare for this, remove ScrollView::scrollOffset(), which is just the
scrollPosition as an IntSize.

Add some typedefs in ScrollableArea, which will slowly propagate through the
code as position vs. offset is clarified.

Source/WebCore:

  • inspector/InspectorOverlay.cpp:

(WebCore::contentsQuadToCoordinateSystem):
(WebCore::InspectorOverlay::highlightQuad):
(WebCore::localPointToRoot):

  • page/FrameView.cpp:

(WebCore::FrameView::scrollOffsetRespectingCustomFixedPosition):
(WebCore::FrameView::topContentInsetDidChange):
(WebCore::FrameView::addTrackedRepaintRect):
(WebCore::FrameView::scrollTo):
(WebCore::FrameView::wheelEvent):
(WebCore::FrameView::setScrollPinningBehavior):

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

(WebCore::canScrollInDirection):
(WebCore::rectToAbsoluteCoordinates):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::setScrollbarModes):
(WebCore::ScrollView::availableContentSizeChanged):
(WebCore::ScrollView::setContentsSize):
(WebCore::ScrollView::maximumScrollPosition):
(WebCore::ScrollView::minimumScrollPosition):
(WebCore::ScrollView::adjustScrollPositionWithinRange):
(WebCore::ScrollView::documentScrollOffsetRelativeToViewOrigin):
(WebCore::ScrollView::documentScrollOffsetRelativeToScrollableAreaOrigin):
(WebCore::ScrollView::setScrollPosition):
(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::rootViewToTotalContents):
(WebCore::ScrollView::setFrameRect):
(WebCore::ScrollView::scrollbarStyleChanged):
(WebCore::ScrollView::setScrollOrigin):

  • platform/ScrollView.h:

(WebCore::ScrollView::convertChildToSelf):
(WebCore::ScrollView::convertSelfToChild):
(WebCore::ScrollView::scrollOffset): Deleted.

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::scrollbarIntrusion):
(WebCore::ScrollableArea::scrollPosition):
(WebCore::ScrollableArea::minimumScrollPosition):
(WebCore::ScrollableArea::maximumScrollPosition):

  • platform/ScrollableArea.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::calculateAutoscrollDirection):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollPosition):
(WebCore::RenderLayer::minimumScrollPosition):
(WebCore::RenderLayer::maximumScrollPosition):

  • rendering/RenderLayer.h:
  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::nodeAtPoint):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::localCoordinateSpaceTransform):

Source/WebKit2:

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::InjectedBundleRangeHandle::renderedImage):

  • WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h:
  • WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:

(WebKit::PDFPlugin::scrollPosition):
(WebKit::PDFPlugin::minimumScrollPosition):
(WebKit::PDFPlugin::maximumScrollPosition):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::scrollOffset):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scrollMainFrameIfNotAtMaxScrollPosition):
(WebKit::WebPage::updateMainFrameScrollOffsetPinning):

10:15 AM Changeset in webkit [194437] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Styling of invalid selector persists when changing the selected node
https://bugs.webkit.org/show_bug.cgi?id=152456

Patch by Devin Rousso <Devin Rousso> on 2015-12-29
Reviewed by Brian Burg.

If the user changes the selector of a CSS rule to be invalid (e.g. having
a { or ; character), it is expected that the invalid indicator will be removed
once the user changes nodes or reverts the selector to its previous value.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/CSSStyleDeclarationSection.css:

(.style-declaration-section > .header > .icon.toggle-able:hover):
(.style-declaration-section > .header > .icon.toggle-able:active):
(.style-declaration-section:not(.invalid-selector) > .header > .icon.toggle-able:hover): Deleted.
Added better :hover and :active styles.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection):
(WebInspector.CSSStyleDeclarationSection.prototype.refresh):
(WebInspector.CSSStyleDeclarationSection.prototype._handleIconElementClicked):
If the selector is invalid, simply refresh the section to regenerate the
original selector with correct content, specificity, and highlighting.

(WebInspector.CSSStyleDeclarationSection.prototype.get _hasInvalidSelector): Deleted.
Moved the state of the invalid selector to a member
variable instead of a DOM class.

(WebInspector.CSSStyleDeclarationSection.prototype._updateSelectorIcon):
Renamed from _markSelector for clarity.

  • UserInterface/Views/VisualStyleSelectorTreeItem.css:

(.item.visual-style-selector-item.selector-invalid > .icon:hover):
(.item.visual-style-selector-item.selector-invalid > .icon:active):
(.item.visual-style-selector-item.selector-invalid > .icon):
Added :hover and :active styles.

  • UserInterface/Views/VisualStyleSelectorTreeItem.js:

(WebInspector.VisualStyleSelectorTreeItem):
(WebInspector.VisualStyleSelectorTreeItem.prototype.onattach):
(WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):
(WebInspector.VisualStyleSelectorTreeItem.prototype._updateSelectorIcon):
(WebInspector.VisualStyleSelectorTreeItem.prototype._handleIconElementClicked):
(WebInspector.VisualStyleSelectorTreeItem.prototype._selectorChanged): Deleted.
Changed the names of a few functions to provide better
consistency across the classes in the Style sidebar.

5:57 AM Changeset in webkit [194436] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, relax limitation in operationCreateThis
https://bugs.webkit.org/show_bug.cgi?id=152383

Unreviewed. operationCreateThis now can be called with non constructible function.

  • dfg/DFGOperations.cpp:
3:49 AM Changeset in webkit [194435] by Yusuke Suzuki
  • 19 edits
    1 add
    1 delete in trunk/Source/JavaScriptCore

[ES6][ES7] Drop Constructability of generator function
https://bugs.webkit.org/show_bug.cgi?id=152383

Reviewed by Saam Barati.

We drop the constructability of generator functions.
This functionality is already landed in ES 2016 draft[1].
And this simplifies the existing JSC's generator implementation;
dropping GeneratorThisMode flag.

[1]: https://github.com/tc39/ecma262/releases/tag/es2016-draft-20151201

(JSC::createExecutableInternal):

  • bytecode/ExecutableInfo.h:

(JSC::ExecutableInfo::ExecutableInfo):
(JSC::ExecutableInfo::generatorThisMode): Deleted.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): Deleted.

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::generatorThisMode): Deleted.

  • bytecode/UnlinkedFunctionExecutable.cpp:

(JSC::generateUnlinkedFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):

  • bytecode/UnlinkedFunctionExecutable.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator): Deleted.

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::makeFunction):
(JSC::BytecodeGenerator::generatorThisMode): Deleted.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ThisNode::emitBytecode):

  • interpreter/Interpreter.cpp:

(JSC::eval): Deleted.

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/Executable.h:
  • runtime/GeneratorThisMode.h: Removed.
  • tests/stress/generator-eval-this.js:

(shouldThrow):

  • tests/stress/generator-is-not-constructible.js: Added.

(shouldThrow):
(A.staticGen):
(A.prototype.gen):
(A):
(TypeError):

  • tests/stress/generator-this.js:

(shouldBe.g.next):

  • tests/stress/generator-with-new-target.js:

(shouldThrow):

Dec 28, 2015:

9:15 PM Changeset in webkit [194434] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Fix Windows build, ostensibly after r194424.

  • CMakeLists.txt:
  • PlatformWin.cmake:

ml.exe was given too many unneeded parameters (/Idir1 /Idir2 etc.), and it was failing sometimes with long directories.
Instead of compiling makesafeseh.asm as a normal source file, we now put only the parameters that are needed to assemble
the object file, then link with the object file.

4:50 PM Changeset in webkit [194433] by beidson@apple.com
  • 5 edits
    2 moves in trunk/Source/WebCore

Modern IDB: Rename IDBServerOperation to ServerOpenDBRequest.
https://bugs.webkit.org/show_bug.cgi?id=152577

Reviewed by Andy Estes.

No new tests (Refactor, no behavior change)

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/server/ServerOpenDBRequest.cpp: Renamed from Source/WebCore/Modules/indexeddb/server/IDBServerOperation.cpp.

(WebCore::IDBServer::ServerOpenDBRequest::create):
(WebCore::IDBServer::ServerOpenDBRequest::ServerOpenDBRequest):
(WebCore::IDBServer::ServerOpenDBRequest::isOpenRequest):
(WebCore::IDBServer::ServerOpenDBRequest::isDeleteRequest):
(WebCore::IDBServer::ServerOpenDBRequest::notifyDeleteRequestBlocked):
(WebCore::IDBServer::ServerOpenDBRequest::notifyDidDeleteDatabase):

  • Modules/indexeddb/server/ServerOpenDBRequest.h: Renamed from Source/WebCore/Modules/indexeddb/server/IDBServerOperation.h.

(WebCore::IDBServer::ServerOpenDBRequest::connection):
(WebCore::IDBServer::ServerOpenDBRequest::requestData):
(WebCore::IDBServer::ServerOpenDBRequest::hasNotifiedDeleteRequestBlocked):

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::openDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentDeleteOperation):
(WebCore::IDBServer::UniqueIDBDatabase::handleDatabaseOperations):
(WebCore::IDBServer::UniqueIDBDatabase::handleCurrentOperation):
(WebCore::IDBServer::UniqueIDBDatabase::handleDelete):
(WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::notifyConnectionsOfVersionChangeForUpgrade):
(WebCore::IDBServer::UniqueIDBDatabase::operationAndTransactionTimerFired):

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
3:18 PM Changeset in webkit [194432] by Michael Catanzaro
  • 2 edits in trunk/Tools

Unreviewed, move Sebastian Dröge to committers list

He accidentally added himself to the reviewers list because the file is confusing.

  • Scripts/webkitpy/common/config/contributors.json:
2:46 PM Changeset in webkit [194431] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

FTL B3 should know that used registers are not the same thing as used registers. Rename the
latter to unavailable registers to avoid future confusion.
https://bugs.webkit.org/show_bug.cgi?id=152572

Reviewed by Saam Barati.

Prior to this change, we used the term "used registers" in two different senses:

  • The set of registers that are live at some point in the current compilation unit. A register is live at some point if it is read after that point on some path through that point.
  • The set of registers that are not available for scratch register use at some point. A register may not be available if it is live or if it is a callee-save register but it is not being saved by the current compilation.

In the old FTL LLVM code, we had some translations from the first sense into the second
sense. We forgot to do those in FTL B3, and so we get crashes, for example in V8/splay. That
benchmark highlighted this issue because it fired some lazy slow paths, and then used an
unsaved callee-save for scratch.

Curiously, we could merge these two definitions by observing that, in some sense, an unsaved
callee save is live at every point in a compilation in the sense that it may contain a value
that will be read when the compilation returns. That's pretty cool, but it feels strange to
me. This isn't how we would normally define liveness of registers. It's not how the
Air::TmpLiveness analysis would do it for any of its other clients.

So, this changes B3 to have two different concepts:

  • Used registers. These are the registers that are live.
  • Unavailable registers. These are the registers that are not available for scratch. It's always a superset of used registers.

This also changes FTLLower to use unavailableRegisters() pretty much everywhere that it
previously used usedRegisters().

This makes it possible to run V8/splay.

  • b3/B3StackmapGenerationParams.cpp:

(JSC::B3::StackmapGenerationParams::usedRegisters):
(JSC::B3::StackmapGenerationParams::unavailableRegisters):
(JSC::B3::StackmapGenerationParams::proc):

  • b3/B3StackmapGenerationParams.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compilePutById):
(JSC::FTL::DFG::LowerDFGToLLVM::getById):
(JSC::FTL::DFG::LowerDFGToLLVM::lazySlowPath):

9:22 AM Changeset in webkit [194430] by jh718.park@samsung.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

[ANGLE][EFL][GTK] Remove 'template<class> class std::auto_ptr is deprecated' compile warning
https://bugs.webkit.org/show_bug.cgi?id=152567

Reviewed by Alex Christensen.

Because auto_ptr is deprecated as of C++11, we should use unique_ptr instead.

  • src/compiler/preprocessor/MacroExpander.h:
9:21 AM Changeset in webkit [194429] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebCore

[CMake][EFL] Fix build breaks when enabling GAMEPAD
https://bugs.webkit.org/show_bug.cgi?id=152573

Reviewed by Alex Christensen.

When enabling GAMEPAD feature on EFL and GTK, there are build breaks.
Fixed all.

  • CMakeLists.txt:
8:26 AM Changeset in webkit [194428] by aestes@apple.com
  • 41 edits in trunk/Source

Stop moving local objects in return statements
https://bugs.webkit.org/show_bug.cgi?id=152557

Reviewed by Brady Eidson.

Source/JavaScriptCore:

Calling std::move() on a local object in a return statement prevents the compiler from applying the return value optimization.

Clang can warn about these mistakes with -Wpessimizing-move, although only when std::move() is called directly.
I found these issues by temporarily replacing WTF::move with std::move and recompiling.

  • inspector/ScriptCallStack.cpp:

(Inspector::ScriptCallStack::buildInspectorArray):

  • inspector/agents/InspectorScriptProfilerAgent.cpp:

(Inspector::buildInspectorObject):

  • jit/CallFrameShuffler.h:

(JSC::CallFrameShuffler::snapshot):

  • runtime/TypeSet.cpp:

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

Source/WebCore:

Calling std::move() on a local object in a return statement prevents the compiler from applying the return value optimization.

Clang can warn about these mistakes with -Wpessimizing-move, although only when std::move() is called directly.
I found these issues by temporarily replacing WTF::move with std::move and recompiling.

  • Modules/indexeddb/IDBDatabaseIdentifier.cpp:

(WebCore::IDBDatabaseIdentifier::isolatedCopy):

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::deletedValue):

  • Modules/indexeddb/client/IDBDatabaseImpl.cpp:

(WebCore::IDBClient::IDBDatabase::objectStoreNames):
(WebCore::IDBClient::IDBDatabase::startVersionChangeTransaction):

  • Modules/indexeddb/client/IDBTransactionImpl.cpp:

(WebCore::IDBClient::IDBTransaction::createObjectStore):
(WebCore::IDBClient::IDBTransaction::createIndex):
(WebCore::IDBClient::IDBTransaction::doRequestOpenCursor):
(WebCore::IDBClient::IDBTransaction::requestGetRecord):
(WebCore::IDBClient::IDBTransaction::requestIndexRecord):
(WebCore::IDBClient::IDBTransaction::requestClearObjectStore):
(WebCore::IDBClient::IDBTransaction::requestPutOrAdd):

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::takeNextRunnableTransaction):

  • Modules/indexeddb/shared/IDBDatabaseInfo.cpp:

(WebCore::IDBDatabaseInfo::isolatedCopy):
(WebCore::IDBDatabaseInfo::objectStoreNames):

  • Modules/indexeddb/shared/IDBResultData.cpp:

(WebCore::IDBResultData::error):
(WebCore::IDBResultData::openDatabaseSuccess):
(WebCore::IDBResultData::openDatabaseUpgradeNeeded):

  • Modules/indexeddb/shared/IDBTransactionInfo.cpp:

(WebCore::IDBTransactionInfo::versionChange):
(WebCore::IDBTransactionInfo::isolatedCopy):

  • Modules/indexeddb/shared/InProcessIDBServer.cpp:

(WebCore::InProcessIDBServer::create):

  • Modules/webaudio/OfflineAudioContext.cpp:

(WebCore::OfflineAudioContext::create):

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::originLockFor):

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::create):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatNumberValue):

  • dom/NodeOrString.cpp:

(WebCore::convertNodesOrStringsIntoNode):

  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):

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

(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):

  • inspector/InspectorNetworkAgent.cpp:

(WebCore::buildObjectForHeaders):
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForCachedResource):

  • inspector/InspectorOverlay.cpp:

(WebCore::buildArrayForQuad):
(WebCore::buildObjectForFlowRegions):
(WebCore::InspectorOverlay::buildObjectForHighlightedNodes):

  • inspector/InspectorPageAgent.cpp:

(WebCore::createXHRTextDecoder):
(WebCore::buildArrayForCookies):
(WebCore::InspectorPageAgent::buildObjectForFrame):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::buildMediaObject):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::buildObjectForSelectorHelper):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::stopFromConsole):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createGenericRecord):
(WebCore::TimelineRecordFactory::createFunctionCallData):
(WebCore::TimelineRecordFactory::createConsoleProfileData):
(WebCore::TimelineRecordFactory::createProbeSampleData):
(WebCore::TimelineRecordFactory::createEventDispatchData):
(WebCore::TimelineRecordFactory::createGenericTimerData):
(WebCore::TimelineRecordFactory::createTimerInstallData):
(WebCore::TimelineRecordFactory::createEvaluateScriptData):
(WebCore::TimelineRecordFactory::createTimeStampData):
(WebCore::TimelineRecordFactory::createAnimationFrameData):
(WebCore::createQuad):
(WebCore::TimelineRecordFactory::createPaintData):
(WebCore::buildInspectorObject):

  • loader/FrameLoader.cpp:

(WebCore::createWindow):

  • loader/NavigationAction.cpp:

(WebCore::NavigationAction::copyWithShouldOpenExternalURLsPolicy):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::createWindow):

  • platform/network/ios/QuickLook.mm:

(WebCore::QuickLookHandle::create):

  • testing/Internals.cpp:

(WebCore::Internals::openDummyInspectorFrontend):

  • workers/WorkerScriptLoader.cpp:

(WebCore::WorkerScriptLoader::createResourceRequest):

  • xml/XPathExpression.cpp:

(WebCore::XPathExpression::evaluate):

Source/WebKit2:

Calling std::move() on a local object in a return statement prevents the compiler from applying the return value optimization.

Clang can warn about these mistakes with -Wpessimizing-move, although only when std::move() is called directly.
I found these issues by temporarily replacing WTF::move with std::move and recompiling.

  • UIProcess/WebPageProxy.cpp:

(WebKit::ExceededDatabaseQuotaRecords::createRecord):

Source/WTF:

  • wtf/StdLibExtras.h: Added a FIXME about how using WTF::move() prevents several Clang diagnostics from emitting useful warnings.
Note: See TracTimeline for information about the timeline view.