Closed Bug 661876 Opened 9 years ago Closed 9 years ago

Kill obsolete nsIDOMFile properties/methods


(Core :: DOM: Core & HTML, defect)

Not set



Tracking Status
firefox7 + ---


(Reporter: khuey, Assigned: khuey)



(Keywords: dev-doc-complete, relnote, Whiteboard: [warning landed on aurora])


(4 files, 2 obsolete files)

Attached patch PatchSplinter Review
No description provided.
Attachment #537181 - Flags: review?(jonas)
Comment on attachment 537181 [details] [diff] [review]

Please also add a patch here which adds warnings to all these methods which we could check in to aurora.

I suspect none of these methods are used in inner loops or anything like that, so no need to add complexity by making sure that we only warn once per document or some such. Just add a warning to the console every time they are called.
Attachment #537181 - Flags: review?(jonas) → review+
Comment on attachment 537246 [details] [diff] [review]
Warn on aurora

Don't add strings to the file as it's too late to take string changes on aurora. Even just adding it to the file, even if we don't expect people to translate it, will set off all sorts of warnings in various systems which we don't want.

Also, the properties are to developers called "fileName", "getAsDataURL" etc, no uppercase first character.
Attachment #537246 - Flags: review?(jonas) → review-
What do you want me to do then, hardcode it into the binary?
Comments addressed.

Did I mention that nsPrintfCString is a horrible thing?
Attachment #537246 - Attachment is obsolete: true
Attachment #537266 - Flags: review?(jonas)
Comment on attachment 537266 [details] [diff] [review]
Now with hardcoded strings

Review of attachment 537266 [details] [diff] [review]:

I assume you tested that this works: r=me

::: content/base/src/nsDOMFile.cpp
@@ +706,5 @@
> +  // This is hardcoded here in English since we're past string freeze.
> +  
> +  nsPrintfCString warningText
> +  (500,
> +   "Use of File.%s is deprecated. To upgrade your code, use standard properties or use the DOM FileReader object. For more help",

"For more help, see https://..."
Attachment #537266 - Flags: review?(jonas) → review+
Yes, I tested this for all of the properties from the error console.
Comment on attachment 537266 [details] [diff] [review]
Now with hardcoded strings

We would like to take this patch on Aurora to warn web developers that these deprecated APIs are going away (in Firefox 7).
Attachment #537266 - Flags: approval-mozilla-aurora?
Closed: 9 years ago
Flags: in-testsuite-
Resolution: --- → FIXED
Target Milestone: --- → mozilla7
Comment on attachment 537455 [details] [diff] [review]
Test fixes

Review of attachment 537455 [details] [diff] [review]:

::: content/canvas/test/test_mozGetAsFile.html
@@ +15,5 @@
> +  reader.onload = 
> +    function(e) {
> +      is(, canvas.toDataURL(type),
> + "<canvas>.mozGetAsFile().getAsDataURL() should equal <canvas>.toDataURL()");
> +      SimpleTest.finish();

This doesn't look correct. Won't you call finish multiple times? Is that allowed?
Depends on: 662403
This broke some of our tools; see bug 662403.
Depends on: 662838
We might want to emphasize this change to web devs.
Keywords: dev-doc-needed
Attachment #537266 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Keywords: relnote
To recap: no string changes on central, and hard-coded English deprecation notices to the error console for aurora?

If so, sounds good.
(In reply to comment #15)
> To recap: no string changes on central, and hard-coded English deprecation
> notices to the error console for aurora?
> If so, sounds good.


Not marking fixed on Aurora or anything since these are just warnings.
Depends on: 664780
Whiteboard: [warning added in aurora, "fixed in aurora"]
Whiteboard: [warning added in aurora, "fixed in aurora"] → [warning landed on aurora]
Depends on: 669438
Depends on: 670086
going to track this for potential fallout similar to what we saw at bug 670086
Depends on: 682679
Can anyone please help me with a test case, STR or some guidelines that I can use to verify this fix?

Thank you
If you get hold of a File object, using for example <input type=file> and getting .files[0], then the File object should *not* have any of the following properties or functions:

Attached file test case (obsolete) —
test case used to verify the bug/fix
Verified fixed on:
Mozilla/5.0 (Windows NT 6.1; rv:7.0) Gecko/20100101 Firefox/7.0
Mozilla/5.0 (X11; Linux i686 on x86_64; rv:7.0) Gecko/20100101 Firefox/7.0
Mozilla/5.0 (Windows NT 5.1; rv:7.0) Gecko/20100101 Firefox/7.0
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:7.0) Gecko/20100101 Firefox/7.0

Steps used to verify the fix:
 1. Open the test case from comment #21.
 2. Upload a file.
 3. Tap on the Display Properties button.
The Name and Size properties are displayed as "undefined". The .getAsText(), .getAsDataURL() and .getAsBinary() functions don't return anything.
(I verified the test case on FF6 and all the properties were displayed).
Attachment #556771 - Attachment is obsolete: true
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.