WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
212619
[iOS] WKProcessAssertionBackgroundTaskManager incorrectly ignores expiration notifications for daemons
https://bugs.webkit.org/show_bug.cgi?id=212619
Summary
[iOS] WKProcessAssertionBackgroundTaskManager incorrectly ignores expiration ...
Chris Dumez
Reported
2020-06-01 16:49:08 PDT
WKProcessAssertionBackgroundTaskManager incorrectly ignores expiration notifications for daemons, because it rely on visibility to make decisions.
Attachments
Patch
(9.01 KB, patch)
2020-06-01 16:58 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Patch
(8.99 KB, patch)
2020-06-01 17:01 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Patch
(8.94 KB, patch)
2020-06-02 08:33 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Patch
(9.78 KB, patch)
2020-06-02 08:41 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Patch
(9.78 KB, patch)
2020-06-02 08:46 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Patch
(9.77 KB, patch)
2020-06-02 18:50 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Show Obsolete
(5)
View All
Add attachment
proposed patch, testcase, etc.
Chris Dumez
Comment 1
2020-06-01 16:58:53 PDT
Created
attachment 400770
[details]
Patch
Chris Dumez
Comment 2
2020-06-01 17:01:07 PDT
Created
attachment 400771
[details]
Patch
Chris Dumez
Comment 3
2020-06-02 08:33:38 PDT
Created
attachment 400825
[details]
Patch
Chris Dumez
Comment 4
2020-06-02 08:41:16 PDT
Created
attachment 400828
[details]
Patch
Chris Dumez
Comment 5
2020-06-02 08:46:05 PDT
Created
attachment 400830
[details]
Patch
Alex Christensen
Comment 6
2020-06-02 17:31:20 PDT
Comment on
attachment 400830
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=400830&action=review
> Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm:53 > + return [[[RBSProcessHandle currentProcess] activeLimitations] runTime] != RBSProcessTimeLimitationNone;
It might be worth putting this inside a std::call_once, because this should never change, right?
> Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm:241 > + auto remainingTime = [[[RBSProcessHandle currentProcess] activeLimitations] runTime];
Can we use dot syntax for any of this?
Chris Dumez
Comment 7
2020-06-02 17:33:21 PDT
Comment on
attachment 400830
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=400830&action=review
>> Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm:53 >> + return [[[RBSProcessHandle currentProcess] activeLimitations] runTime] != RBSProcessTimeLimitationNone; > > It might be worth putting this inside a std::call_once, because this should never change, right?
It totally changes. For example, for applications, based on app visibility. The timer should only get started after the app gets backgrounded and thus this would return RBSProcessTimeLimitationNone when foreground and a positive value when background.
>> Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm:241 >> + auto remainingTime = [[[RBSProcessHandle currentProcess] activeLimitations] runTime]; > > Can we use dot syntax for any of this?
ok
Chris Dumez
Comment 8
2020-06-02 18:50:03 PDT
Created
attachment 400875
[details]
Patch
EWS
Comment 9
2020-06-02 22:29:18 PDT
Committed
r262477
: <
https://trac.webkit.org/changeset/262477
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 400875
[details]
.
Radar WebKit Bug Importer
Comment 10
2020-06-02 22:30:16 PDT
<
rdar://problem/63909510
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug