[webkit-changes] [170471] trunk/Source/WebKit2
Title: [170471] trunk/Source/WebKit2 Revision 170471 Author roger_f...@apple.com Date 2014-06-25 23:45:17 -0700 (Wed, 25 Jun 2014) Log Message Don't allow sudden termination while writing to local storage. https://bugs.webkit.org/show_bug.cgi?id=134254. . Reviewed by Darin Adler. * UIProcess/Storage/LocalStorageDatabase.cpp: (WebKit::LocalStorageDatabase::scheduleDatabaseUpdate): Disable sudden termination when a database update is scheduled. (WebKit::LocalStorageDatabase::updateDatabase): Re-enable sudden termination when the update completes. * UIProcess/Storage/LocalStorageDatabase.h: Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabase.cpp trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabase.h Diff Modified: trunk/Source/WebKit2/ChangeLog (170470 => 170471) --- trunk/Source/WebKit2/ChangeLog 2014-06-26 06:41:34 UTC (rev 170470) +++ trunk/Source/WebKit2/ChangeLog 2014-06-26 06:45:17 UTC (rev 170471) @@ -1,3 +1,18 @@ +2014-06-24 Roger Fong + +Don't allow sudden termination while writing to local storage. +https://bugs.webkit.org/show_bug.cgi?id=134254. +. + +Reviewed by Darin Adler. + +* UIProcess/Storage/LocalStorageDatabase.cpp: +(WebKit::LocalStorageDatabase::scheduleDatabaseUpdate): +Disable sudden termination when a database update is scheduled. +(WebKit::LocalStorageDatabase::updateDatabase): +Re-enable sudden termination when the update completes. +* UIProcess/Storage/LocalStorageDatabase.h: + 2014-06-25 Benjamin Poulain [iOS][WK2] Update the long press interactions correctly when an overflow scroll view scrolls Modified: trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabase.cpp (170470 => 170471) --- trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabase.cpp 2014-06-26 06:41:34 UTC (rev 170470) +++ trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabase.cpp 2014-06-26 06:45:17 UTC (rev 170471) @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -240,6 +241,9 @@ if (m_didScheduleDatabaseUpdate) return; +if (!m_disableSuddenTerminationWhileWritingToLocalStorage) +m_disableSuddenTerminationWhileWritingToLocalStorage = std::make_unique(); + m_didScheduleDatabaseUpdate = true; RefPtr localStorageDatabase(this); @@ -260,6 +264,8 @@ if (m_changedItems.size() <= maximumItemsToUpdate) { // There are few enough changed items that we can just always write all of them. m_changedItems.swap(changedItems); +updateDatabaseWithChangedItems(changedItems); +m_disableSuddenTerminationWhileWritingToLocalStorage = nullptr; } else { for (int i = 0; i < maximumItemsToUpdate; ++i) { auto it = m_changedItems.begin(); @@ -272,9 +278,8 @@ // Reschedule the update for the remaining items. scheduleDatabaseUpdate(); +updateDatabaseWithChangedItems(changedItems); } - -updateDatabaseWithChangedItems(changedItems); } void LocalStorageDatabase::updateDatabaseWithChangedItems(const HashMap& changedItems) Modified: trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabase.h (170470 => 170471) --- trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabase.h 2014-06-26 06:41:34 UTC (rev 170470) +++ trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabase.h 2014-06-26 06:45:17 UTC (rev 170471) @@ -37,6 +37,7 @@ namespace WebCore { class SecurityOrigin; class StorageMap; +class SuddenTerminationDisabler; } namespace WebKit { @@ -91,6 +92,8 @@ bool m_didScheduleDatabaseUpdate; bool m_shouldClearItems; HashMap m_changedItems; + +std::unique_ptr m_disableSuddenTerminationWhileWritingToLocalStorage; }; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170469] trunk/Source/WebCore
Title: [170469] trunk/Source/WebCore Revision 170469 Author d...@apple.com Date 2014-06-25 23:35:24 -0700 (Wed, 25 Jun 2014) Log Message HIDGamepad should use CFIndex when looping https://bugs.webkit.org/show_bug.cgi?id=134337 Reviewed by Dan Bernstein. * platform/mac/HIDGamepad.cpp: (WebCore::HIDGamepad::initElementsFromArray): Replace int with CFIndex, and use a local variable for CFArrayCount. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mac/HIDGamepad.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (170468 => 170469) --- trunk/Source/WebCore/ChangeLog 2014-06-26 05:28:14 UTC (rev 170468) +++ trunk/Source/WebCore/ChangeLog 2014-06-26 06:35:24 UTC (rev 170469) @@ -1,3 +1,14 @@ +2014-06-25 Dean Jackson + +HIDGamepad should use CFIndex when looping +https://bugs.webkit.org/show_bug.cgi?id=134337 + +Reviewed by Dan Bernstein. + +* platform/mac/HIDGamepad.cpp: +(WebCore::HIDGamepad::initElementsFromArray): Replace int with CFIndex, and use +a local variable for CFArrayCount. + 2014-06-25 Ryosuke Niwa Build fix attempt after r170465. Modified: trunk/Source/WebCore/platform/mac/HIDGamepad.cpp (170468 => 170469) --- trunk/Source/WebCore/platform/mac/HIDGamepad.cpp 2014-06-26 05:28:14 UTC (rev 170468) +++ trunk/Source/WebCore/platform/mac/HIDGamepad.cpp 2014-06-26 06:35:24 UTC (rev 170469) @@ -75,7 +75,7 @@ void HIDGamepad::initElementsFromArray(CFArrayRef elements) { -for (int i = 0; i < CFArrayGetCount(elements); ++i) { +for (CFIndex i = 0, count = CFArrayGetCount(elements); i < count; ++i) { IOHIDElementRef element = (IOHIDElementRef)CFArrayGetValueAtIndex(elements, i); if (CFGetTypeID(element) != IOHIDElementGetTypeID()) continue; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170468] trunk/Source/WebCore
Title: [170468] trunk/Source/WebCore Revision 170468 Author rn...@webkit.org Date 2014-06-25 22:28:14 -0700 (Wed, 25 Jun 2014) Log Message Build fix attempt after r170465. * platform/mac/HIDGamepad.cpp: (WebCore::HIDGamepad::initElementsFromArray): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mac/HIDGamepad.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (170467 => 170468) --- trunk/Source/WebCore/ChangeLog 2014-06-26 05:25:32 UTC (rev 170467) +++ trunk/Source/WebCore/ChangeLog 2014-06-26 05:28:14 UTC (rev 170468) @@ -1,3 +1,10 @@ +2014-06-25 Ryosuke Niwa + +Build fix attempt after r170465. + +* platform/mac/HIDGamepad.cpp: +(WebCore::HIDGamepad::initElementsFromArray): + 2014-06-25 Dean Jackson [Mac] Radio buttons and checkboxes vanish when redrawn Modified: trunk/Source/WebCore/platform/mac/HIDGamepad.cpp (170467 => 170468) --- trunk/Source/WebCore/platform/mac/HIDGamepad.cpp 2014-06-26 05:25:32 UTC (rev 170467) +++ trunk/Source/WebCore/platform/mac/HIDGamepad.cpp 2014-06-26 05:28:14 UTC (rev 170468) @@ -75,7 +75,7 @@ void HIDGamepad::initElementsFromArray(CFArrayRef elements) { -for (unsigned i = 0; i < CFArrayGetCount(elements); ++i) { +for (int i = 0; i < CFArrayGetCount(elements); ++i) { IOHIDElementRef element = (IOHIDElementRef)CFArrayGetValueAtIndex(elements, i); if (CFGetTypeID(element) != IOHIDElementGetTypeID()) continue; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170467] trunk/Source/WebCore
Title: [170467] trunk/Source/WebCore Revision 170467 Author d...@apple.com Date 2014-06-25 22:25:32 -0700 (Wed, 25 Jun 2014) Log Message [Mac] Radio buttons and checkboxes vanish when redrawn https://bugs.webkit.org/show_bug.cgi?id=134335 Reviewed by Dan Bernstein. I screwed up when landing r170343 by moving some code around which broke the logic. We need to query the animation state for controls after we draw (both statically and animated). * platform/mac/ThemeMac.mm: (WebCore::paintToggleButton): We need to check the state of animation again, after we draw. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mac/ThemeMac.mm Diff Modified: trunk/Source/WebCore/ChangeLog (170466 => 170467) --- trunk/Source/WebCore/ChangeLog 2014-06-26 05:00:13 UTC (rev 170466) +++ trunk/Source/WebCore/ChangeLog 2014-06-26 05:25:32 UTC (rev 170467) @@ -1,3 +1,18 @@ +2014-06-25 Dean Jackson + +[Mac] Radio buttons and checkboxes vanish when redrawn +https://bugs.webkit.org/show_bug.cgi?id=134335 + +Reviewed by Dan Bernstein. + +I screwed up when landing r170343 by moving some code around +which broke the logic. We need to query the animation +state for controls after we draw (both statically and animated). + +* platform/mac/ThemeMac.mm: +(WebCore::paintToggleButton): We need to check the state of animation again, after +we draw. + 2014-06-25 Brady Eidson Add HID-based gamepad implementation for Mac Modified: trunk/Source/WebCore/platform/mac/ThemeMac.mm (170466 => 170467) --- trunk/Source/WebCore/platform/mac/ThemeMac.mm 2014-06-26 05:00:13 UTC (rev 170466) +++ trunk/Source/WebCore/platform/mac/ThemeMac.mm 2014-06-26 05:25:32 UTC (rev 170467) @@ -449,7 +449,9 @@ needsRepaint = drawCellFocusRing(toggleButtonCell, inflatedRect, view); [toggleButtonCell setControlView:nil]; -needsRepaint |= isAnimating; +#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 10100 +needsRepaint |= [toggleButtonCell _stateAnimationRunning]; +#endif controlStates->setNeedsRepaint(needsRepaint); if (needsRepaint) controlStates->setPlatformControl(toggleButtonCell); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170466] trunk/Source/WebKit2
Title: [170466] trunk/Source/WebKit2 Revision 170466 Author benja...@webkit.org Date 2014-06-25 22:00:13 -0700 (Wed, 25 Jun 2014) Log Message [iOS][WK2] Update the long press interactions correctly when an overflow scroll view scrolls https://bugs.webkit.org/show_bug.cgi?id=134334 Patch by Benjamin Poulain on 2014-06-25 Reviewed by Simon Fraser. * UIProcess/PageClient.h: * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll): * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h: * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm: (-[WKOverflowScrollViewDelegate scrollViewWillBeginDragging:]): (WebKit::ScrollingTreeOverflowScrollingNodeIOS::overflowScrollViewWillStartPanGesture): (WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollViewWillStartPanGesture): Deleted. * UIProcess/WebPageProxy.h: * UIProcess/ios/PageClientImplIOS.h: * UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::overflowScrollViewWillStartPanGesture): (WebKit::PageClientImpl::overflowScrollViewDidScroll): (WebKit::PageClientImpl::scrollViewWillStartPanGesture): Deleted. * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm: (WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeWillStartPanGesture): * UIProcess/ios/WKContentViewInteraction.h: * UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::overflowScrollViewWillStartPanGesture): (WebKit::WebPageProxy::overflowScrollViewDidScroll): (WebKit::WebPageProxy::scrollViewWillStartPanGesture): Deleted. Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/PageClient.h trunk/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp trunk/Source/WebKit2/UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h trunk/Source/WebKit2/UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm trunk/Source/WebKit2/UIProcess/WebPageProxy.h trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.h trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm trunk/Source/WebKit2/UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm Diff Modified: trunk/Source/WebKit2/ChangeLog (170465 => 170466) --- trunk/Source/WebKit2/ChangeLog 2014-06-26 04:49:34 UTC (rev 170465) +++ trunk/Source/WebKit2/ChangeLog 2014-06-26 05:00:13 UTC (rev 170466) @@ -1,3 +1,32 @@ +2014-06-25 Benjamin Poulain + +[iOS][WK2] Update the long press interactions correctly when an overflow scroll view scrolls +https://bugs.webkit.org/show_bug.cgi?id=134334 + +Reviewed by Simon Fraser. + +* UIProcess/PageClient.h: +* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: +(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll): +* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h: +* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm: +(-[WKOverflowScrollViewDelegate scrollViewWillBeginDragging:]): +(WebKit::ScrollingTreeOverflowScrollingNodeIOS::overflowScrollViewWillStartPanGesture): +(WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollViewWillStartPanGesture): Deleted. +* UIProcess/WebPageProxy.h: +* UIProcess/ios/PageClientImplIOS.h: +* UIProcess/ios/PageClientImplIOS.mm: +(WebKit::PageClientImpl::overflowScrollViewWillStartPanGesture): +(WebKit::PageClientImpl::overflowScrollViewDidScroll): +(WebKit::PageClientImpl::scrollViewWillStartPanGesture): Deleted. +* UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm: +(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeWillStartPanGesture): +* UIProcess/ios/WKContentViewInteraction.h: +* UIProcess/ios/WebPageProxyIOS.mm: +(WebKit::WebPageProxy::overflowScrollViewWillStartPanGesture): +(WebKit::WebPageProxy::overflowScrollViewDidScroll): +(WebKit::WebPageProxy::scrollViewWillStartPanGesture): Deleted. + 2014-06-25 Simon Fraser [iOS WK2] Page jumps when rubber-banding on azuremagazine.com Modified: trunk/Source/WebKit2/UIProcess/PageClient.h (170465 => 170466) --- trunk/Source/WebKit2/UIProcess/PageClient.h 2014-06-26 04:49:34 UTC (rev 170465) +++ trunk/Source/WebKit2/UIProcess/PageClient.h 2014-06-26 05:00:13 UTC (rev 170466) @@ -271,7 +271,8 @@ virtual void setUsesMinimalUI(bool) = 0; virtual double minimumZoomScale() const = 0; virtual WebCore::FloatSize contentsSize() const = 0; -virtual void scrollViewWillStartPanGesture() = 0; +virtual void overflowScrollViewWillStartPanGesture() = 0; +virtual void overflowScrollViewDidScroll() = 0; virtual void didFinishDrawingPagesToPDF(const IPC::DataReference&) = 0; #if ENABLE(INSPECTOR) Modified: trunk/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingC
[webkit-changes] [170464] trunk/Source/WebCore
Title: [170464] trunk/Source/WebCore Revision 170464 Author rn...@webkit.org Date 2014-06-25 21:44:24 -0700 (Wed, 25 Jun 2014) Log Message WebProgressTracker updates progress too frequently https://bugs.webkit.org/show_bug.cgi?id=134185 Reviewed by Tim Horton. The old code throttled the progress update to when either 100ms has passed or the delta is at least 2% but this was still not enough in pages that loaded in sub-seconds. The new code always throttles it at 200ms. * loader/ProgressTracker.cpp: (WebCore::ProgressTracker::ProgressTracker): (WebCore::ProgressTracker::incrementProgress): * loader/ProgressTracker.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/loader/ProgressTracker.cpp trunk/Source/WebCore/loader/ProgressTracker.h Diff Modified: trunk/Source/WebCore/ChangeLog (170463 => 170464) --- trunk/Source/WebCore/ChangeLog 2014-06-26 04:15:52 UTC (rev 170463) +++ trunk/Source/WebCore/ChangeLog 2014-06-26 04:44:24 UTC (rev 170464) @@ -1,3 +1,18 @@ +2014-06-25 Ryosuke Niwa + +WebProgressTracker updates progress too frequently +https://bugs.webkit.org/show_bug.cgi?id=134185 + +Reviewed by Tim Horton. + +The old code throttled the progress update to when either 100ms has passed or the delta is at least 2% +but this was still not enough in pages that loaded in sub-seconds. The new code always throttles it at 200ms. + +* loader/ProgressTracker.cpp: +(WebCore::ProgressTracker::ProgressTracker): +(WebCore::ProgressTracker::incrementProgress): +* loader/ProgressTracker.h: + 2014-06-25 Simon Fraser [iOS WK2] Fixed position elements jump around when zooming Modified: trunk/Source/WebCore/loader/ProgressTracker.cpp (170463 => 170464) --- trunk/Source/WebCore/loader/ProgressTracker.cpp 2014-06-26 04:15:52 UTC (rev 170463) +++ trunk/Source/WebCore/loader/ProgressTracker.cpp 2014-06-26 04:44:24 UTC (rev 170464) @@ -60,6 +60,8 @@ // How many bytes are required between heartbeats to consider it progress. static const unsigned minumumBytesPerHeartbeatForProgress = 1024; +static const std::chrono::milliseconds progressNotificationTimeInterval = std::chrono::milliseconds(200); + struct ProgressItem { WTF_MAKE_NONCOPYABLE(ProgressItem); WTF_MAKE_FAST_ALLOCATED; public: @@ -80,8 +82,6 @@ , m_totalPageAndResourceBytesToLoad(0) , m_totalBytesReceived(0) , m_lastNotifiedProgressValue(0) -, m_progressNotificationInterval(0.02) -, m_progressNotificationTimeInterval(std::chrono::milliseconds(100)) , m_finalProgressChangedSent(false) , m_progressValue(0) , m_numProgressTrackedFrames(0) @@ -257,10 +257,7 @@ auto notifiedProgressTimeDelta = now - m_lastNotifiedProgressTime; LOG(Progress, "Progress incremented (%p) - value %f, tracked frames %d", this, m_progressValue, m_numProgressTrackedFrames); -double notificationProgressDelta = m_progressValue - m_lastNotifiedProgressValue; -if ((notificationProgressDelta >= m_progressNotificationInterval || - notifiedProgressTimeDelta >= m_progressNotificationTimeInterval) && -m_numProgressTrackedFrames > 0) { +if ((notifiedProgressTimeDelta >= progressNotificationTimeInterval || m_progressValue == 1) && m_numProgressTrackedFrames > 0) { if (!m_finalProgressChangedSent) { if (m_progressValue == 1) m_finalProgressChangedSent = true; Modified: trunk/Source/WebCore/loader/ProgressTracker.h (170463 => 170464) --- trunk/Source/WebCore/loader/ProgressTracker.h 2014-06-26 04:15:52 UTC (rev 170463) +++ trunk/Source/WebCore/loader/ProgressTracker.h 2014-06-26 04:44:24 UTC (rev 170464) @@ -75,8 +75,6 @@ long long m_totalBytesReceived; double m_lastNotifiedProgressValue; std::chrono::steady_clock::time_point m_lastNotifiedProgressTime; -double m_progressNotificationInterval; -std::chrono::milliseconds m_progressNotificationTimeInterval; bool m_finalProgressChangedSent; double m_progressValue; RefPtr m_originatingProgressFrame; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170463] trunk/Source/WebKit2
Title: [170463] trunk/Source/WebKit2 Revision 170463 Author simon.fra...@apple.com Date 2014-06-25 21:15:52 -0700 (Wed, 25 Jun 2014) Log Message [iOS WK2] Page jumps when rubber-banding on azuremagazine.com https://bugs.webkit.org/show_bug.cgi?id=134238 Reviewed by Benjamin Poulain. If the scroll view is in the process of rubber-banding when -setContentSize: is called, it clamps the scroll offsets between zero and the max value, which visibly interrupts the rubberband. This can easily happen now that we continually send scroll events to the page on scrolling, especially when pages like azuremagazine.com do fake sticky by toggling in-flow elements into position:fixed. Fix by computing the amount of rubber-band before calling -setContentSize:, and then restoring the contentOffset with the same amount of rubber-band even when the content size is different, for top/left rubberbands. * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _didCommitLayerTree:WebKit::]): * UIProcess/ios/WKScrollView.h: * UIProcess/ios/WKScrollView.mm: (-[WKScrollView _currentTopLeftRubberbandAmount]): (-[WKScrollView _restoreContentOffsetWithRubberbandAmount:]): (-[WKScrollView _setContentSizePreservingContentOffsetDuringRubberband:]): Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm trunk/Source/WebKit2/UIProcess/ios/WKScrollView.h trunk/Source/WebKit2/UIProcess/ios/WKScrollView.mm Diff Modified: trunk/Source/WebKit2/ChangeLog (170462 => 170463) --- trunk/Source/WebKit2/ChangeLog 2014-06-26 04:15:50 UTC (rev 170462) +++ trunk/Source/WebKit2/ChangeLog 2014-06-26 04:15:52 UTC (rev 170463) @@ -1,5 +1,31 @@ 2014-06-25 Simon Fraser +[iOS WK2] Page jumps when rubber-banding on azuremagazine.com +https://bugs.webkit.org/show_bug.cgi?id=134238 + + +Reviewed by Benjamin Poulain. + +If the scroll view is in the process of rubber-banding when -setContentSize: is called, +it clamps the scroll offsets between zero and the max value, which visibly interrupts the +rubberband. This can easily happen now that we continually send scroll events to the page +on scrolling, especially when pages like azuremagazine.com do fake sticky by toggling +in-flow elements into position:fixed. + +Fix by computing the amount of rubber-band before calling -setContentSize:, and then +restoring the contentOffset with the same amount of rubber-band even when the content size +is different, for top/left rubberbands. + +* UIProcess/API/Cocoa/WKWebView.mm: +(-[WKWebView _didCommitLayerTree:WebKit::]): +* UIProcess/ios/WKScrollView.h: +* UIProcess/ios/WKScrollView.mm: +(-[WKScrollView _currentTopLeftRubberbandAmount]): +(-[WKScrollView _restoreContentOffsetWithRubberbandAmount:]): +(-[WKScrollView _setContentSizePreservingContentOffsetDuringRubberband:]): + +2014-06-25 Simon Fraser + [iOS WK2] Fixed position elements jump around when zooming https://bugs.webkit.org/show_bug.cgi?id=134328 Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (170462 => 170463) --- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2014-06-26 04:15:50 UTC (rev 170462) +++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2014-06-26 04:15:52 UTC (rev 170463) @@ -774,7 +774,9 @@ return; } -[_scrollView setContentSize:roundScrollViewContentSize(*_page, [_contentView frame].size)]; +CGSize newContentSize = roundScrollViewContentSize(*_page, [_contentView frame].size); +[_scrollView _setContentSizePreservingContentOffsetDuringRubberband:newContentSize]; + [_scrollView setMinimumZoomScale:layerTreeTransaction.minimumScaleFactor()]; [_scrollView setMaximumZoomScale:layerTreeTransaction.maximumScaleFactor()]; [_scrollView setZoomEnabled:layerTreeTransaction.allowsUserScaling()]; Modified: trunk/Source/WebKit2/UIProcess/ios/WKScrollView.h (170462 => 170463) --- trunk/Source/WebKit2/UIProcess/ios/WKScrollView.h 2014-06-26 04:15:50 UTC (rev 170462) +++ trunk/Source/WebKit2/UIProcess/ios/WKScrollView.h 2014-06-26 04:15:52 UTC (rev 170463) @@ -33,6 +33,8 @@ @property (nonatomic, assign) WKWebView *internalDelegate; +- (void)_setContentSizePreservingContentOffsetDuringRubberband:(CGSize)contentSize; + @end #endif // PLATFORM(IOS) Modified: trunk/Source/WebKit2/UIProcess/ios/WKScrollView.mm (170462 => 170463) --- trunk/Source/WebKit2/UIProcess/ios/WKScrollView.mm 2014-06-26 04:15:50 UTC (rev 170462) +++ trunk/Source/WebKit2/UIProcess/ios/WKScrollView.mm 2014-06-26 04:15:52 UTC (rev 170463) @@ -198,6 +198,54 @@ [_internalDelegate _updateVisibleContentRects]; } +// Fetch top/left rubberband amounts (as negative values). +- (CGSize)_currentTopLeftRubberbandAmount +{ +UIEdgeInsets edgeInsets = [self contentInset]; + +CGSize rubberbandAmo
[webkit-changes] [170460] trunk/Source/WebKit2
Title: [170460] trunk/Source/WebKit2 Revision 170460 Author benja...@webkit.org Date 2014-06-25 21:15:32 -0700 (Wed, 25 Jun 2014) Log Message REGRESSION (r170325): UI process crashes in lastCommittedLayerTreeTransactionID() when the Web Content process crashes https://bugs.webkit.org/show_bug.cgi?id=134284 Patch by Benjamin Poulain on 2014-06-25 Reviewed by Simon Fraser. The crash was caused by the access to the Drawing Area after the crash. This lead to discovering another bug: m_lastVisibleContentRectUpdate could have been updated after WebPageProxy::resetState(), which in turn would prevent valid updates when a new WebProcess is created. This patch fixes both issues by moving the VisibleContentRectUpdateInfo to be internal to WebPageProxy, then early return if we get there in an invalid state. * UIProcess/WebPageProxy.h: * UIProcess/ios/WKContentView.mm: (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]): * UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::updateVisibleContentRects): Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/WebPageProxy.h trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm Diff Modified: trunk/Source/WebKit2/ChangeLog (170459 => 170460) --- trunk/Source/WebKit2/ChangeLog 2014-06-26 03:59:10 UTC (rev 170459) +++ trunk/Source/WebKit2/ChangeLog 2014-06-26 04:15:32 UTC (rev 170460) @@ -1,3 +1,23 @@ +2014-06-25 Benjamin Poulain + +REGRESSION (r170325): UI process crashes in lastCommittedLayerTreeTransactionID() when the Web Content process crashes +https://bugs.webkit.org/show_bug.cgi?id=134284 + +Reviewed by Simon Fraser. + +The crash was caused by the access to the Drawing Area after the crash. +This lead to discovering another bug: m_lastVisibleContentRectUpdate could have been updated after WebPageProxy::resetState(), +which in turn would prevent valid updates when a new WebProcess is created. + +This patch fixes both issues by moving the VisibleContentRectUpdateInfo to be internal to WebPageProxy, +then early return if we get there in an invalid state. + +* UIProcess/WebPageProxy.h: +* UIProcess/ios/WKContentView.mm: +(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]): +* UIProcess/ios/WebPageProxyIOS.mm: +(WebKit::WebPageProxy::updateVisibleContentRects): + 2014-06-25 Brady Eidson Add new platform gamepad abstractions Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (170459 => 170460) --- trunk/Source/WebKit2/UIProcess/WebPageProxy.h 2014-06-26 03:59:10 UTC (rev 170459) +++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h 2014-06-26 04:15:32 UTC (rev 170460) @@ -382,7 +382,7 @@ const WebCore::FloatRect& exposedContentRect() const { return m_lastVisibleContentRectUpdate.exposedRect(); } const WebCore::FloatRect& unobscuredContentRect() const { return m_lastVisibleContentRectUpdate.unobscuredRect(); } -bool updateVisibleContentRects(const VisibleContentRectUpdateInfo&); +void updateVisibleContentRects(const WebCore::FloatRect& exposedRect, const WebCore::FloatRect& unobscuredRect, const WebCore::FloatRect& unobscuredRectInScrollViewCoordinates, const WebCore::FloatRect& customFixedPositionRect, double scale, bool inStableState, bool isChangingObscuredInsetsInteractively, double timestamp, double horizontalVelocity, double verticalVelocity, double scaleChangeRate); enum class UnobscuredRectConstraint { ConstrainedToDocumentRect, Unconstrained }; WebCore::FloatRect computeCustomFixedPositionRect(const WebCore::FloatRect& unobscuredContentRect, double displayedContentScale, UnobscuredRectConstraint = UnobscuredRectConstraint::Unconstrained) const; Modified: trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm (170459 => 170460) --- trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm 2014-06-26 03:59:10 UTC (rev 170459) +++ trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm 2014-06-26 04:15:32 UTC (rev 170460) @@ -564,8 +564,8 @@ _historicalKinematicData.clear(); FloatRect fixedPositionRectForLayout = _page->computeCustomFixedPositionRect(unobscuredRect, zoomScale, WebPageProxy::UnobscuredRectConstraint::ConstrainedToDocumentRect); -_page->updateVisibleContentRects(VisibleContentRectUpdateInfo(visibleRect, unobscuredRect, unobscuredRectInScrollViewCoordinates, fixedPositionRectForLayout, -zoomScale, isStableState, isChangingObscuredInsetsInteractively, timestamp, velocityData.horizontalVelocity, velocityData.verticalVelocity, velocityData.scaleChangeRate, toRemoteLayerTreeDrawingAreaProxy(_page->drawingArea())->lastCommittedLayerTreeTransactionID())); +_page
[webkit-changes] [170461] trunk/Source/WebCore
Title: [170461] trunk/Source/WebCore Revision 170461 Author simon.fra...@apple.com Date 2014-06-25 21:15:40 -0700 (Wed, 25 Jun 2014) Log Message [iOS WK2] Tweak the logic used to choose the scale at which position:fixed gets pushed out of view https://bugs.webkit.org/show_bug.cgi?id=134323 Reviewed by Benjamin Poulain. Previously we used a fixed scale (1.2x) at which we'd start pushing position:fixed elements out of the viewport. This worked well on iPad, but terribly on iPhone. Instead, choose a scale relative to how much of the page is visible width-wise, the threshold being 2/3 of the page width. The width is clamped to get reasonable behavior on wide pages. * page/FrameView.cpp: (WebCore::FrameView::rectForViewportConstrainedObjects): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/FrameView.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (170460 => 170461) --- trunk/Source/WebCore/ChangeLog 2014-06-26 04:15:32 UTC (rev 170460) +++ trunk/Source/WebCore/ChangeLog 2014-06-26 04:15:40 UTC (rev 170461) @@ -1,3 +1,18 @@ +2014-06-25 Simon Fraser + +[iOS WK2] Tweak the logic used to choose the scale at which position:fixed gets pushed out of view +https://bugs.webkit.org/show_bug.cgi?id=134323 + +Reviewed by Benjamin Poulain. + +Previously we used a fixed scale (1.2x) at which we'd start pushing position:fixed elements +out of the viewport. This worked well on iPad, but terribly on iPhone. Instead, choose a scale +relative to how much of the page is visible width-wise, the threshold being 2/3 of the page width. +The width is clamped to get reasonable behavior on wide pages. + +* page/FrameView.cpp: +(WebCore::FrameView::rectForViewportConstrainedObjects): + 2014-06-25 Brady Eidson Add new platform gamepad abstractions Modified: trunk/Source/WebCore/page/FrameView.cpp (170460 => 170461) --- trunk/Source/WebCore/page/FrameView.cpp 2014-06-26 04:15:32 UTC (rev 170460) +++ trunk/Source/WebCore/page/FrameView.cpp 2014-06-26 04:15:40 UTC (rev 170461) @@ -1635,11 +1635,15 @@ if (fixedElementsLayoutRelativeToFrame) return visibleContentRect; +if (totalContentsSize.isEmpty()) +return visibleContentRect; + // We impose an lower limit on the size (so an upper limit on the scale) of // the rect used to position fixed objects so that they don't crowd into the // center of the screen at larger scales. -const float constraintThresholdScale = 1.2; - +const LayoutUnit maxContentWidthForZoomThreshold = LayoutUnit::fromPixel(1024); +float zoomedOutScale = frameScaleFactor * visibleContentRect.width() / std::min(maxContentWidthForZoomThreshold, totalContentsSize.width()); +float constraintThresholdScale = 1.5 * zoomedOutScale; float maxPostionedObjectsRectScale = std::min(frameScaleFactor, constraintThresholdScale); LayoutRect viewportConstrainedObjectsRect = visibleContentRect; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170462] trunk/Source
Title: [170462] trunk/Source Revision 170462 Author simon.fra...@apple.com Date 2014-06-25 21:15:50 -0700 (Wed, 25 Jun 2014) Log Message [iOS WK2] Fixed position elements jump around when zooming https://bugs.webkit.org/show_bug.cgi?id=134328 Reviewed by Zalan Bujtas. If a given remote layer tree commit contains changes of layers for viewport-constrained objects, then the associated scrolling tree also needs to show that the layers changed, since we need to re-run the "viewport changed" logic in the UI process to get the layers correctly positioned for the current zoom level. The bug was that page scale changes resulted in small "pixel alignment" position changes which touched layers, but we didn't commit any scrolling tree changes. So the scrolling tree commit would result in visibly stale layer positions, with no scrolling tree update to adjust them for the current transient zoom. Fix by making use of the existing "alignment offset" field in the ViewportConstraints data, and having RemoteScrollingCoordinatorProxy::connectStateNodeLayers() note that fixed or sticky layers changed if any properties of fixed or sticky scrolling tree nodes were updated. Source/WebCore: * page/scrolling/ScrollingConstraints.h: (WebCore::StickyPositionViewportConstraints::operator==): * platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::pixelAlignmentOffset): * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::updateGeometry): * platform/graphics/ca/GraphicsLayerCA.h: * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::computeFixedViewportConstraints): (WebCore::RenderLayerCompositor::computeStickyViewportConstraints): Source/WebKit2: * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm: (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/scrolling/ScrollingConstraints.h trunk/Source/WebCore/platform/graphics/GraphicsLayer.h trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm Diff Modified: trunk/Source/WebCore/ChangeLog (170461 => 170462) --- trunk/Source/WebCore/ChangeLog 2014-06-26 04:15:40 UTC (rev 170461) +++ trunk/Source/WebCore/ChangeLog 2014-06-26 04:15:50 UTC (rev 170462) @@ -1,5 +1,39 @@ 2014-06-25 Simon Fraser +[iOS WK2] Fixed position elements jump around when zooming +https://bugs.webkit.org/show_bug.cgi?id=134328 + + +Reviewed by Zalan Bujtas. + +If a given remote layer tree commit contains changes of layers for viewport-constrained +objects, then the associated scrolling tree also needs to show that the layers changed, +since we need to re-run the "viewport changed" logic in the UI process to get the +layers correctly positioned for the current zoom level. + +The bug was that page scale changes resulted in small "pixel alignment" position +changes which touched layers, but we didn't commit any scrolling tree changes. So +the scrolling tree commit would result in visibly stale layer positions, with no scrolling tree +update to adjust them for the current transient zoom. + +Fix by making use of the existing "alignment offset" field in the ViewportConstraints +data, and having RemoteScrollingCoordinatorProxy::connectStateNodeLayers() note that +fixed or sticky layers changed if any properties of fixed or sticky scrolling tree +nodes were updated. + +* page/scrolling/ScrollingConstraints.h: +(WebCore::StickyPositionViewportConstraints::operator==): +* platform/graphics/GraphicsLayer.h: +(WebCore::GraphicsLayer::pixelAlignmentOffset): +* platform/graphics/ca/GraphicsLayerCA.cpp: +(WebCore::GraphicsLayerCA::updateGeometry): +* platform/graphics/ca/GraphicsLayerCA.h: +* rendering/RenderLayerCompositor.cpp: +(WebCore::RenderLayerCompositor::computeFixedViewportConstraints): +(WebCore::RenderLayerCompositor::computeStickyViewportConstraints): + +2014-06-25 Simon Fraser + [iOS WK2] Tweak the logic used to choose the scale at which position:fixed gets pushed out of view https://bugs.webkit.org/show_bug.cgi?id=134323 Modified: trunk/Source/WebCore/page/scrolling/ScrollingConstraints.h (170461 => 170462) --- trunk/Source/WebCore/page/scrolling/ScrollingConstraints.h 2014-06-26 04:15:40 UTC (rev 170461) +++ trunk/Source/WebCore/page/scrolling/ScrollingConstraints.h 2014-06-26 04:15:50 UTC (rev 170462) @@ -167,7 +167,9 @@ bool operator==(const StickyPositionViewportConstraints& other) const { -return m_leftOffset == other.m_leftOffset +return m_alignmentOffset == other.m_
[webkit-changes] [170459] trunk/Source
Title: [170459] trunk/Source Revision 170459 Author beid...@apple.com Date 2014-06-25 20:59:10 -0700 (Wed, 25 Jun 2014) Log Message Add new platform gamepad abstractions https://bugs.webkit.org/show_bug.cgi?id=134325 Reviewed by Dean Jackson. Source/WebCore: No new tests (Not yet a tested config) - GamepadStrategy lets ports customize the 3 basic behaviors needed for a gamepad implementation to feed the API in WebCore. - GamepadStrategyClient gives arbitrary objects in WebCore the ability to register for callbacks with the GamepadStrategy. - PlatformGamepad is a platform-agnostic object that represents the data that feeds into the Gamepad object that is exposed to web content. The code in this patch is dead as-is, but https://bugs.webkit.org/show_bug.cgi?id=134324 will contain an immediate follow-up patch that uses it. Makes sense to review them separately. * WebCore.xcodeproj/project.pbxproj: * platform/GamepadStrategy.h: Added. (WebCore::GamepadStrategy::~GamepadStrategy): * platform/GamepadStrategyClient.h: Added. (WebCore::GamepadStrategyClient::~GamepadStrategyClient): * platform/PlatformGamepad.h: Added. (WebCore::PlatformGamepad::~PlatformGamepad): (WebCore::PlatformGamepad::id): (WebCore::PlatformGamepad::lastUpdateTime): (WebCore::PlatformGamepad::connectTime): (WebCore::PlatformGamepad::PlatformGamepad): * platform/PlatformStrategies.h: (WebCore::PlatformStrategies::gamepadStrategy): (WebCore::PlatformStrategies::PlatformStrategies): Source/WebKit/mac: * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::createGamepadStrategy): (WebPlatformStrategies::startMonitoringGamepads): (WebPlatformStrategies::stopMonitoringGamepads): (WebPlatformStrategies::platformGamepads): Source/WebKit/win: * WebCoreSupport/WebPlatformStrategies.cpp: (WebPlatformStrategies::createGamepadStrategy): * WebCoreSupport/WebPlatformStrategies.h: Source/WebKit2: * NetworkProcess/NetworkProcessPlatformStrategies.cpp: (WebKit::NetworkProcessPlatformStrategies::createGamepadStrategy): * NetworkProcess/NetworkProcessPlatformStrategies.h: Actually return a GamepadStrategy in WK2 with no implementation for now: * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: (WebKit::WebPlatformStrategies::createGamepadStrategy): (WebKit::WebPlatformStrategies::startMonitoringGamepads): (WebKit::WebPlatformStrategies::stopMonitoringGamepads): (WebKit::WebPlatformStrategies::platformGamepads): * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/platform/PlatformStrategies.h trunk/Source/WebKit/mac/ChangeLog trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.h trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.mm trunk/Source/WebKit/win/ChangeLog trunk/Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.cpp trunk/Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.h trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/NetworkProcess/NetworkProcessPlatformStrategies.cpp trunk/Source/WebKit2/NetworkProcess/NetworkProcessPlatformStrategies.h trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h Added Paths trunk/Source/WebCore/platform/GamepadStrategy.h trunk/Source/WebCore/platform/GamepadStrategyClient.h trunk/Source/WebCore/platform/PlatformGamepad.h Diff Modified: trunk/Source/WebCore/ChangeLog (170458 => 170459) --- trunk/Source/WebCore/ChangeLog 2014-06-26 02:39:10 UTC (rev 170458) +++ trunk/Source/WebCore/ChangeLog 2014-06-26 03:59:10 UTC (rev 170459) @@ -1,3 +1,43 @@ +2014-06-25 Brady Eidson + +Add new platform gamepad abstractions +https://bugs.webkit.org/show_bug.cgi?id=134325 + +Reviewed by Dean Jackson. + +No new tests (Not yet a tested config) + +- GamepadStrategy lets ports customize the 3 basic behaviors needed for a gamepad + implementation to feed the API in WebCore. +- GamepadStrategyClient gives arbitrary objects in WebCore the ability to register + for callbacks with the GamepadStrategy. +- PlatformGamepad is a platform-agnostic object that represents the data that + feeds into the Gamepad object that is exposed to web content. + +The code in this patch is dead as-is, but https://bugs.webkit.org/show_bug.cgi?id=134324 +will contain an immediate follow-up patch that uses it. + +Makes sense to review them separately. + +* WebCore.xcodeproj/project.pbxproj: + +* platform/GamepadStrategy.h: Added. +(WebCore::GamepadStrategy::~GamepadStrategy): + +* platform/GamepadStrategyClient.h: Added. +(WebCore::GamepadStrategyClient::~GamepadStrategyClient): + +* platform/PlatformGamepad.h: Added. +(WebCore::PlatformGamepad::~PlatformGamepad): +
[webkit-changes] [170458] trunk/Source/WebCore
Title: [170458] trunk/Source/WebCore Revision 170458 Author za...@apple.com Date 2014-06-25 19:39:10 -0700 (Wed, 25 Jun 2014) Log Message Assertion failed: CGPathAddRoundedRect asserts on non-renderable rounded rectangle. https://bugs.webkit.org/show_bug.cgi?id=134288 Reviewed by Simon Fraser. Speculative fix. This changeset attempts to address a possible mantissa overflow of radius when checking whether the rounded rectangle is renderable. We convert both the radius and the rectangle values to CGFloat(float/double) to perform this renderable check, instead of always using float. * platform/graphics/FloatRoundedRect.cpp: (WebCore::FloatRoundedRect::Radii::scale): Move scale(float, float) from RoundedRect to FloatRoundedRect. (WebCore::FloatRoundedRect::isRenderable): Add check if radius is >= 0. * platform/graphics/FloatRoundedRect.h: * platform/graphics/RoundedRect.cpp: (WebCore::RoundedRect::Radii::scale): (WebCore::RoundedRect::pixelSnappedRoundedRectForPainting): use FloatRoundeRect::Radii. * platform/graphics/RoundedRect.h: * platform/graphics/cg/PathCG.cpp: (WebCore::Path::platformAddPathForRoundedRect): use epsilon() to ensure width/height is always >= even with mantissa overflow. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/FloatRoundedRect.cpp trunk/Source/WebCore/platform/graphics/FloatRoundedRect.h trunk/Source/WebCore/platform/graphics/RoundedRect.cpp trunk/Source/WebCore/platform/graphics/RoundedRect.h trunk/Source/WebCore/platform/graphics/cg/PathCG.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (170457 => 170458) --- trunk/Source/WebCore/ChangeLog 2014-06-26 02:10:59 UTC (rev 170457) +++ trunk/Source/WebCore/ChangeLog 2014-06-26 02:39:10 UTC (rev 170458) @@ -1,3 +1,26 @@ +2014-06-25 Zalan Bujtas + +Assertion failed: CGPathAddRoundedRect asserts on non-renderable rounded rectangle. +https://bugs.webkit.org/show_bug.cgi?id=134288 + +Reviewed by Simon Fraser. + +Speculative fix. This changeset attempts to address a possible mantissa overflow of radius +when checking whether the rounded rectangle is renderable. +We convert both the radius and the rectangle values to CGFloat(float/double) to perform +this renderable check, instead of always using float. + +* platform/graphics/FloatRoundedRect.cpp: +(WebCore::FloatRoundedRect::Radii::scale): Move scale(float, float) from RoundedRect to FloatRoundedRect. +(WebCore::FloatRoundedRect::isRenderable): Add check if radius is >= 0. +* platform/graphics/FloatRoundedRect.h: +* platform/graphics/RoundedRect.cpp: +(WebCore::RoundedRect::Radii::scale): +(WebCore::RoundedRect::pixelSnappedRoundedRectForPainting): use FloatRoundeRect::Radii. +* platform/graphics/RoundedRect.h: +* platform/graphics/cg/PathCG.cpp: +(WebCore::Path::platformAddPathForRoundedRect): use epsilon() to ensure width/height is always >= even with mantissa overflow. + 2014-06-25 Jer Noble [MSE] removeCodedFrames() can remove more than it should Modified: trunk/Source/WebCore/platform/graphics/FloatRoundedRect.cpp (170457 => 170458) --- trunk/Source/WebCore/platform/graphics/FloatRoundedRect.cpp 2014-06-26 02:10:59 UTC (rev 170457) +++ trunk/Source/WebCore/platform/graphics/FloatRoundedRect.cpp 2014-06-26 02:39:10 UTC (rev 170458) @@ -64,23 +64,27 @@ void FloatRoundedRect::Radii::scale(float factor) { -if (factor == 1) +scale(factor, factor); +} + +void FloatRoundedRect::Radii::scale(float horizontalFactor, float verticalFactor) +{ +if (horizontalFactor == 1 && verticalFactor == 1) return; // If either radius on a corner becomes zero, reset both radii on that corner. -m_topLeft.scale(factor); +m_topLeft.scale(horizontalFactor, verticalFactor); if (!m_topLeft.width() || !m_topLeft.height()) m_topLeft = FloatSize(); -m_topRight.scale(factor); +m_topRight.scale(horizontalFactor, verticalFactor); if (!m_topRight.width() || !m_topRight.height()) m_topRight = FloatSize(); -m_bottomLeft.scale(factor); +m_bottomLeft.scale(horizontalFactor, verticalFactor); if (!m_bottomLeft.width() || !m_bottomLeft.height()) m_bottomLeft = FloatSize(); -m_bottomRight.scale(factor); +m_bottomRight.scale(horizontalFactor, verticalFactor); if (!m_bottomRight.width() || !m_bottomRight.height()) m_bottomRight = FloatSize(); - } void FloatRoundedRect::Radii::expand(float topWidth, float bottomWidth, float leftWidth, float rightWidth) @@ -145,7 +149,11 @@ bool FloatRoundedRect::isRenderable() const { -return m_radii.topLeft().width() + m_radii.topRight().width() <= m_rect.width() +return m_radii.topLeft().width() >= 0 && m_radii.topLeft().height() >= 0 +&& m_radii.bottomLeft().width() >= 0 && m_radii.bottomLeft().height() >= 0 +&& m_radii.topRight().width
[webkit-changes] [170456] trunk/Source/WebInspectorUI
Title: [170456] trunk/Source/WebInspectorUI Revision 170456 Author jonowe...@apple.com Date 2014-06-25 18:34:53 -0700 (Wed, 25 Jun 2014) Log Message Web Inspector: Rules panel's strikethrough gets confused at -webkit-align-items: flex-start; https://bugs.webkit.org/show_bug.cgi?id=133515 Reviewed by Timothy Hatcher. The CSS style declaration text editor uses the author's shortest instance of prefix whitespace to create an indentation baseline for the style editor. This needs to consider the possibility that there is no whitespace prefixing one of the rules. Also clarified a FIXME line. * UserInterface/Views/CSSStyleDeclarationTextEditor.js: Account for zero-length whitespace. Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationTextEditor.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (170455 => 170456) --- trunk/Source/WebInspectorUI/ChangeLog 2014-06-26 01:22:08 UTC (rev 170455) +++ trunk/Source/WebInspectorUI/ChangeLog 2014-06-26 01:34:53 UTC (rev 170456) @@ -1,3 +1,16 @@ +2014-06-25 Jono Wells + +Web Inspector: Rules panel's strikethrough gets confused at -webkit-align-items: flex-start; +https://bugs.webkit.org/show_bug.cgi?id=133515 + +Reviewed by Timothy Hatcher. + +The CSS style declaration text editor uses the author's shortest instance of prefix whitespace +to create an indentation baseline for the style editor. This needs to consider the possibility +that there is no whitespace prefixing one of the rules. Also clarified a FIXME line. + +* UserInterface/Views/CSSStyleDeclarationTextEditor.js: Account for zero-length whitespace. + 2014-06-25 Dana Burkart Add support for 5-tuple versioning. Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationTextEditor.js (170455 => 170456) --- trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationTextEditor.js 2014-06-26 01:22:08 UTC (rev 170455) +++ trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationTextEditor.js 2014-06-26 01:34:53 UTC (rev 170456) @@ -867,19 +867,26 @@ var lineCount = this._codeMirror.lineCount(); for (var i = 0; i < lineCount; ++i) { var lineContent = this._codeMirror.getLine(i); - var prefixWhitespaceMatch = lineContent.match(/^\s+/); -if (!prefixWhitespaceMatch) -continue; +// If there is no prefix whitespace, then the prefix whitespace of all +// other lines will be retained as is. Update markers and return. +if (!prefixWhitespaceMatch) { +this._linePrefixWhitespace = ""; +this._updateTextMarkers(true); +return; +} + linesToStrip.push(i); // Only remember the shortest whitespace so we don't loose any of the // original author's whitespace if their indentation lengths differed. // Using the shortest also makes the adjustment work in _updateTextMarkers. -// FIXME: This messes up if there is a mix of spaces and tabs. One tab -// will be shorter than 4 or 8 spaces, but will look the same visually. +// FIXME: This messes up if there is a mix of spaces and tabs. A tab +// is treated the same as a space when prefix whitespace is omitted, +// so if the shortest prefixed whitespace is, say, two tab characters, +// lines that begin with four spaces will only have a two space indent. if (!this._linePrefixWhitespace || prefixWhitespaceMatch[0].length < this._linePrefixWhitespace.length) this._linePrefixWhitespace = prefixWhitespaceMatch[0]; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170455] trunk/Source/WebCore
Title: [170455] trunk/Source/WebCore Revision 170455 Author jer.no...@apple.com Date 2014-06-25 18:22:08 -0700 (Wed, 25 Jun 2014) Log Message [MSE] removeCodedFrames() can remove more than it should https://bugs.webkit.org/show_bug.cgi?id=134320 Reviewed by Geoff Garen. removeCodedFrames() can remove more samples than it should because it compares an iterator in presentation timespace to one in decode timespace. Clean up this code by removing frames in decode order. Rename variables and add comments to make explicit which timespace defines the iterators being used. * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::removeCodedFrames): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (170454 => 170455) --- trunk/Source/WebCore/ChangeLog 2014-06-26 01:04:47 UTC (rev 170454) +++ trunk/Source/WebCore/ChangeLog 2014-06-26 01:22:08 UTC (rev 170455) @@ -1,3 +1,18 @@ +2014-06-25 Jer Noble + +[MSE] removeCodedFrames() can remove more than it should +https://bugs.webkit.org/show_bug.cgi?id=134320 + +Reviewed by Geoff Garen. + +removeCodedFrames() can remove more samples than it should because it compares an iterator +in presentation timespace to one in decode timespace. Clean up this code by removing frames +in decode order. Rename variables and add comments to make explicit which timespace defines +the iterators being used. + +* Modules/mediasource/SourceBuffer.cpp: +(WebCore::SourceBuffer::removeCodedFrames): + 2014-06-25 Beth Dakin Crash in ScrollingTree::isRubberBandInProgress() Modified: trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp (170454 => 170455) --- trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp 2014-06-26 01:04:47 UTC (rev 170454) +++ trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp 2014-06-26 01:22:08 UTC (rev 170455) @@ -557,19 +557,21 @@ // 3. For each track buffer in this source buffer, run the following steps: for (auto iter : m_trackBufferMap) { TrackBuffer& trackBuffer = iter.value; + // 3.1. Let remove end timestamp be the current value of duration -SampleMap::iterator removeEnd = trackBuffer.samples.presentationEnd(); - // 3.2 If this track buffer has a random access point timestamp that is greater than or equal to end, then update // remove end timestamp to that random access point timestamp. -SampleMap::iterator nextRandomAccessPoint = trackBuffer.samples.findSyncSampleAfterPresentationTime(end); -if (nextRandomAccessPoint->first >= end) -removeEnd = trackBuffer.samples.findSampleContainingPresentationTime(nextRandomAccessPoint->first); +// NOTE: findSyncSampleAfterPresentationTime will return the next sync sample on or after the presentation time +// or decodeEnd() if no sync sample exists after that presentation time. +SampleMap::iterator removeDecodeEnd = trackBuffer.samples.findSyncSampleAfterPresentationTime(end); // 3.3 Remove all media data, from this track buffer, that contain starting timestamps greater than or equal to // start and less than the remove end timestamp. -SampleMap::iterator removeStart = trackBuffer.samples.findSampleAfterPresentationTime(start); -SampleMap::MapType erasedSamples(removeStart, removeEnd); +// NOTE: frames must be removed in decode order, so that all dependant frames between the frame to be removed +// and the next sync sample frame are removed. +SampleMap::iterator removePresentaionStart = trackBuffer.samples.findSampleAfterPresentationTime(start); +SampleMap::iterator removeDecodeStart = trackBuffer.samples.findSampleWithDecodeTime(removePresentaionStart->second->decodeTime()); +SampleMap::MapType erasedSamples(removeDecodeStart, removeDecodeEnd); RefPtr erasedRanges = TimeRanges::create(); MediaTime microsecond(1, 100); for (auto erasedIt : erasedSamples) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170454] trunk/LayoutTests
Title: [170454] trunk/LayoutTests Revision 170454 Author mmaxfi...@apple.com Date 2014-06-25 18:04:47 -0700 (Wed, 25 Jun 2014) Log Message compositing/visible-rect/iframe-no-layers.html is broken and confusing https://bugs.webkit.org/show_bug.cgi?id=134317 Reviewed by Simon Fraser. The test doesn't wait for scrolling to occur and has unnecessary style stanzas. * compositing/visible-rect/iframe-no-layers.html: * compositing/visible-rect/resources/subframe-with-layers.html: * platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt: * platform/ios-sim/compositing/visible-rect/iframe-no-layers-expected.txt: * platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/compositing/visible-rect/iframe-no-layers.html trunk/LayoutTests/compositing/visible-rect/resources/subframe-with-layers.html trunk/LayoutTests/platform/ios-sim/compositing/visible-rect/iframe-no-layers-expected.txt trunk/LayoutTests/platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt trunk/LayoutTests/platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (170453 => 170454) --- trunk/LayoutTests/ChangeLog 2014-06-26 00:55:29 UTC (rev 170453) +++ trunk/LayoutTests/ChangeLog 2014-06-26 01:04:47 UTC (rev 170454) @@ -1,3 +1,18 @@ +2014-06-25 Myles C. Maxfield + +compositing/visible-rect/iframe-no-layers.html is broken and confusing +https://bugs.webkit.org/show_bug.cgi?id=134317 + +Reviewed by Simon Fraser. + +The test doesn't wait for scrolling to occur and has unnecessary style stanzas. + +* compositing/visible-rect/iframe-no-layers.html: +* compositing/visible-rect/resources/subframe-with-layers.html: +* platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt: +* platform/ios-sim/compositing/visible-rect/iframe-no-layers-expected.txt: +* platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt: + 2014-06-25 Geoffrey Garen Unreviewed, rolling out r166876. Modified: trunk/LayoutTests/compositing/visible-rect/iframe-no-layers.html (170453 => 170454) --- trunk/LayoutTests/compositing/visible-rect/iframe-no-layers.html 2014-06-26 00:55:29 UTC (rev 170453) +++ trunk/LayoutTests/compositing/visible-rect/iframe-no-layers.html 2014-06-26 01:04:47 UTC (rev 170454) @@ -1,5 +1,4 @@ -@@ -8,49 +7,44 @@ width: 1500px; }-.container { -position: relative; -height: 200px; -width: 500px; -border: 1px solid black; -overflow: hidden; -z-index: 0; -} - -.box { -width: 200px; -height: 200px; -background-color: blue; -} - -.composited { --webkit-transform: translateZ(1px); -} -iframe { margin: 10px; }-if (window.testRunner) testRunner.dumpAsText();-function dumpLayers()+function scroll() { window.scrollTo(40, 40);-if (window.internals) { -// Dump the iframe's layers. -var iframe = document.getElementById('iframe'); -document.getElementById('layers').innerText = internals.layerTreeAsText(iframe.contentDocument, internals.LAYER_TREE_INCLUDES_VISIBLE_RECTS)+testIsDone(); +} + +// This function is called twice - once from this frame and once from the iframe. +var scrollingCompleted = 0; +function testIsDone() +{ +scrollingCompleted++; +if (scrollingCompleted == 2) { +if (window.internals) { +// Dump the iframe's layers. +var iframe = document.getElementById('iframe'); +document.getElementById('layers').innerText = internals.layerTreeAsText(iframe.contentDocument, internals.LAYER_TREE_INCLUDES_VISIBLE_RECTS) +} +if (window.testRunner) +testRunner.notifyDone(); } }-window.addEventListener('load', dumpLayers, false);+window.addEventListener('load', scroll, false); + +if (window.testRunner) +testRunner.waitUntilDone(); - + L
[webkit-changes] [170453] trunk/Source/WebKit2
Title: [170453] trunk/Source/WebKit2 Revision 170453 Author timothy_hor...@apple.com Date 2014-06-25 17:55:29 -0700 (Wed, 25 Jun 2014) Log Message [WK2] Shadow layer is in the wrong place while pinch-zooming https://bugs.webkit.org/show_bug.cgi?id=134321 Reviewed by Dan Bernstein. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToLayers): (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom): (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage): The anchor point of the shadow layer changed, so we no longer need to shift our position to the center. Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm Diff Modified: trunk/Source/WebKit2/ChangeLog (170452 => 170453) --- trunk/Source/WebKit2/ChangeLog 2014-06-26 00:52:25 UTC (rev 170452) +++ trunk/Source/WebKit2/ChangeLog 2014-06-26 00:55:29 UTC (rev 170453) @@ -1,3 +1,16 @@ +2014-06-25 Tim Horton + +[WK2] Shadow layer is in the wrong place while pinch-zooming +https://bugs.webkit.org/show_bug.cgi?id=134321 + +Reviewed by Dan Bernstein. + +* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: +(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToLayers): +(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom): +(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage): +The anchor point of the shadow layer changed, so we no longer need to shift our position to the center. + 2014-06-25 Dan Bernstein Fixed crashes after r170450. Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm (170452 => 170453) --- trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm 2014-06-26 00:52:25 UTC (rev 170452) +++ trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm 2014-06-26 00:55:29 UTC (rev 170453) @@ -547,7 +547,7 @@ shadowBounds.scale(scale); shadowLayer->setBounds(shadowBounds); -shadowLayer->setPosition(origin + shadowBounds.center()); +shadowLayer->setPosition(origin); } m_transientZoomScale = scale; @@ -639,7 +639,7 @@ RetainPtr shadowBoundsAnimation = transientZoomSnapAnimationForKeyPath("bounds"); [shadowBoundsAnimation setToValue:[NSValue valueWithRect:shadowBounds]]; RetainPtr shadowPositionAnimation = transientZoomSnapAnimationForKeyPath("position"); -[shadowPositionAnimation setToValue:[NSValue valueWithPoint:constrainedOrigin + shadowBounds.center()]]; +[shadowPositionAnimation setToValue:[NSValue valueWithPoint:constrainedOrigin]]; RetainPtr shadowPathAnimation = transientZoomSnapAnimationForKeyPath("shadowPath"); [shadowPathAnimation setToValue:(id)shadowPath.get()]; @@ -663,7 +663,7 @@ RenderView* renderView = m_webPage.mainFrameView()->renderView(); IntRect overflowRect = renderView->pixelSnappedLayoutOverflowRect(); shadowLayer->setBounds(IntRect(IntPoint(), toIntSize(overflowRect.maxXMaxYCorner(; -shadowLayer->setPosition(shadowLayer->bounds().center()); +shadowLayer->setPosition(FloatPoint()); } FloatPoint unscrolledOrigin(origin); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170452] trunk/Source/WebKit2
Title: [170452] trunk/Source/WebKit2 Revision 170452 Author m...@apple.com Date 2014-06-25 17:52:25 -0700 (Wed, 25 Jun 2014) Log Message Fixed crashes after r170450. Reviewed by Tim Horton. * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::WebProcessProxy): Removed iOS platform #ifdef around initialization of m_throttler. Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp Diff Modified: trunk/Source/WebKit2/ChangeLog (170451 => 170452) --- trunk/Source/WebKit2/ChangeLog 2014-06-26 00:51:05 UTC (rev 170451) +++ trunk/Source/WebKit2/ChangeLog 2014-06-26 00:52:25 UTC (rev 170452) @@ -1,3 +1,13 @@ +2014-06-25 Dan Bernstein + +Fixed crashes after r170450. + +Reviewed by Tim Horton. + +* UIProcess/WebProcessProxy.cpp: +(WebKit::WebProcessProxy::WebProcessProxy): Removed iOS platform #ifdef around +initialization of m_throttler. + 2014-06-25 Beth Dakin Crash in ScrollingTree::isRubberBandInProgress() Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp (170451 => 170452) --- trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp 2014-06-26 00:51:05 UTC (rev 170451) +++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp 2014-06-26 00:52:25 UTC (rev 170452) @@ -97,9 +97,7 @@ , m_processSuppressionEnabled(false) #endif , m_numberOfTimesSuddenTerminationWasDisabled(0) -#if PLATFORM(IOS) , m_throttler(std::make_unique(this)) -#endif { connect(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170451] trunk/Source
Title: [170451] trunk/Source Revision 170451 Author bda...@apple.com Date 2014-06-25 17:51:05 -0700 (Wed, 25 Jun 2014) Log Message Crash in ScrollingTree::isRubberBandInProgress() https://bugs.webkit.org/show_bug.cgi?id=134316 -and corresponding- Reviewed by Geoffrey Garen. Source/WebCore: This crash appears to have been caused by http://trac.webkit.org/changeset/161276 which moved the ScrollingNode creation code from ScrollingTree over to ScrollingCoordinator. This creates a thread safety issue. In the crashing case, we believe that the ScrollingCoordinator's ScrollingTree pointer had been null-ed out even though the ScrollingTree was kept alive by the bind call to propagate commitNewTreeState() over to the scrolling thread. The fix is to move node creation back to the ScrollingTree and to use the this pointer to create new nodes rather than the ScrollingCoordinator's ScrollingTree pointer. Don't allow ScrollingCoordinator to handle ScrollingTreeNode creation. * page/scrolling/AsyncScrollingCoordinator.h: Re-name createNode to createScrollingTreeNode(). * page/scrolling/ScrollingTree.cpp: (WebCore::ScrollingTree::updateTreeFromStateNode): * page/scrolling/ScrollingTree.h: Remove this implementation of createNode that called into the ScrollingCoordinator. * page/scrolling/ThreadedScrollingTree.cpp: (WebCore::ThreadedScrollingTree::createNode): Deleted. * page/scrolling/ThreadedScrollingTree.h: Don't allow ScrollingCoordinator to handle ScrollingTreeNode creation. * page/scrolling/ios/ScrollingCoordinatorIOS.h: * page/scrolling/ios/ScrollingCoordinatorIOS.mm: (WebCore::ScrollingCoordinatorIOS::createScrollingTreeNode): Deleted. Re-name createNode to createScrollingTreeNode, and actually create the nodes here. * page/scrolling/ios/ScrollingTreeIOS.cpp: (WebCore::ScrollingTreeIOS::createScrollingTreeNode): (WebCore::ScrollingTreeIOS::createNode): Deleted. * page/scrolling/ios/ScrollingTreeIOS.h: Don't allow ScrollingCoordinator to handle ScrollingTreeNode creation. * page/scrolling/mac/ScrollingCoordinatorMac.h: * page/scrolling/mac/ScrollingCoordinatorMac.mm: (WebCore::ScrollingCoordinatorMac::createScrollingTreeNode): Deleted. Add the implementation of createScrollingTreeNode() for the Mac to ScrollingTreeMac since it can create Mac-specific nodes. * page/scrolling/mac/ScrollingTreeMac.cpp: (ScrollingTreeMac::createScrollingTreeNode): * page/scrolling/mac/ScrollingTreeMac.h: Source/WebKit2: Move all ScrollingTreeNode creation from ScrollingCoordinator subclasses into ScrollingTree subclasses. * UIProcess/Scrolling/RemoteScrollingTree.cpp: (WebKit::RemoteScrollingTree::createScrollingTreeNode): (WebKit::RemoteScrollingTree::createNode): Deleted. * UIProcess/Scrolling/RemoteScrollingTree.h: * WebProcess/Scrolling/RemoteScrollingCoordinator.h: * WebProcess/Scrolling/RemoteScrollingCoordinator.mm: (WebKit::RemoteScrollingCoordinator::createScrollingTreeNode): Deleted. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp trunk/Source/WebCore/page/scrolling/ScrollingTree.h trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.h trunk/Source/WebCore/page/scrolling/ios/ScrollingCoordinatorIOS.h trunk/Source/WebCore/page/scrolling/ios/ScrollingCoordinatorIOS.mm trunk/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp trunk/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.h trunk/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h trunk/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeMac.cpp trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeMac.h trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.cpp trunk/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.h trunk/Source/WebKit2/WebProcess/Scrolling/RemoteScrollingCoordinator.h trunk/Source/WebKit2/WebProcess/Scrolling/RemoteScrollingCoordinator.mm Diff Modified: trunk/Source/WebCore/ChangeLog (170450 => 170451) --- trunk/Source/WebCore/ChangeLog 2014-06-26 00:34:58 UTC (rev 170450) +++ trunk/Source/WebCore/ChangeLog 2014-06-26 00:51:05 UTC (rev 170451) @@ -1,3 +1,57 @@ +2014-06-25 Beth Dakin + +Crash in ScrollingTree::isRubberBandInProgress() +https://bugs.webkit.org/show_bug.cgi?id=134316 +-and corresponding- + + +Reviewed by Geoffrey Garen. + +This crash appears to have been caused by http://trac.webkit.org/changeset/161276 +which moved the ScrollingNode creation code from ScrollingTree over to +ScrollingCoordinator. This creates a thread safety issue. In the crashing case, we +believe that the ScrollingCoordinator's ScrollingTree pointer had been null-ed out +even though the ScrollingTree was kept alive by the bind call to propagate +
[webkit-changes] [170449] trunk/Source/WebCore
Title: [170449] trunk/Source/WebCore Revision 170449 Author enr...@apple.com Date 2014-06-25 17:33:07 -0700 (Wed, 25 Jun 2014) Log Message iOS build fix after http://trac.webkit.org/changeset/170447. Unreviewed. * editing/mac/TextUndoInsertionMarkup.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/editing/mac/TextUndoInsertionMarkup.h Diff Modified: trunk/Source/WebCore/ChangeLog (170448 => 170449) --- trunk/Source/WebCore/ChangeLog 2014-06-25 23:58:13 UTC (rev 170448) +++ trunk/Source/WebCore/ChangeLog 2014-06-26 00:33:07 UTC (rev 170449) @@ -1,3 +1,10 @@ +2014-06-25 Enrica Casucci + +iOS build fix after http://trac.webkit.org/changeset/170447. +Unreviewed. + +* editing/mac/TextUndoInsertionMarkup.h: + 2014-06-25 Chris Fleizach Add an undo group for each dictated utterance in WebKit Modified: trunk/Source/WebCore/editing/mac/TextUndoInsertionMarkup.h (170448 => 170449) --- trunk/Source/WebCore/editing/mac/TextUndoInsertionMarkup.h 2014-06-25 23:58:13 UTC (rev 170448) +++ trunk/Source/WebCore/editing/mac/TextUndoInsertionMarkup.h 2014-06-26 00:33:07 UTC (rev 170449) @@ -26,8 +26,10 @@ #ifndef TextUndoInsertionMarkup_h #define TextUndoInsertionMarkup_h +#if !PLATFORM(IOS) #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 10100 #define WTF_USE_INSERTION_UNDO_GROUPING 1 #endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 10100 +#endif #endif ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170448] trunk/Source/WebKit/mac
Title: [170448] trunk/Source/WebKit/mac Revision 170448 Author barraclo...@apple.com Date 2014-06-25 16:58:13 -0700 (Wed, 25 Jun 2014) Log Message Should _updateVisibilityState on view hide/unhide. https://bugs.webkit.org/show_bug.cgi?id=134314 rdar://17171803 Reviewed by Sam Weinig. * WebView/WebView.mm: (-[WebView viewDidHide]): (-[WebView viewDidUnhide]): Modified Paths trunk/Source/WebKit/mac/ChangeLog trunk/Source/WebKit/mac/WebView/WebView.mm Diff Modified: trunk/Source/WebKit/mac/ChangeLog (170447 => 170448) --- trunk/Source/WebKit/mac/ChangeLog 2014-06-25 23:50:44 UTC (rev 170447) +++ trunk/Source/WebKit/mac/ChangeLog 2014-06-25 23:58:13 UTC (rev 170448) @@ -1,3 +1,15 @@ +2014-06-25 Gavin Barraclough + +Should _updateVisibilityState on view hide/unhide. +https://bugs.webkit.org/show_bug.cgi?id=134314 +rdar://17171803 + +Reviewed by Sam Weinig. + +* WebView/WebView.mm: +(-[WebView viewDidHide]): +(-[WebView viewDidUnhide]): + 2014-06-25 Chris Fleizach Add an undo group for each dictated utterance in WebKit Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (170447 => 170448) --- trunk/Source/WebKit/mac/WebView/WebView.mm 2014-06-25 23:50:44 UTC (rev 170447) +++ trunk/Source/WebKit/mac/WebView/WebView.mm 2014-06-25 23:58:13 UTC (rev 170448) @@ -5298,6 +5298,16 @@ [self _updateActiveState]; } +- (void)viewDidHide +{ +[self _updateVisibilityState]; +} + +- (void)viewDidUnhide +{ +[self _updateVisibilityState]; +} + - (void)_windowWillOrderOnScreen:(NSNotification *)notification { if (![self shouldUpdateWhileOffscreen]) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170446] trunk/Websites/webkit.org
Title: [170446] trunk/Websites/webkit.org Revision 170446 Author bfulg...@apple.com Date 2014-06-25 16:41:19 -0700 (Wed, 25 Jun 2014) Log Message [Win] Whoops! DirectX SDK is still needed. * building/tools.html: Put DirectX instruction back. Modified Paths trunk/Websites/webkit.org/ChangeLog trunk/Websites/webkit.org/building/tools.html Diff Modified: trunk/Websites/webkit.org/ChangeLog (170445 => 170446) --- trunk/Websites/webkit.org/ChangeLog 2014-06-25 23:13:24 UTC (rev 170445) +++ trunk/Websites/webkit.org/ChangeLog 2014-06-25 23:41:19 UTC (rev 170446) @@ -1,3 +1,9 @@ +2014-06-25 Brent Fulgham + +[Win] Whoops! DirectX SDK is still needed. + +* building/tools.html: Put DirectX instruction back. + 2014-06-24 Brent Fulgham [Win] Remove some out-of-date stuff from our instructions. Modified: trunk/Websites/webkit.org/building/tools.html (170445 => 170446) --- trunk/Websites/webkit.org/building/tools.html 2014-06-25 23:13:24 UTC (rev 170445) +++ trunk/Websites/webkit.org/building/tools.html 2014-06-25 23:41:19 UTC (rev 170446) @@ -59,6 +59,8 @@ If you are behind a proxy you need to do the following to allow cygwin svn to get through the proxy (similar steps are available for your Windows svn): In bash (Cygwin) run: svn help. This will create in your cygwin home directory the file .subversion/servers. Edit the file mentioned above and follow the instructions in the file to set up your proxy settings. +Install DirectX SDK +Download the This is needed for accelerated compositing. Install php, we use the following steps (you need this to run http layout tests): cd /usr/local/bin ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170444] trunk/Source
Title: [170444] trunk/Source Revision 170444 Author dburk...@apple.com Date 2014-06-25 15:58:01 -0700 (Wed, 25 Jun 2014) Log Message Add support for 5-tuple versioning. Reviewed by David Farler. Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/Configurations/Version.xcconfig trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Configurations/Version.xcconfig trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/Configurations/Version.xcconfig trunk/Source/WebKit/mac/ChangeLog trunk/Source/WebKit/mac/Configurations/Version.xcconfig trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/Configurations/Version.xcconfig Diff Modified: trunk/Source/_javascript_Core/ChangeLog (170443 => 170444) --- trunk/Source/_javascript_Core/ChangeLog 2014-06-25 22:45:20 UTC (rev 170443) +++ trunk/Source/_javascript_Core/ChangeLog 2014-06-25 22:58:01 UTC (rev 170444) @@ -1,3 +1,11 @@ +2014-06-25 Dana Burkart + +Add support for 5-tuple versioning. + +Reviewed by David Farler. + +* Configurations/Version.xcconfig: + 2014-06-25 Geoffrey Garen Build fix. Modified: trunk/Source/_javascript_Core/Configurations/Version.xcconfig (170443 => 170444) --- trunk/Source/_javascript_Core/Configurations/Version.xcconfig 2014-06-25 22:45:20 UTC (rev 170443) +++ trunk/Source/_javascript_Core/Configurations/Version.xcconfig 2014-06-25 22:58:01 UTC (rev 170444) @@ -24,6 +24,8 @@ MAJOR_VERSION = 538; MINOR_VERSION = 43; TINY_VERSION = 0; +MICRO_VERSION = 0; +NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. Modified: trunk/Source/WebCore/ChangeLog (170443 => 170444) --- trunk/Source/WebCore/ChangeLog 2014-06-25 22:45:20 UTC (rev 170443) +++ trunk/Source/WebCore/ChangeLog 2014-06-25 22:58:01 UTC (rev 170444) @@ -1,3 +1,11 @@ +2014-06-25 Dana Burkart + +Add support for 5-tuple versioning. + +Reviewed by David Farler. + +* Configurations/Version.xcconfig: + 2014-06-25 Jer Noble [MSE][Mac] REGRESSION(r170336) - zero tolerance seeks are ignored. Modified: trunk/Source/WebCore/Configurations/Version.xcconfig (170443 => 170444) --- trunk/Source/WebCore/Configurations/Version.xcconfig 2014-06-25 22:45:20 UTC (rev 170443) +++ trunk/Source/WebCore/Configurations/Version.xcconfig 2014-06-25 22:58:01 UTC (rev 170444) @@ -24,6 +24,8 @@ MAJOR_VERSION = 538; MINOR_VERSION = 43; TINY_VERSION = 0; +MICRO_VERSION = 0; +NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. Modified: trunk/Source/WebInspectorUI/ChangeLog (170443 => 170444) --- trunk/Source/WebInspectorUI/ChangeLog 2014-06-25 22:45:20 UTC (rev 170443) +++ trunk/Source/WebInspectorUI/ChangeLog 2014-06-25 22:58:01 UTC (rev 170444) @@ -1,3 +1,11 @@ +2014-06-25 Dana Burkart + +Add support for 5-tuple versioning. + +Reviewed by David Farler. + +* Configurations/Version.xcconfig: + 2014-06-24 Jono Wells Web Inspector: clicking "Show All Nodes" button throws TypeError Modified: trunk/Source/WebInspectorUI/Configurations/Version.xcconfig (170443 => 170444) --- trunk/Source/WebInspectorUI/Configurations/Version.xcconfig 2014-06-25 22:45:20 UTC (rev 170443) +++ trunk/Source/WebInspectorUI/Configurations/Version.xcconfig 2014-06-25 22:58:01 UTC (rev 170444) @@ -1,6 +1,8 @@ MAJOR_VERSION = 538; MINOR_VERSION = 43; TINY_VERSION = 0; +MICRO_VERSION = 0; +NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION); // The system version prefix is based on the current system version. Modified: trunk/Source/WebKit/mac/ChangeLog (170443 => 170444) --- trunk/Source/WebKit/mac/ChangeLog 2014-06-25 22:45:20 UTC (rev 170443) +++ trunk/Source/WebKit/mac/ChangeLog 2014-06-25 22:58:01 UTC (rev 170444) @@ -1,3 +1,11 @@ +2014-06-25 Dana Burkart + +Add support for 5-tuple versioning. + +Reviewed by David Farler. + +* Configurations/Version.xcconfig: + 2014-06-25 Laszlo Gombos Remove build guard for progress element Modified: trunk/Source/WebKit/mac/Configurations/Version.xcconfig (170443 => 170444) --- trunk/Source/WebKit/mac/Configurations/Version.xcconfig 2014-06-25 22:45:20 UTC (rev 170443) +++ trunk/Source/WebKit/mac/Configurations/Version.xcconfig 2014-06-25 22:58:01 UTC (rev 170444) @@ -24,6 +24,8 @@ MAJOR_VERSION = 538; MINOR_VERSION = 43; TINY_VERSION = 0; +MICRO_VERSION = 0; +NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. Modified: trunk/Source/WebKit2/ChangeLog (170443 => 170444) --- trunk/Source/WebKit2/ChangeLog 2014-06-25 22:45:20 UTC (rev 170443) +++ trunk/Sou
[webkit-changes] [170443] trunk/Source/WebCore
Title: [170443] trunk/Source/WebCore Revision 170443 Author jer.no...@apple.com Date 2014-06-25 15:45:20 -0700 (Wed, 25 Jun 2014) Log Message [MSE][Mac] REGRESSION(r170336) - zero tolerance seeks are ignored. https://bugs.webkit.org/show_bug.cgi?id=134310 Reviewed by Brent Fulgham. Tests for zero tolerance seeks were inadvertantly reversed in r170336. * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm Diff Modified: trunk/Source/WebCore/ChangeLog (170442 => 170443) --- trunk/Source/WebCore/ChangeLog 2014-06-25 22:37:37 UTC (rev 170442) +++ trunk/Source/WebCore/ChangeLog 2014-06-25 22:45:20 UTC (rev 170443) @@ -1,5 +1,17 @@ 2014-06-25 Jer Noble +[MSE][Mac] REGRESSION(r170336) - zero tolerance seeks are ignored. +https://bugs.webkit.org/show_bug.cgi?id=134310 + +Reviewed by Brent Fulgham. + +Tests for zero tolerance seeks were inadvertantly reversed in r170336. + +* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: +(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal): + +2014-06-25 Jer Noble + [MSE][Mac] Pause playback when readyState drops below HAVE_FUTURE_DATA, and do not complete seek until it rises above HAVE_METADATA. https://bugs.webkit.org/show_bug.cgi?id=134306 Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm (170442 => 170443) --- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm 2014-06-25 22:37:37 UTC (rev 170442) +++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm 2014-06-25 22:45:20 UTC (rev 170443) @@ -455,7 +455,7 @@ return; MediaTime seekTime; -if (pendingSeek->negativeThreshold != MediaTime::zeroTime() && pendingSeek->positiveThreshold != MediaTime::zeroTime()) +if (pendingSeek->negativeThreshold == MediaTime::zeroTime() && pendingSeek->positiveThreshold == MediaTime::zeroTime()) seekTime = pendingSeek->targetTime; else seekTime = m_mediaSourcePrivate->fastSeekTimeForMediaTime(pendingSeek->targetTime, pendingSeek->positiveThreshold, pendingSeek->negativeThreshold); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170442] trunk/Source/WebKit2
Title: [170442] trunk/Source/WebKit2 Revision 170442 Author m...@apple.com Date 2014-06-25 15:37:37 -0700 (Wed, 25 Jun 2014) Log Message REGRESSION (r170254): Input methods don’t work https://bugs.webkit.org/show_bug.cgi?id=134311 Reviewed by Tim Horton. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getSelectedRangeAsync): Removed code that accidentally put the callback function into a throwaway EditingRangeCallback. Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp Diff Modified: trunk/Source/WebKit2/ChangeLog (170441 => 170442) --- trunk/Source/WebKit2/ChangeLog 2014-06-25 21:59:54 UTC (rev 170441) +++ trunk/Source/WebKit2/ChangeLog 2014-06-25 22:37:37 UTC (rev 170442) @@ -1,3 +1,14 @@ +2014-06-25 Dan Bernstein + + REGRESSION (r170254): Input methods don’t work +https://bugs.webkit.org/show_bug.cgi?id=134311 + +Reviewed by Tim Horton. + +* UIProcess/WebPageProxy.cpp: +(WebKit::WebPageProxy::getSelectedRangeAsync): Removed code that accidentally put the +callback function into a throwaway EditingRangeCallback. + 2014-06-25 Timothy Horton [iOS][WK2] Rotating a zoomed PDF leads to weird scrolling behavior Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (170441 => 170442) --- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2014-06-25 21:59:54 UTC (rev 170441) +++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2014-06-25 22:37:37 UTC (rev 170442) @@ -4972,10 +4972,8 @@ void WebPageProxy::getSelectedRangeAsync(std::function callbackFunction) { -RefPtr callback = EditingRangeCallback::create(std::move(callbackFunction)); - if (!isValid()) { -callback->invalidate(); +callbackFunction(EditingRange(), CallbackBase::Error::Unknown); return; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170441] trunk/Source/JavaScriptCore
Title: [170441] trunk/Source/_javascript_Core Revision 170441 Author gga...@apple.com Date 2014-06-25 14:59:54 -0700 (Wed, 25 Jun 2014) Log Message 2014-06-25 Geoffrey Garen Build fix. Unreviewed. * runtime/JSDateMath.cpp: (JSC::parseDateFromNullTerminatedCharacters): * runtime/VM.cpp: (JSC::VM::resetDateCache): Use std::numeric_limits instead of QNaN constant since that constant doesn't exist anymore. Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/JSDateMath.cpp trunk/Source/_javascript_Core/runtime/VM.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (170440 => 170441) --- trunk/Source/_javascript_Core/ChangeLog 2014-06-25 21:51:45 UTC (rev 170440) +++ trunk/Source/_javascript_Core/ChangeLog 2014-06-25 21:59:54 UTC (rev 170441) @@ -1,5 +1,17 @@ 2014-06-25 Geoffrey Garen +Build fix. + +Unreviewed. + +* runtime/JSDateMath.cpp: +(JSC::parseDateFromNullTerminatedCharacters): +* runtime/VM.cpp: +(JSC::VM::resetDateCache): Use std::numeric_limits instead of QNaN +constant since that constant doesn't exist anymore. + +2014-06-25 Geoffrey Garen + Unreviewed, rolling out r166876. Caused some ECMA test262 failures Modified: trunk/Source/_javascript_Core/runtime/JSDateMath.cpp (170440 => 170441) --- trunk/Source/_javascript_Core/runtime/JSDateMath.cpp 2014-06-25 21:51:45 UTC (rev 170440) +++ trunk/Source/_javascript_Core/runtime/JSDateMath.cpp 2014-06-25 21:59:54 UTC (rev 170441) @@ -228,7 +228,7 @@ int offset; double ms = WTF::parseDateFromNullTerminatedCharacters(dateString, haveTZ, offset); if (std::isnan(ms)) -return QNaN; +return std::numeric_limits::quiet_NaN(); // fall back to local timezone if (!haveTZ) Modified: trunk/Source/_javascript_Core/runtime/VM.cpp (170440 => 170441) --- trunk/Source/_javascript_Core/runtime/VM.cpp 2014-06-25 21:51:45 UTC (rev 170440) +++ trunk/Source/_javascript_Core/runtime/VM.cpp 2014-06-25 21:59:54 UTC (rev 170441) @@ -496,7 +496,7 @@ { localTimeOffsetCache.reset(); cachedDateString = String(); -cachedDateStringValue = QNaN; +cachedDateStringValue = std::numeric_limits::quiet_NaN(); dateInstanceCache.reset(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170440] trunk
Title: [170440] trunk Revision 170440 Author gga...@apple.com Date 2014-06-25 14:51:45 -0700 (Wed, 25 Jun 2014) Log Message Unreviewed, rolling out r166876. Caused some ECMA test262 failures Reverted changeset: "Date object needs to check for ES5 15.9.1.14 TimeClip limit." https://bugs.webkit.org/show_bug.cgi?id=131248 http://trac.webkit.org/changeset/166876 Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/DateConstructor.cpp trunk/Source/_javascript_Core/runtime/JSDateMath.cpp trunk/Source/_javascript_Core/runtime/JSDateMath.h trunk/Source/_javascript_Core/runtime/VM.cpp trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/DateMath.cpp trunk/Source/WTF/wtf/DateMath.h Removed Paths trunk/LayoutTests/js/regress-131248-expected.txt trunk/LayoutTests/js/regress-131248.html trunk/LayoutTests/js/script-tests/regress-131248.js Diff Modified: trunk/LayoutTests/ChangeLog (170439 => 170440) --- trunk/LayoutTests/ChangeLog 2014-06-25 21:43:14 UTC (rev 170439) +++ trunk/LayoutTests/ChangeLog 2014-06-25 21:51:45 UTC (rev 170440) @@ -1,3 +1,15 @@ +2014-06-25 Geoffrey Garen + +Unreviewed, rolling out r166876. + +Caused some ECMA test262 failures + +Reverted changeset: + +"Date object needs to check for ES5 15.9.1.14 TimeClip limit." +https://bugs.webkit.org/show_bug.cgi?id=131248 +http://trac.webkit.org/changeset/166876 + 2014-06-25 Dirk Schulze Add all blend modes to feBlend Deleted: trunk/LayoutTests/js/regress-131248-expected.txt (170439 => 170440) --- trunk/LayoutTests/js/regress-131248-expected.txt 2014-06-25 21:43:14 UTC (rev 170439) +++ trunk/LayoutTests/js/regress-131248-expected.txt 2014-06-25 21:51:45 UTC (rev 170440) @@ -1,41 +0,0 @@ -This test checks date values at the limits set by the ES5 15.9.1.14 TimeClip specification and ensures that we don't crash on any assertions. - -On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". - - -(new Date(1396547803766)).setDate(1396549003769) ==> NaN ms, Invalid Date -(new Date(1396547803766)).setDate(1) ==> NaN ms, Invalid Date -(new Date(1396547803766)).setDate(99983840) ==> NaN ms, Invalid Date -(new Date(1396547803766)).setDate(99983839) ==> 863978203766 ms, Fri Sep 12 275760 -(new Date(1396547803766)).setDate(1000) ==> 865396288603766 ms, Thu Apr 25 29393 - -(new Date(0)).setTime(8641) ==> NaN ms, Invalid Date NaN ms -(new Date(0)).setTime(8640) ==> 8640 ms, Sat, 13 Sep 275760 00:00:00 GMT 0 ms -(new Date(0)).setTime(-8640) ==> -8640 ms, Tue, 20 Apr -271821 00:00:00 GMT 0 ms -(new Date(0)).setTime(-8641) ==> NaN ms, Invalid Date NaN ms - -(new Date(13 Sep 275760 00:00:00 -0001) ==> NaN ms, Invalid Date NaN ms -(new Date(13 Sep 275760 00:00:00 +) ==> 8640 ms, Sat, 13 Sep 275760 00:00:00 GMT 0 ms -(new Date(13 Sep 275760 00:00:00 +0001) ==> 86399640 ms, Fri, 12 Sep 275760 23:00:00 GMT 0 ms -(new Date(20 Apr -271821 00:00:00 -0001) ==> -86399640 ms, Tue, 20 Apr -271821 01:00:00 GMT 0 ms -(new Date(20 Apr -271821 00:00:00 +) ==> -8640 ms, Tue, 20 Apr -271821 00:00:00 GMT 0 ms -(new Date(20 Apr -271821 00:00:00 +0001) ==> NaN ms, Invalid Date NaN ms - -(new Date(19 Apr -271821 23:59:59) ==> NaN ms, Invalid Date NaN ms - -(new Date(275760-09-13T00:00:00.001) ==> NaN ms, Invalid Date NaN ms -(new Date(275760-09-13T00:00:00.000) ==> 8640 ms, Sat, 13 Sep 275760 00:00:00 GMT 0 ms -(new Date(-271821-04-20T00:00:00.) ==> -8640 ms, Tue, 20 Apr -271821 00:00:00 GMT 0 ms -(new Date(-271821-04-19T23:59:59.999) ==> NaN ms, Invalid Date NaN ms - -(new Date(Sat, 13 Sep 275760 00:00:00 UTC-2) ==> NaN ms, Invalid Date NaN ms -(new Date(Sat, 13 Sep 275760 00:00:00 UTC) ==> 8640 ms, Sat, 13 Sep 275760 00:00:00 GMT 0 ms -(new Date(Sat, 13 Sep 275760 00:00:00 UTC+2) ==> 86399280 ms, Fri, 12 Sep 275760 22:00:00 GMT 0 ms -(new Date(Tue, 20 Apr -271821 00:00:00 UTC-2) ==> -86399280 ms, Tue, 20 Apr -271821 02:00:00 GMT 0 ms -(new Date(Tue, 20 Apr -271821 00:00:00 UTC) ==> -8640 ms, Tue, 20 Apr -271821 00:00:00 GMT 0 ms -(new Date(Tue, 20 Apr -271821 00:00:00 UTC+2) ==> NaN ms, Invalid Date NaN ms - -PASS successfullyParsed is true - -TEST COMPLETE - Deleted: trunk/LayoutTests/js/regress-131248.html (170439 => 170440) --- trunk/LayoutTests/js/regress-131248.html 2014-06-25 21:43:14 UTC (rev 170439) +++ trunk/LayoutTests/js/regress-131248.html 2014-06-25 21:51:45 UTC (rev 170440) @@ -1,10 +0,0 @@ - - - -
[webkit-changes] [170439] trunk/Source/WebKit2
Title: [170439] trunk/Source/WebKit2 Revision 170439 Author timothy_hor...@apple.com Date 2014-06-25 14:43:14 -0700 (Wed, 25 Jun 2014) Log Message [iOS][WK2] Rotating a zoomed PDF leads to weird scrolling behavior https://bugs.webkit.org/show_bug.cgi?id=134286 Reviewed by Benjamin Poulain. * UIProcess/ios/WKPDFView.mm: (-[WKPDFView _computePageAndDocumentFrames]): The WKPDFView frame and scroll view content size need to be scaled. (-[WKPDFView web_setScrollView:]): Deleted. (-[WKPDFView web_initWithFrame:webView:]): Get rid of _documentFrame, and don't set it at initWithFrame: time (it's not useful yet). Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/ios/WKPDFView.mm Diff Modified: trunk/Source/WebKit2/ChangeLog (170438 => 170439) --- trunk/Source/WebKit2/ChangeLog 2014-06-25 21:32:49 UTC (rev 170438) +++ trunk/Source/WebKit2/ChangeLog 2014-06-25 21:43:14 UTC (rev 170439) @@ -1,3 +1,19 @@ +2014-06-25 Timothy Horton + +[iOS][WK2] Rotating a zoomed PDF leads to weird scrolling behavior +https://bugs.webkit.org/show_bug.cgi?id=134286 + +Reviewed by Benjamin Poulain. + +* UIProcess/ios/WKPDFView.mm: +(-[WKPDFView _computePageAndDocumentFrames]): +The WKPDFView frame and scroll view content size need to be scaled. + +(-[WKPDFView web_setScrollView:]): Deleted. + +(-[WKPDFView web_initWithFrame:webView:]): +Get rid of _documentFrame, and don't set it at initWithFrame: time (it's not useful yet). + 2014-06-25 Laszlo Gombos Remove build guard for progress element Modified: trunk/Source/WebKit2/UIProcess/ios/WKPDFView.mm (170438 => 170439) --- trunk/Source/WebKit2/UIProcess/ios/WKPDFView.mm 2014-06-25 21:32:49 UTC (rev 170438) +++ trunk/Source/WebKit2/UIProcess/ios/WKPDFView.mm 2014-06-25 21:43:14 UTC (rev 170439) @@ -57,7 +57,6 @@ RetainPtr _pageNumberIndicator; Vector _pages; -CGRect _documentFrame; unsigned _centerPageNumber; CGSize _minimumSize; @@ -79,7 +78,6 @@ _scrollView = webView.scrollView; [_scrollView setMinimumZoomScale:pdfMinimumZoomScale]; [_scrollView setMaximumZoomScale:pdfMaximumZoomScale]; -[_scrollView setContentSize:_documentFrame.size]; [_scrollView setBackgroundColor:[UIColor grayColor]]; return self; @@ -126,16 +124,6 @@ [self _revalidateViews]; } -- (void)web_setScrollView:(UIScrollView *)scrollView -{ -_scrollView = scrollView; - -[_scrollView setMinimumZoomScale:pdfMinimumZoomScale]; -[_scrollView setMaximumZoomScale:pdfMaximumZoomScale]; -[_scrollView setContentSize:_documentFrame.size]; -[_scrollView setBackgroundColor:[UIColor grayColor]]; -} - - (void)scrollViewDidScroll:(UIScrollView *)scrollView { if (scrollView.isZoomBouncing) @@ -247,12 +235,13 @@ pageFrame.origin.y += pageFrame.size.height - pdfPageMargin; } -_documentFrame = [self frame]; -_documentFrame.size.width = _minimumSize.width; -_documentFrame.size.height = std::max(pageFrame.origin.y + pdfPageMargin, _minimumSize.height); +CGFloat scale = _scrollView.zoomScale; +CGRect newFrame = [self frame]; +newFrame.size.width = _minimumSize.width * scale; +newFrame.size.height = std::max(pageFrame.origin.y + pdfPageMargin, _minimumSize.height) * scale; -[self setFrame:_documentFrame]; -[_scrollView setContentSize:_documentFrame.size]; +[self setFrame:newFrame]; +[_scrollView setContentSize:newFrame.size]; } @end ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170438] trunk/Source/WebCore
Title: [170438] trunk/Source/WebCore Revision 170438 Author jer.no...@apple.com Date 2014-06-25 14:32:49 -0700 (Wed, 25 Jun 2014) Log Message [MSE][Mac] Pause playback when readyState drops below HAVE_FUTURE_DATA, and do not complete seek until it rises above HAVE_METADATA. https://bugs.webkit.org/show_bug.cgi?id=134306 Reviewed by Eric Carlson. Pause the synchronizer before seeking, and do not resume the synchronizer until it both reports that the seek completed, and that the readyState rises above HAVE_METADATA. In every other location where we change the rate of the synchronizer, gate that rate change on the above. * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC): Check shouldBePlaying(). (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal): Ditto. (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance): Unset m_seekCompleted. (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal): Pause the synchronizer. (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setRateDouble): Check shouldBePlaying(). (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::shouldBePlaying): Test m_seeking, !m_seekCompleted, and the readyState. (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setReadyState): Set m_seekCompleted; check shouldBePlaying() and play if appropriate. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm Diff Modified: trunk/Source/WebCore/ChangeLog (170437 => 170438) --- trunk/Source/WebCore/ChangeLog 2014-06-25 21:31:35 UTC (rev 170437) +++ trunk/Source/WebCore/ChangeLog 2014-06-25 21:32:49 UTC (rev 170438) @@ -1,5 +1,26 @@ 2014-06-25 Jer Noble +[MSE][Mac] Pause playback when readyState drops below HAVE_FUTURE_DATA, and do not complete seek until it rises above HAVE_METADATA. +https://bugs.webkit.org/show_bug.cgi?id=134306 + +Reviewed by Eric Carlson. + +Pause the synchronizer before seeking, and do not resume the synchronizer until it both reports that the seek completed, +and that the readyState rises above HAVE_METADATA. In every other location where we change the rate of the synchronizer, +gate that rate change on the above. + +* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: +* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: +(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC): Check shouldBePlaying(). +(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal): Ditto. +(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance): Unset m_seekCompleted. +(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal): Pause the synchronizer. +(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setRateDouble): Check shouldBePlaying(). +(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::shouldBePlaying): Test m_seeking, !m_seekCompleted, and the readyState. +(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setReadyState): Set m_seekCompleted; check shouldBePlaying() and play if appropriate. + +2014-06-25 Jer Noble + [MSE] Update monitorSourceBuffers to match recent spec changes https://bugs.webkit.org/show_bug.cgi?id=134305 Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h (170437 => 170438) --- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h 2014-06-25 21:31:35 UTC (rev 170437) +++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h 2014-06-25 21:32:49 UTC (rev 170438) @@ -156,6 +156,7 @@ void ensureLayer(); void destroyLayer(); +bool shouldBePlaying() const; // MediaPlayer Factory Methods static PassOwnPtr create(MediaPlayer*); @@ -194,6 +195,7 @@ double m_rate; bool m_playing; bool m_seeking; +bool m_seekCompleted; mutable bool m_loadingProgressed; bool m_hasAvailableVideoFrame; }; Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm (170437 => 170438) --- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm 2014-06-25 21:31:35 UTC (rev 170437) +++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm 2014-06-25 21:32:49 UTC (rev 170438) @@ -139,6 +139,7 @@ , m_rate(1) , m_playing(0) , m_seeking(false) +, m_seekCompleted(true) , m_loadingProgressed(false) { CMTimebaseRef time
[webkit-changes] [170437] trunk/Source/WebCore
Title: [170437] trunk/Source/WebCore Revision 170437 Author jer.no...@apple.com Date 2014-06-25 14:31:35 -0700 (Wed, 25 Jun 2014) Log Message [MSE] Update monitorSourceBuffers to match recent spec changes https://bugs.webkit.org/show_bug.cgi?id=134305 Reviewed by Eric Carlson. In W3C bug #24347, the text for the third clause of Source Buffer Monitoring was updated. Update our implementation to match the new text. * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::monitorSourceBuffers): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (170436 => 170437) --- trunk/Source/WebCore/ChangeLog 2014-06-25 21:15:37 UTC (rev 170436) +++ trunk/Source/WebCore/ChangeLog 2014-06-25 21:31:35 UTC (rev 170437) @@ -1,3 +1,16 @@ +2014-06-25 Jer Noble + +[MSE] Update monitorSourceBuffers to match recent spec changes +https://bugs.webkit.org/show_bug.cgi?id=134305 + +Reviewed by Eric Carlson. + +In W3C bug #24347, the text for the third clause of Source Buffer Monitoring was updated. Update our +implementation to match the new text. + +* Modules/mediasource/MediaSource.cpp: +(WebCore::MediaSource::monitorSourceBuffers): + 2014-06-25 Alex Christensen And pe...@outlook.com Modified: trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp (170436 => 170437) --- trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp 2014-06-25 21:15:37 UTC (rev 170436) +++ trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp 2014-06-25 21:31:35 UTC (rev 170437) @@ -221,9 +221,9 @@ return; } -// ↳ If buffered for at least one object in activeSourceBuffers contains a TimeRange that includes -// the current playback position but not enough data to ensure uninterrupted playback: -if (std::any_of(begin, end, [](RefPtr& sourceBuffer) { +// ↳ If buffered for all objects in activeSourceBuffers contain a TimeRange that includes +// the current playback position and some time beyond the current playback position, then run the following steps: +if (std::all_of(begin, end, [](RefPtr& sourceBuffer) { return sourceBuffer->hasFutureTime(); })) { // 1. Set the HTMLMediaElement.readyState attribute to HAVE_FUTURE_DATA. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170436] branches/ftlopt/Source/JavaScriptCore
Title: [170436] branches/ftlopt/Source/_javascript_Core Revision 170436 Author mhahnenb...@apple.com Date 2014-06-25 14:15:37 -0700 (Wed, 25 Jun 2014) Log Message Structure bit fields should have a consistent format https://bugs.webkit.org/show_bug.cgi?id=134307 Reviewed by Filip Pizlo. Currently we use C-style bit fields for a number of member variables in Structure to save space. This makes it difficult to load these fields in the JIT. We should instead use our own bitfield format to make it easy to load and test these variables in JIT code. * runtime/JSObject.cpp: (JSC::JSObject::putDirectNonIndexAccessor): (JSC::JSObject::reifyStaticFunctionsForDelete): * runtime/Structure.cpp: (JSC::StructureTransitionTable::contains): (JSC::StructureTransitionTable::get): (JSC::StructureTransitionTable::add): (JSC::Structure::Structure): (JSC::Structure::materializePropertyMap): (JSC::Structure::addPropertyTransition): (JSC::Structure::despecifyFunctionTransition): (JSC::Structure::toDictionaryTransition): (JSC::Structure::freezeTransition): (JSC::Structure::preventExtensionsTransition): (JSC::Structure::takePropertyTableOrCloneIfPinned): (JSC::Structure::nonPropertyTransition): (JSC::Structure::flattenDictionaryStructure): (JSC::Structure::addPropertyWithoutTransition): (JSC::Structure::pin): (JSC::Structure::allocateRareData): (JSC::Structure::cloneRareDataFrom): (JSC::Structure::getConcurrently): (JSC::Structure::putSpecificValue): (JSC::Structure::getPropertyNamesFromStructure): (JSC::Structure::visitChildren): (JSC::Structure::checkConsistency): * runtime/Structure.h: (JSC::Structure::isExtensible): (JSC::Structure::isDictionary): (JSC::Structure::isUncacheableDictionary): (JSC::Structure::propertyAccessesAreCacheable): (JSC::Structure::previousID): (JSC::Structure::setHasGetterSetterPropertiesWithProtoCheck): (JSC::Structure::setContainsReadOnlyProperties): (JSC::Structure::disableSpecificFunctionTracking): (JSC::Structure::objectToStringValue): (JSC::Structure::setObjectToStringValue): (JSC::Structure::setPreviousID): (JSC::Structure::clearPreviousID): (JSC::Structure::previous): (JSC::Structure::rareData): (JSC::Structure::didTransition): Deleted. (JSC::Structure::hasGetterSetterProperties): Deleted. (JSC::Structure::hasReadOnlyOrGetterSetterPropertiesExcludingProto): Deleted. (JSC::Structure::setHasGetterSetterProperties): Deleted. (JSC::Structure::hasNonEnumerableProperties): Deleted. (JSC::Structure::staticFunctionsReified): Deleted. (JSC::Structure::setStaticFunctionsReified): Deleted. * runtime/StructureInlines.h: (JSC::Structure::setEnumerationCache): (JSC::Structure::enumerationCache): (JSC::Structure::checkOffsetConsistency): Modified Paths branches/ftlopt/Source/_javascript_Core/ChangeLog branches/ftlopt/Source/_javascript_Core/runtime/JSObject.cpp branches/ftlopt/Source/_javascript_Core/runtime/Structure.cpp branches/ftlopt/Source/_javascript_Core/runtime/Structure.h branches/ftlopt/Source/_javascript_Core/runtime/StructureInlines.h Diff Modified: branches/ftlopt/Source/_javascript_Core/ChangeLog (170435 => 170436) --- branches/ftlopt/Source/_javascript_Core/ChangeLog 2014-06-25 21:04:17 UTC (rev 170435) +++ branches/ftlopt/Source/_javascript_Core/ChangeLog 2014-06-25 21:15:37 UTC (rev 170436) @@ -1,3 +1,67 @@ +2014-06-25 Mark Hahnenberg + +Structure bit fields should have a consistent format +https://bugs.webkit.org/show_bug.cgi?id=134307 + +Reviewed by Filip Pizlo. + +Currently we use C-style bit fields for a number of member variables in Structure to save space. +This makes it difficult to load these fields in the JIT. We should instead use our own bitfield +format to make it easy to load and test these variables in JIT code. + +* runtime/JSObject.cpp: +(JSC::JSObject::putDirectNonIndexAccessor): +(JSC::JSObject::reifyStaticFunctionsForDelete): +* runtime/Structure.cpp: +(JSC::StructureTransitionTable::contains): +(JSC::StructureTransitionTable::get): +(JSC::StructureTransitionTable::add): +(JSC::Structure::Structure): +(JSC::Structure::materializePropertyMap): +(JSC::Structure::addPropertyTransition): +(JSC::Structure::despecifyFunctionTransition): +(JSC::Structure::toDictionaryTransition): +(JSC::Structure::freezeTransition): +(JSC::Structure::preventExtensionsTransition): +(JSC::Structure::takePropertyTableOrCloneIfPinned): +(JSC::Structure::nonPropertyTransition): +(JSC::Structure::flattenDictionaryStructure): +(JSC::Structure::addPropertyWithoutTransition): +(JSC::Structure::pin): +(JSC::Structure::allocateRareData): +(JSC::Structure::cloneRareDataFrom): +(JSC::Structure::getConcurrently): +(JSC::Structure::putSpecificValue): +(JSC::Structure::getPropertyNamesFromStructure): +(JSC::Structure::visitChildren): +(JS
[webkit-changes] [170434] trunk/Source/WebCore
Title: [170434] trunk/Source/WebCore Revision 170434 Author benja...@webkit.org Date 2014-06-25 13:42:23 -0700 (Wed, 25 Jun 2014) Log Message [Mac] Update the time base of event's timestamp when the system time changes https://bugs.webkit.org/show_bug.cgi?id=134293 Reviewed by Anders Carlsson. * platform/mac/PlatformEventFactoryMac.mm: (WebCore::cachedStartupTimeIntervalSince1970): Since events timestamps are absolute time, they also need to be updated if the system clock changes. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mac/PlatformEventFactoryMac.mm Diff Modified: trunk/Source/WebCore/ChangeLog (170433 => 170434) --- trunk/Source/WebCore/ChangeLog 2014-06-25 19:03:47 UTC (rev 170433) +++ trunk/Source/WebCore/ChangeLog 2014-06-25 20:42:23 UTC (rev 170434) @@ -1,3 +1,14 @@ +2014-06-25 Benjamin Poulain + +[Mac] Update the time base of event's timestamp when the system time changes +https://bugs.webkit.org/show_bug.cgi?id=134293 + +Reviewed by Anders Carlsson. + +* platform/mac/PlatformEventFactoryMac.mm: +(WebCore::cachedStartupTimeIntervalSince1970): Since events timestamps are absolute time, they also +need to be updated if the system clock changes. + 2014-06-25 Dirk Schulze Add all blend modes to feBlend Modified: trunk/Source/WebCore/platform/mac/PlatformEventFactoryMac.mm (170433 => 170434) --- trunk/Source/WebCore/platform/mac/PlatformEventFactoryMac.mm 2014-06-25 19:03:47 UTC (rev 170433) +++ trunk/Source/WebCore/platform/mac/PlatformEventFactoryMac.mm 2014-06-25 20:42:23 UTC (rev 170434) @@ -329,10 +329,17 @@ { static dispatch_once_t once; dispatch_once(&once, ^{ +void (^updateBlock)(NSNotification *) = Block_copy(^(NSNotification *){ updateSystemStartupTimeIntervalSince1970(); }); [[[NSWorkspace sharedWorkspace] notificationCenter] addObserverForName:NSWorkspaceDidWakeNotification object:nil queue:nil -usingBlock:^(NSNotification *){ updateSystemStartupTimeIntervalSince1970(); }]; +usingBlock:updateBlock]; +[[NSNotificationCenter defaultCenter] addObserverForName:NSSystemClockDidChangeNotification + object:nil + queue:nil + usingBlock:updateBlock]; +Block_release(updateBlock); + updateSystemStartupTimeIntervalSince1970(); }); return systemStartupTime; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170432] trunk/Tools
Title: [170432] trunk/Tools Revision 170432 Author msab...@apple.com Date 2014-06-25 10:34:52 -0700 (Wed, 25 Jun 2014) Log Message Provide _javascript_ aware backtrace script for lldb https://bugs.webkit.org/show_bug.cgi?id=134276 Reviewed by Jer Noble. * lldb/lldb_webkit.py: (__lldb_init_module): (btjs): New scripted command to display a backtrace that shows _javascript_ frames with details. Modified Paths trunk/Tools/ChangeLog trunk/Tools/lldb/lldb_webkit.py Diff Modified: trunk/Tools/ChangeLog (170431 => 170432) --- trunk/Tools/ChangeLog 2014-06-25 17:24:28 UTC (rev 170431) +++ trunk/Tools/ChangeLog 2014-06-25 17:34:52 UTC (rev 170432) @@ -1,3 +1,14 @@ +2014-06-25 Michael Saboff + +Provide _javascript_ aware backtrace script for lldb +https://bugs.webkit.org/show_bug.cgi?id=134276 + +Reviewed by Jer Noble. + +* lldb/lldb_webkit.py: +(__lldb_init_module): +(btjs): New scripted command to display a backtrace that shows _javascript_ frames with details. + 2014-06-25 Michał Pakuła vel Rutka REGRESSION (r170426) Broke two python tests Modified: trunk/Tools/lldb/lldb_webkit.py (170431 => 170432) --- trunk/Tools/lldb/lldb_webkit.py 2014-06-25 17:24:28 UTC (rev 170431) +++ trunk/Tools/lldb/lldb_webkit.py 2014-06-25 17:34:52 UTC (rev 170432) @@ -30,9 +30,11 @@ """ import lldb +import string import struct def __lldb_init_module(debugger, dict): +debugger.HandleCommand('command script add -f lldb_webkit.btjs btjs') debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFString_SummaryProvider WTF::String') debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFStringImpl_SummaryProvider WTF::StringImpl') debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFAtomicString_SummaryProvider WTF::AtomicString') @@ -96,6 +98,43 @@ provider = WebCoreLayoutPointProvider(valobj, dict) return "{ x = %s, y = %s }" % (provider.get_x(), provider.get_y()) + +def btjs(debugger, command, result, internal_dict): +'''Prints a stack trace of current thread with _javascript_ frames decoded. Takes optional frame count argument''' + +target = debugger.GetSelectedTarget() +addressFormat = '#0{width}x'.format(width=target.GetAddressByteSize() * 2 + 2) +process = target.GetProcess() +thread = process.GetSelectedThread() + +backtraceDepth = thread.GetNumFrames() + +if len(command) == 1: +try: +backtraceDepth = int(command) +except ValueError: +return + +threadFormat = '* thread #{num}: tid = {tid:#x}, {pcAddr:' + addressFormat + '}, queue = \'{queueName}, stop reason = {stopReason}' +print threadFormat.format(num=thread.GetIndexID(), tid=thread.GetThreadID(), pcAddr=thread.GetFrameAtIndex(0).GetPC(), queueName=thread.GetQueueName(), stopReason=thread.GetStopDescription(30)) + +for frame in thread: +if backtraceDepth < 1: +break + +backtraceDepth = backtraceDepth - 1 + +function = frame.GetFunction() + +if not frame or not frame.GetSymbol() or frame.GetSymbol().GetName() == "llint_entry": +callFrame = frame.GetSP() +JSFrameDescription = frame.EvaluateExpression("((JSC::CallFrame*)0x%x)->describeFrame()" % frame.GetFP()).GetSummary() +JSFrameDescription = string.strip(JSFrameDescription, '"') +frameFormat = 'frame #{num}: {addr:' + addressFormat + '} {desc}' +print frameFormat.format(num=frame.GetFrameID(), addr=frame.GetPC(), desc=JSFrameDescription) +else: +print '%s' % frame + # FIXME: Provide support for the following types: # def WTFVector_SummaryProvider(valobj, dict): # def WTFCString_SummaryProvider(valobj, dict): ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170431] trunk/Source/JavaScriptCore
Title: [170431] trunk/Source/_javascript_Core Revision 170431 Author bfulg...@apple.com Date 2014-06-25 10:24:28 -0700 (Wed, 25 Jun 2014) Log Message [Win] Unreviewed gardening. * _javascript_Core.vcxproj/_javascript_Core.vcxproj.filters: Update to put various files in proper IDE categories. Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_Core.vcxproj.filters Diff Modified: trunk/Source/_javascript_Core/ChangeLog (170430 => 170431) --- trunk/Source/_javascript_Core/ChangeLog 2014-06-25 17:00:04 UTC (rev 170430) +++ trunk/Source/_javascript_Core/ChangeLog 2014-06-25 17:24:28 UTC (rev 170431) @@ -1,3 +1,10 @@ +2014-06-25 Brent Fulgham + +[Win] Unreviewed gardening. + +* _javascript_Core.vcxproj/_javascript_Core.vcxproj.filters: Update to +put various files in proper IDE categories. + 2014-06-25 pe...@outlook.com [Win64] ASM LLINT is not enabled. Modified: trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_Core.vcxproj.filters (170430 => 170431) --- trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_Core.vcxproj.filters 2014-06-25 17:00:04 UTC (rev 170430) +++ trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_Core.vcxproj.filters 2014-06-25 17:24:28 UTC (rev 170431) @@ -1095,9 +1095,6 @@ dfg - - dfg - dfg @@ -1509,6 +1506,105 @@ llvm + + jit + + + inspector + + + dfg + + + dfg + + + dfg + + + dfg + + + dfg + + + dfg + + + dfg + + + bytecode + + + inspector + + + bytecode + + + inspector + + + inspector + + + inspector + + + inspector + + + inspector + + + inspector + + + inspector + + + inspector + + + inspector + + + inspector + + + inspector + + + bytecode + + + profiler + + + bytecode + + + jit + + + inspector + + + jit + + + inspector + + + inspector + + + inspector + + + inspector + @@ -2624,9 +2720,6 @@ runtime - - runtime - runtime @@ -3180,9 +3273,6 @@ dfg - - dfg - dfg @@ -3703,6 +3793,120 @@ llvm + + jit + + + assembler + + + inspector + + + dfg + + + dfg + + + dfg + + + dfg + + + dfg + + + dfg + + + dfg + + + dfg + + + bytecode + + + inspector + + + inspector + + + inspector + + + inspector + + + inspector + + + inspector + + + Derived Sources + + + inspector + + + inspector + + + inspector + + + inspector + + + inspector + + + inspector + + + inspector + + + runtime + + + bytecode + + + profiler + + + bytecode + + + inspector + + + jit + + + inspector + + + inspector + + + inspector + + + inspector + + + inspector + + + inspector + @@ -3713,7 +3917,9 @@ - + + Derived Sources + jit ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170430] trunk/Source/WebCore
Title: [170430] trunk/Source/WebCore Revision 170430 Author za...@apple.com Date 2014-06-25 10:00:04 -0700 (Wed, 25 Jun 2014) Log Message Unreviewed iOS build fix after r170425. * accessibility/AccessibilityProgressIndicator.cpp: * accessibility/AccessibilityProgressIndicator.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/accessibility/AccessibilityProgressIndicator.cpp trunk/Source/WebCore/accessibility/AccessibilityProgressIndicator.h Diff Modified: trunk/Source/WebCore/ChangeLog (170429 => 170430) --- trunk/Source/WebCore/ChangeLog 2014-06-25 16:56:42 UTC (rev 170429) +++ trunk/Source/WebCore/ChangeLog 2014-06-25 17:00:04 UTC (rev 170430) @@ -1,3 +1,10 @@ +2014-06-25 Zalan Bujtas + +Unreviewed iOS build fix after r170425. + +* accessibility/AccessibilityProgressIndicator.cpp: +* accessibility/AccessibilityProgressIndicator.h: + 2014-06-25 Chris Fleizach AX: Crash at com.apple.WebCore: WebCore::AlternativeTextController::removeDictationAlternativesForMarker + 43 Modified: trunk/Source/WebCore/accessibility/AccessibilityProgressIndicator.cpp (170429 => 170430) --- trunk/Source/WebCore/accessibility/AccessibilityProgressIndicator.cpp 2014-06-25 16:56:42 UTC (rev 170429) +++ trunk/Source/WebCore/accessibility/AccessibilityProgressIndicator.cpp 2014-06-25 17:00:04 UTC (rev 170430) @@ -21,7 +21,6 @@ #include "config.h" #include "AccessibilityProgressIndicator.h" -#if ENABLE(METER_ELEMENT) #include "FloatConversion.h" #include "HTMLMeterElement.h" #include "HTMLNames.h" @@ -141,5 +140,3 @@ } // namespace WebCore -#endif // ENABLE(METER_ELEMENT) - Modified: trunk/Source/WebCore/accessibility/AccessibilityProgressIndicator.h (170429 => 170430) --- trunk/Source/WebCore/accessibility/AccessibilityProgressIndicator.h 2014-06-25 16:56:42 UTC (rev 170429) +++ trunk/Source/WebCore/accessibility/AccessibilityProgressIndicator.h 2014-06-25 17:00:04 UTC (rev 170430) @@ -21,7 +21,6 @@ #ifndef AccessibilityProgressIndicator_h #define AccessibilityProgressIndicator_h -#if ENABLE(METER_ELEMENT) #include "AccessibilityRenderObject.h" namespace WebCore { @@ -64,6 +63,4 @@ } // namespace WebCore -#endif // ENABLE(METER_ELEMENT) - #endif // AccessibilityProgressIndicator_h ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [170429] trunk
Title: [170429] trunk Revision 170429 Author cfleiz...@apple.com Date 2014-06-25 09:56:42 -0700 (Wed, 25 Jun 2014) Log Message AX: Crash at com.apple.WebCore: WebCore::AlternativeTextController::removeDictationAlternativesForMarker + 43 https://bugs.webkit.org/show_bug.cgi?id=134226 Reviewed by Enrica Casucci. Source/WebCore: Unchecked access of details pointer in the Document marker led to the crash. It seems erroneous to allow creation of a DocumentMarker without details when one is expected, because it carries the dictation context (not just the description). Also, add in ASSERTs to catch scenarios where a nullptr might be passed in. Test: platform/mac/editing/input/crash-for-empty-text-alternative.html * dom/DocumentMarker.cpp: (WebCore::DocumentMarker::DocumentMarker): * editing/AlternativeTextController.cpp: (WebCore::AlternativeTextController::removeDictationAlternativesForMarker): LayoutTests: * platform/mac-wk2/TestExpectations: Skip test on wk2 because dictation related tests are not yet supported (89401) * platform/mac/editing/input/crash-for-empty-text-alternative-expected.txt: Added. * platform/mac/editing/input/crash-for-empty-text-alternative.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac-wk2/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/DocumentMarker.cpp trunk/Source/WebCore/editing/AlternativeTextController.cpp Added Paths trunk/LayoutTests/platform/mac/editing/input/crash-for-empty-text-alternative-expected.txt trunk/LayoutTests/platform/mac/editing/input/crash-for-empty-text-alternative.html Diff Modified: trunk/LayoutTests/ChangeLog (170428 => 170429) --- trunk/LayoutTests/ChangeLog 2014-06-25 16:37:19 UTC (rev 170428) +++ trunk/LayoutTests/ChangeLog 2014-06-25 16:56:42 UTC (rev 170429) @@ -1,3 +1,15 @@ +2014-06-25 Chris Fleizach + +AX: Crash at com.apple.WebCore: WebCore::AlternativeTextController::removeDictationAlternativesForMarker + 43 +https://bugs.webkit.org/show_bug.cgi?id=134226 + +Reviewed by Enrica Casucci. + +* platform/mac-wk2/TestExpectations: +Skip test on wk2 because dictation related tests are not yet supported (89401) +* platform/mac/editing/input/crash-for-empty-text-alternative-expected.txt: Added. +* platform/mac/editing/input/crash-for-empty-text-alternative.html: Added. + 2014-06-25 Laszlo Gombos Remove build guard for progress element Added: trunk/LayoutTests/platform/mac/editing/input/crash-for-empty-text-alternative-expected.txt (0 => 170429) --- trunk/LayoutTests/platform/mac/editing/input/crash-for-empty-text-alternative-expected.txt (rev 0) +++ trunk/LayoutTests/platform/mac/editing/input/crash-for-empty-text-alternative-expected.txt 2014-06-25 16:56:42 UTC (rev 170429) @@ -0,0 +1,6 @@ +Ensure that a empty text alternative does not lead to a crash + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + +tisatest +TEST COMPLETE Added: trunk/LayoutTests/platform/mac/editing/input/crash-for-empty-text-alternative.html (0 => 170429) --- trunk/LayoutTests/platform/mac/editing/input/crash-for-empty-text-alternative.html (rev 0) +++ trunk/LayoutTests/platform/mac/editing/input/crash-for-empty-text-alternative.html 2014-06-25 16:56:42 UTC (rev 170429) @@ -0,0 +1,47 @@ + + + + +body { margin: 0; padding: 0 } + + + + +thisisatest+ +