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
Andy Edinborough
9ce03d6e86
working background-size
2013-01-02 10:10:03 -06:00
Andy Edinborough
3d3f923ed8
implementing background-size; use parseBackgroundImage in render
2013-01-01 10:42:22 -06:00
Andy Edinborough
473ff45267
Merge remote-tracking branch 'niklasvh/develop' into develop
...
Conflicts:
src/Core.js
src/Parse.js
src/Util.js
2012-12-30 17:25:31 -06:00
Niklas von Hertzen
496c8488bd
Moved font metrics to seperate file
2012-12-30 21:26:25 +02:00
Andy Edinborough
df0f436e66
initial support for backgroundSize
2012-12-30 12:30:48 -06:00