Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(441)

Unified Diff: chrome/test/automation/automation_handle_tracker.h

Issue 223163003: Remove the remaining automation-based tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/automation/OWNERS ('k') | chrome/test/automation/automation_handle_tracker.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/automation/automation_handle_tracker.h
===================================================================
--- chrome/test/automation/automation_handle_tracker.h (revision 261647)
+++ chrome/test/automation/automation_handle_tracker.h (working copy)
@@ -1,113 +0,0 @@
-// 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.
-
-// This file defines a mapping between Automation Proxy objects and
-// their associated app-side handles.
-
-#ifndef CHROME_TEST_AUTOMATION_AUTOMATION_HANDLE_TRACKER_H__
-#define CHROME_TEST_AUTOMATION_AUTOMATION_HANDLE_TRACKER_H__
-
-#include <map>
-
-#include "base/basictypes.h"
-#include "base/memory/ref_counted.h"
-#include "base/synchronization/lock.h"
-#include "ipc/ipc_channel.h"
-
-// This represents a value that the app's AutomationProvider returns
-// when asked for a resource (like a window or tab).
-typedef int AutomationHandle;
-
-class AutomationHandleTracker;
-class AutomationMessageSender;
-
-class AutomationResourceProxy
- : public base::RefCountedThreadSafe<AutomationResourceProxy> {
- public:
- AutomationResourceProxy(AutomationHandleTracker* tracker,
- AutomationMessageSender* sender,
- AutomationHandle handle);
-
- // Marks this proxy object as no longer valid; this generally means
- // that the corresponding resource on the app side is gone.
- void Invalidate() {
- is_valid_ = false;
- tracker_ = NULL;
- }
-
- bool is_valid() const { return is_valid_; }
-
- // Returns the handle that the app has generated to refer to this resource.
- AutomationHandle handle() { return handle_; }
-
- protected:
- friend class AutomationHandleTracker;
- friend class base::RefCountedThreadSafe<AutomationResourceProxy>;
-
- virtual ~AutomationResourceProxy();
-
- AutomationHandle handle_;
-
- // Not owned by us, owned by the AutomationProxy object. May be NULL if the
- // tracker has been destroyed (and hence the object is invalid).
- AutomationHandleTracker* tracker_;
-
- // Not owned by us.
- AutomationMessageSender* sender_;
-
- private:
- // True if the resource that this object is a proxy for on the app side
- // still exists.
- bool is_valid_;
-
- DISALLOW_COPY_AND_ASSIGN(AutomationResourceProxy);
-};
-
-// This class keeps track of the mapping between AutomationHandles and
-// AutomationResourceProxy objects. This is important because (1) multiple
-// AutomationResourceProxy objects can be generated for the same handle
-// (2) handles can be invalidated by the app, and all the associated
-// proxy objects then need to be invalidated, and (3) when a handle is no
-// longer being used on this end, we need to tell the app that it can
-// discard the handle.
-class AutomationHandleTracker {
- public:
- explicit AutomationHandleTracker();
- ~AutomationHandleTracker();
-
- // Adds the specified proxy object to the tracker.
- void Add(AutomationResourceProxy* proxy);
-
- // Removes a given proxy object from the mapping, and unregisters the
- // handle on the app side if this was the last proxy object that was using
- // that handle. This is a no-op if the proxy object is not currently
- // in the tracker.
- void Remove(AutomationResourceProxy* proxy);
-
- // Marks all proxy objects related to a given handle invalid. This is
- // used when a resource (like a window) on the app side is closed, meaning
- // that no further operations can be completed using the handle that
- // identified that resource.
- void InvalidateHandle(AutomationHandle handle);
-
- AutomationResourceProxy* GetResource(AutomationHandle handle);
-
- void put_channel(IPC::Channel* channel) {
- channel_ = channel;
- }
-
- private:
- typedef
- std::map<AutomationHandle, scoped_refptr<AutomationResourceProxy> >
- HandleToObjectMap;
- typedef std::pair<AutomationHandle, AutomationResourceProxy*> MapEntry;
-
- HandleToObjectMap handle_to_object_;
-
- base::Lock map_lock_;
- IPC::Channel* channel_;
- DISALLOW_COPY_AND_ASSIGN(AutomationHandleTracker);
-};
-
-#endif // CHROME_TEST_AUTOMATION_AUTOMATION_HANDLE_TRACKER_H__
« no previous file with comments | « chrome/test/automation/OWNERS ('k') | chrome/test/automation/automation_handle_tracker.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698