Skip to content
Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
bac3a46
🔃 Daily sync: main -> l10n (August 4, 2022)
Aug 4, 2022
b81d70c
Pontoon: Update Kabyle (kab) localization of Firefox Profiler
Aug 5, 2022
88d3578
🔃 Daily sync: main -> l10n (August 5, 2022)
Aug 5, 2022
7267060
Pontoon: Update Kabyle (kab) localization of Firefox Profiler
Aug 6, 2022
06deb1a
🔃 Daily sync: main -> l10n (August 9, 2022)
Aug 9, 2022
9690885
🔃 Daily sync: main -> l10n (August 10, 2022)
Aug 10, 2022
088f334
Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Prof…
petercpg Aug 10, 2022
6cac221
Pontoon: Update Italian (it) localization of Firefox Profiler
Aug 10, 2022
53dc4c8
Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox P…
MarceloGhelman Aug 10, 2022
4c65af5
Pontoon: Update German (de) localization of Firefox Profiler
robovoice1 Aug 10, 2022
f4f19ee
Pontoon: Update Interlingua (ia) localization of Firefox Profiler
Karm46 Aug 10, 2022
c9b7a16
Pontoon: Update Ukrainian (uk) localization of Firefox Profiler
IhorHordiichuk Aug 10, 2022
af94b64
Pontoon: Update English (Great Britain) (en-GB) localization of Firef…
Aug 10, 2022
59a3161
🔃 Daily sync: main -> l10n (August 11, 2022)
Aug 11, 2022
72d2f44
Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Profiler
Aug 11, 2022
1280fb3
Pontoon: Update Greek (el) localization of Firefox Profiler
asongofghostandfire Aug 11, 2022
c333d5c
Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Profiler
RAVMN Aug 11, 2022
149a07a
🔃 Daily sync: main -> l10n (August 12, 2022)
Aug 12, 2022
d9aba28
Pontoon: Update French (fr) localization of Firefox Profiler
TheoChevalier Aug 12, 2022
6f7dd22
🔃 Daily sync: main -> l10n (August 17, 2022)
Aug 17, 2022
c1dd011
Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Prof…
petercpg Aug 17, 2022
cf2e4c3
Pontoon: Update Italian (it) localization of Firefox Profiler
Aug 17, 2022
e38c511
Pontoon: Update Greek (el) localization of Firefox Profiler
asongofghostandfire Aug 17, 2022
741d20a
Pontoon: Update Frisian (fy-NL) localization of Firefox Profiler
Fjoerfoks Aug 17, 2022
a1a78ca
Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox P…
MarceloGhelman Aug 17, 2022
8743c81
Pontoon: Update German (de) localization of Firefox Profiler
robovoice1 Aug 17, 2022
6e1e394
Pontoon: Update Dutch (nl) localization of Firefox Profiler
Fjoerfoks Aug 17, 2022
d33df8a
Pontoon: Update Ukrainian (uk) localization of Firefox Profiler
IhorHordiichuk Aug 17, 2022
d8de302
Pontoon: Update Interlingua (ia) localization of Firefox Profiler
Karm46 Aug 17, 2022
531ff95
Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Profiler
RAVMN Aug 18, 2022
bcf9487
Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Profiler
Aug 18, 2022
4ce6ac5
🔃 Daily sync: main -> l10n (August 19, 2022)
canova Aug 19, 2022
04a39d4
Show the self time category breakdown in the sidebar
parttimenerd Aug 19, 2022
e2dd5e8
Pontoon: Update Italian (it) localization of Firefox Profiler
Aug 19, 2022
b909dbd
Pontoon: Update Ukrainian (uk) localization of Firefox Profiler
IhorHordiichuk Aug 19, 2022
1543254
Pontoon: Update German (de) localization of Firefox Profiler
robovoice1 Aug 19, 2022
4faa69e
Pontoon: Update Greek (el) localization of Firefox Profiler
asongofghostandfire Aug 19, 2022
5061c03
Pontoon: Update Interlingua (ia) localization of Firefox Profiler
Karm46 Aug 19, 2022
5fec69a
Pontoon: Update English (Great Britain) (en-GB) localization of Firef…
Aug 19, 2022
5822aa2
🔃 Daily sync: main -> l10n (August 20, 2022)
Aug 20, 2022
dfc8052
Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Prof…
petercpg Aug 20, 2022
07c9413
Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox P…
MarceloGhelman Aug 20, 2022
7393166
Pontoon: Update Swedish (sv-SE) localization of Firefox Profiler
Aug 21, 2022
6a5afe9
Pontoon: Update Frisian (fy-NL) localization of Firefox Profiler
Fjoerfoks Aug 22, 2022
814547f
Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Profiler
RAVMN Aug 22, 2022
54427d2
Pontoon: Update French (fr) localization of Firefox Profiler
TheoChevalier Aug 23, 2022
070bd1d
🔃 Daily sync: main -> l10n (August 24, 2022)
Aug 24, 2022
e74db6d
Pontoon: Update Dutch (nl) localization of Firefox Profiler
Fjoerfoks Aug 24, 2022
ce8a1fb
Implement sort arrows for MarkerTable
parttimenerd Aug 24, 2022
76ae585
Pontoon: Update Kabyle (kab) localization of Firefox Profiler
Aug 24, 2022
f2cb0ff
Pontoon: Update Kabyle (kab) localization of Firefox Profiler
Aug 24, 2022
5f297e4
Fix linter errors
parttimenerd Aug 24, 2022
de8d6a6
Add sorting to Call Tree view and tests
parttimenerd Aug 24, 2022
bb8b23b
⬆️ Update @codemirror/view to version 6.2.0 (PR #4202)
depfu[bot] Aug 25, 2022
5eb3873
Merge branch 'main' into parttimenerd_show_self_time_categories_in_si…
canova Aug 25, 2022
84a1eae
Show the self time category breakdown in the sidebar (Merge PR #4195)
canova Aug 25, 2022
7503454
🔃 Daily sync: main -> l10n (August 26, 2022)
Aug 26, 2022
6c371c3
Update all development Yarn dependencies (2022-08-29) (PR #4211)
depfu[bot] Aug 29, 2022
f23cfc7
🔃 Daily sync: main -> l10n (August 30, 2022)
Aug 30, 2022
f0c5451
Open the categories in the side bar by default
parttimenerd Aug 22, 2022
10d5098
Move category open state into url
parttimenerd Aug 29, 2022
32e98f3
Fix bug
parttimenerd Aug 30, 2022
796f1ab
Implement suggestions and fix test case
parttimenerd Sep 1, 2022
9fbdf39
Add url handling test
parttimenerd Sep 1, 2022
78cc919
⬆️ Update core-js to version 3.25.0 (PR #4213)
depfu[bot] Sep 1, 2022
5ae87b5
Fix small stuff
parttimenerd Sep 1, 2022
6595120
🔃 Daily sync: main -> l10n (September 2, 2022)
Sep 2, 2022
90ae5ea
Use proper reducer for category open change
parttimenerd Sep 2, 2022
c6b6a33
Extract the power track's tooltip to a component
julienw Aug 3, 2022
ca25fef
Convert the new track power tooltip component to a connected component
julienw Aug 3, 2022
1fe54bb
Extract the track power's tooltip component to its own file
julienw Aug 3, 2022
375dcec
Uses the TooltipDetail component to display the information in the tr…
julienw Aug 3, 2022
01ab1be
Extract the localization of power values to a function
julienw Aug 4, 2022
cdedf81
Provide the information about the preview selection to the track powe…
julienw Aug 3, 2022
22f73d2
Show the sum of power in ranges
julienw Aug 4, 2022
8ca762f
Adjust tests
julienw Aug 4, 2022
c1e3c65
Show the sum of the power usage in power track's tooltips (Merge PR #…
julienw Sep 2, 2022
8b133d6
Handle total and self category times differently
parttimenerd Sep 2, 2022
2f07067
🔃 Daily sync: main -> l10n (September 3, 2022)
Sep 3, 2022
704a4b3
Pontoon: Update German (de) localization of Firefox Profiler
koehlermichael Sep 3, 2022
2556e3b
Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Prof…
petercpg Sep 3, 2022
9692280
Pontoon: Update English (Great Britain) (en-GB) localization of Firef…
Sep 3, 2022
febd0e9
Pontoon: Update German (de) localization of Firefox Profiler
koehlermichael Sep 3, 2022
9e02f10
Pontoon: Update Greek (el) localization of Firefox Profiler
asongofghostandfire Sep 3, 2022
7478e31
Pontoon: Update Italian (it) localization of Firefox Profiler
Sep 3, 2022
96a9382
Pontoon: Update Interlingua (ia) localization of Firefox Profiler
Karm46 Sep 3, 2022
abff5b7
Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Profiler
RAVMN Sep 3, 2022
6754677
Pontoon: Update Swedish (sv-SE) localization of Firefox Profiler
Sep 3, 2022
2f70225
Pontoon: Update Ukrainian (uk) localization of Firefox Profiler
IhorHordiichuk Sep 4, 2022
477df8d
Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Profiler
Sep 5, 2022
35a2fcd
Update all development Yarn dependencies (2022-09-05)
depfu[bot] Sep 5, 2022
7b17e99
Configure jest's snapshot format to use the format from Jest 28 and b…
julienw Sep 5, 2022
91f17ab
Update all development Yarn dependencies (2022-09-05) (Merge PR #4214)
julienw Sep 5, 2022
475c25a
Pontoon: Update Dutch (nl) localization of Firefox Profiler
markh-bz Sep 5, 2022
a040f66
Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox P…
MarceloGhelman Sep 5, 2022
e9a11ee
Pontoon: Update Frisian (fy-NL) localization of Firefox Profiler
Fjoerfoks Sep 5, 2022
0492a59
Pontoon: Update Frisian (fy-NL) localization of Firefox Profiler
Fjoerfoks Sep 5, 2022
565eea5
Move open categories state out of URL
parttimenerd Sep 5, 2022
6433b88
🔃 Daily sync: main -> l10n (September 6, 2022)
Sep 6, 2022
f3971d6
🔃 Sync: l10n -> main (September 6, 2022) (Merge PR #4218)
canova Sep 6, 2022
680c6b9
Remove the sha256 hashes for the addon scripts, because we don't use …
julienw Sep 6, 2022
7ff65cc
Add wasm-unsafe-eval so that we can execute WASM code
julienw Sep 6, 2022
b90be9c
Remove the use of withHistoryReplaceStateSync
julienw Sep 6, 2022
5f3fb2f
Merge branch 'main' into parttimenerd_open_categories_in_sidebar
julienw Sep 6, 2022
58b5db6
Do not lose open categories in the sidebar when changing panels (Merg…
julienw Sep 6, 2022
81ccf5e
⬆️ Update @codemirror/view to version 6.2.2 (PR #4223)
depfu[bot] Sep 8, 2022
859c42a
Update Yarn install docs
kazarmy Sep 8, 2022
b10247f
Add link for other install procedures
kazarmy Sep 8, 2022
53f1c8a
Update Yarn install docs (Merge PR #4224)
julienw Sep 8, 2022
e21b076
Make this comment more precise.
mstange Aug 18, 2022
e260b54
Add support for [sym:...] in plain text profiles.
mstange Aug 18, 2022
160ea67
Add address-timings.js and tests.
mstange Aug 18, 2022
bb198c4
Add address-timings.js and tests. (Merge PR #4192)
mstange Sep 8, 2022
8bbd5cb
Update all development Yarn dependencies (2022-09-12) (PR #4229)
depfu[bot] Sep 12, 2022
9f409db
Merge branch 'main' into support-wasm-csp
julienw Sep 12, 2022
f7a50fa
Tweak the CSP to support WebAssembly again (Merge PR #4220)
julienw Sep 12, 2022
78e2d53
Move component-specific CSS out of the shared file for TreeView
julienw Sep 8, 2022
cdbfc43
Use display: flex for the TreeView headers
julienw Sep 8, 2022
40e1d9f
Change how the header's border is done, and add a border for the mark…
julienw Sep 8, 2022
476fd83
Make the padding RTL friendly
julienw Sep 8, 2022
cb23e93
Give some more width to the marker table's type column
julienw Sep 8, 2022
8b5a6f8
Make sure that the column don't shrink
julienw Sep 12, 2022
1a5a9ca
Improve the CSS of the Treeview shared component (Merge PR #4225)
julienw Sep 12, 2022
2e6405a
(Chrome Importer) Add and use `Native` category instead of `DOM` (PR …
kazarmy Sep 13, 2022
3ef5bcd
Upgrade webpack and related packages to latest v4 version
julienw Sep 5, 2022
5e49eb5
Upgrade webpack and its plugins to v5
julienw Sep 5, 2022
e3942e2
Update webpack config file
julienw Sep 5, 2022
35b474b
Adjust the browserslist so that webpack can decide automatically what…
julienw Sep 5, 2022
0030b9d
Remove the babel transformation for the nullish coalescing operator
julienw Sep 5, 2022
2c765d9
Remove the direct dependency for @babel/plugin-proposal-nullish-coale…
julienw Sep 14, 2022
a9ff160
Upgrade webpack to version 5 (Merge PR #4217)
julienw Sep 14, 2022
4526e72
Update postcss v7 to latest v7 version
julienw Sep 15, 2022
136c66d
Update ansi-regex to latest v4 version
julienw Sep 15, 2022
7002c0f
Upgrade thenify to latest v3 version
julienw Sep 15, 2022
e58d335
Upgrade for security advisories (Merge PR #4231)
julienw Sep 19, 2022
aa8ae11
Update all development Yarn dependencies (2022-09-19) (PR #4233)
depfu[bot] Sep 19, 2022
e549ec3
⬆️ Update classnames to version 2.3.2 (PR #4234)
depfu[bot] Sep 20, 2022
d7a29c3
add syntax highlighting support for .mjs ext
amilajack Sep 20, 2022
703de7f
Check localhost for local data source too when displaying the upload …
parttimenerd Sep 23, 2022
a5bbc41
Merge branch 'main' into patch-1
mstange Sep 24, 2022
eb023c4
Add syntax highlighting support for .mjs ext (Merge PR #4236)
mstange Sep 24, 2022
ce8b984
⬆️ Update core-js to version 3.25.2 (PR #4244)
depfu[bot] Sep 26, 2022
1bcee49
Squashed more types commits
parttimenerd Sep 26, 2022
1591821
Improve formatting new types
parttimenerd Sep 26, 2022
66974c7
Small fixes
parttimenerd Sep 26, 2022
cd14bd9
Update all development Yarn dependencies (2022-09-26) (PR #4245)
depfu[bot] Sep 26, 2022
dc47a74
Support list and table in formatFromMarkerSchema
parttimenerd Sep 26, 2022
ffe52a3
Add support for the µWh unit in tooltips showing energy amounts. (PR …
fqueze Sep 27, 2022
baf7965
⬆️ Update @codemirror/lang-javascript to version 6.1.0 (PR #4248)
depfu[bot] Sep 27, 2022
d06ec1f
⬆️ Update @lezer/highlight to version 1.1.1 (PR #4247)
depfu[bot] Sep 27, 2022
79ac1c9
Use equal sized numbers
parttimenerd Sep 29, 2022
17d4437
⬆️ Update idb to version 7.1.0 (PR #4252)
depfu[bot] Sep 29, 2022
0a544dc
⬆️ Update @codemirror/state to version 6.1.2 (PR #4251)
depfu[bot] Sep 29, 2022
8297bd6
Fix linting issues
julienw Sep 29, 2022
9169a6d
Merge branch 'main' into parttimenerd_equal_sized_numbers
julienw Sep 29, 2022
d71fa0f
Use equal sized numbers (Merge PR #4254)
julienw Sep 29, 2022
e1ee179
Small changes to make the code clearer and more maintainable
julienw Sep 29, 2022
c8a30d3
Adjust CSS to make it more maintainable, RTL-friendly, and apply to t…
julienw Sep 29, 2022
79f7f6a
Remove the scheme from formatted URLs
julienw Sep 30, 2022
86f9f60
Merge branch 'main' into parttimenerd_more_types
julienw Sep 30, 2022
44285e6
Add table and list marker format types (Merge PR #4201)
julienw Sep 30, 2022
4147848
⬆️ Update react-redux to version 8.0.4 (PR #4255)
depfu[bot] Sep 30, 2022
3b9a1e9
Update all development Yarn dependencies (2022-10-03)
depfu[bot] Oct 3, 2022
be80d29
Fix new stylelint violations
julienw Oct 3, 2022
a47f140
Update all development Yarn dependencies (2022-10-03) (Merge PR #4256)
julienw Oct 3, 2022
884bd97
Add nativeSymbols functionSize column.
mstange Sep 8, 2022
7b3a30c
Add nativeSymbols functionSize column (Merge PR #4226)
mstange Oct 4, 2022
6c5b476
Merge branch 'parttimenerd_sort_table' of https://github.com/parttime…
parttimenerd Oct 5, 2022
7f0f3a7
Incorporate the suggested changes
parttimenerd Oct 5, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 28 additions & 1 deletion src/components/calltree/CallTree.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@
import React, { PureComponent } from 'react';
import memoize from 'memoize-immutable';
import explicitConnect from 'firefox-profiler/utils/connect';
import { TreeView } from 'firefox-profiler/components/shared/TreeView';
import {
TreeView,
ColumnSortState,
} from 'firefox-profiler/components/shared/TreeView';
import { CallTreeEmptyReasons } from './CallTreeEmptyReasons';
import { Icon } from 'firefox-profiler/components/shared/Icon';
import { getCallNodePathFromIndex } from 'firefox-profiler/profile-logic/profile-data';
Expand Down Expand Up @@ -85,6 +88,22 @@ class CallTreeImpl extends PureComponent<Props> {
};
_treeView: TreeView<CallNodeDisplayData> | null = null;
_takeTreeViewRef = (treeView) => (this._treeView = treeView);
_sortedColumns = new ColumnSortState([]);

_compareColumn = (
first: CallNodeDisplayData,
second: CallNodeDisplayData,
column: number
) => {
switch (column) {
case 2:
return second.rawTotal - first.rawTotal;
case 3:
return second.rawSelf - first.rawSelf;
default:
throw new Error('Invalid column');
}
};

/**
* Call Trees can have different types of "weights" for the data. Choose the
Expand Down Expand Up @@ -258,6 +277,10 @@ class CallTreeImpl extends PureComponent<Props> {
}
}

_onSort = (sortedColumns: ColumnSortState) => {
this._sortedColumns = sortedColumns;
};

render() {
const {
tree,
Expand Down Expand Up @@ -294,6 +317,10 @@ class CallTreeImpl extends PureComponent<Props> {
onKeyDown={this._onKeyDown}
onEnterKey={this._onEnterOrDoubleClick}
onDoubleClick={this._onEnterOrDoubleClick}
initialSortedColumns={this._sortedColumns}
onSort={this._onSort}
compareColumn={this._compareColumn}
sortableColumns={new Set([2, 3])}
Comment thread
parttimenerd marked this conversation as resolved.
Outdated
/>
);
}
Expand Down
43 changes: 41 additions & 2 deletions src/components/marker-table/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import React, { PureComponent } from 'react';
import memoize from 'memoize-immutable';

import explicitConnect from '../../utils/connect';
import { TreeView } from '../shared/TreeView';
import { TreeView, ColumnSortState } from '../shared/TreeView';
import { MarkerTableEmptyReasons } from './MarkerTableEmptyReasons';
import {
getZeroAt,
Expand Down Expand Up @@ -42,7 +42,9 @@ const MAX_DESCRIPTION_CHARACTERS = 500;

type MarkerDisplayData = {|
start: string,
rawStart: Milliseconds,
duration: string | null,
rawDuration: Milliseconds | null,
name: string,
type: string,
|};
Expand Down Expand Up @@ -113,17 +115,22 @@ class MarkerTree {
}

let duration = null;
let rawDuration: number | null = null;
if (marker.incomplete) {
duration = 'unknown';
} else if (marker.end !== null) {
duration = formatTimestamp(marker.end - marker.start);
// $FlowFixMe
rawDuration = marker.end - marker.start;
Comment thread
parttimenerd marked this conversation as resolved.
Outdated
}

displayData = {
start: _formatStart(marker.start, this._zeroAt),
duration,
name,
type: getMarkerSchemaName(this._markerSchemaByName, marker),
rawDuration: rawDuration,
rawStart: marker.start,
};
this._displayDataByIndex.set(markerIndex, displayData);
}
Expand Down Expand Up @@ -165,6 +172,7 @@ class MarkerTableImpl extends PureComponent<Props> {
_onExpandedNodeIdsChange = () => {};
_treeView: ?TreeView<MarkerDisplayData>;
_takeTreeViewRef = (treeView) => (this._treeView = treeView);
_sortedColumns = new ColumnSortState([]);

getMarkerTree = memoize((...args) => new MarkerTree(...args), { limit: 1 });

Expand Down Expand Up @@ -200,6 +208,33 @@ class MarkerTableImpl extends PureComponent<Props> {
changeRightClickedMarker(threadsKey, selectedMarker);
};

_compareColumn = (
first: MarkerDisplayData,
second: MarkerDisplayData,
column: number
) => {
switch (column) {
case 1:
return second.rawStart - first.rawStart;
case 2:
if (first.rawDuration === null) {
return -1;
}
if (second.rawDuration === null) {
return 1;
}
return second.rawDuration - first.rawDuration;
case 3:
return first.type.localeCompare(second.type);
default:
throw new Error('Invalid column');
Comment thread
parttimenerd marked this conversation as resolved.
Outdated
}
};

_onSort = (sortedColumns: ColumnSortState) => {
this._sortedColumns = sortedColumns;
};

render() {
const {
getMarker,
Expand All @@ -210,7 +245,7 @@ class MarkerTableImpl extends PureComponent<Props> {
markerSchemaByName,
getMarkerLabel,
} = this.props;
const tree = this.getMarkerTree(
const tree: MarkerTree = this.getMarkerTree(
getMarker,
markerIndexes,
zeroAt,
Expand Down Expand Up @@ -243,6 +278,10 @@ class MarkerTableImpl extends PureComponent<Props> {
contextMenuId="MarkerContextMenu"
rowHeight={16}
indentWidth={10}
initialSortedColumns={this._sortedColumns}
onSort={this._onSort}
compareColumn={this._compareColumn}
sortableColumns={new Set([1, 2, 3])}
Comment thread
parttimenerd marked this conversation as resolved.
Outdated
/>
)}
</div>
Expand Down
8 changes: 8 additions & 0 deletions src/components/shared/TreeView.css
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,14 @@
align-items: center;
}

.treeViewHeaderColumn.sortAscending::before {
content: '▲ ';
}

.treeViewHeaderColumn.sortDescending::before {
content: '▼ ';
}
Comment thread
parttimenerd marked this conversation as resolved.
Outdated

.treeViewRowColumn.total,
.treeViewRowColumn.totalPercent,
.treeViewRowColumn.self,
Expand Down
Loading