Closed Bug 1207494 Opened 9 years ago Closed 9 years ago

Remove use of expression closure from dom/.

Categories

(Firefox :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
Firefox 44
Tracking Status
firefox44 --- fixed

People

(Reporter: arai, Assigned: arai)

References

Details

Attachments

(15 files)

3.07 KB, patch
ferjm
: review+
Details | Diff | Splinter Review
2.28 KB, patch
peterv
: review+
Details | Diff | Splinter Review
1.12 KB, patch
smaug
: review+
Details | Diff | Splinter Review
13.47 KB, patch
gw280
: review+
Details | Diff | Splinter Review
1.18 KB, patch
reuben
: review+
Details | Diff | Splinter Review
9.36 KB, patch
smaug
: review+
Details | Diff | Splinter Review
3.59 KB, patch
peterv
: review+
Details | Diff | Splinter Review
1.78 KB, patch
ferjm
: review+
Details | Diff | Splinter Review
1.21 KB, patch
khuey
: review+
Details | Diff | Splinter Review
1.90 KB, patch
jst
: review+
Details | Diff | Splinter Review
1.95 KB, patch
jst
: review+
Details | Diff | Splinter Review
51.44 KB, patch
jst
: review+
Details | Diff | Splinter Review
1.22 KB, patch
hchang
: review+
Details | Diff | Splinter Review
1.86 KB, patch
bzbarsky
: review+
Details | Diff | Splinter Review
8.45 KB, patch
bzbarsky
: 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

Will post patches soon. here's try run for all related patches (some oranges, but not related):
https://treeherder.mozilla.org/#/jobs?repo=try&revision=c844b363eef3
Assignee: nobody → arai.unmht
Attachment #8665922 - Flags: review?(ferjmoreno)
Comment on attachment 8665928 [details] [diff] [review]
Part 6: Remove use of expression closure from dom/events/.

I would have preferred just adding those missing {}s, but fine.
Attachment #8665928 - Flags: review?(bugs) → review+
Attachment #8665925 - Flags: review?(bugs) → review+
> I would have preferred just adding those missing {}s

And the missing return statement would be needed too, right?
Comment on attachment 8665938 [details] [diff] [review]
Part 14: Remove use of expression closure from dom/xbl/.

r=me
Attachment #8665938 - Flags: review?(bzbarsky) → review+
Comment on attachment 8665939 [details] [diff] [review]
Part 15: Remove use of expression closure from dom/xul/.

r=me
Attachment #8665939 - Flags: review?(bzbarsky) → review+
Attachment #8665932 - Flags: review?(jst) → review+
Attachment #8665933 - Flags: review?(jst) → review+
Attachment #8665935 - Flags: review?(jst) → review+
Attachment #8665922 - Flags: review?(ferjmoreno) → review+
Attachment #8665930 - Flags: review?(ferjmoreno) → review+
Attachment #8665927 - Flags: review?(reuben.bmo) → review+
Attachment #8665937 - Flags: review?(hchang) → review+
Attachment #8665926 - Flags: review?(gwright) → review+
Attachment #8665924 - Flags: review?(peterv) → review+
Attachment #8665929 - Flags: review?(peterv) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/47d37c21cedff0457c9cbaec5700159b7fb60fca
Bug 1207494 - Part 1: Remove use of expression closure from dom/apps/. r=ferjm

https://hg.mozilla.org/integration/mozilla-inbound/rev/bd5c55a25ab2915331df2cf70848a3838e3e091b
Bug 1207494 - Part 2: Remove use of expression closure from dom/base/test/. r=peterv

https://hg.mozilla.org/integration/mozilla-inbound/rev/c0c6df7c5c15bdccdd7c760104e2e0944a6a519f
Bug 1207494 - Part 3: Remove use of expression closure from dom/browser-element/. r=smaug

https://hg.mozilla.org/integration/mozilla-inbound/rev/c5515734bf1c134365cf3d465f6807190df809c9
Bug 1207494 - Part 4: Remove use of expression closure from dom/canvas/. r=gw280

https://hg.mozilla.org/integration/mozilla-inbound/rev/a1449d107363537797f8e35f6e5861f868f77b90
Bug 1207494 - Part 5: Remove use of expression closure from dom/contacts/. r=reuben

https://hg.mozilla.org/integration/mozilla-inbound/rev/161126b85254385d3c09f79c82e30f5f42d6a334
Bug 1207494 - Part 6: Remove use of expression closure from dom/events/. r=smaug

https://hg.mozilla.org/integration/mozilla-inbound/rev/573412116319b372c0045ef02b9129353169795d
Bug 1207494 - Part 7: Remove use of expression closure from dom/html/. r=peterv

https://hg.mozilla.org/integration/mozilla-inbound/rev/8439956d4a64c352a9d0548101670a570be9257a
Bug 1207494 - Part 8: Remove use of expression closure from dom/identity/. r=ferjm

https://hg.mozilla.org/integration/mozilla-inbound/rev/8d38c9536530a4927cd12f021fb3fd2870deeeb1
Bug 1207494 - Part 9: Remove use of expression closure from dom/indexedDB/. r=khuey

https://hg.mozilla.org/integration/mozilla-inbound/rev/9d7fb098b4ca702af160b846eaa4d10026c38200
Bug 1207494 - Part 10: Remove use of expression closure from dom/json/. r=jst

https://hg.mozilla.org/integration/mozilla-inbound/rev/9da37def06fd378393b8a7b7d4c8c60b6917a768
Bug 1207494 - Part 11: Remove use of expression closure from dom/plugins/. r=jst

https://hg.mozilla.org/integration/mozilla-inbound/rev/7067747636ceb1fa293687ad9f80db3cd290d14c
Bug 1207494 - Part 12: Remove use of expression closure from dom/tests/. r=jst

https://hg.mozilla.org/integration/mozilla-inbound/rev/2dbb20dbd99e2c35b8534172d80e57ebb5cd3735
Bug 1207494 - Part 13: Remove use of expression closure from dom/wifi/. r=henry

https://hg.mozilla.org/integration/mozilla-inbound/rev/e6635666fe88ac92935cdc081d526c0caf75c1a9
Bug 1207494 - Part 14: Remove use of expression closure from dom/xbl/. r=bz

https://hg.mozilla.org/integration/mozilla-inbound/rev/7347b9d55c3c4fe71a278ad8d437713e2f4b9a38
Bug 1207494 - Part 15: Remove use of expression closure from dom/xul/. r=bz
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: