// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

partial interface Element {
    [RuntimeEnabled=FullscreenUnprefixed] void requestFullscreen();

    // Mozilla version
    const unsigned short ALLOW_KEYBOARD_INPUT = 1;
    [LogActivity, LogAllWorlds, MeasureAs=PrefixedElementRequestFullScreen] void webkitRequestFullScreen([Default=Undefined] optional unsigned short flags);

    // W3C version
    [LogActivity, LogAllWorlds, MeasureAs=PrefixedElementRequestFullscreen] void webkitRequestFullscreen();

    attribute EventHandler onwebkitfullscreenchange;
    attribute EventHandler onwebkitfullscreenerror;
};
