| Index: components/discardable_memory/service/discardable_shared_memory_manager.h
 | 
| diff --git a/components/discardable_memory/service/discardable_shared_memory_manager.h b/components/discardable_memory/service/discardable_shared_memory_manager.h
 | 
| index 7ccadf18a44b3b1c68a540e9f4647b0d3778bd44..7df57de9c51a1c0e16e2263c64ad913e452ad10f 100644
 | 
| --- a/components/discardable_memory/service/discardable_shared_memory_manager.h
 | 
| +++ b/components/discardable_memory/service/discardable_shared_memory_manager.h
 | 
| @@ -27,7 +27,7 @@
 | 
|  #include "base/threading/thread_task_runner_handle.h"
 | 
|  #include "base/trace_event/memory_dump_provider.h"
 | 
|  #include "components/discardable_memory/common/discardable_memory_export.h"
 | 
| -#include "components/discardable_memory/common/discardable_shared_memory_id.h"
 | 
| +#include "components/discardable_memory/public/interfaces/discardable_shared_memory_manager.mojom.h"
 | 
|  
 | 
|  namespace discardable_memory {
 | 
|  
 | 
| @@ -44,8 +44,14 @@ class DISCARDABLE_MEMORY_EXPORT DiscardableSharedMemoryManager
 | 
|    DiscardableSharedMemoryManager();
 | 
|    ~DiscardableSharedMemoryManager() override;
 | 
|  
 | 
| +  // Create a sigleton instance.
 | 
| +  static DiscardableSharedMemoryManager* CreateInstance();
 | 
| +
 | 
|    // Returns a singleton instance.
 | 
| -  static DiscardableSharedMemoryManager* current();
 | 
| +  static DiscardableSharedMemoryManager* GetInstance();
 | 
| +
 | 
| +  // Bind the manager to a mojo interface request.
 | 
| +  void Bind(mojom::DiscardableSharedMemoryManagerRequest request);
 | 
|  
 | 
|    // Overridden from base::DiscardableMemoryAllocator:
 | 
|    std::unique_ptr<base::DiscardableMemory> AllocateLockedDiscardableMemory(
 | 
| @@ -55,20 +61,17 @@ class DISCARDABLE_MEMORY_EXPORT DiscardableSharedMemoryManager
 | 
|    bool OnMemoryDump(const base::trace_event::MemoryDumpArgs& args,
 | 
|                      base::trace_event::ProcessMemoryDump* pmd) override;
 | 
|  
 | 
| -  // TODO(penghuang): Get ride of the |process_handle| when we switch to mojo.
 | 
|    // This allocates a discardable memory segment for |process_handle|.
 | 
|    // A valid shared memory handle is returned on success.
 | 
|    void AllocateLockedDiscardableSharedMemoryForClient(
 | 
| -      base::ProcessHandle process_handle,
 | 
|        int client_id,
 | 
|        size_t size,
 | 
| -      DiscardableSharedMemoryId id,
 | 
| +      int32_t id,
 | 
|        base::SharedMemoryHandle* shared_memory_handle);
 | 
|  
 | 
|    // Call this to notify the manager that client process associated with
 | 
|    // |client_id| has deleted discardable memory segment with |id|.
 | 
| -  void ClientDeletedDiscardableSharedMemory(DiscardableSharedMemoryId id,
 | 
| -                                            int client_id);
 | 
| +  void ClientDeletedDiscardableSharedMemory(int32_t id, int client_id);
 | 
|  
 | 
|    // Call this to notify the manager that client associated with |client_id|
 | 
|    // has been removed. The manager will use this to release memory segments
 | 
| @@ -111,15 +114,12 @@ class DISCARDABLE_MEMORY_EXPORT DiscardableSharedMemoryManager
 | 
|    // base::MemoryCoordinatorClient implementation:
 | 
|    void OnMemoryStateChange(base::MemoryState state) override;
 | 
|  
 | 
| -  // TODO(penghuang): Get ride of the |process_handle| when we switch to mojo.
 | 
|    void AllocateLockedDiscardableSharedMemory(
 | 
| -      base::ProcessHandle process_handle,
 | 
|        int client_id,
 | 
|        size_t size,
 | 
| -      DiscardableSharedMemoryId id,
 | 
| +      int32_t id,
 | 
|        base::SharedMemoryHandle* shared_memory_handle);
 | 
| -  void DeletedDiscardableSharedMemory(DiscardableSharedMemoryId id,
 | 
| -                                      int client_id);
 | 
| +  void DeletedDiscardableSharedMemory(int32_t id, int client_id);
 | 
|    void OnMemoryPressure(
 | 
|        base::MemoryPressureListener::MemoryPressureLevel memory_pressure_level);
 | 
|    void ReduceMemoryUsageUntilWithinMemoryLimit();
 | 
| @@ -131,15 +131,16 @@ class DISCARDABLE_MEMORY_EXPORT DiscardableSharedMemoryManager
 | 
|    virtual base::Time Now() const;
 | 
|    virtual void ScheduleEnforceMemoryPolicy();
 | 
|  
 | 
| +  int32_t next_client_id_;
 | 
| +
 | 
|    base::Lock lock_;
 | 
| -  typedef base::hash_map<DiscardableSharedMemoryId,
 | 
| -                         scoped_refptr<MemorySegment>>
 | 
| -      MemorySegmentMap;
 | 
| -  typedef base::hash_map<int, MemorySegmentMap> ClientMap;
 | 
| +  using MemorySegmentMap =
 | 
| +      base::hash_map<int32_t, scoped_refptr<MemorySegment>>;
 | 
| +  using ClientMap = base::hash_map<int, MemorySegmentMap>;
 | 
|    ClientMap clients_;
 | 
|    // Note: The elements in |segments_| are arranged in such a way that they form
 | 
|    // a heap. The LRU memory segment always first.
 | 
| -  typedef std::vector<scoped_refptr<MemorySegment>> MemorySegmentVector;
 | 
| +  using MemorySegmentVector = std::vector<scoped_refptr<MemorySegment>>;
 | 
|    MemorySegmentVector segments_;
 | 
|    size_t default_memory_limit_;
 | 
|    size_t memory_limit_;
 | 
| 
 |