| Index: chrome/browser/sync/glue/change_processor.h
 | 
| diff --git a/chrome/browser/sync/glue/change_processor.h b/chrome/browser/sync/glue/change_processor.h
 | 
| index 3e8a467c64715eefc597120891b7c5b0f949b995..b6988097271f635ce5c0d833f5f48566d8f226c7 100644
 | 
| --- a/chrome/browser/sync/glue/change_processor.h
 | 
| +++ b/chrome/browser/sync/glue/change_processor.h
 | 
| @@ -1,4 +1,4 @@
 | 
| -// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
 | 
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
 | 
|  // Use of this source code is governed by a BSD-style license that can be
 | 
|  // found in the LICENSE file.
 | 
|  
 | 
| @@ -20,8 +20,7 @@ class UnrecoverableErrorHandler;
 | 
|  // native model.  This does not currently distinguish between model data types.
 | 
|  class ChangeProcessor {
 | 
|   public:
 | 
| -  explicit ChangeProcessor(UnrecoverableErrorHandler* error_handler)
 | 
| -      : running_(false), error_handler_(error_handler), share_handle_(NULL) {}
 | 
| +  explicit ChangeProcessor(UnrecoverableErrorHandler* error_handler);
 | 
|    virtual ~ChangeProcessor();
 | 
|  
 | 
|    // Call when the processor should accept changes from either provided model
 | 
| @@ -45,11 +44,13 @@ class ChangeProcessor {
 | 
|        int change_count) = 0;
 | 
|  
 | 
|    // The changes found in ApplyChangesFromSyncModel may be too slow to be
 | 
| -  // performed while holding a [Read/Write]Transaction lock. This function
 | 
| -  // is called once the lock is released and performs any slow I/O operations
 | 
| -  // without unnecessarily slowing the UI. Note that not all datatypes need
 | 
| -  // this, so we provide an empty default version.
 | 
| -  virtual void CommitChangesFromSyncModel() { }
 | 
| +  // performed while holding a [Read/Write]Transaction lock or may interact
 | 
| +  // with another thread, which might itself be waiting on the transaction lock,
 | 
| +  // putting us at risk of deadlock.
 | 
| +  // This function is called once the transactional lock is released and it is
 | 
| +  // safe to perform inter-thread or slow I/O operations. Note that not all
 | 
| +  // datatypes need this, so we provide an empty default version.
 | 
| +  virtual void CommitChangesFromSyncModel();
 | 
|  
 | 
|   protected:
 | 
|    // These methods are invoked by Start() and Stop() to do
 | 
| @@ -58,8 +59,8 @@ class ChangeProcessor {
 | 
|    virtual void StopImpl() = 0;
 | 
|  
 | 
|    bool running() { return running_; }
 | 
| -  UnrecoverableErrorHandler* error_handler() { return error_handler_; }
 | 
| -  sync_api::UserShare* share_handle() { return share_handle_; }
 | 
| +  UnrecoverableErrorHandler* error_handler();
 | 
| +  sync_api::UserShare* share_handle();
 | 
|  
 | 
|   private:
 | 
|    bool running_;  // True if we have been told it is safe to process changes.
 | 
| 
 |