Skip to content

Commit a06a8a6

Browse files
Merge pull request electron#11056 from ajmacd/allow-browser-window-logs
Allow BrowserWindows to emit `console-message` events.
2 parents ba754cf + 7c5bd62 commit a06a8a6

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

atom/browser/api/atom_api_web_contents.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ bool WebContents::DidAddMessageToConsole(content::WebContents* source,
480480
const base::string16& message,
481481
int32_t line_no,
482482
const base::string16& source_id) {
483-
if (type_ == BROWSER_WINDOW || type_ == OFF_SCREEN) {
483+
if (type_ == OFF_SCREEN) {
484484
return false;
485485
} else {
486486
Emit("console-message", level, message, line_no, source_id);

docs/api/web-contents.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,18 @@ Returns:
591591

592592
Emitted when a `<webview>` has been attached to this web contents.
593593

594+
#### Event: 'console-message'
595+
596+
Returns:
597+
598+
* `level` Integer
599+
* `message` String
600+
* `line` Integer
601+
* `sourceId` String
602+
603+
Emitted when the associated window logs a console message. Will not be emitted
604+
for windows with *offscreen rendering* enabled.
605+
594606
### Instance Methods
595607

596608
#### `contents.loadURL(url[, options])`

spec/api-web-contents-spec.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -667,4 +667,16 @@ describe('webContents module', () => {
667667
w.loadURL(`file://${path.join(__dirname, 'fixtures', 'pages', 'theme-color.html')}`)
668668
})
669669
})
670+
671+
describe('console-message event', () => {
672+
it('is triggered with correct log message', (done) => {
673+
w.webContents.on('console-message', (e, level, message) => {
674+
// Don't just assert as Chromium might emit other logs that we should ignore.
675+
if (message === 'a') {
676+
done()
677+
}
678+
})
679+
w.loadURL(`file://${fixtures}/pages/a.html`)
680+
})
681+
})
670682
})

0 commit comments

Comments
 (0)