⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 245992 in webkit


Ignore:
Timestamp:
May 31, 2019, 4:10:27 PM (7 years ago)
Author:
Chris Dumez
Message:

Unreviewed, rolling out r245899.

Seems to be causing crashes on iosmac

Reverted changeset:

"[iOS] UIProcess' background task expiration handler may get
called after the app is foreground again"
https://bugs.webkit.org/show_bug.cgi?id=198380
https://trac.webkit.org/changeset/245899

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r245989 r245992  
     12019-05-31  Chris Dumez  <cdumez@apple.com>
     2
     3        Unreviewed, rolling out r245899.
     4
     5        Seems to be causing crashes on iosmac
     6
     7        Reverted changeset:
     8
     9        "[iOS] UIProcess' background task expiration handler may get
     10        called after the app is foreground again"
     11        https://bugs.webkit.org/show_bug.cgi?id=198380
     12        https://trac.webkit.org/changeset/245899
     13
    1142019-05-31  Ryosuke Niwa  <rniwa@webkit.org>
    215
  • trunk/Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm

    r245899 r245992  
    151151        RELEASE_LOG(ProcessSuspension, "%p - WKProcessAssertionBackgroundTaskManager - beginBackgroundTaskWithName", self);
    152152        _backgroundTask = [[UIApplication sharedApplication] beginBackgroundTaskWithName:@"com.apple.WebKit.ProcessAssertion" expirationHandler:^{
    153             RELEASE_LOG_ERROR(ProcessSuspension, "Background task expired while holding WebKit ProcessAssertion (isMainThread? %d, applicationIsBackgrounded? %d).", RunLoop::isMain(), _applicationIsBackgrounded);
    154             if (!_applicationIsBackgrounded) {
    155                 // We've received the invalidation warning after the app has become foreground again. In this case, we should not warn clients of imminent suspension.
    156                 // To be safe (avoid potential killing), we end the task right away and call _updateBackgroundTask asynchronously to start a new task if necessary.
    157                 [self _cancelPendingReleaseTask];
    158                 [self _releaseBackgroundTask];
    159                 dispatch_async(dispatch_get_main_queue(), ^{
    160                     [self _updateBackgroundTask];
    161                 });
    162                 return;
    163             }
     153            RELEASE_LOG_ERROR(ProcessSuspension, "Background task expired while holding WebKit ProcessAssertion (isMainThread? %d).", RunLoop::isMain());
    164154            // The expiration handler gets called on a non-main thread when the underlying assertion could not be taken (rdar://problem/27278419).
    165155            if (RunLoop::isMain())
Note: See TracChangeset for help on using the changeset viewer.