Closed
Bug 581978
Opened 13 years ago
Closed 9 years ago
URL should load immediately after pressing enter
Categories
(Firefox :: Address Bar, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: jrmuizel, Unassigned)
References
Details
(Keywords: perf)
Currently it seems like we do a bunch of stuff that isn't relevant to the process of loading the page. It would be nice if we just loaded the page immediately. This is very apparent when editing data urls.
![]() |
||
Comment 1•13 years ago
|
||
Fixing Bug 462690 (what is about Typing + Hitting "Enter" too) might help here if i get your Issue right.
Reporter | ||
Comment 2•13 years ago
|
||
It would be good to get some timing information to be able to actually quantify the delay and perhaps profile it. Does anyone know the right places to hook this in?
Comment 3•13 years ago
|
||
Maybe call sharkStart() on the Enter keypress event and sharkStop() when the tab navigation has begun (I'm forgetting which notification that was).
Comment 4•13 years ago
|
||
You want to sit down tomorrow at the office and do this? Shouldn't take more than 10-15 minutes to write the patch...
Reporter | ||
Comment 5•13 years ago
|
||
(In reply to comment #4) > You want to sit down tomorrow at the office and do this? Shouldn't take more > than 10-15 minutes to write the patch... Sounds wonderful.
![]() |
||
Comment 6•13 years ago
|
||
> Does anyone know the right places to hook this in?
The stop signal can go in the page itself, right? In particular, in a shark build you can just do:
data:text/html,<script>stopShark(); disconnectShark()</script>
You'll need OS X 10.5, of course.
The start signal, I had no idea. But setting a breakpoint in nsDocShell::InternalLoad and examining the callstacks (C++ and JS) suggests that the right place is probably the onKeyPress function in autocomplete.xml around the handleEnter call. Unless we think the time might be taken during the event dispatch before then...
![]() |
||
Comment 7•13 years ago
|
||
fwiw, over here a Shark profile sampling every 20us shows 2300 samples or so the first time I try that, and 1160 samples thereafter. That's 46ms delay the first time and 23ms after that. About 2/3 of that time is painting.
Comment 8•13 years ago
|
||
I'm seeing sqlite3_step take >500ms on a background thread, while on the main thread there's a stack involving nsAnnotationService::GetPageAnnotationString. It looks like lock contention -- bug 563538 -- and sdwilsh confirms over IRC. With a new profile I didn't notice any lags, but when I profiled with my own profile, which has lots of history naturally, I was able to record this.
![]() |
||
Comment 9•13 years ago
|
||
Hmm. Who's calling GetPageAnnotationString?
Comment 10•13 years ago
|
||
Stack looks like this: nsThread::ProcessNextEvent nsInputStreamReadyEvent::Run nsInputStreamPump::OnInputStreamReady nsBaseChannel::OnStartRequest nsDocumentOpenInfo::OnStartRequest nsDocumentOpenInfo::DispatchContent nsDocumentOpenInfo::TryContentListener nsDSURIContentListener::DoContent nsDocShell::CreateContentViewer nsDocShell::NewContentViewerObj nsContentDLF::CreateInstance nsContentDLF::CreateDocument nsHTMLDocument::StartDocumentLoad nsHTMLDocument::TryBookmarkCharset nsNavHistory::RequestCharset nsNavHistory::GetCharsetForURI nsAnnotationService::GetPageAnnotationString
Comment 11•13 years ago
|
||
Not directly related to this bug, I suppose, but can we just kill TryBookmarkCharset? I wonder whether it's actually useful enough to justify extracting data from places at that stage of the loading process.
![]() |
||
Comment 12•13 years ago
|
||
It would break some mislabeled pages that users have bookmarked and used "view > charset" on; past that, probably not a problem to remove it...
Comment 14•13 years ago
|
||
(In reply to comment #11) > can we just kill TryBookmarkCharset? I filed bug 582712.
Comment 15•12 years ago
|
||
Any progress or change on this?
Comment 16•12 years ago
|
||
(In reply to comment #15) > Any progress or change on this? All dependencies are fixed in 4.0, so it should have improved, whether it is fixed or not it's hard to tell without a goal.
Comment 17•9 years ago
|
||
(In reply to Marco Bonardo [::mak] (needinfo? me) from comment #16) > (In reply to comment #15) > > Any progress or change on this? > > All dependencies are fixed in 4.0, so it should have improved, whether it is > fixed or not it's hard to tell without a goal. One measure might be if it meets Jeff's expectations? WFM?
Flags: needinfo?(jmuizelaar)
Comment 18•9 years ago
|
||
I think regardless, the code is now so different that at a maximum we'd need a new bug with a new investigation. But we didn't get reports of this recently, afaik.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
Updated•6 years ago
|
Flags: needinfo?(jmuizelaar)
You need to log in
before you can comment on or make changes to this bug.
Description
•