Niklas von Hertzen
f517a35781
Clone and render canvas content correctly
2014-09-27 18:00:14 +03:00
Niklas von Hertzen
3f3424e49c
Fix: Render background-size correctly with no-repeat #447
2014-09-27 17:02:46 +03:00
Niklas von Hertzen
1d8a316f13
Correctly handle overflow content
2014-09-27 16:54:53 +03:00
Niklas von Hertzen
b1f948bb60
Fix z-index stacking with fixed position
2014-09-21 11:44:11 +03:00
Niklas von Hertzen
24d9a22556
Correctly apply canvas background color
2014-09-21 11:24:20 +03:00
Niklas von Hertzen
7ee2f411b0
Continue render with failed svg images
2014-09-20 21:54:03 +03:00
Niklas von Hertzen
0a7df6d9b9
Correctly use native rendering with inline <svg> nodes if possible
2014-09-20 20:21:25 +03:00
Niklas von Hertzen
70241a789d
Fallback to jsonp proxy if browser doesn't support cors xhr/image
2014-09-20 19:53:22 +03:00
Niklas von Hertzen
3b8d4dece2
Use correct window size for cloned iframe
2014-09-20 18:01:57 +03:00
Niklas von Hertzen
e80fe312ee
Merge branch 'fix-doc-measurements' of https://github.com/ddrscott/html2canvas into ddrscott-fix-doc-measurements
...
Conflicts:
dist/html2canvas.js
dist/html2canvas.min.js
src/core.js
2014-09-20 17:40:09 +03:00
Niklas von Hertzen
b141c9f0d1
Begin implementing cross-origin iframes
2014-09-20 17:36:15 +03:00
Niklas von Hertzen
d4c9a41873
Add preliminary support for same-origin iframes
2014-09-16 20:12:13 +03:00
Niklas von Hertzen
6347e7f043
Use correct document context for canvas render
2014-09-14 20:14:38 +03:00
Niklas von Hertzen
9d088fa431
Use punycode to parse unicode characters correctly
2014-09-14 19:32:26 +03:00
Niklas von Hertzen
9907149513
Don't parse/render input hidden nodes
2014-09-14 17:44:55 +03:00
Niklas von Hertzen
0325a9b836
Add atob polyfill for ie9 for SVG base64 rendering
2014-09-09 18:42:00 +03:00
Niklas von Hertzen
36052c2765
Add support for inline, base64 and node svg's
2014-09-08 23:44:10 +03:00
Niklas von Hertzen
44b958beaf
Default to element dimension if image size cannot be determined (vector images)
2014-09-08 21:25:21 +03:00
Niklas von Hertzen
2a020e5a21
Allow tainting images to be drawn if option enabled
2014-09-08 21:24:26 +03:00
Niklas von Hertzen
c20e679f2c
Prefer native svg rendering if available
2014-09-08 21:16:30 +03:00
Scott Pierce
52c669fe5b
Merge branch 'master' of https://github.com/niklasvh/html2canvas
...
Conflicts:
build/html2canvas.min.js
dist/html2canvas.js
src/core.js
2014-09-04 16:24:23 -05:00
Scott Pierce
382c16a522
use cloned document for measurements
2014-09-04 14:02:44 -05:00
Niklas von Hertzen
ba9d5201cf
Add svg rendering with fabric.js
2014-09-04 20:50:31 +03:00
Niklas von Hertzen
2e2d722e3d
Fix rendering for safari 6
2014-09-04 19:29:42 +03:00
Niklas von Hertzen
07f793b0ed
Preliminary support for svg rendering
2014-09-04 18:47:06 +03:00
Niklas von Hertzen
ce1c4c84f5
Fix CSS gradients fail to render when non-vendor prefix property is included #388
2014-05-18 23:20:45 +03:00
Niklas von Hertzen
6959058560
Fix linear gradient rendering
2014-05-18 19:14:22 +03:00
Niklas von Hertzen
d6ed6c0194
Fallback to DummyImageContainer if no suitable ImageContainer found
2014-05-18 17:48:32 +03:00
Niklas von Hertzen
9ee87339a3
Fix cors loading of images
2014-05-18 17:40:01 +03:00
Niklas von Hertzen
281e6bbedf
Use backgroundColor from documentElement if rendered element lacks backgroundColor
2014-04-06 21:43:20 +03:00
Niklas von Hertzen
fee91055b2
Fix bug with iframe not being loaded in-time
2014-03-24 19:05:32 +02:00
Niklas von Hertzen
650ead63e5
Fix transform nesting
2014-03-15 14:30:26 +02:00
Niklas von Hertzen
b35fcaeaf9
Move non-canvas supported fallback to seperate file
2014-03-15 13:22:55 +02:00
Niklas von Hertzen
81c22866bc
Don't fail on broken images
2014-03-15 13:20:05 +02:00
Niklas von Hertzen
25d892f525
Fix IE9 https origin check bug
2014-03-15 13:01:04 +02:00
Niklas von Hertzen
12d85e3c04
Fail with a Promise.reject when no canvas support
2014-03-10 18:46:25 +02:00
Niklas von Hertzen
3101f2007a
Fix Firefox DOM clone not being ready
2014-03-05 22:24:53 +02:00
Niklas von Hertzen
85b77ca49f
Fix cropping bug
2014-03-05 19:19:24 +02:00
Niklas von Hertzen
bb8c5a973b
Limit crop to the maximum size of outputted canvas
2014-03-04 21:54:24 +02:00
Niklas von Hertzen
cfe4137bcc
Account for negative bounds in cropping
2014-03-04 20:42:34 +02:00
Niklas von Hertzen
d2c3378c3e
Correctly crop content
2014-03-03 21:19:28 +02:00
Niklas von Hertzen
95f4bcea0a
Render input elements correctly
2014-03-02 19:51:46 +02:00
Niklas von Hertzen
9bae5b610a
Fix IE misalignment of content after scroll
2014-03-02 18:03:30 +02:00
Niklas von Hertzen
7ce46e95cd
Fix logging in IE9
2014-03-02 16:55:40 +02:00
Niklas von Hertzen
84c1dc6283
Remove script tags from cloned DOM
2014-03-02 16:03:22 +02:00
Niklas von Hertzen
15ca3381eb
Fix text rendering for IE and Opera
2014-03-02 16:00:59 +02:00
Niklas von Hertzen
18d95d669b
Partial implementation for transforms
2014-02-23 17:35:46 +02:00
Niklas von Hertzen
5137e5f35a
Render correct element
2014-02-23 17:02:49 +02:00
Niklas von Hertzen
314d26f1f1
Hide iframe container from view during render
2014-02-23 16:26:23 +02:00
Niklas von Hertzen
82e5a8a7c0
Fix image loading for cross-origin resources
2014-02-17 00:04:09 +02:00
Niklas von Hertzen
9af96d3812
Fix render ordering of nodes that form fake stacking contexts
2014-02-15 00:33:09 +02:00
Niklas von Hertzen
6f2a775841
Fix background position rendering
2014-02-15 00:31:48 +02:00
Niklas von Hertzen
d9d516d27e
Force doctype for iframe
2014-02-10 19:53:13 +02:00
Niklas von Hertzen
899d5321d4
Fix pseudoelement rendering for Firefox
2014-02-08 17:42:40 +02:00
Niklas von Hertzen
5d20493f46
Add support for pseudoelements
2014-02-08 16:52:41 +02:00
Niklas von Hertzen
b5891c49b4
Correctly assign image loading method for <img> elements
2014-02-08 14:07:20 +02:00
Niklas von Hertzen
467ff87482
Switch to using Promises
2014-02-03 19:42:42 +02:00
Niklas von Hertzen
9beae48cf0
Start implementing background gradients
2014-02-01 21:48:30 +02:00
Niklas von Hertzen
17731169e9
Add support for single text-shadow
2014-02-01 20:03:23 +02:00
Niklas von Hertzen
e27c41efd3
Add font metrics and text-decorations
2014-02-01 19:36:43 +02:00
Niklas von Hertzen
1f90defbfa
Fix text rendering for Opera/IE
2014-02-01 19:11:59 +02:00
Niklas von Hertzen
b4bb34c95b
Move NodeParser to seperate file
2014-02-01 18:52:53 +02:00
Niklas von Hertzen
64668fe694
ios window size and scroll fixes
2014-02-01 18:32:05 +02:00
Niklas von Hertzen
9ebae161e2
Fix IE issues
2014-01-26 20:43:50 +02:00
Niklas von Hertzen
729bc88d1f
Increase logging
2014-01-26 20:43:36 +02:00
Niklas von Hertzen
b1c2f03ae9
Add option to only render current view
2014-01-26 20:42:57 +02:00
Niklas von Hertzen
74cb3466ec
Draw <img> elements
2014-01-26 18:10:04 +02:00
Niklas von Hertzen
2afdcaff35
Add Promise polyfill
2014-01-26 16:06:39 +02:00
Niklas von Hertzen
1070cec852
Implement background rendering
2014-01-26 16:06:16 +02:00
Niklas von Hertzen
ba9a33b1bc
Add work around for chrome related background-image issues in iframe
2014-01-26 15:50:13 +02:00
Niklas von Hertzen
f474542382
Begin implementing background-image rendering
2014-01-21 21:41:00 +02:00
Niklas von Hertzen
0cb259f6cd
Cache backgroundImages request for nodes
2014-01-20 22:42:58 +02:00
Niklas von Hertzen
1a7f5732bf
Filter nodes and render correct size correctly
2014-01-20 22:42:39 +02:00
Niklas von Hertzen
2b8389cb64
Make image loading to work on top of Promises/polyfill
2014-01-19 21:05:07 +02:00
Niklas von Hertzen
8b8c080841
0.5.0 rewrite
2014-01-19 18:04:27 +02:00
Niklas von Hertzen
6201e09118
Merge branch 'patch-1' of github.com:bensho/html2canvas into bensho-patch-1
2013-12-23 16:33:58 +02:00
Niklas von Hertzen
517fd8cd1d
Refactor background parsing
2013-12-23 16:07:49 +02:00
Niklas von Hertzen
e228fc57ce
Merge branch 'patch-2' of github.com:brcontainer/html2canvas into brcontainer-patch-2
2013-12-23 15:32:18 +02:00
Niklas von Hertzen
46cc8b6975
Fix z-index ordering bug
2013-12-23 15:27:46 +02:00
Guilherme Nascimento
0b213eecef
Fix bug in WebKitGTK+, backgroundRepeat return "wrong" values
2013-12-06 09:49:37 -02:00
Ben Sholds
cea3005056
Fix invalid selector exception with empty class values
...
After removing :before and :after pseudo selectors, a class name may be empty, causing an invalid selector string when joined. Remove empty elements before calling querySelectorAll.
2013-11-25 09:48:12 -05:00
Grom-S
f00b23a9ec
incorect z-index sorting fixed
...
If you omit compare function in javascript `sort()` method it will sort lexicographically (in dictionary order) according to the string conversion of each element.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters
For example
[0, 9, 8, 10].sort()
will place element with z-index 10 on 2nd position of the array
2013-11-21 20:37:40 +02:00
Niklas von Hertzen
e9afe03960
Implement background-size cover/contain
2013-11-12 19:35:28 +02:00
Niklas von Hertzen
57d20a9794
Fix missing background color bug
2013-11-12 19:34:20 +02:00
Niklas von Hertzen
7cc7f80ee2
Add dom depth information to render queue
2013-10-27 22:08:12 +02:00
ssafejava
8bea01b81d
Speed & accuracy improvements to pseudo element rendering.
...
Previously, pseudo elements would be processed as they were found in the DOM tree, which was
an expensive operation as each element's computed :before and :after style was checked for
'content' styles.
This commit traverses the user's stylesheets for :before and :after selectors, gathers the classes
affected, selects all elements that likely have a pseudo element present, then checks computed style.
If there is actually an element present, it is created but *not* appended to the DOM until after
all elements have been processed.
After all elements have been found and created, they are added to the DOM in a single batch, and the original
pseudo elements are hidden in a single batch. This prevents the layout invalidation / relayout loop that was
occuring previously, and in my tests speeds parsing by as much as 50% or more, depending on how many
pseudo elements your page uses.
Additionally, this commit contains a bugfix to the handling of ":before" pseudo elements; the browser effectively
inserts them as the first child of the element, not before the element. This fixes a few rendering inconsistencies
and complicated pages look almost perfect in my tests.
2013-09-18 13:38:21 +08:00
ssafejava
e115180731
Add async parsing option.
...
In my testing, the major time sink is parsing. This commit adds a setTimeout() around parsing
of each item so control can return to the browser. This increases the total time it takes to finish
a screenshot but will not freeze the browser when it does. This is a good option when e.g. doing
error reporting, where you might not want to freeze the browser while sending debugging information
back to your server.
2013-09-18 13:38:21 +08:00
Niklas von Hertzen
b6ebf2acf6
Remove unnecessary custom complete event checker
2013-09-04 20:17:38 +03:00
Niklas von Hertzen
e9c3d9d332
Fix background color rendering layering with no documentElement color
2013-09-04 20:03:16 +03:00
Niklas von Hertzen
c759600c06
Refactoring
2013-09-04 19:29:12 +03:00
arrix
564634ba97
stacking context creator should be at the bottom
...
passes z-index12. issue #256
2013-08-15 23:24:01 +08:00
arrix
ea7d6b485d
preserve stacking nesting with special ancestor. issue #256
2013-08-15 02:12:38 +08:00
Niklas von Hertzen
10b40821e5
first implementation for matrix transforms
2013-08-06 21:11:08 +03:00
Niklas von Hertzen
056953f2c1
Fix cropping of canvas for float sized elements
2013-08-06 19:15:46 +03:00
Niklas von Hertzen
9a57a08c72
Refactoring logging and gradients
2013-08-06 18:55:04 +03:00
Niklas von Hertzen
26a81da2f0
Ignore transforms if non found
2013-08-06 18:20:20 +03:00
Niklas von Hertzen
57028ab423
initial commit for transforms
2013-08-06 18:17:33 +03:00
Niklas von Hertzen
c9e2fc27c8
Refactoring
2013-08-06 17:55:13 +03:00
Niklas von Hertzen
2777a3e079
Refactoring
2013-08-06 17:46:47 +03:00
arrix
02ab96dc5f
passes z-index8 non-positioned element with opactiy < 1
...
The MDN article Understanding_z_index/Stacking_and_float is wrong about this
2013-08-06 10:34:13 +08:00
arrix
65746bd2e3
coding optimizations
2013-08-06 10:01:20 +08:00
arrix
16d3bef255
z-index overhaul. relative above static; negative z-index
...
1. when stacking without z-index, positioned > floated > normal flow
2. supports negative z-index
3. new stacking context formed when opacity < 1 (standard)
4. new stacking context formed for position:fixed (no standard yet, done in mobile webkit and chrome 22+)
2013-08-06 03:36:12 +08:00
Niklas von Hertzen
f35ef0fe6f
Refactor
2013-08-04 18:33:18 +03:00
Niklas von Hertzen
37fbd3f90e
Fix border rendering bug
2013-08-04 16:41:36 +03:00
Niklas von Hertzen
2d39cd0719
fix shadow parsing for IE9
2013-08-04 15:41:00 +03:00
Niklas von Hertzen
877367d499
Merge branch 'arrix-child_textnodes' into develop
2013-08-04 14:36:55 +03:00
arrix
fd888bde8d
fixes #251 . inline text in top element
2013-08-02 14:36:42 +08:00
Niklas von Hertzen
a7d3e9c2a2
Merge branch 'master' of git://github.com/fdn/html2canvas into fdn-master
2013-06-23 19:27:53 +03:00
Guerric Sloan
f49e147b2f
Added qunit tests for text-shadow
2013-06-18 23:47:08 -07:00
Niklas von Hertzen
a902f92a14
remove svg rendering
2013-06-15 11:53:28 +03:00
Guerric Sloan
e1573f8aed
Parse out multiple text-shadow values and only honor the first one.
2013-06-12 16:48:23 -07:00
Guerric Sloan
655779743b
Better text-shadow parsing
2013-06-12 15:48:00 -07:00
Guerric Sloan
1a30167f6a
Basic implementation of text-shadow
2013-06-12 14:54:46 -07:00
Niklas von Hertzen
288b851d05
revert image smooth disabling
2013-05-29 22:50:01 +03:00
Niklas von Hertzen
0afb0fae0e
disable image smoothing
2013-05-29 22:31:00 +03:00
Fritz Elfert
2b000f0061
Fixed #207
2013-05-19 22:34:57 +02:00
Fritz Elfert
85fa81ad95
- Fix parsing of input fields on IE9
2013-04-07 21:56:49 +02:00
Fritz Elfert
cf735a9fa1
- Fixed rendering of ExtJS 4.2 windows.
2013-04-06 00:30:16 +02:00
Fritz Elfert
9b051b8749
- Fetch images of current element only
2013-04-05 18:06:37 +02:00
Dan Farrelly
8623e4014b
Upgrade to Grunt 0.4.0 complete. Safari on OSX bug fix.
2013-03-22 14:57:38 -04:00
Niklas von Hertzen
b2df50a858
Allow element node to be passed
2013-01-30 20:12:25 +02:00
Niklas von Hertzen
8ddf10fc04
Fix taint testing
2013-01-12 22:28:00 +02:00
Niklas von Hertzen
1b37c5d1ea
Refactored preload
2013-01-11 23:01:29 +02:00
Niklas von Hertzen
67850f2cee
Refactoring
2013-01-11 22:50:46 +02:00
Niklas von Hertzen
88dd1e41c0
Moved pseudoelement rendering to parse.js
2013-01-11 22:36:23 +02:00
Niklas von Hertzen
222dfa84b7
remove legacy code
2013-01-11 20:38:33 +02:00
Niklas von Hertzen
9b0c32c62c
Fix firefox pseudoelement bug for images
2013-01-11 20:36:07 +02:00
Niklas von Hertzen
2bb926c7d0
Fix webkit-gradient() parsing
2013-01-11 20:31:34 +02:00
Niklas von Hertzen
861a18f977
Fix Chrome background-repeat parse error
2013-01-11 19:51:53 +02:00
Niklas von Hertzen
2f3f27b672
Fix crash for browsers that don't support placeholder attribute
2013-01-11 19:34:56 +02:00
Niklas von Hertzen
3032dc6ce0
Fix empty content getting rendered on firefox/IE
2013-01-11 19:31:05 +02:00
Andy Edinborough
2b0db917e3
don't process pseudo elements for hidden elements; cleanup pseudo elements after render
2013-01-11 10:46:53 -06:00
Andy Edinborough
d73e53fbf0
Merge remote-tracking branch 'niklasvh/develop' into develop
2013-01-11 09:51:59 -06:00
Niklas von Hertzen
6d29cc5df3
chinese word rendering
2013-01-04 23:47:59 +02:00
Andy Edinborough
dc21fab450
missing braces
2013-01-03 17:10:57 -06:00
Andy Edinborough
5492d80135
simply resize images to background-size
2013-01-03 17:09:23 -06:00
Niklas von Hertzen
a313524aa4
refactored renderer
2013-01-03 23:15:06 +02:00
Andy Edinborough
3edf9fa743
Merge remote-tracking branch 'niklasvh/develop' into develop
...
Conflicts:
src/Parse.js
src/Preload.js
2013-01-03 15:07:38 -06:00
Niklas von Hertzen
053a0a4787
switched background rendering to use patterns
2013-01-03 22:25:35 +02:00
Niklas von Hertzen
65b4bdf282
background clipping support
2013-01-03 20:34:47 +02:00
Niklas von Hertzen
56780565f4
refactored border radius calculation
2013-01-03 18:37:27 +02:00
Andy Edinborough
55ed0ffde0
render placeholder text
2013-01-02 17:03:16 -06:00
Andy Edinborough
7da4326885
background-size fixes
...
generated gradients need a unique key (the same value can generate a
different image based on background-size); fix so that a single value
specified for background-size yields a scaled height as the second
parameter
2013-01-02 14:51:03 -06:00
Andy Edinborough
eb57b61859
backgroundPosition should use backgroundSize as a baseline for %'s
2013-01-02 13:45:58 -06:00
Niklas von Hertzen
bb73d3c15e
initial border-radius rendering
2013-01-02 21:26:24 +02:00
Andy Edinborough
9b5ae9e191
support for pseudo elements
2013-01-02 12:58:48 -06:00
Andy Edinborough
2557a83dbe
remove todo comment
2013-01-02 10:51:47 -06:00
Andy Edinborough
67ccb33dd5
add tests for resizeBounds
2013-01-02 10:47:36 -06:00
Andy Edinborough
85706166cc
trimText regexp needs /g
2013-01-02 10:40:56 -06:00
Andy Edinborough
57d6003b65
backgroundSize needs trimmed before second split
...
also move trimText to Util
2013-01-02 10:39:00 -06:00