<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -7,8 +7,33 @@
  *   http://www.opensource.org/licenses/mit-license.php
  *
  */
-
 (function($) {
+	if($.browser.safari &amp;&amp; $('iframe[name=progressFrame]', parent.document).length == 0) {
+		$(function() {
+			iframe = document.createElement('iframe');
+			iframe.name = &quot;progressFrame&quot;;
+			$(iframe).css({width: '0', height: '0', position: 'absolute', top: -3000});
+			document.body.appendChild(iframe);
+			
+			var d = iframe.contentWindow.document;
+			d.open();
+			/* weird - safari won't load scripts without this lines... */
+			d.write('&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;');
+			d.close();
+			
+			var b = d.body;
+			var s = d.createElement('script');
+			s.src = &quot;../lib/jquery.js&quot;;
+			/* must be sure that jquery is loaded */
+			s.onload = function() {
+				var s1 = d.createElement('script');
+				s1.src = &quot;../jquery.uploadProgress.js&quot;;
+				b.appendChild(s1);
+			}
+			b.appendChild(s);
+		});
+  	}
+
   $.fn.uploadProgress = function(options) {
 	return this.each(function(){
 		$(this).bind('submit', function() {
@@ -37,8 +62,8 @@
                         } else {
 			  $(this).attr(&quot;action&quot;, jQuery(this).attr(&quot;action&quot;) + &quot;?X-Progress-ID=&quot; + uuid);
 			}
-			
-			options.timer = window.setInterval(function() { $.uploadProgress(this, options) }, options.interval);
+			var uploadProgress = $.browser.safari ? progressFrame.jQuery.uploadProgress : jQuery.uploadProgress;
+			options.timer = window.setInterval(function() { uploadProgress(this, options) }, options.interval);
 		});
 	});
   };
@@ -56,7 +81,9 @@ jQuery.uploadProgress = function(e, options) {
 				upload = $.extend({
 				  percents: Math.floor((upload.received / upload.size)*1000)/10
 				}, upload);
-              $(options.progressBar).width(Math.floor(upload.percents) + '%');
+				
+			bar = $.browser.safari ? $(options.progressBar, parent.document) : $(options.progressBar);
+              		bar.width(Math.floor(upload.percents) + '%');
 			  options.uploading(upload);
 			}
 			/* we are done, stop the interval */
@@ -68,4 +95,4 @@ jQuery.uploadProgress = function(e, options) {
 	});
 };
 
-})(jQuery);
\ No newline at end of file
+})(jQuery);</diff>
      <filename>jquery.uploadProgress.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>6e5485b75b0e583e952913ea9e9341dd2ad22a3d</id>
    </parent>
  </parents>
  <author>
    <name>Piotr Sarnacki</name>
    <login>drogus</login>
    <email>drogus@gmail.com</email>
  </author>
  <url>http://github.com/drogus/jquery-upload-progress/commit/cc8ebce8acbb54febb3d24c7a77118c1501a922f</url>
  <id>cc8ebce8acbb54febb3d24c7a77118c1501a922f</id>
  <committed-date>2008-06-29T17:59:31-07:00</committed-date>
  <authored-date>2008-06-29T17:59:31-07:00</authored-date>
  <message>Safari support (thanks to Michele Finotto for idea)

Safari can't send ajax requests while submitting form, so we must create hidden iframe and send ajax requests from inside of it.</message>
  <tree>ea1aeea80995810bd91706710c3ca6517eb422bf</tree>
  <committer>
    <name>Piotr Sarnacki</name>
    <login>drogus</login>
    <email>drogus@gmail.com</email>
  </committer>
</commit>
