Timeline
Jul 12, 2014:
- 11:35 PM Changeset in webkit [171046] by
-
- 11 edits12 adds in trunk
Elements with rendering disabled due to dimensions should not contribute to parent bounding box
https://bugs.webkit.org/show_bug.cgi?id=134184
Patch by Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> on 2014-07-12
Reviewed by Dirk Schulze.
Source/WebCore:
SVG elements that have rendering disabled should not contribute to any ancestor elements bounding box.
Examples of elements with rendering disabled:
- basic shape with width <= 0 or height <= 0
- path with no path data (d attribute missing or empty)
- polyline or polygon element with no point data (points attribute missing or empty)
To achieve this a method (isRenderingDisabled) was added to RenderSVGShape and it's derived classes.
This is used to determine if an element is included when creating the union of child bounding boxes
in a container element.
Tests: svg/custom/GetBBox-path-nodata.html
svg/custom/GetBBox-polygon-nodata.html
svg/custom/GetBBox-polyline-nodata.html
svg/custom/getBBox-container-hiddenchild.html
- rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::isRenderingDisabled):
New method added. Checks bounding box to determine if rendering is disabled.
- rendering/svg/RenderSVGEllipse.h:
- rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::isRenderingDisabled):
New method added. Checks bounding box to determine if rendering is disabled.
- rendering/svg/RenderSVGPath.h:
- rendering/svg/RenderSVGRect.cpp:
(WebCore::RenderSVGRect::isRenderingDisabled):
New method added. Checks bounding box to determine if rendering is disabled.
- rendering/svg/RenderSVGRect.h:
- rendering/svg/RenderSVGShape.h:
(WebCore::RenderSVGShape::isRenderingDisabled):
New method added. Always returns false so that derived classes that do not
implement this method retain the existing behaviour.
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
For each element potentially being included in the unioned bounding box of
a container, check isRenderingDisabled and skip that element if true.
- rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::isRenderingDisabled):
- rendering/svg/RenderSVGEllipse.h:
- rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::isRenderingDisabled):
- rendering/svg/RenderSVGPath.h:
- rendering/svg/RenderSVGRect.cpp:
(WebCore::RenderSVGRect::isRenderingDisabled):
- rendering/svg/RenderSVGRect.h:
- rendering/svg/RenderSVGShape.h:
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
LayoutTests:
Test, for each element type, that when rendering is disabled, that element does not contribute
to the bounding box for an ancestor element.
Added test to ensure zero width/height polyline and polygon do contribute to ancestor bounding box.
Updated expected results for 1 existing test (shapes-rect-02-t) as this test included zero
width and zero height rects and these were previously included in the repaint rect.
- platform/mac/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
- svg/custom/GetBBox-path-nodata-expected.txt: Added.
- svg/custom/GetBBox-path-nodata.html: Added.
- svg/custom/GetBBox-polygon-nodata-expected.txt: Added.
- svg/custom/GetBBox-polygon-nodata.html: Added.
- svg/custom/GetBBox-polyline-nodata-expected.txt: Added.
- svg/custom/GetBBox-polyline-nodata.html: Added.
- svg/custom/getBBox-container-hiddenchild-expected.txt: Added.
- svg/custom/getBBox-container-hiddenchild.html: Added.
- svg/custom/getBBox-perpendicular-polygon-expected.txt: Added.
- svg/custom/getBBox-perpendicular-polygon.svg: Added.
- svg/custom/getBBox-perpendicular-polyline-expected.txt: Added.
- svg/custom/getBBox-perpendicular-polyline.svg: Added.
- 10:51 PM Changeset in webkit [171045] by
-
- 12 edits in trunk/Source/WebKit2
[Cocoa] Notify the client when a navigation snapshot is taken
https://bugs.webkit.org/show_bug.cgi?id=134865
Reviewed by Sam Weinig.
- UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Declared new delegate method.
- UIProcess/Cocoa/NavigationState.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate): Initialize new flag in
m_navigationDelegateMethods.
(WebKit::NavigationState::willRecordNavigationSnapshot): Added. Calls the new
WKNavigationDelegate method.
- UIProcess/PageClient.h: Declared new client function.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::willRecordNavigationSnapshot): Added. Calls the new client function.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::willRecordNavigationSnapshot): Override that calls
NavigationState::willRecordNavigationSnapshot.
- UIProcess/mac/PageClientImpl.h:
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::willRecordNavigationSnapshot): Ditto.
- UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::recordSnapshot): Added a call to
WebPageProxy::willRecordNavigationSnapshot.
- 7:37 PM Changeset in webkit [171044] by
-
- 3 edits in trunk/Tools
Style checker complains about namespace indentation when there is no namespace
https://bugs.webkit.org/show_bug.cgi?id=105427
Patch by Peter Szanka <h868064@stud.u-szeged.hu> on 2014-07-12
Reviewed by Darin Adler.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_namespace_indentation):
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_indentation):
The indentation level depends on the parantheses too, to avoid false warning in case of several statements inside macros.
- 7:24 PM Changeset in webkit [171043] by
-
- 2 edits in trunk/Source/WebCore
Rename selectorListContainsUncommonAttributeSelector() to selectorListContainsAttributeSelector()
https://bugs.webkit.org/show_bug.cgi?id=134862
Reviewed by Sam Weinig.
Unlike containsUncommonAttributeSelector(), selectorListContainsUncommonAttributeSelector() does not
evaluate the attribute for "uncommon" types.
It would be possible to change the function instead to evaluate common attributes based
on the match type and the pseudo class type. Such change would be more risky
and we would get very little benefit from it, I leave that for later if that ever becomes useful.
- css/RuleSet.cpp:
(WebCore::selectorListContainsAttributeSelector):
(WebCore::containsUncommonAttributeSelector):
(WebCore::selectorListContainsUncommonAttributeSelector): Deleted.
- 6:44 PM Changeset in webkit [171042] by
-
- 3 edits in trunk/Source/WebKit2
Unreviewed, fix EFL build break since r171034.
- UIProcess/CoordinatedGraphics/WebView.h:
- UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformMediaCacheDirectory):
- 6:27 PM Changeset in webkit [171041] by
-
- 2 edits in trunk/Source/WebKit2
Try to fix 32-bit Mac build.
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::navigationGestureDidBegin): Added WK_API_ENABLED conditional.
(WebKit::PageClientImpl::navigationGestureWillEnd): Ditto.
(WebKit::PageClientImpl::navigationGestureDidEnd): Ditto.
- 6:09 PM Changeset in webkit [171040] by
-
- 3 edits in trunk/Source/WebKit2
REGRESSION(r171034) [GTK] Build broken.
https://bugs.webkit.org/show_bug.cgi?id=134861
Unreviewed GTK build fix.
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::navigationGestureDidBegin):
(WebKit::PageClientImpl::navigationGestureWillEnd):
(WebKit::PageClientImpl::navigationGestureDidEnd):
- UIProcess/API/gtk/PageClientImpl.h:
- 5:54 PM Changeset in webkit [171039] by
-
- 2 edits in trunk/Tools
Remove excessive nesting from _EnumState.process_clean_line at cpp style checker
https://bugs.webkit.org/show_bug.cgi?id=125317
Patch by Daker Fernandes Pinheiro <daker.pinheiro@openbossa.org> on 2014-07-12
Reviewed by Darin Adler.
- Scripts/webkitpy/style/checkers/cpp.py:
(_EnumState.process_clean_line):
- 5:31 PM Changeset in webkit [171038] by
-
- 3 edits in trunk/Tools
Style Checker should prevent enums in bitfields
https://bugs.webkit.org/show_bug.cgi?id=57352
Reviewed by Darin Adler.
Added check that enums are not used as types for bitfields
and a unit test.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_language):
(CppChecker):
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest):
(CppStyleTest.test_enum_bitfields):
(CppStyleTest.test_plain_integral_bitfields):
- 5:19 PM Changeset in webkit [171037] by
-
- 2 edits in trunk/Source/WebCore
Use braced-init-list to create one-item Vector object in insertPerformanceEntry
https://bugs.webkit.org/show_bug.cgi?id=133675
Patch by Zan Dobersek <zdobersek@igalia.com> on 2014-07-12
Reviewed by Darin Adler.
- page/PerformanceUserTiming.cpp:
(WebCore::insertPerformanceEntry): Avoid wasting three lines for creating a
Vector object with just one item that in the end gets copied. Use the
braced-init-list syntax instead, leveraging Vector's std::initializer_list
constructor.
- 5:10 PM Changeset in webkit [171036] by
-
- 2 edits in trunk/Source/WebCore
Memory leaks with autoLoadImages off
https://bugs.webkit.org/show_bug.cgi?id=124411
Reviewed by Darin Adler.
Do not emit notifyFinished for images with deferred load,
and allow deferred loads to be cancelled.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::checkNotify):
(WebCore::CachedResource::cancelLoad):
- 4:39 PM Changeset in webkit [171035] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION(r171024) [GTK] Build broken.
https://bugs.webkit.org/show_bug.cgi?id=134859
Unreviewed GTK build fix.
- UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformMediaCacheDirectory):
- 4:32 PM Changeset in webkit [171034] by
-
- 15 edits in trunk/Source/WebKit2
<rdar://problem/16020380> [Cocoa] Inform the client when back-forward navigation gestures begin and end
https://bugs.webkit.org/show_bug.cgi?id=134853
Reviewed by Sam Weinig.
- UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Declared new WKNavigationDelegate
methods.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _isShowingNavigationGestureSnapshot]): Added this getter.
- UIProcess/API/Cocoa/WKWebViewPrivate.h: Declared new property
_isShowingNavigationGestureSnapshot.
- UIProcess/Cocoa/NavigationState.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate): Initialize new flags in
m_navigationDelegateMethods.
(WebKit::NavigationState::navigationGestureDidBegin): Added. Calls the new
WKNavigationDelegate method.
(WebKit::NavigationState::navigationGestureWillEnd): Ditto.
(WebKit::NavigationState::navigationGestureDidEnd): Ditto.
- UIProcess/PageClient.h: Declared new client functions.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Initialize new member variable.
(WebKit::WebPageProxy::navigationGestureDidBegin): Set m_isShowingNavigationGestureSnapshot
and call the new client function.
(WebKit::WebPageProxy::navigationGestureWillEnd): Call the new client function.
(WebKit::WebPageProxy::navigationGestureDidEnd): Ditto.
(WebKit::WebPageProxy::navigationGestureSnapshotWasRemoved): Clear
m_isShowingNavigationGestureSnapshot.
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::isShowingNavigationGestureSnapshot): Added this getter.
- UIProcess/ios/PageClientImplIOS.h: Declared overrides of new client functions.
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::navigationGestureDidBegin): Override that calls the new
NavigationState function.
(WebKit::PageClientImpl::navigationGestureWillEnd): Ditto.
(WebKit::PageClientImpl::navigationGestureDidEnd): Ditto.
- UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture): Added calls to
WebPageProxy::navigationGestureDidBegin and WebPageProxy::navigationGestureWillEnd.
(WebKit::ViewGestureController::endSwipeGesture): Added calls to
WebPageProxy::navigationGestureDidEnd.
(WebKit::ViewGestureController::removeSwipeSnapshot): Added call to
WebPageProxy::navigationGestureSnapshotWasRemoved.
- UIProcess/mac/PageClientImpl.h: Declared overrides of new client functions.
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::navigationGestureDidBegin): Override that calls the new
NavigationState function.
(WebKit::PageClientImpl::navigationGestureWillEnd): Ditto.
(WebKit::PageClientImpl::navigationGestureDidEnd): Ditto.
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture): Added call to
WebPageProxy::navigationGestureDidBegin.
(WebKit::ViewGestureController::endSwipeGesture): Added calls to
WebPageProxy::navigationGestureDidEnd.
(WebKit::ViewGestureController::removeSwipeSnapshot): Added call to
WebPageProxy::navigationGestureSnapshotWasRemoved.
- 3:39 PM Changeset in webkit [171033] by
-
- 22 edits in trunk
[MSE] http/tests/media/media-source/mediasource-duration.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=134852
Reviewed by Eric Carlson.
Source/WebCore:
Fixes the following tests:
http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate.html
http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate.html
http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate.html
http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html
http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html
http/tests/media/media-source/mediasource-duration.html
http/tests/media/media-source/mediasource-play.html
The primary change necessary to fix the mediasource-duration.html test was to add support
for delaying the completion of a seek operation until the HTMLMediaElement's readyState
rises to > HAVE_CURRENT_DATA. This is accomplished by modifying MediaSourcePrivate to have
waitForSeekCompleted() and seekCompleted() virtual methods. These are called by MediaSource
when a seek operation results in the current time moving outside the currently buffered time
ranges, and when an append operation results in the readyState changing, respectively.
A number of other drive-by fixes were necessary to get this test fully passing, as noted
below.
Make the MediaSource the primary owner of the media's duration, rather than the MediaSourcePrivate.
Move the MediaSourcePrivateClient pointer to the MediaSourcePrivate from the MediaPlayerPrivate, so
the MediaSource's duration can be retrieved. While we're at it, do the same thing for buffered.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::MediaSource): Initialize m_duration.
(WebCore::MediaSource::duration): Simple accessor.
(WebCore::MediaSource::setDurationInternal): Bring 'duration change algorithm' up to spec.
(WebCore::MediaSource::setReadyState): Reset m_duration on close.
- Modules/mediasource/MediaSource.h:
- platform/graphics/MediaSourcePrivate.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load): Do not call setPrivateAndOpen().
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble): Pass through to MediaSourcePrivateAVFObjC.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered): Ditto.
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::create): Call setPrivateAndOpen().
(WebCore::MediaSourcePrivateAVFObjC::MediaSourcePrivateAVFObjC): Set m_client.
(WebCore::MediaSourcePrivateAVFObjC::duration): Pass through to MediaSourcePrivateClient.
(WebCore::MediaSourcePrivateAVFObjC::buffered): Ditto.
(WebCore::MediaSourcePrivateAVFObjC::durationChanged): Pass through to MediaPlayerPrivateMediaSourceAVFObjC.
(WebCore::MediaSourcePrivateAVFObjC::setDuration): Deleted.
- platform/graphics/gstreamer/MediaSourceGStreamer.cpp:
(WebCore::MediaSourceGStreamer::open): Pass in MediaSourcePrivateClient.
(WebCore::MediaSourceGStreamer::MediaSourceGStreamer): Initialize m_mediaSource.
(WebCore::MediaSourceGStreamer::durationChanged): Retrieve the duration from MediaSourcePrivateClient.
(WebCore::MediaSourceGStreamer::markEndOfStream): Remove unnecssary ASSERT.
(WebCore::MediaSourceGStreamer::unmarkEndOfStream): Ditto.
(WebCore::MediaSourceGStreamer::setDuration): Deleted.
- platform/graphics/gstreamer/MediaSourceGStreamer.h:
- platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::MockMediaPlayerMediaSource::load): Do not call setPrivateAndOpen().
(WebCore::MockMediaPlayerMediaSource::buffered): Pass through to MockMediaSourcePrivate.
(WebCore::MockMediaPlayerMediaSource::durationDouble): Ditto.
(WebCore::MockMediaPlayerMediaSource::advanceCurrentTime): Ditto.
- platform/mock/mediasource/MockMediaSourcePrivate.cpp:
(WebCore::MockMediaSourcePrivate::create): Call setPrivateAndOpen().
(WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate): Set m_client.
(WebCore::MockMediaSourcePrivate::duration): Pass through to MediaSourcePrivateClient.
(WebCore::MockMediaSourcePrivate::buffered): Ditto.
(WebCore::MockMediaSourcePrivate::durationChanged): Pass thorugh to MockMediaPlayerMediaSource.
(WebCore::MockMediaSourcePrivate::setDuration): Deleted.
Route seekToTime through MediaSource, rather than through MediaSourcePrivate, so that
the time can be compared against the buffered ranges, and trigger the delay of the seek
operation if necessary. Add a seekTimer to MediaPlayerPrivateMediaSourceAVFObjC, as this
guarantees the order of asynchronous operations, rather than callOnMainThread, which can
cause async operations to occur out of order.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::seekToTime): Bring up to spec.
(WebCore::MediaSource::completeSeek): Ditto.
(WebCore::MediaSource::monitorSourceBuffers): Call completeSeek() when appropriate.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateSeekToTime): Deleted.
(WebCore::SourceBuffer::seekToTime): Renamed from sourceBufferPrivateSeekToTime().
- platform/graphics/MediaSourcePrivate.h:
- platform/graphics/MediaSourcePrivateClient.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC): Add seekTimer. Only
call timeChanged() if no longer seeking, thereby triggering a 'seeked' event.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC): Clear m_seekTimer.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance): Use m_seekTimer.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekTimerFired): Call seekInternal.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal): Add logging.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::waitForSeekCompleted): Added.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekCompleted): Added; trigger 'seeked'.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setReadyState): No longer attempt to finish seek when
readyState changes here; this has been moved up to MediaSource.cpp.
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::waitForSeekCompleted): Pass through to MediaPlayerPrivateMediaSourceAVFObjC.
(WebCore::MediaSourcePrivateAVFObjC::seekCompleted): Ditto.
(WebCore::MediaSourcePrivateAVFObjC::seekToTime): Pass through to MediaSourcePrivateClient.
(WebCore::MediaSourcePrivateAVFObjC::fastSeekTimeForMediaTime): Ditto.
- platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::MockMediaPlayerMediaSource::MockMediaPlayerMediaSource): Initialize m_seekCompleted.
(WebCore::MockMediaPlayerMediaSource::seeking): Check for an uncompleted seek operation.
(WebCore::MockMediaPlayerMediaSource::seekWithTolerance): Ditto.
(WebCore::MockMediaPlayerMediaSource::waitForSeekCompleted): Added.
(WebCore::MockMediaPlayerMediaSource::seekCompleted): Added; trigger 'seeked'.
- platform/mock/mediasource/MockMediaPlayerMediaSource.h:
- platform/mock/mediasource/MockMediaSourcePrivate.cpp:
(WebCore::MockMediaSourcePrivate::waitForSeekCompleted): Pass through to MockMediaPlayerMediaSource.
(WebCore::MockMediaSourcePrivate::seekCompleted): Ditto.
- platform/mock/mediasource/MockMediaSourcePrivate.h:
Drive-by fixes.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::streamEndedWithError): Re-order the steps in streamEndedWithError()
to avoid the MediaSource being closed and re-opened by the resulting duration change
operation.
- Modules/mediasource/MediaSource.h:
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::remove): Added logging.
(WebCore::SourceBuffer::removeCodedFrames): Ditto.
(WebCore::SourceBuffer::hasFutureTime): Swap an ASSERT for an early-return; it's possible
for currentTime() to be outside of a buffered area.
- Modules/mediasource/SourceBuffer.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute): Do not issue an additional 'timeupdate' event
after finishSeek() issues one of its own.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::globalDataParserQueue): Allow parsing operations to happen concurrently on
background queues.
LayoutTests:
Eliminate flakiness in the mediasource-duration.html test by not playing
the media while testing seeking and duration.
- http/tests/media/media-source/mediasource-duration.html:
Update testharness.js to the latest W3C version:
- http/tests/w3c/resources/testharness.js:
- 3:14 PM Changeset in webkit [171032] by
-
- 3 edits in trunk/Source/WebCore
[iOS] update control type when playback state changes
https://bugs.webkit.org/show_bug.cgi?id=134856
Reviewed by Dean Jackson.
Check to make sure the correct type of media controls are showing when playback state
changes so we don't end up with the wrong type of controls during playback.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.HandledVideoEvents): Drive-by fix, call handlePlay on 'playing' instead
of 'play' so controls don't hide too early.
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.setPlaying): New, call updateControls to make sure inline
controls are shown when appropriate.
- 2:55 PM Changeset in webkit [171031] by
-
- 2 edits in tags/Safari-538.46.1/Source/WebKit2
Merged r171030.
- 2:49 PM Changeset in webkit [171030] by
-
- 2 edits in trunk/Source/WebKit2
Fix typo in prior patch
https://bugs.webkit.org/show_bug.cgi?id=134858
Reviewed by Sam Weinig.
Fix typo
- UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformDefaultCookieStorageDirectory):
- 2:36 PM Changeset in webkit [171029] by
-
- 2 edits in trunk/Source/WebCore
[iOS Media] Start playback button should indicate when it can't play
https://bugs.webkit.org/show_bug.cgi?id=134851
Post-commit review with Eric Carlson on IRC.
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.updateStatusDisplay): Remove the line that sets the
class on the inline play button.
- 2:17 PM Changeset in webkit [171028] by
-
- 3 edits in trunk/Source/WebCore
[iOS Media] Start playback button should indicate when it can't play
https://bugs.webkit.org/show_bug.cgi?id=134851
Reviewed by Sam Weinig.
If a video element has errors and cannot play, then the start
playback button should use the "broken" icon.
- Modules/mediacontrols/mediaControlsApple.js: Add a new "failed" class.
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.shouldHaveStartPlaybackButton): We need a playback button
even when there is an error.
(ControllerIOS.prototype.handleWirelessPickerButtonTouchStart): Don't offer Airplay
if we're in an error state.
(ControllerIOS.prototype.updateStatusDisplay): Set the "failed" class on
the playback buttons if we are in an error state.
- 1:40 PM Changeset in webkit [171027] by
-
- 10 edits in trunk/Source/WebKit2
[Cocoa] Client is not notified of same-document navigations
https://bugs.webkit.org/show_bug.cgi?id=134855
Reviewed by Sam Weinig.
- UIProcess/API/APILoaderClient.h:
(API::LoaderClient::didSameDocumentNavigationForFrame): Added navigationID parameter.
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient): Ditto.
- UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Added new enum and delegate method.
- UIProcess/Cocoa/NavigationState.h: Declare override of
API::LoaderClient::didSameDocumentNavigationForFrame. Added flag in
m_navigationDelegateMethods struct.
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate): Initialize new m_navigationDelegateMethods
flag.
(WebKit::toWKSameDocumentNavigationType): Added this helper to convert from internal to API
values.
(WebKit::NavigationState::LoaderClient::didSameDocumentNavigationForFrame): Override to call
the delegate method, if implemented.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Added navigationID parameter,
which is forwarded to the client.
- UIProcess/WebPageProxy.h: Added navigationID parameter.
- UIProcess/WebPageProxy.messages.in: Ditto.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage): Send the navigation ID.
(WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage): Ditto.
(WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage): Ditto.
(WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage): Ditto.
- 12:10 PM Changeset in webkit [171026] by
-
- 8 edits in tags/Safari-538.46.1/Source/WebKit2
Merged r171024.
- 12:02 PM Changeset in webkit [171025] by
-
- 2 edits in tags/Safari-538.46.1/Source/WebKit2
Merged r171023.
- 11:33 AM Changeset in webkit [171024] by
-
- 8 edits in trunk/Source/WebKit2
Extend WebContent sandbox to allow some extra access for frameworks
https://bugs.webkit.org/show_bug.cgi?id=134844
Reviewed by Sam Weinig.
Open up the webcontent sandbox a bit so that some external frameworks
can work correctly.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::mediaCacheDirectory):
- UIProcess/WebContext.h:
- UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformMediaCacheDirectory):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 11:32 AM Changeset in webkit [171023] by
-
- 2 edits in trunk/Source/WebKit2
Temporary work around for <rdar://<rdar://problem/17513375>
https://bugs.webkit.org/show_bug.cgi?id=134848
Reviewed by Sam Weinig.
Temporarily work around <rdar://<rdar://problem/17513375> by
dropping the explicit cookie storage if it points out of the
container.
- UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformDefaultCookieStorageDirectory):
- 11:13 AM Changeset in webkit [171022] by
-
- 5 edits in tags/Safari-538.46.1/Source
Versioning.
- 11:07 AM Changeset in webkit [171021] by
-
- 1 copy in tags/Safari-538.46.1
New tag.
Jul 11, 2014:
- 10:08 PM Changeset in webkit [171020] by
-
- 4 edits in trunk/Source/WebCore
Partition the CSS rules based on the most specific filter of the rightmost fragment
https://bugs.webkit.org/show_bug.cgi?id=134828
Reviewed by Andreas Kling.
Previously, RuleSet was partitioning each rule based on the rightmost filter.
While fast, this had the side effect of putting many selectors with ID match in the class
bucket (because the selectors are generally written starting with the ID).
This patch replace the code of findBestRuleSetAndAdd() by a simple loop going over all
the simple selectors in the rightmost fragment to find the best bucket.
- css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::ruleMatches):
- css/RuleSet.cpp:
(WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
I unified ruleData.hasRightmostSelectorMatchingHTMLBasedOnRuleHash() and hasMultipartSelector().
(WebCore::RuleData::RuleData):
(WebCore::rulesCountForName):
(WebCore::RuleSet::addRule):
I removed the recursive part of findBestRuleSetAndAdd() (which was wrong anyway). The function
was useless so I just moved the algorithm to addRule() directly.
We first loop over all the CSSSelectors related by SubSelector, this correspond to the rightmost fragment.
If a filter with high specificity is found, we add the rule immediately and end there.
If a filter that is not very specific is found, we keep a pointer to the selector to use it later.
(WebCore::RuleSet::findBestRuleSetAndAdd): Deleted.
- css/RuleSet.h:
(WebCore::RuleData::hasMultipartSelector): Deleted.
- 8:54 PM Changeset in webkit [171019] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo] Unreviewed build fix after r170937.
- WebCore.vcxproj/WebCoreGeneratedWinCairo.make:
Update and apply changes applied to WebCoreGenerated.make in r170937.
- 6:49 PM Changeset in webkit [171018] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: Crash when using a stale InspectableNode Node
https://bugs.webkit.org/show_bug.cgi?id=134849
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-07-11
Reviewed by Timothy Hatcher.
- inspector/PageConsoleAgent.cpp:
- 5:53 PM Changeset in webkit [171017] by
-
- 5 edits in trunk/Source/WebCore
[MSE] Separate MediaSource logging into its own log channel
https://bugs.webkit.org/show_bug.cgi?id=134809
Reviewed by Eric Carlson.
Separate out MediaSource logging (which can be quite verbose) into its own log channel,
distinct from the Media log channel. Add some per-sample logging and further sequester that
logging into its own MediaSourceSamples log channel.
Add the MediaSource and MediaSourceSamples channels:
- platform/Logging.h:
Move LOG(Media) -> LOG(MediaSource):
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::MediaSource):
(WebCore::MediaSource::~MediaSource):
(WebCore::MediaSource::setReadyState):
(WebCore::MediaSource::addSourceBuffer):
(WebCore::MediaSource::removeSourceBuffer):
(WebCore::MediaSource::isTypeSupported):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateSeekToTime):
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::sourceBufferPrivateDidBecomeReadyForMoreSamples):
(WebCore::SourceBuffer::provideMediaData):
(WebCore::SourceBuffer::monitorBufferingRate):
(WebCore::SourceBuffer::textTrackAddCues):
(WebCore::SourceBuffer::hasFutureTime):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
(WebCore::SourceBufferPrivateAVFObjC::didFailToParseStreamDataWithError):
(WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):
(WebCore::SourceBufferPrivateAVFObjC::append):
(WebCore::SourceBufferPrivateAVFObjC::layerDidReceiveError):
(WebCore::SourceBufferPrivateAVFObjC::rendererDidReceiveError):
(WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples):
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
- 4:54 PM Changeset in webkit [171016] by
-
- 2 edits in trunk/Source/WebCore
Phone numbers that span two lines are not detected.
<rdar://problem/17601146> and https://bugs.webkit.org/show_bug.cgi?id=134808
Reviewed by Tim Horton.
- editing/Editor.cpp:
(WebCore::Editor::scanSelectionForTelephoneNumbers): After scanning a range from the TextIterator,
create an "edge range" window around the end of the TextIterator range, and scan it.
Also make sure to not accumulate duplicate ranges that might have showed up in both the
TextIterator range and the edge window range.
- 4:24 PM Changeset in webkit [171015] by
-
- 8 edits in trunk/Source
Implement textStylingAtPosition in WK2.
https://bugs.webkit.org/show_bug.cgi?id=134843
<rdar://problem/17614981>
Source/WebCore:
Reviewed by Benjamin Poulain.
Adding some exports and making styleForSelectionStart public.
- WebCore.exp.in:
- editing/Editor.h:
Source/WebKit2:
Reviewed by Benjamin Poulain.
Adding information about typing attributes to EditorState so
that we can implement textStylingAtPosition.
- Shared/EditorState.cpp:
(WebKit::EditorState::encode):
(WebKit::EditorState::decode):
- Shared/EditorState.h:
(WebKit::EditorState::EditorState):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView textStylingAtPosition:inDirection:]):
(-[WKContentView canPerformAction:withSender:]):
(-[WKContentView toggleBoldface:]):
(-[WKContentView toggleItalics:]):
(-[WKContentView toggleUnderline:]):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):
- 3:36 PM Changeset in webkit [171014] by
-
- 9 edits2 adds in trunk
REGRESSION (r168868): eBay 'see all' links fail due to different JS bindings conversion behavior.
https://bugs.webkit.org/show_bug.cgi?id=134841
<rdar://problem/17577563>
Reviewed by Simon Fraser.
Revert back to type int for Element.scroll* APIs in order to preserve exception handling
behavior.
Source/WebCore:
Test: cssom/non-subpixel-scroll-top-left-values.html
- dom/Element.cpp:
(WebCore::Element::scrollLeft):
(WebCore::Element::scrollTop):
(WebCore::Element::setScrollLeft):
(WebCore::Element::setScrollTop):
(WebCore::Element::scrollWidth):
(WebCore::Element::scrollHeight):
- dom/Element.h:
- dom/Element.idl:
- html/HTMLBodyElement.cpp:
(WebCore::adjustForZoom):
(WebCore::HTMLBodyElement::scrollLeft):
(WebCore::HTMLBodyElement::setScrollLeft):
(WebCore::HTMLBodyElement::scrollTop):
(WebCore::HTMLBodyElement::setScrollTop):
(WebCore::HTMLBodyElement::scrollHeight):
(WebCore::HTMLBodyElement::scrollWidth):
- html/HTMLBodyElement.h:
LayoutTests:
- cssom/non-subpixel-scroll-top-left-values-expected.txt: Added.
- cssom/non-subpixel-scroll-top-left-values.html: Added.
- 2:54 PM Changeset in webkit [171013] by
-
- 9 edits in trunk/Source
Web Inspector: Debugger Pause button does not work
https://bugs.webkit.org/show_bug.cgi?id=134785
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- CMakeLists.txt:
- DerivedSources.make:
Minification strips the sourceURL command. Add it back with minification.
Source/WebCore:
- CMakeLists.txt:
- DerivedSources.make:
- inspector/CommandLineAPIModuleSource.js:
Minification strips the sourceURL command. Add it back with minification.
Source/WebInspectorUI:
Previously we were automatically resuming if we had no recognized
call frames in the call stack we get when paused. However, we
were accidentally skipping over anonymous scripts instead of
just Web Inspector originated call frames.
Now that we allow anonymous scripts we can step into anonymous
scripts (e.g. evals, new Function(...)) as expected.
Also, remove the condition of automatically resuming if the
call stack was empty. The UI handles this with "No Call Frames".
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
- 2:10 PM Changeset in webkit [171012] by
-
- 2 edits in trunk/Source/WebCore
Use the bare minimum tile coverage rect when under memory pressure.
<https://webkit.org/b/134837>
When the browser is under critical memory pressure, don't generate any
more tiles than are needed to cover the exposed viewport rect.
Reviewed by Pratik Solanki.
- page/FrameView.cpp:
(WebCore::FrameView::computeCoverageRect):
- 2:04 PM Changeset in webkit [171011] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: CSS Autocompletion: "background" only has colors, should support others
https://bugs.webkit.org/show_bug.cgi?id=134839
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-07-11
Reviewed by Timothy Hatcher.
Update and consolidate the background related CSS properties
and include sub-property completions in the shorthand property.
Also take the opportunity to add or update other properties
(-webkit-alt, -webkit-text-decoration-skip, -webkit-aspect-ratio)
and remove unnecessary newlines / commas in the list.
- UserInterface/Models/CSSKeywordCompletions.js:
- 1:26 PM Changeset in webkit [171010] by
-
- 13 edits2 adds in trunk
[CSS Grid Layout] Implement justify-self css property
https://bugs.webkit.org/show_bug.cgi?id=134419
Reviewed by Dean Jackson.
This change adds the justify-self property from CSS 3 Box Alignment
and implements the parsing.
From Blink r164685 by <jchaffraix@chromium.org>
Source/WebCore:
Test: fast/css/parse-justify-self.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
- css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::CSSParser::parseValue):
(WebCore::isItemPositionKeyword):
(WebCore::CSSParser::parseJustifySelf):
- css/CSSParser.h:
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EJustifySelf):
(WebCore::CSSPrimitiveValue::operator EJustifySelfOverflowAlignment):
- css/CSSPropertyNames.in:
- css/CSSValueKeywords.in:
- css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
- rendering/style/RenderStyle.h:
- rendering/style/RenderStyleConstants.h:
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
- rendering/style/StyleRareNonInheritedData.h:
LayoutTests:
- fast/css/parse-justify-self-expected.txt: Added.
- fast/css/parse-justify-self.html: Added.
- 12:47 PM Changeset in webkit [171009] by
-
- 6 edits in tags/Safari-538.46
Rollout r170675. <rdar://problem/17643689>.
- 12:00 PM Changeset in webkit [171008] by
-
- 2 edits in trunk/Source/WebCore
[Feature Queries] Feature Query CSS Grammar Productions Should Return a Value
https://bugs.webkit.org/show_bug.cgi?id=134810
Reviewed by Antti Koivisto.
The parsing return values are used to determine if a feature query is valid. Two
grammar productions have been updated to correctly return a value.
Tests exist for this feature but will not be run until the feature is turned on.
See https://bugs.webkit.org/show_bug.cgi?id=134404.
- css/CSSGrammar.y.in: Adding return values for two valid feature query productions.
- 11:56 AM Changeset in webkit [171007] by
-
- 2 edits in tags/Safari-538.46/Source/WebKit2
Merged r171003. <rdar://problem/17642184>
- 11:54 AM Changeset in webkit [171006] by
-
- 10 edits in tags/Safari-538.46
Merged r171001. <rdar://problem/17435776>
- 11:53 AM Changeset in webkit [171005] by
-
- 7 edits in trunk/Source
[Win] Enable DFG JIT.
https://bugs.webkit.org/show_bug.cgi?id=123615
Patch by peavo@outlook.com <peavo@outlook.com> on 2014-07-11
Reviewed by Mark Lam.
Source/JavaScriptCore:
When the return type of a JIT generated function call is larger than 64-bit (e.g. SlowPathReturnType),
the normal call() implementation cannot be used on 64-bit Windows, because the 64-bit Windows ABI is different in this case.
Also, when generating calls with double arguments, we need to make sure the arguments are put in the correct registers,
since the register allocation differs on 64-bit Windows.
- assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::callWithSlowPathReturnType): Added method to handle function calls where the return value type size is larger than 64-bit.
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState): Move arguments to correct registers when there are floating point arguments.
(JSC::CCallHelpers::setupArgumentsWithExecStateForCallWithSlowPathReturnType): Added method.
- jit/JIT.h:
(JSC::JIT::appendCallWithSlowPathReturnType): Added method.
- jit/JITInlines.h:
(JSC::JIT::appendCallWithExceptionCheckAndSlowPathReturnType): Added method.
(JSC::JIT::callOperation): Call new method.
Source/WTF:
- wtf/Platform.h:
- 10:32 AM Changeset in webkit [171004] by
-
- 11 edits in trunk
Use a separate backdrop element to allow cues to have highlight and background color
https://bugs.webkit.org/show_bug.cgi?id=134821
<rdar://problem/15999721>
Reviewed by Eric Carlson.
Source/WebCore:
Add a new <div> element wrapping the existing cue <span>. This allows
us to have a highlight on the cue (in the <span> background), as well
as an overall background color.
- Modules/mediacontrols/mediaControlsApple.css:
(video::-webkit-media-text-track-display-backdrop): New markup for
the backdrop element of the caption.
- html/track/VTTCue.cpp:
(WebCore::VTTCue::cueBackdropShadowPseudoId): Added to
allow user customization of the cue backdrop.
(WebCore::VTTCue::initialize): Rename the old "m_cueBackgroundBox" to
"m_cueHighlightBox" and add a new "m_cueBackdropBox" member.
(WebCore::VTTCue::updateDisplayTree): Update for m_cueHighlightBox.
(WebCore::VTTCue::getDisplayTree): Make m_cueHighlightBox a child
of the new m_cueBackdropBox element, and add m_cueBackdropBox to
the display tree.
- html/track/VTTCue.h:
(WebCore::VTTCue::element):
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
Fix for missing caption style updates. Even if we are already
listening for caption changes, we still want to update the new
instance's style sheet to match.
(WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride):
- rendering/RenderVTTCue.cpp:
(WebCore::RenderVTTCue::initializeLayoutParameters): Take the new
<div> into consideration when looking for the Cue text element.
LayoutTests:
Updated tests for new formatting logic.
- platform/mac/media/track/track-cue-rendering-horizontal-expected.png:
- platform/mac/media/track/track-cue-rendering-horizontal-expected.txt:
- 10:15 AM Changeset in webkit [171003] by
-
- 2 edits in trunk/Source/WebKit2
Tighten WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=134834
Reviewed by Sam Weinig.
Define a much tighter sandbox profile for the WebContent process
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 9:29 AM Changeset in webkit [171002] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r170163?): Web content shifts revealing space equivalent to the find bar when clicking a link while a phrase is targeted via Cmd+F
https://bugs.webkit.org/show_bug.cgi?id=134833
<rdar://problem/17580021>
Reviewed by Zalan Bujtas.
Some versions of OS X Safari can't handle the new unfreeze timing. Revert back to DidFirstLayout on Mac.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidLayout):
- 8:27 AM Changeset in webkit [171001] by
-
- 10 edits in trunk
Subpixel layout: return integral results for offset*, client*, scroll* by default.
https://bugs.webkit.org/show_bug.cgi?id=134651
Reviewed by Simon Fraser.
Revert to returning integral values for Element.offset* client* scroll* by default.
Fractional values break number of sites(tight design) and JS frameworks(fail to handle fractional values).
Since snapped dimension depends on both the original point and the width/height of the box,
we need to call RenderBoxModelObject::pixelSnapped*() helpers, instead of round().
Covered by existing tests
Source/WebCore:
- dom/Element.cpp:
(WebCore::subpixelMetricsEnabled):
(WebCore::convertToNonSubpixelValueIfNeeded):
(WebCore::Element::offsetLeft):
(WebCore::Element::offsetTop):
(WebCore::Element::offsetWidth):
(WebCore::Element::offsetHeight):
(WebCore::Element::clientLeft):
(WebCore::Element::clientTop):
(WebCore::Element::clientWidth):
(WebCore::Element::clientHeight):
- page/Settings.in:
Source/WebKit/mac:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
Source/WebKit2:
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/C/WKPreferencesRefPrivate.h:
LayoutTests:
- cssom/subpixel-offsetleft-top-width-height-values-expected.txt:
- 7:19 AM Changeset in webkit [171000] by
-
- 4 edits2 adds in trunk
Subpixel rendering: icloud.com password arrow has clipped circle at some window sizes.
https://bugs.webkit.org/show_bug.cgi?id=134824
<rdar://problem/17612729>
Reviewed by Simon Fraser.
Transparent layer clipping needs device pixel offset adjusting.
Source/WebCore:
Test: fast/layers/wrong-clipping-semi-transparent-compositing-layer-on-subpixel-position.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
- rendering/RenderLayer.h:
LayoutTests:
- fast/layers/wrong-clipping-semi-transparent-compositing-layer-on-subpixel-position-expected.html: Added.
- fast/layers/wrong-clipping-semi-transparent-compositing-layer-on-subpixel-position.html: Added.
- 5:26 AM Changeset in webkit [170999] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, rolling out r170995.
https://bugs.webkit.org/show_bug.cgi?id=134831
Causing odd crashes in debug builds (Requested by zdobersek on
#webkit).
Reverted changeset:
"[WTF] Add the move constructor, move assignment operator for
HashTable"
https://bugs.webkit.org/show_bug.cgi?id=130772
http://trac.webkit.org/changeset/170995
- 5:15 AM Changeset in webkit [170998] by
-
- 1 edit1 delete in trunk/Source/WebCore
Unreviewed. Remove unused file.
- html/shadow/MediaControlsGtk.h: Removed.
- 5:12 AM Changeset in webkit [170997] by
-
- 2 edits in trunk
[GTK] Enable VIDEO_TRACK by default
https://bugs.webkit.org/show_bug.cgi?id=134801
Reviewed by Philippe Normand.
- Source/cmake/OptionsGTK.cmake:
- 3:42 AM Changeset in webkit [170996] by
-
- 33 edits in trunk
[CSS Grid Layout] Update grid-auto-flow to the new syntax
https://bugs.webkit.org/show_bug.cgi?id=134057
Reviewed by Sergio Villar Senin.
Source/WebCore:
In last versions of the spec grid-auto-flow syntax has changed. New
syntax is:
[ row | column ] && dense? | stack && [ row | column ]?
Implemented parsing for new syntax and added/modified test cases in
current layout tests.
For the moment, the implementation keeps working in the same way, but
using "stack" value for grid-auto-flow property instead of "none". This
should be fixed in a follow-up patch once "stack" is properly
implemented.
Also "dense" needs to be reviewed. Right now auto-placement algorithm is
always "dense" and never "sparse".
No new tests, update current tests to add new cases.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue): Adapt to new syntax.
- css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue): Removed grid-auto-flow as it
is not a keyword anymore.
(WebCore::isKeywordPropertyID): Ditto.
(WebCore::CSSParser::parseValue): Add specific method for parsing
grid-auto-flow.
(WebCore::CSSParser::parseGridShorthand): Adapt parsing for
grid-auto-flow property inside the shorthand.
(WebCore::isValidGridAutoFlowId): Helper method to check if the CSSValue
id is a valid keyword for grid-auto-flow property.
(WebCore::CSSParser::parseGridAutoFlow): Implement new parsing for
grid-auto-flow.
- css/CSSParser.h: Method header for grid-auto-flow parsing.
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator GridAutoFlow): Deleted.
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Deleted.
- css/CSSValueKeywords.in: Add new keywords required by grid-auto-flow:
"dense" and "stack".
- css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Remove
default handler as grid-auto-flow is not a keyword now.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty): Implement particular handler
for new grid-auto-flow syntax.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::placeItemsOnGrid): Keep old "none" behavior as
"stack" behavior for the moment.
(WebCore::RenderGrid::autoPlacementMajorAxisDirection): Use the new
helper methods in RenderStyle.
(WebCore::RenderGrid::autoPlacementMinorAxisDirection): Ditto.
- rendering/style/GridResolvedPosition.cpp:
(WebCore::GridResolvedPosition::resolveGridPositionsFromStyle): Again
keep old "none" behavior for "stack".
- rendering/style/RenderStyle.h: Add new helper methods to know the
direction and algorithm of grid-auto-flow property.
- rendering/style/RenderStyleConstants.h: Redefine GridAutoFlow enum
using flags for algorithm and direction.
- rendering/style/StyleGridData.h: Change m_gridAutoFlow type to
unsigned.
LayoutTests:
Adapted current tests to the new syntax. Keeping old "none" behavior
using "stack".
Add new use cases to cover the new syntax to grid-auto-flow-get-set.html
and grid-shorthand-get-set.html.
- fast/css-grid-layout/grid-auto-flow-get-set-expected.txt:
- fast/css-grid-layout/grid-auto-flow-get-set.html:
- fast/css-grid-layout/grid-auto-flow-resolution.html:
- fast/css-grid-layout/grid-auto-flow-update-expected.txt:
- fast/css-grid-layout/grid-auto-flow-update.html:
- fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
- fast/css-grid-layout/grid-item-z-index-change-repaint.html:
- fast/css-grid-layout/grid-item-z-index-stacking-context.html:
- fast/css-grid-layout/grid-shorthand-get-set-expected.txt:
- fast/css-grid-layout/grid-shorthand-get-set.html:
- fast/css-grid-layout/named-grid-lines-with-named-grid-areas-dynamic-get-set.html:
- fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:
- fast/css-grid-layout/resources/grid.css:
(.gridAutoFlowStack):
(.gridAutoFlowNone): Deleted.
- fast/css/getComputedStyle/computed-style-expected.txt:
- fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- ietestcenter/css3/grid/grid-column-001.htm:
- ietestcenter/css3/grid/grid-column-002.htm:
- ietestcenter/css3/grid/grid-column-003.htm:
- svg/css/getComputedStyle-basic-expected.txt:
- 1:16 AM Changeset in webkit [170995] by
-
- 2 edits in trunk/Source/WTF
[WTF] Add the move constructor, move assignment operator for HashTable
https://bugs.webkit.org/show_bug.cgi?id=130772
Reviewed by Darin Adler.
HashTable has both copy constructor and copy assignment operator, meaning that the move constructor
and move assignment operator are implicitly deleted. This patch defines both to avoid unnecessary
copies when moves can be performed.
- wtf/HashTable.h:
(WTF::KeyTraits>::HashTable):