Bug 195295

Summary: [ContentChangeObserver] Introduce fixed duration content observation
Product: WebKit Reporter: zalan <zalan>
Component: Layout and RenderingAssignee: zalan <zalan>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, commit-queue, ryanhaddad, simon.fraser, sroberts, tsavell, webkit-bot-watchers-bugzilla, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=195334
Bug Depends on:    
Bug Blocks: 263789, 264234    
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
Patch none

Description zalan 2019-03-04 15:07:54 PST
32ms for now.
Comment 1 zalan 2019-03-04 15:16:40 PST
Created attachment 363554 [details]
Patch
Comment 2 Radar WebKit Bug Importer 2019-03-04 15:28:25 PST
<rdar://problem/48579913>
Comment 3 zalan 2019-03-04 15:33:22 PST
Created attachment 363557 [details]
Patch
Comment 4 Simon Fraser (smfr) 2019-03-04 15:44:32 PST
Comment on attachment 363557 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=363557&action=review

> Source/WebCore/ChangeLog:10
> +        It helps finding content changes when they are triggred by nested timers (using a 32ms window). Currently nested timers get dropped on the floor and
> +        we stop observing for content changes before they get fired. 

Maybe some words about what web pages are trying to do.

> Source/WebCore/page/ios/ContentChangeObserver.h:132
> +        InstalledFixedObservationTimeWindow,

Started?

> Source/WebCore/page/ios/ContentChangeObserver.h:133
> +        RemovedFixedObservationTimeWindow

Ended
Comment 5 zalan 2019-03-04 16:10:03 PST
Created attachment 363565 [details]
Patch
Comment 6 WebKit Commit Bot 2019-03-04 16:43:47 PST
Comment on attachment 363565 [details]
Patch

Clearing flags on attachment: 363565

Committed r242403: <https://trac.webkit.org/changeset/242403>
Comment 7 WebKit Commit Bot 2019-03-04 16:43:49 PST
All reviewed patches have been landed.  Closing bug.
Comment 8 Ryan Haddad 2019-03-05 09:14:12 PST
This change caused multiple layout test crashes on iOS Simulator:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x000000010a937be7 WebCore::ContentChangeObserver::stopDurationBasedContentObservation() + 87 (ContentChangeObserver.cpp:236)
1   com.apple.WebCore             	0x000000010a978b3d WebCore::ThreadTimers::sharedTimerFiredInternal() + 173 (ThreadTimers.cpp:132)
2   com.apple.WebCore             	0x000000010a99e4ff WebCore::timerFired(__CFRunLoopTimer*, void*) + 31 (MainThreadSharedTimerCF.cpp:75)
3   com.apple.CoreFoundation      	0x0000000103e55f34 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
4   com.apple.CoreFoundation      	0x0000000103e55b32 __CFRunLoopDoTimer + 1026
5   com.apple.CoreFoundation      	0x0000000103e5539a __CFRunLoopDoTimers + 266
6   com.apple.CoreFoundation      	0x0000000103e4fa1c __CFRunLoopRun + 2252
7   com.apple.CoreFoundation      	0x0000000103e4ee11 CFRunLoopRunSpecific + 625
8   com.apple.Foundation          	0x00000001018b6322 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 277
9   com.apple.Foundation          	0x00000001018b6492 -[NSRunLoop(NSRunLoop) run] + 76
10  libxpc.dylib                  	0x0000000105649812 _xpc_objc_main + 460
11  libxpc.dylib                  	0x000000010564bcbd xpc_main + 143
12  com.apple.WebKit              	0x0000000101f34a40 WebKit::XPCServiceMain(int, char const**) + 403 (OSObjectPtr.h:69)
13  libdyld.dylib                 	0x0000000105335575 start + 1

https://build.webkit.org/results/Apple%20iOS%2012%20Simulator%20Release%20WK2%20(Tests)/r242464%20(2967)/results.html
Comment 9 Ryan Haddad 2019-03-05 09:18:37 PST
Reverted r242403 for reason:

Caused layout test crashes on iOS simulator.

Committed r242467: <https://trac.webkit.org/changeset/242467>
Comment 10 Truitt Savell 2019-03-05 11:32:14 PST
*** Bug 195334 has been marked as a duplicate of this bug. ***
Comment 11 Shawn Roberts 2019-03-05 15:38:37 PST
Was causing several layout test failures as well :

fast/shadow-dom/click-on-slotted-anchor-with-hover.html
fast/images/imagemap-in-shadow-tree.html
fast/events/click-handler-on-body-simple.html
fast/forms/datalist/datalist-textinput-suggestions-order.html
fast/events/beforeunload-alert-user-interaction2.html
http/tests/adClickAttribution/anchor-tag-attributes-validation.html
fast/scrolling/ios/hit-testing-iframe-001.html
fast/scrolling/ios/hit-testing-iframe-002.html
fast/scrolling/ios/hit-testing-iframe-003.html
fast/scrolling/ios/hit-testing-iframe-004.html
fast/scrolling/ios/hit-testing-iframe-005.html
fast/scrolling/ios/mixing-user-and-programmatic-scroll-006.html

Dashboard :

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=fast%2Fshadow-dom%2Fclick-on-slotted-anchor-with-hover.html%20fast%2Fimages%2Fimagemap-in-shadow-tree.html%20fast%2Fevents%2Fclick-handler-on-body-simple.html%20fast%2Fforms%2Fdatalist%2Fdatalist-textinput-suggestions-order.html%20fast%2Fevents%2Fbeforeunload-alert-user-interaction2.html%20http%2Ftests%2FadClickAttribution%2Fanchor-tag-attributes-validation.html%20fast%2Fscrolling%2Fios%2Fhit-testing-iframe-001.html%20fast%2Fscrolling%2Fios%2Fhit-testing-iframe-002.html%20fast%2Fscrolling%2Fios%2Fhit-testing-iframe-003.html%20fast%2Fscrolling%2Fios%2Fhit-testing-iframe-004.html%20fast%2Fscrolling%2Fios%2Fhit-testing-iframe-005.html%20fast%2Fscrolling%2Fios%2Fmixing-user-and-programmatic-scroll-006.html
Comment 12 zalan 2019-03-07 09:26:41 PST
Created attachment 363884 [details]
Patch
Comment 13 zalan 2019-03-07 18:22:35 PST
Created attachment 363966 [details]
Patch
Comment 14 WebKit Commit Bot 2019-03-07 19:21:20 PST
Comment on attachment 363966 [details]
Patch

Clearing flags on attachment: 363966

Committed r242628: <https://trac.webkit.org/changeset/242628>
Comment 15 WebKit Commit Bot 2019-03-07 19:21:22 PST
All reviewed patches have been landed.  Closing bug.