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

Timeline



Dec 30, 2015:

9:43 PM Changeset in webkit [194452] by beidson@apple.com
  • 24 edits in trunk

Modern IDB: Only fire blocked events after all open connections have handled their versionchange events.
https://bugs.webkit.org/show_bug.cgi?id=152593

Reviewed by Andy Estes.

Source/WebCore:

No new tests (At least two previously timing-out tests now pass, others are now closer to passing).

Before this patch, whenever we sent all open connections the versionchange event, we would immediately
fire the blocked event on the request.

That's not right, as those event handlers can close the connections, rendering the request unblocked.

So this patch implements the behavior of waiting for each open connection to either close or positively
message back "I finished firing my versionchange event handler"

This behavior is explicitly denoted in the spec and is covered by existing tests.

  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::fireVersionChangeEvent):
(WebCore::IDBClient::IDBConnectionToServer::didFireVersionChangeEvent):

  • Modules/indexeddb/client/IDBConnectionToServer.h:
  • Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
  • Modules/indexeddb/client/IDBDatabaseImpl.cpp:

(WebCore::IDBClient::IDBDatabase::fireVersionChangeEvent):
(WebCore::IDBClient::IDBDatabase::dispatchEvent):

  • Modules/indexeddb/client/IDBDatabaseImpl.h:
  • Modules/indexeddb/client/IDBVersionChangeEventImpl.cpp:

(WebCore::IDBClient::IDBVersionChangeEvent::IDBVersionChangeEvent):

  • Modules/indexeddb/client/IDBVersionChangeEventImpl.h:
  • Modules/indexeddb/server/IDBConnectionToClient.cpp:

(WebCore::IDBServer::IDBConnectionToClient::fireVersionChangeEvent):

  • Modules/indexeddb/server/IDBConnectionToClient.h:
  • Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::didFireVersionChangeEvent):

  • Modules/indexeddb/server/IDBServer.h:
  • Modules/indexeddb/server/ServerOpenDBRequest.cpp:

(WebCore::IDBServer::ServerOpenDBRequest::notifyRequestBlocked):
(WebCore::IDBServer::ServerOpenDBRequest::notifiedConnectionsOfVersionChange):
(WebCore::IDBServer::ServerOpenDBRequest::connectionClosedOrFiredVersionChangeEvent):
(WebCore::IDBServer::ServerOpenDBRequest::notifyDeleteRequestBlocked): Deleted.

  • Modules/indexeddb/server/ServerOpenDBRequest.h:

(WebCore::IDBServer::ServerOpenDBRequest::hasNotifiedBlocked):
(WebCore::IDBServer::ServerOpenDBRequest::hasConnectionsPendingVersionChangeEvent):
(WebCore::IDBServer::ServerOpenDBRequest::hasNotifiedConnectionsOfVersionChange):
(WebCore::IDBServer::ServerOpenDBRequest::hasNotifiedDeleteRequestBlocked): Deleted.

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentDeleteOperation):
(WebCore::IDBServer::UniqueIDBDatabase::maybeNotifyConnectionsOfVersionChange):
(WebCore::IDBServer::UniqueIDBDatabase::notifyCurrentRequestConnectionClosedOrFiredVersionChangeEvent):
(WebCore::IDBServer::UniqueIDBDatabase::didFireVersionChangeEvent):
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabase::notifyConnectionsOfVersionChangeForUpgrade): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::notifyConnectionsOfVersionChange): Deleted.

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseConnection::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didFireVersionChangeEvent):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::fireVersionChangeEvent):

  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
  • Modules/indexeddb/shared/InProcessIDBServer.cpp:

(WebCore::InProcessIDBServer::fireVersionChangeEvent):
(WebCore::InProcessIDBServer::didFireVersionChangeEvent):

  • Modules/indexeddb/shared/InProcessIDBServer.h:
  • dom/Event.h:

(WebCore::Event::isVersionChangeEvent):

LayoutTests:

  • Unskip two timeout tests that now pass.
  • Reclassify a text-failure test to be skipped for new reasons.
  • platform/mac-wk1/TestExpectations:
9:24 PM Changeset in webkit [194451] by aestes@apple.com
  • 2 edits in trunk/Source/WTF

Use of WTF::move prevents clang's move diagnostics from warning about several classes of mistakes
https://bugs.webkit.org/show_bug.cgi?id=152601

