[GTK] Compilation errors when GL is disabled
[WebKit-https.git] / Source / WebCore / page / Navigator.h
1 /*
2     Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
3
4     This library is free software; you can redistribute it and/or
5     modify it under the terms of the GNU Library General Public
6     License as published by the Free Software Foundation; either
7     version 2 of the License, or (at your option) any later version.
8
9     This library is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12     Library General Public License for more details.
13
14     You should have received a copy of the GNU Library General Public License
15     along with this library; see the file COPYING.LIB.  If not, write to
16     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17     Boston, MA 02110-1301, USA.
18 */
19
20 #pragma once
21
22 #include "DOMWindowProperty.h"
23 #include "JSDOMPromiseDeferred.h"
24 #include "NavigatorBase.h"
25 #include "ScriptWrappable.h"
26 #include "ShareData.h"
27 #include "Supplementable.h"
28 #include <wtf/IsoMalloc.h>
29
30 namespace WebCore {
31
32 class DOMMimeTypeArray;
33 class DOMPluginArray;
34
35 class Navigator final : public NavigatorBase, public ScriptWrappable, public DOMWindowProperty, public Supplementable<Navigator> {
36     WTF_MAKE_ISO_ALLOCATED(Navigator);
37 public:
38     static Ref<Navigator> create(ScriptExecutionContext* context, DOMWindow& window) { return adoptRef(*new Navigator(context, window)); }
39     virtual ~Navigator();
40
41     String appVersion() const;
42     DOMPluginArray& plugins();
43     DOMMimeTypeArray& mimeTypes();
44     bool cookieEnabled() const;
45     bool javaEnabled() const;
46     const String& userAgent() const final;
47     String platform() const final;
48     void userAgentChanged();
49     bool onLine() const final;
50     void share(ScriptExecutionContext&, ShareData, Ref<DeferredPromise>&&);
51     
52 #if PLATFORM(IOS_FAMILY)
53     bool standalone() const;
54 #endif
55
56     void getStorageUpdates();
57
58 #if ENABLE(POINTER_EVENTS)
59 #if ENABLE(IOS_TOUCH_EVENTS) && !PLATFORM(MACCATALYST)
60     int maxTouchPoints() const { return 5; }
61 #else
62     int maxTouchPoints() const { return 0; }
63 #endif
64 #endif
65
66 private:
67     explicit Navigator(ScriptExecutionContext*, DOMWindow&);
68
69     mutable RefPtr<DOMPluginArray> m_plugins;
70     mutable RefPtr<DOMMimeTypeArray> m_mimeTypes;
71     mutable String m_userAgent;
72     mutable String m_platform;
73 };
74
75 }