Timeline



Oct 19, 2015:

11:21 PM Changeset in webkit [191333] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

ERROR: Unhandled web process message 'StorageAreaMap:DispatchStorageEvent'
https://bugs.webkit.org/show_bug.cgi?id=150315

Reviewed by Andreas Kling.

It was introduced in r184930, that keeps the session storage area
maps alive in the UI process when they are destroyed by the web
process. The problem is that we also keep the listeners, so that
events are also dispatched to the listeners of destroyed areas,
and the message handlers were removed in the web process.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::createTransientLocalStorageMap): Add a
listener for the new storage map ID when the map is reused.
(WebKit::StorageManager::destroyStorageMap): Always remove
listeners of destroyed maps.

11:18 PM Changeset in webkit [191332] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

ASSERTION FAILED: m_state == Initialized in SubresourceLoader::didReceiveResponse()
https://bugs.webkit.org/show_bug.cgi?id=150327

Reviewed by Antti Koivisto.

This is how it happens:

  1. print() is called while the document is still loading, so m_shouldPrintWhenFinishedLoading is set to true
  2. DataURLDecoder::decode() finishes in the work queue thread, the completion handler is scheduled in the main thread
  3. The load is cancelled 3.1. SubresourceLoader::willCancel sets m_state = Finishing 3.2. DOMWindow::finishedLoading() is called, and since

m_shouldPrintWhenFinishedLoading is true, it does the print.

3.3. Cancellation finishes and ResourceLoader::releaseResources()

is called that sets m_reachedTerminalState = true

So, between 3.1 and 3.3, the state is Finishing, but
m_reachedTerminalState is false. What happens, in the GTK+ port at
least, is that the nested main loop used to make print()
synchronous, processes the DataURLDecoder::decode() completion
handler that was pending. The completion handler returns early if
m_reachedTerminalState is true, but it's not yet in this
particular case. So, it ends up calling didReceiveResponse,
because the decode didn't fail, when the subresource loader state
is Finishing.

I think there are two things here. One is that we shouldn't start
a print that was waiting for the load to finish when it
failed. That would fix the problem. But it's probably a good idea
to also check for cancellation in the DataURLDecoder::decode()
completion handler.

Fixes printing/print-close-crash.html in GTK+ Debug.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::loadDataURL): Return early from
DataURLDecoder::decode() completion handler if the load was cancelled.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::finishedLoading): Do not start a print that
was witing for the load to finish when it failed.

9:55 PM Changeset in webkit [191331] by mmaxfield@apple.com
  • 13 edits
    2 adds in trunk

FontCascade::typesettingFeatures() is not privy to font-variant-* nor font-feature-settings
https://bugs.webkit.org/show_bug.cgi?id=149775

Reviewed by Darin Adler.

Source/WebCore:

This patch has two pieces:

We used to have a boolean, enableLigatures, which affected how we perform shaping in both our
simple and complex text codepaths. However, in this brave new world of font-feature-settings
and font-variant-*, there are many properties which may affect shaping (and multiple kinds
of ligatures). This patch renames this boolean to requiresShaping, and teaches it about all
the various properties which affect text shaping.

Similarly, one of the places which used this enableLigatures boolean was to tell CoreText
if it should disable ligatures. However, we now have much finer-grained control over
ligatures during font creation. This patch moves the responsibility of dictating which
font features should be enabled entirely to the Font. Therefore, getCFStringAttributes()
doesn't know anything about ligatures anymore; the logic inside font creation is used
instead.

An added benefit of moving all the font feature logic to one place is that we can implement
the feature resolution algorithm described in the CSS3 fonts spec. This patch adds a test to
makes sure that text-rendering, font-feature-settings, and font-variant-* play together
nicely.

Test: fast/text/multiple-feature-properties.html

  • platform/graphics/Font.cpp:

(WebCore::Font::applyTransforms):

  • platform/graphics/Font.h:
  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::FontCascade):
(WebCore::FontCascade::operator=):
(WebCore::FontCascade::update):
(WebCore::FontCascade::drawText):
(WebCore::FontCascade::drawEmphasisMarks):
(WebCore::FontCascade::width):
(WebCore::FontCascade::adjustSelectionRectForText):
(WebCore::FontCascade::offsetForPosition):
(WebCore::FontCascade::codePath):
(WebCore::FontCascade::floatWidthForSimpleText):

  • platform/graphics/FontCascade.h:

(WebCore::FontCascade::requiresShaping):
(WebCore::FontCascade::computeRequiresShaping):
(WebCore::FontCascade::enableLigatures): Deleted.
(WebCore::FontCascade::computeEnableLigatures): Deleted.

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::WidthIterator):
(WebCore::WidthIterator::applyFontTransforms):

  • platform/graphics/WidthIterator.h:
  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::preparePlatformFont):

  • platform/graphics/cocoa/FontCocoa.mm:

(WebCore::Font::canRenderCombiningCharacterSequence):

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

  • platform/graphics/mac/SimpleFontDataCoreText.cpp:

(WebCore::Font::getCFStringAttributes):

  • svg/SVGFontData.h:

LayoutTests:

  • fast/text/multiple-feature-properties-expected.html: Added.
  • fast/text/multiple-feature-properties.html: Added.
9:22 PM Changeset in webkit [191330] by mmaxfield@apple.com
  • 5 edits in trunk/Source/WebCore

Shadow GraphicsContext's ImageInterpolationQuality inside GraphicsContextState
https://bugs.webkit.org/show_bug.cgi?id=150306

Reviewed by Simon Fraser.

When getting the ImageInterpolationQuality, there is no need to round-trip through
the platform's graphics context. This patch migrates this piece of state to the
existing idiom of having a setter in GraphicsContext.cpp which sets the relevent
state in GraphicsContextState and then calls into a platform-specific setter.

No new tests because there is no behavior change.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::setImageInterpolationQuality):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::imageInterpolationQuality):

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::setPlatformImageInterpolationQuality):
(WebCore::GraphicsContext::setImageInterpolationQuality): Deleted.
(WebCore::GraphicsContext::imageInterpolationQuality): Deleted.

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::convertInterpolationQuality):
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::setPlatformImageInterpolationQuality):
(WebCore::GraphicsContext::setImageInterpolationQuality): Deleted.
(WebCore::GraphicsContext::imageInterpolationQuality): Deleted.

8:39 PM Changeset in webkit [191329] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601-branch/Source

Versioning.

8:37 PM Changeset in webkit [191328] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.3.5

New Tag.

8:29 PM Changeset in webkit [191327] by Chris Dumez
  • 18 edits in trunk/Source/WebCore

Drop unnecessary Node::toInputElement() virtual function
https://bugs.webkit.org/show_bug.cgi?id=150341

Reviewed by Darin Adler.

Drop unnecessary Node::toInputElement() virtual function and use the
usual is<HTMLInputElement>() / downcast< HTMLInputElement >() instead.

7:43 PM Changeset in webkit [191326] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

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

Shadowing CTM's state is not necessary (Requested by litherum
on #webkit).

Reverted changeset:

"Host GraphicsContext's CTM inside GraphicsContextState"
https://bugs.webkit.org/show_bug.cgi?id=150146
http://trac.webkit.org/changeset/191324

7:23 PM Changeset in webkit [191325] by Hunseop Jeong
  • 2 edits in trunk/Tools

Unreviewed, add myself to the committers list.

  • Scripts/webkitpy/common/config/contributors.json:
5:36 PM Changeset in webkit [191324] by mmaxfield@apple.com
  • 12 edits in trunk/Source/WebCore

Host GraphicsContext's CTM inside GraphicsContextState
https://bugs.webkit.org/show_bug.cgi?id=150146

There are 6 operations which interact with CTMs:

  • Get
  • Set
  • Concatenate
  • Scale
  • Rotate
  • Translate

This patch modifies all these operations so that these operations shadow the
platform's CTM inside GraphicsContextState. This way, we don't have to consult
with the underlying graphics context in order to know the current CTM.

There are currently many places in the Core Graphics ports where we will change
the platform's CTM out from under the GraphicsContext. This patch migrates
those users to going through GraphicsContext, thereby preserving the integrity
of the shadowed state.

No new tests because there is no behavior change.

  • platform/graphics/GraphicsContext.cpp: Setters deletate to platform calls.

The getter can just consult with the shadowed state.
(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::setCTM):
(WebCore::GraphicsContext::getCTM):
(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::applyDeviceScaleFactor):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::checkCTMInvariants): Make sure the shadowed state
matches the platform graphics context's state.

  • platform/graphics/Image.h:

(WebCore::Image::nativeImageForCurrentFrame):

  • platform/graphics/cairo/GraphicsContextCairo.cpp: Renaming functions.

(WebCore::GraphicsContext::resetPlatformCTM):
(WebCore::GraphicsContext::getPlatformCTM):
(WebCore::GraphicsContext::translatePlatformCTM):
(WebCore::GraphicsContext::concatPlatformCTM):
(WebCore::GraphicsContext::setPlatformCTM):
(WebCore::GraphicsContext::rotatePlatformCTM):
(WebCore::GraphicsContext::scalePlatformCTM):
(WebCore::GraphicsContext::getCTM): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::scale): Deleted.

  • platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:

Renaming functions.
(WebCore::GraphicsContextPlatformPrivate::save):
(WebCore::GraphicsContextPlatformPrivate::restore):
(WebCore::GraphicsContextPlatformPrivate::flush):
(WebCore::GraphicsContextPlatformPrivate::clip):
(WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
(WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
(WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.

  • platform/graphics/cg/GraphicsContextCG.cpp: Renaming functions. Also,

migrate CTM setters to go through GraphicsContext.
(WebCore::GraphicsContext::resetPlatformCTM):
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::scalePlatformCTM):
(WebCore::GraphicsContext::rotatePlatformCTM):
(WebCore::GraphicsContext::translatePlatformCTM):
(WebCore::GraphicsContext::concatPlatformCTM):
(WebCore::GraphicsContext::setPlatformCTM):
(WebCore::GraphicsContext::getPlatformCTM):
(WebCore::GraphicsContext::scale): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::getCTM): Deleted.

  • platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:

(WebCore::GraphicsContextPlatformPrivate::save):
(WebCore::GraphicsContextPlatformPrivate::restore):
(WebCore::GraphicsContextPlatformPrivate::flush):
(WebCore::GraphicsContextPlatformPrivate::clip):
(WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
(WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
(WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.

  • platform/graphics/transforms/AffineTransform.h:

(WebCore::AffineTransform::isEssentiallyEqualTo): Equality comparison on floats
is not a good idea. Instead, this function is more valuable. (However, note that
it is expected for values in a CTM to hold values close to 0, which means that
this function might erroneously return false (similar to operator=()).

  • platform/graphics/win/GraphicsContextWin.cpp:

(WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
(WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
(WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.

  • platform/mac/DragImageMac.mm:

(WebCore::drawAtPoint):

  • platform/spi/cg/CoreGraphicsSPI.h:
5:17 PM Changeset in webkit [191323] by timothy_horton@apple.com
  • 24 edits in trunk/Source

Remove unused support for long presses from WebKit
https://bugs.webkit.org/show_bug.cgi?id=150345

Reviewed by Beth Dakin.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/APIUIClient.h:

(API::UIClient::didBeginTrackingPotentialLongMousePress): Deleted.
(API::UIClient::didRecognizeLongMousePress): Deleted.
(API::UIClient::didCancelTrackingPotentialLongMousePress): Deleted.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient): Deleted.

  • UIProcess/API/C/WKPageUIClient.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesGetLongMousePressEnabled):
(WKPreferencesSetLongMousePressEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didBeginTrackingPotentialLongMousePress): Deleted.
(WebKit::WebPageProxy::didRecognizeLongMousePress): Deleted.
(WebKit::WebPageProxy::didCancelTrackingPotentialLongMousePress): Deleted.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:

(API::InjectedBundle::PageUIClient::didBeginTrackingPotentialLongMousePress): Deleted.
(API::InjectedBundle::PageUIClient::didRecognizeLongMousePress): Deleted.
(API::InjectedBundle::PageUIClient::didCancelTrackingPotentialLongMousePress): Deleted.

  • WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:

(WebKit::InjectedBundlePageUIClient::didBeginTrackingPotentialLongMousePress): Deleted.
(WebKit::InjectedBundlePageUIClient::didRecognizeLongMousePress): Deleted.
(WebKit::InjectedBundlePageUIClient::didCancelTrackingPotentialLongMousePress): Deleted.

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress): Deleted.
(WebKit::WebChromeClient::didRecognizeLongMousePress): Deleted.
(WebKit::WebChromeClient::didCancelTrackingPotentialLongMousePress): Deleted.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences): Deleted.

  • page/Chrome.cpp:

(WebCore::Chrome::didBeginTrackingPotentialLongMousePress): Deleted.
(WebCore::Chrome::didRecognizeLongMousePress): Deleted.
(WebCore::Chrome::didCancelTrackingPotentialLongMousePress): Deleted.

  • page/Chrome.h:
  • page/ChromeClient.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler): Deleted.
(WebCore::EventHandler::clear): Deleted.
(WebCore::EventHandler::handleMousePressEvent): Deleted.
(WebCore::EventHandler::eventMayStartDrag): Deleted.
(WebCore::EventHandler::handleMouseReleaseEvent): Deleted.
(WebCore::EventHandler::beginTrackingPotentialLongMousePress): Deleted.
(WebCore::EventHandler::recognizeLongMousePress): Deleted.
(WebCore::EventHandler::cancelTrackingPotentialLongMousePress): Deleted.
(WebCore::EventHandler::clearLongMousePressState): Deleted.
(WebCore::EventHandler::handleLongMousePressMouseMovedEvent): Deleted.
(WebCore::EventHandler::handleMouseMoveEvent): Deleted.
(WebCore::EventHandler::handleDrag): Deleted.

  • page/EventHandler.h:
  • page/Settings.in:
5:05 PM Changeset in webkit [191322] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Don't dump GestureEvent constructor attributes for now

Rubber-stamped by Alexey Proskuryakov.

  • js/dom/script-tests/global-constructors-attributes.js:
5:01 PM Changeset in webkit [191321] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Make sure development Safari does not delete the stable Safari cache storage.
https://bugs.webkit.org/show_bug.cgi?id=150343

Reviewed by Antti Koivisto.

Make sure development Safari does not delete the stable Safari disk cache
storage. Development Safari now uses Version 5, while the last stable
Safari uses Version 4. Since the 2 versions can co-exist, it is best not
to drop the old cache version (4) at this point.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::deleteOldVersions):

3:32 PM Changeset in webkit [191320] by timothy_horton@apple.com
  • 12 edits
    3 adds in trunk/Source

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Darin Adler.

No new tests, just moving code around.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/mac/NSWindowSPI.h: Added.
  • UIProcess/API/mac/WKView.mm:
  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Cocoa/WebViewImpl.h: Added.
  • UIProcess/Cocoa/WebViewImpl.mm: Added.

(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::setDrawsBackground):
(WebKit::WebViewImpl::drawsBackground):
(WebKit::WebViewImpl::setDrawsTransparentBackground):
(WebKit::WebViewImpl::drawsTransparentBackground):
(WebKit::WebViewImpl::acceptsFirstResponder):
(WebKit::WebViewImpl::becomeFirstResponder):
(WebKit::WebViewImpl::resignFirstResponder):
(WebKit::WebViewImpl::isFocused):
(WebKit::WebViewImpl::viewWillStartLiveResize):
(WebKit::WebViewImpl::viewDidEndLiveResize):
(WebKit::WebViewImpl::setFrameSize):
(WebKit::WebViewImpl::disableFrameSizeUpdates):
(WebKit::WebViewImpl::enableFrameSizeUpdates):
(WebKit::WebViewImpl::frameSizeUpdatesDisabled):
(WebKit::WebViewImpl::setFrameAndScrollBy):
(WebKit::WebViewImpl::setFixedLayoutSize):
(WebKit::WebViewImpl::fixedLayoutSize):
(WebKit::WebViewImpl::setDrawingAreaSize):
(WebKit::WebViewImpl::setContentPreparationRect):
(WebKit::WebViewImpl::updateViewExposedRect):
(WebKit::WebViewImpl::setClipsToVisibleRect):
(WebKit::WebViewImpl::setIntrinsicContentSize):
(WebKit::WebViewImpl::intrinsicContentSize):
(WebKit::WebViewImpl::setViewScale):
(WebKit::WebViewImpl::viewScale):
(WebKit::WebViewImpl::layoutMode):
(WebKit::WebViewImpl::setLayoutMode):
(WebKit::WebViewImpl::supportsArbitraryLayoutModes):
(WebKit::WebViewImpl::updateSupportsArbitraryLayoutModes):
(WebKit::WebViewImpl::updateSecureInputState):
(WebKit::WebViewImpl::resetSecureInputState):
(WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
(WebKit::WebViewImpl::hasFullScreenWindowController):
(WebKit::WebViewImpl::fullScreenWindowController):
(WebKit::WebViewImpl::closeFullScreenWindowController):
(WebKit::WebViewImpl::fullScreenPlaceholderView):
(WebKit::WebViewImpl::createFullScreenWindow):
Move the actual implementation of a number of WKView methods into a
C++ class, WebViewImpl, which WKView calls directly into.
Eventually, we will move all of the logic of WKView into WebViewImpl,
and then duplicate the necessary forwarding in WKWebView and remove
WKWebView's inner WKView.

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

(WebKit::PageClientImpl::isViewFocused):
(WebKit::PageClientImpl::didCommitLoadForMainFrame):
(WebKit::PageClientImpl::updateSecureInputState):
(WebKit::PageClientImpl::resetSecureInputState):
(WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):
For now, forward PageClient requests that can be answered by WebViewImpl
to WebViewImpl. Eventually, we'll probably fold PageClientImpl and WebViewImpl
together into one class, and these things will collapse down.

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

(-[WKFullScreenWindowController initWithWindow:webView:page:]):
(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
(-[WKFullScreenWindowController exitFullScreen]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
(-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
(-[WKFullScreenWindowController _manager]):
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController initWithWindow:webView:]): Deleted.
(-[WKFullScreenWindowController _page]): Deleted.

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

(+[WKViewLayoutStrategy layoutStrategyWithPage:view:viewImpl:mode:]):
(-[WKViewLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewLayoutStrategy invalidate]):
(-[WKViewLayoutStrategy didChangeFrameSize]):
(-[WKViewViewSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewFixedSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy updateLayout]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeFrameSize]):
(-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]): Deleted.
(-[WKViewLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewLayoutStrategy willDestroyView:]): Deleted.
(-[WKViewViewSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewFixedSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
Make WKViewLayoutStrategy and WKFullScreenWindowController operate in terms of generic
NSViews instead of WKView, so that eventually they will be able to work for either
WKView or WKWebView, and so that they can sit underneath WebViewImpl.

  • WebKit2.xcodeproj/project.pbxproj:
3:20 PM Changeset in webkit [191319] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Restore an assertion to the way it was before r191310, which was correct.

  • platform/graphics/GraphicsTypes.cpp:

(WebCore::compositeOperatorName):

2:39 PM Changeset in webkit [191318] by Beth Dakin
  • 5 edits in trunk/Source

Build fix.

Source/WebCore:

  • dom/EventNames.in:
  • dom/make_event_factory.pl:

(generateImplementation):

Source/WTF:

  • wtf/FeatureDefines.h:
2:25 PM Changeset in webkit [191317] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601-branch/Source/WebInspectorUI

Merge r190437. rdar://problem/23166302

2:21 PM Changeset in webkit [191316] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebCore

Fix the binding generator after r191176
https://bugs.webkit.org/show_bug.cgi?id=150320

Reviewed by Darin Adler.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorHelperMethods):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterfaceConstructor::getConstructData):

1:39 PM Changeset in webkit [191315] by commit-queue@webkit.org
  • 12 edits
    3 deletes in trunk/Source

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

broke lots of API tests, need time to figure out whats up
(Requested by thorton on #webkit).

Reverted changeset:

"WKView being inside WKWebView leads to weird API issues"
https://bugs.webkit.org/show_bug.cgi?id=150174
http://trac.webkit.org/changeset/191307

1:32 PM Changeset in webkit [191314] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

Unreviewed, rolling out r191295, r191297, and r191301.
https://bugs.webkit.org/show_bug.cgi?id=150337

ASSERTs in 5 tests (Requested by litherum on #webkit).

Reverted changesets:

"Host GraphicsContext's CTM inside GraphicsContextState"
https://bugs.webkit.org/show_bug.cgi?id=150146
http://trac.webkit.org/changeset/191295

"[iOS] Build fix after r191295"
http://trac.webkit.org/changeset/191297

"Unreviewed build fix after r191295."
http://trac.webkit.org/changeset/191301

1:29 PM Changeset in webkit [191313] by sbarati@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

FTL should generate a unique OSR exit for each duplicated OSR exit stackmap intrinsic.
https://bugs.webkit.org/show_bug.cgi?id=149970

Reviewed by Filip Pizlo.

When we lower DFG to LLVM, we generate a stackmap intrnsic for OSR
exits. We also recorded the OSR exit inside FTL::JITCode during lowering.
This stackmap intrinsic may be duplicated or even removed by LLVM.
When the stackmap intrinsic is duplicated, we used to generate just
a single OSR exit data structure. Then, when we compiled an OSR exit, we
would look for the first record in the record list that had the same stackmap ID
as what the OSR exit data structure had. We did this even when the OSR exit
stackmap intrinsic was duplicated. This would lead us to grab the wrong FTL::StackMaps::Record.

Now, each OSR exit knows exactly which FTL::StackMaps::Record it corresponds to.
We accomplish this by having an OSRExitDescriptor that is recorded during
lowering. Each descriptor may be referenced my zero, one, or more OSRExits.
Now, no more than one stackmap intrinsic corresponds to the same index inside
JITCode's OSRExit Vector. Also, each OSRExit jump now jumps to a code location.

  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateDataSection):

  • ftl/FTLJITCode.cpp:

(JSC::FTL::JITCode::validateReferences):
(JSC::FTL::JITCode::liveRegistersToPreserveAtExceptionHandlingCallSite):

  • ftl/FTLJITCode.h:
  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::finalizeFunction):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::DFG::LowerDFGToLLVM::compileIsUndefined):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::DFG::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::DFG::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::DFG::LowerDFGToLLVM::callStackmap):

  • ftl/FTLOSRExit.cpp:

(JSC::FTL::OSRExitDescriptor::OSRExitDescriptor):
(JSC::FTL::OSRExitDescriptor::validateReferences):
(JSC::FTL::OSRExit::OSRExit):
(JSC::FTL::OSRExit::codeLocationForRepatch):
(JSC::FTL::OSRExit::validateReferences): Deleted.

  • ftl/FTLOSRExit.h:

(JSC::FTL::OSRExit::considerAddingAsFrequentExitSite):

  • ftl/FTLOSRExitCompilationInfo.h:

(JSC::FTL::OSRExitCompilationInfo::OSRExitCompilationInfo):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):
(JSC::FTL::compileFTLOSRExit):

  • ftl/FTLStackMaps.cpp:

(JSC::FTL::StackMaps::computeRecordMap):

  • ftl/FTLStackMaps.h:
1:18 PM Changeset in webkit [191312] by BJ Burg
  • 9 edits
    6 moves
    1 add in trunk/Source

Unify handling of JavaScriptCore scripts that are used in WebCore
https://bugs.webkit.org/show_bug.cgi?id=150245

Reviewed by Alex Christensen.

Source/JavaScriptCore:

Move all standalone JavaScriptCore scripts that are used by WebCore into the
JavaScriptCore/Scripts directory. Use JavaScriptCore_SCRIPTS_DIR to refer
to the path for these scripts.

  • DerivedSources.make:

Define and use JavaScriptCore_SCRIPTS_DIR.

Make a new group in the Xcode project and clean up references.

  • PlatformWin.cmake:

For Windows, copy these scripts over to ForwardingHeaders/Scripts since they
cannot be used directly from JAVASCRIPTCORE_DIR in AppleWin builds. Do the same
thing for both Windows variants to be consistent about it.

  • Scripts/cssmin.py: Renamed from Source/JavaScriptCore/inspector/scripts/cssmin.py.
  • Scripts/generate-combined-inspector-json.py: Renamed from Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py.
  • Scripts/generate-js-builtins: Renamed from Source/JavaScriptCore/generate-js-builtins.
  • Scripts/inline-and-minify-stylesheets-and-scripts.py: Renamed from Source/JavaScriptCore/inspector/scripts/inline-and-minify-stylesheets-and-scripts.py.
  • Scripts/jsmin.py: Renamed from Source/JavaScriptCore/inspector/scripts/jsmin.py.
  • Scripts/xxd.pl: Renamed from Source/JavaScriptCore/inspector/scripts/xxd.pl.

Source/WebCore:

Use the new JavaScriptCore_SCRIPTS_DIR variable.

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:

No need to export other variables like InspectorScripts anymore.

1:07 PM Changeset in webkit [191311] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Try again to fix the 32-bit build.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::setupServicesMenu):

1:07 PM Changeset in webkit [191310] by Simon Fraser
  • 12 edits
    2 adds in trunk/Source/WebCore

Add TextStream formatters for FillLayer and all it entails
https://bugs.webkit.org/show_bug.cgi?id=150312

Reviewed by Tim Horton.

Add TextStream output formatters for FillLayer, and all the enum
types used by it.

Drive-by fixes for CompositeOperator and BlendMode string conversions.
compositeOperatorNames was missing the "difference" string, and compositeOperatorName()
would do an OOB memory access if blendOp was zero.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/Length.cpp:

(WebCore::operator<<):

  • platform/Length.h:
  • platform/LengthSize.cpp: Added.

(WebCore::operator<<):

  • platform/LengthSize.h:
  • platform/text/TextStream.h:
  • rendering/style/FillLayer.cpp:

(WebCore::operator<<):

  • rendering/style/FillLayer.h:
  • rendering/style/RenderStyleConstants.cpp: Added.

(WebCore::operator<<):

  • rendering/style/RenderStyleConstants.h:
12:53 PM Changeset in webkit [191309] by Wenson Hsieh
  • 17 edits in trunk/Source/WebKit2

Extend fast-clicking behavior to trigger on elements that have negligible zoom
https://bugs.webkit.org/show_bug.cgi?id=150248
<rdar://problem/23140069>

Reviewed by Simon Fraser.

Currently, fast-clicking only triggers on pages that have unscalable viewports. To allow more websites to benefit from fast-clicking
behavior, we generalize fast-clicking to also occur when tapping on elements for which double-tap-to-zoom would zoom the element in
or out by an insignificant amount. We define an insignificant amount of zoom to mean that zooming would increase the viewport scale
by less than a configurable threshold, or decrease the viewport scale by more than a configurable threshold. We accomplish this by
temporarily disabling the double tap gesture recognizer for the duration of the tap. This patch refactors some logic used to compute
zoomed viewports to make it possible to predict the change in viewport scale when double tapping to zoom. See the changes in
SmartMagnificationController and ViewGestureGeometryCollector for more details.

There are no new tests, since this patch does not change existing behavior. Instead, this patch adds the machinery needed for zoom-
dependent fast-clicking: by setting the preferences WebKitFastClickingEnabled and WebKitFastClickZoomThreshold, we will be able to tweak
the behavior dynamically.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:]):
(-[WKWebView _contentZoomScale]):
(-[WKWebView _targetContentZoomScaleForRect:currentScale:fitEntireRect:minimumScale:maximumScale:]):
(-[WKWebView _zoomToRect:withOrigin:fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
(-[WKWebView _viewportIsUserScalable]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary):

  • UIProcess/ios/SmartMagnificationController.h:
  • UIProcess/ios/SmartMagnificationController.mm:

(WebKit::SmartMagnificationController::adjustSmartMagnificationTargetRectAndZoomScales):
(WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):
(WebKit::SmartMagnificationController::magnify):

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
(-[WKContentView _fastClickZoomThreshold]):
(-[WKContentView _allowDoubleTapToZoomForCurrentZoomScale:andTargetZoomScale:]):
(-[WKContentView _disableDoubleTapGesturesUntilTapIsFinishedIfNecessary:allowsDoubleTapZoom:targetRect:isReplaced:minimumScale:maximumScale:]):
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
(-[WKContentView _singleTapRecognized:]):
(cancelPotentialTapIfNecessary):
(-[WKContentView _singleTapCommited:]):
(-[WKContentView webSelectionRects]): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary):

  • WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
(WebKit::ViewGestureGeometryCollector::computeZoomInformationForNode):

  • WebProcess/WebPage/ViewGestureGeometryCollector.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::potentialTapAtPosition):

12:37 PM Changeset in webkit [191308] by ap@apple.com
  • 2 edits in trunk/Tools

Add new EWS queues to bot watcher's dashboard
https://bugs.webkit.org/show_bug.cgi?id=150297

Reviewed by Darin Adler.

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

(BubbleQueueServer):

12:23 PM Changeset in webkit [191307] by timothy_horton@apple.com
  • 12 edits
    3 adds in trunk/Source

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Darin Adler.

No new tests, just moving code around.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/mac/NSWindowSPI.h: Added.
  • UIProcess/API/mac/WKView.mm:
  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Cocoa/WebViewImpl.h: Added.
  • UIProcess/Cocoa/WebViewImpl.mm: Added.

(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::setDrawsBackground):
(WebKit::WebViewImpl::drawsBackground):
(WebKit::WebViewImpl::setDrawsTransparentBackground):
(WebKit::WebViewImpl::drawsTransparentBackground):
(WebKit::WebViewImpl::acceptsFirstResponder):
(WebKit::WebViewImpl::becomeFirstResponder):
(WebKit::WebViewImpl::resignFirstResponder):
(WebKit::WebViewImpl::isFocused):
(WebKit::WebViewImpl::viewWillStartLiveResize):
(WebKit::WebViewImpl::viewDidEndLiveResize):
(WebKit::WebViewImpl::setFrameSize):
(WebKit::WebViewImpl::disableFrameSizeUpdates):
(WebKit::WebViewImpl::enableFrameSizeUpdates):
(WebKit::WebViewImpl::frameSizeUpdatesDisabled):
(WebKit::WebViewImpl::setFrameAndScrollBy):
(WebKit::WebViewImpl::setFixedLayoutSize):
(WebKit::WebViewImpl::fixedLayoutSize):
(WebKit::WebViewImpl::setDrawingAreaSize):
(WebKit::WebViewImpl::setContentPreparationRect):
(WebKit::WebViewImpl::updateViewExposedRect):
(WebKit::WebViewImpl::setClipsToVisibleRect):
(WebKit::WebViewImpl::setIntrinsicContentSize):
(WebKit::WebViewImpl::intrinsicContentSize):
(WebKit::WebViewImpl::setViewScale):
(WebKit::WebViewImpl::viewScale):
(WebKit::WebViewImpl::layoutMode):
(WebKit::WebViewImpl::setLayoutMode):
(WebKit::WebViewImpl::supportsArbitraryLayoutModes):
(WebKit::WebViewImpl::updateSupportsArbitraryLayoutModes):
(WebKit::WebViewImpl::updateSecureInputState):
(WebKit::WebViewImpl::resetSecureInputState):
(WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
(WebKit::WebViewImpl::hasFullScreenWindowController):
(WebKit::WebViewImpl::fullScreenWindowController):
(WebKit::WebViewImpl::closeFullScreenWindowController):
(WebKit::WebViewImpl::fullScreenPlaceholderView):
(WebKit::WebViewImpl::createFullScreenWindow):
Move the actual implementation of a number of WKView methods into a
C++ class, WebViewImpl, which WKView calls directly into.
Eventually, we will move all of the logic of WKView into WebViewImpl,
and then duplicate the necessary forwarding in WKWebView and remove
WKWebView's inner WKView.

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

(WebKit::PageClientImpl::isViewFocused):
(WebKit::PageClientImpl::didCommitLoadForMainFrame):
(WebKit::PageClientImpl::updateSecureInputState):
(WebKit::PageClientImpl::resetSecureInputState):
(WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):
For now, forward PageClient requests that can be answered by WebViewImpl
to WebViewImpl. Eventually, we'll probably fold PageClientImpl and WebViewImpl
together into one class, and these things will collapse down.

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

(-[WKFullScreenWindowController initWithWindow:webView:page:]):
(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
(-[WKFullScreenWindowController exitFullScreen]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
(-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
(-[WKFullScreenWindowController _manager]):
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController initWithWindow:webView:]): Deleted.
(-[WKFullScreenWindowController _page]): Deleted.

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

(+[WKViewLayoutStrategy layoutStrategyWithPage:view:viewImpl:mode:]):
(-[WKViewLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewLayoutStrategy invalidate]):
(-[WKViewLayoutStrategy didChangeFrameSize]):
(-[WKViewViewSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewFixedSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy updateLayout]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeFrameSize]):
(-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]): Deleted.
(-[WKViewLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewLayoutStrategy willDestroyView:]): Deleted.
(-[WKViewViewSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewFixedSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
Make WKViewLayoutStrategy and WKFullScreenWindowController operate in terms of generic
NSViews instead of WKView, so that eventually they will be able to work for either
WKView or WKWebView, and so that they can sit underneath WebViewImpl.

  • WebKit2.xcodeproj/project.pbxproj:
12:21 PM Changeset in webkit [191306] by Chris Dumez
  • 7 edits in trunk/Source/WebKit2

[WK2] Generalize NetworkCacheStorage API so it can store different types of metadata
https://bugs.webkit.org/show_bug.cgi?id=150221
<rdar://problem/23149771>

Reviewed by Darin Adler and Antti Koivisto.

Generalize NetworkCacheStorage API so it can store different types of
metadata alongside the network resources. This is a pre-requirement to
making our NetworkCache smarter by storing information about the
resources.

To keep the code simple, the entry type is now part of the entry key and
we store records of a specific type in a 'type' subfolder. The cache
structure looks like so:

  • WebKitCache/Version 5/[Partition]/[Type]/[Hash]
  • WebKitCache/Version 5/[Partition]/[Type]/[Hash]-blob (Optional)

Existing cache entries now that the 'resource' type as these are network
resources.

  • NetworkProcess/cache/NetworkCache.cpp:
  • NetworkProcess/cache/NetworkCacheKey.cpp:
  • NetworkProcess/cache/NetworkCacheKey.h:
  • NetworkProcess/cache/NetworkCacheStatistics.cpp:
  • NetworkProcess/cache/NetworkCacheStorage.cpp:
  • NetworkProcess/cache/NetworkCacheStorage.h:
12:19 PM Changeset in webkit [191305] by timothy_horton@apple.com
  • 8 edits in trunk/Source

Try to fix the iOS build

  • Configurations/FeatureDefines.xcconfig:
12:11 PM Changeset in webkit [191304] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Rebaselining fast/dynamic/insert-before-table-part-in-continuation.html for win
https://bugs.webkit.org/show_bug.cgi?id=150126

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-19
Reviewed by Zalan Bujtas.

  • platform/win/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
12:09 PM Changeset in webkit [191303] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the 32-bit build.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::setupServicesMenu):

11:59 AM Changeset in webkit [191302] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix image service menus somewhat
https://bugs.webkit.org/show_bug.cgi?id=150265

Reviewed by Tim Horton.

  • Shared/ContextMenuContextData.cpp:

(WebKit::ContextMenuContextData::ContextMenuContextData):
It's a service menu if we have a controlled image.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::setupServicesMenu):
Use an item provider.

11:50 AM Changeset in webkit [191301] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Unreviewed build fix after r191295.

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::translatePlatformCTM):
(WebCore::GraphicsContext::setPlatformFillColor):
(WebCore::GraphicsContext::concatPlatformCTM):
(WebCore::GraphicsContext::setPlatformCTM):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::rotatePlatformCTM):
(WebCore::GraphicsContext::scalePlatformCTM):
(WebCore::GraphicsContext::clipOut):

  • platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:

(WebCore::GraphicsContextPlatformPrivate::save):
(WebCore::GraphicsContextPlatformPrivate::restore):
(WebCore::GraphicsContextPlatformPrivate::flush):
(WebCore::GraphicsContextPlatformPrivate::clip):
(WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::syncContext):
(WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
(WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
(WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.

11:32 AM Changeset in webkit [191300] by keith_miller@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Add regression tests for TypedArray.prototype functions' error messages.
https://bugs.webkit.org/show_bug.cgi?id=150288

Reviewed by Darin Adler.

Fix a typo in the text passed by TypedArrray.prototype.filter type error message.
Add tests that check the actual error message text for all the TypeArray.prototype
functions that throw.

  • builtins/TypedArray.prototype.js:

(filter):

  • tests/stress/typedarray-every.js:
  • tests/stress/typedarray-filter.js:
  • tests/stress/typedarray-find.js:
  • tests/stress/typedarray-findIndex.js:
  • tests/stress/typedarray-forEach.js:
  • tests/stress/typedarray-map.js:
  • tests/stress/typedarray-reduce.js:
  • tests/stress/typedarray-reduceRight.js:
  • tests/stress/typedarray-some.js:
11:10 AM Changeset in webkit [191299] by timothy_horton@apple.com
  • 37 edits
    6 adds in trunk/Source

Add magnify and rotate gesture event support for Mac
https://bugs.webkit.org/show_bug.cgi?id=150179
<rdar://problem/8036240>

Reviewed by Darin Adler.

No new tests.

  • Configurations/FeatureDefines.xcconfig:

New feature flag.

  • Configurations/WebCore.xcconfig:

Don't exclude generated gesture sources; they are already #ifdef-guarded.

  • DerivedSources.make:

Add GestureEvent.idl for ENABLE_MAC_GESTURE_EVENTS too.

  • WebCore.xcodeproj/project.pbxproj:

Add GestureEvents.cpp.

  • bindings/objc/DOMEvents.mm:

(kitClass):
Support DOMGestureEvent on Mac if the new flag is enabled.

  • dom/mac/GestureEvents.cpp: Added.
  • page/mac/EventHandlerMac.mm:
  • page/EventHandler.cpp:

(WebCore::EventHandler::clear):

  • page/EventHandler.h:

Enable some gesture-related code on Mac if the new flag is enabled.

  • platform/PlatformEvent.h:
  • Configurations/FeatureDefines.xcconfig:

New feature flag.

  • Shared/NativeWebGestureEvent.h: Added.

(WebKit::NativeWebGestureEvent::nativeEvent):

  • Shared/WebEvent.h:
  • Shared/WebEventConversion.cpp:

(WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
(WebKit::platform):

  • Shared/WebEventConversion.h:
  • Shared/mac/NativeWebGestureEventMac.mm: Added.

(WebKit::webEventTypeForNSEvent):
(WebKit::pointForEvent):
(WebKit::NativeWebGestureEvent::NativeWebGestureEvent):
Add and plumb a new native event that wraps a NSEvent of type
NSEventTypeMagnify or NSEventTypeRotate (gesture events).

  • Shared/mac/WebGestureEvent.cpp: Added.

(WebKit::WebGestureEvent::encode):
(WebKit::WebGestureEvent::decode):
(WebKit::WebGestureEvent::isGestureEventType):

  • Shared/mac/WebGestureEvent.h: Added.

(WebKit::WebGestureEvent::WebGestureEvent):
(WebKit::WebGestureEvent::position):
(WebKit::WebGestureEvent::gestureScale):
(WebKit::WebGestureEvent::gestureRotation):
Add IPC plumbing for WebGestureEvent, which becomes a WebCore::PlatformGestureEvent.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Remove unnecessary iPhone-only WKView code.
Add _gestureEventWasNotHandledByWebCore, SPI which can be overridden
to react when WebCore decides not to handle a gesture event.

  • UIProcess/API/mac/WKView.mm:

(-[WKView magnifyWithEvent:]):
Route magnification gesture events to the page, unless we're already
in an active view zoom gesture, in which case we'll bypass the page
and send the event straight to ViewGestureController.

(-[WKView rotateWithEvent:]):
Route rotation gesture events to the page.

(-[WKView _gestureEventWasNotHandledByWebCore:]):
Let ViewGestureController know that WebCore didn't handle a gesture event.
We always give WebCore the first crack at the event if we're not in a zoom,
because it could preventDefault() on the Begin phase event, and that should
prevent pinch-zoom from starting.

  • UIProcess/PageClient.h:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::gestureEventWasNotHandledByWebCore):
Plumb gestureEventWasNotHandledByWebCore back from WebPageProxy to WKView.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleGestureEvent):
(WebKit::WebPageProxy::didReceiveEvent):

  • UIProcess/WebPageProxy.h:

Forward gesture events to EventDispatcher, and let WKView know when WebCore
passes on handling them.

  • UIProcess/mac/ViewGestureController.h:

(WebKit::ViewGestureController::hasActiveMagnificationGesture):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::gestureEventWasNotHandledByWebCore):
(WebKit::ViewGestureController::handleMagnificationGestureEvent):
Don't try to start a zoom with anything other than a Begin phase event.
Try to start a zoom with any events that WebCore doesn't handle.
Move dispatch of endMagnificationGesture into ViewGestureController;
there is no reason for that to be in WKView anymore.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::gestureEvent):
(WebKit::EventDispatcher::dispatchGestureEvent):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/EventDispatcher.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::handleGestureEvent):
(WebKit::WebPage::gestureEvent):

  • WebProcess/WebPage/WebPage.h:

Dispatch to the main thread and hand off the gesture event to WebCore,
asynchronously informing the UI process of whether the event was handled or not.

  • Configurations/FeatureDefines.xcconfig:

New feature flag.

  • Configurations/FeatureDefines.xcconfig:

New feature flag.

11:01 AM Changeset in webkit [191298] by ChangSeok Oh
  • 2 edits in trunk/Tools

REGRESSION(r190262): User media unit test failures after r190262
https://bugs.webkit.org/show_bug.cgi?id=149580

Reviewed by Carlos Garcia Campos.

The test failures on usermedia-permission-requests and WebKit2.UserMediaBasic have gone.
So we do not need to skip them anymore.

  • Scripts/run-gtk-tests:

(TestRunner): Deleted.

10:58 AM Changeset in webkit [191297] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Build fix after r191295

Unreviewed.

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::resetPlatformCTM):

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

Removing Yosemite-only flag for flaky test http/tests/media/video-query-url.html
https://bugs.webkit.org/show_bug.cgi?id=141085

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-19
Reviewed by Alexey Proskuryakov.

  • platform/mac-wk2/TestExpectations:
10:28 AM Changeset in webkit [191295] by mmaxfield@apple.com
  • 11 edits in trunk/Source/WebCore

Host GraphicsContext's CTM inside GraphicsContextState
https://bugs.webkit.org/show_bug.cgi?id=150146

Reviewed by Simon Fraser.

There are 6 operations which interact with CTMs:

  • Get
  • Set
  • Concatenate
  • Scale
  • Rotate
  • Translate

This patch modifies all these operations so that these operations shadow the
platform's CTM inside GraphicsContextState. This way, we don't have to consult
with the underlying graphics context in order to know the current CTM.

There are currently many places in the Core Graphics ports where we will change
the platform's CTM out from under the GraphicsContext. This patch migrates
those users to going through GraphicsContext, thereby preserving the integrity
of the shadowed state.

No new tests because there is no behavior change.

  • platform/graphics/GraphicsContext.cpp: Setters deletate to platform calls.

The getter can just consult with the shadowed state.
(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::setCTM):
(WebCore::GraphicsContext::getCTM):
(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::applyDeviceScaleFactor):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::checkCTMInvariants): Make sure the shadowed state
matches the platform graphics context's state.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: Renaming functions.

(WebCore::GraphicsContext::resetPlatformCTM):
(WebCore::GraphicsContext::getPlatformCTM):
(WebCore::GraphicsContext::translatePlatformCTM):
(WebCore::GraphicsContext::concatPlatformCTM):
(WebCore::GraphicsContext::setPlatformCTM):
(WebCore::GraphicsContext::rotatePlatformCTM):
(WebCore::GraphicsContext::scalePlatformCTM):
(WebCore::GraphicsContext::getCTM): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::scale): Deleted.

  • platform/graphics/cg/GraphicsContextCG.cpp: Renaming functions. Also,

migrate CTM setters to go through GraphicsContext.
(WebCore::GraphicsContext::resetPlatformCTM):
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::drawPatternCallback):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::scalePlatformCTM):
(WebCore::GraphicsContext::rotatePlatformCTM):
(WebCore::GraphicsContext::translatePlatformCTM):
(WebCore::GraphicsContext::concatPlatformCTM):
(WebCore::GraphicsContext::setPlatformCTM):
(WebCore::GraphicsContext::getPlatformCTM):
(WebCore::GraphicsContext::scale): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::getCTM): Deleted.

  • platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:

(WebCore::GraphicsContextPlatformPrivate::save):
(WebCore::GraphicsContextPlatformPrivate::restore):
(WebCore::GraphicsContextPlatformPrivate::flush):
(WebCore::GraphicsContextPlatformPrivate::clip):
(WebCore::GraphicsContextPlatformPrivate::scale):
(WebCore::GraphicsContextPlatformPrivate::rotate):
(WebCore::GraphicsContextPlatformPrivate::translate):
(WebCore::GraphicsContextPlatformPrivate::concatCTM):
(WebCore::GraphicsContextPlatformPrivate::setCTM):

  • platform/graphics/transforms/AffineTransform.h:

(WebCore::AffineTransform::isEssentiallyEqualTo): Equality comparison on floats
is not a good idea. Instead, this function is more valuable. (However, note that
it is expected for values in a CTM to hold values close to 0, which means that
this function might erroneously return false (similar to operator=()).

  • platform/graphics/win/GraphicsContextWin.cpp:

(WebCore::GraphicsContextPlatformPrivate::scale):
(WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
(WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.

  • platform/mac/DragImageMac.mm:

(WebCore::drawAtPoint):

9:52 AM Changeset in webkit [191294] by Chris Dumez
  • 5 edits in trunk

Null dereference loading Blink layout test fast/forms/color/input-color-onchange-event.html
https://bugs.webkit.org/show_bug.cgi?id=150192
<rdar://problem/23135050>

Reviewed by Darin Adler.

Source/WebCore:

Calling internals.selectColorInColorChooser() with a non-Element would
cause a null dereference. This is because in such case, the implementation
method is passed a null pointer and we would fail to null-check it. This
patch now does the null-check.

No new tests, existing test was updated.

  • testing/Internals.cpp:

(WebCore::Internals::selectColorInColorChooser):

LayoutTests:

Import more checks from the corresponding Blink test.

  • fast/forms/color/input-color-onchange-event-expected.txt:
  • fast/forms/color/input-color-onchange-event.html:
9:36 AM Changeset in webkit [191293] by calvaris@igalia.com
  • 3 edits in trunk/LayoutTests

[Streams API] Update readable-stream-reader tests to latest spec
https://bugs.webkit.org/show_bug.cgi?id=149699

Reviewed by Darin Adler.

  • streams/reference-implementation/readable-stream-reader-expected.txt: Updated expectations.
  • streams/reference-implementation/readable-stream-reader.html: Updated tests.
9:34 AM Changeset in webkit [191292] by calvaris@igalia.com
  • 2 edits in trunk/LayoutTests

[Streams API] Update readable-stream-controller-error tests against latest reference
https://bugs.webkit.org/show_bug.cgi?id=149700

Reviewed by Darin Adler.

  • streams/readable-stream-controller-error.html: Updated tests.
9:20 AM Changeset in webkit [191291] by Csaba Osztrogonác
  • 4 edits in trunk/Source/JavaScriptCore

Fix the ENABLE(WEBASSEMBLY) build after r190827
https://bugs.webkit.org/show_bug.cgi?id=150330

Reviewed by Geoffrey Garen.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock): Removed the duplicated VM argument.

  • bytecode/CodeBlock.h:

(JSC::WebAssemblyCodeBlock::create): Added new parameters to finishCreation() calls.
(JSC::WebAssemblyCodeBlock::WebAssemblyCodeBlock): Change VM parameter to pointer to match *CodeBlock classes.

  • runtime/Executable.cpp:

(JSC::WebAssemblyExecutable::prepareForExecution): Removed extra ")" and pass pointer as it is expected.

9:13 AM Changeset in webkit [191290] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

DoubleRep fails to convert SpecBoolean values.
https://bugs.webkit.org/show_bug.cgi?id=150313

Reviewed by Geoffrey Garen.

This was uncovered by the op_sub stress test on 32-bit builds. On 32-bit builds,
DoubleRep will erroneously convert 'true' to a 'NaN' instead of a double 1.
On 64-bit, the same issue exists but is masked by another bug in DoubleRep where
boolean values will always erroneously trigger a BadType OSR exit.

The erroneous conversion of 'true' to 'NaN' is because the 'true' case in
compileDoubleRep() is missing a jump to the "done" destination. Instead, it
fall through to the "isUndefined" case where it produces a NaN.

The 64-bit erroneous BadType OSR exit is due to the boolean type check being
implemented incorrectly. It was checking if any bits other than bit 0 were set.
However, boolean JS values always have TagBitBool (the 3rd bit) set. Hence, the
check will always fail if we have a boolean value.

This patch fixes both of these issues.

No new test is needed because these issues are already covered by scenarios in
the op_sub.js stress test. This patch also fixes the op_sub.js test to throw an
exception if any failures are encountered (as expected by the stress test
harness). This patch also re-worked the test code to provide more accurate
descriptions of each test scenario for error reporting.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileDoubleRep):

  • tests/stress/op_sub.js:

(generateScenarios):
(func):
(initializeTestCases):
(runTest):
(stringify): Deleted.

9:10 AM Changeset in webkit [191289] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(CSS_GRID_LAYOUT) build after r190840
https://bugs.webkit.org/show_bug.cgi?id=150322

Reviewed by Ryosuke Niwa.

  • html/HTMLDetailsElement.cpp:
3:45 AM Changeset in webkit [191288] by youenn.fablet@crf.canon.fr
  • 6 edits in trunk/Source/WebCore

Binding generator should generate names for JSBuiltins partial interface methods using ImplementedBy value
https://bugs.webkit.org/show_bug.cgi?id=150163

Reviewed by Darin Adler.

Covered by updated binding tests.

Updating generation of JS built-in function/attribute name to use the ImplementedBy value of the interface if any.
This allows splitting JS built-ins just like is done for IDLs.
Updated accordingly the JS Builtin header include.

  • bindings/scripts/CodeGeneratorJS.pm:

(GetAttributeGetterName): Updated to pass function object and not only function name.
(GetAttributeSetterName): Ditto.
(GetFunctionName): Removed unneeded code plus updated to pass function object and not only function name.
(GenerateConstructorHelperMethods): Making direct use of GetJSBuiltinFunctionNameFromString since there is no function object for the constructor.
(GetJSBuiltinFunctionName): Updated to take into accound ImplementedBy value if any.
(GetJSBuiltinFunctionNameFromString):
(GetJSBuiltinScopeName): Returns either the interface name or its ImplementedBy value.
(AddJSBuiltinIncludesIfNeeded): Updating name of the header in case of partial interface.

  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/ObjC/DOMTestInterface.h:
  • bindings/scripts/test/ObjC/DOMTestInterface.mm:

(-[DOMTestInterface builtinAttribute]):
(-[DOMTestInterface setBuiltinAttribute:]):
(-[DOMTestInterface builtinFunction]):

  • bindings/scripts/test/TestSupplemental.idl: Added JSBuiltin attribute and function.
3:36 AM Changeset in webkit [191287] by youenn.fablet@crf.canon.fr
  • 14 edits
    1 add in trunk/Source/WebCore

Binding generator should allow generating private JS functions
https://bugs.webkit.org/show_bug.cgi?id=150167

Reviewed by Darin Adler.

Introducing the "Private" keyword for that purpose.
Applying it to MediaDevices.getUserMedia which can be used directly or through navigator.webkitGetUserMedia
which could be implemented as JS builtin based on it.

"Private" functions are added to the prototype with a corresponding private symbol.
This symbol must be defined in bindings/js/WebCoreBuiltinNames.h.

Adding a getUserMediaFromJS function visible from builtins script.
Implementing MediaDevices.getUserMedia as a JS builtin based on it.

Adding binding generator test.

  • CMakeLists.txt: Adding MediaDevices.js.
  • DerivedSources.make: Ditto.
  • Modules/mediastream/MediaDevices.h:

(WebCore::MediaDevices::getUserMediaFromJS):

  • Modules/mediastream/MediaDevices.idl: Marking getUserMediaFromJS private and getUserMedia JSBuiltin.
  • Modules/mediastream/MediaDevices.js: Added.

(getUserMedia):

  • bindings/js/WebCoreBuiltinNames.h:
  • bindings/js/WebCoreJSBuiltins.cpp:
  • bindings/js/WebCoreJSBuiltins.h:

(WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
(WebCore::JSBuiltinFunctions::mediaDevicesBuiltins):

  • bindings/scripts/CodeGeneratorGObject.pm: Skipping generation of Private functions.

(SkipFunction):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation): Disabling addition of private function in table and adding private member field to the prototype.

  • bindings/scripts/CodeGeneratorObjC.pm: Skipping generation of Private functions.

(SkipFunction):

  • bindings/scripts/IDLAttributes.txt: Adding Private keyword.
  • bindings/scripts/test/JS/JSTestObj.cpp: Adding Private keyword test.

(WebCore::JSTestObjPrototype::finishCreation):
(WebCore::jsTestObjPrototypeFunctionPrivateMethod):

  • bindings/scripts/test/TestObj.idl:
3:16 AM Changeset in webkit [191286] by Yusuke Suzuki
  • 8 edits in trunk/Source/JavaScriptCore

Drop !newTarget check since it always becomes true
https://bugs.webkit.org/show_bug.cgi?id=150308

Reviewed by Geoffrey Garen.

In a context of calling a constructor, newTarget should not become JSEmpty.
So !newTarget always becomes true. This patch drops this unneccessary check.
And to ensure the implementation of the constructor is only called under
the context of calling it as a constructor, we change these functions to
static and only use them for constructor implementations of InternalFunction.

  • runtime/IntlCollatorConstructor.cpp:

(JSC::constructIntlCollator):
(JSC::callIntlCollator):

  • runtime/IntlCollatorConstructor.h:
  • runtime/IntlDateTimeFormatConstructor.cpp:

(JSC::constructIntlDateTimeFormat):
(JSC::callIntlDateTimeFormat):

  • runtime/IntlDateTimeFormatConstructor.h:
  • runtime/IntlNumberFormatConstructor.cpp:

(JSC::constructIntlNumberFormat):
(JSC::callIntlNumberFormat):

  • runtime/IntlNumberFormatConstructor.h:
  • runtime/JSPromiseConstructor.cpp:

(JSC::constructPromise):

3:09 AM Changeset in webkit [191285] by youenn.fablet@crf.canon.fr
  • 5 edits in trunk

[Streams API] Implement ReadableStream tee
https://bugs.webkit.org/show_bug.cgi?id=146315

Reviewed by Darin Adler.

Source/WebCore:

Covered by rebased test.

  • Modules/streams/ReadableStream.js:

(tee): Removing not implemented exception throwing.

  • Modules/streams/ReadableStreamInternals.js:

(teeReadableStream): Implementing as per spec.
(teeReadableStreamPullFunction): Ditto.
(teeReadableStreamBranch2CancelFunction): Ditto.

LayoutTests:

  • streams/reference-implementation/readable-stream-tee-expected.txt:
2:48 AM Changeset in webkit [191284] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] ASSERTION FAILED: parent in WebInspectorProxy::platformDetach()
https://bugs.webkit.org/show_bug.cgi?id=150319

Reviewed by Žan Doberšek.

This happens when the inspector is shown/closed very
quickly. Since we start the inspector attached by default, when
the web inspector is created m_isAttached is set to true, so that
when opened, it's attached to the view. If the inspector is closed
before it has been actually attached, the inspector view doesn't
have a parent, even if the m_isAttached is true. So, we should
handle this case instead of asserting. This is what happens in
test http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash.html.

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformDetach): Remove the view from
its parent container if it was actually attached.

2:46 AM Changeset in webkit [191283] by calvaris@igalia.com
  • 30 edits
    2 adds in trunk

[Streams API] Add skeleton for initial WritableStream support
https://bugs.webkit.org/show_bug.cgi?id=149951

Reviewed by Darin Adler.

Source/WebCore:

This basically adds an empty WritableStream object without initializing the object. It also adds all empty
methods by raising an exception.

The reason why the object is not fully initialized is that it requires some other support and some refactorings
to share more code with ReadableStream and we will make in following patches.

Tests are covered by current set and their expectations are properly updated.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreJSBuiltins.cpp:
  • bindings/js/WebCoreJSBuiltins.h: Build infrastructure.
  • Modules/streams/WritableStream.idl: Added all methods and attributes.
  • Modules/streams/WritableStream.js:

(initializeWritableStream):
(abort):
(close):
(write):
(closed):
(ready):
(state): Added all by throwing an EvalError.

Source/WebInspectorUI:

  • UserInterface/Models/NativeFunctionParameters.js: Added support for WritableStream.

LayoutTests:

Changed expectations to accomodate the WritableStream skeleton, including global-constructors-attributes.

  • js/dom/global-constructors-attributes-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
  • streams/reference-implementation/bad-strategies-expected.txt:
  • streams/reference-implementation/bad-underlying-sinks-expected.txt:
  • streams/reference-implementation/brand-checks-expected.txt:
  • streams/reference-implementation/byte-length-queuing-strategy-expected.txt:
  • streams/reference-implementation/count-queuing-strategy-expected.txt:
  • streams/reference-implementation/pipe-through-expected.txt:
  • streams/reference-implementation/pipe-to-expected.txt:
  • streams/reference-implementation/pipe-to-options-expected.txt:
  • streams/reference-implementation/readable-stream-templated-expected.txt:
  • streams/reference-implementation/writable-stream-abort-expected.txt:
  • streams/reference-implementation/writable-stream-expected.txt:
2:13 AM Changeset in webkit [191282] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[EFL] Implement WebContextMenuProxyEfl::showContextMenu after r191194
https://bugs.webkit.org/show_bug.cgi?id=150310

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-10-19
Reviewed by Gyuyoung Kim.

showContextMenu() doesn't work correctly after r191194 in EFL port.
This patch implements WebContextMenuProxyEfl::showContextMenu.

  • UIProcess/efl/WebContextMenuProxyEfl.cpp:

(WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
(WebKit::WebContextMenuProxyEfl::showContextMenu):
(WebKit::WebContextMenuProxyEfl::hideContextMenu):

  • UIProcess/efl/WebContextMenuProxyEfl.h:
1:56 AM Changeset in webkit [191281] by jcraig@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: AX: console list 'input'/'output' markers are not perceivable
https://bugs.webkit.org/show_bug.cgi?id=133045

Enabling WebKit Web Inspector console pseudo-element labels using the new CSS4 'alt' property.

Reviewed by Brian Burg.

  • UserInterface/Views/LogContentView.css:

(.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
(.console-messages:focus .console-item.selected .console-user-command-result.console-log-level::before):
(@media reader): Deleted.

12:17 AM Changeset in webkit [191280] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Add historical addresses to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=150227

Reviewed by Darin Adler.

  • Scripts/webkitpy/common/config/contributors.json:
12:08 AM Changeset in webkit [191279] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[WK2] Simplify unused return warning in WKRetainPtr.h
https://bugs.webkit.org/show_bug.cgi?id=150173

Reviewed by Darin Adler.

  • UIProcess/API/cpp/WKRetainPtr.h:

(WebKit::attribute):
(WebKit::adoptWK): Deleted.

Oct 18, 2015:

11:49 PM Changeset in webkit [191278] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Fix the ENABLE(SECCOMP_FILTERS) build after r187030
https://bugs.webkit.org/show_bug.cgi?id=150172

Reviewed by Alexey Proskuryakov.

  • Shared/linux/SeccompFilters/Syscall.cpp:

(WebKit::reportUnexpectedSyscall):

7:26 PM Changeset in webkit [191277] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Win] Change the DLL name in MiniBrowserLib.vcxproj to match webkit.org/b/150124.
https://bugs.webkit.org/show_bug.cgi?id=150307

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-10-18
Reviewed by Brent Fulgham.

The DLL build rules have been changed to generate "{Name}Lib.DLL",
but these changes have not yet been applied to the Visual Studio builds.

  • MiniBrowser/MiniBrowser.vcxproj/MiniBrowserLib.vcxproj:
5:51 PM Changeset in webkit [191276] by Yusuke Suzuki
  • 5 edits
    2 moves
    2 adds in trunk

Promise constructor should throw when not called with "new"
https://bugs.webkit.org/show_bug.cgi?id=149380

Reviewed by Darin Adler.

Source/JavaScriptCore:

Implement handling new.target in Promise constructor. And
prohibiting Promise constructor call without "new".

  • runtime/JSPromiseConstructor.cpp:

(JSC::constructPromise):
(JSC::callPromise):
(JSC::JSPromiseConstructor::getCallData):

  • tests/es6.yaml:
  • tests/stress/promise-cannot-be-called.js: Added.

(shouldBe):
(shouldThrow):
(Deferred):
(super):

LayoutTests:

Fix js/dom/Promise-types.html. Before this change, it calls the Promise constructor without new and
expects it succeeds. And we move it from js/dom to js since we can execute this without DOM support.

  • js/Promise-types-expected.txt: Renamed from LayoutTests/js/dom/Promise-types-expected.txt.
  • js/Promise-types.html: Added.
  • js/script-tests/Promise-types.js: Renamed from LayoutTests/js/dom/Promise-types.html.

(aPromise.new.Promise):
(debug.string_appeared_here.shouldThrow.Promise):

  • resources/standalone-pre.js:

(shouldBeDefined):

5:36 PM Changeset in webkit [191275] by Yusuke Suzuki
  • 10 edits in trunk/Source/JavaScriptCore

[ES6] Handle asynchronous tests in tests/es6
https://bugs.webkit.org/show_bug.cgi?id=150293

Reviewed by Darin Adler.

Since JSC can handle microtasks, some of ES6 Promise tests can be executed under the JSC shell.
Some of them still fail because it uses setTimeout that invokes macrotasks with explicit delay.

  • tests/es6.yaml:
  • tests/es6/Promise_Promise.all.js:

(test.asyncTestPassed):
(test):

  • tests/es6/Promise_Promise.all_generic_iterables.js:

(test.asyncTestPassed):
(test):

  • tests/es6/Promise_Promise.race.js:

(test.asyncTestPassed):
(test):

  • tests/es6/Promise_Promise.race_generic_iterables.js:

(test.asyncTestPassed):
(test):

  • tests/es6/Promise_basic_functionality.js:

(test.asyncTestPassed):
(test):

  • tests/es6/Promise_is_subclassable_Promise.all.js:

(test.asyncTestPassed):
(test):

  • tests/es6/Promise_is_subclassable_Promise.race.js:

(test.asyncTestPassed):
(test):

  • tests/es6/Promise_is_subclassable_basic_functionality.js:

(test.asyncTestPassed):
(test):

5:29 PM Changeset in webkit [191274] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Console Search should update when console is cleared
https://bugs.webkit.org/show_bug.cgi?id=150141

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-18
Reviewed by Brian Burg.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._logCleared):
Reperform the search if there is a search query.

(WebInspector.LogContentView.prototype._filterMessageElements):
Reperform the current search.

4:51 PM Changeset in webkit [191273] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Marking fast/canvas/webgl/oes-texture-float-linear.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=149930

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-18
Reviewed by Darin Adler.

  • platform/mac/TestExpectations:
4:47 PM Changeset in webkit [191272] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Remove WebKitContextMenu related missing annotation warnings
https://bugs.webkit.org/show_bug.cgi?id=150299

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-10-18
Reviewed by Darin Adler.

The warnings occur currently because when executing g-ir-scanner,
it doesn't consider WebKitContextMenu related .cpp files,
but only .h files.

  • PlatformGTK.cmake: Add WebKitContextMenu related cpp files.
4:47 PM Changeset in webkit [191271] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Marking webarchive/loading/object.html as flaky due to crashes
https://bugs.webkit.org/show_bug.cgi?id=150241
<rdar://problem/21690723>

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-18
Reviewed by Darin Adler.

  • platform/mac-wk2/TestExpectations:
4:43 PM Changeset in webkit [191270] by Chris Dumez
  • 4 edits in trunk

Script element with an empty for or event attributes should not execute
https://bugs.webkit.org/show_bug.cgi?id=148855
<rdar://problem/22588156>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline existing W3C HTML test now that more checks are passing.

  • web-platform-tests/html/semantics/scripting-1/the-script-element/script-for-event-expected.txt:

Source/WebCore:

A script element with an empty for or event attributes should not execute
as per:
https://html.spec.whatwg.org/multipage/scripting.html#prepare-a-script (step 12)

Our implementation had a bug where it would not correctly differentiate
an empty attribute from a missing one. This patch fixes this.

No new tests, already covered by existing test.

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::isScriptForEventSupported):

4:42 PM Changeset in webkit [191269] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Marking media/event-queue-crash.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=114177

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-18
Reviewed by Darin Adler.

  • platform/mac/TestExpectations:
4:41 PM Changeset in webkit [191268] by Chris Dumez
  • 7 edits in trunk

WebKit must support all JavaScript MIME types in HTML5 spec
https://bugs.webkit.org/show_bug.cgi?id=148854
<rdar://problem/22588195>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline W3C HTML test now that more checks are passing.

  • web-platform-tests/html/semantics/scripting-1/the-script-element/script-languages-02-expected.txt:

Source/WebCore:

WebKit did not execute certain EcmaScript MIME types although the HTML
specification says all user agents should support those:
https://html.spec.whatwg.org/multipage/scripting.html#javascript-mime-type

In particular, the following MIME types are now recognized as valid and
executed: "application/x-ecmascript", "text/javascript1.0",
"text/javascript1.4", "text/javascript1.5", "text/x-javascript",
"text/x-ecmascript".

The new behavior is consistent with Firefox.

No new tests, already covered by existing test.

  • platform/MIMETypeRegistry.cpp:

(WebCore::initializeSupportedJavaScriptMIMETypes):

LayoutTests:

Rebaseline several existing layout tests now that we execute
more JS MIME types.

  • fast/html/script-allowed-types-languages-expected.txt:
  • fast/tokenizer/004-expected.txt:
4:39 PM Changeset in webkit [191267] by commit-queue@webkit.org
  • 8 edits in trunk/Source

[Win] Fix the Windows builds.
https://bugs.webkit.org/show_bug.cgi?id=150300

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-10-18
Reviewed by Darin Adler.

Source/JavaScriptCore:

Add missing files to JavaScriptCore.vcxproj.

Source/WebCore:

Add missing files to WebCore.vcxproj.
Add missing #includes to CSSAllInOne.cpp and HTMLElementsAllInOne.cpp.

No new tests, no behavior change.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • css/CSSAllInOne.cpp:
  • html/HTMLElementsAllInOne.cpp:
4:36 PM Changeset in webkit [191266] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the builds with ENABLE_CONTENT_EXTENSIONS=OFF.
https://bugs.webkit.org/show_bug.cgi?id=150302

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-10-18
Reviewed by Darin Adler.

Add missing #if ENABLE(CONTENT_EXTENSIONS).

No new tests, no behavior change.

  • page/UserContentController.h:
4:29 PM Changeset in webkit [191265] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[EFL] Fix debug build break since r191198
https://bugs.webkit.org/show_bug.cgi?id=150277

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-10-18
Reviewed by Darin Adler.

No new tests, no new behaviours.

Use the correct %"PRIu64" for uint64_t,
instead of %llu.

  • Modules/indexeddb/client/IDBDatabaseImpl.cpp:

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

  • Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:

(WebCore::IDBClient::IDBOpenDBRequest::onUpgradeNeeded):

  • Modules/indexeddb/legacy/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::processPendingOpenCalls):
(WebCore::IDBDatabaseBackend::openConnectionInternal):

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::notifyConnectionsOfVersionChange):

4:27 PM Changeset in webkit [191264] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Fix the builds with ENABLE_INDEX_DATABASE=OFF.
https://bugs.webkit.org/show_bug.cgi?id=150301

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-10-18
Reviewed by Darin Adler.

Add missing #if ENABLE(INDEXED_DATABASE).

Source/WebCore:

No new tests, no behavior change.

  • page/Page.cpp:

Source/WebKit:

  • Storage/WebDatabaseProvider.h:
4:24 PM Changeset in webkit [191263] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

[Cocoa] [Win] Remove unused code from GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=150304

Reviewed by Darin Adler.

No new tests because there is no behavior change.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::setAllowsFontSmoothing): Deleted.

3:15 PM Changeset in webkit [191262] by Antti Koivisto
  • 11 edits
    2 adds in trunk

Computed style should work correctly with slotted elements that have display:none
https://bugs.webkit.org/show_bug.cgi?id=150237

Source/WebCore:

Reviewed by Andreas Kling..

If an element has display:none we don't normally retain or even compute its style (as it is not rendered).
If getComputedStyle is invoked for such element we resolve the style (along with any ancestors) and cache
it separately to rare data. This path needs to work with slotted elements in shadow trees.

This patch also make computedStyle() iterative rather than recursive.

Test: fast/shadow-dom/computed-style-display-none.html

  • dom/Document.cpp:

(WebCore::Document::styleForElementIgnoringPendingStylesheets):

Pass in the parent style instead of invoking computedStyle() recursively.

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::beforeOrAfterPseudoElement):
(WebCore::Element::existingComputedStyle):
(WebCore::Element::resolveComputedStyle):

Iterative resolve function that uses composed tree iterator.

(WebCore::Element::computedStyle):

Factor into helpers.

  • dom/Element.h:
  • dom/Node.cpp:

(WebCore::Node::computedStyle):

Use the composed tree iterator.

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::selectOption):

Call updateValidity() before calling renderer->updateFromElement(). Calling updateFromElement()
may end up in Element::computedStyle() which can asserts if validity is not up to date.

LayoutTests:

Reviewed by Andreas Kling.

  • editing/style/apply-style-atomic-expected.txt:

Rebase.

  • fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt:
  • fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html:

We now also compute style of display:none pseudo elements correctly.
This is a progression and matches other browsers.

  • fast/shadow-dom/computed-style-display-none-expected.txt: Added.
  • fast/shadow-dom/computed-style-display-none.html: Added.
10:19 AM Changeset in webkit [191261] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Build fix after r191260

Unreviewed.

  • WebView/WebView.mm:

(+[WebView initialize]):

9:36 AM Changeset in webkit [191260] by mmaxfield@apple.com
  • 10 edits in trunk/Source

Stop honoring the user default "WebKitKerningAndLigaturesEnabledByDefault"
https://bugs.webkit.org/show_bug.cgi?id=150287

Reviewed by Simon Fraser.

Source/WebCore:

This user default is currently on by default. Therefore, by setting the user default,
users can only disable kerning / ligatures (rather than enable it).

There are a few reasons why we should stop honoring it:

  1. In the brave new world of font-feature-settings and font-variant-ligatures, there

are many different kinds of ligatures which may be enabled at will. The simplistic
statement of "turn on ligatures" no longer has any meaning.

  1. If a user wants to disable kerning / ligatures, he/she can do it with a user

stylesheet.

  1. The default isn't able to be tested with DumpRenderTree or WebKitTestRunner.
  1. I have never heard of anyone actually using this user default.
  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::setDefaultKerning): Deleted.
(WebCore::FontCascade::setDefaultLigatures): Deleted.

  • platform/graphics/FontCascade.h:

(WebCore::FontCascade::advancedTextRenderingMode):

Source/WebKit/mac:

  • WebView/WebView.mm:

(+[WebView initialize]): Deleted.

Source/WebKit2:

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Deleted.
(WebKit::WebProcessCreationParameters::encode): Deleted.
(WebKit::WebProcessCreationParameters::decode): Deleted.

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::registerUserDefaultsIfNeeded): Deleted.
(WebKit::WebProcessPool::platformInitializeWebProcess): Deleted.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess): Deleted.

6:30 AM Changeset in webkit [191259] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Mark css variables tests to pass
with incorrect result. Because the pass is not verified yet.

  • platform/efl/TestExpectations:
12:58 AM Changeset in webkit [191258] by Yusuke Suzuki
  • 3 edits in trunk/Source/WebKit2

[GTK] Implement WebContextMenuProxyGtk::showContextMenu after r191194
https://bugs.webkit.org/show_bug.cgi?id=150276

Reviewed by Carlos Garcia Campos.

After r191194, showContextMenu signature becomes changed, and the implementation
is moved from the generic file to the Mac port. It poses the compile error in GTK port.
This patch implements WebContextMenuProxyGtk::showContextMenu. The logic is the same
to the old one except for dropping SERVICE_CONTROLS support. This is because
SERVICE_CONTROLS is not related to GTK.

  • UIProcess/gtk/WebContextMenuProxyGtk.cpp:

(WebKit::WebContextMenuProxyGtk::showContextMenu):

  • UIProcess/gtk/WebContextMenuProxyGtk.h:
12:11 AM Changeset in webkit [191257] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Fix a copy/paste mistake in the previous commit.

  • platform/mac-wk2/TestExpectations:
12:08 AM Changeset in webkit [191256] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Add one more flaky Blink test to TestExpectations.

  • platform/mac-wk2/TestExpectations:
12:02 AM Changeset in webkit [191255] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Unreviewed, rolling out r191250 and r191253.
https://bugs.webkit.org/show_bug.cgi?id=150296

Broke all the tests on Windows (Requested by ap on #webkit).

Reverted changesets:

"Stop honoring the user default
"WebKitKerningAndLigaturesEnabledByDefault""
https://bugs.webkit.org/show_bug.cgi?id=150287
http://trac.webkit.org/changeset/191250

"Build fix after r191250"
http://trac.webkit.org/changeset/191253

Oct 17, 2015:

5:25 PM Changeset in webkit [191254] by mark.lam@apple.com
  • 2 edits in trunk/Source/WTF

Add CPU(X86) to the supported MASM_PROBE CPUs. This was accidentally left out in r191197.

Not reviewed.

  • wtf/Platform.h:
5:00 PM Changeset in webkit [191253] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Build fix after r191250

Unreviewed.

  • WebView/WebView.mm:

(+[WebView initialize]):

4:13 PM Changeset in webkit [191252] by hyatt@apple.com
  • 15 edits
    16 adds in trunk

Implement the CSS4 'revert' keyword.
https://bugs.webkit.org/show_bug.cgi?id=149702

Reviewed by Simon Fraser.

Source/WebCore:

Added new tests in fast/css and fast/css/variables.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:

Add CSSRevertValue to the project and makefiles.

  • css/CSSParser.cpp:

(WebCore::parseKeywordValue):
Make sure to handle "revert" in the keyword parsing path (along with inherit/initial/unset).

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseCustomPropertyDeclaration):
At the parser level, "revert" is just like inherit/initial/unset and gets its own special
singleton value, CSSRevertValue.

  • css/CSSRevertValue.cpp: Added.

(WebCore::CSSRevertValue::customCSSText):

  • css/CSSRevertValue.h: Added.

(WebCore::CSSRevertValue::create):
(WebCore::CSSRevertValue::equals):
(WebCore::CSSRevertValue::CSSRevertValue):
This value is identical to the inherit/initial/unset values, i.e., its own special value
that can be used to indicate a revert when doing style resolution.

  • css/CSSValue.cpp:

(WebCore::CSSValue::cssValueType):
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):

  • css/CSSValue.h:

(WebCore::CSSValue::isInheritedValue):
(WebCore::CSSValue::isInitialValue):
(WebCore::CSSValue::isUnsetValue):
(WebCore::CSSValue::isRevertValue):
Add the RevertClass to CSSValue and make sure it is handled in all the appropriate methods.

  • css/CSSValueKeywords.in:

Add the "revert" keyword to the list of allowed CSS keywords.

  • css/CSSValuePool.cpp:

(WebCore::CSSValuePool::CSSValuePool):

  • css/CSSValuePool.h:

(WebCore::CSSValuePool::createRevertValue):
Add support for a CSSRevertValue singleton, just like inherit/unset/initial.

  • css/FontLoader.cpp:

(WebCore::FontLoader::resolveFontStyle):
Add "unset" and "revert" as special keywords to be ignored. This code seems to be turned off,
but patching it anyway.

  • css/SelectorChecker.h:

Add a MatchDefault value of 0 to the LinkMatchMask. This enables it to be used as an index
to the correct value in Property (in the style resolution code).

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::initForStyleResolve):
Delete any lingering old CascadedProperty rollbacks for UA/user rules.

(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::applyMatchedProperties):
Pass along the MatchResult as an additional parameter, since we need it to lazily compute
the cascade rollbacks if the "revert" keyword is encountered.

(WebCore::StyleResolver::cascadedPropertiesForRollback):
This method will lazily create and return a new CascadedProperties pointer that is cached
in the StyleResolver's state. This will contain only UA rules (for user reverts) and UA/user
rules (for author reverts). These will only be computed at most once for a given element
when doing a reversion, and they will be computed lazily, i.e., only if a revert is
requested.

(WebCore::StyleResolver::applyProperty):
Pass along the LinkMatchMask and the MatchResult to applyProperty. This way we know specifically
which link type we were computing if we have to revert (so that we roll back and look at the
same index in the reverted version). The MatchResult is passed along because it is needed
to build the CascadedProperties rollbacks.

The basic idea is that if a revert is encountered, the level that the rule came from is
checked. If it is UA level, just treat as "unset." If it is author or user level, get
the correct CascadedProperties rollback and repeat the applyProperty using the property
found in the rollback. If the property is not present in the cascade rollback, then the
revert becomes an unset.

(WebCore::StyleResolver::CascadedProperties::hasCustomProperty):
(WebCore::StyleResolver::CascadedProperties::customProperty):
Helpers used by applyProperty to check on custom properties, since they can revert too
just like a regular property can.

(WebCore::StyleResolver::CascadedProperties::setPropertyInternal):
(WebCore::StyleResolver::CascadedProperties::set):
(WebCore::StyleResolver::CascadedProperties::setDeferred):
Passing along the CascadeLevel (UA, User, Author) so that it can be stored in the Property.
This way when we do property application, we always know where the rule came from so
that the reversion can be handled properly.

(WebCore::StyleResolver::CascadedProperties::addStyleProperties):
(WebCore::cascadeLevelForIndex):
(WebCore::StyleResolver::CascadedProperties::addMatches):
When style properties are added, also figure out the CascadeLevel and pass it along to be
stored in the Property. We use the MatchResult's ranges to know where a property comes from.

(WebCore::StyleResolver::CascadedProperties::applyDeferredProperties):
(WebCore::StyleResolver::CascadedProperties::Property::apply):
(WebCore::StyleResolver::applyCascadedProperties):
Pass along the MatchResult so we know how to build the rollback.

  • css/StyleResolver.h:

(WebCore::StyleResolver::State::cascadeLevel):
(WebCore::StyleResolver::State::setCascadeLevel):
(WebCore::StyleResolver::State::authorRollback):
(WebCore::StyleResolver::State::userRollback):
(WebCore::StyleResolver::State::setAuthorRollback):
(WebCore::StyleResolver::State::setUserRollback):
(WebCore::StyleResolver::state):
(WebCore::StyleResolver::cascadeLevel):
(WebCore::StyleResolver::setCascadeLevel):
Move CascadedProperties into the header. Add CascadeLevel to Property. Add the level and
rollbacks to the resolver's state.

LayoutTests:

  • fast/css/all-keyword-revert-expected.html: Added.
  • fast/css/all-keyword-revert.html: Added.
  • fast/css/revert-color-expected.html: Added.
  • fast/css/revert-color.html: Added.
  • fast/css/revert-margins-expected.html: Added.
  • fast/css/revert-margins.html: Added.
  • fast/css/variables/all-keyword-revert-expected.html: Added.
  • fast/css/variables/all-keyword-revert.html: Added.
  • fast/css/variables/revert-inheritance-expected.html: Added.
  • fast/css/variables/revert-inheritance.html: Added.
  • fast/css/variables/revert-no-inheritance-expected.html: Added.
  • fast/css/variables/revert-no-inheritance.html: Added.
  • fast/css/variables/revert-variable-reference-expected.html: Added.
  • fast/css/variables/revert-variable-reference.html: Added.
3:40 PM Changeset in webkit [191251] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

Delete FontPlatformData::allowsLigatures()
https://bugs.webkit.org/show_bug.cgi?id=150286

Reviewed by Dan Bernstein.

Source/WebCore:

This function is only used to force ligatures on for complex fonts (where "complex"
means "does not support the letter 'a'"). However, ligatures are turned on for all
fonts by default, which means that this function is unnecessary.

Required ligatures, such as those which make these complex scripts legible, are always
enabled, no matter what.

Test: fast/text/required-ligatures.html

  • platform/graphics/FontPlatformData.h:
  • platform/graphics/cocoa/FontPlatformDataCocoa.mm:

(WebCore::FontPlatformData::allowsLigatures): Deleted.

  • platform/graphics/mac/SimpleFontDataCoreText.cpp:

(WebCore::Font::getCFStringAttributes):

LayoutTests:

Make sure it's impossible to turn off required ligatures with CSS.

  • fast/text/required-ligatures-expected.html: Added.
  • fast/text/required-ligatures.html: Added.
3:31 PM Changeset in webkit [191250] by mmaxfield@apple.com
  • 10 edits in trunk/Source

Stop honoring the user default "WebKitKerningAndLigaturesEnabledByDefault"
https://bugs.webkit.org/show_bug.cgi?id=150287

Reviewed by Simon Fraser.

Source/WebCore:

This user default is currently on by default. Therefore, by setting the user default,
users can only disable kerning / ligatures (rather than enable it).

There are a few reasons why we should stop honoring it:

  1. In the brave new world of font-feature-settings and font-variant-ligatures, there

are many different kinds of ligatures which may be enabled at will. The simplistic
statement of "turn on ligatures" no longer has any meaning.

  1. If a user wants to disable kerning / ligatures, he/she can do it with a user

stylesheet.

  1. The default isn't able to be tested with DumpRenderTree or WebKitTestRunner.
  1. I have never heard of anyone actually using this user default.
  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::setDefaultKerning): Deleted.
(WebCore::FontCascade::setDefaultLigatures): Deleted.

  • platform/graphics/FontCascade.h:

(WebCore::FontCascade::advancedTextRenderingMode):

Source/WebKit/mac:

  • WebView/WebView.mm:

(+[WebView initialize]): Deleted.

Source/WebKit2:

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Deleted.
(WebKit::WebProcessCreationParameters::encode): Deleted.
(WebKit::WebProcessCreationParameters::decode): Deleted.

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::registerUserDefaultsIfNeeded): Deleted.
(WebKit::WebProcessPool::platformInitializeWebProcess): Deleted.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess): Deleted.

2:32 PM Changeset in webkit [191249] by mitz@apple.com
  • 5 edits
    2 adds in trunk/Source

[Cocoa] Stop using WKAXRegisterRemoteApp
https://bugs.webkit.org/show_bug.cgi?id=150283

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • platform/spi/ios/GraphicsServicesSPI.h: Added declaration of GSSystemRootDirectory.

Source/WebKit2:

  • Platform/spi/mac: Added.
  • Platform/spi/mac/AppKitSPI.h: Added. Includes declaration of +[NSAccessibilityRemoteUIElement setRemoteUIApp:].
  • WebKit2.xcodeproj/project.pbxproj: Added reference to new header. Also changed the path of the Platform/spi/Cocoa group to the corresponding path in the source tree.
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::registerWithAccessibility): Added.
(WebKit::WebProcess::platformInitializeProcess): Use new registerWithAccessibility instead

of WKAXRegisterRemoteApp.

1:27 PM Changeset in webkit [191248] by fpizlo@apple.com
  • 9 edits
    1 add in trunk/Source/JavaScriptCore

Fix some generational heap growth pathologies
https://bugs.webkit.org/show_bug.cgi?id=150270

Reviewed by Andreas Kling.

When doing generational copying, we would pretend that the size of old space was increased
just by the amount of bytes we copied. In reality, it would be increased by the number of
bytes used by the copied blocks we created. This is a larger number, and in some simple
pathological programs, the difference can be huge.

Fixing this bug was relatively easy, and the only really meaningful change here is in
Heap::updateAllocationLimits(). But to convince myself that the change was valid, I had to
add some debugging code and I had to refactor some stuff so that it made more sense.

This change does obviate the need for m_totalBytesCopied, because we no longer use it in
release builds to decide how much heap we are using at the end of collection. But I added a
FIXME about how we could restore our use of m_totalBytesCopied. So, I kept the logic, for
now. The FIXME references https://bugs.webkit.org/show_bug.cgi?id=150268.

Relanding with build fix.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/CopiedBlock.cpp: Added.

(JSC::CopiedBlock::createNoZeroFill):
(JSC::CopiedBlock::destroy):
(JSC::CopiedBlock::create):
(JSC::CopiedBlock::zeroFillWilderness):
(JSC::CopiedBlock::CopiedBlock):

  • heap/CopiedBlock.h:

(JSC::CopiedBlock::didSurviveGC):
(JSC::CopiedBlock::createNoZeroFill): Deleted.
(JSC::CopiedBlock::destroy): Deleted.
(JSC::CopiedBlock::create): Deleted.
(JSC::CopiedBlock::zeroFillWilderness): Deleted.
(JSC::CopiedBlock::CopiedBlock): Deleted.

  • heap/CopiedSpaceInlines.h:

(JSC::CopiedSpace::startedCopying):

  • heap/Heap.cpp:

(JSC::Heap::updateObjectCounts):
(JSC::Heap::resetVisitors):
(JSC::Heap::capacity):
(JSC::Heap::protectedGlobalObjectCount):
(JSC::Heap::collectImpl):
(JSC::Heap::willStartCollection):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::didFinishCollection):
(JSC::Heap::sizeAfterCollect): Deleted.

  • heap/Heap.h:
  • heap/HeapInlines.h:

(JSC::Heap::shouldCollect):
(JSC::Heap::isBusy):
(JSC::Heap::collectIfNecessaryOrDefer):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::create):
(JSC::MarkedBlock::destroy):

12:38 PM Changeset in webkit [191247] by Chris Dumez
  • 25 edits
    4 adds in trunk

td and th should use HTMLTableDataCellElement and HTMLTableHeaderCellElement interfaces
https://bugs.webkit.org/show_bug.cgi?id=148859
<rdar://problem/22588664>

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

  • web-platform-tests/html/dom/interfaces-expected.txt:
  • web-platform-tests/html/semantics/interfaces-expected.txt:

Source/WebCore:

td and th should use HTMLTableDataCellElement and HTMLTableHeaderCellElement interfaces
as per the latest HTML specification:
https://html.spec.whatwg.org/multipage/tables.html#htmltabledatacellelement
https://html.spec.whatwg.org/multipage/tables.html#htmltableheadercellelement

This patch aligns our behavior with the specification and IE. Firefox and Chrome do not
seem to expose HTMLTableDataCellElement / HTMLTableHeaderCellElement at this time.

The compatibility risk is low, given that the API stays the same and those new
interfaces inherit the pre-existing HTMLTableCellElement interface.

No new tests, already covered by existing tests.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::HTMLTableCellElement):
(WebCore::HTMLTableCellElement::colSpan): Deleted.

  • html/HTMLTableCellElement.h:
  • html/HTMLTableCellElement.idl:
  • html/HTMLTableDataCellElement.h: Added.
  • html/HTMLTableDataCellElement.idl: Added.
  • html/HTMLTableHeaderCellElement.h: Added.
  • html/HTMLTableHeaderCellElement.idl: Added.
  • html/HTMLTableRowElement.cpp:

(WebCore::HTMLTableRowElement::insertCell):

  • html/HTMLTagNames.in:

LayoutTests:

Rebaseline existing tests now that new HTMLTableDataCellElement / HTMLTableHeaderCellElement
types are exposed.

  • fast/dom/wrapper-classes-expected.txt:
  • fast/dom/wrapper-classes.html:
  • js/dom/global-constructors-attributes-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
12:14 PM Changeset in webkit [191246] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

RenderBlockFlow::xPositionForFloatIncludingMargin/yPositionForFloatIncludingMargin/flipFloatForWritingModeForChild
should all take FloatingObject reference.
https://bugs.webkit.org/show_bug.cgi?id=150267

Reviewed by Simon Fraser.

No change in behaviour.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::addOverflowFromFloats):
(WebCore::RenderBlockFlow::paintFloats):
(WebCore::RenderBlockFlow::clipOutFloatingObjects):
(WebCore::RenderBlockFlow::addOverhangingFloats):
(WebCore::RenderBlockFlow::flipFloatForWritingModeForChild):
(WebCore::RenderBlockFlow::hitTestFloats):
(WebCore::RenderBlockFlow::adjustForBorderFit):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::xPositionForFloatIncludingMargin):
(WebCore::RenderBlockFlow::yPositionForFloatIncludingMargin):

11:49 AM Changeset in webkit [191245] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Sort the project file.

  • WebCore.xcodeproj/project.pbxproj:
11:42 AM Changeset in webkit [191244] by commit-queue@webkit.org
  • 9 edits
    1 delete in trunk/Source/JavaScriptCore

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

