? .cvsignore
? browser
? media-popup.patch
? images/icons/tango
? images/icons/tango-icon-theme-0.8.90.tar.gz
? images/icons/ricebowl/.DS_Store
? images/icons/ricebowl/aiff.png
? images/icons/ricebowl/bmp.png
? images/icons/ricebowl/bz2.png
? images/icons/ricebowl/document.png
? images/icons/ricebowl/font.png
? images/icons/ricebowl/font_truetype.png
? images/icons/ricebowl/gif.png
? images/icons/ricebowl/gz.png
? images/icons/ricebowl/jpg.png
? images/icons/ricebowl/m4a.png
? images/icons/ricebowl/mov.png
? images/icons/ricebowl/ogg.png
? images/icons/ricebowl/png.png
? images/icons/ricebowl/psd.png
? images/icons/ricebowl/quicktime.png
? images/icons/ricebowl/rar.png
? images/icons/ricebowl/rm.png
? images/icons/ricebowl/sit.png
? images/icons/ricebowl/source_c.png
? images/icons/ricebowl/source_cpp.png
? images/icons/ricebowl/source_h.png
? images/icons/ricebowl/source_java.png
? images/icons/ricebowl/svg.png
? images/icons/ricebowl/swf.png
? images/icons/ricebowl/vectorgfx.png
? images/icons/ricebowl/wav.png
? images/icons/ricebowl/wordprocessing.png
? images/icons/ricebowl/xcf.png
? images/icons/ricebowl/zip.png
? modules/media_internet
Index: media.filter.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/media/media.filter.inc,v
retrieving revision 1.9
diff -u -r1.9 media.filter.inc
--- media.filter.inc	21 Jun 2010 05:11:16 -0000	1.9
+++ media.filter.inc	16 Jul 2010 20:42:25 -0000
@@ -125,12 +125,14 @@
   $match = str_replace("[[","",$match);
   $match = str_replace("]]","",$match);
   $tag = $match[0];
-
+  
   try {
     if (!is_string($tag)) {
       throw new Exception('Unable to find matching tag');
     }
+    
     $media = drupal_json_decode($tag);
+  
     if (!isset($media['fid'])) {
       throw new Exception('No file Id');
     }
@@ -144,6 +146,9 @@
      throw new Exception('Could not load media object');
     }
     $settings = is_array($media['attributes']) ? $media['attributes'] : array();
+    $attribute_whitelist = media_variable_get('wysiwyg_allowed_attributes');
+    $settings = array_intersect_key($settings, array_flip($attribute_whitelist));
+    
     // @TODO: What case does this provide for?  Can we add this logic in JS when we embed it?
     // This doesn't look great to me.  Also won't work if the style has anything
     // between width and height (or if they are in reverse order).
Index: includes/media.variables.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/media/includes/media.variables.inc,v
retrieving revision 1.9
diff -u -r1.9 media.variables.inc
--- includes/media.variables.inc	24 Jun 2010 13:48:19 -0000	1.9
+++ includes/media.variables.inc	16 Jul 2010 20:42:26 -0000
@@ -121,6 +121,8 @@
       'wysiwyg_default_view_mode' => 'media_large',
       // Types which can be selected when embedding media vs wysiwyg.
       'wysiwyg_allowed_types' => array('image'),
+      // Attributes which can be modified via the wysiwyg and persist.
+      'wysiwyg_allowed_attributes' => array('height', 'width', 'hspace', 'vspace', 'border', 'align', 'style', 'alt', 'title', 'class', 'id'),
 
       'field_select_media_text' => 'Select media',
 
Index: javascript/media.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/media/javascript/media.js,v
retrieving revision 1.4
diff -u -r1.4 media.js
--- javascript/media.js	8 Jul 2010 02:55:30 -0000	1.4
+++ javascript/media.js	16 Jul 2010 20:42:26 -0000
@@ -44,8 +44,6 @@
     // For each widget (in case of multi-entry)
     $('.media-widget', context).once('mediaBrowserLaunch', function () {
       var options = settings.media.elements[this.id];
-      debug.debug(this);
-      debug.debug(this.id);
       globalOptions = {};
       if (options.global != undefined) {
         var globalOptions = options.global;
