Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Soft Masks for Natively Supported(decoded by browser) JPEGs #926

Merged
merged 16 commits into from
Dec 15, 2011

Conversation

brendandahl
Copy link
Contributor

Resolves #883, #704, #652.

The main issue was we regressed from the worker code and didn't support soft masks for jpegs anymore. This became more prevalent when we added the CMYK jpeg code since that had a different code path than the natively supported jpegs. The above two issues were from a jpeg that we had to decode, but the jpeg also had a jpeg softmask which was a natively supported jpeg.

I've added back support for jpeg soft masks but the code is now much more complicated than when we previously supported them because of the workers. To try and make this easier I've added two new pieces.

-MessageHandler.send() now accepts a third parameter of a callback. This allows you to send something to main thread or worker and expect a response back e.g.
m.send('do_some_work', data, function(work_result) { alert('look ma ' + worker_result });
and then on the other side of things
m.on('do_some_work', function(message) { message.reply('I did some work'); })

-I added a new '"static" helper function to Promise named all(). This is a pretty common function in other Promise frameworks. You pass in multiple promises and it creates a wrapper promise that is resolved when all the promises are resolved. This makes it so if both the soft mask and the regular image are natively supported jpegs then we can send them both to the main thread and wait for them.

I expect this to fail on pdkids page 9. This image is displayed wrong currently and will still be displayed wrong after this PR. It is a natively supported JPEG with a flate soft mask. It is still displayed wrong because the soft mask uses an unsupported decode map. I plan to address this in a separate PR and will add the issue number when I create it.

Update: Looks like there's already an issue for the decode array #399.

@brendandahl
Copy link
Contributor Author

@pdfjsbot test

@pdfjsbot
Copy link

Processing command test by user brendandahl. Queue size: 0

Live script output is available (after queueing is done) at: http://184.73.87.52:8989/3111905.txt

[bot:processed:3111905]

@pdfjsbot
Copy link

ERROR(s) found

ATTENTION: There was a snapshot difference:
http://184.73.87.52:8989/tests/fcd612e4867d58ab660c10e4d855caed7f8a16b0/reftest-analyzer.xhtml#web=/tests/fcd612e4867d58ab660c10e4d855caed7f8a16b0/eq.log

Output:

========== Killing any stray processes

========== Running garbage collector in /home/ubuntu/pdf.js-bot/tmp
Collecting garbage...

========== Cloning pull request repo
Cloning into ....

========== Merging upstream into pull request clone

========== Running 'make lint'
gjslint --nojsdoc  src/canvas.js src/charsets.js src/cidmaps.js src/colorspace.js src/core.js src/crypto.js src/evaluator.js src/fonts.js src/function.js src/glyphlist.js src/image.js src/metrics.js src/obj.js src/parser.js src/pattern.js src/pdf.js src/stream.js src/util.js src/worker.js src/worker_loader.js  web/compatibility.js web/viewer.js test/driver.js examples/helloworld/hello.js extensions/firefox/bootstrap.js extensions/firefox/components/pdfContentHandler.js 
26 files checked, no errors found.

========== Cloning reference images repo into test/ref/
Initialized empty Git repository in /home/ubuntu/pdf.js-bot/tmp/tests/fcd612e4867d58ab660c10e4d855caed7f8a16b0/test/ref/.git/

========== Checking for consistency with reference repo

========== Running 'make bot_test'
Xvfb: no process found
cd test; \
    python -u test.py \
    --browserManifestFile=resources/browser_manifests/browser_manifest.json \
    --manifestFile=test_manifest.json
Launching firefox
TEST-PASS | eq test tracemonkey-eq | in firefox
TEST-PASS | forward-back-forward test tracemonkey-fbf | in firefox
TEST-PASS | load test html5-canvas-cheat-sheet-load | in firefox
TEST-PASS | load test intelisa-load | in firefox
TEST-PASS | load test pdfspec-load | in firefox
TEST-PASS | load test shavian-load | in firefox
TEST-PASS | eq test sizes | in firefox
TEST-PASS | eq test plusminus | in firefox
TEST-PASS | load test openoffice-pdf | in firefox
TEST-PASS | load test openofficecidtruetype-pdf | in firefox
TEST-PASS | load test openofficearabiccidtruetype-pdf | in firefox
TEST-PASS | load test arabiccidtruetype-pdf | in firefox
TEST-PASS | load test complexttffont-pdf | in firefox
TEST-PASS | eq test thuluthfont-pdf | in firefox
TEST-PASS | eq test freeculture | in firefox
TEST-PASS | eq test wnv_chinese-pdf | in firefox
TEST-PASS | eq test i9-pdf | in firefox
TEST-PASS | load test hmm-pdf | in firefox
TEST-PASS | eq test rotation | in firefox
TEST-PASS | load test ecma262-pdf | in firefox
TEST-PASS | load test jai-pdf | in firefox
TEST-PASS | eq test cable | in firefox
TEST-UNEXPECTED-FAIL | eq pdkids | in firefox | rendering of page 9 != reference rendering
TEST-PASS | eq test artofwar | in firefox
TEST-PASS | eq test wdsg_fitc | in firefox
TEST-PASS | eq test unix01 | in firefox
TEST-PASS | eq test fit11-talk | in firefox
TEST-PASS | eq test fips197 | in firefox
TEST-PASS | load test txt2pdf | in firefox
TEST-PASS | load test f1040 | in firefox
TEST-PASS | load test hudsonsurvey | in firefox
TEST-PASS | eq test extgstate | in firefox
TEST-PASS | eq test usmanm-bad | in firefox
TEST-PASS | load test vesta-bad | in firefox
TEST-PASS | load test scan-bad | in firefox
TEST-PASS | load test ibwa-bad | in firefox
TEST-PASS | eq test tcpdf_033 | in firefox
TEST-PASS | eq test pal-o47 | in firefox
TEST-PASS | eq test simpletype3font | in firefox
TEST-PASS | eq test close-path-bug | in firefox
TEST-PASS | eq test alphatrans | in firefox
TEST-PASS | eq test devicen | in firefox
TEST-PASS | eq test cmykjpeg | in firefox
TEST-PASS | eq test protectip | in firefox
TEST-PASS | eq test piperine | in firefox
TEST-PASS | eq test issue840 | in firefox
TEST-PASS | eq test bpl13210 | in firefox
TEST-PASS | eq test tutorial | in firefox
TEST-PASS | eq test geothermal.pdf | in firefox
TEST-PASS | eq test lista_preliminar | in firefox
TEST-PASS | eq test issue919 | in firefox

OHNOES!  Some tests failed!
  different ref/snapshot: 1
Process firefox is still running. Killing.
Runtime was 1867 seconds
./run-test: line 195:  1103 Killed                  Xvfb :1 -screen 0 1280x1024x24 > /dev/null 2> /dev/null

========== Cleaning up

All done.


_____________________________ stderr:

Bot response time: 32.10 mins

@jviereck
Copy link
Contributor

I make a review of this one.

var buf = new Uint8Array(size * components);
var tempCanvas = new ScratchCanvas(width, height);
var tempCtx = tempCanvas.getContext('2d');
tempCtx.drawImage(img, 0, 0);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At other places in the code, we use tmpCanvas and tmpCtx. Want to rename the variables tempCanvas and tempCtx?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

@jviereck
Copy link
Contributor

-MessageHandler.send() now accepts a third parameter of a callback. This allows you to send something to main thread or worker and expect a response back e.g.
m.send('do_some_work', data, function(work_result) { alert('look ma ' + worker_result });
and then on the other side of things
m.on('do_some_work', function(message) { message.reply('I did some work'); })

I like the idea of using callbacks, that make the messaging way more easier :)

However, I dislike the message object. What about this:

m.on('do_some_work', function(data) { return 'I did some work'; })

What do you think?

@jviereck
Copy link
Contributor

This patch looks pritty good - see some comments.

@brendandahl, can you add a test PDF to the unit tests to catch regressions in the future?

@brendandahl
Copy link
Contributor Author

I like the idea of using callbacks, that make the messaging way more easier :)

