* Update to Chromium 68.0.3440.128 and Node 10.10.0
* update v8, ffmpeg, chromium, crashpad, boringssl, and webrtc patches
* fix SSL_get_tlsext_status_type patch
* pass encryption_modes_supported to CdmInfo
* kNoSandbox moved into service_manager
* bump CHROME_VERSION_STRING
TODO: automatically pull in the real chrome version
* PathService -> base::PathService
* net::X509Certificate::Equals -> net::X509Certificate::EqualsExcludingChain
* use content::ChildProcessTerminationInfo
* GetHandle() -> GetProcess().Handle()
* ScopedNestableTaskAllower doesn't take an argument
* net::HttpAuthCache::ClearEntriesAddedWithin -> ClearAllEntries
* std::unique_ptr<WebContents>
* blink::WebFullscreenOptions
* OnAudioStateChanged doesn't take a WebContents
* content::RESULT_CODE_NORMAL_EXIT -> service_manager::RESULT_CODE_NORMAL_EXIT
* MessageLoopCurrent
* WasResized -> SynchronizeVisualProperties
* SetTimeStamp takes a base::TimeTicks
* ExecuteScriptInIsolatedWorld is single-script only
* DispatchNonPersistentCloseEvent takes a callback now
* expose URLRequestContextGetter::{Add,Remove}Observer
* test: remove no longer existing Chromium test deps
cc_blink_unittests has been removed in
https://chromium-review.googlesource.com/1053765
mojo_common_unittests has been removed in
https://chromium-review.googlesource.com/1028000
* SetFdLimit -> IncreaseFdLimitTo
NOTE: the behaviour of this API has changed slightly, and we should
mention that in the notes.
* MessageLoop::QuitWhenIdleClosure -> RunLoop::QuitCurrentWhenIdleClosureDeprecated
* certificate_transparency moved out of net/
pending a clearer decision about what to do with CT
in the mean time, copy CreateLogVerifiersForKnownLogs from deleted chromium source
* add secure_origin_whitelist to chrome source list
NOTE: is this something we actually want? cc @deepak1556
* DrainBackgroundTasks -> DrainTasks
* use new node options parser
* fix disable_scroll_begin_dcheck.patch
* ViewsDelegate::CreateWebContents went away
see https://chromium-review.googlesource.com/c/chromium/src/+/1031314
* kZygoteProcess moved into service_manager
* test: minor improvements to the Node spec
- reformat some parts
- better failures reporting with `expect`
- skip some tests instead of marking them as passed
* chromium removed *_posix.cc from the source filters
* test: fix :electron_tests compilation
* better crash diagnostics in ffmpeg test
* fix: enable back a DCHECK in viz::ServerSharedBitmapManager
Fixes#14327.
Backports https://chromium-review.googlesource.com/802574.
* chore: update linux sysroots
* chore: remove obsolete "install-sysroot.py" script
* test: fix frame-subscriber test on Mac
* disable OSR for now
* test: make before-input-event test more robust
* test: make run-as-node --inspect test more robust on windows
* roll node to v10.11.0
* avoid duplicate files when building a zip
* disable failing assert in beginFrameSubscription dirty-rectangle test
* experiment with is_cfi = false
* fix: build torque with x64 toolchain
Co-Authored-By: Alexey Kuzmin <github@alexeykuzmin.com>
* test: disable the "app.relaunch" test on Linux
* chore: bump node to get header tar file
* chore: bump node to fix tar.py line endings
* build: define compile time features with buildflag header
* refactor: switch to BUILDFLAG(ENABLE_DESKTOP_CAPTURER)
* refactor: switch to BUILDFLAG(ENABLE_RUN_AS_NODE)
* refactor: switch to BUILDFLAG(ENABLE_OSR)
* refactor: switch to BUILDFLAG(ENABLE_VIEW_API)
* refactor: switch to BUILDFLAG(ENABLE_PEPPER_FLASH)
* refactor: switch to BUILDFLAG(OVERRIDE_LOCATION_PROVIDER)
* refactor: switch to BUILDFLAG(ENABLE_PDF_VIEWER)
* chore: fix cpplint 'include_what_you_use' warnings
Typically by including <memory>, <utility> etc.
* chore: fix 'static/global string constant' warning
Use C style strings instead of std::string.
Style guide forbids non-trivial static / global variables. https://google.github.io/styleguide/cppguide.html#Static_and_Global_Variables
/home/charles/electron/electron-gn/src/electron/script/cpplint.js
* refactor: remove global string variables.
Fix 'global string variables are not permitted' linter warnings
by using the base::NoDestructor<> wrapper to make it explicit that
these variables are never destroyed.
The style guide's take on globals with nontrivial destructors:
https://google.github.io/styleguide/cppguide.html#Static_and_Global_Variables
* fix: initializer error introduced in last commit
* fix: remove WIP file that was included by accident
* fix: include order
* fix: include order
* fix: include order
* fix: include order, again
* build: [m67] enable widevine support
* fix: remove plugin cache reset hack
It was added in (#8907) to make widevine cdm shows up in
navigator.plugins, since widevine support is no longer
enabled by a plugin it can be removed safely.
* fix: use render client id to track deleted render process hosts
Instead of relying on OS process id, which may not be unique
when a process is reused, we rely on the renderer client id
passed by the content layer when starting the renderer process
which is guaranteed to be unique for the lifetime of the app.
* fix: store context id as int64_t
Ensuring that it doesn't wrap easily with a large number
of context creation on some malformed web pages.
RenderProcessHost switch can happen between ipc calls when
speculative process are invvolved, which will lead to deletion
of entries on current context. Use OS process handles to
uniquely associate a destruction handler for a render process.
* fix: use OOIF for webview tag
* fix: do not call GetNativeView for webview
* fix: OOIPF webview's WebContents is managed by embedder frame
* fix: guest view can not be focused
* fix: clear zoom controller when guest is destroyed
* fix: implement the webview resize event
The webview is no longer a browser plugin with the resize event, use
ResizeObserver instead.
* test: disable failed tests due to OOPIF webview
* fix: embedder can be destroyed earlier than guest
This happens when embedder is manually destroyed.
* fix: don't double attach
* fix: recreate iframe when webview is reattached
* fix: resize event may happen very early
* test: some tests are working after OOPIF webview
* chore: remove unused browser plugin webview code
* fix: get embedder via closure
When the "destroyed" event is emitted, the entry in guestInstances would be
cleared.
* chore: rename browserPluginNode to internalElement
* test: make the visibilityState test more robust
* chore: guestinstance can not work with OOPIF webview
* fix: element could be detached before got response from browser
* add new native_mate converters for base::Value
* fix converter swapping
* remove createDeepCopy from browser/api
* replace missing ListValue converter
* convert bulk of remaining createDeepCopy instances
* convert last remaining instances of createDeepCopy
* incremental progress and helper methods for value conversion
* convert Get and add template function for GetString
* final DictionaryValue method conversions
* remove usage of base::DictionaryValue in web_contents_preferences
* use IsEnabled helper where possible
* Update atom_api_web_view_manager.cc
Implement the scrollBounce option by reading the command line flag in
`RenderThreadImpl::IsElasticOverscrollEnabled`, there is no more need
to set NSScrollViewRubberbanding.
After after using `processId-contextCounter` as contextId, it may happen
that contexts in different WebContents sharing the same renderer process
get the same contextId. Using webContentsId as part of key in
ObjectsRegistry can fix this.
Chromium commit [03563dd163][1] changed the way that the
spellcheck-enabled status was checked, defaulting to false.
Added the first (!) test for spellchecking, too.
Fixes#13608.
[1]: 03563dd163
* Don't use JSON to send the result of `ipcRenderer.sendSync`.
- Change the return type of AtomViewHostMsg_Message_Sync from `base::string16`
to `base::ListValue`
- Adjust lib/browser/api/web-contents.js and /lib/renderer/api/ipc-renderer.js
to wrap/unwrap return values to/from array, instead of
serializing/deserializing JSON.
This change can greatly improve `ipcRenderer.sendSync` calls where the return
value contains Buffer instances, because those are converted to Array before
being serialized to JSON(which has no efficient way of representing byte
arrays).
A simple benchmark where remote.require('fs') was used to read a 16mb file got
at least 5x faster, not to mention it used a lot less memory. This difference
tends increases with larger buffers.
* Don't base64 encode Buffers
* Don't allocate V8ValueConverter on the heap
* Replace hidden global.sandbox with NodeBindings::IsInitialized()
* Refactoring: check NodeBindings::IsInitialized() in V8ValueConverter
* Refactor problematic test to make it more reliable
* Add tests for NaN and Infinity
* expose WebFrame#routingId and pass it to WebContents frame specific events along with frameProcessId; add WebContets.did-start-navigation event
* fix compilation error on ia32 Windows