зеркало из https://github.com/electron/electron.git
Require a non-empty drag image to prevent crash
This commit is contained in:
Родитель
8ce1930f0d
Коммит
e683f28e32
|
@ -1327,9 +1327,17 @@ void WebContents::StartDrag(const mate::Dictionary& item,
|
|||
|
||||
// Error checking.
|
||||
if (icon.IsEmpty()) {
|
||||
args->ThrowError("Must specify 'icon' option");
|
||||
return;
|
||||
}
|
||||
|
||||
#if defined(OS_MACOSX)
|
||||
// NSWindow.dragImage requires a non-empty NSImage
|
||||
if (icon->image().IsEmpty()) {
|
||||
args->ThrowError("Must specify non-empty 'icon' option");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Start dragging.
|
||||
if (!files.empty()) {
|
||||
|
|
|
@ -292,13 +292,15 @@ describe('webContents module', function () {
|
|||
w.webContents.startDrag({icon: path.join(__dirname, 'fixtures', 'assets', 'logo.png')})
|
||||
}, /Must specify either 'file' or 'files' option/)
|
||||
|
||||
assert.throws(() => {
|
||||
w.webContents.startDrag({file: __filename})
|
||||
}, /Must specify 'icon' option/)
|
||||
|
||||
if (process.platform === 'darwin') {
|
||||
assert.throws(() => {
|
||||
w.webContents.startDrag({file: __filename, icon: __filename})
|
||||
}, /Must specify non-empty 'icon' option/)
|
||||
|
||||
assert.throws(() => {
|
||||
w.webContents.startDrag({file: __filename})
|
||||
}, /Must specify non-empty 'icon' option/)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
Загрузка…
Ссылка в новой задаче