Skip to content

Commit 467f8fc

Browse files
committed
Update to CEF version 75.0.13+g2c92fcd+chromium-75.0.3770.100
- Add support for NetworkService (see CEF issue 2622). - Convert more classes to use scoped helpers (see issue chromiumembedded#167).
1 parent 266b6bf commit 467f8fc

51 files changed

Lines changed: 1545 additions & 1339 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ set_property(GLOBAL PROPERTY OS_FOLDERS ON)
121121

122122
# Specify the CEF distribution version.
123123
if(NOT DEFINED CEF_VERSION)
124-
set(CEF_VERSION "73.1.11+ge6986dc+chromium-73.0.3683.75")
124+
set(CEF_VERSION "75.0.13+g2c92fcd+chromium-75.0.3770.100")
125125
endif()
126126

127127
# Determine the platform.

java/org/cef/CefClient.java

Lines changed: 27 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,6 @@
44

55
package org.cef;
66

7-
import java.awt.Component;
8-
import java.awt.Container;
9-
import java.awt.FocusTraversalPolicy;
10-
import java.awt.KeyboardFocusManager;
11-
import java.awt.Point;
12-
import java.awt.Rectangle;
13-
import java.beans.PropertyChangeEvent;
14-
import java.beans.PropertyChangeListener;
15-
import java.nio.ByteBuffer;
16-
import java.util.Collection;
17-
import java.util.HashMap;
18-
import java.util.Vector;
19-
20-
import javax.swing.SwingUtilities;
21-
227
import org.cef.browser.CefBrowser;
238
import org.cef.browser.CefBrowserFactory;
249
import org.cef.browser.CefFrame;
@@ -48,6 +33,7 @@
4833
import org.cef.handler.CefRenderHandler;
4934
import org.cef.handler.CefRequestHandler;
5035
import org.cef.handler.CefResourceHandler;
36+
import org.cef.handler.CefResourceRequestHandler;
5137
import org.cef.handler.CefWindowHandler;
5238
import org.cef.misc.BoolRef;
5339
import org.cef.misc.StringRef;
@@ -57,6 +43,21 @@
5743
import org.cef.network.CefURLRequest;
5844
import org.cef.network.CefWebPluginInfo;
5945

46+
import java.awt.Component;
47+
import java.awt.Container;
48+
import java.awt.FocusTraversalPolicy;
49+
import java.awt.KeyboardFocusManager;
50+
import java.awt.Point;
51+
import java.awt.Rectangle;
52+
import java.beans.PropertyChangeEvent;
53+
import java.beans.PropertyChangeListener;
54+
import java.nio.ByteBuffer;
55+
import java.util.Collection;
56+
import java.util.HashMap;
57+
import java.util.Vector;
58+
59+
import javax.swing.SwingUtilities;
60+
6061
/**
6162
* Client that owns a browser and renderer.
6263
*/
@@ -102,9 +103,8 @@ public void propertyChange(PropertyChangeEvent evt) {
102103
CefClient() throws UnsatisfiedLinkError {
103104
super();
104105

105-
KeyboardFocusManager
106-
.getCurrentKeyboardFocusManager()
107-
.addPropertyChangeListener(propertyChangeListener);
106+
KeyboardFocusManager.getCurrentKeyboardFocusManager().addPropertyChangeListener(
107+
propertyChangeListener);
108108
}
109109

110110
private boolean isPartOf(Object obj, Component browserUI) {
@@ -556,9 +556,8 @@ private void cleanupBrowser(int identifier) {
556556
}
557557

558558
if (browser_.isEmpty() && isDisposed_) {
559-
KeyboardFocusManager.
560-
getCurrentKeyboardFocusManager()
561-
.removePropertyChangeListener(propertyChangeListener);
559+
KeyboardFocusManager.getCurrentKeyboardFocusManager().removePropertyChangeListener(
560+
propertyChangeListener);
562561
removeContextMenuHandler(this);
563562
removeDialogHandler(this);
564563
removeDisplayHandler(this);
@@ -720,43 +719,16 @@ public boolean onBeforeBrowse(CefBrowser browser, CefFrame frame, CefRequest req
720719
}
721720

722721
@Override
723-
public boolean onBeforeResourceLoad(CefBrowser browser, CefFrame frame, CefRequest request) {
724-
if (requestHandler_ != null && browser != null)
725-
return requestHandler_.onBeforeResourceLoad(browser, frame, request);
726-
return false;
727-
}
728-
729-
@Override
730-
public CefResourceHandler getResourceHandler(
731-
CefBrowser browser, CefFrame frame, CefRequest request) {
732-
if (requestHandler_ != null && browser != null)
733-
return requestHandler_.getResourceHandler(browser, frame, request);
722+
public CefResourceRequestHandler getResourceRequestHandler(CefBrowser browser, CefFrame frame,
723+
CefRequest request, boolean isNavigation, boolean isDownload, String requestInitiator,
724+
BoolRef disableDefaultHandling) {
725+
if (requestHandler_ != null && browser != null) {
726+
return requestHandler_.getResourceRequestHandler(browser, frame, request, isNavigation,
727+
isDownload, requestInitiator, disableDefaultHandling);
728+
}
734729
return null;
735730
}
736731

737-
@Override
738-
public void onResourceRedirect(CefBrowser browser, CefFrame frame, CefRequest request,
739-
CefResponse response, StringRef new_url) {
740-
if (requestHandler_ != null && browser != null)
741-
requestHandler_.onResourceRedirect(browser, frame, request, response, new_url);
742-
}
743-
744-
@Override
745-
public boolean onResourceResponse(
746-
CefBrowser browser, CefFrame frame, CefRequest request, CefResponse response) {
747-
if (requestHandler_ != null && browser != null)
748-
return requestHandler_.onResourceResponse(browser, frame, request, response);
749-
return false;
750-
}
751-
752-
@Override
753-
public void onResourceLoadComplete(CefBrowser browser, CefFrame frame, CefRequest request,
754-
CefResponse response, CefURLRequest.Status status, long receivedContentLength) {
755-
if (requestHandler_ != null && browser != null)
756-
requestHandler_.onResourceLoadComplete(
757-
browser, frame, request, response, status, receivedContentLength);
758-
}
759-
760732
@Override
761733
public boolean getAuthCredentials(CefBrowser browser, CefFrame frame, boolean isProxy,
762734
String host, int port, String realm, String scheme, CefAuthCallback callback) {
@@ -774,12 +746,6 @@ public boolean onQuotaRequest(
774746
return false;
775747
}
776748

777-
@Override
778-
public void onProtocolExecution(CefBrowser browser, String url, BoolRef allow_os_execution) {
779-
if (requestHandler_ != null && browser != null)
780-
requestHandler_.onProtocolExecution(browser, url, allow_os_execution);
781-
}
782-
783749
@Override
784750
public boolean onCertificateError(CefBrowser browser, ErrorCode cert_error, String request_url,
785751
CefRequestCallback callback) {

java/org/cef/callback/CefAuthCallback_N.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,16 @@
77
class CefAuthCallback_N extends CefNativeAdapter implements CefAuthCallback {
88
CefAuthCallback_N() {}
99

10+
@Override
11+
protected void finalize() throws Throwable {
12+
cancel();
13+
super.finalize();
14+
}
15+
1016
@Override
1117
public void Continue(String username, String password) {
1218
try {
13-
N_Continue(username, password);
19+
N_Continue(getNativeRef(null), username, password);
1420
} catch (UnsatisfiedLinkError ule) {
1521
ule.printStackTrace();
1622
}
@@ -19,12 +25,12 @@ public void Continue(String username, String password) {
1925
@Override
2026
public void cancel() {
2127
try {
22-
N_Cancel();
28+
N_Cancel(getNativeRef(null));
2329
} catch (UnsatisfiedLinkError ule) {
2430
ule.printStackTrace();
2531
}
2632
}
2733

28-
private final native void N_Continue(String username, String password);
29-
private final native void N_Cancel();
34+
private final native void N_Continue(long self, String username, String password);
35+
private final native void N_Cancel(long self);
3036
}

java/org/cef/callback/CefCallback_N.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,16 @@
77
class CefCallback_N extends CefNativeAdapter implements CefCallback {
88
CefCallback_N() {}
99

10+
@Override
11+
protected void finalize() throws Throwable {
12+
cancel();
13+
super.finalize();
14+
}
15+
1016
@Override
1117
public void Continue() {
1218
try {
13-
N_Continue();
19+
N_Continue(getNativeRef(null));
1420
} catch (UnsatisfiedLinkError ule) {
1521
ule.printStackTrace();
1622
}
@@ -19,12 +25,12 @@ public void Continue() {
1925
@Override
2026
public void cancel() {
2127
try {
22-
N_Cancel();
28+
N_Cancel(getNativeRef(null));
2329
} catch (UnsatisfiedLinkError ule) {
2430
ule.printStackTrace();
2531
}
2632
}
2733

28-
private final native void N_Continue();
29-
private final native void N_Cancel();
34+
private final native void N_Continue(long self);
35+
private final native void N_Cancel(long self);
3036
}

java/org/cef/callback/CefRequestCallback_N.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,16 @@
77
class CefRequestCallback_N extends CefNativeAdapter implements CefRequestCallback {
88
CefRequestCallback_N() {}
99

10+
@Override
11+
protected void finalize() throws Throwable {
12+
Cancel();
13+
super.finalize();
14+
}
15+
1016
@Override
1117
public void Continue(boolean allow) {
1218
try {
13-
N_Continue(allow);
19+
N_Continue(getNativeRef(null), allow);
1420
} catch (UnsatisfiedLinkError ule) {
1521
ule.printStackTrace();
1622
}
@@ -19,12 +25,12 @@ public void Continue(boolean allow) {
1925
@Override
2026
public void Cancel() {
2127
try {
22-
N_Cancel();
28+
N_Cancel(getNativeRef(null));
2329
} catch (UnsatisfiedLinkError ule) {
2430
ule.printStackTrace();
2531
}
2632
}
2733

28-
private final native void N_Continue(boolean allow);
29-
private final native void N_Cancel();
34+
private final native void N_Continue(long self, boolean allow);
35+
private final native void N_Cancel(long self);
3036
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
// Copyright (c) 2019 The Chromium Embedded Framework Authors. All rights
2+
// reserved. Use of this source code is governed by a BSD-style license that
3+
// can be found in the LICENSE file.
4+
5+
package org.cef.handler;
6+
7+
import org.cef.browser.CefBrowser;
8+
import org.cef.browser.CefFrame;
9+
import org.cef.network.CefCookie;
10+
import org.cef.network.CefRequest;
11+
import org.cef.network.CefResponse;
12+
13+
/**
14+
* Implement this interface to filter cookies that may be sent or received from resource requests.
15+
* The methods of this class will be called on the IO thread.
16+
*/
17+
public interface CefCookieAccessFilter {
18+
/**
19+
* Called on the IO thread before a resource request is sent. The |browser| and |frame| values
20+
* represent the source of the request, and may be null for requests originating from service
21+
* workers or CefURLRequest.
22+
*
23+
* @param browser The corresponding browser.
24+
* @param frame The frame generating the event. Instance only valid within the scope of this
25+
* method.
26+
* @param request The request itself. Cannot be modified in this callback. Instance only valid
27+
* within the scope of this method.
28+
* @param cookie The cookie that will be sent with the request. Cannot be modified in this
29+
* callback. Instance only valid within the scope of this method.
30+
* @return True if the cookie can be sent or false otherwise.
31+
*/
32+
boolean canSendCookie(CefBrowser browser, CefFrame frame, CefRequest request, CefCookie cookie);
33+
34+
/**
35+
* Called on the IO thread after a resource response is received. The |browser| and |frame|
36+
* values represent the source of the request, and may be null for requests originating from
37+
* service workers or CefURLRequest.
38+
*
39+
* @param browser The corresponding browser.
40+
* @param frame The frame generating the event. Instance only valid within the scope of this
41+
* method.
42+
* @param request The request itself. Cannot be modified in this callback. Instance only valid
43+
* within the scope of this method.
44+
* @param response The request response. Cannot be modified in this callback. Instance only
45+
* valid within the scope of this method.
46+
* @param cookie The cookie that will be sent with the request. Cannot be modified in this
47+
* callback. Instance only valid within the scope of this method.
48+
* @return True if the cookie can be saved or false otherwise.
49+
*/
50+
boolean canSaveCookie(CefBrowser browser, CefFrame frame, CefRequest request,
51+
CefResponse response, CefCookie cookie);
52+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Copyright (c) 2019 The Chromium Embedded Framework Authors. All rights
2+
// reserved. Use of this source code is governed by a BSD-style license that
3+
// can be found in the LICENSE file.
4+
5+
package org.cef.handler;
6+
7+
import org.cef.browser.CefBrowser;
8+
import org.cef.browser.CefFrame;
9+
import org.cef.network.CefCookie;
10+
import org.cef.network.CefRequest;
11+
import org.cef.network.CefResponse;
12+
13+
/**
14+
* An abstract adapter class for cookie access filter events.
15+
* The methods in this class are empty.
16+
* This class exists as convenience for creating handler objects.
17+
*/
18+
public abstract class CefCookieAccessFilterAdapter implements CefCookieAccessFilter {
19+
@Override
20+
public boolean canSendCookie(
21+
CefBrowser browser, CefFrame frame, CefRequest request, CefCookie cookie) {
22+
return true;
23+
}
24+
25+
@Override
26+
public boolean canSaveCookie(CefBrowser browser, CefFrame frame, CefRequest request,
27+
CefResponse response, CefCookie cookie) {
28+
return true;
29+
}
30+
}

0 commit comments

Comments
 (0)