Bug 126480 - Move process suppression of WebProcess to WebPage (from UIProcess)
Summary: Move process suppression of WebProcess to WebPage (from UIProcess)
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: 525.x (Safari 3.1)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Gavin Barraclough
URL:
Keywords:
Depends on:
Blocks: 126526
  Show dependency treegraph
 
Reported: 2014-01-03 18:34 PST by Gavin Barraclough
Modified: 2014-01-06 09:05 PST (History)
2 users (show)

See Also:


Attachments
WIP patch (6.48 KB, patch)
2014-01-03 18:36 PST, Gavin Barraclough
no flags Details | Formatted Diff | Diff
Fix (14.32 KB, patch)
2014-01-03 23:28 PST, Gavin Barraclough
sam: review+
Details | Formatted Diff | Diff
new patch for EWS (6.36 KB, patch)
2014-01-04 17:41 PST, Gavin Barraclough
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gavin Barraclough 2014-01-03 18:34:29 PST
Let each page take a UserActivity rather than having to coalesce this state, and take different activity tokens for normal visibility and suppression disabled, so we can see why the process is not suppressed.
Comment 1 Gavin Barraclough 2014-01-03 18:36:58 PST
Created attachment 220362 [details]
WIP patch
Comment 2 Gavin Barraclough 2014-01-03 23:28:16 PST
Created attachment 220367 [details]
Fix
Comment 3 Sam Weinig 2014-01-04 08:46:50 PST
Comment on attachment 220367 [details]
Fix

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

> ../OpenSource/Source/WebKit2/WebProcess/WebPage/WebPage.h:1050
> +    UserActivity m_suppressionDisabled;

This could use a more descriptive name.
Comment 4 Gavin Barraclough 2014-01-04 17:41:01 PST
Created attachment 220382 [details]
new patch for EWS
Comment 5 Gavin Barraclough 2014-01-05 00:24:56 PST
Committed revision 161319.
Comment 6 Csaba Osztrogonác 2014-01-05 01:57:40 PST
Comment on attachment 220367 [details]
Fix

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

Additionally it broke the Apple Windows build too:

     1>WebCore.lib(PageThrottler.obj) : error LNK2019: unresolved external symbol "public: __thiscall WebCore::UserActivity::UserActivity(char const *)" (??0UserActivity@WebCore@@QAE@PBD@Z) referenced in function "public: __thiscall WebCore::PageThrottler::PageThrottler(class WebCore::Page &)" (??0PageThrottler@WebCore@@QAE@AAVPage@1@@Z)
     1>WebCore.lib(PageThrottler.obj) : error LNK2019: unresolved external symbol "public: void __thiscall WebCore::UserActivity::beginActivity(void)" (?beginActivity@UserActivity@WebCore@@QAEXXZ) referenced in function "public: __thiscall WebCore::PageThrottler::~PageThrottler(void)" (??1PageThrottler@WebCore@@QAE@XZ)
     1>WebCore.lib(PageThrottler.obj) : error LNK2019: unresolved external symbol "public: void __thiscall WebCore::UserActivity::endActivity(void)" (?endActivity@UserActivity@WebCore@@QAEXXZ) referenced in function "public: void __thiscall WebCore::PageThrottler::setIsVisuallyIdle(bool)" (?setIsVisuallyIdle@PageThrottler@WebCore@@QAEX_N@Z)

(Unfortunately you didn't have chance to catch it early, because Win EWS bots are out of order long time ago.)

> ../OpenSource/Source/WebCore/page/PageThrottler.h:31
> +#include <WebCore/UserActivity.h>

It broke the non Mac builds, because only Apple 
supports this kind of forwarding headers.

Fix landed in http://trac.webkit.org/changeset/161320 nad http://trac.webkit.org/changeset/161321 .
Comment 7 Alexey Proskuryakov 2014-01-05 10:30:06 PST
Looks like Windows build is still broken.
Comment 8 Simon Fraser (smfr) 2014-01-05 20:42:22 PST
This broke windows:

     1>WebCore.lib(PageThrottler.obj) : error LNK2019: unresolved external symbol "public: __thiscall WebCore::UserActivity::UserActivity(char const *)" (??0UserActivity@WebCore@@QAE@PBD@Z) referenced in function "public: __thiscall WebCore::PageThrottler::PageThrottler(class WebCore::Page &)" (??0PageThrottler@WebCore@@QAE@AAVPage@1@@Z)
     1>WebCore.lib(PageThrottler.obj) : error LNK2019: unresolved external symbol "public: void __thiscall WebCore::UserActivity::beginActivity(void)" (?beginActivity@UserActivity@WebCore@@QAEXXZ) referenced in function "public: void __thiscall WebCore::PageThrottler::setIsVisuallyIdle(bool)" (?setIsVisuallyIdle@PageThrottler@WebCore@@QAEX_N@Z)
     1>WebCore.lib(PageThrottler.obj) : error LNK2019: unresolved external symbol "public: void __thiscall WebCore::UserActivity::endActivity(void)" (?endActivity@UserActivity@WebCore@@QAEXXZ) referenced in function "public: void __thiscall WebCore::PageThrottler::setIsVisuallyIdle(bool)" (?setIsVisuallyIdle@PageThrottler@WebCore@@QAEX_N@Z)
Comment 9 Brent Fulgham 2014-01-06 09:05:36 PST
This change broke the Windows build.  See Bug 126526 for the fix.