Broke 32-bit builds (Requested by smfr on #webkit).

Reverted changeset:

"Fix some generational heap growth pathologies"
https://bugs.webkit.org/show_bug.cgi?id=150270
http://trac.webkit.org/changeset/191240

11:34 AM Changeset in webkit [191243] by Simon Fraser
  • 44 edits
    2 adds in trunk/Source

Enhance TextStream for logging, remove subclasses, log more things
https://bugs.webkit.org/show_bug.cgi?id=150269

Reviewed by Zalan Bujtas.

Remove the various TextStream subclasses that only existed to support indenting,
and output additional types. Add output for more WebCore and WebKit2 types, and
just use TextStream everywhere.

TextStream is enhance to support grouping (open paren and intent), with a
stack-based class to open/end a group.

Remove some SVG-specific duplicate output functions.

Outdent namespace contents of GraphicsTypes.h.
Source/WebCore:

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/ViewportArguments.cpp:

(WebCore::operator<<):

  • dom/ViewportArguments.h:
  • page/ViewportConfiguration.cpp:

(WebCore::operator<<):
(WebCore::ViewportConfiguration::description):
(WebCore::ViewportConfigurationTextStream::ViewportConfigurationTextStream): Deleted.
(WebCore::ViewportConfigurationTextStream::increaseIndent): Deleted.
(WebCore::ViewportConfigurationTextStream::decreaseIndent): Deleted.
(WebCore::dumpProperty): Deleted.
(WebCore::ViewportConfigurationTextStream::writeIndent): Deleted.
(WebCore::ViewportConfigurationTextStream::operator<<): Deleted.

  • page/ViewportConfiguration.h:
  • page/scrolling/ScrollingConstraints.cpp:

(WebCore::operator<<):

  • page/scrolling/ScrollingConstraints.h:
  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::operator<<):

  • page/scrolling/ScrollingCoordinator.h:
  • platform/animation/TimingFunction.cpp: Added.

(WebCore::operator<<):

  • platform/animation/TimingFunction.h:
  • platform/graphics/Color.cpp:

(WebCore::operator<<):

  • platform/graphics/Color.h:
  • platform/graphics/FloatPoint3D.cpp:

(WebCore::operator<<):

  • platform/graphics/FloatPoint3D.h:
  • platform/graphics/FloatRoundedRect.cpp:

(WebCore::operator<<):

  • platform/graphics/FloatRoundedRect.h:
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::operator<<):

  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/GraphicsTypes.cpp:

(WebCore::operator<<):

  • platform/graphics/GraphicsTypes.h:
  • platform/graphics/ca/PlatformCAAnimation.cpp: Added.

(WebCore::operator<<):

  • platform/graphics/ca/PlatformCAAnimation.h:
  • platform/graphics/ca/PlatformCALayer.cpp:

(WebCore::operator<<):

  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/filters/FilterOperation.cpp:

(WebCore::operator<<):

  • platform/graphics/filters/FilterOperation.h:
  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::operator<<):

  • platform/graphics/filters/FilterOperations.h:
  • platform/graphics/filters/PointLightSource.cpp:

(WebCore::operator<<): Deleted.

  • platform/graphics/filters/SpotLightSource.cpp:

(WebCore::operator<<): Deleted.

  • platform/graphics/transforms/AffineTransform.cpp:

(WebCore::operator<<):

  • platform/graphics/transforms/AffineTransform.h:
  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::operator<<):

  • platform/graphics/transforms/TransformationMatrix.h:
  • platform/text/TextStream.cpp:

(WebCore::TextStream::startGroup):
(WebCore::TextStream::endGroup):
(WebCore::TextStream::nextLine):
(WebCore::TextStream::writeIndent):

  • platform/text/TextStream.h:

(WebCore::TextStream::operator<<):
(WebCore::TextStream::dumpProperty):
(WebCore::TextStream::increaseIndent):
(WebCore::TextStream::decreaseIndent):
(WebCore::TextStream::GroupScope::GroupScope):
(WebCore::TextStream::GroupScope::~GroupScope):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::operator<<): Deleted.

  • rendering/svg/SVGRenderTreeAsText.h:

Source/WebKit2:

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(WebKit::dump):
(WebKit::recursiveDumpNodes):
(WebKit::RemoteScrollingCoordinatorTransaction::description):
(WebKit::RemoteScrollingTreeTextStream::RemoteScrollingTreeTextStream): Deleted.
(WebKit::RemoteScrollingTreeTextStream::increaseIndent): Deleted.
(WebKit::RemoteScrollingTreeTextStream::decreaseIndent): Deleted.
(WebKit::RemoteScrollingTreeTextStream::writeIndent): Deleted.
(WebKit::dumpProperty): Deleted.
(WebKit::RemoteScrollingTreeTextStream::operator<<): Deleted.
(WebKit::RemoteScrollingTreeTextStream::dump): Deleted.
(WebKit::RemoteScrollingTreeTextStream::recursiveDumpNodes): Deleted.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::operator<<):
(WebKit::dumpChangedLayers):
(WebKit::RemoteLayerTreeTransaction::description):
(WebKit::RemoteLayerTreeTextStream::RemoteLayerTreeTextStream): Deleted.
(WebKit::RemoteLayerTreeTextStream::increaseIndent): Deleted.
(WebKit::RemoteLayerTreeTextStream::decreaseIndent): Deleted.
(WebKit::dumpProperty): Deleted.
(WebKit::RemoteLayerTreeTextStream::operator<<): Deleted.
(WebKit::RemoteLayerTreeTextStream::writeIndent): Deleted.

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

(WebKit::operator<<):

11:04 AM Changeset in webkit [191242] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Fix the Windows build.
https://bugs.webkit.org/show_bug.cgi?id=150278

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-10-17
Reviewed by Brent Fulgham.

10:52 AM Changeset in webkit [191241] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fixed typos from r191224.

Not reviewed.

  • jit/JITSubGenerator.h:

(JSC::JITSubGenerator::generateFastPath):

10:26 AM Changeset in webkit [191240] by fpizlo@apple.com
  • 9 edits
    1 add in trunk/Source/JavaScriptCore

Fix some generational heap growth pathologies
https://bugs.webkit.org/show_bug.cgi?id=150270

Reviewed by Andreas Kling.

When doing generational copying, we would pretend that the size of old space was increased
just by the amount of bytes we copied. In reality, it would be increased by the number of
bytes used by the copied blocks we created. This is a larger number, and in some simple
pathological programs, the difference can be huge.

Fixing this bug was relatively easy, and the only really meaningful change here is in
Heap::updateAllocationLimits(). But to convince myself that the change was valid, I had to
add some debugging code and I had to refactor some stuff so that it made more sense.

This change does obviate the need for m_totalBytesCopied, because we no longer use it in
release builds to decide how much heap we are using at the end of collection. But I added a
FIXME about how we could restore our use of m_totalBytesCopied. So, I kept the logic, for
now. The FIXME references https://bugs.webkit.org/show_bug.cgi?id=150268.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/CopiedBlock.cpp: Added.

(JSC::CopiedBlock::createNoZeroFill):
(JSC::CopiedBlock::destroy):
(JSC::CopiedBlock::create):
(JSC::CopiedBlock::zeroFillWilderness):
(JSC::CopiedBlock::CopiedBlock):

  • heap/CopiedBlock.h:

(JSC::CopiedBlock::didSurviveGC):
(JSC::CopiedBlock::createNoZeroFill): Deleted.
(JSC::CopiedBlock::destroy): Deleted.
(JSC::CopiedBlock::create): Deleted.
(JSC::CopiedBlock::zeroFillWilderness): Deleted.
(JSC::CopiedBlock::CopiedBlock): Deleted.

  • heap/CopiedSpaceInlines.h:

(JSC::CopiedSpace::startedCopying):

  • heap/Heap.cpp:

(JSC::Heap::updateObjectCounts):
(JSC::Heap::resetVisitors):
(JSC::Heap::capacity):
(JSC::Heap::protectedGlobalObjectCount):
(JSC::Heap::collectImpl):
(JSC::Heap::willStartCollection):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::didFinishCollection):
(JSC::Heap::sizeAfterCollect): Deleted.

  • heap/Heap.h:
  • heap/HeapInlines.h:

(JSC::Heap::shouldCollect):
(JSC::Heap::isBusy):
(JSC::Heap::collectIfNecessaryOrDefer):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::create):
(JSC::MarkedBlock::destroy):

1:23 AM Changeset in webkit [191239] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebKit2

URTBF after r191194 to fix EFL build.
https://bugs.webkit.org/show_bug.cgi?id=150272

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-10-17
Reviewed by Csaba Osztrogonác.

  • UIProcess/efl/WebContextMenuProxyEfl.cpp:

(WebKit::WebContextMenuProxyEfl::showContextMenu):

  • UIProcess/efl/WebContextMenuProxyEfl.h:
12:10 AM Changeset in webkit [191238] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/Source/WebCore

Finalize bug 149952 patch
https://bugs.webkit.org/show_bug.cgi?id=150238

Reviewed by Darin Adler.

No change in behavior.

  • bindings/js/JSDOMConstructor.h:

(WebCore::JSDOMConstructor<JSClass>::finishCreation): Marked as inline.
(WebCore::JSDOMConstructor<JSClass>::getConstructData): Marked as inline.

Oct 16, 2015:

10:20 PM Changeset in webkit [191237] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Remove [ Debug ] qualifiers from expectations for some imported Blink test,
as they sometimes fail in release too.

  • platform/mac-wk2/TestExpectations:
9:48 PM Changeset in webkit [191236] by akling@apple.com
  • 2 edits in trunk/Tools

[EFL, AppleWin] WTF.ConcatenateCharacterArrayAndEmptyString API test failed
<https://webkit.org/b/150153>

Unreviewed.

Just use simple arrays of LChar and UChar for this test instead of creating String
objects and then getting the characters8()/characters16() from them, since that
doesn't guarantee null-termination (the bug.)

  • TestWebKitAPI/Tests/WTF/StringOperators.cpp:

(TestWebKitAPI::TEST):
(TestWebKitAPI::build): Deleted.

9:37 PM Changeset in webkit [191235] by Yusuke Suzuki
  • 6 edits
    1 add in trunk

[ES6] Implement String.prototype.normalize
https://bugs.webkit.org/show_bug.cgi?id=150094

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This patch implements String.prototype.normalize leveraging ICU.
It can provide the feature applying {NFC, NFD, NFKC, NFKD} normalization to a given string.

  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::finishCreation):
(JSC::normalize):
(JSC::stringProtoFuncNormalize):

  • tests/es6.yaml:
  • tests/stress/string-normalize.js: Added.

(unicode):
(shouldBe):
(shouldThrow):
(normalizeTest):

LayoutTests:

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/script-tests/Object-getOwnPropertyNames.js:
8:36 PM Changeset in webkit [191234] by Alan Bujtas
  • 10 edits in trunk/Source/WebCore

RenderBlockFlow::*logical*ForFloat should take FloatingObject reference.
https://bugs.webkit.org/show_bug.cgi?id=150266

Reviewed by Simon Fraser.

No change in behaviour.

  • rendering/FloatingObjects.cpp:

(WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
(WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
(WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
(WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
(WebCore::ComputeFloatOffsetAdapter<FloatTypeValue>::collectIfNeeded):
(WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
(WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
(WebCore::RenderBlockFlow::repaintOverhangingFloats):
(WebCore::RenderBlockFlow::insertFloatingObject):
(WebCore::RenderBlockFlow::removeFloatingObject):
(WebCore::RenderBlockFlow::removeFloatingObjectsBelow):
(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
(WebCore::RenderBlockFlow::positionNewFloats):
(WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
(WebCore::RenderBlockFlow::lowestInitialLetterLogicalBottom):
(WebCore::RenderBlockFlow::addOverhangingFloats):
(WebCore::RenderBlockFlow::hasOverhangingFloat):
(WebCore::RenderBlockFlow::addIntrudingFloats):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::logicalTopForFloat):
(WebCore::RenderBlockFlow::logicalBottomForFloat):
(WebCore::RenderBlockFlow::logicalLeftForFloat):
(WebCore::RenderBlockFlow::logicalRightForFloat):
(WebCore::RenderBlockFlow::logicalWidthForFloat):
(WebCore::RenderBlockFlow::logicalHeightForFloat):
(WebCore::RenderBlockFlow::setLogicalTopForFloat):
(WebCore::RenderBlockFlow::setLogicalLeftForFloat):
(WebCore::RenderBlockFlow::setLogicalHeightForFloat):
(WebCore::RenderBlockFlow::setLogicalWidthForFloat):
(WebCore::RenderBlockFlow::logicalSizeForFloat): Deleted.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
(WebCore::RenderBlockFlow::positionNewFloatOnLine):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::addOverflowFromChild):

  • rendering/RenderBox.h:

(WebCore::RenderBox::addOverflowFromChild):

  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleFloat):

  • rendering/line/LineWidth.cpp:

(WebCore::newFloatShrinksLine):
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::computeDeltasForContainingBlockLine):

7:15 PM Changeset in webkit [191233] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Avoid to insert TAB before HTML element.
https://bugs.webkit.org/show_bug.cgi?id=149295
<rdar://problem/22746706>

Patch by Jiewen Tan <jiewen_tan@apple.com> on 2015-10-16
Reviewed by Ryosuke Niwa.

Source/WebCore:

This is a merge of Blink r175047:
https://codereview.chromium.org/306583005

This patch avoids InsertTextCommand::insertTab before HTML element because
we can't set Text node as document element.

Test: editing/execCommand/insert-tab-to-html-element-crash.html

  • editing/InsertTextCommand.cpp:

(WebCore::InsertTextCommand::insertTab):

LayoutTests:

  • editing/execCommand/insert-tab-to-html-element-crash-expected.txt: Added.
  • editing/execCommand/insert-tab-to-html-element-crash.html: Added.
5:51 PM Changeset in webkit [191232] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

5:46 PM Changeset in webkit [191231] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601-branch/Source

Versioning.

4:57 PM Changeset in webkit [191230] by ggaren@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Update JavaScriptCore API docs
https://bugs.webkit.org/show_bug.cgi?id=150262

Reviewed by Mark Lam.

Apply some edits for clarity. These came out of a docs review.

  • API/JSContext.h:
  • API/JSExport.h:
  • API/JSManagedValue.h:
  • API/JSValue.h:
4:48 PM Changeset in webkit [191229] by commit-queue@webkit.org
  • 10 edits
    2 deletes in trunk

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

This change is causing existing tests to fail (Requested by
ryanhaddad on #webkit).

Reverted changeset:

"Computed style should work correctly with slotted elements
that have display:none"
https://bugs.webkit.org/show_bug.cgi?id=150237
http://trac.webkit.org/changeset/191204

4:47 PM Changeset in webkit [191228] by Wenson Hsieh
  • 10 edits
    1 copy
    1 add in trunk/Source/WebKit2

Add a WKWebView input delegate SPI
https://bugs.webkit.org/show_bug.cgi?id=149646

Reviewed by Dan Bernstein.

Renames the existing _WKFormDelegate to _WKInputDelegate and adds a new delegate SPI method
-[_WKInputDelegate _webView:focusShouldStartInputSession:] that allows clients to allow or
disallow showing up the keyboard. To make this decision, clients are given a
_WKFocusedElementInfo, which contains information about the focused element prior to the
keyboard showing up so the client will be able to override default assistance behavior.

While the information contained in a _WKFocusedElementInfo currently seems like overkill for
_webView:focusShouldStartInputSession, our intentions are to give WebKit clients control over more
details of how node assistance works, such as being able to use a custom editor for certain
types of nodes.

  • Shared/API/Cocoa/WebKitPrivate.h: Added new header _WKFocusedElementInfo.h.
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _inputDelegate]):
(-[WKWebView _formDelegate]):
(-[WKWebView _setInputDelegate:]):
(-[WKWebView _setFormDelegate:]):
(-[WKWebView initWithFrame:configuration:]): Deleted canAssistOnProgrammaticFocus flag.
(-[WKWebView canAssistOnProgrammaticFocus]): Ditto.
(-[WKWebView setCanAssistOnProgrammaticFocus:]): Ditto.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]): Deleted.
(-[WKWebViewConfiguration _canAssistOnProgrammaticFocus]): Deleted canAssistOnProgrammaticFocus flag.
(-[WKWebViewConfiguration _setCanAssistOnProgrammaticFocus:]): Ditto.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKFocusedElementInfo.h: Added.
  • UIProcess/API/Cocoa/_WKFormDelegate.h:
  • UIProcess/API/Cocoa/_WKInputDelegate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKFormDelegate.h.
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKFocusedElementInfo initWithAssistedNodeInformation:isInteracting:]):
(-[WKFocusedElementInfo type]):
(-[WKFocusedElementInfo value]):
(-[WKFocusedElementInfo isUserInitiated]):
(-[WKContentView accessoryAutoFill]):
(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): If the input delegate responds to

shouldStartInputSession, consult it to see if we should bring up the keyboard; otherwise, use our default behavior.

  • WebKit2.xcodeproj/project.pbxproj:
4:46 PM Changeset in webkit [191227] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.1.46.42

New Tag.

4:45 PM Changeset in webkit [191226] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.3.4

New Tag.

4:40 PM Changeset in webkit [191225] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Fix typo in TypeError messages in TypedArray.prototype.forEach/filter.

  • builtins/TypedArray.prototype.js:

(forEach):
(filter):

4:26 PM Changeset in webkit [191224] by mark.lam@apple.com
  • 16 edits
    1 add in trunk/Source/JavaScriptCore

Use JITSubGenerator to support UntypedUse operands for op_sub in the DFG.
https://bugs.webkit.org/show_bug.cgi?id=150038

Reviewed by Geoffrey Garen.

  • bytecode/SpeculatedType.h:

(JSC::isUntypedSpeculationForArithmetic): Added

  • Also fixed some comments.


  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::resultType):

  • dfg/DFGAbstractValue.h:
  • Added function to compute the ResultType of an operand from its SpeculatedType.
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • Fix up ArithSub to speculate its operands to be numbers. But if an OSR exit due to a BadType was seen at this node, we'll fix it up to expect UntypedUse operands. This gives the generated code a change to run fast if it only receives numeric operands.
  • dfg/DFGNode.h:

(JSC::DFG::Node::shouldSpeculateUntypedForArithmetic):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • Add the C++ runtime function to implement op_sub when we really encounter the hard types in the operands.
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithSub):

  • Added support for UntypedUse operands using the JITSubGenerator.
  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::silentSpillAllRegisters):
(JSC::DFG::SpeculativeJIT::pickCanTrample):
(JSC::DFG::SpeculativeJIT::callOperation):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • Just refuse to FTL compile functions with UntypedUse op_sub operands for now.
  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::boxDouble):
(JSC::AssemblyHelpers::unboxDoubleNonDestructive):
(JSC::AssemblyHelpers::unboxDouble):
(JSC::AssemblyHelpers::boxBooleanPayload):

  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_sub):

  • jit/JITSubGenerator.h:

(JSC::JITSubGenerator::generateFastPath):
(JSC::JITSubGenerator::endJumpList):

  • Added some asserts to document the contract that this generator expects in terms of its incoming registers.

Also fixed the generated code to not be destructive with regards to incoming
registers. The DFG expects this.

Also added an endJumpList so that we don't have to jump twice for the fast
path where both operands are ints.

  • parser/ResultType.h:

(JSC::ResultType::ResultType):

  • Make the internal Type bits and the constructor private. Clients should only create ResultType values using one of the provided factory methods.
  • tests/stress/op_sub.js: Added.

(o1.valueOf):
(stringify):
(generateScenarios):
(printScenarios):
(testCases.func):
(func):
(initializeTestCases):
(runTest):

  • test op_sub results by comparing one LLINT result against the output of multiple LLINT, and JIT runs. This test assume that we'll at least get the right result some of the time (if not all the time), and confirms that the various engines produce consistent results for all the various value pairs being tested.
4:21 PM Changeset in webkit [191223] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Disabled content blockers should not block any loads
https://bugs.webkit.org/show_bug.cgi?id=150261

Reviewed by Brady Eidson.

This fix was tested manually by reloading without content blockers
on websites with iframes and content blockers that block the contents of the iframes.

  • page/UserContentController.cpp:

(WebCore::UserContentController::removeAllUserContentExtensions):
(WebCore::contentExtensionsEnabled):
(WebCore::UserContentController::processContentExtensionRulesForLoad):
(WebCore::UserContentController::actionsForResourceLoad):
Check the DocumentLoader of the main frame when checking if content extensions are disabled,
because that is the DocumentLoader that has the flag from reloading without content blockers.

4:15 PM Changeset in webkit [191222] by beidson@apple.com
  • 3 edits in trunk/LayoutTests

Fix flakey test that was added for:
Modern IDB: Add versionchange events.
https://bugs.webkit.org/show_bug.cgi?id=150149

Test flakes because two events come in different orders.

The event order actually does not matter.
The test just needs to handle either order.

  • storage/indexeddb/modern/versionchange-event-expected.txt:
  • storage/indexeddb/modern/versionchange-event.html:
3:53 PM Changeset in webkit [191221] by fpizlo@apple.com
  • 12 edits
    3 adds in trunk/Source/JavaScriptCore

CopyBarrier must be avoided for slow TypedArrays
https://bugs.webkit.org/show_bug.cgi?id=150217
rdar://problem/23128791

Reviewed by Michael Saboff.

Change how we access array buffer views so that we don't fire the barrier slow path, and
don't mask off the spaceBits, if the view is not FastTypedArray. That's because in that case
m_vector could be misaligned and so have meaningful non-space data in the spaceBits. Also in
that case, m_vector does not point into copied space.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::loadVectorWithBarrier):
(JSC::FTL::DFG::LowerDFGToLLVM::copyBarrier):
(JSC::FTL::DFG::LowerDFGToLLVM::isInToSpace):
(JSC::FTL::DFG::LowerDFGToLLVM::loadButterflyReadOnly):
(JSC::FTL::DFG::LowerDFGToLLVM::loadVectorReadOnly):
(JSC::FTL::DFG::LowerDFGToLLVM::removeSpaceBits):
(JSC::FTL::DFG::LowerDFGToLLVM::isFastTypedArray):
(JSC::FTL::DFG::LowerDFGToLLVM::baseIndex):

  • heap/CopyBarrier.h:

(JSC::CopyBarrierBase::getWithoutBarrier):
(JSC::CopyBarrierBase::getPredicated):
(JSC::CopyBarrierBase::get):
(JSC::CopyBarrierBase::copyState):
(JSC::CopyBarrier::get):
(JSC::CopyBarrier::getPredicated):
(JSC::CopyBarrier::set):

  • heap/Heap.cpp:

(JSC::Heap::copyBarrier):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::branchIfNotType):
(JSC::AssemblyHelpers::branchIfFastTypedArray):
(JSC::AssemblyHelpers::branchIfNotFastTypedArray):
(JSC::AssemblyHelpers::loadTypedArrayVector):
(JSC::AssemblyHelpers::purifyNaN):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::branchStructure):
(JSC::AssemblyHelpers::branchIfToSpace):
(JSC::AssemblyHelpers::branchIfNotToSpace):
(JSC::AssemblyHelpers::removeSpaceBits):
(JSC::AssemblyHelpers::addressForByteOffset):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitIntTypedArrayGetByVal):
(JSC::JIT::emitFloatTypedArrayGetByVal):
(JSC::JIT::emitIntTypedArrayPutByVal):
(JSC::JIT::emitFloatTypedArrayPutByVal):

  • runtime/JSArrayBufferView.h:

(JSC::JSArrayBufferView::vector):
(JSC::JSArrayBufferView::length):

  • runtime/JSArrayBufferViewInlines.h:

(JSC::JSArrayBufferView::byteOffset):

  • runtime/JSGenericTypedArrayView.h:

(JSC::JSGenericTypedArrayView::typedVector):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::copyBackingStore):
(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):

  • tests/stress/misaligned-int8-view-byte-offset.js: Added.
  • tests/stress/misaligned-int8-view-read.js: Added.
  • tests/stress/misaligned-int8-view-write.js: Added.
3:51 PM Changeset in webkit [191220] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Build fix for 191215.

  • jit/IntrinsicEmitter.cpp:
3:44 PM Changeset in webkit [191219] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Test fix after r191211

Tell the 'Plug-ins.html' test to allow enumeration of all plugins.

  • fast/dom/Window/Plug-ins.html:
3:41 PM Changeset in webkit [191218] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Removing non-existent test from test expectations file
https://bugs.webkit.org/show_bug.cgi?id=150250

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-16
Reviewed by Simon Fraser.

  • platform/mac/TestExpectations:
3:37 PM Changeset in webkit [191217] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Win] Update initial-letter test expectation for Win port.

Unreviewed gardening.

  • platform/win/TestExpectations:
3:31 PM Changeset in webkit [191216] by Simon Fraser
  • 26 edits
    2 copies in trunk/Source

Make TextStream the canonical way to log classes in WebCore
https://bugs.webkit.org/show_bug.cgi?id=150256

Reviewed by Sam Weinig.

We vacillated between PrintStream and TextStream as being the canonical way
to stringify WebCore data structures. This patch solidifies TextStream
as the solution, since it has convenient stream syntax, and is what we
use for render tree dumps.

Remove TextStream member functions that output non-simple structs
(sizes, points and rects), replacing them with free operator<< functions
in the .cpp file for the relevant class. Formatting is currently consistent
with RenderTreeAsText output, to avoid breaking tests.

Remove custom FloatRect outputting in SVG and RemoteLayerTreeTransaction.

Source/WebCore:

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FloatPoint.cpp:

(WebCore::operator<<):
(WebCore::FloatPoint::dump): Deleted.

  • platform/graphics/FloatPoint.h:
  • platform/graphics/FloatRect.cpp:

(WebCore::operator<<):
(WebCore::FloatRect::dump): Deleted.

  • platform/graphics/FloatRect.h:
  • platform/graphics/FloatSize.cpp:

(WebCore::FloatSize::FloatSize):
(WebCore::operator<<):
(WebCore::FloatSize::dump): Deleted.

  • platform/graphics/FloatSize.h:
  • platform/graphics/IntPoint.cpp:

(WebCore::operator<<):
(WebCore::IntPoint::dump): Deleted.

  • platform/graphics/IntPoint.h:
  • platform/graphics/IntRect.cpp:

(WebCore::operator<<):
(WebCore::IntRect::dump): Deleted.

  • platform/graphics/IntRect.h:
  • platform/graphics/IntSize.cpp:

(WebCore::operator<<):
(WebCore::IntSize::dump): Deleted.

  • platform/graphics/IntSize.h:
  • platform/graphics/LayoutPoint.cpp: Copied from Source/WebCore/platform/graphics/IntPoint.cpp.

(WebCore::operator<<):

  • platform/graphics/LayoutPoint.h:
  • platform/graphics/LayoutRect.cpp:

(WebCore::operator<<):

  • platform/graphics/LayoutRect.h:
  • platform/graphics/LayoutSize.cpp: Copied from Source/WebCore/platform/graphics/IntPoint.cpp.

(WebCore::operator<<):

  • platform/graphics/LayoutSize.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::MediaSampleAVFObjC::dump):

  • platform/text/TextStream.cpp:

(WebCore::TextStream::operator<<):

  • platform/text/TextStream.h:
  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::operator<<): Deleted.

Source/WebKit2:

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(WebKit::RemoteScrollingTreeTextStream::operator<<): Deleted.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTextStream::operator<<): Deleted.

3:18 PM Changeset in webkit [191215] by keith_miller@apple.com
  • 35 edits
    5 adds in trunk

Add Intrinsic Getters and use them to fix performance on the getters of TypedArray properties.
https://bugs.webkit.org/show_bug.cgi?id=149687

Patch by Keith Miller <keith@Keiths-MacBook-Pro-5.local> on 2015-10-16
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add the ability to create intrinsic getters in both the inline cache and the DFG/FTL. When the
getter fetched by a GetById has an intrinsic we know about we add a new intrinsic access case.
Once we get to the DFG, we observe that the access case was an intrinsic and add an appropriate
GetByIdVariant. We then parse the intrinsic into an appropriate DFG node.

The first intrinsics are the new TypedArray prototype getters length, byteLength, and byteOffset.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
(JSC::GetByIdStatus::computeFor):

  • bytecode/GetByIdVariant.cpp:

(JSC::GetByIdVariant::GetByIdVariant):
(JSC::GetByIdVariant::operator=):
(JSC::GetByIdVariant::canMergeIntrinsicStructures):
(JSC::GetByIdVariant::attemptToMerge):
(JSC::GetByIdVariant::dumpInContext):

  • bytecode/GetByIdVariant.h:

(JSC::GetByIdVariant::intrinsicFunction):
(JSC::GetByIdVariant::intrinsic):
(JSC::GetByIdVariant::callLinkStatus): Deleted.

  • bytecode/PolymorphicAccess.cpp:

(JSC::AccessGenerationState::addWatchpoint):
(JSC::AccessGenerationState::restoreScratch):
(JSC::AccessGenerationState::succeed):
(JSC::AccessGenerationState::calculateLiveRegistersForCallAndExceptionHandling):
(JSC::AccessGenerationState::preserveLiveRegistersToStackForCall):
(JSC::AccessGenerationState::restoreLiveRegistersFromStackForCall):
(JSC::AccessGenerationState::restoreLiveRegistersFromStackForCallWithThrownException):
(JSC::AccessGenerationState::callSiteIndexForExceptionHandlingOrOriginal):
(JSC::AccessGenerationState::originalExceptionHandler):
(JSC::AccessGenerationState::originalCallSiteIndex):
(JSC::AccessCase::getIntrinsic):
(JSC::AccessCase::clone):
(JSC::AccessCase::visitWeak):
(JSC::AccessCase::generate):
(WTF::printInternal):
(JSC::AccessCase::AccessCase): Deleted.
(JSC::AccessCase::get): Deleted.
(JSC::AccessCase::replace): Deleted.
(JSC::AccessCase::transition): Deleted.

  • bytecode/PolymorphicAccess.h:

