Skip to content

Commit 62d2f41

Browse files
committed
Update to Chrome/72.0.3626.81 and CEF 3.3626.1881.g628f810 (#221)
1 parent c3cd347 commit 62d2f41

12 files changed

+5890
-5882
lines changed

src/client_handler.cpp

+12-6
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,18 @@ void ClientHandler::OnBeforeDownload(
137137
bool ClientHandler::OnDragEnter(CefRefPtr<CefBrowser> browser,
138138
CefRefPtr<CefDragData> dragData,
139139
DragOperationsMask mask) {
140-
bool external_drag = (*get_app_settings())["chrome"]["external_drag"];
141-
if (external_drag) {
142-
return false;
143-
} else {
144-
return true;
145-
}
140+
// On Linux for drag and drop to work on web pages it is required
141+
// to integrate CEF dnd using GTK APIs. See cefclient for a sample
142+
// implementation.
143+
144+
// bool external_drag = (*get_app_settings())["chrome"]["external_drag"];
145+
// if (external_drag) {
146+
// return false;
147+
// } else {
148+
// return true;
149+
// }
150+
151+
return false;
146152
}
147153

148154
// CefLifeSpanHandler

src/include/cef_browser.h

+7
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,13 @@ class CefBrowserHost : public virtual CefBaseRefCounted {
595595
/*--cef()--*/
596596
virtual void Invalidate(PaintElementType type) = 0;
597597

598+
///
599+
// Issue a BeginFrame request to Chromium. Only valid when
600+
// CefWindowInfo::external_begin_frame_enabled is set to true.
601+
///
602+
/*--cef()--*/
603+
virtual void SendExternalBeginFrame() = 0;
604+
598605
///
599606
// Send a key event to the browser.
600607
///

src/include/cef_pack_resources.h

+1,332-1,439
Large diffs are not rendered by default.

src/include/cef_pack_strings.h

+4,474-4,414
Large diffs are not rendered by default.

src/include/cef_render_handler.h

+21-4
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@ class CefRenderHandler : public virtual CefBaseRefCounted {
6969

7070
///
7171
// Called to retrieve the root window rectangle in screen coordinates. Return
72-
// true if the rectangle was provided.
72+
// true if the rectangle was provided. If this method returns false the
73+
// rectangle from GetViewRect will be used.
7374
///
7475
/*--cef()--*/
7576
virtual bool GetRootScreenRect(CefRefPtr<CefBrowser> browser, CefRect& rect) {
@@ -78,10 +79,10 @@ class CefRenderHandler : public virtual CefBaseRefCounted {
7879

7980
///
8081
// Called to retrieve the view rectangle which is relative to screen
81-
// coordinates. Return true if the rectangle was provided.
82+
// coordinates. This method must always provide a non-empty rectangle.
8283
///
8384
/*--cef()--*/
84-
virtual bool GetViewRect(CefRefPtr<CefBrowser> browser, CefRect& rect) = 0;
85+
virtual void GetViewRect(CefRefPtr<CefBrowser> browser, CefRect& rect) = 0;
8586

8687
///
8788
// Called to retrieve the translation from view coordinates to actual screen
@@ -134,7 +135,8 @@ class CefRenderHandler : public virtual CefBaseRefCounted {
134135
// contains the pixel data for the whole image. |dirtyRects| contains the set
135136
// of rectangles in pixel coordinates that need to be repainted. |buffer| will
136137
// be |width|*|height|*4 bytes in size and represents a BGRA image with an
137-
// upper-left origin.
138+
// upper-left origin. This method is only called when
139+
// CefWindowInfo::shared_texture_enabled is set to false.
138140
///
139141
/*--cef()--*/
140142
virtual void OnPaint(CefRefPtr<CefBrowser> browser,
@@ -144,6 +146,21 @@ class CefRenderHandler : public virtual CefBaseRefCounted {
144146
int width,
145147
int height) = 0;
146148

149+
///
150+
// Called when an element has been rendered to the shared texture handle.
151+
// |type| indicates whether the element is the view or the popup widget.
152+
// |dirtyRects| contains the set of rectangles in pixel coordinates that need
153+
// to be repainted. |shared_handle| is the handle for a D3D11 Texture2D that
154+
// can be accessed via ID3D11Device using the OpenSharedResource method. This
155+
// method is only called when CefWindowInfo::shared_texture_enabled is set to
156+
// true, and is currently only supported on Windows.
157+
///
158+
/*--cef()--*/
159+
virtual void OnAcceleratedPaint(CefRefPtr<CefBrowser> browser,
160+
PaintElementType type,
161+
const RectList& dirtyRects,
162+
void* shared_handle) {}
163+
147164
///
148165
// Called when the browser's cursor has changed. If |type| is CT_CUSTOM then
149166
// |custom_cursor_info| will be populated with the custom cursor information.

src/include/cef_resource_handler.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,11 @@ class CefResourceHandler : public virtual CefBaseRefCounted {
7171
// false or the specified number of bytes have been read. Use the |response|
7272
// object to set the mime type, http status code and other optional header
7373
// values. To redirect the request to a new URL set |redirectUrl| to the new
74-
// URL. If an error occured while setting up the request you can call
74+
// URL. |redirectUrl| can be either a relative or fully qualified URL.
75+
// It is also possible to set |response| to a redirect http status code
76+
// and pass the new URL via a Location header. Likewise with |redirectUrl| it
77+
// is valid to set a relative or fully qualified URL as the Location header
78+
// value. If an error occured while setting up the request you can call
7579
// SetError() on |response| to indicate the error condition.
7680
///
7781
/*--cef()--*/

src/include/cef_version.h

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2018 Marshall A. Greenblatt. All rights reserved.
1+
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
22
//
33
// Redistribution and use in source and binary forms, with or without
44
// modification, are permitted provided that the following conditions are
@@ -35,16 +35,16 @@
3535
#ifndef CEF_INCLUDE_CEF_VERSION_H_
3636
#define CEF_INCLUDE_CEF_VERSION_H_
3737

38-
#define CEF_VERSION "3.3538.1852.gcb937fc"
38+
#define CEF_VERSION "3.3626.1881.g628f810"
3939
#define CEF_VERSION_MAJOR 3
40-
#define CEF_COMMIT_NUMBER 1852
41-
#define CEF_COMMIT_HASH "cb937fc9cd02a5b5f4d5aea2d880e05fbab621bf"
42-
#define COPYRIGHT_YEAR 2018
40+
#define CEF_COMMIT_NUMBER 1881
41+
#define CEF_COMMIT_HASH "628f8107a76fa5c95437a7545673f3a51a266a1c"
42+
#define COPYRIGHT_YEAR 2019
4343

44-
#define CHROME_VERSION_MAJOR 70
44+
#define CHROME_VERSION_MAJOR 72
4545
#define CHROME_VERSION_MINOR 0
46-
#define CHROME_VERSION_BUILD 3538
47-
#define CHROME_VERSION_PATCH 102
46+
#define CHROME_VERSION_BUILD 3626
47+
#define CHROME_VERSION_PATCH 81
4848

4949
#define DO_MAKE_STRING(p) #p
5050
#define MAKE_STRING(p) DO_MAKE_STRING(p)
@@ -63,13 +63,13 @@ extern "C" {
6363
// universal hash value will change if any platform is affected whereas the
6464
// platform hash values will change only if that particular platform is
6565
// affected.
66-
#define CEF_API_HASH_UNIVERSAL "040ce5036de742f2e20741ea315f8943acb52825"
66+
#define CEF_API_HASH_UNIVERSAL "161352dfc6601b5f28b409b6035c95ec4d21f7a0"
6767
#if defined(OS_WIN)
68-
#define CEF_API_HASH_PLATFORM "89b811362d1e7c4c7f63080451f8d2a29f3f123f"
68+
#define CEF_API_HASH_PLATFORM "864498db9f12dd977766dc74abc56f198b39e2ce"
6969
#elif defined(OS_MACOSX)
70-
#define CEF_API_HASH_PLATFORM "41afc46359f3ce0704aef51755b1f10fdf7091ed"
70+
#define CEF_API_HASH_PLATFORM "32247df6e90b9555e16862e75885d7e157852156"
7171
#elif defined(OS_LINUX)
72-
#define CEF_API_HASH_PLATFORM "1e06dc06555ed213fb88f06f5ac77a2bdc1a7198"
72+
#define CEF_API_HASH_PLATFORM "a6fa42b9e296d27d524fc561060368e0209cef8b"
7373
#endif
7474

7575
// Returns CEF version information for the libcef library. The |entry|

src/include/internal/cef_linux.h

+2
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ struct CefWindowInfoTraits {
8282
target->height = src->height;
8383
target->parent_window = src->parent_window;
8484
target->windowless_rendering_enabled = src->windowless_rendering_enabled;
85+
target->shared_texture_enabled = src->shared_texture_enabled;
86+
target->external_begin_frame_enabled = src->external_begin_frame_enabled;
8587
target->window = src->window;
8688
}
8789
};

src/include/internal/cef_types.h

+11-4
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,13 @@ typedef enum {
115115
LOGSEVERITY_ERROR,
116116

117117
///
118-
// Completely disable logging.
118+
// FATAL logging.
119+
///
120+
LOGSEVERITY_FATAL,
121+
122+
///
123+
// Disable logging to file for all messages, and to stderr for messages with
124+
// severity less than FATAL.
119125
///
120126
LOGSEVERITY_DISABLE = 99
121127
} cef_log_severity_t;
@@ -290,9 +296,10 @@ typedef struct _cef_settings_t {
290296

291297
///
292298
// The log severity. Only messages of this severity level or higher will be
293-
// logged. Also configurable using the "log-severity" command-line switch with
294-
// a value of "verbose", "info", "warning", "error", "error-report" or
295-
// "disable".
299+
// logged. When set to DISABLE no messages will be written to the log file,
300+
// but FATAL messages will still be output to stderr. Also configurable using
301+
// the "log-severity" command-line switch with a value of "verbose", "info",
302+
// "warning", "error", "fatal" or "disable".
296303
///
297304
cef_log_severity_t log_severity;
298305

src/include/internal/cef_types_linux.h

+13
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,19 @@ typedef struct _cef_window_info_t {
9696
///
9797
int windowless_rendering_enabled;
9898

99+
///
100+
// Set to true (1) to enable shared textures for windowless rendering. Only
101+
// valid if windowless_rendering_enabled above is also set to true. Currently
102+
// only supported on Windows (D3D11).
103+
///
104+
int shared_texture_enabled;
105+
106+
///
107+
// Set to true (1) to enable the ability to issue BeginFrame requests from the
108+
// client application by calling CefBrowserHost::SendExternalBeginFrame.
109+
///
110+
int external_begin_frame_enabled;
111+
99112
///
100113
// Pointer for the new browser window. Only used with windowed rendering.
101114
///

src/settings.json

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
"log_file": "debug.log",
2222
"log_severity": "default",
2323
"cache_path": "webcache",
24-
"external_drag": true,
2524
"remote_debugging_port": 0,
2625
"command_line_switches": {
2726
"enable-media-stream": "",

src/version.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
#define PHPDESKTOP_VERSION "70.3"
1+
#define PHPDESKTOP_VERSION "72.0"

0 commit comments

Comments
 (0)