From f230a13f3059aab294e4a91da8e55c7296c100dd Mon Sep 17 00:00:00 2001 From: Nataniel Borges Date: Wed, 28 Jul 2021 07:13:45 +0000 Subject: [PATCH] [DO NOT MERGE] Full - Compatibilize winscope with master Bug: 194813677 Test: none Change-Id: Ie55429dcb746f597f80dfdaa68cbef19f5820005 --- tools/winscope/adb_proxy/winscope_proxy.py | 5 + tools/winscope/package.json | 84 +- tools/winscope/src/AccessibilityTraceView.vue | 35 + tools/winscope/src/App.vue | 16 +- tools/winscope/src/DataAdb.vue | 1 + tools/winscope/src/DataInput.vue | 30 +- tools/winscope/src/DataView.vue | 9 +- tools/winscope/src/LogView.vue | 41 +- tools/winscope/src/NodeContextMenu.vue | 6 +- tools/winscope/src/Overlay.vue | 48 +- tools/winscope/src/Rects.vue | 29 +- .../winscope/src/SurfaceFlingerTraceView.vue | 16 +- tools/winscope/src/TraceView.vue | 45 +- tools/winscope/src/TransactionEntry.vue | 41 +- tools/winscope/src/TransactionsView.vue | 14 +- tools/winscope/src/TreeView.vue | 6 +- tools/winscope/src/WindowManagerTraceView.vue | 4 +- tools/winscope/src/config/Configuration.json | 36 + tools/winscope/src/decode.js | 61 +- tools/winscope/src/dumps/SurfaceFlinger.ts | 9 + tools/winscope/src/dumps/WindowManager.ts | 2 +- tools/winscope/src/flickerlib/LayersTrace.ts | 35 + .../src/flickerlib/ObjectFormatter.ts | 103 +- .../src/flickerlib/WindowManagerState.ts | 81 +- .../src/flickerlib/WindowManagerTrace.ts | 23 +- tools/winscope/src/flickerlib/common.js | 265 +- tools/winscope/src/flickerlib/index.js | 5 +- tools/winscope/src/flickerlib/layers/Layer.ts | 95 + .../src/flickerlib/layers/LayerTraceEntry.ts | 66 + .../src/flickerlib/layers/Transform.ts | 90 + tools/winscope/src/flickerlib/mixin.ts | 20 +- .../winscope/src/flickerlib/treeview/Chips.ts | 32 +- .../flickerlib/treeview/ITreeViewElement.ts | 34 - .../winscope/src/flickerlib/treeview/types.ts | 12 - .../src/flickerlib/windows/Activity.ts | 43 +- .../src/flickerlib/windows/DisplayArea.ts | 40 +- .../src/flickerlib/windows/DisplayContent.ts | 55 +- tools/winscope/src/flickerlib/windows/Task.ts | 43 +- .../src/flickerlib/windows/TaskFragment.ts | 39 +- .../src/flickerlib/windows/WindowContainer.ts | 85 +- .../src/flickerlib/windows/WindowState.ts | 108 +- .../src/flickerlib/windows/WindowToken.ts | 39 +- tools/winscope/src/main.js | 3 + tools/winscope/src/matrix_utils.js | 200 +- tools/winscope/src/mixins/FileType.js | 4 + tools/winscope/src/mixins/Timeline.js | 9 +- tools/winscope/src/sf_visibility.js | 350 -- .../Accessibility.ts} | 20 +- tools/winscope/src/traces/SurfaceFlinger.ts | 7 +- tools/winscope/src/traces/WindowManager.ts | 2 +- tools/winscope/src/transform.js | 24 +- tools/winscope/src/transform_accessibility.js | 52 + tools/winscope/src/transform_sf.js | 240 -- tools/winscope/src/utils/diff.js | 65 +- tools/winscope/webpack.config.common.js | 4 +- tools/winscope/yarn.lock | 2825 ++++++++--------- 56 files changed, 2789 insertions(+), 2867 deletions(-) create mode 100644 tools/winscope/src/AccessibilityTraceView.vue create mode 100644 tools/winscope/src/config/Configuration.json create mode 100644 tools/winscope/src/flickerlib/LayersTrace.ts create mode 100644 tools/winscope/src/flickerlib/layers/Layer.ts create mode 100644 tools/winscope/src/flickerlib/layers/LayerTraceEntry.ts create mode 100644 tools/winscope/src/flickerlib/layers/Transform.ts delete mode 100644 tools/winscope/src/flickerlib/treeview/ITreeViewElement.ts delete mode 100644 tools/winscope/src/flickerlib/treeview/types.ts delete mode 100644 tools/winscope/src/sf_visibility.js rename tools/winscope/src/{flickerlib/treeview/IClickableTreeViewElement.ts => traces/Accessibility.ts} (56%) create mode 100644 tools/winscope/src/transform_accessibility.js delete mode 100644 tools/winscope/src/transform_sf.js diff --git a/tools/winscope/adb_proxy/winscope_proxy.py b/tools/winscope/adb_proxy/winscope_proxy.py index 7cf135eb4..5bfc531e2 100755 --- a/tools/winscope/adb_proxy/winscope_proxy.py +++ b/tools/winscope/adb_proxy/winscope_proxy.py @@ -115,6 +115,11 @@ TRACE_TARGETS = { 'su root cmd window tracing start\necho "WM trace started."', 'su root cmd window tracing stop >/dev/null 2>&1' ), + "accessibility_trace": TraceTarget( + File("/data/misc/a11ytrace/a11y_trace.pb", "accessibility_trace"), + 'su root cmd accessibility start-trace\necho "Accessibility trace started."', + 'su root cmd accessibility stop-trace >/dev/null 2>&1' + ), "layers_trace": TraceTarget( File("/data/misc/wmtrace/layers_trace.pb", "layers_trace"), 'su root service call SurfaceFlinger 1025 i32 1\necho "SF trace started."', diff --git a/tools/winscope/package.json b/tools/winscope/package.json index 6a4633785..2f77f411e 100644 --- a/tools/winscope/package.json +++ b/tools/winscope/package.json @@ -5,60 +5,60 @@ "author": "Adrian Roos ", "private": true, "scripts": { - "dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot", - "build": "cross-env NODE_ENV=production webpack --progress --hide-modules", + "dev": "cross-env NODE_ENV=development webpack serve --open --hot", + "build": "cross-env NODE_ENV=production webpack --progress", "test": "webpack --config webpack.spec.config.js && jasmine dist/bundleSpec.js" }, "dependencies": { - "cross-env": "^7.0.2", - "jszip": "^3.5.0", - "kotlin": "^1.3.72", + "cross-env": "^7.0.3", + "jszip": "^3.6.0", + "kotlin": "^1.5.21", "lodash.clonedeep": "^4.5.0", - "ts-loader": "^8.0.3", - "typescript": "^4.0.2", - "vue": "^2.3.3", - "vue-context": "^5.2.0", - "vue-material": "^1.0.0-beta-11", - "vuex": "^3.4.0" + "ts-loader": "^8.3.0", + "typescript": "^4.3.5", + "vue": "^2.6.14", + "vue-context": "^6.0.0", + "vue-material": "^1.0.0-beta-15", + "vuex": "^3.6.2" }, "devDependencies": { - "@babel/core": "^7.10.5", - "@babel/polyfill": "^7.10.4", - "@babel/preset-env": "^7.10.4", - "@babel/register": "^7.10.5", + "@babel/core": "^7.14.6", + "@babel/polyfill": "^7.12.1", + "@babel/preset-env": "^7.14.7", + "@babel/register": "^7.14.5", "@jetbrains/kotlin-webpack-plugin": "^3.0.2", - "@testing-library/vue": "^5.1.0", - "@types/lodash": "^4.14.158", - "babel-loader": "^8.1.0", - "compression-webpack-plugin": "^4.0.0", - "cross-env": "^7.0.2", - "css-loader": "^3.6.0", - "eslint": "^7.1.0", + "@testing-library/vue": "^5.8.1", + "@types/lodash": "^4.14.171", + "babel-loader": "^8.2.2", + "compression-webpack-plugin": "^6.1.1", + "cross-env": "^7.0.3", + "css-loader": "^5.2.7", + "eslint": "^7.30.0", "eslint-config-google": "^0.14.0", - "eslint-plugin-vue": "^6.2.2", - "file-loader": "^6.0.0", + "eslint-plugin-vue": "^7.13.0", + "file-loader": "^6.2.0", "friendly-errors-webpack-plugin": "^1.7.0", - "html-webpack-inline-source-plugin": "^0.0.10", - "html-webpack-plugin": "3.2.0", - "husky": "^4.2.5", - "jasmine": "^3.5.0", - "lint-staged": ">=10", + "html-webpack-inline-source-plugin": "^1.0.0-beta.2", + "html-webpack-plugin": "4.5.2", + "husky": "^7.0.0", + "jasmine": "^3.8.0", + "lint-staged": "^11.0.1", "loader-utils": "^2.0.0", - "mini-css-extract-plugin": "^0.9.0", + "mini-css-extract-plugin": "^1.6.2", "optimize-css-assets-webpack-plugin": "^5.0.3", - "protobufjs": "^6.10.0", - "source-map-loader": "^1.0.1", - "style-loader": "^1.2.1", - "ts-loader": "^8.0.1", - "typescript": "^3.9.7", + "protobufjs": "^6.11.2", + "source-map-loader": "^1.1.3", + "style-loader": "^2.0.0", + "ts-loader": "^8.3.0", + "typescript": "^4.3.5", "uglifyjs-webpack-plugin": "^2.2.0", - "vue-loader": "^15.9.3", - "vue-style-loader": "^4.1.2", - "vue-template-compiler": "^2.6.11", - "webpack": "^4.43.0", - "webpack-cli": "^3.3.12", - "webpack-dev-server": "^3.11.0", - "webpack-merge": "^5.0.9" + "vue-loader": "^15.9.2", + "vue-style-loader": "^4.1.3", + "vue-template-compiler": "^2.6.14", + "webpack": "^4.46.0", + "webpack-cli": "^4.7.2", + "webpack-dev-server": "^3.11.2", + "webpack-merge": "^5.8.0" }, "husky": { "hooks": { diff --git a/tools/winscope/src/AccessibilityTraceView.vue b/tools/winscope/src/AccessibilityTraceView.vue new file mode 100644 index 000000000..036699e94 --- /dev/null +++ b/tools/winscope/src/AccessibilityTraceView.vue @@ -0,0 +1,35 @@ + + + + + \ No newline at end of file diff --git a/tools/winscope/src/App.vue b/tools/winscope/src/App.vue index 1b0d5ef0f..75d7b32bf 100644 --- a/tools/winscope/src/App.vue +++ b/tools/winscope/src/App.vue @@ -36,7 +36,7 @@ -
+
@@ -279,4 +279,18 @@ a { .data-view-container { padding: 25px 20px 0 20px; } + +.snackbar-break-words { + /* These are technically the same, but use both */ + overflow-wrap: break-word; + word-wrap: break-word; + -ms-word-break: break-all; + word-break: break-word; + /* Adds a hyphen where the word breaks, if supported (No Blink) */ + -ms-hyphens: auto; + -moz-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; + padding: 10px 10px 10px 10px; + } diff --git a/tools/winscope/src/DataAdb.vue b/tools/winscope/src/DataAdb.vue index c3653dacf..9b68c941c 100644 --- a/tools/winscope/src/DataAdb.vue +++ b/tools/winscope/src/DataAdb.vue @@ -200,6 +200,7 @@ const DUMPS = { const proxyFileTypeAdapter = { 'window_trace': FILE_TYPES.WINDOW_MANAGER_TRACE, + 'accessibility_trace': FILE_TYPES.ACCESSIBILITY_TRACE, 'layers_trace': FILE_TYPES.SURFACE_FLINGER_TRACE, 'wl_trace': FILE_TYPES.WAYLAND_TRACE, 'layers_dump': FILE_TYPES.SURFACE_FLINGER_DUMP, diff --git a/tools/winscope/src/DataInput.vue b/tools/winscope/src/DataInput.vue index bb07106d4..6bd7e354f 100644 --- a/tools/winscope/src/DataInput.vue +++ b/tools/winscope/src/DataInput.vue @@ -13,6 +13,7 @@ limitations under the License. --> + \ No newline at end of file diff --git a/tools/winscope/src/DataView.vue b/tools/winscope/src/DataView.vue index 0ddf12f41..db3c07f5f 100644 --- a/tools/winscope/src/DataView.vue +++ b/tools/winscope/src/DataView.vue @@ -30,7 +30,12 @@ save_alt - +