(JSC::AccessCase::isGet):
(JSC::AccessCase::isPut):
(JSC::AccessCase::isIn):
(JSC::AccessCase::intrinsicFunction):
(JSC::AccessCase::intrinsic):
(JSC::AccessGenerationState::AccessGenerationState):
(JSC::AccessGenerationState::liveRegistersForCall):
(JSC::AccessGenerationState::callSiteIndexForExceptionHandling):
(JSC::AccessGenerationState::numberOfStackBytesUsedForRegisterPreservation):
(JSC::AccessGenerationState::needsToRestoreRegistersIfException):
(JSC::AccessGenerationState::liveRegistersToPreserveAtExceptionHandlingCallSite):

  • bytecode/PutByIdVariant.h:

(JSC::PutByIdVariant::intrinsic):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::alreadyChecked):
(JSC::DFG::arrayTypeToString):
(JSC::DFG::toTypedArrayType):
(JSC::DFG::refineTypedArrayType):
(JSC::DFG::permitsBoundsCheckLowering):

  • dfg/DFGArrayMode.h:

(JSC::DFG::ArrayMode::supportsLength):
(JSC::DFG::ArrayMode::isSomeTypedArrayView):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::handleIntrinsicGetter):
(JSC::DFG::ByteCodeParser::load):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::presenceLike): Deleted.
(JSC::DFG::ByteCodeParser::store): Deleted.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::convertToGetArrayLength): Deleted.
(JSC::DFG::FixupPhase::prependGetArrayLength): Deleted.
(JSC::DFG::FixupPhase::fixupChecksInBlock): Deleted.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::tryGetFoldableView):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileGetArrayLength):

  • jit/IntrinsicEmitter.cpp: Added.

(JSC::AccessCase::canEmitIntrinsicGetter):
(JSC::AccessCase::emitIntrinsicGetter):

  • jit/Repatch.cpp:

(JSC::tryCacheGetByID):

  • runtime/Intrinsic.h:
  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::put):
(JSC::JSArrayBufferView::defineOwnProperty):
(JSC::JSArrayBufferView::deleteProperty):
(JSC::JSArrayBufferView::getOwnNonIndexPropertyNames):
(JSC::JSArrayBufferView::getOwnPropertySlot): Deleted.
(JSC::JSArrayBufferView::finalize): Deleted.

  • runtime/JSDataView.cpp:

(JSC::JSDataView::getOwnPropertySlot):
(JSC::JSDataView::put):
(JSC::JSDataView::defineOwnProperty):
(JSC::JSDataView::deleteProperty):
(JSC::JSDataView::getOwnNonIndexPropertyNames):

  • runtime/JSDataView.h:
  • runtime/JSFunction.h:
  • runtime/JSFunctionInlines.h:

(JSC::JSFunction::intrinsic):

  • runtime/JSGenericTypedArrayView.h:
  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot):
(JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty):
(JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty):
(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): Deleted.
(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren): Deleted.

  • runtime/JSObject.cpp:

(JSC::JSObject::putDirectNativeIntrinsicGetter):

  • runtime/JSObject.h:
  • runtime/JSTypedArrayViewPrototype.cpp:

(JSC::JSTypedArrayViewPrototype::finishCreation):

  • tests/stress/typedarray-add-property-to-base-object.js: Added.

(body.foo):
(body):

  • tests/stress/typedarray-bad-getter.js: Added.

(body.foo):
(body.get Bar):
(body):

  • tests/stress/typedarray-getter-on-self.js: Added.

(body.foo):
(body.bar):
(body.baz):
(body.get for):
(body):

  • tests/stress/typedarray-intrinsic-getters-change-prototype.js: Added.

(body.foo):
(body.bar):
(body.baz):
(body):

LayoutTests:

Fix test since typedarrays no longer have length as a own property.

  • js/dom/getOwnPropertyDescriptor-expected.txt:
  • js/resources/getOwnPropertyDescriptor.js:
3:09 PM Changeset in webkit [191214] by timothy_horton@apple.com
  • 3 edits in trunk/Tools

WebKit2.AutoLayoutIntegration API test is failing on some of the bots
https://bugs.webkit.org/show_bug.cgi?id=150255

Reviewed by Simon Fraser.

  • Scripts/run-api-tests:

(runTest):

  • TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm:

(-[AutoLayoutWKWebView load:withWidth:expectingContentSize:]):
(-[AutoLayoutWKWebView layoutAtMinimumWidth:andExpectContentSizeChange:]):
(-[AutoLayoutWKWebView load:expectingContentSize:]): Deleted.
(-[AutoLayoutWKWebView expectContentSizeChange:]): Deleted.
Don't set the layout size until after the load finishes and we're waiting
for the reply, so that there is no race between the new size coming in
and us waiting for it.

2:58 PM Changeset in webkit [191213] by andersca@apple.com
  • 5 edits in trunk

WebEditingDelegate should be a formal protocol
https://bugs.webkit.org/show_bug.cgi?id=150254
<rdar://problem/23149847>

Reviewed by Dan Bernstein.

Source/WebKit/mac:

  • WebView/WebEditingDelegate.h:

Move all the delegate methods inside the protocol declaration. Also make the header self-contained.

  • WebView/WebView.h:

Change the type of the editing delegate and make it assign.

Tools:

  • DumpRenderTree/mac/EditingDelegate.h:

Conform to the WebEditingDelegate protocol.

2:40 PM Changeset in webkit [191212] by keith_miller@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

Fix some issues with TypedArrays
https://bugs.webkit.org/show_bug.cgi?id=150216

Reviewed by Geoffrey Garen.

This fixes a couple of issues:
1) The DFG had a separate case for creating new typedarrays in the dfg when the first argument is an object.

Since the code for creating a Typedarray in the dfg is almost the same as the code in Baseline/LLInt
the two cases have been merged.

2) If the length property on an object was unset then the construction could crash.
3) The TypedArray.prototype.set function and the TypedArray constructor should not call Get? for the

length of the source object when the source object is a TypedArray.

4) The conditions that were used to decide if the iterator could be skipped were incorrect.

Instead of checking for have a bad time we should have checked the Indexing type did not allow for
indexed accessors.

  • dfg/DFGOperations.cpp:
  • runtime/JSGenericTypedArrayViewConstructorInlines.h:

(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayView):
(JSC::constructGenericTypedArrayViewWithFirstArgument): Deleted.

2:25 PM Changeset in webkit [191211] by Brent Fulgham
  • 11 edits in trunk

Hide all plugin names except Flash, Java, and QuickTime
https://bugs.webkit.org/show_bug.cgi?id=149014

Reviewed by Darin Adler.

Source/WebCore:

Revise plugin interface so that sites cannot iterate over all plugins to obtain
a list of installed plugins for fingerprinting purposes. Sites need to ask for
specific plugins by name, rather than iterating and comparing to avoid making
this information accessible for fingerprinting purposes.

  • plugins/DOMPluginArray.cpp:

(WebCore::DOMPluginArray::length): Only return length of the plugins we are
allowing to be seen.
(WebCore::DOMPluginArray::item): Only iterate through the plugins we are
allowing to be seen.

  • plugins/PluginData.cpp:

(WebCore::PluginData::publiclyVisiblePlugins): Added.

  • plugins/PluginData.h:

LayoutTests:

Update tests to notify internals that all plugins should be shown, not
just the publicly available ones.

  • plugins/plugin-javascript-access.html:
  • plugins/script-tests/navigator-mimeTypes-length.js:
2:10 PM Changeset in webkit [191210] by beidson@apple.com
  • 9 edits in trunk/Source/WebCore

"enum class" some IDB enums.
https://bugs.webkit.org/show_bug.cgi?id=150246

Reviewed by Alex Christensen.

No new tests (No change in behavior).

  • Modules/indexeddb/IDBKeyPath.cpp:

(WebCore::IDBIsValidKeyPath):
(WebCore::IDBParseKeyPath):
(WebCore::IDBKeyPath::IDBKeyPath):
(WebCore::IDBKeyPath::isValid):
(WebCore::IDBKeyPath::operator==):
(WebCore::IDBKeyPath::encode):
(WebCore::IDBKeyPath::decode):

  • Modules/indexeddb/IDBKeyPath.h:

(WebCore::IDBKeyPath::IDBKeyPath):
(WebCore::IDBKeyPath::type):
(WebCore::IDBKeyPath::array):
(WebCore::IDBKeyPath::string):
(WebCore::IDBKeyPath::isNull):
(WebCore::IDBKeyPath::encode):
(WebCore::IDBKeyPath::decode):

  • Modules/indexeddb/IndexedDB.h:
  • Modules/indexeddb/legacy/LegacyDatabase.cpp:

(WebCore::LegacyDatabase::createObjectStore):

  • Modules/indexeddb/legacy/LegacyObjectStore.cpp:

(WebCore::LegacyObjectStore::createIndex):

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::createIDBKeyFromScriptValueAndKeyPath):
(WebCore::canInjectIDBKeyIntoScriptValue):

  • bindings/js/JSIDBAnyCustom.cpp:

(WebCore::toJS):

  • inspector/InspectorIndexedDBAgent.cpp:
2:10 PM Changeset in webkit [191209] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601-branch/Source/WebInspectorUI

Follow-up fix for r190246. rdar://problem/22939682

Unreviewed.

In merging r190246, I neglected to change two consts to vars, as per Joe's merge instructions.

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype._scriptsCleared):
const -> var

2:08 PM Changeset in webkit [191208] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Add indexeddb/shared to the include paths.

  • WebCore.vcxproj/WebCoreIncludeCommon.props:
2:06 PM Changeset in webkit [191207] by andersca@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix Windows build.

2:06 PM Changeset in webkit [191206] by msaboff@apple.com
  • 11 edits in trunk

REGRESSION (r191175): Still crashing when clicking back button on netflix.com
https://bugs.webkit.org/show_bug.cgi?id=150251

Rubber stamped by Filip Pizlo.

Turning off Tail Calls and disabling tests until the crash is fixed.

Source/JavaScriptCore:

  • runtime/Options.h:
  • tests/es6.yaml:
  • tests/stress/dfg-tail-calls.js:

(nonInlinedTailCall.callee):

  • tests/stress/mutual-tail-call-no-stack-overflow.js:

(shouldThrow):

  • tests/stress/tail-call-in-inline-cache.js:

(tail):

  • tests/stress/tail-call-no-stack-overflow.js:

(shouldThrow):

  • tests/stress/tail-call-recognize.js:

(callerMustBeRun):

  • tests/stress/tail-call-varargs-no-stack-overflow.js:

(shouldThrow):

LayoutTests:

  • js/caller-property-expected.txt:
2:02 PM Changeset in webkit [191205] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Remove some dead menu code
https://bugs.webkit.org/show_bug.cgi?id=150247

Reviewed by Andreas Kling.

  • Shared/WebContextMenuItemData.cpp:

(WebKit::WebContextMenuItemData::WebContextMenuItemData):
(WebKit::WebContextMenuItemData::encode): Deleted.

  • Shared/WebContextMenuItemData.h:

(WebKit::WebContextMenuItemData::selectionHandler): Deleted.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::nsMenuItem):

1:50 PM Changeset in webkit [191204] by Antti Koivisto
  • 10 edits
    2 adds in trunk

Computed style should work correctly with slotted elements that have display:none
https://bugs.webkit.org/show_bug.cgi?id=150237

Reviewed by Andreas Kling.

Source/WebCore:

If an element has display:none we don't normally retain or even compute its style (as it is not rendered).
If getComputedStyle is invoked for such element we resolve the style (along with any ancestors) and cache
it separately to rare data. This path needs to work with slotted elements in shadow trees.

This patch also make computedStyle() iterative rather than recursive.

Test: fast/shadow-dom/computed-style-display-none.html

  • dom/Document.cpp:

(WebCore::Document::styleForElementIgnoringPendingStylesheets):

Pass in the parent style instead of invoking computedStyle() recursively.

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::beforeOrAfterPseudoElement):
(WebCore::Element::existingComputedStyle):
(WebCore::Element::resolveComputedStyle):

Iterative resolve function that uses composed tree iterator.

(WebCore::Element::computedStyle):

Factor into helpers.

  • dom/Element.h:
  • dom/Node.cpp:

(WebCore::Node::computedStyle):

Use the composed tree iterator.

LayoutTests:

  • editing/style/apply-style-atomic-expected.txt:

Rebase.

  • fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt:
  • fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html:

We now also compute style of display:none pseudo elements correctly.
This is a progression and matches other browsers.

  • fast/shadow-dom/computed-style-display-none-expected.txt: Added.
  • fast/shadow-dom/computed-style-display-none.html: Added.
1:46 PM Changeset in webkit [191203] by Alan Bujtas
  • 3 edits in trunk/LayoutTests

[iOS] Update initial-letter results for iOS port.

Unreviewed gardening.

  • platform/ios-simulator/fast/css-generated-content/initial-letter-basic-expected.txt:
  • platform/ios-simulator/fast/css-generated-content/initial-letter-sunken-expected.txt:
1:36 PM Changeset in webkit [191202] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Add MacroAssembler::callProbe() for supporting lambda JIT probes.
https://bugs.webkit.org/show_bug.cgi?id=150186

Reviewed by Geoffrey Garen.

With callProbe(), we can now make probes that are lambdas. For example, we can
now conveniently add probes like so:

When you know exactly which register you want to inspect:
jit.callProbe([] (MacroAssembler::ProbeContext* context) {

intptr_t value = reinterpret_cast<intptr_t>(context->cpu.eax);
dataLogF("eax %p\n", context->cpu.eax); Inspect the register.
ASSERT(value > 10);
Add test code for debugging.

});

When you want to inspect whichever register the JIT allocated:
auto reg = op1.gpr();
jit.callProbe([reg] (MacroAssembler::ProbeContext* context) {

intptr_t value = reinterpret_cast<intptr_t>(context->gpr(reg));
dataLogF("reg %s: %ld\n", context->gprName(reg), value);
ASSERT(value > 10);

});

callProbe() is only meant to be used for debugging sessions. It is not
appropriate to use it in permanent code (even for debug builds).
This is because:

  1. The probe mechanism saves and restores all (and I really mean "all") registers, and is inherently slow.
  2. callProbe() currently works by allocating (via new) a std::function to guarantee that it is persisted for the duration that the JIT generated code is live. We don't currently delete it ever i.e. it leaks a bit of memory each time the JIT generates code that contains such a lambda probe.

These limitations are acceptable for a debugging session (assuming you're not
debugging a memory leak), but not for deployment code. If there's a need, we can
plug that leak in another patch.

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::CPUState::fpr):

  • Removed an unnecessary empty line.

(JSC::AbstractMacroAssembler::ProbeContext::gpr):
(JSC::AbstractMacroAssembler::ProbeContext::fpr):
(JSC::AbstractMacroAssembler::ProbeContext::gprName):
(JSC::AbstractMacroAssembler::ProbeContext::fprName):

  • Added some convenience functions that will make using the probe mechanism easier.
  • assembler/MacroAssembler.cpp:

(JSC::StdFunctionData::StdFunctionData):
(JSC::stdFunctionCallback):
(JSC::MacroAssembler::callProbe):

  • assembler/MacroAssembler.h:
1:29 PM Changeset in webkit [191201] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

ASSERT in imported/blink/fast/block/float/overhanging-float-crashes-when-sibling-becomes-formatting-context.html
https://bugs.webkit.org/show_bug.cgi?id=150249

Reviewed by Myles Maxfield.

Covered by existing tests.

  • css/CSSValue.cpp:

(WebCore::CSSValue::equals):
Make sure the "unset" value has an equals implementation.

1:27 PM Changeset in webkit [191200] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Remove unused StructureRareData::m_cachedGenericPropertyNameEnumerator.
<https://webkit.org/b/150244>

Reviewed by Geoffrey Garen.

Remove an unused field from StructureRareData.

  • runtime/StructureRareData.cpp:

(JSC::StructureRareData::visitChildren): Deleted.

  • runtime/StructureRareData.h:
1:05 PM Changeset in webkit [191199] by matthew_hanson@apple.com
  • 12 edits
    2 adds in branches/safari-601.1.46-branch

Merge r190752. rdar://problem/23110932

1:04 PM Changeset in webkit [191198] by beidson@apple.com
  • 8 edits
    2 adds in trunk

Source/WebCore:
Modern IDB: Handle versionchange events.
https://bugs.webkit.org/show_bug.cgi?id=150149

Reviewed by Alex Christensen.

Test: storage/indexeddb/modern/versionchange-event.html

  • IDBVersionChangeEvents are now dispatched to open connections when a version upgrade request comes in.
  • Once all of those open connections have closed, the version upgrade request is handled.
  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::fireVersionChangeEvent):
(WebCore::IDBClient::IDBConnectionToServer::registerDatabaseConnection):
(WebCore::IDBClient::IDBConnectionToServer::unregisterDatabaseConnection):

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

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

  • Modules/indexeddb/client/IDBDatabaseImpl.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabase::invokeTransactionScheduler):
(WebCore::IDBServer::UniqueIDBDatabase::transactionSchedulingTimerFired):

  • Modules/indexeddb/server/UniqueIDBDatabase.h:

LayoutTests:
Modern IDB: Add versionchange events.
https://bugs.webkit.org/show_bug.cgi?id=150149

Reviewed by Alex Christensen.

  • storage/indexeddb/modern/versionchange-event-expected.txt: Added.
  • storage/indexeddb/modern/versionchange-event.html: Added.
1:02 PM Changeset in webkit [191197] by mark.lam@apple.com
  • 2 edits in trunk/Source/WTF

Always enable MASM_PROBE for debug builds.
https://bugs.webkit.org/show_bug.cgi?id=150190

Reviewed by Geoffrey Garen.

  • wtf/Platform.h:
12:59 PM Changeset in webkit [191196] by ggaren@apple.com
  • 6 edits in trunk/Source/bmalloc

bmalloc: per-thread cache data structure should be smaller
https://bugs.webkit.org/show_bug.cgi?id=150218

Reviewed by Andreas Kling.

Reduce the number of entries in the range cache because it's really
big, and the bigness only helps in cases of serious fragmentation, and
it only saves us a little bit of lock acquisition time.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::scavenge):
(bmalloc::Allocator::refillAllocatorSlowCase):
(bmalloc::Allocator::refillAllocator):
(bmalloc::Allocator::allocateLarge):
(bmalloc::Allocator::allocateSlowCase):
(bmalloc::Allocator::allocateBumpRangeSlowCase): Deleted.
(bmalloc::Allocator::allocateBumpRange): Deleted.

  • bmalloc/Allocator.h: Pass through the empty allocator and the range

cache when refilling, and refill both. Otherwise, we always immediately
pop the last item in the range cache, wasting that slot of capacity.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::allocateSmallBumpRanges):
(bmalloc::Heap::allocateMediumBumpRanges): Account for the fact that
the range cache is no longer big enough to guarantee that it can hold
all the ranges in a page.

(bmalloc::Heap::refillSmallBumpRangeCache): Deleted.
(bmalloc::Heap::refillMediumBumpRangeCache): Deleted.

  • bmalloc/Heap.h: Move VMHeap to the end of the object because it

contains a lot of unused / wasted space, and we want to pack our data
together in memory.

  • bmalloc/Sizes.h: Make the range cache smaller.
12:53 PM Changeset in webkit [191195] by Alan Bujtas
  • 10 edits
    2 adds in trunk

First line box in paragraph using initial-letter overflows.
https://bugs.webkit.org/show_bug.cgi?id=147977
<rdar://problem/22901553>

Reviewed by David Hyatt.

When initial-letter float is present, we should shrink the first
line even if it's not intersected with the block's current height.
This is because of the sunken behaviour of initial-letter.

Source/WebCore:

Test: fast/css-generated-content/initial-letter-first-line-wrapping.html

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::positionNewFloatOnLine):

  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleFloat):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::skipLeadingWhitespace):

  • rendering/line/LineBreaker.h:

(WebCore::LineBreaker::positionNewFloatOnLine):

  • rendering/line/LineWidth.cpp:

(WebCore::newFloatShrinksLine):
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):

  • rendering/line/LineWidth.h:

LayoutTests:

  • fast/css-generated-content/initial-letter-first-line-wrapping-expected.html: Added.
  • fast/css-generated-content/initial-letter-first-line-wrapping.html: Added.
  • platform/mac/fast/css-generated-content/initial-letter-basic-expected.txt: progression.
12:52 PM Changeset in webkit [191194] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Move more code to WebContextMenuProxyMac
https://bugs.webkit.org/show_bug.cgi?id=150240

Reviewed by Tim Horton.

  • UIProcess/WebContextMenuProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::internalShowContextMenu):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::contextMenuClient):

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

(WebKit::WebContextMenuProxyMac::initializeShareMenuItem):
(WebKit::WebContextMenuProxyMac::showContextMenu):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::platformInitializeShareMenuItem): Deleted.

12:47 PM Changeset in webkit [191193] by keith_miller@apple.com
  • 4 edits
    1 delete in trunk/Source/JavaScriptCore

Unreviewed, rolling out r191190.

Patch needs some design changes.

Reverted changeset:

"Fix some issues with TypedArrays"
https://bugs.webkit.org/show_bug.cgi?id=150216
http://trac.webkit.org/changeset/191190

12:26 PM Changeset in webkit [191192] by youenn.fablet@crf.canon.fr
  • 10 edits in trunk/LayoutTests

Update testharness.js to web-platform-tests version
https://bugs.webkit.org/show_bug.cgi?id=150234

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • resources/web-platform-tests-modules.json: updated testharness module version.
  • web-platform-tests/dom/interfaces-expected.txt: Rebased test expectation.
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01-expected.txt: Ditto.
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02-expected.txt: Ditto.
  • web-platform-tests/dom/nodes/Node-isEqualNode-expected.txt: Ditto.
  • web-platform-tests/html/dom/interfaces-expected.txt: Ditto.
  • web-platform-tests/html/dom/interfaces.html: Removed a method from Window as this is timing out the test otherwise.

LayoutTests:

  • resources/testharness.js:

(WindowTestEnvironment):
(WindowTestEnvironment.prototype._dispatch):
(WindowTestEnvironment.prototype._forEach_windows):
(WindowTestEnvironment.prototype.on_tests_ready):
(WindowTestEnvironment.prototype.setup_messages):
(WindowTestEnvironment.prototype.next_default_test_name):
(WindowTestEnvironment.prototype.on_new_harness_properties):
(WindowTestEnvironment.prototype.add_on_loaded_callback):
(WindowTestEnvironment.prototype.test_timeout):
(WindowTestEnvironment.prototype.global_scope):
(WorkerTestEnvironment):
(WorkerTestEnvironment.prototype._dispatch):
(WorkerTestEnvironment.prototype._add_message_port):
(WorkerTestEnvironment.prototype.next_default_test_name):
(WorkerTestEnvironment.prototype.on_new_harness_properties):
(WorkerTestEnvironment.prototype.on_tests_ready):
(WorkerTestEnvironment.prototype.add_on_loaded_callback):
(WorkerTestEnvironment.prototype.test_timeout):
(WorkerTestEnvironment.prototype.global_scope):
(DedicatedWorkerTestEnvironment):
(DedicatedWorkerTestEnvironment.prototype.on_tests_ready):
(SharedWorkerTestEnvironment):
(SharedWorkerTestEnvironment.prototype.on_tests_ready):
(ServiceWorkerTestEnvironment):
(ServiceWorkerTestEnvironment.prototype.add_on_loaded_callback):
(create_test_environment):
(is_shared_worker):
(is_service_worker):
(test):
(async_test):
(promise_test):
(this.wait_for):
(EventWatcher):
(setup):
(step_timeout):
(format_value): Deleted.

12:10 PM Changeset in webkit [191191] by mark.lam@apple.com
  • 19 edits
    8 deletes in trunk/Source/JavaScriptCore

Move all the probe trampolines into their respective MacroAssembler files.
https://bugs.webkit.org/show_bug.cgi?id=150239

Reviewed by Saam Barati.

This patch does not introduce any behavior changes. It only moves the
ctiMasmProbeTrampoline implementations from the respective JITStubs<CPU>.h
files to the corresponding MacroAssembler<CPU>.cpp files.

I also had to make some minor changes to get the code to build after this move:

  1. Added #include <wtf/InlineASM.h> in the MacroAssembler<CPU>.cpp files because the ctiMasmProbeTrampoline is an inline assembly blob.
  2. In the moved code, convert MacroAssembler:: qualifiers to the CPU specific MacroAssembler equivalent. The referenced entities were always defined in the CPU specific MacroAssembler anyway, and indirectly referenced through the generic MacroAssembler.

With this, we can get rid of all the JITStubs<CPU>.cpp files. There is one
exception: JITStubsMSVC64.asm. However, that one is unrelated to the probe
mechanism. So, I'll leave it as is.

We can also remove JITStubs.cpp and JITStubs.h which are now empty except for
some stale unused code.

This patch has been build tested for x86, x86_64, armv7, and arm64.

(JSC::MacroAssemblerARM::probe):

  • assembler/MacroAssemblerARM64.cpp:

(JSC::arm64ProbeTrampoline):
(JSC::MacroAssemblerARM64::probe):

  • assembler/MacroAssemblerARMv7.cpp:

(JSC::MacroAssemblerARMv7::probe):

  • assembler/MacroAssemblerX86Common.cpp:
  • bytecode/CodeBlock.cpp:
  • ftl/FTLCompile.cpp:
  • ftl/FTLLink.cpp:
  • jit/JITArithmetic.cpp:
  • jit/JITArithmetic32_64.cpp:
  • jit/JITCode.h:
  • jit/JITExceptions.cpp:
  • jit/JITStubs.cpp: Removed.
  • jit/JITStubs.h: Removed.
  • jit/JITStubsARM.h: Removed.
  • jit/JITStubsARM64.h: Removed.
  • jit/JITStubsARMv7.h: Removed.
  • jit/JITStubsX86.h: Removed.
  • jit/JITStubsX86Common.h: Removed.
  • jit/JITStubsX86_64.h: Removed.
  • jit/JSInterfaceJIT.h:
  • llint/LLIntOffsetsExtractor.cpp:
  • runtime/CommonSlowPaths.cpp:
11:37 AM Changeset in webkit [191190] by keith_miller@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

Fix some issues with TypedArrays
https://bugs.webkit.org/show_bug.cgi?id=150216

Reviewed by Michael Saboff.

This fixes a couple of issues:
1) The DFG had a separate case for creating new typedarrays in the dfg when the first argument is an object.

Since the code for creating a Typedarray in the dfg is almost the same as the code in Baseline/LLInt
the two cases have been merged.

2) If the length property on an object was unset then the construction could crash.
3) The TypedArray.prototype.set function and the TypedArray constructor should not call Get? for the

length of the source object when the source object is a TypedArray.

4) The conditions that were used to decide if the iterator could be skipped were incorrect.

Instead of checking for have a bad time we should have checked the Indexing type did not allow for
indexed accessors.

  • dfg/DFGOperations.cpp:

(JSC::DFG::newTypedArrayWithOneArgument): Deleted.

  • runtime/JSGenericTypedArrayViewConstructorInlines.h:

(JSC::constructGenericTypedArrayViewFromIterator):
(JSC::constructGenericTypedArrayViewWithFirstArgument):
(JSC::constructGenericTypedArrayView):

  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h:

(JSC::genericTypedArrayViewProtoFuncSet):

  • tests/stress/typedarray-construct-iterator.js: Added.

(iterator.return.next):
(iterator):
(body):

11:30 AM Changeset in webkit [191189] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, skip imported/w3c/web-platform-tests/dom/interfaces.html on Debug builds.

This test is slow and sometimes times out.

11:24 AM Changeset in webkit [191188] by commit-queue@webkit.org
  • 7 edits in trunk

The value sanitization algorithm for input[type=url] should strip whitespaces
https://bugs.webkit.org/show_bug.cgi?id=148864
rdar://problem/22589358

Patch by Keith Rollin <Keith Rollin> on 2015-10-16
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Rebaseline two W3C HTML tests given changes in input[type=url].value
sanitization.

  • web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
  • web-platform-tests/html/semantics/forms/the-input-element/url-expected.txt:

Source/WebCore:

Follow the sanitization algorithm specified in:
https://html.spec.whatwg.org/multipage/forms.html#url-state-(type=url)

Chrome also has the same issue with url.html. Firefox passes. All
three browsers have multiple issues with type-change-state.html, with
each browser having a different set of failures. Addressing this in
WebKit is another issue outside the scope of bz=148864. For now, I'm
updating that test to capture current WebKit behavior.

No new tests (covered by existing tests):

  • web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html
  • web-platform-tests/html/semantics/forms/the-input-element/url.html
  • html/TextFieldInputType.h:
  • html/URLInputType.cpp:

(WebCore::URLInputType::sanitizeValue):

  • html/URLInputType.h:
11:20 AM Changeset in webkit [191187] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Add "unset" to CSS value autocompletion
https://bugs.webkit.org/show_bug.cgi?id=127616

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-16
Reviewed by Brian Burg.

  • UserInterface/Models/CSSCompletions.js:
  • UserInterface/Models/CSSKeywordCompletions.js:

(WebInspector.CSSKeywordCompletions.forProperty):
Treat "unset" similiar to "initial". Also, no need for "initial"
in an individual property's list. We always include it.

  • UserInterface/Views/VisualStyleDetailsPanel.js:

(WebInspector.VisualStyleDetailsPanel):
(WebInspector.VisualStyleDetailsPanel.prototype._populateDisplaySection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateAlignmentSection):
Add "Unset" alongside "Initial".

11:01 AM Changeset in webkit [191186] by Antti Koivisto
  • 5 edits
    2 deletes in trunk/Source/WebCore

Remove NodeRenderingTraversal
https://bugs.webkit.org/show_bug.cgi?id=150226

Reviewed by Chris Dumez.

