Chromium Code Reviews| Index: chrome/browser/password_manager/native_backend_gnome_x.cc |
| =================================================================== |
| --- chrome/browser/password_manager/native_backend_gnome_x.cc (revision 97665) |
| +++ chrome/browser/password_manager/native_backend_gnome_x.cc (working copy) |
| @@ -382,7 +382,14 @@ |
| GnomeKeyringResult GKRMethod::WaitResult(PasswordFormList* forms) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| event_.Wait(); |
| - forms->swap(forms_); |
| + if (forms->empty()) { |
| + // Normal case. Avoid extra allocation by swapping. |
| + forms->swap(forms_); |
|
Evan Martin
2011/08/23 14:36:07
Is this performance critical? I wonder if it's wo
Mike Mammarella
2011/08/23 19:40:20
No, it's not performance critical. It would probab
|
| + } else { |
| + // Rare case. Append forms_ to *forms. |
| + forms->insert(forms->end(), forms_.begin(), forms_.end()); |
| + forms_.clear(); |
| + } |
| return result_; |
| } |