However, I dislike the message object. What about this:

m.on('do_some_work', function(data) { return 'I did some work'; })

What do you think?

That's interesting, that would solve the problem of a call back never being invoked. The one thing I don't like is it makes it much harder to invoke the reply at a later time. For instance say you had to wait on another callback you couldn't just pass it the message and have it reply when it was done. Still thinking...

@brendandahl
Copy link
Contributor Author

@pdfjsbot test

@pdfjsbot
Copy link

Processing command test by user brendandahl. Queue size: 0

Live script output is available (after queueing is done) at: http://184.73.87.52:8989/3115482.txt

[bot:processed:3115482]

@pdfjsbot
Copy link

ERROR(s) found

ATTENTION: There was a snapshot difference:
http://184.73.87.52:8989/tests/3f8ba7d56a7a4267c0e7c2b936b515085d9932f5/reftest-analyzer.xhtml#web=/tests/3f8ba7d56a7a4267c0e7c2b936b515085d9932f5/eq.log

Output:

========== Killing any stray processes

========== Running garbage collector in /home/ubuntu/pdf.js-bot/tmp
Collecting garbage...

========== Cloning pull request repo
Cloning into ....

========== Merging upstream into pull request clone

========== Running 'make lint'
gjslint --nojsdoc  src/canvas.js src/charsets.js src/cidmaps.js src/colorspace.js src/core.js src/crypto.js src/evaluator.js src/fonts.js src/function.js src/glyphlist.js src/image.js src/metrics.js src/obj.js src/parser.js src/pattern.js src/pdf.js src/stream.js src/util.js src/worker.js src/worker_loader.js  web/compatibility.js web/viewer.js test/driver.js examples/helloworld/hello.js extensions/firefox/bootstrap.js extensions/firefox/components/pdfContentHandler.js 
26 files checked, no errors found.

