Skip to content

GitLab

    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
    • Menu
    Projects Groups Snippets
  • Sign up now
  • Login
  • Sign in / Register
  • FPC Source FPC Source
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 1,259
    • Issues 1,259
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 47
    • Merge requests 47
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

GitLab 15.0 has launched! Please visit Breaking changes in 15.0 and 15.0 Removals to see which breaking changes may impact your workflow.

  • FPC
  • FPC
  • FPC SourceFPC Source
  • Issues
  • #37441
Closed
Open
Created Jul 28, 2020 by FPC Admin account@fpc_adminOwner

CocoaInt WKWebView support on macOS

Original Reporter info from Mantis: zpeterson @boramis
  • Reporter name: Zoë Peterson

Description:

According to Apple's documentation, WKWebView was introduced in macOS 10.10, and the current FPC Cocoa header translations are based on that version, but the WebKit definitions are all disabled on macOS (and broken on iOS?).

The attached patch makes it work, though someone who knows the header parser better than me should fix it properly.

There's 3 issues I see:

  1. WKFoundation.inc has an "{$if defined(TARGET_OS_IPHONE)}" block which disables it for macOS.

  2. All of the .inc files use "{$if defined(WK_API_ENABLED)}" to check whether they should include their contents, but since WK_API_ENABLED is a const rather than a DEFINEd value, they always fail. Either the checks need to be switched to {$if declared(WK_API_ENABLED)} or WK_API_ENABLED needs to be $DEFINEd too. I chose the latter to keep the patch small. Might be worth removing the existing const as well.

  3. WKWebView.inc has a weird garbage {$if} block (previously mentioned in issue #35995) which should be corrected, but also collapses down to {$if defined(TARGET_OS_IPHONE)} so it's likewise unnecessarily disabled on macOS.

Mantis conversion info:

  • Mantis ID: 37441
  • Version: 3.3.1
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking