Skip to content

Commit cc9771a

Browse files
authored
Merge pull request electron#10307 from liusy182/10240-theme-color-2
return null when theme color is transparent or not found
2 parents e6733b4 + e64d4e5 commit cc9771a

File tree

4 files changed

+28
-2
lines changed

4 files changed

+28
-2
lines changed

atom/browser/api/atom_api_web_contents.cc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -761,7 +761,11 @@ void WebContents::MediaStoppedPlaying(const MediaPlayerInfo& video_type,
761761
}
762762

763763
void WebContents::DidChangeThemeColor(SkColor theme_color) {
764-
Emit("did-change-theme-color", atom::ToRGBHex(theme_color));
764+
if (theme_color != SK_ColorTRANSPARENT) {
765+
Emit("did-change-theme-color", atom::ToRGBHex(theme_color));
766+
} else {
767+
Emit("did-change-theme-color", nullptr);
768+
}
765769
}
766770

767771
void WebContents::DocumentLoadedInFrame(

docs/api/web-contents.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,11 @@ a meta tag:
403403
<meta name='theme-color' content='#ff0000'>
404404
```
405405

406+
Returns:
407+
408+
* `event` Event
409+
* `color` (String | null) - Theme color is in format of '#rrggbb'. It is `null` when no theme color is set.
410+
406411
#### Event: 'update-target-url'
407412

408413
Returns:

spec/api-web-contents-spec.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -660,4 +660,21 @@ describe('webContents module', function () {
660660
gen.next()
661661
})
662662
})
663+
664+
describe('did-change-theme-color event', () => {
665+
it('is triggered with correct theme color', (done) => {
666+
var count = 0
667+
w.webContents.on('did-change-theme-color', (e, color) => {
668+
if (count === 0) {
669+
count++
670+
assert.equal(color, '#FFEEDD')
671+
w.loadURL('file://' + path.join(__dirname, 'fixtures', 'pages', 'base-page.html'))
672+
} else if (count === 1) {
673+
assert.equal(color, null)
674+
done()
675+
}
676+
})
677+
w.loadURL('file://' + path.join(__dirname, 'fixtures', 'pages', 'theme-color.html'))
678+
})
679+
})
663680
})

vendor/native_mate

0 commit comments

Comments
 (0)