* build: fix doc only change when there isn't a PR
Fixes issue where CI was mistakenly marking a PR as a doc only change because the CI was kicked off before the PR was created.
* refactor: convert Menu and globalShortcut to gin
* refactor: convert api::Cookies to gin
* refactor: convert View and WebContentsView to gin
* refactor: convert WebContents related classes to gin
* refactor: convert powerMonitor to gin
* refactor: prepare for header change
* refactor: remove last uses of mate::EventEmitter
* refactor: remove mate::EventEmitter
* refactor: move trackable_object to gin_helper
* fix: custom converter should not use Handle
* fix: no more need to check if icon is empty
It was a bug that the Handle<NativeImage> can be non-empty when the
image file does not exist. The bug was caused by the converter code
writing out the image even when the convertion fails.
The bug was work-arounded by adding an additional check, but since the
original bug had been fixed, the additional check is no longer needed.
* fix: should always set frameId even when callback is null
* fix: do not mix gin/mate handles for NativeImage
* fix: set proper constraints for windows with defined maxWidth
When BrowserWindow has set constraints for width (max or min) it
won't behave correctly during first attempt of resizing it. When
maxWidth is defined and maxWidth equals its width it will shrink
rapidly when user tries to expand its width. On the other hand
when minWidth is defined and minWidth equals its width it's
possible to decrease its width with a few pixels.
Notes: Fixed improper behaviour of window with width constraint set during resize.
* fix: prevent crash when WM_GETMINMAXINFO is called on initing window
* refactor: remove direct uses of event_emitter_deprecated.h
* refactor: remove event_emitter_deprecated.h in api::App
* refactor: use std::move to save a copy
* fix: windows and linux builds
* ci: skip build on doc only changes
* Try using exit codes on doc-only-change
* Fixup
* Fixup circleci doc-only check
* Update appveyor.yml
Co-Authored-By: Samuel Attard <sattard@slack-corp.com>
* Properly detect doc only change on Windows
* Flip exit code per review
* chore: update build_bring_back_node_with_ltcg_configuration.patch
set default value for node_with_ltcg=true
* fix: move ltcg definition to Release configuration
* docs: First draft of perf checklist
* docs: More words
* docs: Use standard in code example
* docs: fix broken link
* Update docs/tutorial/performance.md
Co-Authored-By: Charles Kerr <ckerr@github.com>
* Update docs/tutorial/performance.md
Co-Authored-By: Charles Kerr <ckerr@github.com>
* Update docs/tutorial/performance.md
Co-Authored-By: loc <andy@slack-corp.com>
* Update docs/tutorial/performance.md
Co-Authored-By: loc <andy@slack-corp.com>
* docs: Implement suggestions
* docs: Include VSCode talk
* chore: Pass linter
* Update docs/tutorial/performance.md
Co-Authored-By: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/performance.md
Co-Authored-By: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/performance.md
Co-Authored-By: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/performance.md
Co-Authored-By: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/performance.md
Co-Authored-By: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/performance.md
Co-Authored-By: Mark Lee <malept@users.noreply.github.com>
* Apply suggestions from code review
Co-Authored-By: Mark Lee <malept@users.noreply.github.com>
* Update performance.md
* fix: The process link
* refactor: remove a few uses of native_mate/gfx_converter.h
* refactor: deprecate mate::EventEmitter
* refactor: add gin_helper::EventEmitter
* refactor: convert a few classes to use gin_helper::EventEmitter
* refactor: get rid of native_mate_converters/gfx_converter.h
* fix: follow native_mate on reporting errors
* fix: gin is weak at guessing parameter types
* fix: incorrect full class name
* fix: gin::Handle does not accept null
* feat: add a new contextBridge module
* chore: fix docs linting
* feat: add support for function arguments being proxied
* chore: ensure that contextBridge can only be used when contextIsolation is enabled
* docs: getReverseBinding can be null
* docs: fix broken links in md file
* feat: add support for promises in function parameters
* fix: linting failure for explicit constructor
* Update atom_api_context_bridge.cc
* chore: update docs and API design as per feedback
* refactor: remove reverse bindings and handle GC'able functions across the bridge
* chore: only expose debugGC in testing builds
* fix: do not proxy promises as objects
* spec: add complete spec coverage for contextBridge
* spec: add tests for null/undefined and the anti-overwrite logic
* chore: fix linting
* spec: add complex nested back-and-forth function calling
* fix: expose contextBridge in sandboxed renderers
* refactor: improve security of default_app using the new contextBridge module
* s/bindAPIInMainWorld/exposeInMainWorld
* chore: sorry for this commit, its a big one, I fixed like everything and refactored a lot
* chore: remove PassedValueCache as it is unused now
Values transferred from context A to context B are now cachde in the RenderFramePersistenceStore
* chore: move to anonymous namespace
* refactor: remove PassValueToOtherContextWithCache
* chore: remove commented unused code blocks
* chore: remove .only
* chore: remote commented code
* refactor: extract RenderFramePersistenceStore
* spec: ensure it works with numbered keys
* fix: handle number keys correctly
* fix: sort out the linter
* spec: update default_app asar spec for removed file
* refactor: change signatures to return v8 objects directly rather than the mate dictionary handle
* refactor: use the v8 serializer to support cloneable buffers and other object types
* chore: fix linting
* fix: handle hash collisions with a linked list in the map
* fix: enforce a recursion limit on the context bridge
* chore: fix linting
* chore: remove TODO
* chore: adapt for PR feedback
* chore: remove .only
* chore: clean up docs and clean up the proxy map when objects are released
* chore: ensure we cache object values that are cloned through the V8 serializer
* fix: support fitToPageEnabled and scaleFactor
Support fitToPageEnabled and scaleFactor in `WebContents.printToPDF()`
* fix: change default value of scaleFactor