/*
    Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public License
    along with this library; see the file COPYING.LIB.  If not, write to
    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Boston, MA 02110-1301, USA.
*/


    [
    	CustomNamedSetter,
        JSCustomGetOwnPropertySlotAndDescriptor,
        JSGenerateIsReachable=ImplFrame,
    ] interface Navigator {
        readonly attribute DOMString appCodeName;
        readonly attribute DOMString appName;
        readonly attribute DOMString appVersion;
        readonly attribute DOMString language;
        readonly attribute DOMString userAgent;
        readonly attribute DOMString platform;
        readonly attribute DOMPluginArray plugins;
        readonly attribute DOMMimeTypeArray mimeTypes;
        readonly attribute DOMString product;
        readonly attribute DOMString productSub;
        readonly attribute DOMString vendor;
        readonly attribute DOMString vendorSub;
        readonly attribute boolean cookieEnabled;
        boolean javaEnabled();

#if defined(ENABLE_NETTV) && ENABLE_NETTV        
        void playRomSound(in DOMString sound);
#endif  

        readonly attribute boolean onLine;

#if defined(ENABLE_POINTER_LOCK) && ENABLE_POINTER_LOCK // FIXME: Remove reliance on PointerLock.idl when removing old Pointer Lock API. (https://bugs.webkit.org/show_bug.cgi?id=84402)
        [Conditional=POINTER_LOCK] readonly attribute PointerLock webkitPointer;
#endif

        void getStorageUpdates(); // FIXME: Remove this method or rename to yieldForStorageUpdates.
    };