It has been reduced to an implementation detail of FocusController. Move the remaining
functions there as they have no general utility (and are wrong for focus navigation too).

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DOMAllInOne.cpp:
  • dom/NodeRenderingTraversal.cpp: Removed.
  • dom/NodeRenderingTraversal.h: Removed.
  • page/FocusController.cpp:

(WebCore::firstChildInScope):
(WebCore::lastChildInScope):
(WebCore::parentInScope):
(WebCore::nextInScope):
(WebCore::previousInScope):
(WebCore::FocusNavigationScope::FocusNavigationScope):
(WebCore::FocusNavigationScope::focusNavigationScopeOf):
(WebCore::FocusController::findElementWithExactTabIndex):
(WebCore::nextElementWithGreaterTabIndex):
(WebCore::previousElementWithLowerTabIndex):
(WebCore::FocusController::nextFocusableElement):
(WebCore::FocusController::previousFocusableElement):

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

Fixing test expectations for css2.1/tables/table-anonymous-objects-045.xht on win
https://bugs.webkit.org/show_bug.cgi?id=150125

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-16
Reviewed by Zalan Bujtas.

  • platform/win/css2.1/tables/table-anonymous-objects-045-expected.txt:
10:44 AM Changeset in webkit [191184] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix. "all" keyword introduction exposed a typo bug in the grid-area property definition.

  • css/CSSPropertyNames.in:
10:30 AM Changeset in webkit [191183] by timothy_horton@apple.com
  • 10 edits
    1 add in trunk

Hook up autolayout intrinsic sizing for WKWebView
https://bugs.webkit.org/show_bug.cgi?id=150219
<rdar://problem/20016905>

Reviewed by Simon Fraser.

New API test: WebKit2.AutoLayoutIntegration.

  • page/FrameView.cpp:

(WebCore::FrameView::autoSizeIfEnabled):
When autosizing a document in which the body expands to the size of
the view (a feature of quirks mode), the first (width-determining)
autosizing will resize the view to the document height (which is at
least the body height), and the second time around, the height will
not decrease (because it was expanded to the size of the view).

Instead, the first time around, we should use the computed width,
but shrink the height back down to the minimum, and then expand
only as much as needed to fit the content.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView intrinsicContentSize]):
(-[WKWebView _setIntrinsicContentSize:]):
(-[WKWebView _minimumLayoutWidth]):
(-[WKWebView _setMinimumLayoutWidth:]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Add a simple SPI to specify the minimum width that a WKWebView will attempt
to lay out to, similar to WKView except just a width, not a size, and
with no option to force the height to the view size. Similar behavior can
be achieved by clients by setting custom autolayout constraints on the view.

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::intrinsicContentSizeDidChange):
Forward intrinsic content size changes to the WKWebView, not its inner WKView,
if we have one.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
Only set the autosizing fixed minimum height if we're using that behavior;
otherwise, setting it to the view's height will end up accidentally
turning on that behavior (which involves an extra layout per resize!).

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm: Added.

(-[AutoLayoutNavigationDelegate webView:didFinishNavigation:]):
(-[AutoLayoutWKWebView load:expectingContentSize:]):
(-[AutoLayoutWKWebView expectContentSizeChange:]):
(-[AutoLayoutWKWebView invalidateIntrinsicContentSize]):
(TEST):
Add a variety of tests, including one which catches the bug that
the WebCore part of this patch fixes.

10:18 AM Changeset in webkit [191182] by beidson@apple.com
  • 21 edits in trunk

Modern IDB: Support IDBDatabase.close().
https://bugs.webkit.org/show_bug.cgi?id=150150

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Covered by changes to storage/indexeddb/modern/opendatabase-versions.html).

  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::databaseConnectionClosed):

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

(WebCore::IDBClient::IDBDatabase::IDBDatabase):
(WebCore::IDBClient::IDBDatabase::~IDBDatabase):
(WebCore::IDBClient::IDBDatabase::close):
(WebCore::IDBClient::IDBDatabase::maybeCloseInServer):
(WebCore::IDBClient::IDBDatabase::commitTransaction):

  • Modules/indexeddb/client/IDBDatabaseImpl.h:

(WebCore::IDBClient::IDBDatabase::databaseConnectionIdentifier):

  • Modules/indexeddb/client/IDBRequestImpl.cpp:

(WebCore::IDBClient::IDBRequest::result):

  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::databaseConnectionClosed):

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

(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabase::handleOpenDatabaseOperations): Deleted.

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

(WebCore::IDBServer::UniqueIDBDatabaseConnection::UniqueIDBDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::~UniqueIDBDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::hasNonFinishedTransactions):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::connectionClosedFromClient):

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

(WebCore::InProcessIDBServer::databaseConnectionClosed):

  • Modules/indexeddb/shared/InProcessIDBServer.h:

LayoutTests:

  • storage/indexeddb/modern/opendatabase-versions-expected.txt:
  • storage/indexeddb/modern/opendatabase-versions.html:
10:08 AM Changeset in webkit [191181] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Use the ShowContextMenu message for service menus as well
https://bugs.webkit.org/show_bug.cgi?id=150206

Reviewed by Tim Horton.

  • Shared/ContextMenuContextData.cpp:

(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::encode):
(WebKit::ContextMenuContextData::decode):

  • Shared/ContextMenuContextData.h:

(WebKit::ContextMenuContextData::type):
(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::isServicesMenu):
(WebKit::ContextMenuContextData::needsServicesMenu): Deleted.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::showContextMenu):
(WebKit::WebPageProxy::internalShowContextMenu):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::populate):
(WebKit::WebContextMenuProxyMac::showContextMenu):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::showSelectionServiceMenu): Deleted.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::handleSelectionServiceClick):

10:06 AM Changeset in webkit [191180] by Chris Dumez
  • 4 edits
    5 adds in trunk

HTMLPreloadScanner should preload iframes
https://bugs.webkit.org/show_bug.cgi?id=150097
<rdar://problem/23094475>

Reviewed by Antti Koivisto.

Source/WebCore:

HTMLPreloadScanner should preload iframes to decrease page load time.

Tests:

  • fast/preloader/frame-src.html
  • http/tests/loading/preload-no-store-frame-src.html
  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::tagIdFor):
(WebCore::TokenPreloadScanner::initiatorFor):
(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
(WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
(WebCore::TokenPreloadScanner::StartTagScanner::setUrlToLoad): Deleted.
(WebCore::TokenPreloadScanner::StartTagScanner::charset): Deleted.

  • html/parser/HTMLPreloadScanner.h:

LayoutTests:

Add layout test to check that iframes are indeed preloaded.

  • fast/preloader/frame-src-expected.txt: Added.
  • fast/preloader/frame-src.html: Added.
  • fast/preloader/resources/testFrame.html: Added.
  • http/tests/loading/preload-no-store-frame-src-expected.txt: Added.
  • http/tests/loading/preload-no-store-frame-src.html: Added.
9:30 AM Changeset in webkit [191179] by Csaba Osztrogonác
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed fix after r191175.

  • js/regress-150220-expected.txt: Added.
9:12 AM Changeset in webkit [191178] by hyatt@apple.com
  • 7 edits
    10 adds in trunk

Implement the "all" CSS property.
https://bugs.webkit.org/show_bug.cgi?id=116966

Reviewed by Zalan Bujtas.

Source/WebCore:

Added new tests in fast/css.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):
Don't support "all" from computed style for now.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
Make sure to bail after checking inherit/unset/initial for all, since you can't actually
accept longhand values in the shorthand declarations.

(WebCore::CSSParser::parseAnimationProperty):
"all" for animations is a special value and should not be confused with the property. It
animates everything and does not omit unicode-bidi/direction the way the "all" property does.

  • css/CSSPropertyNames.in:

Add the "all" property to the list and use a special keyword in the Longhands value, "all",
that makeprop.pl will look for. This way we don't have to dump every single CSS property
into the Longhands expression, since that would be nuts.

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue):
Look for a common value across all properties supported by "all". That way you can get
back inherit/initial/unset from it.

  • css/makeprop.pl:

Make the perl script look for "all" in the longhand list, and if it sees it, put every
single CSS property into the list for the all shorthand.

LayoutTests:

Added tests for the "all property, including a variables test!

  • fast/css/all-keyword-direction-expected.html: Added.
  • fast/css/all-keyword-direction.html: Added.
  • fast/css/all-keyword-inherit-expected.html: Added.
  • fast/css/all-keyword-inherit.html: Added.
  • fast/css/all-keyword-initial-expected.html: Added.
  • fast/css/all-keyword-initial.html: Added.
  • fast/css/all-keyword-unset-expected.html: Added.
  • fast/css/all-keyword-unset.html: Added.
  • fast/css/variables/all-keyword-unset-expected.html: Added.
  • fast/css/variables/all-keyword-unset.html: Added.
8:57 AM Changeset in webkit [191177] by ap@apple.com
  • 2 edits in branches/safari-601-branch/LayoutTests

Land accurate Yosemite/Mavericks results for http/tests/multipart/multipart-replace-non-html-content.html

  • platform/mac-yosemite/http/tests/multipart/multipart-replace-non-html-content-expected.txt:
8:56 AM Changeset in webkit [191176] by youenn.fablet@crf.canon.fr
  • 28 edits in trunk/Source/WebCore

Binding generator should use templated JSXXConstructor
https://bugs.webkit.org/show_bug.cgi?id=149952

Reviewed by Darin Adler.

Adding constructor templates:

  • JSDOMConstructor: usual JS constructors
  • JSDOMNamedConstructor: for named constructors
  • JSDOMConstructorNotConstructable: for objects that cannot be constructed directly from JS.

Binding generator is using these 3 templates and is generating specializations for construct, initializeProperties and s_info.
These templates may also be used for private or custom constructors as examplified by JSImageConstructor
and JSReadableStream reader and controller private constructors.

Updated binding generator to use those templates.
Updated JSImageConstructor.cpp to use JSDOMNamedConstructor.
Updated default template implementation of JSBuiltinConstructor::createObject.
Updated generated helper routines of binding generator to fit with the templates.

A further patch should remove DOMConstructorWithDocument and DOMConstructorJSBuiltinObject.

Covered by binding tests.

  • bindings/js/JSDOMConstructor.h:

(WebCore::JSDOMConstructorNotConstructable::create):
(WebCore::JSDOMConstructorNotConstructable::createStructure):
(WebCore::JSDOMConstructorNotConstructable::JSDOMConstructorNotConstructable):
(WebCore::JSDOMConstructorNotConstructable::initializeProperties):
(WebCore::JSDOMConstructorNotConstructable<JSClass>::finishCreation):
(WebCore::JSDOMConstructor::create):
(WebCore::JSDOMConstructor::createStructure):
(WebCore::JSDOMConstructor::JSDOMConstructor):
(WebCore::JSDOMConstructor::initializeProperties):
(WebCore::JSDOMConstructor<JSClass>::finishCreation):
(WebCore::JSDOMConstructor<JSClass>::getConstructData):
(WebCore::JSDOMNamedConstructor::create):
(WebCore::JSDOMNamedConstructor::createStructure):
(WebCore::JSDOMNamedConstructor::JSDOMNamedConstructor):
(WebCore::JSDOMNamedConstructor::initializeProperties):
(WebCore::JSDOMNamedConstructor<JSClass>::finishCreation):
(WebCore::JSDOMNamedConstructor<JSClass>::getConstructData):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::image):

  • bindings/js/JSImageConstructor.cpp:

(WebCore::JSImageConstructor::initializeProperties):
(WebCore::JSImageConstructor::construct):
(WebCore::createImageConstructor):

  • bindings/js/JSImageConstructor.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GetConstructorTemplateClassName):
(GenerateConstructorDeclaration):
(GenerateOverloadedConstructorDefinition):
(GenerateConstructorDefinition):
(GenerateConstructorHelperMethods):
(GenerateImplementation): Deleted.
(GenerateConstructorDefinitions): Deleted.
(HasCustomSetter): Deleted.
(HasCustomMethod): Deleted.
(NeedsConstructorProperty): Deleted.
(ComputeFunctionSpecial): Deleted.
(AddJSBuiltinIncludesIfNeeded): Deleted.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::JSTestActiveDOMObjectConstructor::initializeProperties):
(WebCore::JSTestActiveDOMObjectPrototype::finishCreation): Deleted.
(WebCore::JSTestActiveDOMObject::JSTestActiveDOMObject): Deleted.

  • bindings/scripts/test/JS/JSTestCallback.cpp:

(WebCore::JSTestCallbackConstructor::initializeProperties):
(WebCore::JSTestCallback::callbackWithNoParam): Deleted.

  • bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:

(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::construct):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::initializeProperties):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::finishCreation): Deleted.
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::JSTestCustomConstructorWithNoInterfaceObject): Deleted.
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::createPrototype): Deleted.
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::getPrototype): Deleted.
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::destroy): Deleted.

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::JSTestCustomNamedGetterConstructor::initializeProperties):
(WebCore::JSTestCustomNamedGetterPrototype::finishCreation): Deleted.
(WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter): Deleted.

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::JSTestEventConstructorConstructor::construct):
(WebCore::JSTestEventConstructorConstructor::initializeProperties):
(WebCore::JSTestEventConstructorPrototype::finishCreation): Deleted.
(WebCore::JSTestEventConstructor::JSTestEventConstructor): Deleted.
(WebCore::JSTestEventConstructor::getPrototype): Deleted.

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::JSTestEventTargetConstructor::initializeProperties):
(WebCore::JSTestEventTargetPrototype::finishCreation): Deleted.

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::JSTestExceptionConstructor::initializeProperties):
(WebCore::JSTestExceptionPrototype::finishCreation): Deleted.
(WebCore::JSTestException::JSTestException): Deleted.

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::JSTestGenerateIsReachableConstructor::initializeProperties):
(WebCore::JSTestGenerateIsReachablePrototype::finishCreation): Deleted.
(WebCore::JSTestGenerateIsReachable::JSTestGenerateIsReachable): Deleted.

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterfaceConstructor::construct):
(WebCore::JSTestInterfaceConstructor::initializeProperties):
(WebCore::JSTestInterfaceConstructor::getConstructData):

  • bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:

(WebCore::JSTestJSBuiltinConstructorConstructor::createJSObject):
(WebCore::JSTestJSBuiltinConstructorConstructor::initializeProperties):
(WebCore::JSTestJSBuiltinConstructorPrototype::finishCreation): Deleted.
(WebCore::JSTestJSBuiltinConstructor::JSTestJSBuiltinConstructor): Deleted.
(WebCore::JSTestJSBuiltinConstructor::createPrototype): Deleted.
(WebCore::JSTestJSBuiltinConstructor::getPrototype): Deleted.
(WebCore::JSTestJSBuiltinConstructor::destroy): Deleted.

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::JSTestMediaQueryListListenerConstructor::initializeProperties):
(WebCore::JSTestMediaQueryListListenerPrototype::finishCreation): Deleted.
(WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener): Deleted.

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::JSTestNamedConstructorConstructor::initializeProperties):
(WebCore::JSTestNamedConstructorNamedConstructor::construct):
(WebCore::JSTestNamedConstructorNamedConstructor::initializeProperties):
(WebCore::JSTestNamedConstructorPrototype::finishCreation): Deleted.
(WebCore::JSTestNamedConstructor::JSTestNamedConstructor): Deleted.
(WebCore::jsTestNamedConstructorConstructor): Deleted.
(WebCore::JSTestNamedConstructor::getConstructor): Deleted.
(WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots): Deleted.

  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::JSTestNodeConstructor::construct):
(WebCore::JSTestNodeConstructor::initializeProperties):
(WebCore::JSTestNodePrototype::finishCreation): Deleted.
(WebCore::JSTestNode::JSTestNode): Deleted.
(WebCore::JSTestNode::getPrototype): Deleted.

  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:

(WebCore::JSTestNondeterministicConstructor::initializeProperties):
(WebCore::JSTestNondeterministicPrototype::finishCreation): Deleted.

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjConstructor::construct):
(WebCore::JSTestObjConstructor::initializeProperties):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::JSTestOverloadedConstructorsConstructor::construct):
(WebCore::JSTestOverloadedConstructorsConstructor::initializeProperties):
(WebCore::constructJSTestOverloadedConstructors1): Deleted.
(WebCore::constructJSTestOverloadedConstructors2): Deleted.
(WebCore::JSTestOverloadedConstructorsPrototype::finishCreation): Deleted.
(WebCore::JSTestOverloadedConstructors::JSTestOverloadedConstructors): Deleted.
(WebCore::JSTestOverloadedConstructors::createPrototype): Deleted.
(WebCore::JSTestOverloadedConstructors::getPrototype): Deleted.
(WebCore::JSTestOverloadedConstructors::destroy): Deleted.

  • bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:

(WebCore::JSTestOverrideBuiltinsConstructor::initializeProperties):
(WebCore::JSTestOverrideBuiltinsPrototype::finishCreation): Deleted.
(WebCore::JSTestOverrideBuiltins::JSTestOverrideBuiltins): Deleted.

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::JSTestSerializedScriptValueInterfaceConstructor::initializeProperties):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::finishCreation): Deleted.

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::JSTestTypedefsConstructor::construct):
(WebCore::JSTestTypedefsConstructor::initializeProperties):
(WebCore::JSTestTypedefsPrototype::finishCreation): Deleted.

  • bindings/scripts/test/JS/JSattribute.cpp:

(WebCore::JSattributeConstructor::initializeProperties):
(WebCore::JSattributePrototype::finishCreation): Deleted.
(WebCore::JSattribute::JSattribute): Deleted.

  • bindings/scripts/test/JS/JSreadonly.cpp:

(WebCore::JSreadonlyConstructor::initializeProperties):
(WebCore::JSreadonlyPrototype::finishCreation): Deleted.
(WebCore::JSreadonly::JSreadonly): Deleted.

7:43 AM Changeset in webkit [191175] by msaboff@apple.com
  • 14 edits
    2 adds in trunk

REGRESSION (r190289): Repro crash clicking back button on netflix.com
https://bugs.webkit.org/show_bug.cgi?id=150220

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Since constructors check for a valid new "this" object and return it, we can't make
a tail call to another function from within a constructor.

Re-enabled the tail calls and the related tail call tests.

Did some other miscellaneous clean up in the tail call code as part of the debugging.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::callPreflight):

  • interpreter/Interpreter.h:

(JSC::calleeFrameForVarargs):

  • runtime/Options.h:
  • tests/es6.yaml:
  • tests/stress/dfg-tail-calls.js:

(nonInlinedTailCall.callee):

  • tests/stress/mutual-tail-call-no-stack-overflow.js:

(shouldThrow):

  • tests/stress/tail-call-in-inline-cache.js:

(tail):

  • tests/stress/tail-call-no-stack-overflow.js:

(shouldThrow):

  • tests/stress/tail-call-recognize.js:

(callerMustBeRun):

  • tests/stress/tail-call-varargs-no-stack-overflow.js:

(shouldThrow):

LayoutTests:

Added a new regression test. Changed the expected output of caller-property
to correspond with tail calls enabled.

  • js/caller-property-expected.txt:
  • js/regress-150220-expected.tx: Added.
  • js/regress-150220.html: Added.
  • js/script-tests/regress-150220.js: Added.

(Obj):
(SubObj):

3:47 AM Changeset in webkit [191174] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebCore

[GStreamer] ASSERTION FAILED: !m_adoptionIsRequired in MediaSourceGStreamer::addSourceBuffer
https://bugs.webkit.org/show_bug.cgi?id=150229

Reviewed by Philippe Normand.

This happens in the debug bot in all media source tests that run
that code. The problem is that we are creating a RefPtr without
adopting the reference.

  • platform/graphics/gstreamer/MediaSourceGStreamer.cpp:

(WebCore::MediaSourceGStreamer::addSourceBuffer): Use
SourceBufferPrivateGStreamer::create().

  • platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp:

(WebCore::SourceBufferPrivateGStreamer::create): Added to make
sure you can't create a SourceBufferPrivateGStreamer without
adopting the reference.
(WebCore::SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer):
Takes a reference to the client instead of a PassRefPtr.

  • platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h:
12:29 AM Changeset in webkit [191173] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed EFL Gardening on 15th Oct.
https://bugs.webkit.org/show_bug.cgi?id=150223

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-10-16

  • platform/efl/TestExpectations:
12:14 AM Changeset in webkit [191172] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit2

[GTK] Try to fix the build after r191137
https://bugs.webkit.org/show_bug.cgi?id=150222

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-10-16
Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::doneWithKeyEvent):
(WebKit::PageClientImpl::createPopupMenuProxy):
(WebKit::PageClientImpl::createContextMenuProxy):
(WebKit::PageClientImpl::createColorPicker):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/gtk/WebContextMenuProxyGtk.cpp:

(WebKit::WebContextMenuProxyGtk::populate):
(WebKit::WebContextMenuProxyGtk::showContextMenu):
(WebKit::WebContextMenuProxyGtk::hideContextMenu):
(WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):

  • UIProcess/gtk/WebContextMenuProxyGtk.h:

(WebKit::WebContextMenuProxyGtk::create):
(WebKit::WebContextMenuProxyGtk::gtkMenu):

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):

  • UIProcess/gtk/WebPopupMenuProxyGtk.h:

(WebKit::WebPopupMenuProxyGtk::create):
(WebKit::WebPopupMenuProxyGtk::setCurrentlySelectedMenuItem):

Oct 15, 2015:

11:29 PM Changeset in webkit [191171] by matthew_hanson@apple.com
  • 19 edits in branches/safari-601.1.46-branch

Merge r190604. rdar://problem/22993012

11:28 PM Changeset in webkit [191170] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebCore

Merge r190447. rdar://problem/22865007

11:28 PM Changeset in webkit [191169] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601.1.46-branch/LayoutTests

Merge r190438. rdar://problem/22865007

11:28 PM Changeset in webkit [191168] by matthew_hanson@apple.com
  • 18 edits in branches/safari-601.1.46-branch

Merge r190434. rdar://problem/22865007

9:26 PM Changeset in webkit [191167] by achristensen@apple.com
  • 3 edits
    27 adds in trunk

[Content Extensions] Content blocking rules are not consulted for pings
https://bugs.webkit.org/show_bug.cgi?id=149873

Patch by Roopesh Chander <roop@roopc.net> on 2015-10-15
Reviewed by Alex Christensen.

Source/WebCore:

This patch makes requests sent through the PingLoader
respect content blocking rules. Specifically, the following
are now subject to content blocking rules:

  1. <a ping> pings
  2. Images loaded in unload / beforeunload / pagehide handlers
  3. X-XSS-Protection / CSP violation reports

Tests: http/tests/contentextensions/block-cookies-in-csp-report.html

http/tests/contentextensions/block-cookies-in-image-load-in-onunload.html
http/tests/contentextensions/block-cookies-in-ping.html
http/tests/contentextensions/block-csp-report.html
http/tests/contentextensions/block-image-load-in-onunload.html
http/tests/contentextensions/block-ping.html
http/tests/contentextensions/hide-on-csp-report.html

  • loader/PingLoader.cpp:

(WebCore::processContentExtensionRulesForLoad):
(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::sendViolationReport):

LayoutTests:

Tests for ensuring that requests loaded through the PingLoader
are subject to content blocking rules.

  • http/tests/contentextensions/block-cookies-in-csp-report-expected.txt: Added.
  • http/tests/contentextensions/block-cookies-in-csp-report.html: Added.
  • http/tests/contentextensions/block-cookies-in-csp-report.html.json: Added.
  • http/tests/contentextensions/block-cookies-in-image-load-in-onunload-expected.txt: Added.
  • http/tests/contentextensions/block-cookies-in-image-load-in-onunload.html: Added.
  • http/tests/contentextensions/block-cookies-in-image-load-in-onunload.html.json: Added.
  • http/tests/contentextensions/block-cookies-in-ping-expected.txt: Added.
  • http/tests/contentextensions/block-cookies-in-ping.html: Added.
  • http/tests/contentextensions/block-cookies-in-ping.html.json: Added.
  • http/tests/contentextensions/block-csp-report-expected.txt: Added.
  • http/tests/contentextensions/block-csp-report.html: Added.
  • http/tests/contentextensions/block-csp-report.html.json: Added.
  • http/tests/contentextensions/block-image-load-in-onunload-expected.txt: Added.
  • http/tests/contentextensions/block-image-load-in-onunload.html: Added.
  • http/tests/contentextensions/block-image-load-in-onunload.html.json: Added.
  • http/tests/contentextensions/block-ping-expected.txt: Added.
  • http/tests/contentextensions/block-ping.html: Added.
  • http/tests/contentextensions/block-ping.html.json: Added.
  • http/tests/contentextensions/hide-on-csp-report-expected.txt: Added.
  • http/tests/contentextensions/hide-on-csp-report.html: Added.
  • http/tests/contentextensions/hide-on-csp-report.html.json: Added.
  • http/tests/contentextensions/resources/check-ping.html: Added.
  • http/tests/contentextensions/resources/delete-ping.php: Added.
  • http/tests/contentextensions/resources/get-ping-data.php: Added.
  • http/tests/contentextensions/resources/ping-file-path.php: Added.
  • http/tests/contentextensions/resources/redirect.php: Added.
  • http/tests/contentextensions/resources/save-ping.php: Added.
8:54 PM Changeset in webkit [191166] by Joseph Pecoraro
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Make inspector/heap/gc.html more reliable.

  • inspector/heap/gc.html:

Stop outputing after we see the first Full GC. Resolving waits
for pending events which could incldue more GCs.

8:07 PM Changeset in webkit [191165] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Attempted EFL build fix 2 after r191159.

  • PlatformEfl.cmake:
7:58 PM Changeset in webkit [191164] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Attempted EFL build fix after r191159.

  • PlatformEfl.cmake:
7:51 PM Changeset in webkit [191163] by Gyuyoung Kim
  • 8 edits in trunk/Source/WebKit2

EFL build fix since r191137

Unreviewed EFL build fix.

  • UIProcess/CoordinatedGraphics/WebView.cpp: Removed.
7:36 PM Changeset in webkit [191162] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Build fix after r191160.

  • inspector/agents/InspectorHeapAgent.cpp:

(Inspector::InspectorHeapAgent::didGarbageCollect):

7:34 PM Changeset in webkit [191161] by Joseph Pecoraro
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed. Revert part of r191159 which caused ASSERTs.

A review comment suggested using WeakPtr. It is not suitable
here and causes ASSERTs across threads. Will address separately.

  • inspector/agents/InspectorHeapAgent.h:
  • inspector/agents/InspectorHeapAgent.cpp:

(Inspector::InspectorHeapAgent::didGarbageCollect):
(Inspector::InspectorHeapAgent::InspectorHeapAgent): Deleted.

7:19 PM Changeset in webkit [191160] by ap@apple.com
  • 2 edits
    1 copy
    3 adds in branches/safari-601-branch/LayoutTests

Update test results on the branch.

  • platform/mac-yosemite/http: Added.
  • platform/mac-yosemite/http/tests: Added.
  • platform/mac-yosemite/http/tests/multipart: Added.
  • platform/mac-yosemite/http/tests/multipart/multipart-replace-non-html-content-expected.txt: Copied from LayoutTests/http/tests/multipart/multipart-replace-non-html-content-expected.txt.
  • platform/mac/http/tests/multipart/multipart-replace-non-html-content-expected.txt:
7:15 PM Changeset in webkit [191159] by Joseph Pecoraro
  • 35 edits
    4 copies
    11 adds in trunk

Web Inspector: Include Garbage Collection Event in Timeline
https://bugs.webkit.org/show_bug.cgi?id=142510

Reviewed by Geoffrey Garen and Brian Burg.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • DerivedSources.make:
  • JavaScriptCore.xcodeproj/project.pbxproj:

Include new files in the build.

  • heap/HeapObserver.h:

(JSC::HeapObserver::~HeapObserver):

  • heap/Heap.cpp:

(JSC::Heap::willStartCollection):
(JSC::Heap::didFinishCollection):

  • heap/Heap.h:

(JSC::Heap::addObserver):
(JSC::Heap::removeObserver):
Allow observers on heap to add hooks for starting / ending garbage collection.

  • inspector/InspectorEnvironment.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::vm):

  • inspector/JSGlobalObjectInspectorController.h:

Access the VM through the InspectorEnvironment as it won't change.

  • inspector/agents/InspectorHeapAgent.cpp: Added.

(Inspector::InspectorHeapAgent::InspectorHeapAgent):
(Inspector::InspectorHeapAgent::~InspectorHeapAgent):
(Inspector::InspectorHeapAgent::didCreateFrontendAndBackend):
(Inspector::InspectorHeapAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorHeapAgent::enable):
(Inspector::InspectorHeapAgent::disable):
(Inspector::InspectorHeapAgent::gc):
(Inspector::protocolTypeForHeapOperation):
(Inspector::InspectorHeapAgent::willGarbageCollect):
(Inspector::InspectorHeapAgent::didGarbageCollect):

  • inspector/agents/InspectorHeapAgent.h: Added.
  • inspector/protocol/Heap.json: Added.

New domain and agent to handle tasks related to the JavaScriptCore heap.

Source/WebCore:

Tests: inspector/heap/garbageCollected.html

inspector/heap/gc.html

  • ForwardingHeaders/heap/HeapObserver.h: Added.
  • ForwardingHeaders/inspector/agents/InspectorHeapAgent.h: Added.
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:

Forwarding headers.

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::vm):

  • inspector/InspectorController.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::vm):

  • inspector/WorkerInspectorController.h:

Implement InspectorEnvironment::vm and create a Heap agent for the
Page inspector controller.

Source/WebInspectorUI:

  • UserInterface/Base/Utilities.js:

(Array.prototype.partition):
Helper to partition an Array into two arrays.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Main.js:

(WebInspector.loaded):

  • UserInterface/Test.html:
  • UserInterface/Test/Test.js:

(WebInspector.loaded):

  • UserInterface/Protocol/HeapObserver.js: Added.

(WebInspector.HeapObserver.prototype.garbageCollected):
(WebInspector.HeapObserver):
Create the new observer and manager.

  • UserInterface/Models/GarbageCollection.js: Added.

