Any reason for showing decimals for MBs but not for KBs?
And what about very small files?

I suggest the following method:

```javascript
  setFileSize: function documentPropertiesSetFileSize(fileSize) {
    if (fileSize < 1024) {
      this.fileSize =  mozL10n.get('document_properties_bytes',
                                  {size_b: fileSize}, '{{size_b}} bytes');
      return;
    }
    var kb = Math.round(fileSize / 1024);
    if (kb < 1024) {
      this.fileSize = mozL10n.get('document_properties_kb',
                                  {size_kb: +kb.toPrecision(3)}, '{{size_kb}} KB');
    } else {
      var mb = Math.round(kb / 1024);
      if (mb < 100) mb = +mb.toPrecision(3);
      this.fileSize = mozL10n.get('document_properties_mb',
                                  {size_mb: mb}, '{{size_mb}} MB');
    }
  },
```

The advantages of this methods over the existing one are:

- Bytes are supported. "499 bytes" instead of the erroneous string "0 kB"
- At most 3 digits are shown for the file size (unless the file exceeds 999MB ...)
  (previously, you would see 123.45 MB instead of "123 MB")
  (if you want more significant numbers, just use a different value for toPrecision)
  (I've put an unary plus before `kb.toPrecision(3)` to remove trailing zeroes, not 1.00 KB, but "1 KB")