14a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
24a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
34a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// found in the LICENSE file.
44a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
54a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#ifndef CHROME_BROWSER_UI_VIEWS_EVENT_UTILS_H__
64a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#define CHROME_BROWSER_UI_VIEWS_EVENT_UTILS_H__
74a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#pragma once
84a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
94a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#include "webkit/glue/window_open_disposition.h"
104a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
114a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochnamespace views {
124a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochclass MouseEvent;
134a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch}
144a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
154a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochnamespace event_utils {
164a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
174a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// Translates event flags into what kind of disposition they represents.
184a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// For example, a middle click would mean to open a background tab.
194a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// event_flags are the flags as understood by views::MouseEvent.
204a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben MurdochWindowOpenDisposition DispositionFromEventFlags(int event_flags);
214a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
224a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// Returns true if the specified mouse event may have a
234a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// WindowOptionDisposition.
244a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochbool IsPossibleDispositionEvent(const views::MouseEvent& event);
254a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
264a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch}
274a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
284a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#endif  // CHROME_BROWSER_UI_VIEWS_EVENT_UTILS_H__
29