========== Cloning reference images repo into test/ref/
Initialized empty Git repository in /home/ubuntu/pdf.js-bot/tmp/tests/3f8ba7d56a7a4267c0e7c2b936b515085d9932f5/test/ref/.git/

========== Checking for consistency with reference repo

========== Running 'make bot_test'
Xvfb: no process found
cd test; \
    python -u test.py \
    --browserManifestFile=resources/browser_manifests/browser_manifest.json \
    --manifestFile=test_manifest.json
Downloading http://greenhousechallenge.org/media/item/313/38/About-Stacks.pdf
 to pdfs/aboutstacks.pdf ...done
Launching firefox
TEST-PASS | eq test tracemonkey-eq | in firefox
TEST-PASS | forward-back-forward test tracemonkey-fbf | in firefox
TEST-PASS | load test html5-canvas-cheat-sheet-load | in firefox
TEST-PASS | load test intelisa-load | in firefox
TEST-PASS | load test pdfspec-load | in firefox
TEST-PASS | load test shavian-load | in firefox
TEST-PASS | eq test sizes | in firefox
TEST-PASS | eq test plusminus | in firefox
TEST-PASS | load test openoffice-pdf | in firefox
TEST-PASS | load test openofficecidtruetype-pdf | in firefox
TEST-PASS | load test openofficearabiccidtruetype-pdf | in firefox
TEST-PASS | load test arabiccidtruetype-pdf | in firefox
TEST-PASS | load test complexttffont-pdf | in firefox
TEST-PASS | eq test thuluthfont-pdf | in firefox
TEST-PASS | eq test freeculture | in firefox
TEST-PASS | eq test wnv_chinese-pdf | in firefox
TEST-PASS | eq test i9-pdf | in firefox
TEST-PASS | load test hmm-pdf | in firefox
TEST-PASS | eq test rotation | in firefox
TEST-PASS | load test ecma262-pdf | in firefox
TEST-PASS | load test jai-pdf | in firefox
TEST-PASS | eq test cable | in firefox
TEST-UNEXPECTED-FAIL | eq pdkids | in firefox | rendering of page 9 != reference rendering
TEST-PASS | eq test artofwar | in firefox
TEST-PASS | eq test wdsg_fitc | in firefox
TEST-PASS | eq test unix01 | in firefox
TEST-PASS | eq test fit11-talk | in firefox
TEST-PASS | eq test fips197 | in firefox
TEST-PASS | load test txt2pdf | in firefox
TEST-PASS | load test f1040 | in firefox
TEST-PASS | load test hudsonsurvey | in firefox
TEST-PASS | eq test extgstate | in firefox
TEST-PASS | eq test usmanm-bad | in firefox
TEST-PASS | load test vesta-bad | in firefox
TEST-PASS | load test scan-bad | in firefox
TEST-PASS | load test ibwa-bad | in firefox
TEST-PASS | eq test tcpdf_033 | in firefox
TEST-PASS | eq test pal-o47 | in firefox
TEST-PASS | eq test simpletype3font | in firefox
TEST-PASS | eq test close-path-bug | in firefox
TEST-PASS | eq test alphatrans | in firefox
TEST-PASS | eq test devicen | in firefox
TEST-PASS | eq test cmykjpeg | in firefox
TEST-PASS | eq test protectip | in firefox
TEST-PASS | eq test piperine | in firefox
TEST-PASS | eq test issue840 | in firefox
TEST-PASS | eq test bpl13210 | in firefox
TEST-PASS | eq test tutorial | in firefox
TEST-PASS | eq test geothermal.pdf | in firefox
TEST-PASS | eq test lista_preliminar | in firefox
TEST-PASS | eq test issue919 | in firefox
WARNING: no reference snapshot ref/linux2/firefox/aboutstacks/1
TEST-PASS | eq test aboutstacks | in firefox

