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

Issue 2734713002: WebViewTestProxyBase: clear out main test delegate upon destruction. (Closed)

Created:
3 years, 9 months ago by sof
Modified:
3 years, 9 months ago
Reviewers:
tkent, dmazzoni, tasak
CC:
chromium-reviews, darin-cc_chromium.org, jam, jochen+watch_chromium.org, mlamouri+watch-content_chromium.org, Peter Beverloo
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

WebViewTestProxyBase: clear out main test delegate upon destruction. The first BlinkTestRunner created is set as the main delegate of test interfaces along with being set as the delegate of the web view test proxy object. When that view test proxy goes away, unregister the main delegate at the same time as it can no longer be safely accessed. R=tkent BUG=698166 Review-Url: https://codereview.chromium.org/2734713002 Cr-Commit-Position: refs/heads/master@{#454834} Committed: https://chromium.googlesource.com/chromium/src/+/dd42ff761a2b4725279bb659de9e5205567875a4

Patch Set 1 #

Patch Set 2 : trigger layout tests.. #

Patch Set 3 : undo ps#2 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+6 lines, -1 line) Patch
M content/shell/test_runner/mock_web_speech_recognizer.cc View 2 chunks +4 lines, -1 line 0 comments Download
M content/shell/test_runner/web_view_test_proxy.cc View 1 chunk +2 lines, -0 lines 1 comment Download

Messages

Total messages: 24 (18 generated)
sof
please take a look.
3 years, 9 months ago (2017-03-05 19:35:19 UTC) #14
tkent
lgtm
3 years, 9 months ago (2017-03-05 23:46:37 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2734713002/40001
3 years, 9 months ago (2017-03-06 06:31:06 UTC) #18
commit-bot: I haz the power
Committed patchset #3 (id:40001) as https://chromium.googlesource.com/chromium/src/+/dd42ff761a2b4725279bb659de9e5205567875a4
3 years, 9 months ago (2017-03-06 06:35:49 UTC) #21
tasak
https://codereview.chromium.org/2734713002/diff/40001/content/shell/test_runner/web_view_test_proxy.cc File content/shell/test_runner/web_view_test_proxy.cc (right): https://codereview.chromium.org/2734713002/diff/40001/content/shell/test_runner/web_view_test_proxy.cc#newcode36 content/shell/test_runner/web_view_test_proxy.cc:36: test_interfaces_->SetDelegate(nullptr); I think, this breaks "--single-process". Received signal 6 ...
3 years, 9 months ago (2017-03-07 03:06:02 UTC) #23
sof
3 years, 9 months ago (2017-03-07 06:25:55 UTC) #24
Message was sent while issue was closed.
On 2017/03/07 03:06:02, tasak wrote:
>
https://codereview.chromium.org/2734713002/diff/40001/content/shell/test_runn...
> File content/shell/test_runner/web_view_test_proxy.cc (right):
> 
>
https://codereview.chromium.org/2734713002/diff/40001/content/shell/test_runn...
> content/shell/test_runner/web_view_test_proxy.cc:36:
> test_interfaces_->SetDelegate(nullptr);
> I think, this breaks "--single-process".
> 
> Received signal 6
> #0 0x7f2824a7939c base::debug::StackTrace::StackTrace()
> #1 0x7f2824a78f01 base::debug::(anonymous namespace)::StackDumpSignalHandler()
> #2 0x7f28247aa330 <unknown>
> #3 0x7f281cdb4c37 gsignal
> #4 0x7f281cdb8028 abort
> #5 0x7f2824a76c75 base::debug::BreakDebugger()
> #6 0x7f2824a966c6 logging::LogMessage::~LogMessage()
> #7 0x7f28202c9546 test_runner::GamepadController::Create()
> #8 0x7f28202dd39c test_runner::TestInterfaces::SetDelegate()
> #9 0x7f282030fe60 test_runner::WebViewTestProxyBase::~WebViewTestProxyBase()
> #10 0x000000565b55
>
_ZN11test_runner16WebViewTestProxyIN7content14RenderViewImplEJPNS1_22CompositorDependenciesERKNS1_5mojom16CreateViewParamsEEED0Ev
> #11 0x7f2823d2843d
>
_ZN4base8internal9BindStateIMN7content12RenderWidgetEFvvEJ13scoped_refptrIS3_EEE7DestroyEPKNS0_13BindStateBaseE
> #12 0x7f2824a79eff base::debug::TaskAnnotator::RunTask()
> 
> 
> SetDelegate(nullptr) invokes test_runner::GamepadController::Create(nullptr).

Thanks, it indeed does break - https://codereview.chromium.org/2738513004/
addressed GamepadController resetting.

Powered by Google App Engine
This is Rietveld 408576698