Cast: Stop logging kVideoFrameSentToEncoder and rename a couple events.
[chromium-blink-merge.git] / chrome / test / chromedriver / js / dispatch_context_menu_event.js
blobddbc21477182829c6e737c7fcdff09182f3da784
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 /**
6 * Enum for modifier keys, same as DevTools protocol.
7 * @enum {number}
8 */
9 var ModifierMask = {
10 ALT: 1 << 0,
11 CTRL: 1 << 1,
12 META: 1 << 2,
13 SHIFT: 1 << 3,
16 /**
17 * Dispatches a context menu event at the given location.
19 * @param {number} x The X coordinate to dispatch the event at.
20 * @param {number} y The Y coordinate to dispatch the event at.
21 * @param {modifiers} modifiers The modifiers to use for the event.
23 function dispatchContextMenuEvent(x, y, modifiers) {
24 var event = new MouseEvent(
25 'contextmenu',
26 {view: window,
27 bubbles: true,
28 cancelable: true,
29 screenX: x,
30 screenY: y,
31 clientX: x,
32 clientY: y,
33 ctrlKey: modifiers & ModifierMask.CTRL,
34 altKey: modifiers & ModifierMask.ALT,
35 shiftKey: modifiers & ModifierMask.SHIFT,
36 metaKey: modifiers & ModifierMask.META,
37 button: 2});
39 var elem = document.elementFromPoint(x, y);
40 if (!elem) {
41 throw new Error('cannot right click outside the visible bounds of the ' +
42 'document: (' + x + ', ' + y + ')');
44 elem.dispatchEvent(event);