Revert "Roll third_party/glfw/ 947731113..df8d7bc89 (184 commits)"

This reverts commit 6c9a5920ea0e158f5ddd9291545fed4b4e94722f.

Reason for revert: Doesn't roll properly in Chromium.

Original change's description:
> Roll third_party/glfw/ 947731113..df8d7bc89 (184 commits)
>
> https://chromium.googlesource.com/external/github.com/glfw/glfw/+log/94773111300f..df8d7bc89293
>
> $ git log 947731113..df8d7bc89 --date=short --no-merges --format='%ad %ae %s'
> 2021-12-31 elmindreda Wayland: Clean up modifier key event handler
> 2021-12-31 elmindreda Wayland: Clean up key translation
> 2021-12-30 elmindreda Wayland: Fix text input not following key repeat
> 2021-12-30 elmindreda Wayland: Clean up key event handler
> 2021-12-30 elmindreda Wayland: Require xkbcommon 0.5.0 or greater
> 2021-12-30 elmindreda Wayland: Clean up text input
> 2021-12-30 elmindreda Clean up internal Unicode code point handling
> 2021-12-29 elmindreda Wayland: Implement key name support
> 2021-12-30 elmindreda Move UTF-8 encoding to shared code
> 2021-12-30 elmindreda Wayland: Fix keys reported as wrong or unknown key
> 2021-12-28 elmindreda Wayland: Fix GLFW_VISIBLE affecting full screen
> 2021-12-28 elmindreda Fix gamma test not checking for NULL return value
> 2021-12-28 elmindreda Wayland: Fix missing damage event on window show
> 2021-12-28 elmindreda Wayland: Fix window not visible after initial swap
> 2021-12-27 elmindreda Wayland: Remove window monitor array pre-alloc
> 2021-12-27 elmindreda Wayland: Remove superfluous initialize to NULL
> 2021-12-27 elmindreda Wayland: Move window title cloning to creation
> 2021-12-27 elmindreda Wayland: Gather framebuffer transparency logic
> 2021-12-27 elmindreda Wayland: Move surface creation function
> 2021-12-26 elmindreda Wayland: Fix repeated key not released on defocus
> 2021-12-27 elmindreda Wayland: Control key repeat via timerfd state
> 2021-12-26 elmindreda Wayland: Clean up event pump
> 2021-12-30 linkmauve Wayland: Use correct action on fallback decoration
> 2021-12-27 elmindreda Wayland: Document delayed window showing
> 2021-12-26 elmindreda Update docs for specific Vulkan surface extensions
> 2021-12-22 elmindreda X11: Fix sonames for loaded libraries on OpenBSD
> 2021-12-22 elmindreda Add hiding and showing to interactive window test
> 2020-07-12 jason Wayland: Fix window hiding
> 2021-12-22 elmindreda Wayland: Fix key repeat continuing when refocused
> 2021-12-22 elmindreda Wayland: Fix duplicate focus event on activation
> 2021-12-14 linkmauve EGL: Use EGL_EXT_present_opaque when available
> 2021-12-14 linkmauve Wayland: Continue poll() if timerfd can’t be read
> 2020-06-05 lattis Wayland: Set O_NONBLOCK on repeat timerfd
> 2021-12-09 elmindreda X11: Add extension header paths to CMake target
> 2021-12-08 elmindreda Fix initial windowed mode size for test
> 2021-12-05 59504965+InKryption Add missing errors section for glfwGetGamepadName
> 2021-12-01 elmindreda Win32: Handle content scale error on creation
> 2021-12-01 elmindreda Win32: Fix bad content scale on monitor disconnect
> 2021-11-30 elmindreda Formatting
> 2021-11-30 elmindreda Cleanup
> 2021-11-02 elmindreda Add credits and update changelog
> 2021-10-31 stephen X11: Fix undefined behavior in glfwSetWindowIcon
> 2021-11-15 stephen Fix docs calling GLFW_CONTEXT_REVISION a hint
> 2021-11-16 elmindreda Gather Null specific platform selection logic
> 2021-11-09 elmindreda Update comments for global mutable data
> 2021-10-28 luzpaz Fix source comment typo
> 2021-11-25 elmindreda Add credit
> 2021-11-22 59504965+InKryption Add missing error to glfwGetClipboardString docs
> 2021-11-22 elmindreda Add credit
> 2021-11-18 jeebjp Cocoa: Use MACH_PORT_NULL for default IOKit port
> (...)
> 2021-07-14 elmindreda Add credit
> 2021-07-07 david.v.mckay realizing "as you would" is platform dependent
> 2021-07-07 david.v.mckay Clarify "as you would" for beginners.
> 2021-06-25 elmindreda Remove errors for gamepad element mismatch
> 2021-06-23 lazylumpster+github Consistent subsections in compile guide
> 2021-06-22 elmindreda Wayland: Fix missing constant on FreeBSD
> 2021-06-22 elmindreda Wayland: Fix case of epollshim find module name
> 2021-06-15 elmindreda Add missing changelog entry
> 2021-06-14 elmindreda Add notes on getting the HDC of a window on Win32
> 2021-06-09 elmindreda Fix some documentation URLs still using http:
> 2021-06-09 elmindreda Update IRC network to Libera.Chat
> 2021-06-09 elmindreda Add 'latest' branch to all CI builds
> 2021-06-09 elmindreda Move VS 2019 builds from AppVeyor to GH Actions
> 2021-06-07 elmindreda Migrate from Travis CI to GitHub Actions
> 2021-06-07 elmindreda Fix numeric conversion warnings in example
> 2021-05-14 elmindreda EGL: Fix creation of single-buffered windows
> 2021-05-14 elmindreda Move single/double-buffer filtering to backends
> 2021-05-13 elmindreda Skip initial buffer swap when single-buffered
> 2021-05-13 elmindreda Make GLFW_DOUBLEBUFFER a window attribute
> 2021-05-13 elmindreda Make monitor and joystick names static strings
> 2021-05-13 elmindreda Remove claim that EGL is not supported on macOS
> 2021-05-12 elmindreda Clarify documentation for hints
> 2021-05-12 elmindreda Fix header version macro descriptions in docs
> 2021-04-20 elmindreda Win32: Always define UNICODE and _UNICODE
> 2021-04-16 elmindreda Win32: Fix macros being enabled for other backends
> 2021-04-22 elmindreda Fix description of video mode ordering in docs
> 2021-04-15 konstantin Fix hardcoded runtime destination in CMake install
> 2021-04-12 elmindreda Win32: Fix compilation with standalone LLVM
> 2021-04-12 elmindreda Replace GL_ARB_debug_output in comments
> 2021-04-12 elmindreda Replace GL_ARB_debug_output in context guide
> 2021-04-11 elmindreda Add Vulkan device presentation support to glfwinfo
> 2021-04-11 elmindreda Add window surface creation to glfwinfo
> 2020-12-10 elmindreda Fix grammar in MoltenVK support docs
> 2021-04-11 elmindreda Add GLFW_X11_XCB_VULKAN_SURFACE flag to glfwinfo
> 2020-12-10 elmindreda Add docs for GLFW_X11_XCB_VULKAN_SURFACE
> 2020-10-23 caramelli.devel Add GLFW_X11_XCB_VULKAN_SURFACE init hint
> 2020-10-12 elmindreda Update USE_MSVC_RUNTIME_LIBRARY_DLL for CMake 3.15
> 2021-03-21 elmindreda Fix implicit double-to-float in linmath.h
> 2021-03-19 elmindreda Add issue number to changelog
> 2021-03-19 elmindreda Remove deprecated Doxygen tag
> 2021-03-15 elmindreda Win32: Add warning when option will have no effect
> 2020-08-20 elmindreda Ignore cached state when setting window attributes
> 2021-03-10 elmindreda Update linmath.h
> 2021-03-09 elmindreda Win32: Add MinGW-w64 detection to version string
> 2021-03-08 elmindreda X11: Fix attribs not applied on leaving fullscreen
> 2021-02-17 elmindreda Update changelog
> 2021-02-09 elmindreda Wayland: Move DPI fallback work to output done
> 2021-01-20 elmindreda Win32: Fix content area rescaling on older systems
> 2021-01-19 elmindreda Win32: Fix full screen windows affected by scaling
> 2021-02-10 elmindreda Cocoa: Fix console apps getting a dock icon
>
> Created with:
>   roll-dep third_party/glfw
>
> Bug: dawn:1246
> Change-Id: If6357019587d43bebc9eea79d8a5af0bf81d4734
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/75421
> Reviewed-by: Loko Kung <lokokung@google.com>
> Reviewed-by: Austin Eng <enga@chromium.org>
> Commit-Queue: Corentin Wallez <cwallez@chromium.org>

