1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_UNDO_UNDO_OPERATION_H_
6 #define COMPONENTS_UNDO_UNDO_OPERATION_H_
8 // Base class for all undo operations.
11 virtual ~UndoOperation() {}
13 virtual void Undo() = 0;
15 // Returns the resource string id describing the undo/redo of this operation
16 // for use as labels in the UI.
17 // Note: The labels describe the original user action, this may result in
18 // the meaning of the redo label being reversed. For example, an
19 // UndoOperation representing a deletion would have been created in order to
20 // redo an addition by the user. In this case, the redo label string for the
21 // UndoOperation of delete would be "Redo add".
22 virtual int GetUndoLabelId() const = 0;
23 virtual int GetRedoLabelId() const = 0;
26 #endif // COMPONENTS_UNDO_UNDO_OPERATION_H_