10826e83eSopenharmony_ci/*
20826e83eSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
30826e83eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
40826e83eSopenharmony_ci * you may not use this file except in compliance with the License.
50826e83eSopenharmony_ci * You may obtain a copy of the License at
60826e83eSopenharmony_ci *
70826e83eSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
80826e83eSopenharmony_ci *
90826e83eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
100826e83eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
110826e83eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
120826e83eSopenharmony_ci * See the License for the specific language governing permissions and
130826e83eSopenharmony_ci * limitations under the License.
140826e83eSopenharmony_ci */
150826e83eSopenharmony_ci
160826e83eSopenharmony_ci#ifndef NWEB_CREAT_WINDOW_H
170826e83eSopenharmony_ci#define NWEB_CREAT_WINDOW_H
180826e83eSopenharmony_ci
190826e83eSopenharmony_ci#include "nweb.h"
200826e83eSopenharmony_ci#include "nweb_init_params.h"
210826e83eSopenharmony_ci
220826e83eSopenharmony_ci#define private public
230826e83eSopenharmony_ci#include "ui/rs_surface_node.h"
240826e83eSopenharmony_ci#undef private
250826e83eSopenharmony_ci
260826e83eSopenharmony_cinamespace OHOS::NWeb {
270826e83eSopenharmony_cistd::shared_ptr<NWebEngineInitArgsImpl> GetInitArgs(void);
280826e83eSopenharmony_cistd::shared_ptr<NWeb> GetNwebForTest();
290826e83eSopenharmony_ci
300826e83eSopenharmony_ciclass NWebMock : public NWeb {
310826e83eSopenharmony_cipublic:
320826e83eSopenharmony_ci    void Resize(uint32_t width, uint32_t height, bool isKeyboard = false) override
330826e83eSopenharmony_ci    {}
340826e83eSopenharmony_ci    void OnPause() override
350826e83eSopenharmony_ci    {}
360826e83eSopenharmony_ci    void OnContinue() override
370826e83eSopenharmony_ci    {}
380826e83eSopenharmony_ci    void OnDestroy() override
390826e83eSopenharmony_ci    {}
400826e83eSopenharmony_ci    void OnFocus(const FocusReason& focusReason = FocusReason::FOCUS_DEFAULT) override
410826e83eSopenharmony_ci    {}
420826e83eSopenharmony_ci    void OnBlur(const BlurReason& blurReason) override
430826e83eSopenharmony_ci    {}
440826e83eSopenharmony_ci    void OnTouchPress(int32_t id, double x, double y, bool fromOverlay = false) override
450826e83eSopenharmony_ci    {}
460826e83eSopenharmony_ci    void OnTouchRelease(int32_t id, double x = 0, double y = 0, bool fromOverlay = false) override
470826e83eSopenharmony_ci    {}
480826e83eSopenharmony_ci    void OnTouchMove(int32_t id, double x, double y, bool fromOverlay = false) override
490826e83eSopenharmony_ci    {}
500826e83eSopenharmony_ci    void OnTouchMove(const std::vector<std::shared_ptr<NWebTouchPointInfo>> &touch_point_infos,
510826e83eSopenharmony_ci                     bool fromOverlay = false) override
520826e83eSopenharmony_ci    {}
530826e83eSopenharmony_ci    void OnTouchCancel() override
540826e83eSopenharmony_ci    {}
550826e83eSopenharmony_ci    void OnNavigateBack() override
560826e83eSopenharmony_ci    {}
570826e83eSopenharmony_ci    bool SendKeyEvent(int32_t keyCode, int32_t keyAction) override
580826e83eSopenharmony_ci    {
590826e83eSopenharmony_ci        return true;
600826e83eSopenharmony_ci    }
610826e83eSopenharmony_ci    void SendMouseWheelEvent(double x, double y, double deltaX, double deltaY) override
620826e83eSopenharmony_ci    {}
630826e83eSopenharmony_ci    void SendMouseEvent(int x, int y, int button, int action, int count) override
640826e83eSopenharmony_ci    {}
650826e83eSopenharmony_ci    int Load(const std::string& url) override
660826e83eSopenharmony_ci    {
670826e83eSopenharmony_ci        return 0;
680826e83eSopenharmony_ci    }
690826e83eSopenharmony_ci    bool IsNavigatebackwardAllowed() override
700826e83eSopenharmony_ci    {
710826e83eSopenharmony_ci        return true;
720826e83eSopenharmony_ci    }
730826e83eSopenharmony_ci    bool IsNavigateForwardAllowed() override
740826e83eSopenharmony_ci    {
750826e83eSopenharmony_ci        return true;
760826e83eSopenharmony_ci    }
770826e83eSopenharmony_ci    bool CanNavigateBackOrForward(int numSteps) override
780826e83eSopenharmony_ci    {
790826e83eSopenharmony_ci        return true;
800826e83eSopenharmony_ci    }
810826e83eSopenharmony_ci    void NavigateBack() override
820826e83eSopenharmony_ci    {}
830826e83eSopenharmony_ci    void NavigateForward() override
840826e83eSopenharmony_ci    {}
850826e83eSopenharmony_ci    void NavigateBackOrForward(int step) override
860826e83eSopenharmony_ci    {}
870826e83eSopenharmony_ci    void DeleteNavigateHistory() override
880826e83eSopenharmony_ci    {}
890826e83eSopenharmony_ci    void Reload() override
900826e83eSopenharmony_ci    {}
910826e83eSopenharmony_ci    int Zoom(float zoomFactor) override
920826e83eSopenharmony_ci    {
930826e83eSopenharmony_ci        return 0;
940826e83eSopenharmony_ci    }
950826e83eSopenharmony_ci    int ZoomIn() override
960826e83eSopenharmony_ci    {
970826e83eSopenharmony_ci        return 0;
980826e83eSopenharmony_ci    }
990826e83eSopenharmony_ci    int ZoomOut() override
1000826e83eSopenharmony_ci    {
1010826e83eSopenharmony_ci        return 0;
1020826e83eSopenharmony_ci    }
1030826e83eSopenharmony_ci    void Stop() override
1040826e83eSopenharmony_ci    {}
1050826e83eSopenharmony_ci    void ExecuteJavaScript(const std::string& code) override
1060826e83eSopenharmony_ci    {}
1070826e83eSopenharmony_ci    void ExecuteJavaScript(
1080826e83eSopenharmony_ci        const std::string& code,
1090826e83eSopenharmony_ci        std::shared_ptr<NWebMessageValueCallback> callback,
1100826e83eSopenharmony_ci        bool extention) override
1110826e83eSopenharmony_ci    {}
1120826e83eSopenharmony_ci    std::shared_ptr<NWebPreference> GetPreference() override
1130826e83eSopenharmony_ci    {
1140826e83eSopenharmony_ci        return nullptr;
1150826e83eSopenharmony_ci    }
1160826e83eSopenharmony_ci    unsigned int GetWebId() override
1170826e83eSopenharmony_ci    {
1180826e83eSopenharmony_ci        return 0;
1190826e83eSopenharmony_ci    }
1200826e83eSopenharmony_ci    std::shared_ptr<HitTestResult> GetHitTestResult() override
1210826e83eSopenharmony_ci    {
1220826e83eSopenharmony_ci        std::shared_ptr<HitTestResult> test;
1230826e83eSopenharmony_ci        return test;
1240826e83eSopenharmony_ci    }
1250826e83eSopenharmony_ci    void PutBackgroundColor(int color) override
1260826e83eSopenharmony_ci    {}
1270826e83eSopenharmony_ci    void InitialScale(float scale) override
1280826e83eSopenharmony_ci    {}
1290826e83eSopenharmony_ci    void PutDownloadCallback(
1300826e83eSopenharmony_ci        std::shared_ptr<NWebDownloadCallback> downloadListener) override
1310826e83eSopenharmony_ci    {}
1320826e83eSopenharmony_ci    void PutReleaseSurfaceCallback(
1330826e83eSopenharmony_ci        std::shared_ptr<NWebReleaseSurfaceCallback> releaseSurfaceListener) override
1340826e83eSopenharmony_ci    {}
1350826e83eSopenharmony_ci    void SetNWebHandler(std::shared_ptr<NWebHandler> handler) override
1360826e83eSopenharmony_ci    {}
1370826e83eSopenharmony_ci    std::string Title() override
1380826e83eSopenharmony_ci    {
1390826e83eSopenharmony_ci        return nullptr;
1400826e83eSopenharmony_ci    }
1410826e83eSopenharmony_ci    int PageLoadProgress() override
1420826e83eSopenharmony_ci    {
1430826e83eSopenharmony_ci        return 0;
1440826e83eSopenharmony_ci    }
1450826e83eSopenharmony_ci    int ContentHeight() override
1460826e83eSopenharmony_ci    {
1470826e83eSopenharmony_ci        return 0;
1480826e83eSopenharmony_ci    }
1490826e83eSopenharmony_ci    float Scale() override
1500826e83eSopenharmony_ci    {
1510826e83eSopenharmony_ci        return 0;
1520826e83eSopenharmony_ci    }
1530826e83eSopenharmony_ci    int Load(
1540826e83eSopenharmony_ci        const std::string& url,
1550826e83eSopenharmony_ci        const std::map<std::string, std::string> &additionalHttpHeaders) override
1560826e83eSopenharmony_ci    {
1570826e83eSopenharmony_ci        return 0;
1580826e83eSopenharmony_ci    }
1590826e83eSopenharmony_ci    int LoadWithDataAndBaseUrl(const std::string& baseUrl,
1600826e83eSopenharmony_ci                                        const std::string& data,
1610826e83eSopenharmony_ci                                        const std::string& mimeType,
1620826e83eSopenharmony_ci                                        const std::string& encoding,
1630826e83eSopenharmony_ci                                        const std::string& historyUrl) override
1640826e83eSopenharmony_ci    {
1650826e83eSopenharmony_ci        return 0;
1660826e83eSopenharmony_ci    }
1670826e83eSopenharmony_ci    int LoadWithData(const std::string& data,
1680826e83eSopenharmony_ci                              const std::string& mimeType,
1690826e83eSopenharmony_ci                              const std::string& encoding) override
1700826e83eSopenharmony_ci    {
1710826e83eSopenharmony_ci        return 0;
1720826e83eSopenharmony_ci    }
1730826e83eSopenharmony_ci    void RegisterArkJSfunction(
1740826e83eSopenharmony_ci        const std::string& object_name, const std::vector<std::string>& method_list, const int32_t object_id) override
1750826e83eSopenharmony_ci    {}
1760826e83eSopenharmony_ci    void UnregisterArkJSfunction(
1770826e83eSopenharmony_ci        const std::string& object_name,
1780826e83eSopenharmony_ci        const std::vector<std::string>& method_list) override
1790826e83eSopenharmony_ci    {}
1800826e83eSopenharmony_ci    void SetNWebJavaScriptResultCallBack(
1810826e83eSopenharmony_ci        std::shared_ptr<NWebJavaScriptResultCallBack> callback) override
1820826e83eSopenharmony_ci    {}
1830826e83eSopenharmony_ci    void PutFindCallback(
1840826e83eSopenharmony_ci        std::shared_ptr<NWebFindCallback> findListener) override
1850826e83eSopenharmony_ci    {}
1860826e83eSopenharmony_ci    void FindAllAsync(const std::string &searchStr) override
1870826e83eSopenharmony_ci    {}
1880826e83eSopenharmony_ci    void ClearMatches() override
1890826e83eSopenharmony_ci    {}
1900826e83eSopenharmony_ci    void FindNext(const bool forward) override
1910826e83eSopenharmony_ci    {}
1920826e83eSopenharmony_ci    void StoreWebArchive(const std::string &baseName, bool autoName,
1930826e83eSopenharmony_ci        std::shared_ptr<NWebStringValueCallback> callback) override
1940826e83eSopenharmony_ci    {}
1950826e83eSopenharmony_ci    std::vector<std::string> CreateWebMessagePorts() override
1960826e83eSopenharmony_ci    {
1970826e83eSopenharmony_ci        std::vector<std::string> empty;
1980826e83eSopenharmony_ci        return empty;
1990826e83eSopenharmony_ci    }
2000826e83eSopenharmony_ci    void PostWebMessage(const std::string& message, const std::vector<std::string>& ports, const std::string& targetUri)
2010826e83eSopenharmony_ci        override
2020826e83eSopenharmony_ci    {}
2030826e83eSopenharmony_ci    void ClosePort(const std::string& handle) override
2040826e83eSopenharmony_ci    {}
2050826e83eSopenharmony_ci    void PostPortMessage(const std::string& handle, std::shared_ptr<NWebMessage> data) override
2060826e83eSopenharmony_ci    {}
2070826e83eSopenharmony_ci    void SetPortMessageCallback(const std::string& handle,
2080826e83eSopenharmony_ci        std::shared_ptr<NWebMessageValueCallback> callback) override
2090826e83eSopenharmony_ci    {}
2100826e83eSopenharmony_ci    void SendDragEvent(std::shared_ptr<NWebDragEvent> dragEvent) override
2110826e83eSopenharmony_ci    {}
2120826e83eSopenharmony_ci    void ClearSslCache() override
2130826e83eSopenharmony_ci    {}
2140826e83eSopenharmony_ci    std::string GetUrl() override
2150826e83eSopenharmony_ci    {
2160826e83eSopenharmony_ci        return "/data";
2170826e83eSopenharmony_ci    }
2180826e83eSopenharmony_ci    void ClearClientAuthenticationCache() override
2190826e83eSopenharmony_ci    {}
2200826e83eSopenharmony_ci    void UpdateLocale(const std::string& language, const std::string& region) override
2210826e83eSopenharmony_ci    {}
2220826e83eSopenharmony_ci
2230826e83eSopenharmony_ci    const std::string GetOriginalUrl() override
2240826e83eSopenharmony_ci    {
2250826e83eSopenharmony_ci        return "";
2260826e83eSopenharmony_ci    }
2270826e83eSopenharmony_ci    bool GetFavicon(const void** data, size_t& width, size_t& height,
2280826e83eSopenharmony_ci        ImageColorType& colorType, ImageAlphaType& alphaType) override
2290826e83eSopenharmony_ci    {
2300826e83eSopenharmony_ci        return false;
2310826e83eSopenharmony_ci    }
2320826e83eSopenharmony_ci    void PutNetworkAvailable(bool available) override
2330826e83eSopenharmony_ci    {}
2340826e83eSopenharmony_ci
2350826e83eSopenharmony_ci    void HasImages(std::shared_ptr<NWebBoolValueCallback> callback) override
2360826e83eSopenharmony_ci    {}
2370826e83eSopenharmony_ci
2380826e83eSopenharmony_ci    void RemoveCache(bool include_disk_files) override
2390826e83eSopenharmony_ci    {}
2400826e83eSopenharmony_ci    std::shared_ptr<NWebHistoryList> GetHistoryList() override
2410826e83eSopenharmony_ci    {
2420826e83eSopenharmony_ci        return nullptr;
2430826e83eSopenharmony_ci    }
2440826e83eSopenharmony_ci    std::vector<uint8_t> SerializeWebState() override
2450826e83eSopenharmony_ci    {
2460826e83eSopenharmony_ci        std::vector<uint8_t> empty;
2470826e83eSopenharmony_ci        return empty;
2480826e83eSopenharmony_ci    }
2490826e83eSopenharmony_ci    bool RestoreWebState(const std::vector<uint8_t> &state) override
2500826e83eSopenharmony_ci    {
2510826e83eSopenharmony_ci        return false;
2520826e83eSopenharmony_ci    }
2530826e83eSopenharmony_ci    void PageUp(bool top) override
2540826e83eSopenharmony_ci    {}
2550826e83eSopenharmony_ci    void PageDown(bool bottom) override
2560826e83eSopenharmony_ci    {}
2570826e83eSopenharmony_ci    void ScrollTo(float x, float y) override
2580826e83eSopenharmony_ci    {}
2590826e83eSopenharmony_ci    void ScrollBy(float deltaX, float deltaY) override
2600826e83eSopenharmony_ci    {}
2610826e83eSopenharmony_ci    void SlideScroll(float vx, float vy) override
2620826e83eSopenharmony_ci    {}
2630826e83eSopenharmony_ci    bool GetCertChainDerData(std::vector<std::string>& certChainData, bool isSingleCert) override
2640826e83eSopenharmony_ci    {
2650826e83eSopenharmony_ci        return false;
2660826e83eSopenharmony_ci    }
2670826e83eSopenharmony_ci    void SetScreenOffSet(double x, double y) override
2680826e83eSopenharmony_ci    {}
2690826e83eSopenharmony_ci    void SetAudioMuted(bool muted) override
2700826e83eSopenharmony_ci    {}
2710826e83eSopenharmony_ci    void SetShouldFrameSubmissionBeforeDraw(bool should) override
2720826e83eSopenharmony_ci    {}
2730826e83eSopenharmony_ci    void NotifyPopupWindowResult(bool result) override
2740826e83eSopenharmony_ci    {}
2750826e83eSopenharmony_ci    void SetAudioResumeInterval(int32_t resumeInterval) override
2760826e83eSopenharmony_ci    {}
2770826e83eSopenharmony_ci    void SetAudioExclusive(bool audioExclusive) override
2780826e83eSopenharmony_ci    {}
2790826e83eSopenharmony_ci    void RegisterScreenLockFunction(int32_t windowId, std::shared_ptr<NWebScreenLockCallback> callback) override
2800826e83eSopenharmony_ci    {}
2810826e83eSopenharmony_ci    void UnRegisterScreenLockFunction(int32_t windowId) override
2820826e83eSopenharmony_ci    {}
2830826e83eSopenharmony_ci    std::shared_ptr<NWebDragData> GetOrCreateDragData() override
2840826e83eSopenharmony_ci    {
2850826e83eSopenharmony_ci        return nullptr;
2860826e83eSopenharmony_ci    }
2870826e83eSopenharmony_ci    void SendTouchpadFlingEvent(double x, double y, double vx, double vy) override
2880826e83eSopenharmony_ci    {}
2890826e83eSopenharmony_ci    int SetUrlTrustList(const std::string& urlTrustList) override
2900826e83eSopenharmony_ci    {
2910826e83eSopenharmony_ci        return 0;
2920826e83eSopenharmony_ci    }
2930826e83eSopenharmony_ci    int SetUrlTrustListWithErrMsg(const std::string& urlTrustList, std::string& detailErrMsg) override
2940826e83eSopenharmony_ci    {
2950826e83eSopenharmony_ci        return 0;
2960826e83eSopenharmony_ci    }
2970826e83eSopenharmony_ci};
2980826e83eSopenharmony_ci}
2990826e83eSopenharmony_ci#endif
300