diff --git a/src/ui.js b/src/ui.js
index <HASH>..<HASH> 100644
--- a/src/ui.js
+++ b/src/ui.js
@@ -105,10 +105,15 @@ base.exportTo('ui', function() {
       return el;
     }
 
-    // f.name is not directly writable. So make it writable anyway.
-    Object.defineProperty(
-        f, 'name',
-        {value: tagName, writable: false, configurable: false});
+    try {
+      // f.name is not directly writable. So make it writable anyway.
+      Object.defineProperty(
+          f, 'name',
+          {value: tagName, writable: false, configurable: false});
+    } catch (e) {
+      // defineProperty throws a TypeError about name already being defined
+      // although, it also correctly sets the value to tagName.
+    }
 
     /**
      * Decorates an element as a UI element class.
Handle type error on Object.defineProperty.

Calling the defineProperty for f.name is causing a
'TypeError: Cannot redefine property: name' error to be thrown when running
chrome://tracing.

This CL catches and ignores the error as it appears that the value is correclty
begin set.

BUG=
R=<EMAIL>

Review URL: <URL>