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

Unified Diff: content/browser/accessibility/browser_accessibility_com_win.cc

Issue 2976913002: Better handle null delegates by returning instead of CHECK() (Closed)
Patch Set: Fixes Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ui/accessibility/platform/ax_platform_node_base.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/accessibility/browser_accessibility_com_win.cc
diff --git a/content/browser/accessibility/browser_accessibility_com_win.cc b/content/browser/accessibility/browser_accessibility_com_win.cc
index 06c4ed165fc264d6ac3eac8560595cea178e6692..3558c02f07beb10630a3f9d706f5945f779bf0d6 100644
--- a/content/browser/accessibility/browser_accessibility_com_win.cc
+++ b/content/browser/accessibility/browser_accessibility_com_win.cc
@@ -3050,30 +3050,36 @@ HRESULT WINAPI BrowserAccessibilityComWin::InternalQueryInterface(
void** object) {
BrowserAccessibilityComWin* accessibility =
reinterpret_cast<BrowserAccessibilityComWin*>(this_ptr);
+
+ if (!accessibility->owner()) {
+ *object = nullptr;
+ return E_NOINTERFACE;
+ }
+
int32_t ia_role = accessibility->MSAARole();
if (iid == IID_IAccessibleImage) {
if (ia_role != ROLE_SYSTEM_GRAPHIC) {
- *object = NULL;
+ *object = nullptr;
return E_NOINTERFACE;
}
} else if (iid == IID_IAccessibleTable || iid == IID_IAccessibleTable2) {
if (ia_role != ROLE_SYSTEM_TABLE) {
- *object = NULL;
+ *object = nullptr;
return E_NOINTERFACE;
}
} else if (iid == IID_IAccessibleTableCell) {
if (!ui::IsCellOrTableHeaderRole(accessibility->owner()->GetRole())) {
- *object = NULL;
+ *object = nullptr;
return E_NOINTERFACE;
}
} else if (iid == IID_IAccessibleValue) {
if (!accessibility->IsRangeValueSupported()) {
- *object = NULL;
+ *object = nullptr;
return E_NOINTERFACE;
}
} else if (iid == IID_ISimpleDOMDocument) {
if (ia_role != ROLE_SYSTEM_DOCUMENT) {
- *object = NULL;
+ *object = nullptr;
return E_NOINTERFACE;
}
} else if (iid == IID_IAccessibleHyperlink) {
« no previous file with comments | « no previous file | ui/accessibility/platform/ax_platform_node_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698