Reviewed by Brady Eidson.

Clang has recently added warnings to catch certain classes of mistakes with the use of std::move():
-Wpessimizing-move (warns if moving prevents copy elision), -Wredundant-move (warns if a move is redundant),
and -Wself-move (warns if moving to self). Enabling these warnings manually (by renaming WTF::move to std::move)
have caught numerous mistakes in our codebase (see http://trac.webkit.org/changeset/194428).

It would be nice to be able to take advantage of these warnings, but doing so requires that we use std::move,
not WTF::move. But since WTF::move does provide useful checks for which clang does not yet have warnings,
we should write a best-of-both-worlds move function.

This patch adds a function that satisfies clang's criteria for a move function (in namespace std, named "move",
and takes a single argument) but also retains WTF::move's compile-time checks. It also adds a convenience macro
called WTF_MOVE for use by callers.

  • wtf/StdLibExtras.h:

(std::move):

5:37 PM Changeset in webkit [194450] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening.

Mark navigation policy tests to failure and unskip some passing test.
Update media failure tests.

  • platform/efl/TestExpectations:
1:08 PM Changeset in webkit [194449] by commit-queue@webkit.org
  • 19 edits
    4 adds in trunk

[ES6] Arrow function syntax. Arrow function specific features. Lexical bind "super"
https://bugs.webkit.org/show_bug.cgi?id=149615

Source/JavaScriptCore:

Patch by Aleksandr Skachkov <gskachkov@gmail.com> on 2015-12-30
Reviewed by Saam Barati.

Implemented lexical bind "super" property for arrow function. 'super' property can be accessed
inside of the arrow function in case if arrow function is nested in constructor, method,
getter or setter of class. In current patch using 'super' in arrow function, that declared out of the
class, lead to wrong type of error, should be SyntaxError(https://bugs.webkit.org/show_bug.cgi?id=150893)
and this will be fixed in separete patch.

  • builtins/BuiltinExecutables.cpp:

(JSC::createExecutableInternal):

  • bytecode/EvalCodeCache.h:

(JSC::EvalCodeCache::getSlow):

  • bytecode/ExecutableInfo.h:

(JSC::ExecutableInfo::ExecutableInfo):
(JSC::ExecutableInfo::derivedContextType):
(JSC::ExecutableInfo::isClassContext):

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::derivedContextType):
(JSC::UnlinkedCodeBlock::isClassContext):

  • bytecode/UnlinkedFunctionExecutable.cpp:

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

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

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitPutDerivedConstructorToArrowFunctionContextScope):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::derivedContextType):
(JSC::BytecodeGenerator::isDerivedConstructorContext):
(JSC::BytecodeGenerator::isDerivedClassContext):
(JSC::BytecodeGenerator::isArrowFunction):
(JSC::BytecodeGenerator::makeFunction):

  • bytecompiler/NodesCodegen.cpp:

(JSC::emitHomeObjectForCallee):
(JSC::FunctionCallValueNode::emitBytecode):

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::evaluate):

  • interpreter/Interpreter.cpp:

(JSC::eval):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/Executable.cpp:

(JSC::ScriptExecutable::ScriptExecutable):
(JSC::EvalExecutable::create):
(JSC::EvalExecutable::EvalExecutable):
(JSC::ProgramExecutable::ProgramExecutable):
(JSC::ModuleProgramExecutable::ModuleProgramExecutable):
(JSC::FunctionExecutable::FunctionExecutable):

  • runtime/Executable.h:

(JSC::ScriptExecutable::derivedContextType):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncEval):

  • tests/es6.yaml:
  • tests/stress/arrowfunction-lexical-bind-superproperty.js: Added.

LayoutTests:

Patch by Skachkov Oleksandr <gskachkov@gmail.com> on 2015-12-30
Reviewed by Saam Barati.

  • js/arrowfunction-superproperty-expected.txt: Added.
  • js/arrowfunction-superproperty.html: Added.
  • js/script-tests/arrowfunction-superproperty.js: Added.
12:15 PM Changeset in webkit [194448] by Simon Fraser
  • 13 edits in trunk/Source

Add explicit conversions between scrollOffset and scrollPostion, and use them in a few places
https://bugs.webkit.org/show_bug.cgi?id=152594

Reviewed by Sam Weinig.