(WebInspector.GarbageCollection):
(WebInspector.GarbageCollection.fromPayload):
(WebInspector.GarbageCollection.prototype.get type):
(WebInspector.GarbageCollection.prototype.get startTime):
(WebInspector.GarbageCollection.prototype.get endTime):
(WebInspector.GarbageCollection.prototype.get duration):
Model object for Heap.GarbageCollection.

  • UserInterface/Controllers/HeapManager.js: Added.

(WebInspector.HeapManager):
(WebInspector.HeapManager.prototype.garbageCollected):
Dispatch events with the GC object.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager):
(WebInspector.TimelineManager.prototype._garbageCollected):
Include new GC Timeline Events as Script events.

  • UserInterface/Views/ScriptTimelineOverviewGraph.js:

(WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
For the Script overview, make two sets of bars, one for Scripts and one for GCs.
The GCs bar will be overlaid on top of the the Scripts bar. This is particularly
useful since a GC can happen during script execution.

  • UserInterface/Images/TimelineRecordGarbageCollection.svg: Added.
  • UserInterface/Main.html:
  • UserInterface/Models/ScriptTimelineRecord.js:

(WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection):
(WebInspector.ScriptTimelineRecord.EventType.displayName):

  • UserInterface/Views/ScriptTimelineDataGridNode.js:

(WebInspector.ScriptTimelineDataGridNode.prototype.get data):
(WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
(WebInspector.ScriptTimelineDataGridNode):

  • UserInterface/Views/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView.prototype._processPendingRecords):

  • UserInterface/Views/SourceCodeTimelineTreeElement.js:

(WebInspector.SourceCodeTimelineTreeElement):

  • UserInterface/Views/TimelineIcons.css:

(.garbage-collection-profile-record .icon):

  • UserInterface/Views/TimelineRecordBar.css:

(.timeline-record-bar.timeline-record-type-script.script-timeline-record-garbage-collected > .segment):
UI for GC events.

  • UserInterface/Views/TimelineRecordBar.js:

(WebInspector.TimelineRecordBar.createCombinedBars):
Simplify by storing start time into a variable.

  • UserInterface/Views/TimelineRecordTreeElement.js:

(WebInspector.TimelineRecordTreeElement):
Icon for GC events.

LayoutTests:

  • inspector/heap/garbageCollected-expected.txt: Added.
  • inspector/heap/garbageCollected.html: Added.
  • inspector/heap/gc-expected.txt: Added.
  • inspector/heap/gc.html: Added.
6:33 PM Changeset in webkit [191158] by dino@apple.com
  • 4 edits in trunk/LayoutTests

Remove deprecated function insertRule(), replace with appendRule()
https://bugs.webkit.org/show_bug.cgi?id=150188

Unreviewed. This was a mistake in my review of Ryan's patch.
The CSSOM is confusing. This test was not always using a CSSKeyframesRule
object, so it should still be calling insertRule. This does produce
a console message, so added that to the expected result.

  • http/tests/css/resources/shared-stylesheet-mutation.js:

(executeTests): Back to insertRule.

  • http/tests/css/shared-stylesheet-mutation-expected.txt:
  • http/tests/css/shared-stylesheet-mutation-preconstruct-expected.txt:
  • http/tests/css/resources/shared-stylesheet-mutation.js:

(executeTests): Back to insertRule.

5:34 PM Changeset in webkit [191157] by commit-queue@webkit.org
  • 18 edits in trunk

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

Introduced crashing test (Requested by bradee-oh on #webkit).

Reverted changeset:

"Modern IDB: Support IDBDatabase.close()."
https://bugs.webkit.org/show_bug.cgi?id=150150
http://trac.webkit.org/changeset/191156

5:25 PM Changeset in webkit [191156] by beidson@apple.com
  • 18 edits in trunk

Modern IDB: Support IDBDatabase.close().
https://bugs.webkit.org/show_bug.cgi?id=150150

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Covered by changes to storage/indexeddb/modern/opendatabase-versions.html).

  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::databaseConnectionClosed):

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

(WebCore::IDBClient::IDBDatabase::IDBDatabase):
(WebCore::IDBClient::IDBDatabase::~IDBDatabase):
(WebCore::IDBClient::IDBDatabase::close):
(WebCore::IDBClient::IDBDatabase::maybeCloseInServer):
(WebCore::IDBClient::IDBDatabase::commitTransaction):

  • Modules/indexeddb/client/IDBDatabaseImpl.h:

(WebCore::IDBClient::IDBDatabase::databaseConnectionIdentifier):

  • Modules/indexeddb/client/IDBRequestImpl.cpp:

(WebCore::IDBClient::IDBRequest::result):

  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::databaseConnectionClosed):

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

(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabase::handleOpenDatabaseOperations): Deleted.

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

(WebCore::IDBServer::UniqueIDBDatabaseConnection::UniqueIDBDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::~UniqueIDBDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::hasNonFinishedTransactions):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::connectionClosedFromClient):

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

(WebCore::InProcessIDBServer::databaseConnectionClosed):

  • Modules/indexeddb/shared/InProcessIDBServer.h:

LayoutTests:

  • storage/indexeddb/modern/opendatabase-versions-expected.txt:
  • storage/indexeddb/modern/opendatabase-versions.html:
5:18 PM Changeset in webkit [191155] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

Patch parseKeywordValue to accept "unset" so that it goes down the faster parsing path.
https://bugs.webkit.org/show_bug.cgi?id=150213

Reviewed by Dean Jackson.

No new tests as correctness doesn't change (just speed).

  • css/CSSParser.cpp:

(WebCore::parseKeywordValue):

5:13 PM Changeset in webkit [191154] by matthew_hanson@apple.com
  • 17 edits in branches/safari-601.1.46-branch

Rollout r188486. rdar://problem/22707497

5:13 PM Changeset in webkit [191153] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebCore

Rollout r188531. rdar://problem/22707497

5:09 PM Changeset in webkit [191152] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Marking another disk-cache test as flaky on mac-wk2
https://bugs.webkit.org/show_bug.cgi?id=149087

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-15
Reviewed by Alexey Proskuryakov.

  • platform/mac-wk2/TestExpectations:
4:54 PM Changeset in webkit [191151] by hyatt@apple.com
  • 14 edits
    10 adds
    6 deletes in trunk

Add support for the CSS 'unset' keyword.
https://bugs.webkit.org/show_bug.cgi?id=148614

Reviewed by Dean Jackson.

Source/WebCore:

Added new test in fast/css, and existing variables tests also use unset in several tests.

  • WebCore.xcodeproj/project.pbxproj:

Add CSSUnsetValue.cpp to the project.

  • bindings/objc/DOMCSS.mm:

(kitClass):
Make sure UNSET is handled in the switch.

  • css/CSSParser.cpp:

(WebCore::parseKeywordValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseCustomPropertyDeclaration):
Add cases to create a CSSUnsetValue properly.

  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::styleImage):
(WebCore::CSSToStyleMap::mapFillAttachment):
(WebCore::CSSToStyleMap::mapFillClip):
(WebCore::CSSToStyleMap::mapFillComposite):
(WebCore::CSSToStyleMap::mapFillBlendMode):
(WebCore::CSSToStyleMap::mapFillOrigin):
(WebCore::CSSToStyleMap::mapFillImage):
(WebCore::CSSToStyleMap::mapFillRepeatX):
(WebCore::CSSToStyleMap::mapFillRepeatY):
(WebCore::convertToLengthSize):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapFillMaskSourceType):
(WebCore::CSSToStyleMap::mapAnimationDelay):
(WebCore::CSSToStyleMap::mapAnimationDirection):
(WebCore::CSSToStyleMap::mapAnimationDuration):
(WebCore::CSSToStyleMap::mapAnimationFillMode):
(WebCore::CSSToStyleMap::mapAnimationIterationCount):
(WebCore::CSSToStyleMap::mapAnimationName):
(WebCore::CSSToStyleMap::mapAnimationPlayState):
(WebCore::CSSToStyleMap::mapAnimationProperty):
(WebCore::CSSToStyleMap::mapAnimationTimingFunction):
(WebCore::CSSToStyleMap::mapAnimationTrigger):
The background and animation functions need to check for unset and be able to map it properly to initial. This is done
with a new treatAsInitial method on CSSValue that can take the property ID and check for both initial
or unset on a non-inherited property.

  • css/CSSUnsetValue.cpp: Added.

(WebCore::CSSUnsetValue::customCSSText):

  • css/CSSUnsetValue.h: Added.

(WebCore::CSSUnsetValue::create):
(WebCore::CSSUnsetValue::equals):
(WebCore::CSSUnsetValue::CSSUnsetValue):
This new value looks exactly like CSSInheritedValue and CSSInitialValue.

  • css/CSSValue.cpp:

(WebCore::CSSValue::cssValueType):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
(WebCore::CSSValue::isInvalidCustomPropertyValue):
(WebCore::CSSValue::treatAsInheritedValue):
(WebCore::CSSValue::treatAsInitialValue):

  • css/CSSValue.h:

(WebCore::CSSValue::isUnsetValue):
Add isUnsetValue and the UnsetClass. Add support for treatAsInheritedValue and treatAsInitialValue to have
a way to query for initial/inherit or the matching unset type.

  • css/CSSValueKeywords.in:

Add the unset keyword.

  • css/CSSValuePool.cpp:

(WebCore::CSSValuePool::CSSValuePool):

  • css/CSSValuePool.h:

(WebCore::CSSValuePool::createUnsetValue):
Have a singleton model for unset just like we do for inherit/initial.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
Handle unset correctly. It maps to inherit for inherited properties and initial for non-inherited ones.

LayoutTests:

Remove the 3 failing variables tests that used the unset keyword now that they pass.

  • fast/css/unset-keyword-expected.html: Added.
  • fast/css/unset-keyword.html: Added.

New test for both inherited and initial properties.

  • fast/css/variables/test-suite/129-expected.html: Added.
  • fast/css/variables/test-suite/129.html: Added.
  • fast/css/variables/test-suite/130-expected.html: Added.
  • fast/css/variables/test-suite/130.html: Added.
  • fast/css/variables/test-suite/134-expected.html: Added.
  • fast/css/variables/test-suite/134.html: Added.
  • fast/css/variables/test-suite/failures/129-expected.html: Removed.
  • fast/css/variables/test-suite/failures/129.html: Removed.
  • fast/css/variables/test-suite/failures/130-expected.html: Removed.
  • fast/css/variables/test-suite/failures/130.html: Removed.
  • fast/css/variables/test-suite/failures/134-expected.html: Removed.
  • fast/css/variables/test-suite/failures/134.html: Removed.

Move these tests into the passing directory.

4:41 PM Changeset in webkit [191150] by bshafiei@apple.com
  • 54 edits
    1 copy
    3 deletes in tags/Safari-602.1.7/Source/JavaScriptCore

Roll out r190896. rdar://problem/23128791

4:38 PM Changeset in webkit [191149] by bshafiei@apple.com
  • 2 edits in tags/Safari-602.1.7/Source/JavaScriptCore

Roll out r190904. rdar://problem/23128791

4:20 PM Changeset in webkit [191148] by mmaxfield@apple.com
  • 12 edits in trunk/Source

Migrate to CGContextSetBaseCTM() and CGContextResetClip() from WKSI
https://bugs.webkit.org/show_bug.cgi?id=150155

Reviewed by Tim Horton.

Source/WebCore:

No new tests because there is no behavior change.

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::putByteArray):

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Deleted.

  • WebView/WebView.mm:

(-[WebView _setBaseCTM:forContext:]):

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Deleted.

4:18 PM Changeset in webkit [191147] by dino@apple.com
  • 2 edits in trunk/LayoutTests

Remove deprecated function insertRule(), replace with appendRule()
https://bugs.webkit.org/show_bug.cgi?id=150188

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-15
Reviewed by Dean Jackson.

  • http/tests/css/resources/shared-stylesheet-mutation.js:

(executeTests):

4:03 PM Changeset in webkit [191146] by dino@apple.com
  • 8 edits in trunk/Source/WebKit2

Fix the iOS build. And hopefully not breaking the other builds
at the same time.

  • UIProcess/PageClient.h:
  • UIProcess/WebContextMenuProxy.cpp:
  • UIProcess/WebContextMenuProxy.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:
4:02 PM Changeset in webkit [191145] by commit-queue@webkit.org
  • 12 edits
    2 deletes in trunk

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

This patch causes 50+ LayoutTest crashes related to the
inspector (Requested by ryanhaddad on #webkit).

Reverted changeset:

"Web Inspector: JavaScriptCore should parse sourceURL and
sourceMappingURL directives"
https://bugs.webkit.org/show_bug.cgi?id=150096
http://trac.webkit.org/changeset/191135

3:51 PM Changeset in webkit [191144] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Use the context inside WebContextMenuProxyMac
https://bugs.webkit.org/show_bug.cgi?id=150196

Reviewed by Tim Horton.

  • UIProcess/WebContextMenuProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::internalShowContextMenu):

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

(WebKit::WebContextMenuProxyMac::populate):
(WebKit::WebContextMenuProxyMac::showContextMenu):

3:34 PM Changeset in webkit [191143] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Use the context menu location that's stored in the context data
https://bugs.webkit.org/show_bug.cgi?id=150194

Reviewed by Tim Horton.

  • UIProcess/WebContextMenuProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::internalShowContextMenu):

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

(WebKit::WebContextMenuProxyMac::showContextMenu):

3:20 PM Changeset in webkit [191142] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Fixed the build.

  • platform/network/mac/ResourceHandleMac.mm:
3:15 PM Changeset in webkit [191141] by andersca@apple.com
  • 11 edits in trunk/Source/WebKit2

Store the context menu data and user data in the WebContextMenuProxy object
https://bugs.webkit.org/show_bug.cgi?id=150191

Reviewed by Tim Horton.

  • UIProcess/PageClient.h:
  • UIProcess/WebContextMenuProxy.cpp:

(WebKit::WebContextMenuProxy::WebContextMenuProxy):

  • UIProcess/WebContextMenuProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::internalShowContextMenu):

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::createContextMenuProxy):

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

(WebKit::PageClientImpl::createContextMenuProxy):

  • UIProcess/mac/WebContextMenuProxyMac.h:

(WebKit::WebContextMenuProxyMac::create):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):

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

[Cocoa] Stop using WKSetNSURLConnectionDefersCallbacks
https://bugs.webkit.org/show_bug.cgi?id=150189

Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/ios/WebCoreSystemInterfaceIOS.mm: Removed definition.
  • platform/mac/WebCoreSystemInterface.h: Removed declaration.
  • platform/mac/WebCoreSystemInterface.mm: Removed definition.
  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::start): Changed to use -[NSURLConnection setDefersLoading:].
(WebCore::ResourceHandle::platformSetDefersLoading): Ditto.

  • platform/spi/cocoa/NSURLConnectionSPI.h: Added declaration of -[NSURLConnection setDefersLoading:].

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Removed initialization.

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Removed initialization.

2:52 PM Changeset in webkit [191139] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

2015-10-15 Geoffrey Garen <ggaren@apple.com>

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

We're seeing some crashes in GC beneath speculationFromCell. Maybe this
patch caused them?

Reverted changeset:

CodeBlock write barriers should be precise
https://bugs.webkit.org/show_bug.cgi?id=150042
http://trac.webkit.org/changeset/191003

2:31 PM Changeset in webkit [191138] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Fix build.

  • UIProcess/API/APIFrameInfo.cpp:

(API::FrameInfo::~FrameInfo):

  • UIProcess/API/APIFrameInfo.h:
  • UIProcess/API/Cocoa/WKUserContentController.mm:
2:27 PM Changeset in webkit [191137] by andersca@apple.com
  • 12 edits in trunk/Source/WebKit2

CTTE menu proxies
https://bugs.webkit.org/show_bug.cgi?id=150187

Reviewed by Tim Horton.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::showPopupMenu):
(WebKit::WebPageProxy::internalShowContextMenu):

  • UIProcess/WebPopupMenuProxy.h:

(WebKit::WebPopupMenuProxy::WebPopupMenuProxy):

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::createPopupMenuProxy):
(WebKit::PageClientImpl::createContextMenuProxy): Deleted.

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

(WebKit::PageClientImpl::createPopupMenuProxy):
(WebKit::PageClientImpl::createContextMenuProxy):

  • UIProcess/mac/WebContextMenuProxyMac.h:

(WebKit::WebContextMenuProxyMac::create):
(WebKit::WebContextMenuProxyMac::page):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
(WebKit::WebContextMenuProxyMac::~WebContextMenuProxyMac):
(WebKit::WebContextMenuProxyMac::contextMenuItemSelected):

  • UIProcess/mac/WebPopupMenuProxyMac.h:

(WebKit::WebPopupMenuProxyMac::create):

  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):

2:16 PM Changeset in webkit [191136] by andersca@apple.com
  • 6 edits
    1 copy in trunk/Source/WebKit2

Add -[WKFrameInfo _handle]
https://bugs.webkit.org/show_bug.cgi?id=150185
rdar://problem/23132371

Reviewed by Tim Horton.

  • UIProcess/API/APIFrameInfo.cpp:

(API::FrameInfo::FrameInfo):

  • UIProcess/API/APIFrameInfo.h:
  • UIProcess/API/Cocoa/WKFrameInfo.mm:

(-[WKFrameInfo _handle]):

  • UIProcess/API/Cocoa/WKFrameInfoInternal.h:
  • UIProcess/API/Cocoa/WKFrameInfoPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfoInternal.h.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::showPopupMenu):
(WebKit::WebPageProxy::internalShowContextMenu):

  • UIProcess/WebPopupMenuProxy.h:

(WebKit::WebPopupMenuProxy::WebPopupMenuProxy):

  • WebKit2.xcodeproj/project.pbxproj:
1:50 PM Changeset in webkit [191135] by commit-queue@webkit.org
  • 12 edits
    2 adds in trunk

Web Inspector: JavaScriptCore should parse sourceURL and sourceMappingURL directives
https://bugs.webkit.org/show_bug.cgi?id=150096

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-15
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • inspector/ContentSearchUtilities.cpp:

(Inspector::ContentSearchUtilities::scriptCommentPattern): Deleted.
(Inspector::ContentSearchUtilities::findScriptSourceURL): Deleted.
(Inspector::ContentSearchUtilities::findScriptSourceMapURL): Deleted.

  • inspector/ContentSearchUtilities.h:

No longer need to search script content.

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::dispatchDidParseSource):
Carry over the sourceURL and sourceMappingURL from the SourceProvider.

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::sourceMapURLForScript):
(Inspector::InspectorDebuggerAgent::didParseSource):
No longer do content searching.

  • parser/Lexer.cpp:

(JSC::Lexer<T>::setCode):
(JSC::Lexer<T>::skipWhitespace):
(JSC::Lexer<T>::parseCommentDirective):
(JSC::Lexer<T>::parseCommentDirectiveValue):
(JSC::Lexer<T>::consume):
(JSC::Lexer<T>::lex):

  • parser/Lexer.h:

(JSC::Lexer::sourceURL):
(JSC::Lexer::sourceMappingURL):
(JSC::Lexer::sourceProvider): Deleted.
Give lexer the ability to detect script comment directives.
This just consumes characters in single line comments and
ultimately sets the sourceURL or sourceMappingURL found.

  • parser/Parser.h:

(JSC::Parser<LexerType>::parse):

  • parser/SourceProvider.h:

(JSC::SourceProvider::url):
(JSC::SourceProvider::sourceURL):
(JSC::SourceProvider::sourceMappingURL):
(JSC::SourceProvider::setSourceURL):
(JSC::SourceProvider::setSourceMappingURL):
After parsing a script, update the Source Provider with the
value of directives that may have been found in the script.

Source/WebInspectorUI:

  • UserInterface/Test/InspectorProtocol.js:

(InspectorProtocol._sendMessage):
(InspectorProtocol.dispatchMessageFromBackend):
This is only used for tests, so avoid console.log
and just dump directly to the system console.

LayoutTests:

  • inspector/debugger/sourceURLs-expected.txt: Added.
  • inspector/debugger/sourceURLs.html: Added.

sourceURL and sourceMappingURL detection.

1:34 PM Changeset in webkit [191134] by fpizlo@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

InferredTypeTable should ref its keys
https://bugs.webkit.org/show_bug.cgi?id=150138
rdar://problem/23080555

Reviewed by Michael Saboff.

InferredTypeTable was incorrectly using a key hash traits that caused the underlying HashTable to
store keys as UniquedStringImpl* rather than RefPtr<UniquedStringImpl>, even though the HashMap's
nominal key type was RefPtr<UniquedStringImpl>. This arose because I copy-pasted the HashMap type
instantiation from other places and then made random changes to adapt it to my needs, rather than
actually thinking about what I was doing. The solution is to remove the key hash traits argument,
since all it accomplishes is to produce this bug.

The way this bug manifested is probably best described in http://webkit.org/b/150008. After a while
the InferredTypeTable would have dangling references to its strings, if some recompilation or other
thing caused us to drop all other references to those strings. InferredTypeTable is particularly
susceptible to this because it is designed to know about a superset of the property names that its
client Structures know about. The debug assert would then happen when we rehashed the
InferredTypeTable's HashMap, because we'd try to get the hashes of strings that were already
deleted. AFAICT, we didn't have release crashes arising from those strings' memory being returned
to the OS - but it's totally possible that this could have happened. So, we definitely should treat
this bug as more than just a debug issue.

Interestingly, we could have also solved this problem by changing the hash function to use PtrHash.
In all other ways, it's OK for InferredTypeTable to hold dangling references, since it uses the
address of the UniquedStringImpl as a way to name an abstract heap. It's fine if the name of an
abstract heap is a bogus memory address, and it's also fine if that name referred to an entirely
different UniquedStringImpl at some point in the past. That's a nice benefit of any data structure
that keys by abstract heap - if two of them get unified then it's no big deal. I've filed another
bug, http://webkit.org/b/150137 about changing all of our UniquedStringImpl* hashing to use
PtrHash.

  • runtime/Identifier.h: Add a comment about http://webkit.org/b/150137.
  • runtime/InferredTypeTable.h: Fix the bug.
  • tests/stress/inferred-type-table-stale-identifiers.js: Added. I couldn't get this to cause a crash before my change, but it's an interesting test nonetheless.
1:21 PM Changeset in webkit [191133] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Update the help message of --system-malloc
https://bugs.webkit.org/show_bug.cgi?id=150169

Reviewed by Geoffrey Garen.

  • Scripts/webkitperl/FeatureList.pm:
12:57 PM Changeset in webkit [191132] by dino@apple.com
  • 6 edits in trunk

CSSKeyframesRule::appendRule is deprecated, but is actually the spec
https://bugs.webkit.org/show_bug.cgi?id=150113

Reviewed by Simon Fraser.

Source/WebCore:

I stupidly deprecated the wrong function in
http://trac.webkit.org/changeset/174469

  • css/CSSKeyframesRule.cpp:

(WebCore::CSSKeyframesRule::insertRule): Swap the code between these two.
(WebCore::CSSKeyframesRule::appendRule):

LayoutTests:

Update tests to deprecate the correct function.

  • animations/change-keyframes-expected.txt:
  • animations/keyframes-rule.html:
  • animations/unprefixed-keyframes-rule.html:
12:56 PM Changeset in webkit [191131] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

The menu location and menu items should be part of ContextMenuContextData
https://bugs.webkit.org/show_bug.cgi?id=150182

Reviewed by Andreas Kling.

  • Shared/ContextMenuContextData.cpp:

(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::encode):
(WebKit::ContextMenuContextData::decode):

  • Shared/ContextMenuContextData.h:

(WebKit::ContextMenuContextData::menuLocation):
(WebKit::ContextMenuContextData::menuItems):
(WebKit::ContextMenuContextData::ContextMenuContextData):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::showContextMenu):
(WebKit::WebPageProxy::internalShowContextMenu):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::showSelectionServiceMenu):

  • WebProcess/WebPage/WebContextMenu.cpp:

(WebKit::WebContextMenu::show):

12:54 PM Changeset in webkit [191130] by mark.lam@apple.com
  • 6 edits
    2 adds in trunk/Source/JavaScriptCore

Add MASM_PROBE support for ARM64.
https://bugs.webkit.org/show_bug.cgi?id=150128

Reviewed by Michael Saboff.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/ARM64Assembler.h:
  • Convert the ARM64 registers enum list into a macro list so that we can use it elsewhere e.g. to declare fields in the probe CPUState. Also de-tabbed the contents of the ARM64Registers namespace since the enum list change touches almost all of it anyway. This reduces the amount of complaints from the style checker.
  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::CPUState::registerName):
(JSC::AbstractMacroAssembler::CPUState::registerValue):

  • Change CPUState methods to allow for registers ID that do not map to one of its fields. This is needed because ARM64's registers include aliases for some register names. The CPUState will not allocate separate storage for the aliases.
  • assembler/MacroAssemblerARM64.cpp: Added.

(JSC::arm64ProbeTrampoline):

  • Unlike the probe mechanism for other CPUs, the ARM64 implementation does not allow the probe function to modify the sp and pc registers. We insert this wrapper function between ctiMasmProbeTrampoline() and the user's probe function so that we can check if the user tried to modify sp and pc. If so, we will print an error message so that we can alert the user that we don't support that on ARM64.

See the comment in ctiMasmProbeTrampoline() in JITStubsARM64.h for details
on why we cannot support sp and pc modifications by the probe function.

(JSC::MacroAssemblerARM64::probe):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::repatchCall):
(JSC::MacroAssemblerARM64::makeBranch):

  • jit/JITStubs.cpp:
  • jit/JITStubsARM64.h: Added.
12:52 PM Changeset in webkit [191129] by Alan Bujtas
  • 1 edit
    6 adds in trunk/LayoutTests

[Win] Update anonymous table results for Win port.

Unreviewed gardening.

  • platform/win/css2.1/tables/table-anonymous-objects-103-expected.txt: Added.
  • platform/win/css2.1/tables/table-anonymous-objects-104-expected.txt: Added.
  • platform/win/css2.1/tables/table-anonymous-objects-117-expected.txt: Added.
  • platform/win/css2.1/tables/table-anonymous-objects-118-expected.txt: Added.
  • platform/win/css2.1/tables/table-anonymous-objects-119-expected.txt: Added.
  • platform/win/css2.1/tables/table-anonymous-objects-120-expected.txt: Added.
12:48 PM Changeset in webkit [191128] by hyatt@apple.com
  • 29 edits
    380 adds in trunk

Implement CSS Variables.
https://bugs.webkit.org/show_bug.cgi?id=19660

Reviewed by Dean Jackson.

Source/WebCore:

Added new tests in fast/css/custom-properties and fast/css/variables.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:

Add CSSVariableValue.cpp and CSSVariableDependentValue.cpp to builds.

  • css/CSSCalculationValue.cpp:

(WebCore::hasDoubleValue):
Handle the new CSS_PARSER_WHITESPACE value.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::customPropertyValue):
Patched to make sure style is updated so that dynamic changes to custom properties are reflected
immediately when querying values.

(WebCore::CSSComputedStyleDeclaration::length):
(WebCore::CSSComputedStyleDeclaration::item):
The custom properties table is a reference and not a pointer now.

  • css/CSSCustomPropertyValue.h:

(WebCore::CSSCustomPropertyValue::create):
(WebCore::CSSCustomPropertyValue::createInvalid):
(WebCore::CSSCustomPropertyValue::customCSSText):
(WebCore::CSSCustomPropertyValue::equals):
(WebCore::CSSCustomPropertyValue::isInvalid):
(WebCore::CSSCustomPropertyValue::containsVariables):
(WebCore::CSSCustomPropertyValue::value):
(WebCore::CSSCustomPropertyValue::CSSCustomPropertyValue):
The CSSCustomPropertyValue represents a custom property/value pair in the back end. It holds on
to both the property name and a CSSValueList that has the original parser terms. This class also
doubles as the invalid-at-compute-time value for custom properties when they contain cycles, etc.

  • css/CSSFunctionValue.cpp:

(WebCore::CSSFunctionValue::buildParserValueSubstitutingVariables):

  • css/CSSFunctionValue.h:

(WebCore::CSSFunctionValue::buildParserValueSubstitutingVariables):
Hands back a CSSParserValue for a function with variables replaced with their real values (or fallback).

  • css/CSSGrammar.y.in:

Many changes to support the var() syntax and to handle error conditions and cases.

  • css/CSSParser.cpp:

(WebCore::filterProperties):
Null check the value here. Shouldn't happen, but being paranoid.

(WebCore::CSSParser::parseVariableDependentValue):
This function converts a CSSValueList back into a CSSParserValueList and then passes
it off to the parser. If the result parses, successfully, then the parsed CSSValue is handed back.

(WebCore::CSSParser::parseValue):
Detect when a property value contains variables and simply make a CSSVariableDependentValue to hold
a copy of the parser value list (as a CSSValueList). We defer parsing the list until compute-time
when we know the values of the variables to use.

(WebCore::CSSParser::parseCustomPropertyDeclaration):
Add support for inherit, initial and variable references in custom properties.

(WebCore::CSSParser::detectFunctionTypeToken):
Add support for detection of the "var" token.

(WebCore::CSSParser::realLex):
Fix the parsing of custom properties to allow "--" and to allow them to start with digits, e.g., "--0".

  • css/CSSParser.h:

Add parseVariableDependentValue function for handling variable substitution and subsequent parsing
of the resolved parser value list.

  • css/CSSParserValues.cpp:

(WebCore::CSSParserValueList::containsVariables):
Get rid of the toString() function (no longer needed) and replace it with containsVariables(). This
check is used to figure out if a parser value list has variables and thus needs to defer parsing
until later.

(WebCore::CSSParserValue::createCSSValue):
Add support for the creation of values for variables, CSSVariableValues.

(WebCore::CSSParserValueList::toString): Deleted.
No longer needed.

  • css/CSSParserValues.h:

