electron/shell/browser
Biru Mohanathas ced2e8779f
feat: Allow detection of MITM HTTPS proxies like ZScaler (#30174)
* feat: Allow detection of MITM HTTPS proxies like ZScaler

For security purposes, Figma heavily restrics the origins that are
allowed to load within our Electron app. Unfortunately some corporate
environments use MITM proxies like ZScaler, which intercepts our
connection to `https://www.figma.com` and serves a redirect to e.g.
`https://gateway.zscloud.net` before finally redirecting back to
`https://www.figma.com`.

In order to detect this situation and handle it gracefully, we need to
be able to know whether or not the certificate for our own origin
(`https://www.figma.com`) is chained to a known root. We do this by
exposesing `CertVerifyResult::is_issued_by_known_root`.

If the certification verification passed without the certificate being
tied to a known root, we can safely assume that we are dealing with a
MITM proxy that has its root CA installed locally on the machine. This
means that HTTPS can't be trusted so we might as well make life easier
for corporate users by loosening our origin restrictions without any
manual steps.

* Tweak docs wording
2021-08-02 10:24:58 +09:00
..
api fix: guard against missing native view (#30304) 2021-07-29 23:27:02 +02:00
badging chore: use =default for default constructors/destructors (#29511) 2021-06-04 13:16:13 +09:00
bluetooth chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
extensions feat: partially support chrome.tabs.update (#30069) 2021-07-27 13:36:22 -07:00
lib fix: select-bluetooth-device on Windows (#29591) 2021-06-09 10:48:18 -04:00
linux refactor: use auto env = base::Environment::Create(); everywhere (#29502) 2021-06-04 09:23:06 +09:00
mac feat: continue-activity event is extended to support webpageURL property (#30042) 2021-07-13 13:21:33 -07:00
media refactor: use C++11 class member variable initialization (#27477) 2021-01-26 12:16:21 -06:00
net feat: Allow detection of MITM HTTPS proxies like ZScaler (#30174) 2021-08-02 10:24:58 +09:00
notifications chore: remove unneeded conversions between wstring and u16string (#30047) 2021-07-12 13:33:26 +09:00
osr chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
plugins chore: bump chromium to 93.0.4530.0 (master) (#29256) 2021-06-03 01:05:04 -07:00
printing chore: bump chromium to 93.0.4550.0 (main) (#29751) 2021-06-22 12:17:16 -07:00
resources Bump v16.0.0-nightly.20210730 2021-07-30 06:01:04 -07:00
serial chore: remove experimental from navigator.serial implementation (#30237) 2021-07-30 08:57:22 +09:00
ui fix: respect LogJsConsoleMessages feature in InspectableWebContents::DidAddMessageToConsole (#30312) 2021-07-30 10:18:49 -07:00
win chore: use =default for default constructors/destructors (#29511) 2021-06-04 13:16:13 +09:00
auto_updater.cc chore: bump chromium to 0e4ca9c0a63d7a39bd910997ad4c6 (master) (#24687) 2020-08-12 11:33:58 -07:00
auto_updater.h chore: use consistent parameter names (#29361) 2021-06-01 10:46:25 +09:00
auto_updater_mac.mm refactor: ginify autoUpdater (#24678) 2020-07-28 11:04:34 -07:00
browser.cc fix: use correct userData path when unbundled (#30113) 2021-07-14 13:10:37 -07:00
browser.h feat: continue-activity event is extended to support webpageURL property (#30042) 2021-07-13 13:21:33 -07:00
browser_linux.cc refactor: use auto env = base::Environment::Create(); everywhere (#29502) 2021-06-04 09:23:06 +09:00
browser_mac.mm chore: bump chromium to 94.0.4584.0 (main) (#30030) 2021-07-26 09:02:16 -07:00
browser_observer.h feat: continue-activity event is extended to support webpageURL property (#30042) 2021-07-13 13:21:33 -07:00
browser_process_impl.cc refactor: use PathProvider for user-data-dir and others (#29649) 2021-06-15 09:32:56 +09:00
browser_process_impl.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
browser_win.cc chore: bump chromium to 94.0.4584.0 (main) (#30030) 2021-07-26 09:02:16 -07:00
child_web_contents_tracker.cc chore: use =default for default constructors/destructors (#29511) 2021-06-04 13:16:13 +09:00
child_web_contents_tracker.h feat: enhance native window.open to match the custom implementation's behavior (#19703) 2020-03-26 11:05:45 -07:00
cookie_change_notifier.cc chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
cookie_change_notifier.h chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
electron_autofill_driver.cc Revert "chore: bump chromium to 91.0.4448.0 (master) (#28009)" 2021-03-30 21:28:40 -05:00
electron_autofill_driver.h Revert "chore: bump chromium to 91.0.4448.0 (master) (#28009)" 2021-03-30 21:28:40 -05:00
electron_autofill_driver_factory.cc Bump v12.0.0-nightly.20200827 2020-08-27 07:31:51 -07:00
electron_autofill_driver_factory.h Bump v12.0.0-nightly.20200827 2020-08-27 07:31:51 -07:00
electron_browser_client.cc refactor: remove base::Value from WebContentsPreferences (#30193) 2021-07-26 09:04:09 -07:00
electron_browser_client.h fix: geolocation crashes electron on macOS (#29343) (#29913) 2021-06-28 20:26:57 -07:00
electron_browser_context.cc fix: persist permission granted to serial ports (#30209) 2021-07-26 13:10:57 -04:00
electron_browser_context.h fix: persist permission granted to serial ports (#30209) 2021-07-26 13:10:57 -04:00
electron_browser_handler_impl.cc chore: remove unused and broken ipcRendererInternal.sendTo() (#29743) 2021-06-17 23:26:18 -05:00
electron_browser_handler_impl.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
electron_browser_main_parts.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
electron_browser_main_parts.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
electron_browser_main_parts_mac.mm fix: geolocation crashes electron on macOS (#29343) (#29913) 2021-06-28 20:26:57 -07:00
electron_browser_main_parts_posix.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
electron_download_manager_delegate.cc refactor: remove base::Value from WebContentsPreferences (#30193) 2021-07-26 09:04:09 -07:00
electron_download_manager_delegate.h chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
electron_gpu_client.cc chore: rename atom -> electron (#21986) 2020-02-04 12:19:40 -08:00
electron_gpu_client.h chore: rename atom -> electron (#21986) 2020-02-04 12:19:40 -08:00
electron_javascript_dialog_manager.cc refactor: remove base::Value from WebContentsPreferences (#30193) 2021-07-26 09:04:09 -07:00
electron_javascript_dialog_manager.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
electron_navigation_throttle.cc refactor: wire will-navigate up to a navigation throttle instead of OpenURL (#25065) 2020-08-21 12:34:09 -07:00
electron_navigation_throttle.h refactor: wire will-navigate up to a navigation throttle instead of OpenURL (#25065) 2020-08-21 12:34:09 -07:00
electron_pdf_web_contents_helper_client.cc chore: use =default for default constructors/destructors (#29511) 2021-06-04 13:16:13 +09:00
electron_pdf_web_contents_helper_client.h
electron_permission_manager.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
electron_permission_manager.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
electron_quota_permission_context.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
electron_quota_permission_context.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
electron_speech_recognition_manager_delegate.cc chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
electron_speech_recognition_manager_delegate.h chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
electron_web_ui_controller_factory.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
electron_web_ui_controller_factory.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
event_emitter_mixin.cc refactor: EventEmitters without gin_helper (#22726) 2020-03-18 12:57:08 -07:00
event_emitter_mixin.h feat: add webContents.setWindowOpenHandler API (#24517) 2020-11-10 09:06:03 -08:00
extended_web_contents_observer.h chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
fake_location_provider.cc
fake_location_provider.h
feature_list.cc chore: disable default async spellchecker on Windows (#29690) 2021-06-15 09:11:49 -07:00
feature_list.h feat: initialize field trials from command line arguments (#28305) 2021-03-26 09:49:00 +09:00
file_select_helper.cc chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
file_select_helper.h chore: use consistent parameter names (#29361) 2021-06-01 10:46:25 +09:00
file_select_helper_mac.mm fix: transparently package bundles as zip archives (#25030) 2020-10-27 17:05:28 -07:00
font_defaults.cc Revert "chore: bump chromium to 91.0.4448.0 (master) (#28009)" 2021-03-30 21:28:40 -05:00
font_defaults.h chore: bump chromium to ec5bc1743792d64724693eb357083 (master) (#24984) 2020-09-21 01:00:36 -07:00
javascript_environment.cc chore: bump Node.js to v16.2.0 (#29244) 2021-06-17 08:50:56 +02:00
javascript_environment.h fix: let Node.js perform microtask checkpoint in the main process (#24131) 2020-06-17 10:08:10 -07:00
login_handler.cc fix: crash when invoking login callback synchronously (#30068) 2021-07-12 12:33:41 -07:00
login_handler.h
microtasks_runner.cc refactor: use public node::CallbackScope where possible (#27001) 2020-12-15 11:39:25 -08:00
microtasks_runner.h
native_browser_view.cc chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
native_browser_view.h fix: draggable regions calculation in BrowserWindow/BrowserView (#26690) 2020-11-30 21:02:04 -08:00
native_browser_view_mac.h fix: draggable regions calculation in BrowserWindow/BrowserView (#26690) 2020-11-30 21:02:04 -08:00
native_browser_view_mac.mm chore: use =default for default constructors/destructors (#29511) 2021-06-04 13:16:13 +09:00
native_browser_view_views.cc fix: BrowserViews not painting their WebContents (#29919) 2021-07-30 08:59:24 +09:00
native_browser_view_views.h fix: BrowserViews not painting their WebContents (#29919) 2021-07-30 08:59:24 +09:00
native_window.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
native_window.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
native_window_mac.h feat: enable window controls overlay on macOS (#29253) 2021-07-01 15:25:40 -04:00
native_window_mac.mm fix: use contentAspectRatio not aspectRatio (#30305) 2021-07-29 23:27:21 +02:00
native_window_observer.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
native_window_views.cc chore: bump chromium to 93.0.4550.0 (main) (#29751) 2021-06-22 12:17:16 -07:00
native_window_views.h chore: bump chromium to 93.0.4550.0 (main) (#29751) 2021-06-22 12:17:16 -07:00
native_window_views_win.cc feat: include resize edge with will-resize event (#29199) 2021-06-02 11:37:10 +09:00
network_hints_handler_impl.cc refactor: ginify Session (#23569) 2020-05-19 10:18:12 -07:00
network_hints_handler_impl.h fix: hold browser_context instead of render_frame_host to fix lifetime issues (#23271) 2020-05-01 16:37:01 +09:00
pref_store_delegate.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
pref_store_delegate.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
protocol_registry.cc chore: bump chromium to 94.0.4584.0 (main) (#30030) 2021-07-26 09:02:16 -07:00
protocol_registry.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
relauncher.cc chore: bump chromium to 94.0.4584.0 (main) (#30030) 2021-07-26 09:02:16 -07:00
relauncher.h chore: use consistent parameter names (#29361) 2021-06-01 10:46:25 +09:00
relauncher_linux.cc
relauncher_mac.cc
relauncher_win.cc chore: bump chromium to 94.0.4584.0 (main) (#30030) 2021-07-26 09:02:16 -07:00
session_preferences.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
session_preferences.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
special_storage_policy.cc chore: bump chromium to 6d130075d378a64187360ba4e7820 (master) (#24256) 2020-07-13 21:13:34 -04:00
special_storage_policy.h chore: bump chromium to 6d130075d378a64187360ba4e7820 (master) (#24256) 2020-07-13 21:13:34 -04:00
unresponsive_suppressor.cc
unresponsive_suppressor.h
web_contents_permission_helper.cc chore: bump chromium to 93.0.4539.0 (main) (#29608) 2021-06-16 15:43:51 -07:00
web_contents_permission_helper.h chore: bump chromium to 94.0.4584.0 (main) (#30030) 2021-07-26 09:02:16 -07:00
web_contents_preferences.cc refactor: remove guestInstanceId from WebPreferences (#30280) 2021-07-28 15:32:53 -07:00
web_contents_preferences.h refactor: remove guestInstanceId from WebPreferences (#30280) 2021-07-28 15:32:53 -07:00
web_contents_zoom_controller.cc chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
web_contents_zoom_controller.h chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
web_dialog_helper.cc chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
web_dialog_helper.h chore: use consistent parameter names (#29361) 2021-06-01 10:46:25 +09:00
web_view_guest_delegate.cc fix: crash when clicking links with target=_blank from webview (#29874) 2021-06-29 18:10:18 -07:00
web_view_guest_delegate.h chore: bump chromium to 6b9fa6b352d824d052222e1abe541 (master) (#25558) 2020-10-15 18:30:41 -07:00
web_view_manager.cc refactor: remove guestInstanceId from WebPreferences (#30280) 2021-07-28 15:32:53 -07:00
web_view_manager.h refactor: remove guestInstanceId from WebPreferences (#30280) 2021-07-28 15:32:53 -07:00
window_list.cc chore: bump chromium to 0e4ca9c0a63d7a39bd910997ad4c6 (master) (#24687) 2020-08-12 11:33:58 -07:00
window_list.h
window_list_observer.h
zoom_level_delegate.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
zoom_level_delegate.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00