Index: includes/ajax.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/ajax.inc,v
retrieving revision 1.39
diff -u -p -r1.39 ajax.inc
--- includes/ajax.inc	30 Nov 2010 17:16:37 -0000	1.39
+++ includes/ajax.inc	16 Dec 2010 14:05:48 -0000
@@ -668,6 +668,11 @@ function ajax_pre_render_element($elemen
       unset($settings['progress']['path']);
     }
 
+    // Also take over $.ajax() options, if any.
+    if (isset($settings['ajax_options'])) {
+      $settings['options'] = $settings['ajax_options'];
+    }
+
     $element['#attached']['js'][] = array(
       'type' => 'setting',
       'data' => array('ajax' => array($element['#id'] => $settings)),
Index: misc/ajax.js
===================================================================
RCS file: /cvs/drupal/drupal/misc/ajax.js,v
retrieving revision 1.32
diff -u -p -r1.32 ajax.js
--- misc/ajax.js	4 Dec 2010 01:49:21 -0000	1.32
+++ misc/ajax.js	16 Dec 2010 14:11:34 -0000
@@ -110,9 +110,15 @@ Drupal.ajax = function (base, element, e
       'js': true
     }
   };
-
   $.extend(this, defaults, element_settings);
 
+  var element_settings_defaults = {
+    options: {
+      iframe: false
+    }
+  };
+  $.extend(element_settings, element_settings_defaults);
+
   this.element = element;
   this.element_settings = element_settings;
 
@@ -170,6 +176,10 @@ Drupal.ajax = function (base, element, e
     dataType: 'json',
     type: 'POST'
   };
+  // Allow element_settings.options to override the default ajax.options.
+  if (element_settings.options) {
+    $.extend(ajax.options, element_settings.options);
+  }
 
   // Bind the ajaxSubmit function to the element event.
   $(ajax.element).bind(element_settings.event, function (event) {
Index: modules/file/file.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/file/file.module,v
retrieving revision 1.48
diff -u -p -r1.48 file.module
--- modules/file/file.module	11 Dec 2010 01:32:20 -0000	1.48
+++ modules/file/file.module	16 Dec 2010 14:09:43 -0000
@@ -367,6 +367,9 @@ function file_managed_file_process($elem
       'type' => $element['#progress_indicator'],
       'message' => $element['#progress_message'],
     ),
+    'ajax_options' => array(
+      'iframe' => TRUE,
+    ),
   );
 
   // Set up the buttons first since we need to check if they were clicked.
