Skip to content

Commit 44fda11

Browse files
authored
Merge branch 'master' into cefpython123
2 parents 720782b + 5217c04 commit 44fda11

34 files changed

Lines changed: 304 additions & 355 deletions

Authors

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@ Contributors:
1919
Dónal McMullan <https://github.com/donalm>
2020
nobodyguy <https://github.com/nobodyguy>
2121
Elliot Woods <https://github.com/elliotwoods>
22+
Bryan Koroleski <https://github.com/bryan-koroleski-fivestars>

README.md

Lines changed: 36 additions & 210 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,18 @@
22

33
Table of contents:
44
* [Introduction](#introduction)
5-
* [Sponsors](#sponsors)
65
* [Install](#install)
7-
* [Tutorial](#tutorial)
86
* [Examples](#examples)
97
* [Support](#support)
10-
* [Releases](#releases)
11-
* [Next release](#next-release)
12-
* [Latest release](#latest-release)
13-
* [v49 release (WinXP/Vista)](#v49-release-winxpvista)
14-
* [v31 release (old systems)](#v31-release-old-systems)
158
* [Support development](#support-development)
16-
* [Thanks to sponsors](#thanks-to-sponsors)
17-
* [Thanks to all](#thanks-to-all)
18-
* [Seeking new sponsors](#seeking-new-sponsors)
19-
* [Other READMEs](#other-readmes)
20-
* [Quick links](#quick-links)
9+
* [Seeking sponsors](#seeking-sponsors)
10+
* [API](#api)
2111

2212

2313
## Introduction
2414

2515
CEF Python is an open source project founded by
26-
[Czarek Tomczak](https://drive.google.com/file/d/17xmoT5Z_zTHkVclqPzrs2aAV64Uiu7fh/view)
16+
[Czarek Tomczak](https://www.linkedin.com/in/czarektomczak/)
2717
in 2012 to provide Python bindings for the
2818
[Chromium Embedded Framework](https://bitbucket.org/chromiumembedded/cef) (CEF).
2919
The Chromium project focuses mainly on Google Chrome application
@@ -49,61 +39,33 @@ frameworks such as PyQt, wxPython, PyGTK, PyGObject, Tkinter, Kivy, Panda3D,
4939
PyGame, PyOpenGL, PyWin32, PySide and PySDL2.
5040

5141

52-
## Sponsors
53-
54-
<table border="0"><tr>
55-
<td width="50%" valign="top">
56-
57-
<p align="center">
58-
<a href="https://lampix.com/">
59-
<img src="https://raw.githubusercontent.com/wiki/cztomczak/cefpython/images/lampix360.png">
60-
</a>
61-
</p>
62-
63-
Many Thanks to Lampix for sponsoring the
64-
[v66 release](../../releases/tag/v66.0). Lampix is the first hardware
65-
and software solution that turns any surface into a smart, augmented reality
66-
or interactive surface. Please visit their website:
67-
<a href="https://lampix.com/">Lampix.com</a>
68-
69-
</td><td width="50%" valign="top">
70-
71-
<p align="center">
72-
<a href="https://www.fivestars.com/">
73-
<img src="https://raw.githubusercontent.com/wiki/cztomczak/cefpython/images/fivestars360.png">
74-
</a>
75-
</p>
76-
77-
Many thanks to Fivestars for sponsoring the
78-
[v49 legacy release](../../releases/tag/v49.0). Fivestars helps local
79-
communities thrive by empowering small
80-
businesses with cutting edge marketing technology. Please visit their website:
81-
<a href="https://www.fivestars.com/">Fivestars.com</a>
82-
83-
</tr></table>
84-
85-
8642
## Install
8743

88-
You can install [pypi/cefpython3](https://pypi.python.org/pypi/cefpython3)
89-
package using pip tool. On Linux pip 8.1+ is required. You can
90-
also download packages for offline installation available on the
91-
[GitHub Releases](../../releases) pages. Command to install with pip:
44+
Command to install with pip:
9245

9346
```
94-
pip install cefpython3==66.0
47+
pip install cefpython3==66.1
9548
```
9649

50+
Hosted at [pypi/cefpython3](https://pypi.python.org/pypi/cefpython3). On Linux pip 8.1+ is required.
9751

98-
## Tutorial
52+
You can also download packages for offline installation available on the [GitHub Releases](../../releases) pages.
9953

100-
See the [Tutorial.md](docs/Tutorial.md) document.
54+
Below is a table with supported platforms, python versions and architectures.
55+
56+
OS | Py2 | Py3 | 32bit | 64bit | Requirements
57+
--- | --- | --- | --- | --- | ---
58+
Windows | 2.7 | 3.4 / 3.5 / 3.6 / 3.7 / 3.8 / 3.9 | Yes | Yes | Windows 7+ (Note that Python 3.9 supports Windows 8.1+)
59+
Linux | 2.7 | 3.4 / 3.5 / 3.6 / 3.7 | Yes | Yes | Debian 8+, Ubuntu 14.04+,<br> Fedora 24+, openSUSE 13.3+
60+
Mac | 2.7 | 3.4 / 3.5 / 3.6 / 3.7 | No | Yes | MacOS 10.9+
10161

10262

10363
## Examples
10464

105-
See the [README-examples.md](examples/README-examples.md) and
106-
[README-snippets.md](examples/snippets/README-snippets.md) documents.
65+
- [Tutorial](docs/Tutorial.md)
66+
- [All examples](examples/README-examples.md)
67+
- [Snippets](examples/snippets/README-snippets.md)
68+
- [PyInstaller packager](examples/pyinstaller/README-pyinstaller.md)
10769

10870

10971
## Support
@@ -126,95 +88,27 @@ See the [README-examples.md](examples/README-examples.md) and
12688
- To search documentation use GitHub "This repository" search
12789
at the top. To narrow results to documentation only select
12890
"Markdown" in the right pane.
129-
- You can vote on issues in the tracker to let us know which issues are
130-
important to you. To do that add a +1 thumb up reaction to the first post
131-
in the issue. See
132-
[Most popular issues](../../issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc)
133-
sorted by reactions.
134-
- Wiki pages are deprecated and for v31 only
135-
136-
137-
## Releases
138-
139-
Information on planned new and current releases, supported platforms,
140-
python versions, architectures and requirements. If you want to
141-
support old operating systems then choose the v31 release.
142-
143-
### Next release
144-
145-
- To see planned new features or bugs to be fixed in the near future in one of
146-
next releases, see the
147-
[next release](../../issues?q=is%3Aissue+is%3Aopen+label%3A%22next+release%22)
148-
label in the tracker
149-
- To see planned new features or bugs to be fixed in further future, see the
150-
[next release 2](../../issues?q=is%3Aissue+is%3Aopen+label%3A%22next+release+2%22)
151-
label in the tracker
152-
153-
### Latest release
154-
155-
OS | Py2 | Py3 | 32bit | 64bit | Requirements
156-
--- | --- | --- | --- | --- | ---
157-
Windows | 2.7 | 3.4 / 3.5 / 3.6 / 3.7 / 3.8 / 3.9 / 3.10 / 3.11 | Yes | Yes | Windows 7+
158-
Linux | 2.7 | 3.4 / 3.5 / 3.6 / 3.7 3.8 / 3.9 / 3.10 / 3.11 | Yes | Yes | Debian 8+, Ubuntu 14.04+,<br> Fedora 24+, openSUSE 13.3+
159-
Mac | 2.7 | 3.4 / 3.5 / 3.6 / 3.7 / 3.8 / 3.9 / 3.10 / 3.11 | No | Yes | MacOS 10.9+
160-
161-
These platforms are not supported yet:
162-
- ARM - see [Issue #267](../../issues/267)
163-
- Android - see [Issue #307](../../issues/307)
16491

92+
## Support development
16593

166-
### v49 release (WinXP/Vista)
167-
168-
OS | Py2 | Py3 | 32bit | 64bit | Requirements
169-
--- | --- | --- | --- | --- | ---
170-
Windows | 2.7 | 3.4 | Yes | Yes | Windows XP+
171-
172-
- Install with command: `pip --no-cache-dir install cefpython3==49.0`.
173-
- Please note that if you were previously installing cefpython3
174-
package it is required to use the `--no-cache-dir` flag,
175-
otherwise pip will end up with error message
176-
`No matching distribution found for cefpython3==49.0`.
177-
This happens because 49.0 release occured after 57.0 and 66.0
178-
releases.
179-
- Downloads are available on GitHub Releases tagged
180-
[v49.0](../../releases/tag/v49.0).
181-
- See [Migration guide](docs/Migration-guide.md) document for changes
182-
in this release
183-
- Documentation is available in the [docs/](../../tree/cefpython49-winxp/docs)
184-
directory in the `cefpython49-winxp` branch
185-
- API reference is available in the [api/](../../tree/cefpython49-winxp/api)
186-
directory in the `cefpython49-winxp` branch
187-
188-
189-
### v31 release (old systems)
190-
191-
OS | Py2 | Py3 | 32bit | 64bit | Requirements
192-
--- | --- | --- | --- | --- | ---
193-
Windows | 2.7 | No | Yes | Yes | Windows XP+
194-
Linux | 2.7 | No | Yes | Yes | Debian 7+ / Ubuntu 12.04+
195-
Mac | 2.7 | No | Yes | Yes | MacOS 10.7+
94+
To support general CEF Python development efforts you can make a donation using PayPal button below:
19695

197-
Additional information for v31.2 release:
198-
- On Windows/Mac you can install with command: `pip install cefpython3==31.2`
199-
- Downloads are available on [wiki pages](../../wiki#downloads)
200-
and on GitHub Releases tagged [v31.2](../../releases/tag/v31.2).
201-
- Documentation is on [wiki pages](../../wiki)
202-
- API reference is available in revision [169a1b2](../../tree/169a1b20d3cd09879070d41aab28cfa195d2a7d5/docs/api)
96+
<a href='https://www.paypal.com/donate/?hosted_button_id=V7LU7PD4N4GGG'>
97+
<img src='https://raw.githubusercontent.com/wiki/cztomczak/phpdesktop/donate.gif' />
98+
</a><br>
20399

204100

205-
## Support development
101+
## Seeking sponsors
206102

207-
If you would like to support general CEF Python development efforts
208-
by making a donation then please click the Paypal Donate button below.
209-
If you would like to see a specific feature implemented then you can make
210-
a comment about that when making a donation and that will give it a higher
211-
priority.
103+
CEF Python is seeking companies to sponsor development of this project. Most important
104+
thing would be to have continuous monthly releases with updates to latest Chromium. There is
105+
also lots of cool features and new settings that would be nice to implement. We have not yet
106+
exposed all of upstream CEF APIs. If your company would like to sponsor CEF Python development efforts
107+
then please contact [Czarek](https://www.linkedin.com/in/czarektomczak/). There are no active sponsors
108+
at this moment.
212109

213-
<a href='https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=V7LU7PD4N4GGG'>
214-
<img src='https://raw.githubusercontent.com/wiki/cztomczak/cefpython/images/donate.gif' />
215-
</a><br><br>
216110

217-
### Thanks to sponsors
111+
### Previous sponsors
218112

219113
<table>
220114
<tr>
@@ -237,7 +131,7 @@ priority.
237131
<td>
238132
<div align="center">
239133
<a href="http://www.blueplanet.com/">
240-
<img src="proxy.php?url=https%3A%2F%2Fraw.githubusercontent.com%2Fwiki%2Fcztomczak%2Fcefpython%2Fimages%2F%3Cspan+class%3D"x x-first x-last">cyan.png">
134+
<img src="proxy.php?url=https%3A%2F%2Fraw.githubusercontent.com%2Fwiki%2Fcztomczak%2Fcefpython%2Fimages%2F%3Cspan+class%3D"x x-first x-last">cyan_new_logo_200x48.png">
241135
</a><br>
242136
<a href="http://www.blueplanet.com/">www.blueplanet.com</a>
243137
</div>
@@ -246,10 +140,10 @@ priority.
246140
<tr>
247141
<td>
248142
<div align="center">
249-
<a href="proxy.php?url=https%3A%2F%2F%3Cspan+class%3D"x x-first x-last">clearchat.com/">
250-
<img src="proxy.php?url=https%3A%2F%2Fraw.githubusercontent.com%2Fwiki%2Fcztomczak%2Fcefpython%2Fimages%2F%3Cspan+class%3D"x x-first x-last">clearchat.png">
143+
<a href="proxy.php?url=https%3A%2F%2F%3Cspan+class%3D"x x-first x-last">highside.io/">
144+
<img src="proxy.php?url=https%3A%2F%2Fraw.githubusercontent.com%2Fwiki%2Fcztomczak%2Fcefpython%2Fimages%2F%3Cspan+class%3D"x x-first x-last">highside-onlight-200x48.png">
251145
</a><br>
252-
<a href="proxy.php?url=https%3A%2F%2F%3Cspan+class%3D"x x-first x-last">clearchat.com/">www.clearchat.com</a>
146+
<a href="proxy.php?url=https%3A%2F%2F%3Cspan+class%3D"x x-first x-last">highside.io/">www.highside.io</a>
253147
<div align="center">
254148
</td>
255149
<td>
@@ -272,75 +166,7 @@ priority.
272166
</table>
273167

274168

275-
### Thanks to all
276-
277-
* [2018] Thanks to [Fivestars](https://www.fivestars.com/) for sponsoring
278-
the v49 release for legacy systems (WinXP/Vista)
279-
* [2018] Many thanks to [Lampix](https://lampix.com/) for sponsoring the v66
280-
release for all platforms
281-
* [2017] Many thanks to [ClearChat Inc.](https://clearchat.com/) for sponsoring
282-
the v55/v56 releases for all platforms
283-
* [2016-2018] Thanks to JetBrains for providing an Open Source license for
284-
[PyCharm](https://www.jetbrains.com/pycharm/)
285-
* [2014] Thanks to Adam Duston for donating a Macbook to aid the development
286-
of Mac port
287-
* [2013-2015] Lots of thanks goes to [Cyan Inc.](http://www.blueplanet.com/)
288-
for sponsoring this project for a long time, making CEF Python 3 mature
289-
* [2013] Thanks to [Rentouch GmbH](http://www.rentouch.ch/) for sponsoring the
290-
development of the off-screen rendering support
291-
* [2013] Thanks to Thomas Wusatiuk for sponsoring the development of the web
292-
response reading features
293-
* [2012-2018] Thanks to those who have made a Paypal donation:
294-
[Rentouch GmbH](http://www.rentouch.ch/), Walter Purvis, Rokas Stupuras,
295-
Alex Rattray, Greg Kacy, Paul Korzhyk, Tomasz Tomanek.
296-
* [2012-2017] Thanks to those who have donated their time through code
297-
contributions, they are listed in the [Authors](Authors) file
298-
299-
300-
## Seeking new sponsors
301-
302-
CEF Python is seeking companies to sponsor further development of the project.
303-
There are many proposals for new features submitted in the issue tracker. Most
304-
notable are:
305-
306-
* Monthly releases with latest Chromium
307-
* An automated build system similar to upstream CEF Spotify Automated Builds
308-
* ARM and Android support
309-
* Multi-threaded support for increased performance
310-
* Proprietary codecs support in build tools: H264, H265,AC3, EAC3, MPEG-4
311-
* More CEF API exposed, only about 50% is exposed so far
312-
* Hundreds of new settings and Chromium preferences not yet exposed
313-
* Easier integration with popular GUI toolkits in just a few lines of code
314-
and support for more third party GUI frameworks
315-
* More examples of implementing various advanced features and more snippets
316-
as well
317-
318-
If your company would like to sponsor CEF Python development efforts then
319-
please contact
320-
[Czarek](https://drive.google.com/file/d/17xmoT5Z_zTHkVclqPzrs2aAV64Uiu7fh/view).
321-
Long term sponsorships are welcome and Czarek is open to ideas about
322-
the project. He would love to spend more time on developing this project,
323-
but he can't afford doing so in his free time. Currently there is no company
324-
supporting this project actively on a daily basis.
325-
326-
327-
## Other READMEs
328-
329-
- [PyInstaller packager](examples/pyinstaller/README-pyinstaller.md)
330-
331-
332-
333-
## Quick links
334-
335-
### Docs
336-
337-
- [Build instructions](docs/Build-instructions.md)
338-
- [Knowledge Base](docs/Knowledge-Base.md)
339-
- [Migration guide](docs/Migration-guide.md)
340-
- [Tutorial](docs/Tutorial.md)
341-
342-
343-
### API categories
169+
## API
344170

345171
#### Modules
346172

api/Browser.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ Returns the focused [Frame](Frame.md) for the browser window.
373373
| name | string |
374374
| __Return__ | Frame |
375375

376-
Returns the [Frame](Frame.md) with the specified name, or NULL if not found.
376+
Returns the [Frame](Frame.md) with the specified name, or NULL if not found.
377377

378378

379379
### GetFrameByIdentifier
@@ -683,6 +683,13 @@ Returns true if window rendering is disabled.
683683

684684
Load url in the main frame.
685685

686+
If the url is a local path it needs to start with the `file://` prefix.
687+
If the url contains special characters it may need proper handling.
688+
Starting with v66.1+ it is required for the app code to encode the url
689+
properly. You can use the `pathlib.PurePath.as_uri` in Python 3
690+
or `urllib.pathname2url` in Python 2 (`urllib.request.pathname2url`
691+
in Python 3) depending on your case.
692+
686693

687694
### Navigate
688695

api/Frame.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,9 +228,16 @@ Take also a look at a [custom resource handler](ResourceHandler.md).
228228

229229
Load the contents of |value| with the specified dummy |url|. |url|
230230
should have a standard scheme (for example, http scheme) or behaviors like
231-
link clicks and web security restrictions may not behave as expected.
231+
link clicks and web security restrictions may not behave as expected.
232232
LoadString() can be called only after the Renderer process has been created.
233233

234+
If the url is a local path it needs to start with the `file://` prefix.
235+
If the url contains special characters it may need proper handling.
236+
Starting with v66.1+ it is required for the app code to encode the url
237+
properly. You can use the `pathlib.PurePath.as_uri` in Python 3
238+
or `urllib.pathname2url` in Python 2 (`urllib.request.pathname2url`
239+
in Python 3) depending on your case.
240+
234241

235242
### LoadUrl
236243

api/LifespanHandler.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,6 @@ Description from upstream CEF:
111111
> information specific to the created popup browser that will be passed to
112112
> CefRenderProcessHandler::OnBrowserCreated() in the render process.
113113
114-
Note that if you return True and create the popup window yourself, then
115-
the popup window and parent window will not be able to script each other.
116-
There will be no "window.opener" property available in the popup window.
117-
118114
`WindowOpenDisposition` constants in the cefpython module:
119115
* CEF_WOD_UNKNOWN,
120116
* CEF_WOD_CURRENT_TAB,
@@ -128,3 +124,11 @@ There will be no "window.opener" property available in the popup window.
128124
* CEF_WOD_IGNORE_ACTION,
129125
* CEF_WOD_SWITCH_TO_TAB,
130126
* CEF_WOD_NEW_PICTURE_IN_PICTURE
127+
128+
Note that if you return True and create the popup window yourself, then
129+
the popup window and parent window will not be able to script each other.
130+
There will be no "window.opener" property available in the popup window.
131+
To avoid this issue create a hidden window when your application starts.
132+
Parent the new popup browser to the hidden window in OnBeforePopup. After
133+
the browser exists (OnAfterCreated) create the desired target window
134+
and re-parent the browser to that target window.

api/WebRequestClient.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ response (or -1 if not determined).
6565
| Parameter | Type |
6666
| --- | --- |
6767
| web_request | [WebRequest](WebRequest.md) |
68-
| data | string |
68+
| data | bytes |
6969
| __Return__ | void |
7070

7171
Called when some part of the response is read. |data| contains the current

0 commit comments

Comments
 (0)