OHNOES!  Some tests failed!
  different ref/snapshot: 1
Process firefox is still running. Killing.
Runtime was 1881 seconds

========== Cleaning up
./run-test: line 206:  1277 Killed                  Xvfb :1 -screen 0 1280x1024x24 > /dev/null 2> /dev/null

All done.


_____________________________ stderr:

Bot response time: 32.34 mins

@brendandahl
Copy link
Contributor Author

Not working in chrome, I'll fix that.

@jviereck
Copy link
Contributor

That's interesting, that would solve the problem of a call back never being invoked. The one thing I don't like is it makes it much harder to invoke the reply at a later time. For instance say you had to wait on another callback you couldn't just pass it the message and have it reply when it was done. Still thinking...

Ahh, I see. We could check if the return value is a promise and then use value of the resolved promise to send back to the sender. Is that too much complexity?

@brendandahl
Copy link
Contributor Author

Should be working on chrome now. Chrome doesn't like the postMessage function being called without the right context.

@brendandahl brendandahl mentioned this pull request Dec 13, 2011
@brendandahl
Copy link
Contributor Author

Ahh, I see. We could check if the return value is a promise and then use value of the resolved promise to send back to the sender. Is that too much complexity?

To me that sounds a little too magic. Doing message.reply seems more explicit then letting a return handle things. Now instead of passing in a message we could pass in a promise. So instead of message.reply() you'd do promise.resolve(), but then we'd have to attach data to the promise. Or maybe m.on('do_some_work', function(data, promise) {}); where the second argument 'promise' would be optional.

Or maybe we're getting a little too abstract altogether :)

@brendandahl
Copy link
Contributor Author

Anyone else have any thoughts on the new framework stuff and if its easy enough to follow?

@jviereck
Copy link
Contributor

I like the m.on('do_some_work', function(data, promise) {}); version. This way we can pass the promise to another function and don't create our own kind of "promise" like object just for the reply-message thing.

If you think it's not worth doing the changes, we can keep what we have for now and do the refactoring later if needed.

@brendandahl
Copy link
Contributor Author

I've changed it to use promises. It was pretty easy to change and it ends up with less code overall.

@pdfjsbot test

@pdfjsbot
Copy link

Processing command test by user brendandahl. Queue size: 0

Live script output is available (after queueing is done) at: http://184.73.87.52:8989/3151599.txt

[bot:processed:3151599]

@pdfjsbot
Copy link

ERROR(s) found

ATTENTION: There was a snapshot difference:
http://184.73.87.52:8989/tests/d1f4e7c7d53308c53695ba12c048a0f9649d3512/reftest-analyzer.xhtml#web=/tests/d1f4e7c7d53308c53695ba12c048a0f9649d3512/eq.log

Output:

========== Killing any stray processes

========== Running garbage collector in /home/ubuntu/pdf.js-bot/tmp
Collecting garbage...

========== Cloning pull request repo
Cloning into ....

========== Merging upstream into pull request clone

========== Running 'make lint'
gjslint --nojsdoc  src/canvas.js src/charsets.js src/cidmaps.js src/colorspace.js src/core.js src/crypto.js src/evaluator.js src/fonts.js src/function.js src/glyphlist.js src/image.js src/metrics.js src/obj.js src/parser.js src/pattern.js src/pdf.js src/stream.js src/util.js src/worker.js src/worker_loader.js  web/compatibility.js web/viewer.js test/driver.js examples/helloworld/hello.js extensions/firefox/bootstrap.js extensions/firefox/components/pdfContentHandler.js 
26 files checked, no errors found.

