Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Issue 1322493006: Presentation API: ignore page visibility changes if ExecutionContext is destoyed. (Closed)

Created:
5 years, 3 months ago by mlamouri (slow - plz ping)
Modified:
5 years, 3 months ago
CC:
blink-reviews
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Presentation API: ignore page visibility changes if ExecutionContext is destoyed. PresentationAvailability is listening to the page visibility but is using the ExecutionContext to send messages to the controller. The ExecutionContext might be destroyed before a page visibility change, for example, if the object was created in a frame that has been removed from the frame tree. BUG=526923, 526116 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=201918

Patch Set 1 #

Total comments: 4

Patch Set 2 : review comments #

Patch Set 3 : Add BLINK_PLATFORM_EXPORT to WebPresentationAvailabilityObserver #

Patch Set 4 : fix build? #

Patch Set 5 : forgot file #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+76 lines, -6 lines) Patch
M Source/modules/modules.gypi View 1 chunk +1 line, -0 lines 0 comments Download
M Source/modules/presentation/PresentationAvailability.h View 3 chunks +2 lines, -4 lines 0 comments Download
M Source/modules/presentation/PresentationAvailability.cpp View 2 chunks +3 lines, -1 line 0 comments Download
A Source/modules/presentation/PresentationAvailabilityTest.cpp View 1 1 chunk +55 lines, -0 lines 0 comments Download
M Source/platform/blink_platform.gypi View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
A Source/platform/exported/WebPresentationAvailabilityObserver.cpp View 1 2 3 4 1 chunk +12 lines, -0 lines 2 comments Download
M public/platform/modules/presentation/WebPresentationAvailabilityObserver.h View 1 2 2 chunks +2 lines, -1 line 0 comments Download

Messages

Total messages: 23 (10 generated)
mlamouri (slow - plz ping)
5 years, 3 months ago (2015-09-07 15:44:57 UTC) #2
whywhat
lgtm with comments https://codereview.chromium.org/1322493006/diff/1/Source/modules/presentation/PresentationAvailabilityTest.cpp File Source/modules/presentation/PresentationAvailabilityTest.cpp (right): https://codereview.chromium.org/1322493006/diff/1/Source/modules/presentation/PresentationAvailabilityTest.cpp#newcode45 Source/modules/presentation/PresentationAvailabilityTest.cpp:45: const KURL url = URLTestHelpers::toKURL("https://example.com"); nit: ...
5 years, 3 months ago (2015-09-07 15:51:46 UTC) #3
mlamouri (slow - plz ping)
Comments applied. https://codereview.chromium.org/1322493006/diff/1/Source/modules/presentation/PresentationAvailabilityTest.cpp File Source/modules/presentation/PresentationAvailabilityTest.cpp (right): https://codereview.chromium.org/1322493006/diff/1/Source/modules/presentation/PresentationAvailabilityTest.cpp#newcode45 Source/modules/presentation/PresentationAvailabilityTest.cpp:45: const KURL url = URLTestHelpers::toKURL("https://example.com"); On 2015/09/07 ...
5 years, 3 months ago (2015-09-07 16:28:38 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1322493006/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1322493006/20001
5 years, 3 months ago (2015-09-07 16:28:59 UTC) #7
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_compile_dbg_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/80220)
5 years, 3 months ago (2015-09-07 17:30:58 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1322493006/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1322493006/40001
5 years, 3 months ago (2015-09-08 10:36:11 UTC) #12
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_compile_dbg_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/80336)
5 years, 3 months ago (2015-09-08 11:43:44 UTC) #14
mlamouri (slow - plz ping)
Could you rubbestamp the Source/platform/ changes. I need that to fix the build issue on ...
5 years, 3 months ago (2015-09-08 13:49:44 UTC) #16
Mike West
On 2015/09/08 at 13:49:44, mlamouri wrote: > Could you rubbestamp the Source/platform/ changes. I need ...
5 years, 3 months ago (2015-09-08 13:51:11 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1322493006/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1322493006/80001
5 years, 3 months ago (2015-09-08 13:54:28 UTC) #20
commit-bot: I haz the power
Committed patchset #5 (id:80001) as https://src.chromium.org/viewvc/blink?view=rev&revision=201918
5 years, 3 months ago (2015-09-08 16:50:15 UTC) #21
mark a. foltz
Belated LGTM Thanks for writing the unit test to verify the fix. I didn't quite ...
5 years, 3 months ago (2015-09-08 20:01:12 UTC) #22
mlamouri (slow - plz ping)
5 years, 3 months ago (2015-09-08 21:54:00 UTC) #23
Message was sent while issue was closed.
https://codereview.chromium.org/1322493006/diff/80001/Source/platform/exporte...
File Source/platform/exported/WebPresentationAvailabilityObserver.cpp (right):

https://codereview.chromium.org/1322493006/diff/80001/Source/platform/exporte...
Source/platform/exported/WebPresentationAvailabilityObserver.cpp:12: //
unresolved symbol error when constructor/destructor's address is required.
On 2015/09/08 at 20:01:12, mark a. foltz wrote:
> I didn't quite follow this comment or the problem this is trying to solve.
> 
> I am not sure anything in Blink should be taking the address of the default
ctor/dtor, as these functions will be overridden by the embedder.  If you want
to get a handle to the real ctor/dtor, it seems like you need to implement a
wrapper that indirects through a pointer (and thus the vtable), similar to
struct DefaultDeleter in scoped_ptr.
> 
> At any rate, the module including .h should be able to take the address of the
default ctor/dtors declared there - as there is nothing defined in this cpp.
> 
> Maybe there is some linker magic that I'm missing :)

This is coming from WebPresentationController.cpp which was created because of
recents changes coming from componetization. Without that file, some compilers
(ie. Windows) will not find the definition of ctor and dtor for
WebPresentationController.

Powered by Google App Engine
This is Rietveld 408576698