blob: a55b632901d5c300fa6657b0c721626bb7ea121a [file] [log] [blame]
/*
* Copyright 2008 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.gwt.user.client.impl;
import com.google.gwt.dom.client.Element;
/**
* Opera implementation of {@link com.google.gwt.user.client.impl.DOMImpl}.
*/
public class DOMImplOpera extends DOMImplStandard {
/**
* As Opera sinks events very quickly, adding guards to prevent the sinking of
* events actually slows Opera down.
*/
@Override
protected native void sinkEventsImpl(Element elem, int bits) /*-{
elem.__eventBits = bits;
elem.onclick = (bits & 0x00001) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.ondblclick = (bits & 0x00002) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onmousedown = (bits & 0x00004) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onmouseup = (bits & 0x00008) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onmouseover = (bits & 0x00010) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onmouseout = (bits & 0x00020) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onmousemove = (bits & 0x00040) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onkeydown = (bits & 0x00080) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onkeypress = (bits & 0x00100) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onkeyup = (bits & 0x00200) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onchange = (bits & 0x00400) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onfocus = (bits & 0x00800) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onblur = (bits & 0x01000) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onlosecapture = (bits & 0x02000) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onscroll = (bits & 0x04000) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onload = (bits & 0x08000) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchUnhandledEvent : null;
elem.onerror = (bits & 0x10000) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onmousewheel = (bits & 0x20000) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.oncontextmenu = (bits & 0x40000) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
elem.onpaste = (bits & 0x80000) ?
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent : null;
}-*/;
}