* chore: bump chromium in DEPS to 121.0.6154.0
* chore: bump chromium in DEPS to 121.0.6155.0
* fix patches
* chore: update patches
* patch out reference to GetOcclusionTracker
* un-flag PIPOcclusionTracker
* chore: bump chromium in DEPS to 121.0.6157.0
* fix conflicts
5038807
* add PIP occlusion tracker sources to chromium_src
* 5037591: Replace feature_list's Initialize* methods with Init*.
5037591
* 4811903: Move //content/browser/renderer_host/input/synthetic_gesture_controller to //content/common/input
4811903
* 4917953: usb: Add usb-unrestricted to permission policy
4917953
* 5072395: Remove unused `creation_context` parameter from blink/public APIs
5072395
* 5052035: [X11] Change AtomCache from a singleton to owned by Connection
5052035
* fix v8/.patches
* node script/gen-libc++-filenames.js
* 5035771: Remove the SetImage method of ImageButton
5035771
* fixup! 5052035: [X11] Change AtomCache from a singleton to owned by Connection
* fixup! 5035771: Remove the SetImage method of ImageButton
* chore: bump chromium in DEPS to 121.0.6159.0
* 4505903: [Extensions] Add lastAccessed property to chrome.tabs.Tab
4505903
* update patches
* don't duplicate tabs API types
this causes weird memory bugs if the two get out of sync
* fix UAF in TrayIconCocoa
not sure why this is popping up just now ... this has been broken for ages afaict
* Revert "don't duplicate tabs API types"
This reverts commit 80dff2efaa1297e5c191b2c69648099d6665dbff.
This is failing tests with extensions API schema check failures, so
revert for now. we'll fix it later.
* revert v8 change causing node crashes
* chore: reduce diffs in revert_api_dcheck-fail_when_we_reenter_v8_while_terminating.patch
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: bump chromium in DEPS to 118.0.5951.0
* chore: update printing.patch
Xref: 4727894
No logic changes, but patch needed to be manually re-applied due to upstream code shear
* chore: update port_autofill_colors_to_the_color_pipeline.patch
No manual changes; patch applied with fuzz
* chore: update patches
* chore: bump chromium in DEPS to 118.0.5953.0
* chore: update patches
* chore: bump chromium in DEPS to 118.0.5955.0
* chore: update patches
* chore: bump chromium in DEPS to 118.0.5957.0
* chore: update patches
* chore: include path of native_web_keyboard_event.h
Xref: 4758689
* chore: remove reference to eextensions/browser/notification-types.h
Xref: 4771627
* chore: update references to renamed upstream field NativeWebKeyboardEvent.skip_if_unhandled (formerly known as skip_in_browser
Xref: 4758689
Need a second pair of eyes on this commit. In particular the reference in content_converter.cc, skipInBrowser, seems to not be set or documented anywhere? Is this unused/vestigal code?
* chore: sync signature of ElectronExtensionsBrowserClient::IsValidContext() to upstream change
Xref: 4784198
* chore: add auto_pip_setting_helper.[cc,h] to chromium_src build
Xref: 4688277
Exiting upstream code used by chromium_src now depends on this new upstream class
* chore: bump chromium in DEPS to 118.0.5959.0
* chore: update add_maximized_parameter_to_linuxui_getwindowframeprovider.patch
Xref: add_maximized_parameter_to_linuxui_getwindowframeprovider.patch
manually adjust patch to minor upstream chagnes
* chore: update patches
* chore: bump chromium in DEPS to 118.0.5961.0
* chore: bump chromium in DEPS to 118.0.5963.0
* chore: update patches
* 4780994: Rename various base files to "apple" since iOS uses them too
4780994
* Many files moved from `mac` -> `apple`
This commit follows a handful of CLs that simply rename files/symbols to change `mac`
to `apple`
to signify their use across both macOS and iOS:
- 4784010: Move scoped_nsautorelease_pool to base/apple, leave a forwarding header
- 4790744: Move foundation_util to base/apple, leave a forwarding header
- 4790741: Move scoped_cftypreref to base/apple, leave a forwarding header
- 4787627: Move and rename macOS+iOS base/ files in PA to "apple"
- 4780399: Move OSStatus logging to base/apple
- 4787387: Remove forwarding headers
- 4781113: Rename message_pump_mac to "apple" because iOS uses it too
* fixup minor patch update error
A function param got dropped from this patch somewhere earlier
* chore: bump chromium in DEPS to 118.0.5965.2
* chore: update patches
* 4799213: Move ScopedTypeRef and ScopedCFTypeRef into base:🍎:
4799213
* Fix removed include to BrowserContext
In crrev.com/c/4767962 an include to BrowserContext was removed,
which was necessary for compilation. This broke only for us because
"chrome/browser/profiles/profile.h" includes that class, but we remove
all references to profiles.
* chore: bump chromium in DEPS to 118.0.5967.0
* chore: update patches
* chore: bump chromium in DEPS to 118.0.5969.0
* chore: update patches
* chore: bump chromium in DEPS to 118.0.5971.0
* chore: bump chromium in DEPS to 118.0.5973.0
* chore: update patches
* 4772121: [OOPIF PDF] Replace PDFWebContentsHelper with PDFDocumentHelper
4772121
* 4811164: [Extensions] Do some cleanup in ChromeManagementAPIDelegate.
4811164
* 4809488: Remove duplicate dnd functionality between Web and Renderer prefs
4809488
Given that this is no longer an option of web preferences, we should
consider deprecating this option and then removing it.
* chore: bump chromium in DEPS to 118.0.5975.0
* chore: update patches
* fixup! chore: add auto_pip_settings_helper.{cc|h} to chromium_src build
* Reland "[windows] Remove RegKey::DeleteEmptyKey"
Refs 4813255
* Ensure StrCat means StrCat
Refs 1117180
* fixup! Remove RegKey::DeleteEmptyKey
* Consistently reject large p and large q in DH
Refs https://boringssl-review.googlesource.com/c/boringssl/+/62226
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
* chore: bump chromium in DEPS to 117.0.5846.0
* chore: update patches
* 4628901: Bump the macOS deployment target to 10.15
4628901
* 4593350: [Private Network Access] Trigger Permission Prompt
4593350
* 4631011: Remove unlaunched "InstallReplacementAndroidApp" Platform App APIs
4631011
* chore: disable API deprecation warnings in NSKeyedArchiver
* chore: update libcxx filenames
* chore: bump chromium in DEPS to 117.0.5848.2
* chore: update feat_add_set_theme_source_to_allow_apps_to.patch
Xref: 4629743
No manual changes; patch succeeded with fuzz
* chore: update process_singleton.patch
Xref: 4605398
Trivial manual patch adjustments to account for code shear.
* chore: remove electron::BrowserContext::GetMediaDeviceIDSalt()
Xref: 4608130
upstream tldr:
- content::BrowserContext::GetMediaDeviceIDSalt()
- content::ContentBrowserClient::ArePersistentMediaDeviceIDsAllowed()
+ content::ContentBrowserClient::GetMediaDeviceIDSalt()
This commit leaves ElectronBrowserContext::GetMediaDeviceIDSalt() in
place (now non-virtual, non-override). It is now called by the new
function ElectronBrowserClient::GetMediaDeviceIDSalt().
As a followup, we might want to consider using the new upstream
media_device_salt::MediaDeviceSaltService and removing our
electron::MediaDeviceIDSalt code. CC @MarshallOfSound for 2nd
opinion since he has done the most work on MediaDeviceIDSalt and
may have more context.
* chore: fix iwyu breakage
Xref: 4629624
electron_browser_main_parts.cc uses ui::ColorProviderManager but didn't
include it. Things worked anyway because we got it indirectly from
content/public/browser/web_contents.h until 4629624.
* chore: remove call to base::mac::IsAtLeastOS10_14
upstream has bumped minimum version to 10.15 so this call is moot?
* chore: remove obsolete API_AVAILABLE calls in IAP
upstream has bumped minimum version to 10.15 so this call is moot?
* chore: remove obsolete API_AVAILABLE calls in electron_application_delegate
upstream has bumped minimum version to 10.15 so this call is moot?
* chore: remove broken-before-macOS-10.15 patch in mas_avoid_usage_of_private_macos_apis.patch
Upstream has bumped minimum to macOS 10.15
* chore: remove @available(macOS 10.14) check
Upstream minimum requirement for macOS is now 10.15
* chore: update patches
* chore: bump chromium in DEPS to 117.0.5850.0
* chore: update patches
* chore: bump chromium in DEPS to 117.0.5852.0
* chore: update patches
* Move two params from NetworkContextParams to NetworkContextFilePaths.
4615930
* WebUSB: Add exclusionFilters to USBRequestDeviceOptions
4614682
* Convert /chrome/browser/ui to use ARC
4615920
* fixup! Bump the macOS deployment target to 10.15
* fixup! Bump the macOS deployment target to 10.15
* chore: update libcxx files
* win: Remove 10Glass from Windows10Glass function and var names
4641314
* chore: revert 392e5f43 from chromium
* Add an ExecutionContext to ScriptState
4609446
* fixup! Add an ExecutionContext to ScriptState
* chore: fix header
* Revert "chore: revert 392e5f43 from chromium"
This reverts commit b7f782943e4ce83cae8cd35780d8d3618cf0772c.
* fix: return correct min/max sizes in WinFrameView
* fixup! Revert chore: revert 392e5f43 from chromium
* fixup! Add an ExecutionContext to ScriptState
* Revert "fixup! Revert chore: revert 392e5f43 from chromium"
This reverts commit 7e2c7281abfc4f309255339fdba073d90a9ae3eb.
* Revert "fix: return correct min/max sizes in WinFrameView"
This reverts commit 3f418b1ab5155686730e087ae6cabe4a21b4bb61.
* Revert "Revert "chore: revert 392e5f43 from chromium""
This reverts commit 56296d8b7c434147e032e3c3b08c0e371b6c27ba.
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
* chore: bump chromium in DEPS to 103.0.5020.0
* chore: bump chromium in DEPS to 103.0.5022.0
* chore: bump chromium in DEPS to 103.0.5024.0
* chore: update patches
* 3587410: [Printing] Remove JobEventDetails
Ref: 3587410
* chore: bump chromium in DEPS to 103.0.5026.0
* chore: update patches
* 3577218: WebUI: Delete webui_resources.grd and related GN targets.
Ref: 3577218
* chore: bump chromium in DEPS to 103.0.5028.0
* chore: update patches
* 3579297: Convert UpdatePrintSettings() to use non-deprecated base::Value APIs.
Ref: 3579297
* 3560622: serial: Add SerialPort.forget() method
Ref: 3560622
* 3581708: Restore original display when moving from tab-fullscreen to browser-fullscreen.
Ref: 3581708
* chore: fix authorization flags lint error
* 3583363: Remove net wrappers around base/strings/escape.h
Ref: 3583363
* fixup! 3560622: serial: Add SerialPort.forget() method
Ref: 3560622
* 3587589: Reland "Propagate the MIME type from DownloadTargetDeterminer to DownloadItem"
Ref: 3587589
* 3584006: Remove IsRenderViewLive from content public
Ref: 3584006
* 3596174: [api] Remove APIs for resurrecting finalizers
Ref: 3596174
* 3368244: Hook SnapshotForContentAnalysis renderer API to scan system prints
Ref: 3368244
* chore: bump chromium in DEPS to 103.0.5030.0
* chore: update patches
* chore: bump chromium in DEPS to 103.0.5032.0
* chore: bump chromium in DEPS to 103.0.5034.0
* chore: bump chromium in DEPS to 103.0.5036.0
* chore: update patches
* 3586363: Introduce PrintRenderFrame.PrintWithParams() for batch printing to PDF
Ref: 3586363
* 3593199: Remove content::PermissionType references and replace them with blink::PermissionType
Ref: 3593199
* 3368244: Hook SnapshotForContentAnalysis renderer API to scan system prints
Ref: 3368244
* chore: lint
* chore: bump chromium in DEPS to 103.0.5038.0
* chore: update patches
* fixup! 3560622: serial: Add SerialPort.forget() method
* 3606495: mac screen capture: add metric
Ref: 3606495
* chore: bump chromium in DEPS to 103.0.5040.0
* chore: update patches
* 3590840: Add IPs to DnsOverHttpsServerConfig
3590840
* stub functions for ElectronSerialDelegate and SerialChooserController to fix link
* 3566412: [base] Remove base/android dependency on post_task.h and officially remove post_task.h!
Ref: 3566412
* 3347944: [content] No longer hand-off whole MainFunctionParams to BrowserMainParts
Ref: 3347944
* fixup! 3566412: [base] Remove base/android dependency on post_task.h and off…
e3ea3e1
…icially remove post_task.h!
* chore: update process_singleton patches for content::GetIOThreadTaskRunner({})
Ref: 2015655: [BrowserThread] Migrate co/pub/br and co/br/scheduler to the new API | 2015655
* chore: migrate base::DeleteSoon to content::GetUIThreadTaskRunner({})->DeleteSoon
Ref: 3566412
* chore: remove duplicate functions for RevokePortPermissionWebInitiated & GetPortInfo
* chore: migrate Linux/Windows methods off of post_task.h
Ref: 3566412
* 64908: Stop building legacy SwiftShader GL in Chromium
https://swiftshader-review.googlesource.com/c/SwiftShader/+/64908
* 3573245: Added Themed versions of RoundedRectBackground and RoundedRectBorder.
Ref: 3573245
* chore: bump chromium in DEPS to 103.0.5042.0
* chore: update patches
* 3571804: [api] Advance API deprecation for V8 version v10.2
3571804
* fixup! 3571804: [api] Advance API deprecation for V8 version v10.2
* build: fix run-clang-format extension matching
* lint
* fix windows build
* how is clang-format still not working for me
* chore: update patches
* 3623985: Replace ad-hoc SetPublicFirstPartySets calls with method in ContentBrowserClient.
3623985
* no need to implement WillProvidePublicFirstPartySets; the default is false
* 3601036: [QT] Introduce ui/views/linux_ui/linux_ui_factory.*
3601036
* 3583363: Remove net wrappers around base/strings/escape.h
3583363
* lint
* chore: bump chromium in DEPS to 103.0.5044.0
* fix conflicts
* chore: update patches
* upgrade nan
* pin version of nan in tests
* replace my hacky deprecated override fix with the fix from upstream
* revert runtime dcheck in v8
* pin nan version at root too
* refactor: tell gyp to use c++17 when building with our node
* Revert "refactor: tell gyp to use c++17 when building with our node"
This reverts commit 41a03a5799a8f40f31555d73d20ea865acfcd192.
* Undo the reversion of 41a03a5799a8f40f31555d73d20ea865acfcd192.
This reverts commit 54440abc598153bd7e259be4a908f0ecc0b33348.
* disable sequential/test-cpu-prof-kill for now
* also sequential/test-diagnostic-dir-cpu-prof
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
Co-authored-by: Jeremy Rose <japthorp@slack-corp.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: bump chromium in DEPS to 92.0.4512.6
* 2887336: [CaptureHandle][#2] Propagate CaptureHandleConfig in browser process
2887336
* refactor: base::Optional -> absl::optional
* chore: fixup patch indices
* chore: bump chromium in DEPS to 92.0.4514.0
* 2899417: Make build work when enable_pdf is set to false.
2899417
* 2904731: use BrowserContext instead of Profile in PreconnectManager
2904731
* 2295749: fix: check IsSecureEventInputEnabled in constructor before setting SetPasswordInputEnabled to true
2295749
* 2893803: Add a GetWebView to RenderFrame.
2893803
* 2892345: Implement WebContents::ForEachRenderFrameHost
2892345
* chore: fixup patch indices
* 2892048: Real instance methods for BrowserContext: remaining 5 methods.
2892048
* 2902821: [mojo] Don't require full header includes for referenced interfaces
2902821
* 2496500: Remove last deprecated extension Event ctor.
2496500
* chore: fixup malformed pepper support patch
* chore: bump chromium in DEPS to 92.0.4515.0
* 2908461: Add CreateEmptyPrintPagesParamsPtr() inside print_view_manager_base.cc.
2908461
* 2880838: viz: add optional HDRMetadata to TransferableResource
2880838
* chore: fixup patch indices
* chore: bump chromium in DEPS to 92.0.4515.5
* chore: update patches
* chore: bump chromium in DEPS to 92.0.4515.7
* chore: bump chromium in DEPS to 92.0.4515.9
* chore: bump chromium in DEPS to 93.0.4522.0
* chore: bump chromium in DEPS to 93.0.4523.0
* chore: bump chromium in DEPS to 93.0.4524.0
* chore: update patches
* chore: enable_pak_file_integrity_checks was reverted
* chore: update patches
* refactor: base/optional was replaced with absl::optional
Refs: 2910202
* refactor: replace all usages of base::nullopt with absl::nullopt
Refs: 2910202
* chore: add missing base::Contains include
Refs: 2910202
* refactor: replace all usages of base::make_optional with
absl::make_optional
Refs: 2910202
* refactor: replace WorldScriptContext() with GetScriptContextFromWorldId
Refs: 2893213
* chore: clean up left over opening namespace
Refs: 95bfe6d08f
* chore: add missing base::Contains include
Refs: 2910202
* refactor: replace GetCurrentDisplayIterator with the hard checker
GetCurrentDisplay
This code looks suspicious but if the iterator was invalid before it
will also be invalid now.
Refs: 2893191
* refactor: headers are now passed directly in extensions client
Refs: 2918906
* refactor: base::DictionaryValue::empty() has been removed
Refs: 2912424
* chore: add missing includes for network URLLoaderFactory
Refs: unknown, probably a side effect of header changes
* refactor: make convenience wrapper around AppendArg
There is no converter FromV8 for base::StringPiece (apparently its not
possible). So we now take in an std::string and use the construct for
StringPiece to do implicit conversion.
Refs: 2905544
* chore: add patch
* chore: bump chromium in DEPS to 93.0.4525.0
* chore: update patches
* refactor: CanResize has been de-virtualized
Refs: 2485774
* chore: update resource integrity patch
* chore: add character encoding idl patch
* chore: bump chromium in DEPS to 93.0.4526.0
* chore: update patches
* chore: bump chromium in DEPS to 93.0.4527.0
* chore: bump chromium in DEPS to 93.0.4528.0
* chore: update patches
* chore: update idl encoding patch
* chore: bump chromium in DEPS to 93.0.4529.0
* chore: update patches
* chore: bump chromium in DEPS to 93.0.4530.0
* chore: update patches
* fix: only SetCanResize after the widget has been initialized
* chore: add patch for vr on windows gn gen
* spec: fix focus related tests on linux due to delay in focus swap
* chore: remove new usages of base::Optional from main
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Samuel Attard <sattard@slack-corp.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
* feat: add optional font type to macOS tray title
* test: add tests for tray font type
* docs: update API reference for Tray setTitle
* review: change API to use an options object
* review: fix string enum in docs
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
* review: return after throwing errors
* review: don't need thrower anymore now that we have args
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
* fix: systray icon demotion
Adding support for GUID parameter in Tray API.
In combination with signed binaries this allows to maintain
the position in the systray on Windows.
* unit tests
* make mac and linux compile
* chore: bump chromium in DEPS to f3bf493731e868e1f5f48e7e1adc02ea5eccfbbd
* chore: bump chromium in DEPS to 4db0c87d4aa6f27ffa0b5fc77d20e10047962484
* chore: bump chromium in DEPS to d933a504c264dc8fe85267f47aef3588531875b5
* chore: bump chromium in DEPS to 34afdb68980f581ae911b85b727bc17e126cf5f9
* update disable-redraw-lock.patch
1600387
* update desktop_media_list.patch
1729156
* update notification_provenance.patch
1742779
* update printing.patch
1646772
* update verbose_generate_bpad_syms.patch
1745986
* update patch metadata
* remove printing_compositor manifests
1742734
* update for URLLoaderFactoryType enum
1754716
* remove gin string16 converter
1750093
* ClearCompositorFrame() has been removed
1746301
* message_loop -> message_loop_current
1738552
* include resource_response header
* pdf compositor no longer uses service manager
1742734
* chore: bump chromium in DEPS to 00d5933101d8d8dc9546eadbe7ee1b41077e6db1
* pane focus fns aren't pure virtual anymore
1708767
* fix: make std::hash value-non-const
broken by 1711202
* update swiftshader in zip_manifests
https://swiftshader-review.googlesource.com/c/SwiftShader/+/34911
* address feedback from @deepak1556
* don't enable kLegacyWindowsDWriteFontFallback
1753006
* chore: bump chromium in DEPS to 84497314005e1968da06804f8fde539d9872310e
* update printing.patch
remove bottom diff owing to 1678182 and update for 1678182
* convert CookieChangeListener to new Mojo types
1753371
* rename ui::ClipboardType -> ui::ClipboardBuffer
1758730
* logging::LoggingSettings log_file -> log_file_path
1699477
* roll DEPS to latest lkgr
* fix: override GetFontLookupTableCacheDir()
When Chromium goes to use its fallback font table creation code paths,
it creates the cache directory it uses by calling
GetFontLookupTableCacheDir() with a path that doesn't exist in Electron.
To ensure that a legitimate file path is created, we need to override it
with Electron's DIR_USER_DATA so it doesn't use chrome::DIR_USER_DATA.
* chore: bump chromium in DEPS to 6758a0879931bc4df630a80a36c82d7855ae3155
* update pthread_fchdir patch
1759149
* update printing patch
* update cookie usage and fn signatures
1758437
* chore: bump chromium in DEPS to bdaca97e1cc27fb977e56f30f74cdb906da9527e
* remove fix_make_std_hash_value-non-const.patch
1762335
* Convert enum to enum class for FocusManager::FocusChangeReason
1767281
* roll DEPS to latest lkgr
* update dom_storage_limits.patch
1767556
* restore stash
revert
some things work others dont
tracking area for rescue
manual popup
restore drag n drop
cleanup
* fix: make tray not block main process (#18880)
* fix: make tray not block main process
* make AtomMenuModel refcounted
* add support for ansi codes in title
add remove TODOs
* chore: use ScopedPumpMessagesInPrivateModes in tray (#18977)
* chore: use ScopedPumpMessagesInPrivateModes in tray
* revert refcounting of AtomMenuModel
* Prefer WeakPtr for posting tasks to handle unexpected destruction
* cleanup .h
* cleanup .mm
* add imports
add missing include
* fix: crash when tray popup called twice (#18999)
* remove highlightMode and TODOs
* remove unnecessary copy
* chore: use ScopedPumpMessagesInPrivateModes in tray
* revert refcounting of AtomMenuModel
* Prefer WeakPtr for posting tasks to handle unexpected destruction