wootzapp / wootz-browser

🌐💸🤖Robinhood Meets ScaleAI: A New Mobile Browser To Trade Data & Token Payments🌐💸🤖 Colosseum Renaissance Winner. We do the hard work of rewriting Chromium...to integrate with training data marketplaces!
https://www.wootzapp.com/
GNU Affero General Public License v3.0
55 stars 32 forks source link

Throttling init #82

Closed Aankirz closed 4 months ago

Aankirz commented 4 months ago

Steps:

In app:

Type chrome://throttle

Demo Link:

Dummy data: (to check network throttling) 1.) set data to

latency:200000 download: 5000 upload: 7000 (This will lead to slower internet bandwidth)

  1. set data to

    latency:200 download: 500000 upload: 7000000 (This will lead to relatively faster internet bandwidth)

APK Link:

https://drive.google.com/drive/folders/101D1ifg-H9d94RuYtui16sqIDjnsyqy5?usp=sharing

sandys commented 4 months ago

history of edits: Steps to reproduce error: In terminal cd src

autoninja -C out/Default chrome_public_apk In app: Type chrome://throttling in the url

APK Link: https://drive.google.com/file/d/1LovZFMSvdYNRwQ-DU5g0Z86TuYxVSg8-/view?usp=sharing

Code Locations: src/chrome/browser/ui/webui/throttling

src/chrome/browser/resources/throttling

services/network/public/mojom/network_context.mojom Error: (Mojom related error), For Webui to execute we need PageHandler,PageHandlerFactory and Page interfaces in our mojom file. I imported the network_context.mojom, to expose the SetNetworkConditions in chrome://throttling. image image

sandys commented 4 months ago

history of error: Steps to reproduce error: In terminal cd src

autoninja -C out/Default chrome_public_apk In app: Type chrome://throttle in the url

Type wootzapp://throttle in the URL, or try chrome://throttle

Issue description: I am trying to expose the SetNetworkConditons (in the network_context.mojom) to the frontend so that user can give all the network conditions and set the throttling manually, similar to the network tab in chrome's devtools.

What I am trying to implement is similar to net_internals code, where they have also tried using network mojom. And my approach is quite similar to theirs. net_internals frontend [net_internals backend] (https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/ui/webui/net_internals/net_internals_ui.h;bpv=0)

How devtools did it: Browser side content/browser/devtools/protocol/network_handler.cc

Frontend side: third_party/devtools-frontend/src/front_end/core/sdk/NetworkManager.ts

APK Link: https://drive.google.com/file/d/1LovZFMSvdYNRwQ-DU5g0Z86TuYxVSg8-/1hxhjkcuad2dpj3aOVQqL0wWS88oRSGdL/view?usp=sharing

Code Locations: For the browser code --> BACKEND CODE src/chrome/browser/ui/webui/throttle
src/chrome/browser/ui/webui/throttle

For the resources part --> FRONTEND CODE src/chrome/browser/resources/throttle

Mojom part services/network/public/mojom/network_context.mojom

image

sandys commented 4 months ago

history of error:

Steps to reproduce error: In terminal cd src

autoninja -C out/Default chrome_public_apk In app: Type wootzapp://throttle in the URL, or try chrome://throttle

Issue description: I am trying to expose the SetNetworkConditons (in the network_context.mojom) to the frontend so that user can give all the network conditions and set the throttling manually, similar to the network tab in chrome's devtools.

What I am trying to implement is similar to net_internals code, where they have also tried using network mojom. And my approach is quite similar to theirs. net_internals frontend [net_internals backend] (https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/ui/webui/net_internals/net_internals_ui.h;bpv=0)[net_internals backend](https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/ui/webui/net_internals/net_internals_ui.h;bpv=0)

How devtools did it: Browser side content/browser/devtools/protocol/network_handler.cc

Frontend side: third_party/devtools-frontend/src/front_end/core/sdk/NetworkManager.ts

APK Link: https://drive.google.com/file/d/1hxhjkcuad2dpj3aOVQqL0wWS88oRSGdL/view?usp=sharing

Code Locations: For the browser code --> BACKEND CODE src/chrome/browser/ui/webui/throttle

For the resources part --> FRONTEND CODE src/chrome/browser/resources/throttle

Mojom part services/network/public/mojom/network_context.mojom image

sandys commented 4 months ago

history of error:

Steps: In app: Type chrome://throttle

Demo Link: Dummy data: (to check network throttling) 1.) set data to

latency:200000 download: 50000 upload: 70000 (This will lead to slower internet bandwidth)

latency:200000 download: 5000 upload: 7000 (This will lead to slower internet bandwidth)

set data to latency:200000 download: 50000 upload: 700000 (This will lead to relatively faster internet bandwidth)

latency:200 download: 500000 upload: 7000000 (This will lead to relatively faster internet bandwidth)

APK Link: https://drive.google.com/drive/folders/101D1ifg-H9d94RuYtui16sqIDjnsyqy5?usp=sharing

sandys commented 4 months ago

apologies to everyone for accidental overwrite of main comment.

Aankirz commented 4 months ago

Sincere apologies from my side, in a hurry edited the main content. sorry once again.

Aankirz commented 4 months ago

Here's the loom demo link: https://www.loom.com/share/d37adf1726ed441fbd6c7ae7010b5381?sid=190de78d-5fcc-4855-9936-ac077984e447