TBR=cwallez@chromium.org,enga@chromium.org,lokokung@google.com

Change-Id: Iab8c93e4cb2b4b905a84c339ea47a5fbd4408caa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: dawn:1246
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/77942
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/DEPS b/DEPS
index d3fe5ae..90fbb88 100644
--- a/DEPS
+++ b/DEPS
@@ -118,7 +118,7 @@
 
   # GLFW for tests and samples
   'third_party/glfw': {
-    'url': '{chromium_git}/external/github.com/glfw/glfw@df8d7bc892937a8b0f7c604c92a9f64f383cf48c',
+    'url': '{chromium_git}/external/github.com/glfw/glfw@94773111300fee0453844a4c9407af7e880b4df8',
     'condition': 'dawn_standalone',
   },
 
diff --git a/third_party/gn/glfw/BUILD.gn b/third_party/gn/glfw/BUILD.gn
index 949a61a..b592b4d 100644
--- a/third_party/gn/glfw/BUILD.gn
+++ b/third_party/gn/glfw/BUILD.gn
@@ -25,23 +25,19 @@
 
 config("glfw_public") {
   include_dirs = [ "${glfw_dir}/include" ]
-}
-
-config("glfw_private") {
-  defines = []
 
   if (is_win) {
-    defines += [ "_GLFW_WIN32" ]
+    defines = [ "_GLFW_WIN32" ]
   }
 
   if (is_mac) {
-    defines += [ "_GLFW_COCOA" ]
+    defines = [ "_GLFW_COCOA" ]
   }
 
-  if (dawn_use_x11) {
+  if (is_linux) {
     # ANGLE builds only libEGL.so, so tell GLFW to load that instead of
     # the default libEGL.so.1.
-    defines += [
+    defines = [
       "_GLFW_X11",
       "_GLFW_EGL_LIBRARY=\"libEGL.so\"",
     ]
@@ -50,7 +46,6 @@
 
 static_library("glfw") {
   public_configs = [ ":glfw_public" ]
-  configs += [ ":glfw_private" ]
 
   if (dawn_has_build) {
     configs -= [ "//build/config/compiler:chromium_code" ]
@@ -67,7 +62,6 @@
     ]
   }
 
-  # Common between all OSes / platforms
   sources = [
     "${glfw_dir}/include/GLFW/glfw3.h",
     "${glfw_dir}/include/GLFW/glfw3native.h",
@@ -77,81 +71,73 @@
     "${glfw_dir}/src/init.c",
     "${glfw_dir}/src/input.c",
     "${glfw_dir}/src/internal.h",
-    "${glfw_dir}/src/platform.h",
-    "${glfw_dir}/src/platform.c",
-    "${glfw_dir}/src/mappings.h",
     "${glfw_dir}/src/monitor.c",
     "${glfw_dir}/src/osmesa_context.c",
-    "${glfw_dir}/src/null_platform.h",
-    "${glfw_dir}/src/null_joystick.h",
-    "${glfw_dir}/src/null_init.c",
-    "${glfw_dir}/src/null_monitor.c",
-    "${glfw_dir}/src/null_window.c",
-    "${glfw_dir}/src/null_joystick.c",
     "${glfw_dir}/src/osmesa_context.h",
     "${glfw_dir}/src/vulkan.c",
     "${glfw_dir}/src/window.c",
   ]
   libs = []
 
-  # Code shared by all platforms on the same OS.
-
-  if (is_win) {
-    sources += [
-      "${glfw_dir}/src/win32_module.c",
-      "${glfw_dir}/src/win32_module.h",
-      "${glfw_dir}/src/win32_thread.c",
-      "${glfw_dir}/src/win32_thread.h",
-      "${glfw_dir}/src/win32_time.c",
-      "${glfw_dir}/src/win32_time.h",
-    ]
-  }
-
-  if (is_mac) {
-    sources += [
-      "${glfw_dir}/src/posix_module.c",
-      "${glfw_dir}/src/posix_module.h",
-      "${glfw_dir}/src/posix_thread.c",
-      "${glfw_dir}/src/posix_thread.h",
-      "${glfw_dir}/src/cocoa_time.c",
-      "${glfw_dir}/src/cocoa_time.h",
-    ]
-  }
-
-  if (is_linux) {
-    sources += [
-      "${glfw_dir}/src/posix_module.c",
-      "${glfw_dir}/src/posix_module.h",
-      "${glfw_dir}/src/posix_thread.c",
-      "${glfw_dir}/src/posix_thread.h",
-      "${glfw_dir}/src/posix_time.c",
-      "${glfw_dir}/src/posix_time.h",
-    ]
-  }
-
-  # Individual GLFW platforms.
-
   if (is_win) {
     sources += [
       "${glfw_dir}/src/wgl_context.c",
+      "${glfw_dir}/src/wgl_context.h",
       "${glfw_dir}/src/win32_init.c",
       "${glfw_dir}/src/win32_joystick.c",
       "${glfw_dir}/src/win32_joystick.h",
       "${glfw_dir}/src/win32_monitor.c",
       "${glfw_dir}/src/win32_platform.h",
+      "${glfw_dir}/src/win32_thread.c",
+      "${glfw_dir}/src/win32_time.c",
       "${glfw_dir}/src/win32_window.c",
     ]
   }
 
+  if (is_linux || is_mac) {
+    sources += [
+      "${glfw_dir}/src/posix_thread.c",
+      "${glfw_dir}/src/posix_thread.h",
+    ]
+  }
+
+  if (is_linux) {
+    sources += [
+      "${glfw_dir}/src/glx_context.c",
+      "${glfw_dir}/src/glx_context.h",
+      "${glfw_dir}/src/linux_joystick.c",
+      "${glfw_dir}/src/linux_joystick.h",
+      "${glfw_dir}/src/posix_time.c",
+      "${glfw_dir}/src/posix_time.h",
+      "${glfw_dir}/src/x11_init.c",
+      "${glfw_dir}/src/x11_monitor.c",
+      "${glfw_dir}/src/x11_platform.h",
+      "${glfw_dir}/src/x11_window.c",
+      "${glfw_dir}/src/xkb_unicode.c",
+      "${glfw_dir}/src/xkb_unicode.h",
+    ]
+
+    libs += [
+      "rt",
+      "dl",
+      "X11",
+      "Xcursor",
+      "Xinerama",
+      "Xrandr",
+    ]
+  }
+
   if (is_mac) {
     sources += [
-      "${glfw_dir}/src/nsgl_context.m",
       "${glfw_dir}/src/cocoa_init.m",
-      "${glfw_dir}/src/cocoa_joystick.m",
       "${glfw_dir}/src/cocoa_joystick.h",
+      "${glfw_dir}/src/cocoa_joystick.m",
       "${glfw_dir}/src/cocoa_monitor.m",
       "${glfw_dir}/src/cocoa_platform.h",
+      "${glfw_dir}/src/cocoa_time.c",
       "${glfw_dir}/src/cocoa_window.m",
+      "${glfw_dir}/src/nsgl_context.h",
+      "${glfw_dir}/src/nsgl_context.m",
     ]
     frameworks = [
       "Cocoa.framework",
@@ -165,32 +151,4 @@
       "-Wno-objc-multiple-method-names",
     ]
   }
-
-  if (is_linux) {
-    sources += [
-      "${glfw_dir}/src/linux_joystick.c",
-      "${glfw_dir}/src/linux_joystick.h",
-      "${glfw_dir}/src/xkb_unicode.c",
-      "${glfw_dir}/src/xkb_unicode.h",
-    ]
-    libs += [
-      "rt",
-      "dl",
-    ]
-    if (dawn_use_x11) {
-      sources += [
-        "${glfw_dir}/src/glx_context.c",
-        "${glfw_dir}/src/x11_init.c",
-        "${glfw_dir}/src/x11_monitor.c",
-        "${glfw_dir}/src/x11_platform.h",
-        "${glfw_dir}/src/x11_window.c",
-      ]
-      libs += [
-        "X11",
-        "Xcursor",
-        "Xinerama",
-        "Xrandr",
-      ]
-    }
-  }
 }