Commit Graph

480 Commits

Author SHA1 Message Date
Niklas von Hertzen
cb43e09899 refactor parsing 2012-12-30 01:39:37 +02:00
Niklas von Hertzen
bb1cd21367 refactored background color rendering 2012-12-30 01:11:05 +02:00
Niklas von Hertzen
5faa45847e refactored image rendering 2012-12-30 01:06:11 +02:00
Niklas von Hertzen
0c2572b5ce refactoring 2012-12-30 00:27:38 +02:00
Niklas von Hertzen
aa5b3d41c4 refactoring 2012-12-29 23:35:52 +02:00
Niklas von Hertzen
516edbceea Improve background-repeat accuracy for non int positions 2012-12-29 23:05:49 +02:00
Niklas von Hertzen
c72a02bf64 refactoring 2012-12-29 21:06:40 +02:00
Niklas von Hertzen
c3e9636e4f Moved renderer logic to renderer.js 2012-12-29 17:43:15 +02:00
Niklas von Hertzen
07e80df399 Fixed lint error 2012-12-29 14:33:30 +02:00
Andy Edinborough
7e38df782c don't generate gradient on invisible elements 2012-12-28 16:52:48 -06:00
Andy Edinborough
7f1cbc70a8 fully remove regex; simplify whitespace check
jshint complained about case statements w/o break (boo)
2012-12-28 16:26:39 -06:00
Andy Edinborough
b81d7473e3 rewrite parseBackgroundImage to remove RegExp
RegExp couldn't handle parens inside parens:
linear-gradient(rgb(0,0,0),rgb(255,0,0))
2012-12-28 16:22:43 -06:00
Andy Edinborough
d7bef66cc5 export html2canvas, pass value not def to backgroundImage 2012-12-28 15:49:38 -06:00
Andy Edinborough
04782c1716 parse out prefixed methods 2012-12-28 12:54:58 -06:00
Andy Edinborough
a4b7d04e80 move parseBackgroundImage to Util; add tests 2012-12-28 12:33:57 -06:00
Andy Edinborough
62cb111956 style update 2012-12-28 12:24:49 -06:00
Andy Edinborough
3171390f80 satisfy lint task 2012-12-28 12:12:47 -06:00
Andy Edinborough
8fe61a43b0 initial support for multiple background images
Adding code from http://jsbin.com/ebigux/latest
2012-12-28 11:53:15 -06:00
Niklas von Hertzen
4e978c60cc formatted tests into smaller units 2012-12-27 23:53:27 +02:00
Niklas von Hertzen
c9ed8d91fa updated renderer 2012-12-27 23:07:00 +02:00
Niklas von Hertzen
4684177df8 fix ie 9 bug 2012-12-27 23:06:35 +02:00
Niklas von Hertzen
d6ddb7e29d Added automated testing with selenium 2012-12-22 16:28:34 +02:00
Niklas von Hertzen
76aa1e8feb moved examples 2012-11-25 23:48:08 +02:00
Niklas von Hertzen
2841f19647 List refactoring 2012-11-25 23:36:28 +02:00
Niklas von Hertzen
c6baabc99c Text rendering refactoring 2012-11-25 23:26:18 +02:00
Niklas von Hertzen
44023015b6 Refactoring 2012-11-25 23:05:30 +02:00
Niklas von Hertzen
bca6458301 Clean up 2012-11-25 22:39:09 +02:00
Niklas von Hertzen
7c0b893564 Added support for "data-html2canvas-ignore" attribute 2012-11-25 22:25:08 +02:00
Niklas von Hertzen
084bf4b039 Switched build process to use grunt 2012-11-25 20:59:31 +02:00
Vladimir Panteleev
1b81f7d517 Accept 0px as an acceptable letter-spacing value for per-word rendering
This improves performance in Opera.
2012-10-20 22:18:46 +03:00
Vladimir Panteleev
3164e5bae0 Don't create zero-width text node after each render
This fixes rendering the same node getting slower each time
when using Opera.
2012-10-20 22:15:58 +03:00
Niklas von Hertzen
730ebcfcaa border-radius parsing 2012-06-26 17:18:34 +03:00
Niklas von Hertzen
cce6e3537c corrected border drawing with multiple colors
initial code for border-radius implemented
2012-06-26 15:15:46 +03:00
Niklas von Hertzen
d6cb548a5c updated to version 0.34 2012-06-26 01:35:11 +03:00
Niklas von Hertzen
1ba911912d fixed firefox iframe permission error 2012-06-26 01:30:45 +03:00
Niklas von Hertzen
343b86705f removed last jQuery dependencies
should be fully jQuery free now!
2012-06-26 01:17:03 +03:00
Niklas von Hertzen
9f76f94a82 fix jQuery noconflict 2012-06-13 13:56:01 +03:00
Benjamin Lupton
1059314258 Added a sublime-project file for Sublime Text 2 that contains the detected linting and standards set. Allows Sublime Text 2 to automatically follow the standards and have live linting enabled. Trimmed useless whitespace. 2012-05-29 11:26:26 +10:00
Niklas von Hertzen
8d3a0c2b0d cache computed style 2012-05-24 14:10:40 +03:00
Bdkzero
a5969be6f6 Fixed custom renderer option 2012-04-23 23:04:23 +02:00
Paolo
cfc45e4f6e Fixed image rendering in SVG renderer 2012-04-17 10:58:14 +02:00
Paolo
8d965029da Fixed support for other Renderers other than Canvas 2012-04-17 10:57:25 +02:00
Niklas von Hertzen
1ad7ed3e1c Merge pull request #77 from SunboX/background-gradients
ellipse gradient generation should now work
2012-03-14 03:38:05 -07:00
Obexer Christoph
b47347d6b8 fixed a few undefined references, fixed missing files in a few places 2012-03-12 07:37:18 +01:00
André Fiedler
106b5ff214 "fixed circle gradient generation - image loading bug" 2012-03-11 17:12:24 +00:00
André Fiedler
d1dec8712e "added ellipse background gradient generation" 2012-03-10 15:31:16 +00:00
André Fiedler
fe4d2c5b81 "added TODO" 2012-03-10 14:28:09 +00:00
André Fiedler
6cf3d36624 "added TODO" 2012-03-09 23:27:22 +00:00
André Fiedler
4dc4132818 "removed TODO" 2012-03-09 23:26:23 +00:00
André Fiedler
1ab9941df6 "big performance boost ;o)" 2012-03-09 23:23:17 +00:00
André Fiedler
0fc5f643ba "cleanup" 2012-03-09 23:20:46 +00:00
André Fiedler
c7995061c9 "added TODO" 2012-03-09 23:11:01 +00:00
André Fiedler
12cf519e37 "some cleanup" 2012-03-09 23:09:16 +00:00
André Fiedler
40bce5e84c "added -o-radial-gradient support" 2012-03-09 23:05:42 +00:00
André Fiedler
0556892e12 "added -moz-radial-gradient support" 2012-03-09 22:58:32 +00:00
André Fiedler
155ad45292 "added -webkit-radial-gradient support" 2012-03-09 22:20:34 +00:00
Niklas von Hertzen
0d35571bbf Merge branch 'color-stops' of https://github.com/SunboX/html2canvas.git 2012-03-08 11:35:12 +02:00
André Fiedler
6390c1c7ac "center gradient BugFix" 2012-03-07 18:20:09 +00:00
André Fiedler
a0b498fbf5 "added TODO" 2012-03-06 21:50:09 +00:00
André Fiedler
cde96bb17e "added TODO´s" 2012-03-06 21:45:38 +00:00
André Fiedler
57bff5292d "added contributors" 2012-03-06 21:41:22 +00:00
André Fiedler
82446ee3c3 "cleanup" 2012-03-06 21:36:29 +00:00
André Fiedler
ffd998b015 "-o-linear-gradient parsing" 2012-03-06 21:26:43 +00:00
André Fiedler
51b2c01b0c "-moz-linear-gradient parsing" 2012-03-06 21:11:01 +00:00
Niklas von Hertzen
c08ac5d0c4 add svg powered rendering 2012-03-06 17:11:10 +02:00
Niklas von Hertzen
59306c839b Merge branch 'master' of https://github.com/niklasvh/html2canvas.git 2012-03-06 14:37:28 +02:00
Niklas von Hertzen
5fb8cb3e0b reverting back to jQuery.contents() 2012-03-06 14:35:33 +02:00
Niklas von Hertzen
67d3e0d0f5 first commit for SVG powered rendering 2012-03-06 14:32:45 +02:00
André Fiedler
f387267c0f "TODO: implement radial gradient generation" 2012-03-05 23:22:01 +00:00
André Fiedler
163219b656 "added -webkit-gradient parsing + tests" 2012-03-05 23:03:36 +00:00
André Fiedler
a4f13de455 "renamed getColorStopsFromGradient to parseGradient" 2012-03-05 22:21:28 +00:00
André Fiedler
75ba867988 "added tests for getColorStopsFromGradient" 2012-03-05 21:04:25 +00:00
André Fiedler
ae8d499942 "small bugfix" 2012-03-05 19:37:54 +00:00
André Fiedler
e479c952f7 "added another background gradient to backgrounds.html" 2012-03-05 19:33:52 +00:00
André Fiedler
6637ba1bd7 "-webkit-linear-gradient color stops and rendering" 2012-03-05 19:20:44 +00:00
Obexer Christoph
cfde57cb9f some whitespace/warning cleanup 2012-03-05 07:56:45 +01:00
Obexer Christoph
0674543ab1 cleanup event handers of image objects after use 2012-03-05 07:54:42 +01:00
Niklas von Hertzen
8a5b09be70 gradient check fix 2012-03-04 21:20:22 +02:00
Niklas von Hertzen
7a3ca77471 few bug fixes to getCSS and unit tests 2012-03-04 21:16:18 +02:00
Niklas von Hertzen
3d7a6374ad bug fixes 2012-03-03 21:03:59 +02:00
Niklas von Hertzen
4579fb25c6 removed jQuery.css dependancy and few general CSS bug fixes 2012-03-03 19:18:39 +02:00
Niklas von Hertzen
946bdef0d4 Merge pull request #67 from cobexer/some-fixes
Some fixes
2012-03-03 06:42:46 -08:00
Niklas von Hertzen
b60fc931b5 moved backgroundPosition to utils 2012-03-03 16:39:52 +02:00
Obexer Christoph
38fe643b25 clear the canvas with the documentElement background color
see tests/background.html
2012-03-03 15:07:14 +01:00
Niklas von Hertzen
7726cd9f39 updated test.js to allow options 2012-03-03 00:52:46 +02:00
Niklas von Hertzen
0b065ad5d8 bug fixes 2012-03-02 21:53:20 +02:00
Niklas von Hertzen
ec881018b3 capitalized name 2012-03-02 21:25:08 +02:00
Niklas von Hertzen
f83fb59053 fix naming 2012-03-02 21:24:21 +02:00
Niklas von Hertzen
94f2f799a4 Split renderers to their own objects 2012-03-02 20:35:48 +02:00
Niklas von Hertzen
cad3be2c66 bug fixes, and further simplification of API 2012-03-02 19:07:15 +02:00
Niklas von Hertzen
c7d526c9ea simplified API and cleaned up code 2012-03-02 18:05:03 +02:00
Niklas von Hertzen
bf994849e0 bug fixes for body background & firefox font 2012-03-02 14:43:25 +02:00
Niklas von Hertzen
2dc8b9385e SVG taint fix, and additional taint testing options 2012-03-01 22:31:51 +02:00
Niklas von Hertzen
6ef6c79f24 todo update proxy 2012-03-01 19:51:07 +02:00
Niklas von Hertzen
3ad49efa00 added support for CORS images and option to create canvas as tainted 2012-03-01 19:44:25 +02:00
Niklas von Hertzen
c86d12b915 test if canvas has become tainted 2012-03-01 18:44:52 +02:00
Niklas von Hertzen
1447b031c6 html2canvas -> h2clog 2012-02-28 12:40:44 +02:00
Niklas von Hertzen
e01d97df19 fixed an instance of html2canvas.log to h2clog 2012-02-28 12:39:38 +02:00
Obexer Christoph
b6d6f44678 make FlashCanvas check closure compiler friendly 2012-02-26 23:04:46 +01:00
Obexer Christoph
c24223ca85 renamed html2canvas.log to h2clog (minifies better)
renamed the html2canvas.canvasContext to h2cRenderContext,
it's used by both backends and thus not canvas specific
2012-02-26 22:57:22 +01:00
Obexer Christoph
b82be022b2 build: improve minification, more verbose 2012-02-26 22:30:34 +01:00
Obexer Christoph
afc358fb12 fix image loaded through the proxy hanging the preload process
images loaded through the proxy could hang the preload process if
they finish loading through the proxy but then fail to decode
and thus don't call the onload handler of the image object.
2012-02-26 13:14:16 +01:00
Niklas von Hertzen
b65357c55d added flashcanvas integration and some legacy IE bug fixes 2012-02-26 00:19:16 +02:00
Niklas von Hertzen
0cb252ada9 add support for selecting single elements to render 2012-02-20 17:16:57 +02:00
Niklas von Hertzen
83363a5cf4 Merge branch 'fix-warnings' of https://github.com/cobexer/html2canvas.git 2012-02-20 16:43:16 +02:00
Niklas von Hertzen
96db0b8ff4 Merge pull request #55 from cobexer/profiling
jquery.plugin.html2canvas: add profiling option, tests: enable profiling
2012-02-20 05:36:36 -08:00
Obexer Christoph
36ff1ec7aa fix warnings reported by the closure compiler 2012-02-18 23:01:18 +01:00
Obexer Christoph
014c0ed98f add a note about NoScript's ABE, small fix 2012-02-18 22:50:11 +01:00
Obexer Christoph
db211317ff draft for a bookmarklet to screenshot any page
primarily intended to do debugging/testing
2012-02-14 20:13:08 +01:00
Obexer Christoph
bbd75286a8 jquery.plugin.html2canvas: add profiling option, tests: enable profiling
in case you run the tests in firefox and have firebug installed and
active you now get a profiling run of html2canvas ;)
2012-02-04 15:32:09 +01:00
Obexer Christoph
594f735d29 faster imeplementation of 0d370d09f
also added try/catch around that addColourStop call
because trowing an exception and failing to finish
the rendering is not nice...
2011-12-21 23:06:09 +01:00
Obexer Christoph
447db0c5f5 added logs for used renderer 2011-12-21 23:01:48 +01:00
Obexer Christoph
50f5f53e2b cleanup jquery.plugin.html2canvas.js; correctly pass the logging option 2011-12-21 22:59:44 +01:00
Obexer Christoph
2fdab0d753 disable logging by default 2011-12-17 20:05:20 +01:00
Obexer Christoph
0d8937435d fix crash if an img tag has no src, fix undefined variables 2011-12-17 19:50:27 +01:00
Guido Tapia
0d370d09fb This fixes an exception when trying to parse gradient like: 'rgb(254, 254, 254) 0%, rgb(236, 236, 236) 100%'
Note: This does not parse the % which would be good to delineate steps correctly, just a fix for an Exception.
2011-12-07 09:53:40 +11:00
Niklas von Hertzen
88174fe136 IE fix 2011-11-27 04:33:41 +02:00
Niklas von Hertzen
1c6469d29b IE origin fix 2011-11-26 21:29:46 +02:00
Niklas von Hertzen
501f559783 Merge pull request #31 from cobexer/add-render-canvas-support
add support to render a canvas element to the screenshot
2011-11-26 10:18:37 -08:00
Niklas von Hertzen
f75456cc88 Merge pull request #33 from cobexer/fix-jpeg-export
clear canvas before rendering to allow jpeg export
2011-11-26 10:17:35 -08:00
Niklas von Hertzen
961f6caf21 Merge pull request #34 from cobexer/rewrite-image-handling
rewrote image handling from using an array to an object
2011-11-26 10:15:40 -08:00
Obexer Christoph
73763c8114 rewrote image handling from using an array to an object
The image loading done in Preload.js used an array to store
image src and image object as 2 consecutive entries in that
array. Using the src as an index in a hash allows direct
instead of a linear search and also allows to store more data.

 * improved cleanup of images loaded with the proxy

 * this also adds a timeout for the image loading phase, after that
   running image requests are aborted and the rendering is started
2011-11-26 18:09:25 +01:00
Obexer Christoph
1f7314747e instead of scrolling the view on every Bounds() call, do it only once 2011-11-26 18:06:56 +01:00
Obexer Christoph
4f49bd6e9b accessing nodeType may throw an exception 2011-11-26 18:06:56 +01:00
Obexer Christoph
217a75c0f6 fix permission denied access on inner iFrame (crossDomain) 2011-11-26 18:06:55 +01:00
Obexer Christoph
62fa6038e7 fix script error in html2canvas.Util.getCSS 2011-11-26 18:06:55 +01:00
Obexer Christoph
66d328d1e3 make sure the image used for the detection of the underline is positioned correctly 2011-11-26 18:06:55 +01:00
Obexer Christoph
2ec7fda1f1 replaced external image http://html2canvas.hertzen.com/images/8.jpg with data URI 2011-11-26 18:06:55 +01:00
Obexer Christoph
044b612d6e clear canvas before rendering to allow jpeg export
* normally when exporting jpeg any pixel that was transparent
   becomes black, make them white
 * check for window.console.log before use (avoid crash)
 * html2canvas.Parse: fix missing call to html2canvas.Util.Extend for the
   given options
2011-11-26 17:38:57 +01:00
Obexer Christoph
4aba46e247 fix origin check in IE 2011-11-26 17:38:11 +01:00
Obexer Christoph
91ac445fdf add support to render a canvas element to the screenshot 2011-11-26 17:34:19 +01:00
Niklas von Hertzen
2a3d6a0a35 Merge pull request #30 from cobexer/build-improvements
Build improvements
2011-11-16 01:10:07 -08:00
Obexer Christoph
16c74d1f8c Improve build system: read version from version.txt, fix build without compiler
* read the version from version.txt
 * set default target to build
 * added dependencies to all targets
 * allow the build to run without a local copy of the closure compiler
 * updated license header with @VERSION@ which will be replaced during the build
 * added the license header to all files (that one will be stripped out by the closure compiler)
