Chromium Code Reviews
DescriptionTestOverrideEncoding hanging is because TabProxy::WaitForNavigation can not get reply if current last last_navigation_time for tab _tracker is great than the input last_navigation_time.
See AutomationProvider::WaitForNavigation, it is handled by IPC_MESSAGE_HANDLER_DELAY_REPLY, which means the message handler need to send the reply message by itself.
According to current WaitForNavigation logic, if current last last_navigation_time for tab _tracker is less than the input last_navigation_time, the replay will be sent by NavigationNotificationObserver. Otherwise, the reply will never be sent.
So if somehow the test machine is slow, the navigation has happened before calling AutomationProvider::WaitForNavigation, the caller will never get reply. That is why TestOverrideEncoding hangs sometimes.
Please refer to http://chrome-svn/viewvc/chrome?view=rev&revision=9585 to see how the logic was changed before.
The problem also happened on other two places.
BUG=23121
TEST=BrowserEncodingTest.TestOverrideEncoding
Patch Set 1 #
Total comments: 2
Patch Set 2 : '' #Patch Set 3 : '' #
Messages
Total messages: 5 (0 generated)
|
||||||||||||||||||||||||||||