Bug 206069 - [GTK] compilation breaks if POINTER_LOCK is not enabled
Summary: [GTK] compilation breaks if POINTER_LOCK is not enabled
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Víctor M. Jáquez L.
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-01-10 08:58 PST by Víctor M. Jáquez L.
Modified: 2020-06-04 01:03 PDT (History)
8 users (show)

See Also:


Attachments
Patch (5.10 KB, patch)
2020-01-10 09:04 PST, Víctor M. Jáquez L.
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Víctor M. Jáquez L. 2020-01-10 08:58:30 PST
If POINT_LOCK is not enabled at configuration time, compilation breaks with

/opt/webkit/WebKit/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:1886:26: error: no member named 'didAllowPointerLock' in 'WebKit::WebPageProxy'
        priv->pageProxy->didAllowPointerLock();
        ~~~~~~~~~~~~~~~  ^
/opt/webkit/WebKit/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:1891:22: error: no member named 'didDenyPointerLock' in 'WebKit::WebPageProxy'
    priv->pageProxy->didDenyPointerLock();
    ~~~~~~~~~~~~~~~  ^
Comment 1 Víctor M. Jáquez L. 2020-01-10 09:04:25 PST
Created attachment 387342 [details]
Patch
Comment 2 EWS Watchlist 2020-01-10 09:05:18 PST
Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
Comment 3 Adrian Perez 2020-01-10 13:38:44 PST
The POINTER_LOCK feature is intended to always be enabled for
the GTK port. It is also a private option, which means that it
must not be manually set when configuring a build — it's not
supported :)

The relevant bits:

  Source/cmake/WebKitFeatures.cmake
  183:    WEBKIT_OPTION_DEFINE(ENABLE_POINTER_LOCK "Toggle pointer lock support" PRIVATE OFF)

  Source/cmake/OptionsGTK.cmake
  166:WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_POINTER_LOCK PRIVATE ON)

I think this patch should not be needed, because POINTER_LOCK
is enabled automatically.

Out of curiosity… how did you reach this build problem? I suspect
that maybe there was a stale “CMakeCache.txt” in a build directory
manually configured some weeks ago before POINTER_LOCK was implemented
in the GTK port, and trying to reuse that build directory did not
regenerate the cache file (but I am just doing a wild guess here).
Comment 4 Carlos Garcia Campos 2020-01-13 01:18:49 PST
(In reply to Adrian Perez from comment #3)
> The POINTER_LOCK feature is intended to always be enabled for
> the GTK port. It is also a private option, which means that it
> must not be manually set when configuring a build — it's not
> supported :)

Exactly.

> The relevant bits:
> 
>   Source/cmake/WebKitFeatures.cmake
>   183:    WEBKIT_OPTION_DEFINE(ENABLE_POINTER_LOCK "Toggle pointer lock
> support" PRIVATE OFF)
> 
>   Source/cmake/OptionsGTK.cmake
>   166:WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_POINTER_LOCK PRIVATE ON)
> 
> I think this patch should not be needed, because POINTER_LOCK
> is enabled automatically.
> 
> Out of curiosity… how did you reach this build problem? I suspect
> that maybe there was a stale “CMakeCache.txt” in a build directory
> manually configured some weeks ago before POINTER_LOCK was implemented
> in the GTK port, and trying to reuse that build directory did not
> regenerate the cache file (but I am just doing a wild guess here).
Comment 5 Víctor M. Jáquez L. 2020-01-13 02:28:03 PST
(In reply to Adrian Perez from comment #3)
> 
> I think this patch should not be needed, because POINTER_LOCK
> is enabled automatically.

Indeed.

> 
> Out of curiosity… how did you reach this build problem? I suspect
> that maybe there was a stale “CMakeCache.txt” in a build directory
> manually configured some weeks ago before POINTER_LOCK was implemented
> in the GTK port, and trying to reuse that build directory did not
> regenerate the cache file (but I am just doing a wild guess here).

I pulled and compiled. It failed. Then I just ran the cmake command again in my old build directory and still failed. So I looked for the causes (forgetting completely the build system).

Today I've removed the build directory and built all again and master compiles ok. Marking as invalid. Thanks!