Timeline
Dec 11, 2017:
- 11:20 PM Changeset in webkit [225777] by
-
- 2 edits in trunk/Source/WebCore/PAL
Unreviewed build fix after r225766.
- pal/spi/mac/AVFoundationSPI.h:
Conform AVStreamDataParser to the AVContentKeyRecipient protocol if available.
- 11:11 PM Changeset in webkit [225776] by
-
- 13 edits in trunk
[css-grid] Automatic minimum size is not clamped if min track sizing function is auto
https://bugs.webkit.org/show_bug.cgi?id=180283
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update expected result in the following WPT tests, as now everything
is passing there.
- web-platform-tests/css/css-grid/grid-items/grid-minimum-size-grid-items-022-expected.txt:
- web-platform-tests/css/css-grid/grid-items/grid-minimum-size-grid-items-023-expected.txt:
Source/WebCore:
We were not clamping the automatic minimum size when
the min track sizing function was intrinsic (e.g. minmax(auto, 0px)).
However the spec (https://drafts.csswg.org/css-grid/#min-size-auto)
is very clear regarding that.
This patch modifies
GridTrackSizingAlgorithm::sizeTrackToFitNonSpanningItem(),
so in the case of a fixed max track sizing function it clamps
the automatic minimum size of the item to the stretch fit
of the grid area's size.
It needs to take into account if the item has fixed size, margin, border
and/or padding as those cannot be clamped.
Using WPT tests to verify this behavior,
and corrected a bunch of other tests that were wrong.
Test: imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-minimum-size-grid-items-017.html
imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-minimum-size-grid-items-022.html
imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-minimum-size-grid-items-023.html
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::sizeTrackToFitNonSpanningItem):
- rendering/GridTrackSizingAlgorithm.h:
(WebCore::GridTrack::growthLimitIsInfinite const):
- rendering/style/GridTrackSize.h:
(WebCore::GridTrackSize::cacheMinMaxTrackBreadthTypes):
(WebCore::GridTrackSize::hasFixedMaxTrackBreadth const):
LayoutTests:
This patch updates a bunch of tests that were wrong
to follow the new behavior.
- TestExpectations: Now we're passing one WPT test more.
- fast/css-grid-layout/min-height-border-box.html:
- fast/css-grid-layout/min-width-margin-box.html:
- fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html:
- fast/css-grid-layout/percent-of-indefinite-track-size.html:
- 11:06 PM Changeset in webkit [225775] by
-
- 4 edits in trunk/Source/WebCore
[Cairo] Cairo::clipToImageBuffer() should operate on a cairo_surface_t
https://bugs.webkit.org/show_bug.cgi?id=180665
Reviewed by Michael Catanzaro.
Have the Cairo::clipToImageBuffer() function in the CairoUtilities code
operate on a cairo_surface_t object, instead of an Image object.
Call site in GraphicsContext::clipToImageBuffer() is adjusted to first
ensure a non-null Image object, and then retrieve a cairo_surface_t
object from that, passing it on to Cairo::clipToImageBuffer().
No new tests -- no change in functionality.
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::clipToImageBuffer):
- platform/graphics/cairo/CairoOperations.h:
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::clipToImageBuffer):
- 11:05 PM Changeset in webkit [225774] by
-
- 3 edits in trunk/Source/WebCore
[Cairo] Don't use a static cairo_surface_t object for CairoPath contexts
https://bugs.webkit.org/show_bug.cgi?id=180663
Reviewed by Michael Catanzaro.
Instead of using a single cairo_surface_t object and sharing it between
different cairo_t objects handled by CairoPath, create a new mock 1x1px
alpha-only surface for each cairo_t object that's allocated in the
CairoPath constructor.
This avoids potential issues in how Cairo's state handling internally
uses these surfaces, which is completely opaque to us and out of our
control. This also avoids crashes when using this one cairo_surface_t
object through different CairoPath objects across different threads.
No new tests -- no change in behavior.
- platform/graphics/cairo/PlatformPathCairo.cpp:
(WebCore::CairoPath::CairoPath):
(WebCore::pathSurface): Deleted.
- platform/graphics/cairo/PlatformPathCairo.h:
(WebCore::CairoPath::context):
- 11:04 PM Changeset in webkit [225773] by
-
- 7 edits4 adds4 deletes in trunk/Source
[CoordGraphics] Move UpdateAtlas, AreaAllocator into the platform layer
https://bugs.webkit.org/show_bug.cgi?id=180641
Reviewed by Michael Catanzaro.
Source/WebCore:
Move the UpdateAtlas and AreaAllocator classes and their source files
into the platform layer. This still means using the WebCore namespace,
but apart from that these two classes have no dependency on anything in
the WebKit layer, so they can be moved from there.
No new tests -- no change in functionality.
- platform/TextureMapper.cmake:
- platform/graphics/texmap/coordinated/AreaAllocator.cpp: Renamed from Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.cpp.
(WebCore::AreaAllocator::AreaAllocator):
(WebCore::AreaAllocator::~AreaAllocator):
(WebCore::AreaAllocator::expand):
(WebCore::AreaAllocator::expandBy):
(WebCore::AreaAllocator::release):
(WebCore::AreaAllocator::overhead const):
(WebCore::AreaAllocator::roundAllocation const):
(WebCore::GeneralAreaAllocator::GeneralAreaAllocator):
(WebCore::GeneralAreaAllocator::~GeneralAreaAllocator):
(WebCore::GeneralAreaAllocator::freeNode):
(WebCore::GeneralAreaAllocator::expand):
(WebCore::fitsWithin):
(WebCore::GeneralAreaAllocator::allocate):
(WebCore::GeneralAreaAllocator::allocateFromNode):
(WebCore::GeneralAreaAllocator::splitNode):
(WebCore::GeneralAreaAllocator::updateLargestFree):
(WebCore::GeneralAreaAllocator::release):
(WebCore::GeneralAreaAllocator::overhead const):
- platform/graphics/texmap/coordinated/AreaAllocator.h: Renamed from Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h.
(WebCore::nextPowerOfTwo):
(WebCore::AreaAllocator::size const):
(WebCore::AreaAllocator::minimumAllocation const):
(WebCore::AreaAllocator::setMinimumAllocation):
(WebCore::AreaAllocator::margin const):
(WebCore::AreaAllocator::setMargin):
- platform/graphics/texmap/coordinated/UpdateAtlas.cpp: Renamed from Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp.
(WebCore::UpdateAtlas::UpdateAtlas):
(WebCore::UpdateAtlas::~UpdateAtlas):
(WebCore::UpdateAtlas::buildLayoutIfNeeded):
(WebCore::UpdateAtlas::didSwapBuffers):
(WebCore::UpdateAtlas::getCoordinatedBuffer):
- platform/graphics/texmap/coordinated/UpdateAtlas.h: Renamed from Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h.
(WebCore::UpdateAtlas::size const):
(WebCore::UpdateAtlas::supportsAlpha const):
(WebCore::UpdateAtlas::addTimeInactive):
(WebCore::UpdateAtlas::isInactive const):
(WebCore::UpdateAtlas::isInUse const):
Source/WebKit:
Move the UpdateAtlas and AreaAllocator classes into the platform layer,
moving over build targets and adjust UpdateAtlas class references in
CompositingCoordinator.
- PlatformGTK.cmake:
- PlatformWPE.cmake:
- PlatformWin.cmake:
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
- 10:30 PM Changeset in webkit [225772] by
-
- 6 edits in trunk/Source/WebCore
Disable NoEventDispatchAssertion release assertion in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=180616
Reviewed by Zalan Bujtas.
Disabled the release assertion for NoEventDispatchAssertion in WebKit1 since there are many
delegate callbacks that happen at unsafe timing, and we don't have any hope of fixing them
in short term.
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::canExecuteScripts):
- dom/Document.cpp:
(WebCore::isSafeToUpdateStyleOrLayout):
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::executeClassicScript):
- platform/RuntimeApplicationChecks.h:
(WebCore::isInWebProcess):
- platform/cocoa/RuntimeApplicationChecksCocoa.mm:
(WebCore::isInWebProcess): Extracted from IOSApplication::isWebProcess.
(WebCore::IOSApplication::isWebProcess):
- 9:47 PM Changeset in webkit [225771] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION(r225683): Chakra test failure in es6/regex-unicode.js for 32bit builds
https://bugs.webkit.org/show_bug.cgi?id=180685
Reviewed by Saam Barati.
The characterClass->m_anyCharacter check at the top of checkCharacterClass() caused
the character class check to return true without reading the character. Given that
the character could be a surrogate pair, we need to read the character even if we
don't have the check it.
- yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::testCharacterClass):
(JSC::Yarr::Interpreter::checkCharacterClass):
- 8:54 PM Changeset in webkit [225770] by
-
- 2 edits in trunk/Tools
[WinCairo] Enable running sharded tests
https://bugs.webkit.org/show_bug.cgi?id=180660
Patch by Basuke Suzuki <Basuke Suzuki> on 2017-12-11
Reviewed by Alex Christensen.
The sharder splits the test inputs into groups of test based on the directory,
but separation of base name and directory name was wrong because of this bug.
Once sharded correctly, the execution of layout test on native Windows environment
is in parallel and much less time to run.
- Scripts/webkitpy/port/win.py:
(WinCairoPort):
- 7:50 PM Changeset in webkit [225769] by
-
- 5 edits in trunk/Source/WebCore
Improve FontSelectionAlgorithm, including moving from IntegerHasher to Hasher
https://bugs.webkit.org/show_bug.cgi?id=180340
Reviewed by Dan Bates.
- css/CSSFontFaceSet.h: Moved FontSelectionRequestKey and FontSelectionRequestKeyHash
here to be private members, and used a std::optional instead of a class for this.
Also use the new Hasher to compute the hash. Also added FontSelectionRequestKeyHashTraits.
- platform/graphics/FontDescription.cpp:
(WebCore::FontDescription::FontDescription): Updated since FontSelectionRequest
does not always have a constructor any more.
- platform/graphics/FontSelectionAlgorithm.h: Tweaked comments. Used "using" instead
of typedef. Formatted some trivial functions as single lines. Stopped using
NeverDestroyed for simple classes like FontSelectionValue; it's not needed unless
there is a destructor. Got rid of some incorrect use of const. Replaced some member
functions with non-member functions. Moved some function bodies out of class definitions.
Used a lot of constexpr functions.
(WebCore::FontSelectionRequest::tied const): Added so we can easily write both == and the
hash function without listing the data members.
(WebCore::add): Added an overload so we can hash things that include FontSelectionRequest.
(WebCore::FontSelectionRequestKey::FontSelectionRequestKey): Changed this class to
use std::optional instead of a separate boolean for deleted values.
(WebCore::FontSelectionRequestKey::isHashTableDeletedValue const): Ditto.
(WebCore::FontSelectionRequestKey::operator== const): Ditto.
(WebCore::FontSelectionRequestKeyHash::hash): Ditto.
(WebCore::FontSelectionRequestKeyHash::equal): Ditto.
(WebCore::FontSelectionCapabilities::tied const): Added so we can easily write both ==
and the hash function without listing the data members.
(WebCore::FontSelectionSpecifiedCapabilities::tied const): Ditto.
(WebCore::FontSelectionAlgorithm::FontSelectionAlgorithm): Use make_unique instead of new.
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::findClosestFont): Move in the vector instead of copying it when creating a
FontSelectionAlgorithm object.
- 7:24 PM Changeset in webkit [225768] by
-
- 6 edits1 add in trunk
We need to disableCaching() in ErrorInstance when we materialize properties
https://bugs.webkit.org/show_bug.cgi?id=180343
<rdar://problem/35833002>
Reviewed by Mark Lam.
JSTests:
- stress/disable-caching-when-lazy-materializing-error-property-on-put.js: Added.
(assert):
(makeError):
(storeToStack):
(storeToStackAlreadyMaterialized):
Source/JavaScriptCore:
This patch fixes a bug in ErrorInstance where we forgot to call PutPropertySlot::disableCaching
on puts() to a property that we lazily materialized. Forgetting to do this goes against the
PutPropertySlot's caching API. This lazy materialization caused the ErrorInstance to transition
from a Structure A to a Structure B. However, we were telling the IC that we were caching an
existing property only found on Structure B. This is obviously wrong as it would lead to an
OOB store if we didn't already crash when generating the IC.
- jit/Repatch.cpp:
(JSC::tryCachePutByID):
- runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::materializeErrorInfoIfNeeded):
(JSC::ErrorInstance::put):
- runtime/ErrorInstance.h:
- runtime/Structure.cpp:
(JSC::Structure::didCachePropertyReplacement):
- 6:45 PM Changeset in webkit [225767] by
-
- 4 edits in trunk
[WinCairo] DLLLauncherMain should use SetDllDirectory
https://bugs.webkit.org/show_bug.cgi?id=180642
Patch by Fujii Hironori <Fujii Hironori> on 2017-12-11
Reviewed by Alex Christensen.
Windows have icuuc.dll in the system directory. WebKit should find
one in WebKitLibraries directory, not one in the system directory.
Source/JavaScriptCore:
- shell/DLLLauncherMain.cpp:
(modifyPath): Use SetDllDirectory for WebKitLibraries directory instead of modifying path.
Tools:
- win/DLLLauncher/DLLLauncherMain.cpp:
(modifyPath): Use SetDllDirectory for WebKitLibraries directory instead of modifying path.
Do not add a path for GStreamer because nobody is using now.
- 5:17 PM Changeset in webkit [225766] by
-
- 8 edits in trunk/Source/WebCore
[EME] support update() for FairPlayStreaming in Modern EME API
https://bugs.webkit.org/show_bug.cgi?id=180542
Reviewed by Eric Carlson.
Support the updateLicense() method in CDMInstanceFairPlayStreaming. Also, support adding a
AVStreamDataParser to the AVContentKeySession.
Drive-by fixes:
- Sometimes, AVFoundation will give us a base64 encoded string with spaces url-disallowed
characters, so use base64Decode() rather than base64URLDecode().
- platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
(WebCore::validFairPlayStreamingSchemes):
(WebCore::extractSinfData):
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::updateLicense):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didFailToProvideRequest):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cdmInstance const):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cdmInstanceAttached):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cdmInstanceDetached):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::attemptToDecryptWithInstance):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::destroyParser):
(WebCore::SourceBufferPrivateAVFObjC::setCDMInstance):
- 4:53 PM Changeset in webkit [225765] by
-
- 4 edits in trunk/Source/WebKit
Add a WKPageGroupRef setter in WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=180674
<rdar://problem/35920392>
Reviewed by Brady Eidson.
There is a Mac app trying to transition to WKWebView, and it uses WKPageGroupRef extensively.
To help it transition, we are temporarily giving it an ObjC way to use this organization for
its UserContentControllers to be united per PageGroup before it transitions away from SPIs like
WKBundleAddUserScript. Make it Mac-only to indicate that this should be transitioned away from,
rather than adopted on iOS.
No change in behavior for apps not using the new WKWebViewConfiguration._pageGroup SPI.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _pageGroup]):
(-[WKWebViewConfiguration _setPageGroup:]):
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- 4:41 PM Changeset in webkit [225764] by
-
- 31 edits in trunk
Web Inspector: Optionally log WebKit log parameters as JSON
https://bugs.webkit.org/show_bug.cgi?id=180529
<rdar://problem/35909462>
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/ConsoleMessage.cpp:
(Inspector::ConsoleMessage::ConsoleMessage): New constructor that takes a vector of JSON log
values. Concatenate all adjacent strings to make logging cleaner.
(Inspector::ConsoleMessage::addToFrontend): Process WebKit logging arguments.
(Inspector::ConsoleMessage::scriptState const):
- inspector/ConsoleMessage.h:
- inspector/InjectedScript.cpp:
(Inspector::InjectedScript::wrapJSONString const): Wrap JSON string log arguments.
- inspector/InjectedScript.h:
- inspector/InjectedScriptSource.js:
(let.InjectedScript.prototype.wrapJSONString):
Source/WebCore:
- dom/Document.cpp:
(WebCore::Document::didLogMessage):Update for API change. Don't check for main thread, that
is already done in addConsoleMessage.
- dom/Document.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updatePlayState): Cleanup logging.
- html/track/DataCue.cpp:
(WebCore::DataCue::toJSONString const): Serialize to JSON string.
(WebCore::DataCue::toString const): Deleted.
- html/track/DataCue.h:
(WTF::LogArgument<WebCore::DataCue>::toString):
- html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::toJSON const): Ditto.
(WebCore::TextTrackCue::toJSONString const):
(WebCore::TextTrackCue::toString const): Deleted.
- html/track/TextTrackCue.h:
(WTF::LogArgument<WebCore::TextTrackCue>::toString):
- html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGeneric::toJSONString const): Ditto.
(WebCore::TextTrackCueGeneric::toString const): Deleted.
- html/track/TextTrackCueGeneric.h:
(WTF::LogArgument<WebCore::TextTrackCueGeneric>::toString):
- html/track/VTTCue.cpp:
(WebCore::VTTCue::toJSONString const): Ditto.
(WebCore::VTTCue::toString const): Deleted.
- html/track/VTTCue.h:
(WTF::LogArgument<WebCore::VTTCue>::toString):
- platform/graphics/InbandTextTrackPrivateClient.h:
(WebCore::GenericCueData::toJSONString const): Ditto.
(WTF::LogArgument<WebCore::GenericCueData>::toString):
(WebCore::GenericCueData::toString const): Deleted.
- platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::processAttributedStrings): Cleanup logging.
(WebCore::InbandTextTrackPrivateAVF::removeCompletedCues): Ditto.
(WebCore::InbandTextTrackPrivateAVF::processNativeSamples): Log the entire cue.
(WebCore::InbandTextTrackPrivateAVF::readNativeSampleBuffer): Cleanup logging.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::maxMediaTimeSeekable const): Don't log, it isn't
interesting and happens frequently.
(WebCore::MediaPlayerPrivateAVFoundation::minMediaTimeSeekable const): Ditto.
- platform/graphics/iso/ISOVTTCue.cpp:
(WebCore::ISOWebVTTCue::toJSONString const): Serialize to JSON string.
- platform/graphics/iso/ISOVTTCue.h:
(WTF::LogArgument<WebCore::ISOWebVTTCue>::toString): Ditto.
Source/WTF:
- wtf/Logger.h:
(WTF::Logger::log):
(WTF::LogArgument<Logger::LogSiteIdentifier>::toString):
- wtf/MediaTime.cpp:
(WTF::MediaTime::toJSONString const): Serialize to JSON string.
- wtf/MediaTime.h:
LayoutTests:
- inspector/canvas/recording-2d-expected.txt:
- inspector/canvas/recording-webgl-expected.txt:
- inspector/canvas/recording-webgl-snapshots-expected.txt:
- 4:39 PM Changeset in webkit [225763] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Remove unused services from WebContent Process sandbox
https://bugs.webkit.org/show_bug.cgi?id=180670
Reviewed by Eric Carlson.
Pare down the set of sandbox exceptions in the iOS WebContent process sandbox to just
those services actually in use:
- Remove unused code.
- Instead of defining a 'UIKit-app' function and calling it, just declare the individual sandbox
commands inline. This will allow them to be more easily consolidated with other parts of the
sandbox in a future step.
This update should not change behavior.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 4:28 PM Changeset in webkit [225762] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove unused builtin names
https://bugs.webkit.org/show_bug.cgi?id=180673
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-12-11
Reviewed by Keith Miller.
- builtins/BuiltinNames.h:
- 3:37 PM Changeset in webkit [225761] by
-
- 12 edits1 copy2 adds in trunk/Source
Use VCP H264 encoder for platforms supporting it
https://bugs.webkit.org/show_bug.cgi?id=179076
rdar://problem/35180773
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-11
Reviewed by Eric Carlson.
Source/ThirdParty/libwebrtc:
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
- Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h: Added.
(webrtc::H264VideoToolboxEncoderVCP::SetActive):
- Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm.
- Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm:
(internal::CFStringToString):
(internal::SetVTSessionProperty):
(internal::CopyVideoFrameToPixelBuffer):
(internal::CreatePixelBuffer):
(internal::VTCompressionOutputCallback):
(internal::ExtractProfile):
- Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h:
- Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.mm:
(webrtc::VideoToolboxVideoEncoderFactory::VideoToolboxVideoEncoderFactory):
(webrtc::VideoToolboxVideoEncoderFactory::CreateSupportedVideoEncoder):
- libwebrtc.xcodeproj/project.pbxproj:
Source/WebCore:
Covered by existing test coverage.
- platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.cpp:
(WebCore::VideoToolboxVideoEncoderFactory::setActive):
(WebCore::VideoToolboxVideoEncoderFactory::CreateSupportedVideoEncoder):
(WebCore::VideoToolboxVideoEncoderFactory::DestroyVideoEncoder):
- platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.h:
- 3:24 PM Changeset in webkit [225760] by
-
- 35 edits1 delete in trunk/Source
Merge ServiceWorkerClientIdentifier into ServiceWorkerClientData
https://bugs.webkit.org/show_bug.cgi?id=180669
Reviewed by Youenn Fablet.
Merge ServiceWorkerClientIdentifier into ServiceWorkerClientData, for consistency with
ServiceWorkerIdentifier / ServiceWorkerData, and start simplifying the postMessage() code.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.cpp:
(WebCore::Document::setServiceWorkerConnection):
- workers/service/SWClientConnection.h:
- workers/service/ServiceWorker.cpp:
(WebCore::ServiceWorker::postMessage):
- workers/service/ServiceWorkerClient.cpp:
(WebCore::ServiceWorkerClient::getOrCreate):
(WebCore::ServiceWorkerClient::ServiceWorkerClient):
- workers/service/ServiceWorkerClient.h:
(WebCore::ServiceWorkerClient::identifier const):
- workers/service/ServiceWorkerClientData.cpp:
(WebCore::ServiceWorkerClientData::isolatedCopy const):
(WebCore::ServiceWorkerClientData::from):
- workers/service/ServiceWorkerClientData.h:
(WebCore::ServiceWorkerClientData::encode const):
(WebCore::ServiceWorkerClientData::decode):
- workers/service/ServiceWorkerClientInformation.h: Removed.
- workers/service/ServiceWorkerClients.cpp:
(WebCore::didFinishGetRequest):
(WebCore::ServiceWorkerClients::get):
(WebCore::matchAllCompleted):
- workers/service/ServiceWorkerTypes.h:
- workers/service/ServiceWorkerWindowClient.cpp:
(WebCore::ServiceWorkerWindowClient::ServiceWorkerWindowClient):
- workers/service/ServiceWorkerWindowClient.h:
- workers/service/context/SWContextManager.cpp:
(WebCore::SWContextManager::postMessageToServiceWorker):
- workers/service/context/SWContextManager.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::postMessageToServiceWorker):
- workers/service/context/ServiceWorkerThread.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::findClientByIdentifier):
(WebCore::SWServer::matchAll):
(WebCore::SWServer::claim):
(WebCore::SWServer::registerServiceWorkerClient):
- workers/service/server/SWServer.h:
- workers/service/server/SWServerToContextConnection.h:
- workers/service/server/SWServerWorker.h:
Source/WebKit:
- Scripts/webkit/messages.py:
(forward_declarations_and_headers):
(headers_for_type):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ServiceWorkerOrClientData>::encode):
(IPC::ArgumentCoder<ServiceWorkerOrClientData>::decode):
- Shared/WebCoreArgumentCoders.h:
- StorageProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::~WebSWServerConnection):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerFromClient):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerFromServiceWorker):
(WebKit::WebSWServerConnection::registerServiceWorkerClient):
(WebKit::WebSWServerConnection::unregisterServiceWorkerClient):
- StorageProcess/ServiceWorker/WebSWServerConnection.h:
- StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
- StorageProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::matchAllCompleted):
- StorageProcess/ServiceWorker/WebSWServerToContextConnection.h:
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::registerServiceWorkerClient):
(WebKit::WebSWClientConnection::unregisterServiceWorkerClient):
- WebProcess/Storage/WebSWClientConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::postMessageToServiceWorker):
(WebKit::WebSWContextManagerConnection::matchAllCompleted):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.messages.in:
- 3:23 PM Changeset in webkit [225759] by
-
- 2 edits in trunk/Source/WebKit
RTCPacketOptions::packet_id should be encoded as 32 bits integer.
https://bugs.webkit.org/show_bug.cgi?id=180654
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-11
Reviewed by Eric Carlson.
packet_id is a 16 bit unsigned integer, but it can also take -1 if its value is not set.
Before the patch, it was IPC encoded as a 16 bit signed integer which is not large enough.
- Shared/RTCPacketOptions.cpp:
(WebKit::RTCPacketOptions::encode const):
(WebKit::RTCPacketOptions::decode):
- 2:49 PM Changeset in webkit [225758] by
-
- 5 edits1 add in trunk
Layout Test http/tests/workers/service/postmessage-after-sw-process-crash.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=180659
Reviewed by Youenn Fablet.
Source/WebKit:
Fix flaky crash due to capturing an IPC::DataReference in a lambda, which would point to invalid
memory when the lambda is called asynchronously.
- StorageProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::postMessageToServiceWorkerFromClient):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerFromServiceWorker):
LayoutTests:
Rewrite test so that it is no longer flaky.
- http/tests/workers/service/postmessage-after-sw-process-crash.https-expected.txt:
- http/tests/workers/service/resources/postmessage-after-sw-process-crash-worker.js: Added.
- http/tests/workers/service/resources/postmessage-after-sw-process-crash.js:
- 2:35 PM Changeset in webkit [225757] by
-
- 2 edits in trunk/Source/WebCore
Fix the macOS Sierra build following r225179
(https://bugs.webkit.org/show_bug.cgi?id=180011)
Substitute TARGET_MAC_OS_X_VERSION_LESS_THAN_101300 for TARGET_MAC_OS_X_VERSION_LESS_THAN_1013000.
- Configurations/WebCore.xcconfig:
- 2:27 PM Changeset in webkit [225756] by
-
- 3 edits in trunk/Source/WebCore
Make FrameView objects IsoHeap allocated
https://bugs.webkit.org/show_bug.cgi?id=180668
<rdar://problem/35976738>
Reviewed by Simon Fraser.
Related to <https://trac.webkit.org/changeset/225719/webkit>
- page/FrameView.cpp:
- page/FrameView.h:
- 1:29 PM Changeset in webkit [225755] by
-
- 1 copy in tags/Safari-605.1.17
Tag Safari-605.1.17.
- 1:25 PM Changeset in webkit [225754] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Don't import 'UIKit-apps.sb' to the WebContent process sandbox
https://bugs.webkit.org/show_bug.cgi?id=180610
<rdar://problem/18899506>
Reviewed by Dean Jackson.
Stop including 'system.sb', and just include the portions of that sandbox that we
actually use in WebContent Process. This is the first step in some further sandbox
tightening.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 12:10 PM Changeset in webkit [225753] by
-
- 14 edits in trunk
Stop using deprecated target conditional for simulator builds
https://bugs.webkit.org/show_bug.cgi?id=180662
<rdar://problem/35136156>
Reviewed by Simon Fraser.
PerformanceTests:
- StitchMarker/wtf/Platform.h:
- StitchMarker/wtf/dependencies/bmalloc/BPlatform.h:
Source/bmalloc:
- bmalloc/BPlatform.h:
Source/ThirdParty/libwebrtc:
- Source/third_party/libyuv/source/mjpeg_decoder.cc:
- Source/webrtc/examples/objc/AppRTCMobile/ARDAppClient.m:
(-[ARDAppClient createLocalVideoTrack]):
- Source/webrtc/examples/objc/AppRTCMobile/tests/ARDAppClient_xctest.mm:
- Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:
(webrtc::LogDeviceInfo):
Source/WebKitLegacy/mac:
- postprocess-headers.sh:
Source/WTF:
- wtf/Platform.h:
- 11:41 AM Changeset in webkit [225752] by
-
- 3 edits in trunk/PerformanceTests
StyleBench improvements
https://bugs.webkit.org/show_bug.cgi?id=180646
Reviewed by Geoffrey Garen.
- Remove :empty rule from global stylesheet. It caused all tests to hit positional pseudo-class code paths.
- Instead use min-width to create easy flexible layout. Use it for ::before/::after too.
- Add :empty to positional pseudo-class test.
- Include some id attributes and id selectors
- Chance to have more than 1 classes per compound selector
- Change distribution of elements and classes to be non-uniform
- Other bug fixes
- StyleBench/resources/style-bench.js:
(Random.prototype.numberSquareWeightedToLow):
(Random):
(defaultConfiguration):
(prototype.randomElementName):
(prototype.randomId):
(prototype.makeCompoundSelector):
(prototype.makeSelector):
(prototype.makeElement):
- 11:22 AM Changeset in webkit [225751] by
-
- 5 edits in trunk/Source
[WTF] Add Converter traits to StringHasher instead of function pointer
https://bugs.webkit.org/show_bug.cgi?id=180656
Reviewed by JF Bastien.
Source/WebKit:
- WebProcess/WebProcess.cpp:
(WebKit::addCaseFoldedCharacters):
Source/WTF:
In the latest ICU, UChar is char16_t. So defining defaultConverter(UChar)
and defaultConverter(char16_t) causes duplicate definitions.
Instead of passing a funtion pointer, we pass a trait class DefaultConveter
which hasconvertstatic function. And we make thisconvertfunction
generic. This avoids defining convert function for UChar and char16_t.
- wtf/text/StringHash.h:
(WTF::ASCIICaseInsensitiveHash::FoldCase::convert):
(WTF::ASCIICaseInsensitiveHash::hash):
(WTF::ASCIICaseInsensitiveHash::foldCase): Deleted.
- wtf/text/StringHasher.h:
(WTF::StringHasher::DefaultConverter::convert):
(WTF::StringHasher::addCharactersAssumingAligned):
(WTF::StringHasher::addCharacters):
(WTF::StringHasher::computeHashAndMaskTop8Bits):
(WTF::StringHasher::computeHash):
(WTF::StringHasher::computeLiteralHash):
(WTF::StringHasher::computeLiteralHashAndMaskTop8Bits):
(WTF::StringHasher::computeHashImpl):
(WTF::StringHasher::Converter): Deleted.
(WTF::StringHasher::defaultConverter): Deleted.
- 11:19 AM Changeset in webkit [225750] by
-
- 2 edits in trunk/Source/WebCore
[Web Animations] Implement AnimationPlaybackEvent and AnimationPlaybackEventInit
https://bugs.webkit.org/show_bug.cgi?id=180647
Reviewed by Dean Jackson.
Actually fix Windows build this time.
- animation/AnimationPlaybackEventInit.h:
- 10:56 AM Changeset in webkit [225749] by
-
- 2 edits in trunk/Source/WebCore
[Web Animations] Implement AnimationPlaybackEvent and AnimationPlaybackEventInit
https://bugs.webkit.org/show_bug.cgi?id=180647
<rdar://problem/35966325>
Reviewed by Dean Jackson.
Unreviewed, fix Windows build.
- animation/AnimationPlaybackEventInit.h:
- 10:23 AM Changeset in webkit [225748] by
-
- 3 edits in trunk/Source/WebCore
FloatingObjects/FloatingObject classes should hold weak references to renderers
https://bugs.webkit.org/show_bug.cgi?id=180627
<rdar://problem/35954069>
Reviewed by Antti Koivisto.
- rendering/FloatingObjects.cpp:
(WebCore::FloatingObject::FloatingObject):
(WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
(WebCore::ComputeFloatOffsetForFloatLayoutAdapter::ComputeFloatOffsetForFloatLayoutAdapter):
(WebCore::ComputeFloatOffsetForLineLayoutAdapter::ComputeFloatOffsetForLineLayoutAdapter):
(WebCore::FindNextFloatLogicalBottomAdapter::FindNextFloatLogicalBottomAdapter):
(WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
(WebCore::FloatingObjects::findNextFloatLogicalBottomBelow):
(WebCore::FloatingObjects::findNextFloatLogicalBottomBelowForBlock):
(WebCore::FloatingObjects::FloatingObjects):
(WebCore::FloatingObjects::clearLineBoxTreePointers):
(WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat):
(WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
(WebCore::FloatingObjects::logicalLeftOffset):
(WebCore::FloatingObjects::logicalRightOffset):
(WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
(WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
(WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining const):
(WebCore::ComputeFloatOffsetAdapter<FloatTypeValue>::collectIfNeeded):
(WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
(WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
- rendering/FloatingObjects.h:
(WebCore::FloatingObject::renderer const):
(WebCore::FloatingObjects::renderer const):
- 10:09 AM Changeset in webkit [225747] by
-
- 17 edits in trunk
Turn on ENABLE_APPLICATION_MANIFEST
https://bugs.webkit.org/show_bug.cgi?id=180562
rdar://problem/35924737
Patch by David Quesada <david_quesada@apple.com> on 2017-12-11
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
- loader/LinkLoader.cpp:
(WebCore::createLinkPreloadResourceClient):
- loader/cached/CachedResourceRequest.cpp:
Add a missing #include that was implicitly added in the unified source when
the feature is disabled.
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig:
Tools:
- Configurations/FeatureDefines.xcconfig:
LayoutTests:
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 10:07 AM Changeset in webkit [225746] by
-
- 11 edits2 adds in trunk
Add a runtime feature flag for ImageBitmap and OffscreenCanvas
https://bugs.webkit.org/show_bug.cgi?id=180652
<rdar://problem/35969611>
Reviewed by Antoine Quint.
Source/WebCore:
Add a RuntimeEnabledFeature for these interfaces, and link the bindings
to the feature.
Test: fast/canvas/offscreen-enabled.html
- bindings/js/WebCoreBuiltinNames.h:
- html/ImageBitmap.idl:
- html/OffscreenCanvas.idl:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setImageBitmapOffscreenCanvasEnabled):
(WebCore::RuntimeEnabledFeatures::imageBitmapOffscreenCanvasEnabled const):
- page/WindowOrWorkerGlobalScope.idl:
Source/WebKit:
Add an experimental feature flag for these interfaces.
- Shared/WebPreferences.yaml:
Websites/webkit.org:
Simple test to validate if these interfaces are enabled.
- experimental-features.html:
LayoutTests:
- fast/canvas/offscreen-enabled-expected.txt: Added.
- fast/canvas/offscreen-enabled.html: Added.
- 10:02 AM Changeset in webkit [225745] by
-
- 7 edits5 adds in trunk/Source/WebCore
[Web Animations] Implement AnimationPlaybackEvent and AnimationPlaybackEventInit
https://bugs.webkit.org/show_bug.cgi?id=180647
<rdar://problem/35966325>
Reviewed by Dean Jackson.
We implement the AnimationPlaybackEvent interface and AnimationPlaybackEventInit dictionary
as the first step towards dispatching animation "finish" and "cancel" events.
Animation playback events will be dispatched on Animation objects and expose the timeline time
and animation current time at the time they were constructed. Dispatch itself, which will be
the focus of the next patch, is not synchronous, so it's important to track those values
at creation time.
No new tests yet, followup patches will enable event dispatch and existing Web Platform Tests
will show progressions.
- CMakeLists.txt:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- animation/AnimationPlaybackEvent.cpp: Added.
(WebCore::AnimationPlaybackEvent::AnimationPlaybackEvent):
(WebCore::AnimationPlaybackEvent::bindingsCurrentTime const):
(WebCore::AnimationPlaybackEvent::bindingsTimelineTime const):
- animation/AnimationPlaybackEvent.h: Added.
- animation/AnimationPlaybackEvent.idl: Added.
- animation/AnimationPlaybackEventInit.h: Added.
- animation/AnimationPlaybackEventInit.idl: Added.
- bindings/js/WebCoreBuiltinNames.h:
- dom/EventNames.in:
- 9:46 AM Changeset in webkit [225744] by
-
- 2 edits12 adds in trunk/LayoutTests
[WPE] Enable most wpt html tests.
https://bugs.webkit.org/show_bug.cgi?id=180650
Unreviewed test gardening.
- platform/wpe/TestExpectations:
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal-expected.txt: Added: same as GTK; whitespace-only difference with the generic expectation file.
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/inrange-outofrange-expected.txt: Added: whitespace-only difference with the generic expectation file.
- platform/wpe/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-pluginarray-expected.txt: Added: some subtests pass because the plugin array does not contain any plugins on WPE, and issues with the actual elements of the array can not be detected.
- 9:38 AM Changeset in webkit [225743] by
-
- 3 edits in trunk/Source/WebCore
[WinCairo] DumpRenderTree times out for all non-http tests
https://bugs.webkit.org/show_bug.cgi?id=180571
Patch by Basuke Suzuki <Basuke Suzuki> on 2017-12-11
Reviewed by Alex Christensen.
Bug fix on processing the curl event for file protocol.
No new tests. This fix is to run existing tests.
- platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::completeDidReceiveResponse):
- platform/network/curl/CurlRequest.h:
(WebCore::CurlRequest::isCompleted const):
(WebCore::CurlRequest::isCancelled const):
(WebCore::CurlRequest::isCompletedOrCancelled const):
- 2:16 AM Changeset in webkit [225742] by
-
- 5 edits7 deletes in trunk
Unreviewed, rolling out r225737.
Breaks Git clones of the repository, including EWSs and webkitbot.
Reverted changeset:
"Add a script to automate W3c web-platform-tests pull request
creations from WebKit commits"
https://bugs.webkit.org/show_bug.cgi?id=169462
https://trac.webkit.org/changeset/225737
- 1:11 AM Changeset in webkit [225741] by
-
- 7 edits in trunk
REGRESSION(r221931): Row stretch doesn't work for grid container with min-height
https://bugs.webkit.org/show_bug.cgi?id=180287
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-grid/grid-model/grid-box-sizing-001-expected.txt:
Update expectations as the test is now passing.
Source/WebCore:
In r221931 we moved the stretch phase as the last step of
the track sizing algorithm.
However this introduced a regression as we were no longer
taking into account the grid container min-width|height constraints
during this step.
The CSS WG modified the spec so it now defines what to do
in these situations (https://drafts.csswg.org/css-grid/#algo-stretch):
"If the free space is indefinite, but the grid container
has a definite min-width/height, use that size to calculate
the free space for this step instead."
This patch adds a new method
GridTrackSizingAlgorithmStrategy::freeSpaceForStretchAutoTracksStep().
When we're in the DefiniteSizeStrategy it just returns the current
free space.
For the IndefiniteSizeStrategy in the columns case we don't need
any special computation (the same that happens in
recomputeUsedFlexFractionIfNeeded()); for rows it uses the min size
of the grid container (respecting min-width|height properties)
to calculate the free space.
Test: imported/w3c/web-platform-tests/css/css-grid/layout-algorithm/grid-stretch-respects-min-size-001.html
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::IndefiniteSizeStrategy::freeSpaceForStretchAutoTracksStep const):
(WebCore::DefiniteSizeStrategy::freeSpaceForStretchAutoTracksStep const):
(WebCore::GridTrackSizingAlgorithm::stretchAutoTracks):
- rendering/GridTrackSizingAlgorithm.h:
LayoutTests:
- TestExpectations: Now layout-algorithm/grid-stretch-respects-min-size-001.html
from WPT is passing, so this patch removes it from TestExpectations file.
- 12:31 AM Changeset in webkit [225740] by
-
- 7 edits in trunk/Tools
[GTK] WebDriver: run-webdriver-tests is leaking a DumpRenderTree directory in tmp
https://bugs.webkit.org/show_bug.cgi?id=180426
Reviewed by Michael Catanzaro.
This happens when running the tests with Xvfb driver, because _setup_environ_for_test() is called twice and the
DTR temp directory is created there every time. Only the last directory created is cleaned up by the driver
destructor. The DRT temp directory is only needed for layout tests, so we could even avoid its creation by
moving it to the start() method like other drivers do (included the base driver implementation). Since API and
WebDriver tests don't call start(), the directory is not even created, and the required env vars are not set
either in that case. Weston driver was behaving differently for some reason, it's now consistent with all other
drivers.
- Scripts/webkitpy/port/headlessdriver.py:
(HeadlessDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
(HeadlessDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
- Scripts/webkitpy/port/waylanddriver.py:
(WaylandDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
(WaylandDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
- Scripts/webkitpy/port/westondriver.py:
(WestonDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
(WestonDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
(WestonDriver.stop): Do not delete the temp directory, it's done by the parent class.
(WestonDriver._ensure_driver_tmpdir_subdirectory): Deleted.
- Scripts/webkitpy/port/westondriver_unittest.py:
(WestonDriverTest.make_driver):
(WestonDriverTest.test_stop):
- Scripts/webkitpy/port/xorgdriver.py:
(XorgDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
(XorgDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
- Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
(XvfbDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
- 12:30 AM Changeset in webkit [225739] by
-
- 2 edits in trunk/Source/WebDriver
WebDriver: get active element should return no such element error when there isn't an active element
https://bugs.webkit.org/show_bug.cgi?id=180421
Reviewed by Brian Burg.
We currently return unknown error.
Fixes: imported/w3c/webdriver/tests/element_retrieval/get_active_element.py::test_missing_document_element
- Session.cpp:
(WebDriver::Session::getActiveElement):
Dec 10, 2017:
- 11:55 PM Changeset in webkit [225738] by
-
- 2 edits in trunk/Tools
Unreviewed webkitpy fix on Linux platforms after r225721.
Add an empty 'linux' entry to the PUBLIC_TABLE mapping in the
VersionNameMap class. This avoids asserting in this class's
mapping_for_platform() method when the code is evaluated on a Linux
system, which happens when the static VERSION_FALLBACK_ORDER member in
the WinCairoPort class is constructed. This can occur during a
test-webkitpy run or when trying to construct a WPEPort instance in
PortFactory, which isn't possible because again the WinCairoPort
instance is constructed first, leading to the same assert in both cases.
- Scripts/webkitpy/common/version_name_map.py:
(VersionNameMap.init):
- 9:04 PM Changeset in webkit [225737] by
-
- 4 edits1 copy6 adds in trunk/Tools
Add a script to automate W3c web-platform-tests pull request creations from WebKit commits
https://bugs.webkit.org/show_bug.cgi?id=169462
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-10
Reviewed by Darin Adler.
Adding some git helper routines used by WPT exporter.
Copying WPT github utility files from Chromium.
Updating web.py/web_mock.py to cope with these new files.
Implementing test exporter in test_exporter.py.
This script takes a WebKit commit as input and will create a WPT commit in a local WPT clone.
It will then push the commit to a public GitHub repository identified by a username parameter.
This parameter is passed through the command line or searched through git config/environment variables.
The script can optionally create a pull request to the official WPT GitHub repository.
User must provide a GitHub token to allow the script to make the PR on behalf of the user.
In that case, a comment is added to the corresponding bugzilla if a bug ID is given or can be found from the change log,
to easily link the pull request with the bugzilla bug.
- Scripts/export-w3c-test-changes: Added.
- Scripts/webkitpy/common/checkout/scm/git.py:
(Git.reset_hard):
(Git):
(Git.am):
(Git.commit):
(Git.format_patch):
(Git.request_pull):
(Git.remote):
(Git.push):
(Git.checkout_new_branch):
- Scripts/webkitpy/common/net/web.py:
(Web.request): Copied from Chromium.
- Scripts/webkitpy/common/net/web_mock.py: Copied needed code from Chromium.
- Scripts/webkitpy/w3c/test_exporter.py: Added.
(TestExporter):
(TestExporter.init):
(TestExporter._init_repository):
(TestExporter.download_and_commit_patch):
(TestExporter.clean):
(TestExporter.create_branch_with_patch):
(TestExporter.push_to_public_repository):
(TestExporter.make_pull_request):
(TestExporter.delete_local_branch):
(TestExporter.create_git_patch):
(TestExporter.create_upload_remote_if_needed):
(TestExporter.do_export):
(parse_args):
(configure_logging):
(configure_logging.LogHandler):
(configure_logging.LogHandler.format):
(main):
- Scripts/webkitpy/w3c/test_exporter_unittest.py: Added.
(TestExporterTest):
(TestExporterTest.MockBugzilla):
(TestExporterTest.MockBugzilla.init):
(TestExporterTest.MockBugzilla.fetch_bug_dictionary):
(TestExporterTest.MockBugzilla.post_comment_to_bug):
(TestExporterTest.MockGit):
(TestExporterTest.MockGit.clone):
(TestExporterTest.MockGit.init):
(TestExporterTest.MockGit.fetch):
(TestExporterTest.MockGit.checkout):
(TestExporterTest.MockGit.reset_hard):
(TestExporterTest.MockGit.push):
(TestExporterTest.MockGit.format_patch):
(TestExporterTest.MockGit.delete_branch):
(TestExporterTest.MockGit.checkout_new_branch):
(TestExporterTest.MockGit.am):
(TestExporterTest.MockGit.commit):
(TestExporterTest.MockGit.remote):
(TestExporterTest.test_export):
- Scripts/webkitpy/w3c/common.py: Copied from chromium.
- Scripts/webkitpy/w3c/wpt_github.py: Copied from chromium.
- Scripts/webkitpy/w3c/wpt_github_mock.py: Copied from chromium.
- Scripts/webkitpy/w3c/wpt_github_unittest.py: Copied from chromium.
- 7:10 PM Changeset in webkit [225736] by
-
- 10 edits2 adds2 deletes in trunk
Incorrect bounds inside <mover>/<munder> when a stretchy operator is present
https://bugs.webkit.org/show_bug.cgi?id=179682
Patch by Minsheng Liu <lambda@liu.ms> on 2017-12-10
Reviewed by Frédéric Wang.
Source/WebCore:
Currently a stretchy operator inside <mover>/<munder>/<munderover> is stretched
during paint() rather than layout(), which leads to both end user confusion
and many unexpected behaviors. This patch rewrites
RenderMathMLUnderOver::stretchHorizontalOperatorsAndLayoutChildren()
to both eliminate the issue and make operator stretching more standard
conforming.
A test is added to check the stretch width of stretchy operators in various
scenarios:
mathml/opentype/munderover-stretch-width.html
A previous test is updated:
mathml/opentype/opentype-stretchy-horizontal.html
- rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::stretchTo):
(WebCore::RenderMathMLOperator::resetStretchSize):
(WebCore::RenderMathMLOperator::paint):
- rendering/mathml/RenderMathMLOperator.h:
(WebCore::RenderMathMLOperator::setStretchWidthLocked):
(WebCore::RenderMathMLOperator::isStretchWidthLocked const):
- rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::toHorizontalStretchyOperator):
(WebCore::fixLayoutAfterStretch):
(WebCore::RenderMathMLUnderOver::stretchHorizontalOperatorsAndLayoutChildren):
LayoutTests:
Added test case: mathml/opentype/munderover-stretch-width.html
Updated test case: mathml/opentype/opentype-stretchy-horizontal
We update the test file to make sure the stretchy <mo> has zero lspace/rspace.
Expected results for macOS and iOS are included.
- mathml/opentype/munderover-stretch-width-expected.txt: Added.
- mathml/opentype/munderover-stretch-width.html: Added.
- mathml/opentype/opentype-stretchy-horizontal.html:
- platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Removed.
- platform/ios/mathml/opentype/opentype-stretchy-horizontal-expected.png:
- platform/ios/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
- platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.png:
- platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
- platform/win/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Removed.
- 5:32 PM Changeset in webkit [225735] by
-
- 2 edits in trunk/Source/WTF
[WTF] Reduce sizeof(Thread) by adjusting alignment
https://bugs.webkit.org/show_bug.cgi?id=180630
Reviewed by Saam Barati.
Reduce sizeof(Thread) slightly by adjusting alignment.
- wtf/Threading.h:
- 5:10 PM Changeset in webkit [225734] by
-
- 2 edits in trunk/Source/JavaScriptCore
Harden a few assertions in GC sweep
https://bugs.webkit.org/show_bug.cgi?id=180634
Reviewed by Saam Barati.
This turns one dynamic check into a release assertion and upgrades another assertion to a release
assertion.
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::Handle::sweep):
- 1:11 PM Changeset in webkit [225733] by
-
- 84 edits in trunk
[python] Modernize "except" usage for python3 compatibility
https://bugs.webkit.org/show_bug.cgi?id=180612
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
- inspector/scripts/generate-inspector-protocol-bindings.py:
Tools:
- BuildSlaveSupport/build.webkit.org-config/committer_auth.py:
(CommitterAuth.auth_json):
(CommitterAuth.authenticate):
(CommitterAuth.is_webkit_committer):
(CommitterAuth.is_webkit_trac_user):
- BuildSlaveSupport/wait-for-SVN-server.py:
(getLatestSVNRevision):
- QueueStatusServer/handlers/updatebase.py:
(UpdateBase._int_from_request):
- Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_from_idl):
(BindingsTests.generate_supplemental_dependency):
(BindingsTests.detect_changes):
- Scripts/webkitpy/codegen/main.py:
(BuiltinsGeneratorTests.generate_from_js_builtins):
(BuiltinsGeneratorTests.detect_changes):
- Scripts/webkitpy/common/checkout/changelog.py:
(ChangeLog.parse_latest_entry_from_file):
- Scripts/webkitpy/common/checkout/checkout.py:
(Checkout.bug_id_for_this_commit):
- Scripts/webkitpy/common/checkout/scm/git.py:
(Git.in_working_directory):
(Git.clone):
(Git._string_to_int_or_none):
(Git._commit_on_branch):
- Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.revisions_changing_file):
- Scripts/webkitpy/common/config/committers.py:
(CommitterList.load_json):
- Scripts/webkitpy/common/message_pool.py:
(_Worker.run):
- Scripts/webkitpy/common/net/buildbot/buildbot.py:
(Builder.force_build.predicate):
(Builder._fetch_revision_to_build_map):
(BuildBot._fetch_build_dictionary):
- Scripts/webkitpy/common/net/credentials.py:
(Credentials._credentials_from_git):
- Scripts/webkitpy/common/net/networktransaction.py:
(NetworkTransaction.run):
- Scripts/webkitpy/common/net/networktransaction_unittest.py:
(NetworkTransactionTest.test_exception):
(NetworkTransactionTest.test_timeout):
- Scripts/webkitpy/common/net/statusserver.py:
(StatusServer._fetch_url):
- Scripts/webkitpy/common/net/unittestresults.py:
(UnitTestResults.results_from_string):
- Scripts/webkitpy/common/prettypatch.py:
(PrettyPatch.check_pretty_patch):
(PrettyPatch.pretty_patch_text):
- Scripts/webkitpy/common/prettypatch_unittest.py:
(PrettyPatchTest.check_ruby):
- Scripts/webkitpy/common/system/autoinstall.py:
(AutoInstaller._extract_tar):
(AutoInstaller._unzip):
(AutoInstaller._replace_domain_with_next_mirror):
(AutoInstaller._download_to_stream):
(AutoInstaller.install):
- Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs._find_newest_log_darwin):
(CrashLogs._find_newest_log_win):
(CrashLogs._find_all_logs_darwin):
- Scripts/webkitpy/common/system/executive.py:
(Executive.kill_process):
(Executive.running_pids):
- Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.maybe_make_directory):
(FileSystem.remove):
- Scripts/webkitpy/common/system/user.py:
(User._wait_on_list_response):
(User.edit):
(User.page):
(User.can_open_url):
- Scripts/webkitpy/common/system/workspace.py:
(Workspace.create_zip):
- Scripts/webkitpy/common/watchlist/watchlistparser.py:
(WatchListParser._parse_definition_section):
- Scripts/webkitpy/common/webkitunittest.py:
(TestCase._assertRaisesRegexp):
- Scripts/webkitpy/inspector/main.py:
(InspectorGeneratorTests.generate_from_json):
(InspectorGeneratorTests.detect_changes):
- Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder._read_test_names_from_file):
- Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.run_tests):
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.upload_results):
- Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(JSONResultsGenerator.upload_json_files):
(JSONResultsGenerator._get_archived_json_results):
- Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(MiscTests.test_parse_warning):
(SemanticTests.test_bad_bugid):
- Scripts/webkitpy/layout_tests/models/test_run_results.py:
(summarize_results):
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main):
- Scripts/webkitpy/layout_tests/servers/http_server.py:
(Lighttpd._remove_stale_logs):
- Scripts/webkitpy/layout_tests/servers/http_server_base.py:
(HttpServerBase._is_running_on_port):
(HttpServerBase._check_that_all_ports_are_available):
- Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:
(BaseTest.assert_servers_are_down):
(BaseTest.assert_servers_are_up):
(BaseTest.integration_test_serverfails):
(BaseTest.maybe_make_dir):
- Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
(run_server):
- Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
- Scripts/webkitpy/layout_tests/servers/websocket_server.py:
(PyWebSocket.is_running):
(PyWebSocket._remove_stale_logs):
- Scripts/webkitpy/performance_tests/perftestsrunner.py:
(_merge_slave_config_json):
(_merge_outputs_if_needed):
(_upload_json):
- Scripts/webkitpy/port/base.py:
(Port._build_driver):
(Port._build_image_diff):
(Port._symbols_string):
- Scripts/webkitpy/port/leakdetector.py:
(LeakDetector.count_total_bytes_and_unique_leaks):
(LeakDetector.check_for_leaks):
- Scripts/webkitpy/port/leakdetector_valgrind.py:
(LeakDetectorValgrind._parse_leaks_output):
- Scripts/webkitpy/port/mac.py:
(MacPort.reset_preferences):
(MacPort.stop_helper):
- Scripts/webkitpy/port/port_testcase.py:
(PortTestCase.assert_servers_are_down):
(PortTestCase.assert_servers_are_up):
(PortTestCase.integration_test_http_serverfails):
(PortTestCase.integration_test_websocket_serverfails):
- Scripts/webkitpy/port/server_process.py:
(ServerProcess.write):
(ServerProcess._wait_for_data_and_update_buffers_using_select):
(ServerProcess._non_blocking_read_win32):
- Scripts/webkitpy/port/win.py:
(WinPort._runtime_feature_list):
- Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver._xvfb_read_display_id):
- Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONChecker.check):
- Scripts/webkitpy/style/checkers/xml.py:
(XMLChecker.check):
- Scripts/webkitpy/style/filereader.py:
(TextFileReader.process_file):
- Scripts/webkitpy/style/filereader_unittest.py:
(TextFileReaderTest.test_process_filedoes_not_exist):
- Scripts/webkitpy/style/optparser.py:
(ArgumentParser.parse):
- Scripts/webkitpy/tool/bot/irc_command.py:
(CreateBug.execute):
(Rollout.execute):
- Scripts/webkitpy/tool/bot/ircbot.py:
(IRCBot.process_message):
- Scripts/webkitpy/tool/bot/layouttestresultsreader.py:
(LayoutTestResultsReader._read_file_contents):
- Scripts/webkitpy/tool/bot/patchanalysistask.py:
(PatchAnalysisTask._run_command):
- Scripts/webkitpy/tool/bot/queueengine.py:
(QueueEngine.run):
- Scripts/webkitpy/tool/commands/abstractsequencedcommand.py:
(AbstractSequencedCommand.execute):
- Scripts/webkitpy/tool/commands/download.py:
(AbstractPatchSequencingCommand._prepare_to_process):
- Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem.review_patch):
- Scripts/webkitpy/tool/commands/queries.py:
(FailureReason._blame_line_for_revision):
- Scripts/webkitpy/tool/commands/queues.py:
(AbstractQueue._cc_watchers):
(AbstractQueue.run_webkit_patch):
(CommitQueue.process_work_item):
(StyleQueue.review_patch):
- Scripts/webkitpy/tool/commands/rebaseline.py:
(AbstractParallelRebaselineCommand._run_webkit_patch):
- Scripts/webkitpy/tool/commands/stepsequence.py:
(StepSequence.run_and_handle_errors):
- Scripts/webkitpy/tool/commands/suggestnominations.py:
(SuggestNominations._count_recent_patches):
- Scripts/webkitpy/tool/multicommandtool.py:
(MultiCommandTool.main):
- Scripts/webkitpy/tool/servers/rebaselineserver.py:
(_rebaseline_test):
(_move_test_baselines):
- Scripts/webkitpy/tool/steps/addsvnmimetypeforpng_unittest.py:
(AddSvnMimetypeForPngTest.test_run):
- Scripts/webkitpy/tool/steps/checkstyle.py:
(CheckStyle.run):
- Scripts/webkitpy/tool/steps/commit.py:
(Commit._check_test_expectations):
(Commit.run):
- Scripts/webkitpy/tool/steps/confirmdiff.py:
(ConfirmDiff._show_pretty_diff):
- Scripts/webkitpy/tool/steps/haslanded.py:
(HasLanded.diff_diff):
- Scripts/webkitpy/tool/steps/preparechangelog.py:
(PrepareChangeLog.run):
- Scripts/webkitpy/tool/steps/promptforbugortitle.py:
(PromptForBugOrTitle.run):
- Scripts/webkitpy/tool/steps/sortxcodeprojectfiles.py:
(SortXcodeProjectFiles.run):
- Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
(WebDriverW3CWebServer._wait_for_server.check_port):
- TestResultServer/model/datastorefile.py:
(DataStoreFile.save_data):
- jhbuild/jhbuildutils.py:
(enter_jhbuild_environment_if_available):
- 8:47 AM Changeset in webkit [225732] by
-
- 2 edits in trunk/Source/WebKit
APIClient.h uses things from <tuple> without including it explicitly
https://bugs.webkit.org/show_bug.cgi?id=180609
Patch by Stephan Szabo <stephan.szabo@sony.com> on 2017-12-10
Reviewed by Darin Adler.
- Shared/API/APIClient.h:
- 5:14 AM Changeset in webkit [225731] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed, follow-up patch after r225470
https://bugs.webkit.org/show_bug.cgi?id=180308
- Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
Use consistent operands.
- bindings/js/JSCallbackData.h:
(WebCore::JSCallbackData::JSCallbackData):
Use class field initializer.
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::openFunc):
Use consistent operands.
- 5:00 AM Changeset in webkit [225730] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, follow-up patch after r225726
https://bugs.webkit.org/show_bug.cgi?id=180622
Suggested by Darin. We should take care of signed-extension of
char.
- wtf/text/StringHasher.h:
(WTF::StringHasher::defaultConverter):