WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
Bug 11042
navigationController is borked
https://bugs.webkit.org/show_bug.cgi?id=11042
Summary
navigationController is borked
Eric Seidel (no email)
Reported
2006-09-26 01:21:56 PDT
navigationController is borked Trying to use it just hangs DRT. See attached test case: <svg xmlns="
http://www.w3.org/2000/svg
" xmlns:xlink="
http://www.w3.org/1999/xlink
" height="400" width="400"> <style type="text/css"> circle { fill: maroon; } a:visited circle { fill: green; } </style> <script type="text/javascript"> <![CDATA[ if (window.layoutTestController) { layoutTestController.waitUntilDone(); navigationController.evalAfterBackForwardNavigation("layoutTestController.notiftyDone()"); } ]]> </script> <a xlink:href="002.xml" xlink:type="simple"><circle cx="200" cy="200" r="100" fill="red"/></a> </svg>
Attachments
Add attachment
proposed patch, testcase, etc.
Eric Seidel (no email)
Comment 1
2006-09-26 01:22:46 PDT
Hum.. maybe it was my use of "notiftyDone" instead of notifyDone... I'll have to check.
Eric Seidel (no email)
Comment 2
2006-09-27 13:39:07 PDT
Even after fixing my typo, the test still seems to hang.
mitz
Comment 3
2006-09-28 04:01:53 PDT
The script is executing again as a result of loading the test again (DRT doesn't use the back/forward cache), so evalAfterBackForwardNavigation is getting called repeatedly without ever finishing. I think you can patch NavigationController to prevent this kind of "reentrancy" - simply don't do anything in -evaluateWebScript:afterBackForwardNavigation: if pendingAction != None. (You'll also need to reset the pendingAction from runTest() in case the previous test bailed before completing). (I was wondering how all the other tests that use navigationController don't loop endlessly, and found only one such test, which is currently disabled. When enabled it also loops).
Ahmad Saleem
Comment 4
2023-09-16 15:29:08 PDT
I think
Comment 03
is referring to following code snippet: Link -
https://github.com/WebKit/WebKit/blob/c58d1fdfb592147cbe5dc6cc04add73c405be63c/Tools/DumpRenderTree/mac/NavigationController.m#L67
- (void)evaluateWebScript:(NSString *)script afterBackForwardNavigation:(NSString *)navigation { // Allow both arguments to be optional if (![script isKindOfClass:[NSString class]]) script = @""; if (![navigation isKindOfClass:[NSString class]]) navigation = @"about:blank"; [self setPendingScript:script]; [self setPendingRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:navigation]]]; pendingAction = Load; } ______ I haven't tried this test locally but don't know whether it is available in our tree or not but just wanted to share latest stuff to see whether we need to do anything or not. CCing - @Alexey - since I don't know who would be right person to look into it to fix or close it.
Alexey Proskuryakov
Comment 5
2023-09-18 08:13:07 PDT
Yes, we do have navigationController in DumpRenderTree. But not in WebKitTestRunner. And it is still true that there is only one test attempting to use it, and it's skipped. Can probably as well delete the test and the code after all these years.
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