Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Issue 2435863002: Wrap -[BrowserCrApplication nextEventMatchingMask:…] with base::mac::CallWithEHFrame. (Closed)

Created:
4 years, 2 months ago by Robert Sesek
Modified:
4 years, 2 months ago
Reviewers:
Mark Mentovai
CC:
chromium-reviews, mac-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Wrap -[BrowserCrApplication nextEventMatchingMask:…] with base::mac::CallWithEHFrame. nextEventMatchingMask:… is what drives the CFRunLoop on the main thread. While both -[NSApplication sendEvent:] and all the MessagePumpMac callouts are wrapped in CallWithEHFrame, other system runloop callouts (like __CFMachPortPerform and __NSFireDelayedPerform) are not wrapped. If an exception is raised from within one of those callouts, it will bubble up to -[NSApplication run], which then swallows the useful stacktrace via -reportException:/-crashOnException:. By wrapping nextEventMatchingMask:…, exceptions will generate better crash stacktraces when raised from system callouts. However, exceptions raised from libdispatch callouts will not be caught, due to another exception handler in _dispatch_client_callout. See https://crbug.com/637270#c7 for details. BUG=637270 R=mark@chromium.org Committed: https://crrev.com/227b4c54986e2a60c85fcdf880465963f32901db Cr-Commit-Position: refs/heads/master@{#426366}

Patch Set 1 #

Patch Set 2 : NSEventMask problem #

Total comments: 4

Patch Set 3 : __LP64__ #

Unified diffs Side-by-side diffs Delta from patch set Stats (+27 lines, -0 lines) Patch
M chrome/browser/chrome_browser_application_mac.mm View 1 2 2 chunks +27 lines, -0 lines 0 comments Download

Messages

Total messages: 15 (9 generated)
Robert Sesek
4 years, 2 months ago (2016-10-19 22:52:46 UTC) #2
Mark Mentovai
LGTM https://codereview.chromium.org/2435863002/diff/20001/chrome/browser/chrome_browser_application_mac.mm File chrome/browser/chrome_browser_application_mac.mm (right): https://codereview.chromium.org/2435863002/diff/20001/chrome/browser/chrome_browser_application_mac.mm#newcode275 chrome/browser/chrome_browser_application_mac.mm:275: #if !defined(MAC_OS_X_VERSION_10_12) || \ #include <AvailabilityMacros.h> https://codereview.chromium.org/2435863002/diff/20001/chrome/browser/chrome_browser_application_mac.mm#newcode276 chrome/browser/chrome_browser_application_mac.mm:276: ...
4 years, 2 months ago (2016-10-19 23:01:39 UTC) #3
Robert Sesek
https://codereview.chromium.org/2435863002/diff/20001/chrome/browser/chrome_browser_application_mac.mm File chrome/browser/chrome_browser_application_mac.mm (right): https://codereview.chromium.org/2435863002/diff/20001/chrome/browser/chrome_browser_application_mac.mm#newcode275 chrome/browser/chrome_browser_application_mac.mm:275: #if !defined(MAC_OS_X_VERSION_10_12) || \ On 2016/10/19 23:01:39, Mark Mentovai ...
4 years, 2 months ago (2016-10-19 23:22:12 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2435863002/40001
4 years, 2 months ago (2016-10-20 00:38:55 UTC) #11
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 2 months ago (2016-10-20 01:23:00 UTC) #13
commit-bot: I haz the power
4 years, 2 months ago (2016-10-21 13:14:17 UTC) #15
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/227b4c54986e2a60c85fcdf880465963f32901db
Cr-Commit-Position: refs/heads/master@{#426366}

Powered by Google App Engine
This is Rietveld 408576698