Add CSSParserVariable as a new kind of parser value. This represents a var() that is encountered
during parsing. It is similar to a function except it has to hold both the reference (custom property name)
and fallback arguments.

  • css/CSSPrimitiveValue.cpp:

(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText):
(WebCore::CSSPrimitiveValue::cloneForCSSOM):
(WebCore::CSSPrimitiveValue::equals):
Add support for CSS_PARSER_WHITESPACE as a way of preserving whitespace as a parsed item (variables can
be only whitespace, and this has to be retained).

(WebCore::CSSPrimitiveValue::buildParserValue):
Conversion from a CSSPrimitiveValue back into a parser value is handled by this function.

  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::isParserOperator):
(WebCore::CSSPrimitiveValue::parserOperator):
Add ability to get parser operator info. Add the buildParserValue declaration.

  • css/CSSValue.cpp:

(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
(WebCore::CSSValue::cloneForCSSOM):
(WebCore::CSSValue::isInvalidCustomPropertyValue):

  • css/CSSValue.h:

Add support for variable values and variable dependent values.

  • css/CSSValueList.cpp:

(WebCore::CSSValueList::customCSSText):
Improve serialization to not output extra spaces when a comma operator is a value.

(WebCore::CSSValueList::containsVariables):
Whether or not a CSSVariableValue can be found somewhere within the list (or its descendants).

(WebCore::CSSValueList::checkVariablesForCycles):
Called to check variables for cycles.

(WebCore::CSSValueList::buildParserValueSubstitutingVariables):
(WebCore::CSSValueList::buildParserValueListSubstitutingVariables):
Functions that handle converting the value list to a parser value list while making
variable substitutions along the way.

  • css/CSSValueList.h:

Add the new buildParserXXX functions.

  • css/CSSVariableDependentValue.cpp: Added.

(WebCore::CSSVariableDependentValue::checkVariablesForCycles):

  • css/CSSVariableDependentValue.h: Added.

(WebCore::CSSVariableDependentValue::create):
(WebCore::CSSVariableDependentValue::customCSSText):
(WebCore::CSSVariableDependentValue::equals):
(WebCore::CSSVariableDependentValue::propertyID):
(WebCore::CSSVariableDependentValue::valueList):
(WebCore::CSSVariableDependentValue::CSSVariableDependentValue):
This value represents a list of terms that have not had variables substituted yet. The list
is held by the value so that it can be converted back into a parser value list once the
variable values are known.

  • css/CSSVariableValue.cpp: Added.

(WebCore::CSSVariableValue::CSSVariableValue):
(WebCore::CSSVariableValue::customCSSText):
(WebCore::CSSVariableValue::equals):
(WebCore::CSSVariableValue::buildParserValueListSubstitutingVariables):

  • css/CSSVariableValue.h: Added.

(WebCore::CSSVariableValue::create):
(WebCore::CSSVariableValue::name):
(WebCore::CSSVariableValue::fallbackArguments):
This value represents a var() itself. It knows how to do the substitution of the variable
value and to apply fallback if that value is not present.

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue):
(WebCore::StyleProperties::borderSpacingValue):
(WebCore::StyleProperties::getLayeredShorthandValue):
(WebCore::StyleProperties::getShorthandValue):
(WebCore::StyleProperties::getCommonValue):
(WebCore::StyleProperties::getPropertyCSSValue):
(WebCore::StyleProperties::getPropertyCSSValueInternal):
(WebCore::StyleProperties::asText):
(WebCore::StyleProperties::copyPropertiesInSet):

  • css/StyleProperties.h:

Patched to factor property fetching into an internal method so that variables can work with shorthands
in the CSS OM.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
Resolve variable values at compute time. If they fail to resolve, use inherit or initial as the
value (depending on whether the property inherits by default).

(WebCore::StyleResolver::resolvedVariableValue):
Helper function that calls parseVariableDependentValue and gets the resolved result.

(WebCore::StyleResolver::applyCascadedProperties):
After custom properties have been collected, we check for cycles and perform variable substitutions.
This way we get all the variables replaced before we inherit down the style tree.

  • css/StyleResolver.h:

Add resolvedVariableValue declaration.

  • css/makeprop.pl:

Make sure custom properties are inherited by default.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::checkVariablesInCustomProperties):
This function handles updating variables with cycles to be invalid in the RenderStyle. It then also
handles the replacement of variables found in custom properties with resolved values. All custom
properties are either invalid or are real non-variable-dependent value lists after this function
completes.

  • rendering/style/RenderStyle.h:

Add checkVariablesInCustomProperties declaration.

  • rendering/style/StyleCustomPropertyData.h:

(WebCore::StyleCustomPropertyData::create):
(WebCore::StyleCustomPropertyData::copy):
(WebCore::StyleCustomPropertyData::operator==):
(WebCore::StyleCustomPropertyData::operator!=):
(WebCore::StyleCustomPropertyData::setCustomPropertyValue):
(WebCore::StyleCustomPropertyData::getCustomPropertyValue):
(WebCore::StyleCustomPropertyData::values):
(WebCore::StyleCustomPropertyData::hasCustomProperty):
(WebCore::StyleCustomPropertyData::containsVariables):
(WebCore::StyleCustomPropertyData::setContainsVariables):
(WebCore::StyleCustomPropertyData::StyleCustomPropertyData):
Miscellaneous cleanup, and the addition of whether or not the properties still contain variable
dependent values that need to be resolved.

LayoutTests:

  • fast/css/custom-properties/inheritance-expected.html: Added.
  • fast/css/custom-properties/inheritance.html: Added.
  • fast/css/variables: Added.
  • fast/css/variables/custom-property-computed-style-access-expected.html: Added.
  • fast/css/variables/custom-property-computed-style-access.html: Added.
  • fast/css/variables/custom-property-dynamic-update-expected.html: Added.
  • fast/css/variables/custom-property-dynamic-update.html: Added.
  • fast/css/variables/custom-property-simple-cycle-expected.html: Added.
  • fast/css/variables/custom-property-simple-cycle.html: Added.
  • fast/css/variables/inherited-fallback-expected.html: Added.
  • fast/css/variables/inherited-fallback.html: Added.
  • fast/css/variables/invalid-reference-expected.html: Added.
  • fast/css/variables/invalid-reference.html: Added.
  • fast/css/variables/rule-property-get-css-value-expected.html: Added.
  • fast/css/variables/rule-property-get-css-value.html: Added.
  • fast/css/variables/rule-property-get-expected.html: Added.
  • fast/css/variables/rule-property-get.html: Added.
  • fast/css/variables/rule-serialization-expected.html: Added.
  • fast/css/variables/rule-serialization.html: Added.
12:46 PM Changeset in webkit [191127] by Csaba Osztrogonác
  • 4 edits in trunk/Source/WebCore
Fix the !(ENABLE(SHADOW_DOM)
ENABLE(DETAILS_ELEMENT)) build after r191112

https://bugs.webkit.org/show_bug.cgi?id=150175

Reviewed by Antti Koivisto.

  • dom/ComposedTreeAncestorIterator.h:

(WebCore::ComposedTreeAncestorIterator::traverseParent):

  • dom/ComposedTreeIterator.cpp:

(WebCore::ComposedTreeIterator::initializeShadowStack):

  • dom/Element.cpp:

(WebCore::Element::childrenChanged):

12:34 PM Changeset in webkit [191126] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Get rid of the only once used isIntegerArray function
https://bugs.webkit.org/show_bug.cgi?id=150170

Reviewed by Geoffrey Garen.

  • page/Crypto.cpp:

(WebCore::Crypto::getRandomValues):

12:31 PM Changeset in webkit [191125] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix some typos in comments.
https://bugs.webkit.org/show_bug.cgi?id=150181

Rubber stamped by Michael Saboff.

  • jit/JITStubsARM.h:
  • jit/JITStubsARMv7.h:
11:38 AM Changeset in webkit [191124] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Rebaselining css2.1/tables/table-anonymous-objects-045.xht for win
https://bugs.webkit.org/show_bug.cgi?id=150125

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-15
Reviewed by Zalan Bujtas.

  • platform/win/css2.1/tables/table-anonymous-objects-045-expected.txt:
11:37 AM Changeset in webkit [191123] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Refactoring: give the MASM probe CPUState methods shorter names.
https://bugs.webkit.org/show_bug.cgi?id=150177

Reviewed by Michael Saboff.

The existing names are longer than they need to be. Renaming them as follows:

For GPR, registerName ==> gprName
For GPR, registerValue ==> gpr
For FPR, registerName ==> fprName
For FPR, registerValue ==> fpr

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::CPUState::gprName):
(JSC::AbstractMacroAssembler::CPUState::fprName):
(JSC::AbstractMacroAssembler::CPUState::gpr):
(JSC::AbstractMacroAssembler::CPUState::fpr):
(JSC::AbstractMacroAssembler::CPUState::registerName): Deleted.
(JSC::AbstractMacroAssembler::CPUState::registerValue): Deleted.

  • assembler/MacroAssemblerPrinter.cpp:

(JSC::printRegister):
(JSC::printMemory):

  • Updated to use the new names.
11:09 AM Changeset in webkit [191122] by Alan Bujtas
  • 1 edit
    6 adds in trunk/LayoutTests

[iOS] Update anonymous table results for iOS port.

Unreviewed gardening.

  • platform/ios-simulator/css2.1/tables/table-anonymous-objects-103-expected.txt: Added.
  • platform/ios-simulator/css2.1/tables/table-anonymous-objects-104-expected.txt: Added.
  • platform/ios-simulator/css2.1/tables/table-anonymous-objects-117-expected.txt: Added.
  • platform/ios-simulator/css2.1/tables/table-anonymous-objects-118-expected.txt: Added.
  • platform/ios-simulator/css2.1/tables/table-anonymous-objects-119-expected.txt: Added.
  • platform/ios-simulator/css2.1/tables/table-anonymous-objects-120-expected.txt: Added.
11:02 AM Changeset in webkit [191121] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the iOS build.

  • page/EventHandler.h:
10:45 AM Changeset in webkit [191120] by youenn.fablet@crf.canon.fr
  • 4 edits in trunk

Update ImportExpectations according currently imported wpt tests
https://bugs.webkit.org/show_bug.cgi?id=150158

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • resources/ImportExpectations:

Tools:

  • Scripts/webkitpy/w3c/test_downloader.py:

(TestDownloader.copy_tests): ensuring that directories marked as [ Skip ] are not copied.

10:30 AM Changeset in webkit [191119] by Alan Bujtas
  • 3 edits
    12 adds in trunk

Anonymous table objects: Collapse anonymous table rows.
https://bugs.webkit.org/show_bug.cgi?id=150154

Reviewed by David Hyatt.

Merge anonymous table rows when they are not needed anymore.
Generated table rows can be collapsed into one when there's no
non-generated sibling table row left in the tree.

Import W3C CSS2.1 anonymous table tests.

Source/WebCore:

  • rendering/RenderObject.cpp:

(WebCore::collapseAnonymousTableRowsIfNeeded):
(WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):

LayoutTests:

  • css2.1/tables/table-anonymous-objects-103.xht: Added.
  • css2.1/tables/table-anonymous-objects-104.xht: Added.
  • css2.1/tables/table-anonymous-objects-117.xht: Added.
  • css2.1/tables/table-anonymous-objects-118.xht: Added.
  • css2.1/tables/table-anonymous-objects-119.xht: Added.
  • css2.1/tables/table-anonymous-objects-120.xht: Added.
  • platform/mac/css2.1/tables/table-anonymous-objects-103-expected.txt: Added.
  • platform/mac/css2.1/tables/table-anonymous-objects-104-expected.txt: Added.
  • platform/mac/css2.1/tables/table-anonymous-objects-117-expected.txt: Added.
  • platform/mac/css2.1/tables/table-anonymous-objects-118-expected.txt: Added.
  • platform/mac/css2.1/tables/table-anonymous-objects-119-expected.txt: Added.
  • platform/mac/css2.1/tables/table-anonymous-objects-120-expected.txt: Added.
10:23 AM Changeset in webkit [191118] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Un-indent contents of the WebCore namespace
in GraphicsContext.h. No code changes.

  • platform/graphics/GraphicsContext.h:
10:20 AM Changeset in webkit [191117] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Move ImageBuffer:clip() into GraphicsContextCG
https://bugs.webkit.org/show_bug.cgi?id=150140

Reviewed by Zalan Bujtas.

Move the guts of CG's ImageBuffer:clip() into GraphicsContextCG.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::clipToNativeImage):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::clip):

9:54 AM Changeset in webkit [191116] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardenining after r190816.

Update Windows expectation to match new mac test expectation.

  • platform/win/svg/custom/simple-text-double-shadow-expected.txt:
9:44 AM Changeset in webkit [191115] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed fix of a test after r190687.

  • tests/admin-regenerate-manifest.js:
9:41 AM Changeset in webkit [191114] by beidson@apple.com
  • 38 edits
    2 adds in trunk

Modern IDB: Add basic transaction committing.
https://bugs.webkit.org/show_bug.cgi?id=150147

Reviewed by Alex Christensen.

Source/WebCore:

Test: storage/indexeddb/modern/opendatabase-versions.html

  • Modules/indexeddb/IDBTransaction.h:
  • Modules/indexeddb/IndexedDB.h:
  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::commitTransaction):
(WebCore::IDBClient::IDBConnectionToServer::didCommitTransaction):

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

(WebCore::IDBClient::IDBDatabase::startVersionChangeTransaction):
(WebCore::IDBClient::IDBDatabase::commitTransaction):
(WebCore::IDBClient::IDBDatabase::didCommitTransaction):
(WebCore::IDBClient::IDBDatabase::didAbortTransaction):
(WebCore::IDBClient::IDBDatabase::didCommitOrAbortTransaction):

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

(WebCore::IDBClient::IDBFactory::open):

  • Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:

(WebCore::IDBClient::IDBOpenDBRequest::onSuccess):

  • Modules/indexeddb/client/IDBOpenDBRequestImpl.h:
  • Modules/indexeddb/client/IDBTransactionImpl.cpp:

(WebCore::IDBClient::IDBTransaction::IDBTransaction):
(WebCore::IDBClient::IDBTransaction::db):
(WebCore::IDBClient::IDBTransaction::hasPendingActivity):
(WebCore::IDBClient::IDBTransaction::isActive):
(WebCore::IDBClient::IDBTransaction::scheduleOperationTimer):
(WebCore::IDBClient::IDBTransaction::operationTimerFired):
(WebCore::IDBClient::IDBTransaction::commit):
(WebCore::IDBClient::IDBTransaction::didCommit):
(WebCore::IDBClient::IDBTransaction::fireOnComplete):
(WebCore::IDBClient::IDBTransaction::fireOnAbort):
(WebCore::IDBClient::IDBTransaction::enqueueEvent):
(WebCore::IDBClient::IDBTransaction::dispatchEvent):

  • Modules/indexeddb/client/IDBTransactionImpl.h:

(WebCore::IDBClient::IDBTransaction::database):

  • Modules/indexeddb/legacy/LegacyTransaction.cpp:

(WebCore::LegacyTransaction::db):

  • Modules/indexeddb/legacy/LegacyTransaction.h:
  • Modules/indexeddb/server/IDBConnectionToClient.cpp:

(WebCore::IDBServer::IDBConnectionToClient::didCommitTransaction):

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

(WebCore::IDBServer::IDBServer::registerTransaction):
(WebCore::IDBServer::IDBServer::unregisterTransaction):
(WebCore::IDBServer::IDBServer::commitTransaction):

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

(WebCore::IDBServer::generateUniqueCallbackIdentifier):
(WebCore::IDBServer::UniqueIDBDatabase::storeCallback):
(WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::performCommitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformCommitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::performErrorCallback):
(WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction): Deleted.

  • Modules/indexeddb/server/UniqueIDBDatabase.h:

(WebCore::IDBServer::UniqueIDBDatabase::server):

  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseConnection::createVersionChangeTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didCommitTransaction):

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

(WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::~UniqueIDBDatabaseTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::commit):

  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
  • Modules/indexeddb/shared/IDBDatabaseInfo.h:

(WebCore::IDBDatabaseInfo::setVersion):

  • Modules/indexeddb/shared/IDBError.cpp:

(WebCore::IDBError::isolatedCopy):

  • Modules/indexeddb/shared/IDBError.h:
  • Modules/indexeddb/shared/IDBRequestData.h:
  • Modules/indexeddb/shared/IDBResourceIdentifier.cpp:

(WebCore::IDBResourceIdentifier::isolatedCopy):

  • Modules/indexeddb/shared/IDBResourceIdentifier.h:
  • Modules/indexeddb/shared/InProcessIDBServer.cpp:

(WebCore::InProcessIDBServer::didCommitTransaction):
(WebCore::InProcessIDBServer::commitTransaction):

  • Modules/indexeddb/shared/InProcessIDBServer.h:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/CrossThreadCopier.cpp:

(WebCore::IDBResourceIdentifier>::copy):
(WebCore::IDBError>::copy):

  • platform/CrossThreadCopier.h:

LayoutTests:

  • storage/indexeddb/modern/opendatabase-versions-expected.txt: Added.
  • storage/indexeddb/modern/opendatabase-versions.html: Added.
9:08 AM Changeset in webkit [191113] by dbates@webkit.org
  • 4 edits
    12 adds in trunk

[iOS] DOM click event may not be dispatched when page has :active style and <input type="search">
https://bugs.webkit.org/show_bug.cgi?id=144451
<rdar://problem/23099482>

Reviewed by Simon Fraser.

Source/WebCore:

Fixes an issue where a DOM click event is not dispatched to an element in a subframe on a page
that has a <input type="search"> and defines a CSS :active pseudo-class for the HTML body element.

On iOS we only dispatch a DOM click event if the content does not change as part
of dispatching a DOM mousemove event at the tapped element. In particular, we do not
dispatch a DOM click event if there is a visibility change to some element on the page
as part of dispatching a mousemove event at the tapped element. For a web page
that specifies CSS :active pseudo-class and contains a search field, applying/unapplying
this pseudo-class as part of dispatching a DOM mousemove event may cause the
visibility of the search field cancel button to change; => a DOM click event will not
be dispatched to the tapped element.

Tests: fast/events/can-click-element-on-page-with-active-pseudo-class-and-search-field.html

fast/forms/search/search-cancel-button-visible-when-input-becomes-disabled.html
fast/forms/search/search-cancel-button-visible-when-input-becomes-readonly.html
fast/forms/search/search-cancel-in-formerly-invisible-element.html
fast/forms/search/search-cancel-toggle-visibility-initially-hidden.html
fast/forms/search/search-cancel-toggle-visibility-initially-visible.html

  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::updateCancelButtonVisibility): Write logic for determining
whether the visibility of the cancel button changed in terms of m_isCancelButtonVisible
instead of querying for the current style data as the latter is overwritten on a full
style recalculation.
(WebCore::RenderSearchField::RenderSearchField): Deleted.
(WebCore::RenderSearchField::visibilityForCancelButton): Deleted.

  • rendering/RenderSearchField.h: Define instance variable m_isCancelButtonVisible to

store the visibility state of the cancel button.

LayoutTests:

Add a test to ensure that a DOM click event is dispatched to an element in a subframe on a page
with a search field and that specifies a CSS :active pseudo-class that changes the tap highlight
color.

Additionally, add tests to ensure we update the cancel button visibility whenever the visibility
of the search field changes.

  • fast/events/can-click-element-on-page-with-active-pseudo-class-and-search-field-expected.txt: Added.
  • fast/events/can-click-element-on-page-with-active-pseudo-class-and-search-field.html: Added.
  • fast/forms/search/search-cancel-button-visible-when-input-becomes-disabled-expected.html: Added.
  • fast/forms/search/search-cancel-button-visible-when-input-becomes-disabled.html: Added.
  • fast/forms/search/search-cancel-button-visible-when-input-becomes-readonly-expected.html: Added.
  • fast/forms/search/search-cancel-button-visible-when-input-becomes-readonly.html: Added.
  • fast/forms/search/search-cancel-in-formerly-invisible-element-expected.html: Added.
  • fast/forms/search/search-cancel-in-formerly-invisible-element.html: Added.
  • fast/forms/search/search-cancel-toggle-visibility-initially-hidden-expected.html: Added.
  • fast/forms/search/search-cancel-toggle-visibility-initially-hidden.html: Added.
  • fast/forms/search/search-cancel-toggle-visibility-initially-visible-expected.html: Added.
  • fast/forms/search/search-cancel-toggle-visibility-initially-visible.html: Added.
8:12 AM Changeset in webkit [191112] by Antti Koivisto
  • 14 edits
    1 add in trunk/Source/WebCore

Implement iterator for traversing composed ancestors
https://bugs.webkit.org/show_bug.cgi?id=150162

Reviewed by Andreas Kling.

The existing general purpose ComposedTreeIterator can traverse parent chain but not efficiently
(since it builds stack). Add a separate stackless iterator for ancestor chain traversal.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/ComposedTreeAncestorIterator.h: Added.

(WebCore::ComposedTreeAncestorIterator::operator*):
(WebCore::ComposedTreeAncestorIterator::operator->):
(WebCore::ComposedTreeAncestorIterator::operator==):
(WebCore::ComposedTreeAncestorIterator::operator!=):
(WebCore::ComposedTreeAncestorIterator::operator++):
(WebCore::ComposedTreeAncestorIterator::get):
(WebCore::ComposedTreeAncestorIterator::ComposedTreeAncestorIterator):
(WebCore::ComposedTreeAncestorIterator::traverseParent):
(WebCore::ComposedTreeAncestorAdapter::ComposedTreeAncestorAdapter):
(WebCore::ComposedTreeAncestorAdapter::begin):
(WebCore::ComposedTreeAncestorAdapter::end):
(WebCore::ComposedTreeAncestorAdapter::first):
(WebCore::composedTreeAncestors):

  • dom/ComposedTreeIterator.h:
  • dom/ContainerNode.h:

(WebCore::Node::highestAncestor):
(WebCore::Node::isTreeScope):
(WebCore::Node::needsNodeRenderingTraversalSlowPath): Deleted.

With NodeRenderingTraversal::parent removed this bit is no longer used.

  • dom/Element.cpp:

(WebCore::Element::shadowRoot):
(WebCore::Element::addShadowRoot):
(WebCore::shouldUseNodeRenderingTraversalSlowPath): Deleted.
(WebCore::Element::resetNeedsNodeRenderingTraversalSlowPath): Deleted.

  • dom/Element.h:

(WebCore::Element::didAddUserAgentShadowRoot):
(WebCore::Element::alwaysCreateUserAgentShadowRoot):

  • dom/Node.cpp:

(WebCore::Node::derefEventTarget):
(WebCore::Node::updateAncestorsForStyleRecalc):
(WebCore::traverseStyleParent): Deleted.
(WebCore::traverseFirstStyleParent): Deleted.

Switch to iterator interface.

  • dom/Node.h:

(WebCore::Node::isDocumentFragment):
(WebCore::Node::isShadowRoot):
(WebCore::Node::isNamedFlowContentNode):
(WebCore::Node::hasCustomStyleResolveCallbacks):
(WebCore::Node::setHasCustomStyleResolveCallbacks):
(WebCore::Node::setTreeScope):
(WebCore::Node::setStyleChange):
(WebCore::Node::setNeedsNodeRenderingTraversalSlowPath): Deleted.

  • dom/NodeRenderingTraversal.cpp:

(WebCore::NodeRenderingTraversal::traverseParent):
(WebCore::NodeRenderingTraversal::traverseFirstChild):
(WebCore::NodeRenderingTraversal::traverseLastChild):
(WebCore::NodeRenderingTraversal::traversePreviousSibling):
(WebCore::NodeRenderingTraversal::nextInScope):
(WebCore::NodeRenderingTraversal::previousInScope):
(WebCore::NodeRenderingTraversal::parentInScope):
(WebCore::NodeRenderingTraversal::lastChildInScope):
(WebCore::NodeRenderingTraversal::parentSlow): Deleted.

  • dom/NodeRenderingTraversal.h:

(WebCore::NodeRenderingTraversal::parent): Deleted.

No longer used.

  • html/HTMLSummaryElement.cpp:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::isChildAllowed):

Switch to iterator interface.

  • style/RenderTreePosition.cpp:
  • style/StyleResolveTree.cpp:

(WebCore::Style::updateTextRendererAfterContentChange):

Switch to iterator interface.

7:54 AM Changeset in webkit [191111] by eunmi15.lee@samsung.com
  • 2 edits in trunk/Tools

Unreviewed, Update my email address.

  • Scripts/webkitpy/common/config/contributors.json:
7:35 AM Changeset in webkit [191110] by Yusuke Suzuki
  • 8 edits
    2 adds in trunk/Source/JavaScriptCore

[ES6] Class expression should have lexical environment that has itself as an imutable binding
https://bugs.webkit.org/show_bug.cgi?id=150089

Reviewed by Geoffrey Garen.

According to ES6 spec, class expression has its own lexical environment that holds itself
as an immutable binding[1] (section 14.5.14 step 2, 3, 4, 23)

As a result, even if the binding declared in the outer scope is overridden, methods inside
class expression can refer its class by the class name.

[1]: http://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-classdefinitionevaluation

  • bytecompiler/NodesCodegen.cpp:

(JSC::ClassExprNode::emitBytecode):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createClassExpr):

  • parser/NodeConstructors.h:

(JSC::ClassExprNode::ClassExprNode):

  • parser/Nodes.h:
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseClass):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createClassExpr):

  • tests/es6.yaml:
  • tests/stress/class-expression-generates-environment.js: Added.

(shouldBe):
(shouldThrow):
(prototype.method):
(staticMethod):
(A.prototype.method):
(A.staticMethod):
(A):

  • tests/stress/class-expression-should-be-tdz-in-heritage.js: Added.

(shouldThrow):
(shouldThrow.A):

3:19 AM Changeset in webkit [191109] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.10.2

WebKitGTK+ 2.10.2

3:19 AM Changeset in webkit [191108] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.10

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.10.2 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.10.2
2:17 AM Changeset in webkit [191107] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2

Merge r191102 - Unreviewed. Fix wrong #ifdef added in r190615.

This disabled accelerated compositing unconditionally.

  • UIProcess/gtk/WebPreferencesGtk.cpp:

(WebKit::WebPreferences::platformInitializeStore):

2:15 AM Changeset in webkit [191106] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Tools

Merge r191100 - [GTK] Missing return value on TestWebExtensions.cpp:193
https://bugs.webkit.org/show_bug.cgi?id=149755

Unreviewed. Add missing return value.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:

(permissionRequestCallback):

2:14 AM Changeset in webkit [191105] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r191066 - Postpone mutation events before invoke Editor::Command command(Document*, const String&, bool).
https://bugs.webkit.org/show_bug.cgi?id=149299
<rdar://problem/22746995>

Patch by Jiewen Tan <jiewen_tan@apple.com> on 2015-10-14
Reviewed by Andreas Kling.

Source/WebCore:

Test: editing/inserting/insert-with-mutation-event.html

This is a merge of a part of Blink r166294:
https://codereview.chromium.org/141103006

  • dom/Document.cpp:

(WebCore::Document::execCommand):

LayoutTests:

  • editing/inserting/insert-with-mutation-event-expected.txt: Added.
  • editing/inserting/insert-with-mutation-event.html: Added.
1:48 AM Changeset in webkit [191104] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.10

Merge r191042 - [GTK][EFL] Fix build with cmake 3.4
https://bugs.webkit.org/show_bug.cgi?id=150117

Explicitely include the CheckIncludeFiles module before using
the CHECK_INCLUDE_FILES command.

Patch by Tomas Popela <tpopela@redhat.com> on 2015-10-14
Reviewed by Žan Doberšek.

  • Source/cmake/FindOpenGL.cmake:
  • Source/cmake/FindWebP.cmake:
  • Source/cmake/OptionsEfl.cmake:
1:18 AM Changeset in webkit [191103] by Carlos Garcia Campos
  • 5 edits in trunk

[GTK] Test WebKit2.RestoreSessionStateContainingFormData fails
https://bugs.webkit.org/show_bug.cgi?id=84960

Reviewed by Žan Doberšek.

Source/WebKit2:

Add a cross-platform implementation to LegacySessionStateCodingNone
using the new SessionState, so that non mac ports can make unit
tests that use the legacy session state coding pass.

  • UIProcess/LegacySessionStateCodingNone.cpp:

(WebKit::encodeLegacySessionState):
(WebKit::decodeLegacySessionState):
(WebKit::encodeLegacySessionHistoryEntryData): Deleted.
(WebKit::decodeLegacySessionHistoryEntryData): Deleted.

Tools:

  • Scripts/run-gtk-tests:

(TestRunner): Unskip tests using SessionState.

  • TestWebKitAPI/PlatformGTK.cmake: Add

WKPageCopySessionStateWithFiltering test.

1:16 AM Changeset in webkit [191102] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix wrong #ifdef added in r190615.

This disabled accelerated compositing unconditionally.

  • UIProcess/gtk/WebPreferencesGtk.cpp:

(WebKit::WebPreferences::platformInitializeStore):

12:53 AM Changeset in webkit [191101] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Unskip several tests that are passing now.

  • platform/gtk/TestExpectations:
12:51 AM Changeset in webkit [191100] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Missing return value on TestWebExtensions.cpp:193
https://bugs.webkit.org/show_bug.cgi?id=149755

Unreviewed. Add missing return value.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:

(permissionRequestCallback):

12:32 AM Changeset in webkit [191099] by matthew_hanson@apple.com
  • 4 edits
    3 adds in branches/safari-601.1.46-branch

Merge r191077. rdar://problem/22993325

12:28 AM Changeset in webkit [191098] by matthew_hanson@apple.com
  • 4 edits
    3 adds in branches/safari-601-branch

Merge r191077. rdar://problem/22993325

Note: See TracTimeline for information about the timeline view.