Uh oh!
There was an error while loading. Please reload this page.
Backport proxy to rdk webrtc - #92
Closed
yaroslavzlotchenko wants to merge 1385 commits into
Closed
Conversation
Unskip passing websocket tests. * platform/win/TestExpectations: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201867 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158300 <rdar://problem/26672922> Reviewed by Zalan Bujtas. Source/WebCore: Borders with border-radius close to 100% 100% got oddly clipped. This happened because of the clipping we do to achieve the diagonal corner joins; RenderBoxModelObject::clipBorderSidePolygon() created trapezoids for each side, but only extended them to the center of the inner border rect. This clipped out parts of these borders. Fix by computing the trapezoids by intersecting the corner diagonal line with a line that passes through the adjacent corners of the inner rect, whose intersection is always going to be inside the rounded border. Also fix the quads used to do the antialiased/non-antialiased clipping, by adding a point rather than moving a corner point to ensure we don't mistakenly clip out any parts of the border. Finally, improve the rendering of non-renderable cases by actually doing the diagonal corner joins rather than just giving up. Tests: fast/borders/border-non-renderable-radius-inner-clip.html fast/borders/border-radius-inner-clip-vertical.html fast/borders/border-radius-inner-clip.html * rendering/RenderBoxModelObject.cpp: (WebCore::calculateAdjustedInnerBorder): Moved up. (WebCore::RenderBoxModelObject::paintOneBorderSide): (WebCore::RenderBoxModelObject::clipBorderSidePolygon): (WebCore::findInnerVertex): Deleted. (WebCore::calculateSideRectIncludingInner): Deleted. (WebCore::RenderBoxModelObject::clipBorderSideForComplexInnerPath): Deleted. * rendering/RenderBoxModelObject.h: LayoutTests: * fast/borders/border-non-renderable-radius-inner-clip-expected.html: Added. * fast/borders/border-non-renderable-radius-inner-clip.html: Added. * fast/borders/border-radius-inner-clip-expected-mismatch.html: Added. * fast/borders/border-radius-inner-clip-vertical-expected-mismatch.html: Added. * fast/borders/border-radius-inner-clip-vertical.html: Added. * fast/borders/border-radius-inner-clip.html: Added. * fast/borders/resources/border-radius-helpers.js: Added. (createContainer): (createReferenceContainer): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201868 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/158559> Reviewed by Darin Adler. * Platform/spi/ios/UIKitSPI.h: (UIWKTextInteractionAssistant.loupeGesture): (UIWKTextInteractionAssistant.singleTapGesture): Change from retain to assign since UIWKTextInteractionAssistant is not responsible for their lifetime. Sort alphabetically. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201869 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix. * platform/network/mac/ResourceErrorMac.mm: (WebCore::ResourceError::ResourceError): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201870 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…y failure. https://bugs.webkit.org/show_bug.cgi?id=158501 Reviewed by Darin Adler. The order in which the transaction abort happens doesn't matter; It only matters that it happens. Update the test to reflect this. * storage/indexeddb/modern/handle-user-delete-expected.txt: * storage/indexeddb/modern/resources/handle-user-delete.js: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201871 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158542 Reviewed by Darin Adler. Source/WTF: * wtf/CrossThreadTask.h: (WTF::crossThreadCopy): (WTF::callFunctionForCrossThreadTaskImpl): (WTF::callFunctionForCrossThreadTask): (WTF::createCrossThreadTask): (WTF::callMemberFunctionForCrossThreadTaskImpl): (WTF::callMemberFunctionForCrossThreadTask): Tools: * TestWebKitAPI/Tests/WTF/CrossThreadTask.cpp: (TestWebKitAPI::TEST): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
* wtf/CrossThreadTask.h: (WTF::callFunctionForCrossThreadTask): Fix typo. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201873 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…laky on Mac https://bugs.webkit.org/show_bug.cgi?id=158569 Unreviewed test gardening. * platform/mac/TestExpectations: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…iable https://bugs.webkit.org/show_bug.cgi?id=158449 <rdar://problem/26662478> Reviewed by Simon Fraser. Source/WebCore: Test: fast/css/variables/direction-dependent-variable-properties.html * css/CSSParser.cpp: (WebCore::CSSParser::parseVariableDependentValue): * css/CSSParser.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::resolvedVariableValue): CSSVariableDependentValue stores the unresolved (direction-dependent) property ID, because the property that it resolves to cannot be determined until style resolution time. Plumb the requisite direction and writing mode information into parseVariableDependentValue at style resolution time so that the property can be resolved to the correct non-direction-dependent property for each use of the value. LayoutTests: * fast/css/variables/direction-dependent-variable-properties-expected.html: Added. * fast/css/variables/direction-dependent-variable-properties.html: Added. Add a test ensuring that direction-dependent properties work correctly, including flipping when the direction is flipped. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158568 <rdar://problem/26720079> Reviewed by Geoffrey Garen. Source/WebCore: WorkerGlobalScope attributes / operations should be on the prototype because WorkerGlobalScope is not marked as [Global] / [PrimaryGlobal]: - https://html.spec.whatwg.org/multipage/workers.html#the-workerglobalscope-common-interface - http://heycam.github.io/webidl/#es-attributes - http://heycam.github.io/webidl/#es-operations DedicatedWorkerGlobalScope is the interface that is marked as [Global] and whose attributes / operations should be on the instance. This brings the number of failures on http://w3c-test.org/workers/interfaces.worker from 65 to 34. It also aligns our behavior with Firefox and Chrome. Test: fast/workers/WorkerGlobalScope-properties-prototype.html * bindings/scripts/CodeGeneratorJS.pm: (InterfaceRequiresAttributesOnInstance): (OperationShouldBeOnInstance): LayoutTests: * fast/workers/WorkerGlobalScope-properties-prototype-expected.txt: Added. * fast/workers/WorkerGlobalScope-properties-prototype.html: Added. Add layout test coverage. * fast/workers/self-hasOwnProperty-expected.txt: * fast/workers/self-hasOwnProperty.html: Update test I added a couple of days ago because it wrongly expected the 'navigator' property to be on the instance. This check was failing in other browsers (Firefox and Chrome). git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158570 This broke the cmake build. (Requested by lforschler on #webkit). Reverted changeset: "Teach cmake about libWebKitSystemInterfaceOSX10.12" http://trac.webkit.org/changeset/201815 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
PerformanceTests: Unreviewed, teach the perf bots not to run JSAir. * Skipped: Tools: Unreviewed, skip jsair tests while we figure out the debug timeouts. * Scripts/run-javascriptcore-tests: (runJSCStressTests): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158567 Reviewed by Alex Christensen. .: * Source/cmake/WebKitFeatures.cmake: Tools: * Scripts/webkitperl/FeatureList.pm: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158551 Reviewed by Darin Adler. Source/WebCore: No new tests. There is no change in behavior. There seems to be no reason why SocketStreamHandle should be an AuthenticationClient. * Modules/websockets/ThreadableWebSocketChannel.h: * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp: (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult): (WebCore::ThreadableWebSocketChannelClientWrapper::bufferedAmount): (WebCore::ThreadableWebSocketChannelClientWrapper::setBufferedAmount): (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData): (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount): (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake): (WebCore::ThreadableWebSocketChannelClientWrapper::didClose): * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h: * Modules/websockets/WebSocket.cpp: (WebCore::joinStrings): (WebCore::saturateAdd): (WebCore::WebSocket::send): (WebCore::WebSocket::readyState): (WebCore::WebSocket::bufferedAmount): (WebCore::WebSocket::didReceiveBinaryData): (WebCore::WebSocket::didReceiveMessageError): (WebCore::WebSocket::didUpdateBufferedAmount): (WebCore::WebSocket::didStartClosingHandshake): (WebCore::WebSocket::didClose): * Modules/websockets/WebSocket.h: * Modules/websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::WebSocketChannel): (WebCore::WebSocketChannel::~WebSocketChannel): (WebCore::WebSocketChannel::send): (WebCore::WebSocketChannel::bufferedAmount): (WebCore::WebSocketChannel::resume): (WebCore::WebSocketChannel::willOpenSocketStream): (WebCore::WebSocketChannel::didOpenSocketStream): (WebCore::WebSocketChannel::didCloseSocketStream): (WebCore::WebSocketChannel::didReceiveSocketStreamData): (WebCore::WebSocketChannel::didUpdateBufferedAmount): (WebCore::WebSocketChannel::didFailSocketStream): (WebCore::WebSocketChannel::didStartLoading): (WebCore::WebSocketChannel::appendToBuffer): (WebCore::WebSocketChannel::processBuffer): (WebCore::WebSocketChannel::resumeTimerFired): (WebCore::WebSocketChannel::startClosingHandshake): (WebCore::WebSocketChannel::didReceiveAuthenticationChallenge): Deleted. (WebCore::WebSocketChannel::didCancelAuthenticationChallenge): Deleted. * Modules/websockets/WebSocketChannel.h: * Modules/websockets/WebSocketChannelClient.h: (WebCore::WebSocketChannelClient::~WebSocketChannelClient): (WebCore::WebSocketChannelClient::didConnect): (WebCore::WebSocketChannelClient::didReceiveMessage): (WebCore::WebSocketChannelClient::didReceiveBinaryData): (WebCore::WebSocketChannelClient::didReceiveMessageError): (WebCore::WebSocketChannelClient::didUpdateBufferedAmount): (WebCore::WebSocketChannelClient::didStartClosingHandshake): (WebCore::WebSocketChannelClient::didClose): (WebCore::WebSocketChannelClient::WebSocketChannelClient): * Modules/websockets/WorkerThreadableWebSocketChannel.cpp: (WebCore::WorkerThreadableWebSocketChannel::send): (WebCore::WorkerThreadableWebSocketChannel::bufferedAmount): (WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount): (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData): (WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount): (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake): (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose): (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount): * Modules/websockets/WorkerThreadableWebSocketChannel.h: * platform/network/BlobData.cpp: (WebCore::BlobData::appendData): (WebCore::BlobData::appendFile): * platform/network/BlobData.h: (WebCore::BlobDataItem::BlobDataItem): * platform/network/BlobRegistry.h: * platform/network/BlobRegistryImpl.cpp: (WebCore::BlobRegistryImpl::appendStorageItems): (WebCore::BlobRegistryImpl::registerFileBlobURL): (WebCore::BlobRegistryImpl::registerBlobURL): (WebCore::BlobRegistryImpl::registerBlobURLOptionallyFileBacked): (WebCore::BlobRegistryImpl::registerBlobURLForSlice): * platform/network/BlobRegistryImpl.h: * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::send): (WebCore::SocketStreamHandleBase::disconnect): (WebCore::SocketStreamHandleBase::sendPendingData): * platform/network/SocketStreamHandleBase.h: * platform/network/SocketStreamHandleClient.h: (WebCore::SocketStreamHandleClient::~SocketStreamHandleClient): (WebCore::SocketStreamHandleClient::willOpenSocketStream): (WebCore::SocketStreamHandleClient::didOpenSocketStream): (WebCore::SocketStreamHandleClient::didCloseSocketStream): (WebCore::SocketStreamHandleClient::didReceiveSocketStreamData): (WebCore::SocketStreamHandleClient::didUpdateBufferedAmount): (WebCore::SocketStreamHandleClient::didFailSocketStream): (WebCore::SocketStreamHandleClient::didReceiveAuthenticationChallenge): Deleted. (WebCore::SocketStreamHandleClient::didCancelAuthenticationChallenge): Deleted. * platform/network/cf/SocketStreamHandle.h: (WebCore::SocketStreamHandle::create): (WebCore::SocketStreamHandle::refAuthenticationClient): Deleted. (WebCore::SocketStreamHandle::derefAuthenticationClient): Deleted. * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::SocketStreamHandle): (WebCore::SocketStreamHandle::addCONNECTCredentials): (WebCore::SocketStreamHandle::copyCFStreamDescription): (WebCore::SocketStreamHandle::readStreamCallback): (WebCore::SocketStreamHandle::writeStreamCallback): (WebCore::SocketStreamHandle::reportErrorToClient): (WebCore::SocketStreamHandle::~SocketStreamHandle): (WebCore::SocketStreamHandle::platformClose): (WebCore::SocketStreamHandle::port): (WebCore::SocketStreamHandle::receivedCredential): Deleted. (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential): Deleted. (WebCore::SocketStreamHandle::receivedCancellation): Deleted. (WebCore::SocketStreamHandle::receivedRequestToPerformDefaultHandling): Deleted. (WebCore::SocketStreamHandle::receivedChallengeRejection): Deleted. * platform/network/curl/ResourceHandleCurl.cpp: * platform/network/curl/SocketStreamHandle.h: (WebCore::SocketStreamHandle::SocketData::SocketData): * platform/network/curl/SocketStreamHandleCurl.cpp: (WebCore::SocketStreamHandle::platformClose): (WebCore::SocketStreamHandle::readData): (WebCore::SocketStreamHandle::didReceiveData): (WebCore::SocketStreamHandle::didOpenSocket): (WebCore::SocketStreamHandle::createCopy): (WebCore::SocketStreamHandle::didReceiveAuthenticationChallenge): Deleted. (WebCore::SocketStreamHandle::receivedCredential): Deleted. (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential): Deleted. (WebCore::SocketStreamHandle::receivedCancellation): Deleted. (WebCore::SocketStreamHandle::receivedRequestToPerformDefaultHandling): Deleted. (WebCore::SocketStreamHandle::receivedChallengeRejection): Deleted. * platform/network/soup/SocketStreamHandle.h: (WebCore::SocketStreamHandle::create): * platform/network/soup/SocketStreamHandleSoup.cpp: (WebCore::getHandleFromId): (WebCore::deactivateHandle): (WebCore::activateHandle): (WebCore::SocketStreamHandle::SocketStreamHandle): (WebCore::SocketStreamHandle::~SocketStreamHandle): (WebCore::SocketStreamHandle::connected): (WebCore::SocketStreamHandle::readBytes): (WebCore::SocketStreamHandle::platformSend): (WebCore::SocketStreamHandle::platformClose): (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): (WebCore::SocketStreamHandle::didReceiveAuthenticationChallenge): Deleted. (WebCore::SocketStreamHandle::receivedCredential): Deleted. (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential): Deleted. (WebCore::SocketStreamHandle::receivedCancellation): Deleted. (WebCore::SocketStreamHandle::receivedRequestToPerformDefaultHandling): Deleted. (WebCore::SocketStreamHandle::receivedChallengeRejection): Deleted. Source/WebKit2: * WebProcess/FileAPI/BlobRegistryProxy.cpp: (WebKit::BlobRegistryProxy::registerFileBlobURL): * WebProcess/FileAPI/BlobRegistryProxy.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201880 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…ator https://bugs.webkit.org/show_bug.cgi?id=157071 Reviewed by Brent Fulgham. No new tests, behavior is not change. * rendering/mathml/MathOperator.cpp: (WebCore::MathOperator::setOperator): Introduce a style parameter and call reset. (WebCore::MathOperator::reset): New helper function to reset the operator. For now we only set the width of the base glyph and the preferred max width. (WebCore::MathOperator::calculateDisplayStyleLargeOperator): Calculate the m_maxPreferredWidth. (WebCore::MathOperator::calculateStretchyData): Change the signature of the function and directly set m_maxPreferredWidth. * rendering/mathml/MathOperator.h: Add m_maxPreferredWidth member and update some declarations. (WebCore::MathOperator::width): New helper function. (WebCore::MathOperator::maxPreferredWidth): New helper function. * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::computePreferredLogicalWidths): This function performs wrong operations that will be fixed in bug 152244 when we update the tests. For now, let's just use maxPreferredWidth() for non-horizontal operators. (WebCore::RenderMathMLOperator::updateStyle): Use the new signature of the functions. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…nager https://bugs.webkit.org/show_bug.cgi?id=158578 <rdar://problem/25045616> Reviewed by Beth Dakin. Pass through the isPlaying portion of setRate() and allow toggling when a model is present. * platform/mac/WebPlaybackControlsManager.h: * platform/mac/WebPlaybackControlsManager.mm: * platform/mac/WebPlaybackSessionInterfaceMac.mm: (WebCore::WebPlaybackSessionInterfaceMac::setRate): (WebCore::WebPlaybackSessionInterfaceMac::setPlayBackControlsManager): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201882 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158573 <rdar://problem/24632384> Reviewed by Jer Noble. Source/WebCore: Test: media/controls/forced-tracks-only.html * Modules/mediacontrols/mediaControlsApple.js: (Controller.prototype.updateCaptionButton): Don't show the button of there are no user-selectable text or audio tracks. * page/CaptionUserPreferencesMediaAF.cpp: (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu): Return an empty Vector if there are no user-selectable tracks. LayoutTests: * media/controls/forced-tracks-only-expected.txt: Added. * media/controls/forced-tracks-only.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158580 Reviewed by Tim Horton. Source/WebCore: * page/PrintContext.cpp: Removed printingMinimumShrinkFactor and printingMaximumShrinkFactor. (WebCore::PrintContext::begin): Used minimumShrinkFactor() and maximumShrinkFactor() instead of printingMinimumShrinkFactor and printingMaximumShrinkFactor. (WebCore::PrintContext::computeAutomaticScaleFactor): Ditto. * page/PrintContext.h: (WebCore::PrintContext::minimumShrinkFactor): Added to return the same value as printingMinimumShrinkFactor. (WebCore::PrintContext::maximumShrinkFactor): Added to return the same value as printingMaximumShrinkFactor. Source/WebKit/mac: * WebView/WebHTMLView.mm: Initialized _WebHTMLViewPrintingMinimumShrinkFactor and _WebHTMLViewPrintingMaximumShrinkFactor with PrintContext::minimumShrinkFactor() and PrintContext::maximumShrinkFactor() instead of with duplicated float literals. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201884 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…tions file. Unreviewed test gardening. * platform/mac-wk1/TestExpectations: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
… on mac-wk1 https://bugs.webkit.org/show_bug.cgi?id=158585 Unreviewed test gardening. * platform/mac-wk1/TestExpectations: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158450 Reviewed by Darin Adler. Source/WebCore: This patch has two pieces: updating the CSSOM when the FontFace changes, and updating the FontFace when the CSSOM changes. 1: Updating the CSSOM when the FontFace changes: CSSFontFaces already have a RefPtr to their StyleRuleFontFace which represents their CSS-connection. When changing a property of the CSSFontFace, we simply reach into the StyleRule and update it to match. Our existing infrastructure of invalidation due to the attribute changes makes sure that all the necessary updates occur. 2. Updating the FontFace when the CSSOM changes: If the CSSOM changes in a trivial way (for example, a new @font-face is appended to the end of the last <style> element), we can handle it directly. However, when something more invasive occurs, we end up clearing the entire CSSFontSelector, and then adding all the style rules from scratch. This involves three steps: a) CSSFontSelector::buildStarted() is run, which means "we're about to start building up all the @font-face rules from scratch." We take this opportunity to purge as many fonts as possible. This is valuable because, for example, this function gets run when the page gets put into the page cache, so we want to destroy as much as possible. Not everything can be purged, however - only CSS-connected fonts which have never been inspected by script are purgeable. We don't allow fonts inspected by script to be purged because purging might result in a font appearing from JavaScript to transition from a success -> failure state, which we don't allow. b) Upon style recalc (possibly asynchronously) CSSFontSelector::addFontFaceRule() is called for each @font-face rule. We actually detect that we're in the middle of a style rebuild, and defer this step. c) When we're done adding all the font face rules, we call CSSFontSelector::buildCompleted(). This is where we compare the newly built- up list of font faces with what existed previously (as remembered in CSSFontSelector::buildStarted()) in order to detect font faces which were deleted from the document. Fonts which were newly added to the document are handled naturally. Fonts which have a property modified on them are created as if they were new. However, instead of simply adding the CSSFontFace, we search for the existing CSSFontFace (by CSS connection pointer) and tell the existing FontFace to adopt this new CSSFontFace. This means that the JavaScript object will just pick up any newly-written values in the CSSOM. It also means that the "status" attribute of the JavaScript object is reset, but this is expected and allowed by the spec. (For example, if you change the "src" attribute of an @font-face block via the CSSOM, all bets are off when you inspect the FontFace JS object representing that block.) Test: fast/text/font-face-set-cssom.html * css/CSSFontFace.cpp: (WebCore::CSSFontFace::CSSFontFace): (WebCore::CSSFontFace::setFamilies): (WebCore::CSSFontFace::setStyle): (WebCore::CSSFontFace::setWeight): (WebCore::CSSFontFace::setUnicodeRange): (WebCore::CSSFontFace::setVariantLigatures): (WebCore::CSSFontFace::setVariantPosition): (WebCore::CSSFontFace::setVariantCaps): (WebCore::CSSFontFace::setVariantNumeric): (WebCore::CSSFontFace::setVariantAlternates): (WebCore::CSSFontFace::setVariantEastAsian): (WebCore::CSSFontFace::setFeatureSettings): (WebCore::CSSFontFace::initializeWrapper): (WebCore::CSSFontFace::wrapper): (WebCore::CSSFontFace::setWrapper): (WebCore::CSSFontFace::purgeable): (WebCore::CSSFontFace::updateStyleIfNeeded): * css/CSSFontFace.h: * css/CSSFontFaceSet.cpp: (WebCore::CSSFontFaceSet::remove): (WebCore::CSSFontFaceSet::containsCSSConnection): (WebCore::CSSFontFaceSet::purge): * css/CSSFontFaceSet.h: * css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::buildStarted): (WebCore::CSSFontSelector::buildCompleted): (WebCore::CSSFontSelector::addFontFaceRule): * css/CSSFontSelector.h: * css/FontFace.cpp: (WebCore::FontFace::family): (WebCore::FontFace::style): (WebCore::FontFace::weight): (WebCore::FontFace::unicodeRange): (WebCore::FontFace::variant): (WebCore::FontFace::featureSettings): (WebCore::FontFace::adopt): * css/FontFace.h: LayoutTests: * fast/text/font-face-set-cssom-expected.txt: Added. * fast/text/font-face-set-cssom.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=151386 rdar://problem/22499157 Reviewed by Tim Horton. _WKWebViewPrintFormatter originally attempted to handle PDFs, but the code path was never properly tested since Safari prints PDFs by setting a printingItem on the UIPrintInteractionController instead of going through a print formatter. The existing code almost worked, if it weren't for CGContextScaleCTM() scaling each page into oblivion due to _totalScaleFactor equaling 0. This patch properly implements -[_WKWebViewPrintFormatter drawInRect:forPageAtIndex:] to handle drawing both PDFs generated by WebKit and PDFs loaded in the main frame. It also takes the opportunity to clean up a number of issues in the existing code: - Handling of -[_WKWebViewPrintFormatter startPage] is now correct. I had previously assumed this property represented the first page of output to print, but it actually represents the first page in the overall print job that the print formatter renders. In other words, regardless of -startPage, the print formatter should always print all its pages. - Code specific to webpage and PDF printing was factored out into WKContentView and WKPDFView, respectively. Each conforms to @protocol(_WKWebViewPrintProvider), and _WKWebViewPrintFormatter accesses the provider via -[WKWebView _printProvider]. - Instead of piping the printed PDF data from WebPageProxy to WKWebView via PageClient, use the GenericCallback mechanism to have WebPageProxy call a lambda specified by WKContentView when the printed PDF is available. - Removed _totalScaleFactor and used CGPDFPageGetDrawingTransform() to transform both webpages and PDFs. For webpages, _totalScaleFactor will always equal the ratio of the paper width to the PDF page width, so CGPDFPageGetDrawingTransform() will apply the same scaling as CGContextScaleCTM(_totalScaleFactor, _totalScaleFactor) would. * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _printProvider]): Added. Returns _currentContentView if it conforms to @protocol(_WKWebViewPrintProvider). (-[WKWebView _computePageCountAndStartDrawingToPDFForFrame:printInfo:firstPage:computedTotalScaleFactor:]): Moved code to _wk_pageCountForPrintFormatter in WKContentView and WKPDFView. (-[WKWebView _endPrinting]): Deleted. (-[WKWebView _printedDocument]): Deleted. (-[WKWebView _setPrintedDocument:]): Deleted. * UIProcess/API/Cocoa/WKWebViewInternal.h: Declared the _printProvider property. * UIProcess/PageClient.h: Removed didFinishDrawingPagesToPDF(). * UIProcess/WebPageProxy.h: Declared computePagesForPrintingAndDrawToPDF() and drawToPDFCallback(). * UIProcess/WebPageProxy.messages.in: Renamed DidFinishDrawingPagesToPDF to DrawToPDFCallback. * UIProcess/_WKWebViewPrintFormatter.mm: Backed the frameToPrint property with a RetainPtr ivar so that it doesn't need to be released manually in -dealloc; removed _totalScaleFactor and _printInfo ivars and added a _printedDocument ivar; removed the property declaration for webView. (-[_WKWebViewPrintFormatter frameToPrint]): Added a custom getter for the frameToPrint property. (-[_WKWebViewPrintFormatter setFrameToPrint:]): Added a custom setter for the frameToPrint property. (-[_WKWebViewPrintFormatter _webView]): Renamed from webView; added an underscore since this is a private method. (-[_WKWebViewPrintFormatter _recalcPageCount]): Retrieved the page count from the print provider and clamped its value to NSIntegerMax. (-[_WKWebViewPrintFormatter drawInRect:forPageAtIndex:]): Retrieved the printed document from the print provider if needed; modified the CTM transformations to work for both webpages and PDFs. (-[_WKWebViewPrintFormatter dealloc]): Deleted. (-[_WKWebViewPrintFormatter webView]): Renamed to _webView. (-[_WKWebViewPrintFormatter rectForPageAtIndex:]): Deleted. * UIProcess/_WKWebViewPrintFormatterInternal.h: Added. Moved a UIPrintFormatter internal method declaration to here and defined the _WKWebViewPrintProvider protocol. * UIProcess/ios/PageClientImplIOS.h: Removed didFinishDrawingPagesToPDF(). * UIProcess/ios/PageClientImplIOS.mm: Ditto. (WebKit::PageClientImpl::didFinishDrawingPagesToPDF): Deleted. * UIProcess/ios/WKContentView.mm: Conformed to @protocol(_WKWebViewPrintProvider). (-[WKContentView _wk_pageCountForPrintFormatter:]): Moved the code to compute page count from WKWebView to here. (-[WKContentView _wk_printedDocument]): Moved the code to get the printed document from WKWebView to here. * UIProcess/ios/WKPDFView.mm: (-[WKPDFView _wk_pageCountForPrintFormatter:]): Moved the code to compute the page count from WKWebView to here; added a call to CGPDFDocumentAllowsPrinting(), returning 0 if printing is not allowed. (-[WKPDFView _wk_printedDocument]): Moved the code to get the printed document from WKWebView to here. * UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::computePagesForPrintingAndDrawToPDF): Registered the callback with m_callbacks and sent Messages::WebPage::ComputePagesForPrintingAndDrawToPDF; returned the synchronously-returned page count. (WebKit::WebPageProxy::drawToPDFCallback): Added to perform the callback when drawing to PDF is complete. (WebKit::WebPageProxy::didFinishDrawingPagesToPDF): Deleted. * WebKit2.xcodeproj/project.pbxproj: Added _WKWebViewPrintFormatterInternal.h. * WebProcess/WebPage/WebPage.h: Renamed computePagesForPrintingAndStartDrawingToPDF() to computePagesForPrintingAndDrawToPDF(). * WebProcess/WebPage/WebPage.messages.in: Renamed ComputePagesForPrintingAndStartDrawingToPDF to ComputePagesForPrintingAndDrawToPDF. Removed the startPage parameter and added a callbackID. * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::computePagesForPrintingAndDrawToPDF): Renamed from computePagesForPrintingAndStartDrawingToPDF(). Added a call to endPrinting() after sending Messages::WebPageProxy::DrawToPDFCallback. (WebKit::WebPage::computePagesForPrintingAndStartDrawingToPDF): Renamed to computePagesForPrintingAndDrawToPDF. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…canvas https://bugs.webkit.org/show_bug.cgi?id=156097 Patch by Antoine Quint <graouts@apple.com> on 2016-06-09 Reviewed by Zalan Bujtas. Source/WebCore: Promote the logic use to identify whether we should perform a layout after a change of intrinsic size from RenderImage to RenderReplaced such that RenderCanvas may use it in canvasSizeChanged() and correctly update its layout in the case where the width or height attribute is updated and there are no explicit sizing performed with CSS. Additionally, this will also account for the object-fix property to only perform a layout if necessary. Test: fast/canvas/canvas-css-size-after-height-change-with-display-flex.html * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::canvasSizeChanged): * rendering/RenderImage.cpp: (WebCore::RenderImage::repaintOrMarkForLayout): * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::setNeedsLayoutIfNeededAfterIntrinsicSizeChange): * rendering/RenderReplaced.h: LayoutTests: * fast/canvas/canvas-css-size-after-height-change-with-display-flex-expected.html: Added. * fast/canvas/canvas-css-size-after-height-change-with-display-flex.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…ocus when selected by Up/Down key https://bugs.webkit.org/show_bug.cgi?id=157768 <rdar://problem/26311155> Reviewed by Timothy Hatcher. Remove _previousFocusedSection and _newInspectorRuleSelector since it was used only to focus on a newly created section (added by clicking on "+" button). Introduce _inspectorSection and _isInspectorSectionPendingFocus. * UserInterface/Views/CSSStyleDeclarationSection.js: (WebInspector.CSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorBlurActiveEditor): Deleted. (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste): Deleted. No longer needed, it was only used by _previousFocusedSection and _newInspectorRuleSelector. * UserInterface/Views/CSSStyleDeclarationTextEditor.js: (WebInspector.CSSStyleDeclarationTextEditor.): Deleted. No londer needed, it was only used by _previousFocusedSection. * UserInterface/Views/RulesStyleDetailsPanel.js: (WebInspector.RulesStyleDetailsPanel): (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection): (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked): (WebInspector.RulesStyleDetailsPanel.prototype.nodeStylesRefreshed): (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorFocused): Deleted. (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionBlurActiveEditor): Deleted. (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionFocusNewInspectorRuleWithSelector): Deleted. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158579 <rdar://problem/26726751> Reviewed by Timothy Hatcher. * UserInterface/Base/Main.js: (WebInspector.contentLoaded): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
… Error https://bugs.webkit.org/show_bug.cgi?id=158575 Reviewed by Benjamin Poulain. Source/JavaScriptCore: The check for a parameter with a duplicate name doesn't take into account the type of the prior variable. Added a check that the duplicate is also a parameter. See the relevant spec section at: http://www.ecma-international.org/ecma-262/6.0/#sec-function-definitions-static-semantics-early-errors * parser/Parser.h: (JSC::Scope::declareParameter): LayoutTests: Added a new test case. * js/basic-strict-mode-expected.txt: * js/script-tests/basic-strict-mode.js: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158592 <rdar://problem/26730696> Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-06-09 Reviewed by Timothy Hatcher. Source/WebCore: * inspector/InspectorIndexedDBAgent.cpp: (WebCore::DataLoader::execute): Ensure the IDBTransaction is active when attempting to open a cursor. (WebCore::OpenCursorCallback::handleEvent): End, when the cursor result is empty, like we do for script results. Source/WebInspectorUI: * UserInterface/Views/DataGrid.js: (WebInspector.DataGrid.prototype._noteRowRemoved): (WebInspector.DataGridNode.prototype._detach): When rows are removed in the non-Virtual DataGrids, we should actually remove the row. * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js: (WebInspector.IndexedDatabaseObjectStoreContentView): (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData.processEntries): (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData): Don't use the delete operator. Use a boolean. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158588 Reviewed by Anders Carlsson. Source/WebCore: No new tests. This patch does two things, all of which do not change behavior: 1. Use a std::unique_ptr<EditorClient> owned by the Page instead of allocating with new in WebKit/WebKit2 and deleting in WebEditorClient::pageDestroyed. 2. Give the Page a PageConfiguration&& instead of a PageConfiguration& in its constructor. * inspector/InspectorOverlay.cpp: (WebCore::InspectorOverlay::overlayPage): * loader/EmptyClients.cpp: (WebCore::fillWithEmptyClients): * loader/EmptyClients.h: (WebCore::EmptyEditorClient::EmptyEditorClient): (WebCore::EmptyEditorClient::~EmptyEditorClient): * page/EditorClient.h: (WebCore::EditorClient::~EditorClient): * page/Page.cpp: (WebCore::Page::Page): (WebCore::Page::~Page): (WebCore::Page::setViewMode): (WebCore::Page::clearUndoRedoOperations): (WebCore::Page::inLowQualityImageInterpolationMode): (WebCore::Page::invalidateStylesForAllLinks): (WebCore::Page::invalidateStylesForLink): (WebCore::Page::invalidateInjectedStyleSheetCacheInAllFrames): (WebCore::Page::setDebugger): (WebCore::Page::setIsVisibleInternal): (WebCore::Page::setAllowsMediaDocumentInlinePlayback): * page/Page.h: (WebCore::Page::canStartMedia): (WebCore::Page::editorClient): (WebCore::Page::plugInClient): (WebCore::Page::mainFrame): (WebCore::Page::group): * page/PageConfiguration.cpp: * page/PageConfiguration.h: * page/mac/PageMac.mm: (WebCore::Page::addSchedulePair): (WebCore::Page::removeSchedulePair): * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::dataChanged): Source/WebKit/mac: * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::WebEditorClient): (WebEditorClient::pageDestroyed): Deleted. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]): Source/WebKit2: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::generateTextCheckingRequestID): (WebKit::WebEditorClient::shouldDeleteRange): (WebKit::WebEditorClient::pageDestroyed): Deleted. * WebProcess/WebCoreSupport/WebEditorClient.h: (WebKit::WebEditorClient::WebEditorClient): * WebProcess/WebPage/WebPage.cpp: (WebKit::m_shouldDispatchFakeMouseMoveEvents): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201894 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…urce loads if the document was loaded with another HTTP protocol https://bugs.webkit.org/show_bug.cgi?id=158589 <rdar://problem/25757454> Patch by John Wilander <wilander@apple.com> on 2016-06-09 Reviewed by Brent Fulgham. No new tests. Our layout test environment does not allow for headerless responses nor does it allow you to set an explicit HTTP/0.9 status header in PHP. I have manually tested this change with a Python socket setup doing both headerless and HTTP/0.9 header tests for positive and negative cases. * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::responseReceived): Cancel loads if the request was made to a non-default port. * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::didReceiveResponse): Cancel loads if the request was made to a non-default port or if the document was loaded with another protocol. Cancelation is handled as a fail so as to fire the onerror event and allow sites to handle it gracefully. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201895 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158594 Reviewed by Benjamin Poulain. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::columnNumberForBytecodeOffset): (JSC::CodeBlock::expressionRangeForBytecodeOffset): * bytecode/CodeBlock.h: * bytecode/ExpressionRangeInfo.h: (JSC::ExpressionRangeInfo::encodeFatColumnMode): (JSC::ExpressionRangeInfo::decodeFatLineMode): (JSC::ExpressionRangeInfo::decodeFatColumnMode): * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::lineNumberForBytecodeOffset): (JSC::UnlinkedCodeBlock::getLineAndColumn): (JSC::UnlinkedCodeBlock::expressionRangeForBytecodeOffset): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::createRareDataIfNecessary): * interpreter/Interpreter.cpp: (JSC::Interpreter::isOpcode): (JSC::StackFrame::computeLineAndColumn): (JSC::StackFrame::toString): * interpreter/Interpreter.h: (JSC::StackFrame::isNative): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@201896 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158770 <rdar://problem/26092124> Patch by Antoine Quint <graouts@apple.com> on 2016-06-14 Reviewed by Dean Jackson. Use the same technique that we use to scale the video controls by using a combination of CSS "zoom" and "transform" properties to have the video play glyph scaled at its native size regardless of page zoom. * Modules/mediacontrols/mediaControlsiOS.js: (ControllerIOS.prototype.set pageScaleFactor): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@202079 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…workLoad constructor https://bugs.webkit.org/show_bug.cgi?id=158746 Reviewed by Darin Adler. Avoid constructing a AuthenticationChallenge unnecessarily in the NetworkLoad constructor by using WTF::Optional<> for this data member. * NetworkProcess/NetworkLoad.cpp: (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): * NetworkProcess/NetworkLoad.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@202080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
… grid https://bugs.webkit.org/show_bug.cgi?id=158767 <rdar://problem/26803568> Reviewed by Joseph Pecoraro. * UserInterface/Views/CookieStorageContentView.js: (WebInspector.CookieStorageContentView.prototype._rebuildTable): Enable column chooser, exclude Name and Value columns. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@202081 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158764 <rdar://problem/26801448> Reviewed by Joseph Pecoraro. * UserInterface/Views/DataGrid.js: (WebInspector.DataGrid): Drive-by update to initialize "this._columnChooserEnabled". (WebInspector.DataGrid.prototype.set identifier): (WebInspector.DataGrid.prototype.insertColumn): (WebInspector.DataGrid.prototype._collapseColumnGroupWithCell): Use new method name. (WebInspector.DataGrid.prototype._contextMenuInHeader): Drive-by style update. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@202082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=149170 <rdar://problem/26527378> Reviewed by Simon Fraser. Source/WebCore: BidiResolver doesn't have any concept of isolate Unicode code points, so produces unexpected output when they are present. Fix by considering such code points as whitespace in the bidi algorithm. This is a stop-gap measure until we can support the codepoints fully in our Bidi algorithm. Test: fast/text/isolate-ignore.html * platform/graphics/Font.cpp: (WebCore::createAndFillGlyphPage): * platform/text/BidiResolver.h: (WebCore::Subclass>::createBidiRunsForLine): Source/WTF: * wtf/unicode/CharacterNames.h: LayoutTests: * fast/text/isolate-ignore-expected.html: Added. * fast/text/isolate-ignore.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@202083 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158775 Reviewed by Mark Lam. For some reason JSBench was using algebraic mean. Since each test is pretty substantially different it should use geometric mean instead. * Scripts/run-jsc-benchmarks: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@202084 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158450 Unreviewed. * css/CSSFontFaceSet.cpp: (WebCore::CSSFontFaceSet::add): (WebCore::CSSFontFaceSet::remove): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@202085 268f45cc-cd09-0410-ab3c-d52691b4dbfc
* Scripts/webkitpy/common/config/contributors.json: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@202086 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158733 Reviewed by Brent Fulgham. Call Win32 api function to let Windows know that we will scale the contents ourselves. * MiniBrowser/win/WinMain.cpp: (wWinMain): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@202087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…s failing. https://bugs.webkit.org/show_bug.cgi?id=158732 Reviewed by Brent Fulgham. Source/WebCore: Implement support for getting selected text range. * accessibility/win/AccessibilityObjectWrapperWin.cpp: (WebCore::AccessibilityObjectWrapper::accessibilityAttributeValue): Tools: Implement selectedTextRange() method. * DumpRenderTree/win/AccessibilityUIElementWin.cpp: (AccessibilityUIElement::selectedTextRange): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@202088 268f45cc-cd09-0410-ab3c-d52691b4dbfc
This reverts commit fd7fc58.
https://bugs.webkit.org/show_bug.cgi?id=158616 Source/WebCore: <rdar://problem/26755067> Reviewed by Andreas Kling. There wasn't a way to get cookie based on SessionID from WebCore. * platform/CookiesStrategy.h: Add a cookie retrival function that takes SessionID instead of NetworkStorageSession. * platform/network/CacheValidation.cpp: (WebCore::headerValueForVary): Use it. (WebCore::verifyVaryingRequestHeaders): Source/WebKit/mac: <rdar://problem/26755067> Reviewed by Andreas Kling. * WebCoreSupport/WebFrameNetworkingContext.h: (WebFrameNetworkingContext::create): * WebCoreSupport/WebFrameNetworkingContext.mm: (privateSession): (WebFrameNetworkingContext::ensurePrivateBrowsingSession): Expose the private browsing session. (WebFrameNetworkingContext::destroyPrivateBrowsingSession): * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::cookieRequestHeaderFieldValue): Implement SessionID version of the function. (WebPlatformStrategies::getRawCookies): Source/WebKit2: <rdar://problem/26755067> Reviewed by Andreas Kling. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue): Implement SessionID version of the function. * WebProcess/WebCoreSupport/WebPlatformStrategies.h: LayoutTests: Reviewed by Darin Adler. * http/tests/cache/disk-cache/disk-cache-vary-cookie-expected.txt: * http/tests/cache/disk-cache/disk-cache-vary-cookie.html: Exapand the existing test to cover memory cache and private browsing. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@202089 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/158783> Reviewed by Antti Koivisto. Add two new notify listeners: - com.apple.WebKit.fullGC Trigger a full garbage collection in the main WebCore VM immediately. - com.apple.WebKit.deleteAllCode Throw away all of JSC's linked and unlinked code, and do a full GC. These will make it easier to diagnose memory growth issues by having a lever that eliminates many of the large object graphs without going after behavior-changing things like the memory cache. * platform/MemoryPressureHandler.cpp: (WebCore::MemoryPressureHandler::platformInitialize): * platform/MemoryPressureHandler.h: * platform/cocoa/MemoryPressureHandlerCocoa.mm: (WebCore::MemoryPressureHandler::platformInitialize): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@202090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=158738 Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2016-06-15 Reviewed by Ryosuke Niwa. .: Removed Shadow DOM from options (enabled by default) * Source/cmake/OptionsEfl.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/JavaScriptCore: Removed Shadow DOM from options (enabled by default) * Configurations/FeatureDefines.xcconfig: Source/WebCore: No new tests (no new behavior to be tested). Removed Shadow DOM from options (enabled by default) (comprises removal of corresponding preprocessor directives) * Configurations/FeatureDefines.xcconfig: * DerivedSources.make: * bindings/generic/RuntimeEnabledFeatures.h: * bindings/js/JSDocumentFragmentCustom.cpp: * bindings/js/JSNodeCustom.cpp: * css/CSSGrammar.y.in: * css/CSSParser.cpp: * css/CSSParserValues.cpp: * css/CSSParserValues.h: * css/CSSSelector.cpp: * css/CSSSelector.h: * css/ElementRuleCollector.cpp: * css/ElementRuleCollector.h: * css/RuleSet.cpp: * css/RuleSet.h: * css/SelectorChecker.cpp: * css/SelectorChecker.h: * css/SelectorPseudoClassAndCompatibilityElementMap.in: * css/StyleResolver.cpp: * cssjit/SelectorCompiler.cpp: * dom/ComposedTreeAncestorIterator.h: * dom/ComposedTreeIterator.cpp: * dom/ComposedTreeIterator.h: * dom/ContainerNode.cpp: * dom/Document.cpp: * dom/Document.h: * dom/Element.cpp: * dom/Element.h: * dom/Element.idl: * dom/Event.idl: * dom/EventPath.cpp: * dom/Node.cpp: * dom/Node.h: * dom/NonDocumentTypeChildNode.idl: * dom/ShadowRoot.cpp: * dom/ShadowRoot.h: * dom/ShadowRoot.idl: * dom/SlotAssignment.cpp: * dom/SlotAssignment.h: * html/HTMLSlotElement.cpp: * html/HTMLSlotElement.h: * html/HTMLSlotElement.idl: * html/HTMLTagNames.in: * page/FocusController.cpp: * style/StyleSharingResolver.cpp: * style/StyleTreeResolver.cpp: Source/WebKit/mac: Removed Shadow DOM from options (enabled by default) * Configurations/FeatureDefines.xcconfig: * WebView/WebPreferences.mm: * WebView/WebView.mm: Source/WebKit/win: Removed Shadow DOM from options (enabled by default) (comprises removal of corresponding preprocessor directives) * WebView.cpp: Source/WebKit2: Removed Shadow DOM from options (enabled by default) (comprises removal of corresponding preprocessor directives) * Configurations/FeatureDefines.xcconfig: * WebProcess/InjectedBundle/InjectedBundle.cpp: * WebProcess/WebPage/WebPage.cpp: Tools: Removed Shadow DOM from options (enabled by default) * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@202091 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…webkit.org/WebKit into wpe
igor-borovkov
commented
Aug 10, 2016
hi Yaroslav, we should try to get non webrtc work through an official master repo first before backporting to this branch |
zdobersek pushed a commit
that referenced
this pull request
Mar 20, 2017
https://bugs.webkit.org/show_bug.cgi?id=168685 Reviewed by Mark Lam. This patch extends the previous Air disassembler to print the DFG and B3 nodes belonging to particular Air instructions. The algorithm I'm using to do this is not perfect. For example, it won't try to print the entire DFG/B3 graph. It'll just print the related nodes for particular Air instructions. We can make the algorithm more sophisticated as we get more experience looking at these IR dumps and get a better feel for what we want out of them. This is an example of the output: ... ... 200:<!0:-> InvalidationPoint(MustGen, W:SideState, Exits, bc#28, exit: bc#25 --> _getEntry#DlGw2r:<0x10276f980> bc#37) Void @54 = Patchpoint(@29:ColdAny, @29:ColdAny, @53:ColdAny, DFG:@200, generator = 0x1015d6c18, earlyClobbered = [], lateClobbered = [], usedRegisters = [%r0, %r19, %r20, %r21, %r22, %fp], resultConstraint = WarmAny, ExitsSideways|WritesPinned|ReadsPinned|Reads:Top) Patch &Patchpoint2, %r20, %r20, %r0, @54 76:< 6:-> GetByOffset(KnownCell:@44, KnownCell:@44, JS|UseAsOther, Array, id3{_elementData}, 2, inferredType = Object, R:NamedProperties(3), Exits, bc#37) predicting Array Int64 @57 = Load(@29, DFG:@76, offset = 32, ControlDependent|Reads:100...101) Move 32(%r20), %r5, @57 0x389cc9ac0: ldur x5, [x20, #32] 115:<!0:-> CheckStructure(Cell:@76, MustGen, [0x1027eae20:[Array, {}, ArrayWithContiguous, Proto:0x1027e0140]], R:JSCell_structureID, Exits, bc#46) Int32 @58 = Load(@57, DFG:@115, ControlDependent|Reads:16...17) Move32 (%r5), %r1, @58 0x389cc9ac4: ldur w1, [x5] Int32 @59 = Const32(DFG:@115, 92) Int32 @60 = NotEqual(@58, $92(@59), DFG:@115) Void @61 = Check(@60:WarmAny, @57:ColdAny, @29:ColdAny, @29:ColdAny, @53:ColdAny, @57:ColdAny, DFG:@115, generator = 0x1057991e0, earlyClobbered = [], lateClobbered = [], usedRegisters = [%r0, %r5, %r19, %r20, %r21, %r22, %fp], ExitsSideways|Reads:Top) Patch &Branch32(3,SameAsRep)1, NotEqual, %r1, $92, %r5, %r20, %r20, %r0, %r5, @61 0x389cc9ac8: cmp w1, #92 0x389cc9acc: b.ne 0x389cc9dac 117:< 2:-> GetButterfly(Cell:@76, Storage|PureInt, R:JSObject_butterfly, Exits, bc#46) Int64 @64 = Load(@57, DFG:@117, offset = 8, ControlDependent|Reads:24...25) Move 8(%r5), %r4, @64 0x389cc9ad0: ldur x4, [x5, #8] 79:< 2:-> GetArrayLength(KnownCell:@76, Untyped:@117, JS|PureInt|UseAsInt, Nonboolint32, Contiguous+OriginalArray+InBounds+AsIs, R:Butterfly_publicLength, Exits, bc#46) Int32 @67 = Load(@64, DFG:@79, offset = -8, ControlDependent|Reads:3...4) Move32 -8(%r4), %r2, @67 0x389cc9ad4: ldur w2, [x4, #-8] 192:< 1:-> JSConstant(JS|PureInt, Nonboolint32, Int32: -1, bc#0) Int32 @68 = Const32(DFG:@192, -1) Move $0xffffffffffffffff, %r1, $-1(@68) 0x389cc9ad8: mov x1, #-1 83:<!2:-> ArithAdd(Int32:Kill:@79, Int32:Kill:@192, Number|MustGen|PureInt|UseAsInt, Int32, Unchecked, Exits, bc#55) Int32 @69 = Add(@67, $-1(@68), DFG:@83) Add32 %r2, %r1, %r1, @69 0x389cc9adc: add w1, w2, w1 86:< 3:-> BitAnd(Check:Int32:@71, Int32:Kill:@83, Int32|UseAsOther|UseAsInt|ReallyWantsInt, Int32, Exits, bc#60) Int32 @70 = Below(@53, $-281474976710656(@15), DFG:@86) Void @71 = Check(@70:WarmAny, @53:ColdAny, @29:ColdAny, @29:ColdAny, @53:ColdAny, @69:ColdAny, DFG:@86, generator = 0x105799370, earlyClobbered = [], lateClobbered = [], usedRegisters = [%r0, %r1, %r2, %r4, %r5, %r19, %r20, %r21, %r22, %fp], ExitsSideways|Reads:Top) Patch &Branch64(3,SameAsRep)0, Below, %r0, %r22, %r0, %r20, %r20, %r0, %r1, @71 0x389cc9ae0: cmp x0, x22 0x389cc9ae4: b.lo 0x389cc9dc0 Int32 @72 = Trunc(@53, DFG:@86) Int32 @73 = BitAnd(@69, @72, DFG:@86) And32 %r1, %r0, %r1, @73 0x389cc9ae8: and w1, w1, w0 16:<!0:-> PutStack(KnownInt32:@71, MustGen, loc27, machine:loc3, FlushedInt32, W:Stack(-28), bc#19) Int32 @72 = Trunc(@53, DFG:@86) Int64 @11 = SlotBase(stack0) Void @76 = Store(@72, @11, DFG:@16, offset = 32, ControlDependent|Writes:94...95) Move32 %r0, -64(%fp), @76 0x389cc9aec: stur w0, [fp, #-64] 12:<!0:-> PutStack(Untyped:@86, MustGen, loc28, machine:loc4, FlushedJSValue, W:Stack(-29), bc#19) Int64 @77 = ZExt32(@73, DFG:@12) Int64 @78 = Add(@77, $-281474976710656(@15), DFG:@12) Add64 %r1, %r22, %r3, @78 0x389cc9af0: add x3, x1, x22 Int64 @11 = SlotBase(stack0) Void @81 = Store(@78, @11, DFG:@12, offset = 24, ControlDependent|Writes:95...96) Move %r3, -72(%fp), @81 0x389cc9af4: stur x3, [fp, #-72] 10:<!0:-> PutStack(KnownInt32:@46, MustGen, loc29, machine:loc5, FlushedInt32, W:Stack(-30), bc#19) Int32 @82 = Trunc(@24, DFG:@10) Int64 @11 = SlotBase(stack0) Void @85 = Store(@82, @11, DFG:@10, offset = 16, ControlDependent|Writes:96...97) Move32 %r21, -80(%fp), @85 0x389cc9af8: stur w21, [fp, #-80] 129:<!10:-> GetByVal(KnownCell:Kill:@76, Int32:Kill:@86, Untyped:Kill:@117, JS|MustGen|UseAsOther, FinalOther, Contiguous+OriginalArray+OutOfBounds+AsIs, R:World, W:Heap, Exits, ClobbersExit, bc#19) predicting FinalOther Int32 @89 = AboveEqual(@73, @67, DFG:@129) Void @90 = Branch(@89, DFG:@129, Terminal) Branch32 AboveOrEqual, %r1, %r2, @90 0x389cc9afc: cmp w1, w2 0x389cc9b00: b.hs 0x389cc9bec ... ... * b3/air/AirDisassembler.cpp: (JSC::B3::Air::Disassembler::dump): * b3/air/AirDisassembler.h: * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::lowInt32): (JSC::FTL::DFG::LowerDFGToB3::lowCell): (JSC::FTL::DFG::LowerDFGToB3::lowBoolean): (JSC::FTL::DFG::LowerDFGToB3::lowJSValue): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@213233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.