Add functions to ScrollableArea to convert between scrollPosition and scrollOffset,
and use them in places where code did the math with scrollOrigin.

Source/WebCore:

  • page/FrameView.cpp:

(WebCore::FrameView::minimumScrollPosition):
(WebCore::FrameView::maximumScrollPosition): totalContentsSize().width() == contentsWidth(),
so we can use the base class maximumScrollPosition(), which also clamps.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::maximumScrollPosition):
(WebCore::ScrollView::setScrollOffset):
(WebCore::ScrollView::overhangAmount):
(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::calculateOverhangAreasForPainting):
(WebCore::ScrollView::minimumScrollPosition): Deleted. Can use base class implementation.

  • platform/ScrollView.h:
  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::minimumScrollPosition):
(WebCore::ScrollableArea::maximumScrollPosition):
(WebCore::ScrollableArea::maximumScrollOffset):
(WebCore::ScrollableArea::scrollPositionFromOffset):
(WebCore::ScrollableArea::scrollOffsetFromPosition):

  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::scrollOrigin):
(WebCore::ScrollableArea::scrollOriginChanged):

  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::unobscuredContentRect):

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::pinnedInDirection):
(WebCore::ScrollAnimatorMac::absoluteScrollPosition):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollPosition):
(WebCore::RenderLayer::maximumScrollPosition):
(WebCore::RenderLayer::overhangAmount):
(WebCore::RenderLayer::minimumScrollPosition): Deleted.

  • rendering/RenderLayer.h:

Source/WebKit2:

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):

9:19 AM Changeset in webkit [194447] by Alan Bujtas
  • 11 edits
    2 adds in trunk/Source/WebCore

Move InlineTextBox's text decoration painting to its own class.
https://bugs.webkit.org/show_bug.cgi?id=152587

Reviewed by Myles C. Maxfield.

This is in preparation for adding text decoration support for simple line layout.

No change in functionality.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
(WebCore::compareTuples): Deleted.
(WebCore::translateIntersectionPointsToSkipInkBoundaries): Deleted.
(WebCore::drawSkipInkUnderline): Deleted.
(WebCore::textDecorationStyleToStrokeStyle): Deleted.
(WebCore::adjustStepToDecorationLength): Deleted.
(WebCore::strokeWavyTextDecoration): Deleted.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColorsAndStyles):

  • rendering/RenderObject.h:
  • rendering/RenderingAllInOne.cpp:
  • rendering/TextDecorationPainter.cpp: Added.

(WebCore::adjustStepToDecorationLength):
(WebCore::strokeWavyTextDecoration):
(WebCore::compareTuples):
(WebCore::translateIntersectionPointsToSkipInkBoundaries):
(WebCore::drawSkipInkUnderline):
(WebCore::textDecorationStyleToStrokeStyle):
(WebCore::TextDecorationPainter::TextDecorationPainter):
(WebCore::TextDecorationPainter::paintTextDecoration):

  • rendering/TextDecorationPainter.h: Added.

(WebCore::TextDecorationPainter::setInlineTextBox):
(WebCore::TextDecorationPainter::setFont):
(WebCore::TextDecorationPainter::setIsHorizontal):
(WebCore::TextDecorationPainter::setWidth):
(WebCore::TextDecorationPainter::setBaseline):
(WebCore::TextDecorationPainter::addTextShadow):

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
(WebCore::visualOverflowForDecorations):

  • style/InlineTextBoxStyle.h:
1:48 AM Changeset in webkit [194446] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[CoordinatedGraphics] VideoRenderRequestScheduler shouldn't dispatch to main thread in threaded compositor
https://bugs.webkit.org/show_bug.cgi?id=152584

Reviewed by Carlos Garcia Campos.

The VideoRenderRequestScheduler class should only send the repaint-requested
signal dispatch to the main thread when not using the threaded compositor.
In case that is used (guarded via WTF_USE_COORDINATED_GRAPHICS_THREADED), the
signal dispatch can be done on the current thread (normally a GStreamer thread)
since the actual GL texture update will be then dispatched to the compositor
thread (unlike when gstreamer-gl is used, when the update can be done on the
very same thread).

When that is the case we don't need the RunLoop::Timer, Condition and the
video sink GRefPtr protector that are otherwise used by this class, so these
can just be guarded with the USE(...) flag.

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(VideoRenderRequestScheduler::VideoRenderRequestScheduler):
(VideoRenderRequestScheduler::stop):
(VideoRenderRequestScheduler::requestRender):

