Index: includes/form.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/form.inc,v
retrieving revision 1.396
diff -u -p -r1.396 form.inc
--- includes/form.inc	8 Nov 2009 19:53:19 -0000	1.396
+++ includes/form.inc	10 Nov 2009 20:30:20 -0000
@@ -2200,7 +2200,7 @@ function form_process_container($element
  * @param $element
  *   An associative array containing the properties and children of the
  *   group.
- *   Properties used: #children.
+ *   Properties used: #id, #attributes, #children.
  * @return
  *   A themed HTML string representing the form element.
  *
@@ -2208,7 +2208,12 @@ function form_process_container($element
  */
 function theme_container($variables) {
   $element = $variables['element'];
-  return '<div class="form-wrapper" id="' . $element['#id'] . '">' . $element['#children'] . '</div>';
+  if (!isset($element['#attributes']['id'])) {
+    $element['#attributes']['id'] = $element['#id'];
+  }
+  // Force the 'form-wrapper' class.
+  $element['#attributes']['class'][] = 'form-wrapper';
+  return '<div' . drupal_attributes($element['#attributes']) . '>' . $element['#children'] . '</div>';
 }
 
 /**
Index: modules/field/field.form.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/field/field.form.inc,v
retrieving revision 1.33
diff -u -p -r1.33 field.form.inc
--- modules/field/field.form.inc	9 Nov 2009 18:23:41 -0000	1.33
+++ modules/field/field.form.inc	10 Nov 2009 20:37:29 -0000
@@ -60,7 +60,7 @@ function field_default_form($obj_type, $
       $element = array(
         '#object_type' => $instance['object_type'],
         '#bundle' => $instance['bundle'],
-        '#field_name' => $field['field_name'],
+        '#field_name' => $field_name,
         '#columns' => array_keys($field['columns']),
         '#title' => check_plain(t($instance['label'])),
         '#description' => field_filter_xss($instance['description']),
@@ -89,14 +89,21 @@ function field_default_form($obj_type, $
     // The '#language' key can be used to access the field's form element when
     // $langcode is unknown. The #weight property is inherited from the field's
     // form element.
-    $addition[$field['field_name']] = array(
+    // Also aid in theming of field widgets by rendering a classified container.
+    $addition[$field_name] = array(
+      '#type' => 'container',
+      '#attributes' => array('class' => array(
+        'field-type-' . $field['type'],
+        'field-name-' . $field_name,
+        'field-widget-' . $instance['widget']['type'],
+      )),
       '#tree' => TRUE,
       '#weight' => $instance['widget']['weight'],
       '#language' => $langcode,
       $langcode => $form_element,
     );
 
-    $form['#fields'][$field['field_name']]['form_path'] = array($field['field_name']);
+    $form['#fields'][$field_name]['form_path'] = array($field_name);
   }
 
   return $addition;
Index: modules/field/modules/number/number.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/field/modules/number/number.module,v
retrieving revision 1.26
diff -u -p -r1.26 number.module
--- modules/field/modules/number/number.module	10 Nov 2009 06:48:58 -0000	1.26
+++ modules/field/modules/number/number.module	10 Nov 2009 20:43:20 -0000
@@ -298,9 +298,6 @@ function number_field_widget(&$form, &$f
     // configurations where all characters won't fit in input field.
     '#size' => $field['type'] == 'number_decimal' ? $field['settings']['precision'] + 2 : 12,
     '#maxlength' => $field['type'] == 'number_decimal' ? $field['settings']['precision'] : 10,
-    // A specific CSS class is needed to override node form's default styling
-    // which forces the width of textfields.
-    '#attributes' => array('class' => array('widget-number')),
     // Extract the number type from the field type name for easier validation.
     '#number_type' => str_replace('number_', '', $field['type']),
   );
Index: modules/field/modules/text/text.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/field/modules/text/text.module,v
retrieving revision 1.35
diff -u -p -r1.35 text.module
--- modules/field/modules/text/text.module	1 Nov 2009 14:05:31 -0000	1.35
+++ modules/field/modules/text/text.module	10 Nov 2009 20:47:27 -0000
@@ -617,7 +617,6 @@ function text_textfield_elements_process
     '#default_value' => isset($element['#value'][$field_key]) ? $element['#value'][$field_key] : NULL,
     '#autocomplete_path' => $element['#autocomplete_path'],
     '#size' => $instance['widget']['settings']['size'],
-    '#attributes' => array('class' => array('text')),
     '#title' => $element['#title'],
     '#description' => $element['#description'],
     '#required' => $element['#required'],
@@ -706,7 +705,6 @@ function text_textarea_with_summary_proc
     '#title' => $display ? t('Full text') : $element['#title'],
     '#description' => $element['#description'],
     '#required' => $element['#required'],
-    '#attributes' => array('class' => array('text-full-textarea')),
     '#prefix' => '<div class="text-full-wrapper">',
     '#suffix' => '</div>',
   );
Index: modules/file/file.field.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/file/file.field.inc,v
retrieving revision 1.9
diff -u -p -r1.9 file.field.inc
--- modules/file/file.field.inc	1 Nov 2009 14:05:32 -0000	1.9
+++ modules/file/file.field.inc	10 Nov 2009 20:45:45 -0000
@@ -500,7 +500,6 @@ function file_field_widget(&$form, &$for
     $elements['#file_upload_delta'] = $delta;
     $elements['#theme'] = 'file_widget_multiple';
     $elements['#theme_wrappers'] = array('fieldset');
-    $elements['#attributes']['class'] = array('file-widget');
     $elements['#process'] = array('file_field_widget_process_multiple');
     $elements['#title'] = $element['#title'];
     $elements['#description'] = $element['#description'];
Index: modules/node/node.css
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.css,v
retrieving revision 1.9
diff -u -p -r1.9 node.css
--- modules/node/node.css	3 Nov 2009 04:35:01 -0000	1.9
+++ modules/node/node.css	10 Nov 2009 20:40:13 -0000
@@ -24,10 +24,6 @@
 td.revision-current {
   background: #ffc;
 }
-.node-form .form-text {
-  display: block;
-  width: 95%;
-}
 .node-form .container-inline .form-text {
   display: inline;
   width: auto;
