Skip to content

Commit d09982d

Browse files
authored
Core: Provide a way to load Prism from inside a Worker without listening to messages. (#1188)
Using disableWorkerMessageHandler config.
1 parent c33be19 commit d09982d

File tree

3 files changed

+33
-25
lines changed

3 files changed

+33
-25
lines changed

components/prism-core.js

+16-12
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ var uniqueId = 0;
2020

2121
var _ = _self.Prism = {
2222
manual: _self.Prism && _self.Prism.manual,
23+
disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,
2324
util: {
2425
encode: function (tokens) {
2526
if (tokens instanceof Token) {
@@ -481,18 +482,21 @@ if (!_self.document) {
481482
// in Node.js
482483
return _self.Prism;
483484
}
484-
// In worker
485-
_self.addEventListener('message', function(evt) {
486-
var message = JSON.parse(evt.data),
487-
lang = message.language,
488-
code = message.code,
489-
immediateClose = message.immediateClose;
490-
491-
_self.postMessage(_.highlight(code, _.languages[lang], lang));
492-
if (immediateClose) {
493-
_self.close();
494-
}
495-
}, false);
485+
486+
if (!_.disableWorkerMessageHandler) {
487+
// In worker
488+
_self.addEventListener('message', function (evt) {
489+
var message = JSON.parse(evt.data),
490+
lang = message.language,
491+
code = message.code,
492+
immediateClose = message.immediateClose;
493+
494+
_self.postMessage(_.highlight(code, _.languages[lang], lang));
495+
if (immediateClose) {
496+
_self.close();
497+
}
498+
}, false);
499+
}
496500

497501
return _self.Prism;
498502
}

components/prism-core.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

prism.js

+16-12
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ var uniqueId = 0;
2525

2626
var _ = _self.Prism = {
2727
manual: _self.Prism && _self.Prism.manual,
28+
disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,
2829
util: {
2930
encode: function (tokens) {
3031
if (tokens instanceof Token) {
@@ -486,18 +487,21 @@ if (!_self.document) {
486487
// in Node.js
487488
return _self.Prism;
488489
}
489-
// In worker
490-
_self.addEventListener('message', function(evt) {
491-
var message = JSON.parse(evt.data),
492-
lang = message.language,
493-
code = message.code,
494-
immediateClose = message.immediateClose;
495-
496-
_self.postMessage(_.highlight(code, _.languages[lang], lang));
497-
if (immediateClose) {
498-
_self.close();
499-
}
500-
}, false);
490+
491+
if (!_.disableWorkerMessageHandler) {
492+
// In worker
493+
_self.addEventListener('message', function (evt) {
494+
var message = JSON.parse(evt.data),
495+
lang = message.language,
496+
code = message.code,
497+
immediateClose = message.immediateClose;
498+
499+
_self.postMessage(_.highlight(code, _.languages[lang], lang));
500+
if (immediateClose) {
501+
_self.close();
502+
}
503+
}, false);
504+
}
501505

502506
return _self.Prism;
503507
}

0 commit comments

Comments
 (0)