Bug 54879 - Web Inspector: navigation does not work after reopening frontend
Summary: Web Inspector: navigation does not work after reopening frontend
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Inspector (Deprecated) (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Pavel Feldman
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-21 07:35 PST by Pavel Podivilov
Modified: 2011-02-22 02:08 PST (History)
11 users (show)

See Also:


Attachments
[PATCH] Proposed fix. (4.97 KB, patch)
2011-02-21 10:03 PST, Pavel Feldman
yurys: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Pavel Podivilov 2011-02-21 07:35:24 PST
1. Open frontend
2. Close frontend
3. Open frontend
4. Navigate
5. Frontend looks like there was no navigation - elements panel displays the old document, scripts panel shows scripts from previous resource
Comment 1 Pavel Feldman 2011-02-21 10:03:12 PST
Created attachment 83177 [details]
[PATCH] Proposed fix.
Comment 2 Yury Semikhatsky 2011-02-21 10:16:22 PST
Comment on attachment 83177 [details]
[PATCH] Proposed fix.

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

> LayoutTests/http/tests/inspector-enabled/open-close-open.html:24
> +        layoutTestController.showWebInspector();

How can we be sure that the front-end has already closed? What if there are some unfinished tasks in the front-end?

> LayoutTests/http/tests/inspector-enabled/open-close-open.html:52
> +Tests that Web Inspector is functional after the open - close - open sequence.

Please include link to the bug in the test description.

> Source/WebCore/inspector/InspectorState.h:53
> +    void unmute();

Consider replacing these two methods with a setter.
Comment 3 Pavel Feldman 2011-02-21 10:29:57 PST
Committing to http://svn.webkit.org/repository/webkit/trunk ...
        M       LayoutTests/ChangeLog
        A       LayoutTests/http/tests/inspector-enabled/open-close-open-expected.txt
        A       LayoutTests/http/tests/inspector-enabled/open-close-open.html
        M       Source/WebCore/ChangeLog
        M       Source/WebCore/inspector/InspectorAgent.cpp
        M       Source/WebCore/inspector/InspectorState.cpp
        M       Source/WebCore/inspector/InspectorState.h
Committed r79234
Comment 4 Philippe Normand 2011-02-22 02:08:54 PST
The new test has been crashing on GTK since checkin:

http://webkit-bots.igalia.com/amd64/svn_79301.core-when_1298367632-_-who_DumpRenderTree-_-why_11.trace.html

Thread 1 (Thread 30925):
#0  0x00007fdf0cd2d9d5 in WebKit::InspectorFrontendClient::~InspectorFrontendClient (this=0x7fdefce44c50, __in_chrg=<value optimized out>) at ../../Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp:211
#1  0x00007fdf0cd2e0df in WTF::deleteOwnedPtr<WebCore::InspectorFrontendClient> (ptr=0x7fdefce44c50) at ../../Source/JavaScriptCore/wtf/OwnPtrCommon.h:59
#2  0x00007fdf0d273dd3 in WTF::OwnPtr<WebCore::InspectorFrontendClient>::~OwnPtr (this=0x7fdefce38df0, __in_chrg=<value optimized out>) at ../../Source/JavaScriptCore/wtf/OwnPtr.h:57
#3  0x00007fdf0d2734e6 in WebCore::InspectorController::~InspectorController (this=0x7fdefce38de0, __in_chrg=<value optimized out>) at ../../Source/WebCore/inspector/InspectorController.cpp:62
#4  0x00007fdf0d404935 in WTF::deleteOwnedPtr<WebCore::InspectorController> (ptr=0x7fdefce38de0) at ../../Source/JavaScriptCore/wtf/OwnPtrCommon.h:59
#5  0x00007fdf0d403bad in WTF::OwnPtr<WebCore::InspectorController>::~OwnPtr (this=0x7fdefcb4f108, __in_chrg=<value optimized out>) at ../../Source/JavaScriptCore/wtf/OwnPtr.h:57
#6  0x00007fdf0d4003f6 in WebCore::Page::~Page (this=0x7fdefcb4f0e0, __in_chrg=<value optimized out>) at ../../Source/WebCore/page/Page.cpp:208
#7  0x00007fdf0cd4aed7 in webkit_web_view_dispose (object=0x1f66490) at ../../Source/WebKit/gtk/webkit/webkitwebview.cpp:1396
#8  0x00007fdf0a7b5c90 in g_object_run_dispose (object=0x1f66490) at /tmp/buildd/glib2.0-2.27.91/./gobject/gobject.c:941
#9  0x00007fdf0bdad639 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#10 0x00007fdf0a7b333e in g_closure_invoke (closure=0x1f08a00, return_value=0x0, n_param_values=1, param_values=0x571ed40, invocation_hint=0x7fff5306fe60) at /tmp/buildd/glib2.0-2.27.91/./gobject/gclosure.c:767
#11 0x00007fdf0a7cc22b in signal_emit_unlocked_R (node=0x1f09070, detail=<value optimized out>, instance=<value optimized out>, emission_return=<value optimized out>, instance_and_params=<value optimized out>) at /tmp/buildd/glib2.0-2.27.91/./gobject/gsignal.c:3368
#12 0x00007fdf0a7cdb36 in g_signal_emit_valist (instance=0x28169f0, signal_id=<value optimized out>, detail=0, var_args=0x7fff53070050) at /tmp/buildd/glib2.0-2.27.91/./gobject/gsignal.c:2983
#13 0x00007fdf0a7ce363 in g_signal_emit (instance=0x7fff5306f2d0, signal_id=0, detail=148278784) at /tmp/buildd/glib2.0-2.27.91/./gobject/gsignal.c:3040
#14 0x00007fdf0be56540 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#15 0x00007fdf0a7b5c90 in g_object_run_dispose (object=0x28169f0) at /tmp/buildd/glib2.0-2.27.91/./gobject/gobject.c:941
#16 0x000000000041ed0e in webInspectorCloseWindow (data=0x0) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:968
#17 0x00007fdf0cd5dbae in webkit_marshal_BOOLEAN__VOID (closure=0x1ff2430, return_value=0x7fff53070360, n_param_values=1, param_values=0x5137300, invocation_hint=0x7fff53070320, marshal_data=0x0) at DerivedSources/webkit/webkitmarshal.cpp:642
#18 0x00007fdf0a7b333e in g_closure_invoke (closure=0x1ff2430, return_value=0x7fff53070360, n_param_values=1, param_values=0x5137300, invocation_hint=0x7fff53070320) at /tmp/buildd/glib2.0-2.27.91/./gobject/gclosure.c:767
#19 0x00007fdf0a7cc3b9 in signal_emit_unlocked_R (node=0x1f69570, detail=<value optimized out>, instance=<value optimized out>, emission_return=<value optimized out>, instance_and_params=<value optimized out>) at /tmp/buildd/glib2.0-2.27.91/./gobject/gsignal.c:3252
#20 0x00007fdf0a7cd97c in g_signal_emit_valist (instance=0x1f59540, signal_id=<value optimized out>, detail=0, var_args=0x7fff53070540) at /tmp/buildd/glib2.0-2.27.91/./gobject/gsignal.c:2993
#21 0x00007fdf0a7cde32 in g_signal_emit_by_name (instance=0x1f59540, detailed_signal=<value optimized out>) at /tmp/buildd/glib2.0-2.27.91/./gobject/gsignal.c:3077
#22 0x00007fdf0cd2dae6 in WebKit::InspectorFrontendClient::destroyInspectorWindow (this=0x58661f0, notifyInspectorController=false) at ../../Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp:231
#23 0x00007fdf0cd2dd01 in WebKit::InspectorFrontendClient::disconnectFromBackend (this=0x58661f0) at ../../Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp:272
#24 0x00007fdf0d2ad5d8 in WebCore::InspectorFrontendHost::disconnectFromBackend (this=0x7fdefc0ba9d0) at ../../Source/WebCore/inspector/InspectorFrontendHost.cpp:173
#25 0x00007fdf0d993218 in WebCore::jsInspectorFrontendHostPrototypeFunctionDisconnectFromBackend (exec=0x7fdebb7bb140) at DerivedSources/WebCore/JSInspectorFrontendHost.cpp:224