| Index: chrome/browser/tab_contents/tab_contents_view.h | 
| diff --git a/chrome/browser/tab_contents/tab_contents_view.h b/chrome/browser/tab_contents/tab_contents_view.h | 
| index db5fff86c94c851a96330cebb6dbff55fca2e511..79bee6dd6da65b77673bd2bab9f734f993b469ca 100644 | 
| --- a/chrome/browser/tab_contents/tab_contents_view.h | 
| +++ b/chrome/browser/tab_contents/tab_contents_view.h | 
| @@ -136,6 +136,16 @@ class TabContentsView : public RenderViewHostDelegate::View { | 
| } | 
| virtual void CancelDragAndCloseTab() {} | 
|  | 
| +  // If we close the tab while a UI control is in an event-tracking | 
| +  // loop, the control may message freed objects and crash. | 
| +  // TabContents::Close() calls IsEventTracking(), and if it returns | 
| +  // true CloseTabAfterEventTracking() is called and the close is not | 
| +  // completed. | 
| +  virtual bool IsEventTracking() const { | 
| +    return false; | 
| +  } | 
| +  virtual void CloseTabAfterEventTracking() {} | 
| + | 
| protected: | 
| TabContentsView() {}  // Abstract interface. | 
|  | 
|  |