1:47 AM Changeset in webkit [194445] by zandobersek@gmail.com
  • 8 edits in trunk/Source

[TexMap] Clean up TextureMapperAnimation, TextureMapperAnimations
https://bugs.webkit.org/show_bug.cgi?id=152112

Reviewed by Darin Adler.

Source/WebCore:

Clean up the TextureMapperAnimation class. Turn AnimationState into an enum
class. Use references for non-null pointer parameters to one version of the
constructor and the apply() and applyInternal() methods. Remove unnecessary
public methods and reorder the remaining ones into something more sensible.
In terms of the implementation of this class, the methods are moved around to
follow the order of declarations, along with some small cleanups and improvements
applied.

TextureMapperAnimations class is also refreshed. The constructor is defaulted,
and the method implementations are reordered a bit and also adjusted to use the
range-based for-loops and some STL utilities.

Static functions in the implementation file are also updated to use range-based
for-loops, references and nullptrs where possible.

There's no change in behavior as this is just a refactoring.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::addAnimation):

  • platform/graphics/texmap/TextureMapperAnimation.cpp:

(WebCore::blendFunc):
(WebCore::applyFilterAnimation):
(WebCore::shouldReverseAnimationValue):
(WebCore::applyTransformAnimation):
(WebCore::TextureMapperAnimation::TextureMapperAnimation):
(WebCore::TextureMapperAnimation::apply):
(WebCore::TextureMapperAnimation::pause):
(WebCore::TextureMapperAnimation::resume):
(WebCore::TextureMapperAnimation::computeTotalRunningTime):
(WebCore::TextureMapperAnimation::isActive):
(WebCore::TextureMapperAnimation::applyInternal):
(WebCore::TextureMapperAnimations::add):
(WebCore::TextureMapperAnimations::remove):
(WebCore::TextureMapperAnimations::pause):
(WebCore::TextureMapperAnimations::suspend):
(WebCore::TextureMapperAnimations::resume):
(WebCore::TextureMapperAnimations::apply):
(WebCore::TextureMapperAnimations::hasActiveAnimationsOfType):
(WebCore::TextureMapperAnimations::hasRunningAnimations):
(WebCore::TextureMapperAnimations::getActiveAnimations):

  • platform/graphics/texmap/TextureMapperAnimation.h:

(WebCore::TextureMapperAnimation::name):
(WebCore::TextureMapperAnimation::boxSize):
(WebCore::TextureMapperAnimation::animation):
(WebCore::TextureMapperAnimation::startTime):
(WebCore::TextureMapperAnimation::pauseTime):
(WebCore::TextureMapperAnimation::state):
(WebCore::TextureMapperAnimation::setState): Deleted.
(WebCore::TextureMapperAnimation::property): Deleted.
(WebCore::TextureMapperAnimations::TextureMapperAnimations): Deleted.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::syncAnimations):

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

(WebCore::CoordinatedGraphicsLayer::addAnimation):

Source/WebKit2:

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(IPC::ArgumentCoder<TextureMapperAnimation>::decode):

12:33 AM Changeset in webkit [194444] by Philippe Normand
  • 4 edits
    1 add in trunk/Tools

[Mac][GTK] Jhbuild support for OSX
https://bugs.webkit.org/show_bug.cgi?id=150799

Reviewed by Michael Catanzaro.

  • gtk/install-dependencies: Install dependencies on OSX with Homebrew.
  • gtk/jhbuild.modules: Moved platform-specific build settings in condition tags.
  • gtk/patches/foxbntconfig-fix-osx-cache.diff: Added.
  • gtk/jhbuildrc: GTK+ makeargs clean-up, the 3.0.12 hack is no longer needed.
12:31 AM Changeset in webkit [194443] by Philippe Normand
  • 3 edits in trunk

[GTK][Mac] Disable gtk-doc
https://bugs.webkit.org/show_bug.cgi?id=150798

Reviewed by Michael Catanzaro.

  • Source/PlatformGTK.cmake: gtkdoc-scangobj fails due to a clang

link error on Mac, so for now disable gtk-doc support on that
platform.

  • Source/cmake/OptionsGTK.cmake: Ditto.

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):

Note: See TracTimeline for information about the timeline view.