========== Cloning reference images repo into test/ref/
Initialized empty Git repository in /home/ubuntu/pdf.js-bot/tmp/tests/d1f4e7c7d53308c53695ba12c048a0f9649d3512/test/ref/.git/

========== Checking for consistency with reference repo

========== Running 'make bot_test'
Xvfb: no process found
cd test; \
    python -u test.py \
    --browserManifestFile=resources/browser_manifests/browser_manifest.json \
    --manifestFile=test_manifest.json
Launching firefox
Launching chrome
TEST-PASS | eq test tracemonkey-eq | in chrome
TEST-PASS | eq test tracemonkey-eq | in firefox
TEST-PASS | forward-back-forward test tracemonkey-fbf | in chrome
TEST-PASS | load test html5-canvas-cheat-sheet-load | in chrome
TEST-PASS | forward-back-forward test tracemonkey-fbf | in firefox
TEST-PASS | load test html5-canvas-cheat-sheet-load | in firefox
TEST-PASS | load test intelisa-load | in chrome
TEST-PASS | load test intelisa-load | in firefox
TEST-PASS | load test pdfspec-load | in chrome
TEST-PASS | load test shavian-load | in chrome
TEST-UNEXPECTED-FAIL | eq sizes | in chrome | rendering of page 1 != reference rendering
TEST-PASS | eq test plusminus | in chrome
TEST-PASS | load test openoffice-pdf | in chrome
TEST-PASS | load test openofficecidtruetype-pdf | in chrome
TEST-PASS | load test openofficearabiccidtruetype-pdf | in chrome
TEST-PASS | load test arabiccidtruetype-pdf | in chrome
TEST-PASS | load test complexttffont-pdf | in chrome
TEST-PASS | eq test thuluthfont-pdf | in chrome
TEST-PASS | eq test freeculture | in chrome
TEST-PASS | eq test wnv_chinese-pdf | in chrome
TEST-PASS | eq test i9-pdf | in chrome
TEST-PASS | load test hmm-pdf | in chrome
TEST-PASS | eq test rotation | in chrome
TEST-PASS | load test ecma262-pdf | in chrome
TEST-PASS | load test jai-pdf | in chrome
TEST-PASS | eq test cable | in chrome
TEST-UNEXPECTED-FAIL | eq pdkids | in chrome | rendering of page 9 != reference rendering
TEST-PASS | eq test artofwar | in chrome
TEST-PASS | eq test wdsg_fitc | in chrome
TEST-PASS | eq test unix01 | in chrome
TEST-PASS | eq test fit11-talk | in chrome
TEST-PASS | eq test fips197 | in chrome
TEST-PASS | load test txt2pdf | in chrome
TEST-PASS | load test f1040 | in chrome
TEST-PASS | load test hudsonsurvey | in chrome
TEST-PASS | eq test extgstate | in chrome
TEST-PASS | eq test usmanm-bad | in chrome
TEST-PASS | load test vesta-bad | in chrome
TEST-PASS | load test scan-bad | in chrome
TEST-PASS | load test ibwa-bad | in chrome
TEST-PASS | eq test tcpdf_033 | in chrome
TEST-PASS | eq test pal-o47 | in chrome
TEST-PASS | eq test simpletype3font | in chrome
TEST-PASS | eq test close-path-bug | in chrome
TEST-PASS | eq test alphatrans | in chrome
TEST-PASS | eq test devicen | in chrome
TEST-PASS | eq test cmykjpeg | in chrome
TEST-PASS | eq test protectip | in chrome
TEST-PASS | eq test piperine | in chrome
TEST-PASS | eq test issue840 | in chrome
TEST-PASS | eq test bpl13210 | in chrome
TEST-PASS | load test pdfspec-load | in firefox
TEST-PASS | load test shavian-load | in firefox
TEST-PASS | eq test sizes | in firefox
TEST-PASS | eq test plusminus | in firefox
TEST-PASS | eq test tutorial | in chrome
TEST-PASS | eq test geothermal.pdf | in chrome
TEST-PASS | load test openoffice-pdf | in firefox
TEST-PASS | load test openofficecidtruetype-pdf | in firefox
TEST-PASS | load test openofficearabiccidtruetype-pdf | in firefox
TEST-PASS | eq test lista_preliminar | in chrome
TEST-PASS | load test arabiccidtruetype-pdf | in firefox
TEST-PASS | load test complexttffont-pdf | in firefox
TEST-PASS | eq test issue919 | in chrome
TEST-PASS | eq test issue918 | in chrome
TEST-PASS | eq test thuluthfont-pdf | in firefox
WARNING: no reference snapshot ref/linux2/chrome/aboutstacks/1
TEST-PASS | eq test aboutstacks | in chrome
TEST-PASS | eq test freeculture | in firefox
TEST-PASS | eq test wnv_chinese-pdf | in firefox
TEST-PASS | eq test i9-pdf | in firefox
TEST-PASS | load test hmm-pdf | in firefox
TEST-PASS | eq test rotation | in firefox
TEST-PASS | load test ecma262-pdf | in firefox
TEST-PASS | load test jai-pdf | in firefox
TEST-PASS | eq test cable | in firefox
TEST-UNEXPECTED-FAIL | eq pdkids | in firefox | rendering of page 9 != reference rendering
TEST-PASS | eq test artofwar | in firefox
TEST-PASS | eq test wdsg_fitc | in firefox
TEST-PASS | eq test unix01 | in firefox
TEST-PASS | eq test fit11-talk | in firefox
TEST-PASS | eq test fips197 | in firefox
TEST-PASS | load test txt2pdf | in firefox
TEST-PASS | load test f1040 | in firefox
TEST-PASS | load test hudsonsurvey | in firefox
TEST-PASS | eq test extgstate | in firefox
TEST-PASS | eq test usmanm-bad | in firefox
TEST-PASS | load test vesta-bad | in firefox
TEST-PASS | load test scan-bad | in firefox
TEST-PASS | load test ibwa-bad | in firefox
TEST-PASS | eq test tcpdf_033 | in firefox
TEST-PASS | eq test pal-o47 | in firefox
TEST-PASS | eq test simpletype3font | in firefox
TEST-PASS | eq test close-path-bug | in firefox
TEST-PASS | eq test alphatrans | in firefox
TEST-PASS | eq test devicen | in firefox
TEST-PASS | eq test cmykjpeg | in firefox
TEST-PASS | eq test protectip | in firefox
TEST-PASS | eq test piperine | in firefox
TEST-PASS | eq test issue840 | in firefox
TEST-PASS | eq test bpl13210 | in firefox
TEST-PASS | eq test tutorial | in firefox
TEST-PASS | eq test geothermal.pdf | in firefox
TEST-PASS | eq test lista_preliminar | in firefox
TEST-PASS | eq test issue919 | in firefox
TEST-PASS | eq test issue918 | in firefox
WARNING: no reference snapshot ref/linux2/firefox/aboutstacks/1
TEST-PASS | eq test aboutstacks | in firefox

