diff --git a/third_party/blink/web_tests/external/wpt/device-posture/device-posture-change-event.https.html b/third_party/blink/web_tests/external/wpt/device-posture/device-posture-change-event.https.html
new file mode 100644
index 0000000000000..eb2fc2d96f81e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/device-posture/device-posture-change-event.https.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script>
+'use strict';
+
+promise_test(async (t) => {
+  t.add_cleanup(async () => {
+    await test_driver.clear_device_posture();
+  });
+  const watcher = new EventWatcher(t, navigator.devicePosture, ['change']);
+  const postures = ['folded', 'continuous', 'folded'];
+  for (const posture of postures) {
+    await Promise.all([
+      watcher.wait_for('change'),
+      test_driver.set_device_posture(posture)
+    ]);
+    assert_equals(posture, navigator.devicePosture.type);
+  }
+}, 'Tests the Device Posture API change event handler.');
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/device-posture/device-posture-clear.https.html b/third_party/blink/web_tests/external/wpt/device-posture/device-posture-clear.https.html
new file mode 100644
index 0000000000000..319cd7266af06
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/device-posture/device-posture-clear.https.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script>
+'use strict';
+
+promise_test(async (t) => {
+  t.add_cleanup(async () => {
+    await test_driver.clear_device_posture();
+  });
+  const originalPosture = navigator.devicePosture.type;
+  const posture = originalPosture ? 'folded' : 'continuous';
+
+  const watcher = new EventWatcher(t, navigator.devicePosture, ['change']);
+  await Promise.all([
+    watcher.wait_for('change'),
+    test_driver.set_device_posture(posture)
+  ]);
+  assert_equals(navigator.devicePosture.type, posture);
+
+  await Promise.all([
+    watcher.wait_for('change'),
+    test_driver.clear_device_posture()
+  ]);
+  assert_equals(navigator.devicePosture.type, originalPosture);
+}, 'Tests that device posture override can be removed.');
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/device-posture/device-posture-event-listener.https.html b/third_party/blink/web_tests/external/wpt/device-posture/device-posture-event-listener.https.html
new file mode 100644
index 0000000000000..f4e21c89ccd88
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/device-posture/device-posture-event-listener.https.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script>
+'use strict';
+
+promise_test(async (t) => {
+  t.add_cleanup(async () => {
+    await test_driver.clear_device_posture();
+  });
+  assert_equals(navigator.devicePosture.type, 'continuous');
+
+  const promise = new Promise(resolve => {
+    navigator.devicePosture.addEventListener(
+      'change',
+      () => { resolve(navigator.devicePosture.type); },
+      { once: true }
+    );
+  });
+  await test_driver.set_device_posture('folded');
+  assert_equals(await promise, 'folded');
+}, 'Tests the Device Posture API addEventListener change event handler.');
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/device-posture/device-posture-media-queries.https.html b/third_party/blink/web_tests/external/wpt/device-posture/device-posture-media-queries.https.html
new file mode 100644
index 0000000000000..e4dbd2e7d81d3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/device-posture/device-posture-media-queries.https.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script>
+'use strict';
+
+promise_test(async (t) => {
+  t.add_cleanup(async () => {
+    await test_driver.clear_device_posture();
+  });
+  assert_equals(navigator.devicePosture.type, 'continuous');
+  assert_true(matchMedia('(device-posture: continuous)').matches);
+
+  const foldedMQL = window.matchMedia('(device-posture: folded)');
+  const promise = new Promise(resolve => {
+    foldedMQL.addEventListener(
+      'change',
+      () => { resolve(foldedMQL.matches); },
+      { once: true }
+    );
+  });
+  await test_driver.set_device_posture('folded');
+  assert_true(await promise);
+}, 'Tests the Device Posture API Media Query change event handler.');
+</script>
diff --git a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-change-event-expected.txt b/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-change-event-expected.txt
deleted file mode 100644
index 95ab5994e2294..0000000000000
--- a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-change-event-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Test the Device Posture API change event handler.
-Initial Device Posture Type: continuous
-Updated Device Posture Type from change event: folded
-
diff --git a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-change-event.js b/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-change-event.js
deleted file mode 100644
index 9df2eae1ae32c..0000000000000
--- a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-change-event.js
+++ /dev/null
@@ -1,24 +0,0 @@
-(async function(/** @type {import('test_runner').TestRunner} */ testRunner) {
-  const {dp, session} = await testRunner.startBlank(
-    `Test the Device Posture API change event handler.`);
-
-  testRunner.log('Initial Device Posture Type: ' + await session.evaluate('navigator.devicePosture.type'));
-  const postureReceived = session.evaluateAsync(`
-    new Promise(resolve => {
-      navigator.devicePosture.onchange = function() {
-        resolve(navigator.devicePosture.type);
-      }
-    })
-  `);
-  await dp.Emulation.setDeviceMetricsOverride({
-    width: 0,
-    height: 0,
-    deviceScaleFactor: 2.5,
-    mobile: true,
-    scale: 1.,
-    devicePosture: {type : 'folded'}
-  });
-  testRunner.log(
-    `Updated Device Posture Type from change event: ${await postureReceived}`);
-  testRunner.completeTest();
-})
diff --git a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-default-expected.txt b/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-default-expected.txt
deleted file mode 100644
index d013072290840..0000000000000
--- a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-default-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Test the Device Posture API default javascript API.
-Initial Device Posture Type: continuous
-Updated Device Posture Type: folded
-
diff --git a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-default.js b/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-default.js
deleted file mode 100644
index ee174da00eac8..0000000000000
--- a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-default.js
+++ /dev/null
@@ -1,16 +0,0 @@
-(async function(/** @type {import('test_runner').TestRunner} */ testRunner) {
-  const {dp, session} = await testRunner.startBlank(
-    `Test the Device Posture API default javascript API.`);
-
-  testRunner.log('Initial Device Posture Type: ' + await session.evaluate('navigator.devicePosture.type'));
-  await dp.Emulation.setDeviceMetricsOverride({
-    width: 0,
-    height: 0,
-    deviceScaleFactor: 2.5,
-    mobile: true,
-    scale: 1.,
-    devicePosture: {type : 'folded'}
-  });
-  testRunner.log('Updated Device Posture Type: ' + await session.evaluate('navigator.devicePosture.type'));
-  testRunner.completeTest();
-})
diff --git a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-event-listener-expected.txt b/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-event-listener-expected.txt
deleted file mode 100644
index b4e60c0ca108b..0000000000000
--- a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-event-listener-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Test the Device Posture API change event handler.
-Initial Device Posture Type: continuous
-Updated Device Posture Type from addeventlistener change event: folded
-
diff --git a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-event-listener.js b/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-event-listener.js
deleted file mode 100644
index db5c0f0187dc3..0000000000000
--- a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-event-listener.js
+++ /dev/null
@@ -1,26 +0,0 @@
-(async function(/** @type {import('test_runner').TestRunner} */ testRunner) {
-  const {dp, session} = await testRunner.startBlank(
-    `Test the Device Posture API change event handler.`);
-
-  testRunner.log('Initial Device Posture Type: ' + await session.evaluate('navigator.devicePosture.type'));
-  const postureReceived = session.evaluateAsync(`
-    new Promise(resolve => {
-      navigator.devicePosture.addEventListener(
-        'change',
-        () => { resolve(navigator.devicePosture.type); },
-        { once: true }
-      );
-    });
-  `);
-  await dp.Emulation.setDeviceMetricsOverride({
-    width: 0,
-    height: 0,
-    deviceScaleFactor: 2.5,
-    mobile: true,
-    scale: 1.,
-    devicePosture: {type : 'folded'}
-  });
-  testRunner.log(
-    `Updated Device Posture Type from addeventlistener change event: ${await postureReceived}`);
-  testRunner.completeTest();
-})
diff --git a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-media-queries-expected.txt b/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-media-queries-expected.txt
deleted file mode 100644
index 162a14ca8eec5..0000000000000
--- a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-media-queries-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Test the Device Posture API change event handler.
-Initial Device Posture Type: continuous
-matchMedia('(device-posture: continuous)').matches :
-true
-matchMedia('(device-posture: folded)').matches :
-false
-Media Query change event folded matches: true
-
diff --git a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-media-queries.js b/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-media-queries.js
deleted file mode 100644
index 18fd59894f4d6..0000000000000
--- a/third_party/blink/web_tests/http/tests/inspector-protocol/device-posture/device-posture-media-queries.js
+++ /dev/null
@@ -1,36 +0,0 @@
-(async function(/** @type {import('test_runner').TestRunner} */ testRunner) {
-  const {dp, session} = await testRunner.startBlank(
-    `Test the Device Posture API change event handler.`);
-
-  testRunner.log('Initial Device Posture Type: ' + await session.evaluate('navigator.devicePosture.type'));
-
-  testRunner.log(`matchMedia('(device-posture: continuous)').matches :`);
-  testRunner.log(await session.evaluate(`(window.matchMedia('(device-posture: continuous)').matches)`));
-
-  testRunner.log(`matchMedia('(device-posture: folded)').matches :`);
-  testRunner.log(await session.evaluate(`
-    const foldedMQL = window.matchMedia('(device-posture: folded)');
-    foldedMQL.matches;
-  `));
-
-  const mediaQueryPostureChanged = session.evaluateAsync(`
-    new Promise(resolve => {
-      foldedMQL.addEventListener(
-        'change',
-        () => { resolve(foldedMQL.matches); },
-        { once: true }
-      );
-    })
-  `);
-  await dp.Emulation.setDeviceMetricsOverride({
-    width: 0,
-    height: 0,
-    deviceScaleFactor: 2.5,
-    mobile: true,
-    scale: 1.,
-    devicePosture: {type : 'folded'}
-  });
-  testRunner.log(
-    `Media Query change event folded matches: ${await mediaQueryPostureChanged}`);
-  testRunner.completeTest();
-})