Timeline
Oct 19, 2015:
- 11:21 PM Changeset in webkit [191333] by
-
- 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
-
- 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:
- print() is called while the document is still loading, so m_shouldPrintWhenFinishedLoading is set to true
- DataURLDecoder::decode() finishes in the work queue thread, the completion handler is scheduled in the main thread
- 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
-
- 13 edits2 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
-
- 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
-
- 5 edits in branches/safari-601-branch/Source
Versioning.
- 8:37 PM Changeset in webkit [191328] by
-
- 1 copy in tags/Safari-601.3.5
New Tag.
- 8:29 PM Changeset in webkit [191327] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 12 edits3 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
-
- 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
-
- 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
-
- 3 edits in branches/safari-601-branch/Source/WebInspectorUI
Merge r190437. rdar://problem/23166302
- 2:21 PM Changeset in webkit [191316] by
-
- 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
-
- 12 edits3 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
-
- 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
-
- 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
-
- 9 edits6 moves1 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.
- JavaScriptCore.xcodeproj/project.pbxproj:
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
-
- 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
-
- 12 edits2 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
-
- 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
-
- 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
-
- 12 edits3 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
-
- 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
-
- 8 edits in trunk/Source
Try to fix the iOS build
- Configurations/FeatureDefines.xcconfig:
- 12:11 PM Changeset in webkit [191304] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 37 edits6 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 14 edits1 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
-
- 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,
newTargetshould not become JSEmpty.
So!newTargetalways 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
-
- 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
-
- 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
-
- 30 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 5 edits2 moves2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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.
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 11 edits2 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
-
- 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
-
- 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:
- 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.
- If a user wants to disable kerning / ligatures, he/she can do it with a user
stylesheet.
- The default isn't able to be tested with DumpRenderTree or WebKitTestRunner.
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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