2011-11-16 00:36:06 +01:00
Guido Tapia
7ee7d7fa67 It is possible for image tags not to have a 'src' (or background-image) attribute specified. This case currently crashes html2canvas. I know its an edge case but it bit me. I set the image src programatically much later (element is actually not visible at the time I call html2canvas). 2011-11-15 16:07:05 +11:00
Keith Hoffmann
2ca4b88702 Fixed a width/height issue that caused smaller elements to render full body width. 2011-10-14 00:47:17 -05:00
Niklas von Hertzen
ff635115dc Enabled list-style-type's for position inside 2011-09-13 17:25:51 +03:00
Niklas von Hertzen
a75f41c076 Merge remote branch 'upstream/master' 2011-09-13 17:09:42 +03:00
Niklas von Hertzen
6dfb5299c9 Added list support 2011-09-13 17:09:33 +03:00
The Brain
52150b09cd Fixed webkit-gradient regular expr 2011-09-13 09:59:12 +03:00
Niklas von Hertzen
6fe3218b50 Added some support for CSS gradients (by cthackers) 2011-09-12 23:50:43 +03:00
Niklas von Hertzen
f0112ff3ab merged from dev 2011-09-12 21:39:28 +03:00
Niklas von Hertzen
27ee971bba merged from dev 2011-09-12 21:35:37 +03:00
Oleksiy Nesterov
7145d9303d Edited src/Images.js via GitHub 2011-08-23 05:53:07 +03:00
Niklas von Hertzen
1c44b94817 Added support for some list-style-type's with list-style-position: inside 2011-08-11 22:43:42 +03:00
Niklas von Hertzen
6fe937eb66 fixed IE 9 text issues 2011-08-11 16:19:42 +03:00
Niklas von Hertzen
be241066ce cleanup 2011-08-11 15:35:02 +03:00
Niklas von Hertzen
dcd2a03f79 fixed fatal error with multiple background images 2011-08-11 15:32:20 +03:00
Niklas von Hertzen
d8b4398278 rewrote z-index ordering logic 2011-08-02 21:07:51 +03:00
Niklas von Hertzen
29b580dbb7 added support for form element text value rendering 2011-07-29 22:55:01 +03:00
Niklas von Hertzen
78e1f9829f fixed z-index ordering bug with backgrounds 2011-07-29 19:22:38 +03:00
Niklas von Hertzen
2bf4724c2a updated version 2011-07-28 21:23:52 +03:00
Niklas von Hertzen
d5c443a14c fixed few minor bugs, added some support for overflow (hidden|scroll|auto) 2011-07-28 21:22:13 +03:00
Niklas von Hertzen
9d04b0bbec added support for proxys, fixed a lot of background position issues, added test console 2011-07-21 03:12:17 +03:00
Niklas von Hertzen
d04e1d87dd added storageReady event handler call 2011-07-18 22:45:25 +03:00
Niklas von Hertzen
7b68a46d52 fixed font-weight normal issue for IE 2011-07-18 22:45:11 +03:00
Niklas von Hertzen
bb907efb75 Added more logging and all renderers 2011-07-18 22:43:52 +03:00
Niklas von Hertzen
0fd3ba1533 added storageReady event handler 2011-07-18 22:43:23 +03:00
Niklas von Hertzen
24b096e113 fixed logger 2011-07-18 22:43:07 +03:00
Niklas von Hertzen
7ac9042f33 minor fix for text positioning 2011-07-18 19:21:55 +03:00
Niklas von Hertzen
f8012224f9 added performance boost for text rendering for Chrome & Firefox,
while retainining compatibility with Opera & custom text settings.
2011-07-18 15:57:21 +03:00
Niklas von Hertzen
ea966da911 IE array indexOf fixes 2011-07-18 13:19:46 +03:00
Niklas von Hertzen
924cd96ab6 re-enabled bound measurement type checking, working for Opera now. 2011-07-18 13:19:34 +03:00
Niklas von Hertzen
9134d7067c added break functionality to each and IE fallback for Array indexOf 2011-07-18 13:18:58 +03:00
Niklas von Hertzen
a9cfbd60a7 Added canvasRenderer 2011-07-18 13:18:29 +03:00
Niklas von Hertzen
a1889cd702 moved border drawing to Borders.js 2011-07-18 13:17:45 +03:00
Niklas von Hertzen
9c595dde0f IE fix for background-position 2011-07-18 13:16:55 +03:00
Niklas von Hertzen
630b435767 support for opacity 2011-07-18 00:59:36 +03:00
Niklas von Hertzen
3c4581b5c4 Skipping visibility:hidden and display:none elements 2011-07-18 00:39:56 +03:00
Niklas von Hertzen
a27290caae added support for font-variant 2011-07-17 23:52:11 +03:00
Niklas von Hertzen
1192795bd5 updated version to 0.20 2011-07-17 23:28:28 +03:00
Niklas von Hertzen
531d075c8c added rendering stacks, queues and support z-index positioning 2011-07-17 23:27:45 +03:00
Niklas von Hertzen
45381454b4 Added timer/statistics for rendering 2011-07-17 02:42:45 +03:00
Niklas von Hertzen
ead984a1f1 fixed image search for iframes + added default content for iframes and flash content 2011-07-17 02:19:26 +03:00
Niklas von Hertzen
4e19e99756 fixed background-repeat / background-position problem in IE9 and Opera 2011-07-17 01:34:34 +03:00
Niklas von Hertzen
b6bb64e06d fixed typo 2011-07-17 01:34:01 +03:00
Niklas von Hertzen
5c037b67d6 fixed a few image issues related to padding and borders 2011-07-17 00:13:01 +03:00
Niklas von Hertzen
5c36f6aff0 fixed text draw issue for opera 2011-07-16 23:56:49 +03:00
Niklas von Hertzen
ba0306af49 added support for font-metrics, to find baseline information for text (text-decoration:underline) 2011-07-16 22:35:06 +03:00
Niklas von Hertzen
d1626c546b text-decoration fix 2011-07-16 22:34:21 +03:00
Niklas von Hertzen
adc30b6361 split files & created build file 2011-07-16 19:59:15 +03:00