| Index: chrome/browser/password_manager/password_store_default.h | 
| =================================================================== | 
| --- chrome/browser/password_manager/password_store_default.h	(revision 17405) | 
| +++ chrome/browser/password_manager/password_store_default.h	(working copy) | 
| @@ -25,8 +25,17 @@ | 
| public WebDataServiceConsumer { | 
| public: | 
| explicit PasswordStoreDefault(WebDataService* web_data_service); | 
| -  virtual ~PasswordStoreDefault() {} | 
| +  virtual ~PasswordStoreDefault(); | 
|  | 
| +  // Overridden to bypass the threading logic in PasswordStore, since | 
| +  // WebDataService's API is not threadsafe. | 
| +  virtual void AddLogin(const PasswordForm& form); | 
| +  virtual void UpdateLogin(const PasswordForm& form); | 
| +  virtual void RemoveLogin(const PasswordForm& form); | 
| +  virtual int GetLogins(const PasswordForm& form, | 
| +                        PasswordStoreConsumer* consumer); | 
| +  virtual void CancelLoginsQuery(int handle); | 
| + | 
| protected: | 
| // Implements PasswordStore interface. | 
| void AddLoginImpl(const PasswordForm& form); | 
| @@ -35,32 +44,18 @@ | 
| void GetLoginsImpl(GetLoginsRequest* request); | 
|  | 
| // Called when a WebDataService method finishes. | 
| -  // Overrides must call RemovePendingWebDataServiceRequest. | 
| virtual void OnWebDataServiceRequestDone(WebDataService::Handle h, | 
| const WDTypedResult* result); | 
|  | 
| -  // Keeps track of a pending WebDataService request, and the original | 
| -  // GetLogins request it is associated with. | 
| -  // Increases the reference count of |this|, so must be balanced with a | 
| -  // call to RemovePendingWebDataServiceRequest. | 
| -  void AddPendingWebDataServiceRequest(WebDataService::Handle handle, | 
| -                                       GetLoginsRequest* request); | 
| -  // Removes a WebDataService request from the list of pending requests, | 
| -  // and reduces the reference count of |this|. | 
| -  void RemovePendingWebDataServiceRequest(WebDataService::Handle handle); | 
| -  // Returns the GetLoginsRequest associated with |handle|. | 
| -  GetLoginsRequest* GetLoginsRequestForWebDataServiceRequest( | 
| -      WebDataService::Handle handle); | 
| - | 
| scoped_refptr<WebDataService> web_data_service_; | 
|  | 
| - private: | 
| // Methods in this class call async WebDataService methods.  This mapping | 
| // remembers which WebDataService request corresponds to which PasswordStore | 
| // request. | 
| typedef std::map<WebDataService::Handle, GetLoginsRequest*> PendingRequestMap; | 
| PendingRequestMap pending_requests_; | 
|  | 
| + private: | 
| DISALLOW_COPY_AND_ASSIGN(PasswordStoreDefault); | 
| }; | 
|  | 
|  | 
| Property changes on: chrome\browser\password_manager\password_store_default.h | 
| ___________________________________________________________________ | 
| Added: svn:eol-style | 
| + LF | 
|  | 
|  |