Closed Bug 1207499 Opened 4 years ago Closed 4 years ago

Remove use of expression closure from b2g/, chrome/, docshell/, mobile/, modules/, netwerk/, parser/, security/, storage/, testing/, webapprt/, widget/, xpcom/, and devtools/

Categories

(Firefox :: General, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
Firefox 44
Tracking Status
firefox44 --- fixed

People

(Reporter: arai, Assigned: arai)

References

Details

Attachments

(14 files)

5.35 KB, patch
sicking
: review+
Details | Diff | Splinter Review
1.11 KB, patch
benjamin
: review+
Details | Diff | Splinter Review
1.16 KB, patch
bzbarsky
: review+
Details | Diff | Splinter Review
5.18 KB, patch
mfinkle
: review+
Details | Diff | Splinter Review
896 bytes, patch
mwu
: review+
Details | Diff | Splinter Review
5.64 KB, patch
jduell.mcbugs
: review+
Details | Diff | Splinter Review
1.82 KB, patch
jst
: review+
Details | Diff | Splinter Review
1.41 KB, patch
keeler
: review+
Details | Diff | Splinter Review
14.87 KB, patch
mak
: review+
Details | Diff | Splinter Review
6.37 KB, patch
jmaher
: review+
Details | Diff | Splinter Review
1.16 KB, patch
Felipe
: review+
Details | Diff | Splinter Review
2.63 KB, patch
roc
: review+
Details | Diff | Splinter Review
1.04 KB, patch
froydnj
: review+
Details | Diff | Splinter Review
1.00 KB, patch
pbro
: review+
Details | Diff | Splinter Review
Need to replace non-standard expression closure with one of:
  * function declaration
  * function expression
  * arrow function
before fixing bug 1083458.

converting rules are following:
  * function declaration
    add `return` and braces
  * standalone named function expression
    add `return` and braces
  * standalone anonymous function expression contans and receives `this` (Array.filter, bind, etc)
    convert to arrow function, and remove code passing |this|
  * standalone anonymous function expression contans no `this`
    convert to arrow function
  * property with anonymous function expression, contains `this`
    add `return` and braces
  * property with anonymous function expression, contains no `this`, short body
    convert to arrow function
  * property with anonymous function expression, contains no `this`, long body
    add `return` and braces
  * property with named function expression
    add `return` and braces
  * getter property
    add `return` and braces
  * setter property
    add braces

Since there are a lot of patches, separated into 8 bugs, each bug corresponds to one of following directories:
  * browser/, except browser/components/.
  * browser/components/.
  * dom/.
  * layout/.
  * services/.
  * toolkit/, except toolkit/components/.
  * toolkit/components/.
  * b2g/, chrome/, docshell/, mobiles/, modules/, netwerk/, parser/, security/, storage/, testing/, webapprt/, widget/, xpcom/
(not yet touched addon-sdk)

I have draft patches, will post them (may take some time to prepare and post).
Additional rule:
  * function expression, contains `arguments`
    add `return` and braces

Almost green on try run: (with other patches, M(13) is not related)
  https://treeherder.mozilla.org/#/jobs?repo=try&revision=c844b363eef3
Summary: Remove use of expression closure from b2g/, chrome/, docshell/, mobiles/, modules/, netwerk/, parser/, security/, storage/, testing/, webapprt/, widget/, and xpcom/ → Remove use of expression closure from b2g/, chrome/, docshell/, mobile/, modules/, netwerk/, parser/, security/, storage/, testing/, webapprt/, widget/, xpcom/, and devtools/
Assignee: nobody → arai.unmht
Attachment #8667178 - Flags: review?(jonas)
Attachment #8667195 - Flags: review?(pbrosset) → review+
Attachment #8667194 - Flags: review?(nfroyd) → review+
Attachment #8667179 - Flags: review?(benjamin) → review+
Attachment #8667183 - Flags: review?(mwu) → review+
Attachment #8667181 - Flags: review?(mark.finkle) → review+
Comment on attachment 8667190 [details] [diff] [review]
Part 10: Remove use of expression closure from testing/.

Review of attachment 8667190 [details] [diff] [review]:
-----------------------------------------------------------------

thanks for writing this!
Attachment #8667190 - Flags: review?(jmaher) → review+
Attachment #8667192 - Flags: review?(felipc) → review+
Comment on attachment 8667180 [details] [diff] [review]
Part 3: Remove use of expression closure from docshell/.

r=me
Attachment #8667180 - Flags: review?(bzbarsky) → review+
Attachment #8667186 - Flags: review?(jst) → review+
Attachment #8667185 - Flags: review?(jduell.mcbugs) → review+
Attachment #8667189 - Flags: review?(mak77) → review+
You need to log in before you can comment on or make changes to this bug.