OHNOES!  Some tests failed!
  different ref/snapshot: 3
Process firefox is still running. Killing.
Runtime was 1950 seconds

========== Cleaning up
./run-test: line 206:  3961 Killed                  Xvfb :1 -screen 0 1280x1024x24 > /dev/null 2> /dev/null

All done.


_____________________________ stderr:

Bot response time: 33.58 mins

@brendandahl
Copy link
Contributor Author

Not sure why chrome sizes fails, seems to be working fine locally.

var imgData = this.objs.get(objId);
if (!imgData) {
error('Dependent image isn\'t ready yet');
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to be consistent with code below, the braces shall be removed

@notmasteryet
Copy link
Contributor

the nit with the braces can be applied with future fixes (base on IRC's "is starting to get a back log of smask fixes branched from that branch")

@pdfjsbot makeref

@pdfjsbot
Copy link

Processing command makeref by user notmasteryet. Queue size: 1

Live script output is available (after queueing is done) at: http://184.73.87.52:8989/3154690.txt

[bot:processed:3154690]

@pdfjsbot
Copy link

References generated

Images pushed to /home/ubuntu/pdf.js-ref

Output:

========== Killing any stray processes

========== Running garbage collector in /home/ubuntu/pdf.js-bot/tmp
Collecting garbage...

========== Cloning pull request repo
Cloning into ....

========== Merging upstream into pull request clone

========== Running 'make lint'
gjslint --nojsdoc  src/canvas.js src/charsets.js src/cidmaps.js src/colorspace.js src/core.js src/crypto.js src/evaluator.js src/fonts.js src/function.js src/glyphlist.js src/image.js src/metrics.js src/obj.js src/parser.js src/pattern.js src/pdf.js src/stream.js src/util.js src/worker.js src/worker_loader.js  web/compatibility.js web/viewer.js test/driver.js examples/helloworld/hello.js extensions/firefox/bootstrap.js extensions/firefox/components/pdfContentHandler.js 
26 files checked, no errors found.

========== Running 'make bot_master'
Xvfb: no process found
cd test && \
    python -u test.py \
    --masterMode \
    --noPrompts \
    --browserManifestFile=resources/browser_manifests/browser_manifest.json
Launching firefox
Launching chrome
TEST-PASS | eq test tracemonkey-eq | in chrome
TEST-PASS | eq test tracemonkey-eq | in firefox
TEST-PASS | forward-back-forward test tracemonkey-fbf | in chrome
TEST-PASS | load test html5-canvas-cheat-sheet-load | in chrome
TEST-PASS | forward-back-forward test tracemonkey-fbf | in firefox
TEST-PASS | load test html5-canvas-cheat-sheet-load | in firefox
TEST-PASS | load test intelisa-load | in chrome
TEST-PASS | load test intelisa-load | in firefox
TEST-PASS | load test pdfspec-load | in chrome
TEST-PASS | load test shavian-load | in chrome
TEST-PASS | eq test sizes | in chrome
TEST-PASS | eq test plusminus | in chrome
TEST-PASS | load test openoffice-pdf | in chrome
TEST-PASS | load test openofficecidtruetype-pdf | in chrome
TEST-PASS | load test openofficearabiccidtruetype-pdf | in chrome
TEST-PASS | load test arabiccidtruetype-pdf | in chrome
TEST-PASS | load test complexttffont-pdf | in chrome
TEST-PASS | eq test thuluthfont-pdf | in chrome
TEST-PASS | eq test freeculture | in chrome
TEST-PASS | eq test wnv_chinese-pdf | in chrome
TEST-PASS | eq test i9-pdf | in chrome
TEST-PASS | load test hmm-pdf | in chrome
TEST-PASS | eq test rotation | in chrome
TEST-PASS | load test ecma262-pdf | in chrome
TEST-PASS | load test jai-pdf | in chrome
TEST-PASS | eq test cable | in chrome
TEST-PASS | eq test pdkids | in chrome
TEST-PASS | eq test artofwar | in chrome
TEST-PASS | eq test wdsg_fitc | in chrome
TEST-PASS | eq test unix01 | in chrome
TEST-PASS | eq test fit11-talk | in chrome
TEST-PASS | eq test fips197 | in chrome
TEST-PASS | load test txt2pdf | in chrome
TEST-PASS | load test f1040 | in chrome
TEST-PASS | load test hudsonsurvey | in chrome
TEST-PASS | eq test extgstate | in chrome
TEST-PASS | eq test usmanm-bad | in chrome
TEST-PASS | load test vesta-bad | in chrome
TEST-PASS | load test scan-bad | in chrome
TEST-PASS | load test ibwa-bad | in chrome
TEST-PASS | eq test tcpdf_033 | in chrome
TEST-PASS | eq test pal-o47 | in chrome
TEST-PASS | eq test simpletype3font | in chrome
TEST-PASS | eq test close-path-bug | in chrome
TEST-PASS | eq test alphatrans | in chrome
TEST-PASS | eq test devicen | in chrome
TEST-PASS | eq test cmykjpeg | in chrome
TEST-PASS | eq test protectip | in chrome
TEST-PASS | eq test piperine | in chrome
TEST-PASS | eq test issue840 | in chrome
TEST-PASS | eq test bpl13210 | in chrome
TEST-PASS | load test pdfspec-load | in firefox
TEST-PASS | load test shavian-load | in firefox
TEST-PASS | eq test tutorial | in chrome
TEST-PASS | eq test geothermal.pdf | in chrome
TEST-PASS | eq test sizes | in firefox
TEST-PASS | eq test lista_preliminar | in chrome
TEST-PASS | eq test plusminus | in firefox
TEST-PASS | load test openoffice-pdf | in firefox
TEST-PASS | eq test issue919 | in chrome
TEST-PASS | eq test issue918 | in chrome
TEST-PASS | load test openofficecidtruetype-pdf | in firefox
TEST-PASS | load test openofficearabiccidtruetype-pdf | in firefox
TEST-PASS | eq test aboutstacks | in chrome
TEST-PASS | load test arabiccidtruetype-pdf | in firefox
TEST-PASS | load test complexttffont-pdf | in firefox
TEST-PASS | eq test thuluthfont-pdf | in firefox
TEST-PASS | eq test freeculture | in firefox
TEST-PASS | eq test wnv_chinese-pdf | in firefox
TEST-PASS | eq test i9-pdf | in firefox
TEST-PASS | load test hmm-pdf | in firefox
TEST-PASS | eq test rotation | in firefox
TEST-PASS | load test ecma262-pdf | in firefox
TEST-PASS | load test jai-pdf | in firefox
TEST-PASS | eq test cable | in firefox
TEST-PASS | eq test pdkids | in firefox
TEST-PASS | eq test artofwar | in firefox
TEST-PASS | eq test wdsg_fitc | in firefox
TEST-PASS | eq test unix01 | in firefox
TEST-PASS | eq test fit11-talk | in firefox
TEST-PASS | eq test fips197 | in firefox
TEST-PASS | load test txt2pdf | in firefox
TEST-PASS | load test f1040 | in firefox
TEST-PASS | load test hudsonsurvey | in firefox
TEST-PASS | eq test extgstate | in firefox
TEST-PASS | eq test usmanm-bad | in firefox
TEST-PASS | load test vesta-bad | in firefox
TEST-PASS | load test scan-bad | in firefox
TEST-PASS | load test ibwa-bad | in firefox
TEST-PASS | eq test tcpdf_033 | in firefox
TEST-PASS | eq test pal-o47 | in firefox
TEST-PASS | eq test simpletype3font | in firefox
TEST-PASS | eq test close-path-bug | in firefox
TEST-PASS | eq test alphatrans | in firefox
TEST-PASS | eq test devicen | in firefox
TEST-PASS | eq test cmykjpeg | in firefox
TEST-PASS | eq test protectip | in firefox
TEST-PASS | eq test piperine | in firefox
TEST-PASS | eq test issue840 | in firefox
TEST-PASS | eq test bpl13210 | in firefox
TEST-PASS | eq test tutorial | in firefox
TEST-PASS | eq test geothermal.pdf | in firefox
TEST-PASS | eq test lista_preliminar | in firefox
TEST-PASS | eq test issue919 | in firefox
TEST-PASS | eq test issue918 | in firefox
TEST-PASS | eq test aboutstacks | in firefox

All tests passed.
Process firefox is still running. Killing.
Runtime was 1955 seconds
Some eq tests failed or didn't have snapshots.
Checking to see if master references can be updated...
  Yes!  The references in tmp/ can be synced with ref/.
  Updating ref/ ... done

========== Pushing new snapshots to reference repo
Initialized empty Git repository in /home/ubuntu/pdf.js-bot/tmp/tests/d1f4e7c7d53308c53695ba12c048a0f9649d3512/test/ref_repo/.git/
./run-makeref: line 190:  4511 Killed                  Xvfb :1 -screen 0 1280x1024x24 > /dev/null 2> /dev/null  (wd: ~/pdf.js-bot/tmp/tests/d1f4e7c7d53308c53695ba12c048a0f9649d3512)
Initialized empty Git repository in /home/ubuntu/pdf.js-bot/tmp/tests/d1f4e7c7d53308c53695ba12c048a0f9649d3512/test/ref_repo/.git/
To /home/ubuntu/pdf.js-ref
 + 4afbdec...c068c76 master -> master (forced update)

========== Cleaning up

All done.


_____________________________ stderr:

Bot response time: 46.07 mins

notmasteryet added a commit that referenced this pull request Dec 15, 2011
Soft Masks for Natively Supported(decoded by browser) JPEGs
@notmasteryet notmasteryet merged commit f8a38de into mozilla:master Dec 15, 2011
yurydelendik added a commit to yurydelendik/pdf.js that referenced this pull request May 2, 2014
yurydelendik added a commit that referenced this pull request May 5, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CR: TypeError: data is undefined
4 participants