update chromium and v8 patches

This commit is contained in:
Jeremy Apthorp 2018-09-20 17:30:26 -07:00
parent aefb8911ec
commit ef12492d6c
78 changed files with 2816 additions and 7025 deletions

View file

@ -1,8 +1,24 @@
From 2067d5a31905f889d7537c4a4ab680577bb5e75f Mon Sep 17 00:00:00 2001
From: Heilig Benedek <benecene@gmail.com>
Date: Thu, 20 Sep 2018 17:47:54 -0700
Subject: disable-redraw-lock.patch
Chromium uses a custom window titlebar implementation on Windows when DWM
is disabled (Windows 7 and earlier, non Aero theme). The native titlebar
sometimes painted over this custom titlebar, so a workaround was put in
place to lock redraws in reaction to certain events if DWM is disabled,
since the code assumes that in that case, the custom titlebar is painted.
Electron forces the use of the native titlebar, which the workaround doesn't
take into account, and still locks redraws, causing weird repainting issues
in electron (and other applications). This patch provides a way to disable
the redraw locking mechanism, which fixes these issues. The electron issue
can be found at https://github.com/electron/electron/issues/1821
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
index cadeb2322620..3c5d1afbdfee 100644
index d5f442f71da7..a8f39b060115 100644
--- a/ui/views/win/hwnd_message_handler.cc
+++ b/ui/views/win/hwnd_message_handler.cc
@@ -256,6 +256,10 @@ const int kSynthesizedMouseMessagesTimeDifference = 500;
@@ -281,6 +281,10 @@ const int kSynthesizedMouseMessagesTimeDifference = 500;
} // namespace
@ -13,7 +29,7 @@ index cadeb2322620..3c5d1afbdfee 100644
// A scoping class that prevents a window from being able to redraw in response
// to invalidations that may occur within it for the lifetime of the object.
//
@@ -307,6 +311,7 @@ class HWNDMessageHandler::ScopedRedrawLock {
@@ -332,6 +336,7 @@ class HWNDMessageHandler::ScopedRedrawLock {
cancel_unlock_(false),
should_lock_(owner_->IsVisible() && !owner->HasChildRenderingWindow() &&
::IsWindow(hwnd_) &&
@ -21,7 +37,7 @@ index cadeb2322620..3c5d1afbdfee 100644
(!(GetWindowLong(hwnd_, GWL_STYLE) & WS_CAPTION) ||
!ui::win::IsAeroGlassEnabled())) {
if (should_lock_)
@@ -898,6 +903,10 @@ bool HWNDMessageHandler::HasChildRenderingWindow() {
@@ -940,6 +945,10 @@ bool HWNDMessageHandler::HasChildRenderingWindow() {
hwnd());
}
@ -33,10 +49,10 @@ index cadeb2322620..3c5d1afbdfee 100644
// HWNDMessageHandler, gfx::WindowImpl overrides:
diff --git a/ui/views/win/hwnd_message_handler.h b/ui/views/win/hwnd_message_handler.h
index 5afb32aa043c..3d17f29dff9a 100644
index 91afedec8e29..fa514d102538 100644
--- a/ui/views/win/hwnd_message_handler.h
+++ b/ui/views/win/hwnd_message_handler.h
@@ -177,6 +177,8 @@ class VIEWS_EXPORT HWNDMessageHandler : public gfx::WindowImpl,
@@ -181,6 +181,8 @@ class VIEWS_EXPORT HWNDMessageHandler : public gfx::WindowImpl,
typedef std::set<DWORD> TouchIDs;
enum class DwmFrameState { OFF, ON };
@ -58,3 +74,6 @@ index 1b2d98a85738..dd080180aebd 100644
// Returns who we want to be drawing the frame. Either the system (Windows)
// will handle it or Chrome will custom draw it.
virtual FrameMode GetFrameMode() const = 0;
--
2.17.0