Remove TestMediaStreamRendererFactory and TestMediaStreamVideoRenderer
These test classes are no longer necessary now that the MediaStream module is completely in Blink. In a future CL, the CreateMediaStreamRendererFactory() method will be removed from ContentRendererClient. This CL also removes two tests that are obsolete and were marked as flaky/timeout/slow. Bug: 704136 Change-Id: Ia6bd0626ed24418870ed7171e004db8af0d602da Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1910079 Reviewed-by: Peter Beverloo <peter@chromium.org> Commit-Queue: Guido Urdaneta <guidou@chromium.org> Cr-Commit-Position: refs/heads/master@{#717018}
This commit is contained in:

committed by
Commit Bot

parent
27c70dbb91
commit
16dc11baac
content/shell
BUILD.gn
renderer
third_party/blink/web_tests
@ -227,10 +227,6 @@ jumbo_static_library("content_shell_lib") {
|
||||
"renderer/web_test/blink_test_helpers.h",
|
||||
"renderer/web_test/blink_test_runner.cc",
|
||||
"renderer/web_test/blink_test_runner.h",
|
||||
"renderer/web_test/test_media_stream_renderer_factory.cc",
|
||||
"renderer/web_test/test_media_stream_renderer_factory.h",
|
||||
"renderer/web_test/test_media_stream_video_renderer.cc",
|
||||
"renderer/web_test/test_media_stream_video_renderer.h",
|
||||
"renderer/web_test/test_websocket_handshake_throttle_provider.cc",
|
||||
"renderer/web_test/test_websocket_handshake_throttle_provider.h",
|
||||
"renderer/web_test/web_test_content_renderer_client.cc",
|
||||
|
@ -1,62 +0,0 @@
|
||||
// Copyright 2014 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "content/shell/renderer/web_test/test_media_stream_renderer_factory.h"
|
||||
|
||||
#include <utility>
|
||||
|
||||
#include "base/single_thread_task_runner.h"
|
||||
#include "content/shell/renderer/web_test/test_media_stream_video_renderer.h"
|
||||
#include "media/media_buildflags.h"
|
||||
#include "third_party/blink/public/platform/web_media_stream.h"
|
||||
#include "third_party/blink/public/platform/web_media_stream_track.h"
|
||||
#include "third_party/blink/public/web/web_local_frame.h"
|
||||
|
||||
namespace {
|
||||
|
||||
static const int kVideoCaptureWidth = 352;
|
||||
static const int kVideoCaptureHeight = 288;
|
||||
static const int kVideoCaptureFrameDurationMs = 33;
|
||||
|
||||
bool IsMockMediaStreamWithVideo(const blink::WebMediaStream& web_stream) {
|
||||
if (web_stream.IsNull())
|
||||
return false;
|
||||
blink::WebVector<blink::WebMediaStreamTrack> video_tracks =
|
||||
web_stream.VideoTracks();
|
||||
return video_tracks.size() > 0;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
namespace content {
|
||||
|
||||
TestMediaStreamRendererFactory::TestMediaStreamRendererFactory() {}
|
||||
|
||||
TestMediaStreamRendererFactory::~TestMediaStreamRendererFactory() {}
|
||||
|
||||
scoped_refptr<blink::WebMediaStreamVideoRenderer>
|
||||
TestMediaStreamRendererFactory::GetVideoRenderer(
|
||||
const blink::WebMediaStream& web_stream,
|
||||
const blink::WebMediaStreamVideoRenderer::RepaintCB& repaint_cb,
|
||||
scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
|
||||
scoped_refptr<base::SingleThreadTaskRunner> main_render_task_runner) {
|
||||
if (!IsMockMediaStreamWithVideo(web_stream))
|
||||
return nullptr;
|
||||
|
||||
return new TestMediaStreamVideoRenderer(
|
||||
std::move(io_task_runner),
|
||||
gfx::Size(kVideoCaptureWidth, kVideoCaptureHeight),
|
||||
base::TimeDelta::FromMilliseconds(kVideoCaptureFrameDurationMs),
|
||||
repaint_cb);
|
||||
}
|
||||
|
||||
scoped_refptr<blink::WebMediaStreamAudioRenderer>
|
||||
TestMediaStreamRendererFactory::GetAudioRenderer(
|
||||
const blink::WebMediaStream& web_stream,
|
||||
blink::WebLocalFrame* web_frame,
|
||||
const blink::WebString& device_id) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
} // namespace content
|
@ -1,39 +0,0 @@
|
||||
// Copyright 2014 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef CONTENT_SHELL_RENDERER_WEB_TEST_TEST_MEDIA_STREAM_RENDERER_FACTORY_H_
|
||||
#define CONTENT_SHELL_RENDERER_WEB_TEST_TEST_MEDIA_STREAM_RENDERER_FACTORY_H_
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "base/callback_forward.h"
|
||||
#include "third_party/blink/public/web/modules/mediastream/web_media_stream_renderer_factory.h"
|
||||
|
||||
namespace content {
|
||||
|
||||
// TestMediaStreamClient is a mock implementation of MediaStreamClient used when
|
||||
// running web tests.
|
||||
class TestMediaStreamRendererFactory
|
||||
: public blink::WebMediaStreamRendererFactory {
|
||||
public:
|
||||
TestMediaStreamRendererFactory();
|
||||
~TestMediaStreamRendererFactory() override;
|
||||
|
||||
// MediaStreamRendererFactory implementation.
|
||||
scoped_refptr<blink::WebMediaStreamVideoRenderer> GetVideoRenderer(
|
||||
const blink::WebMediaStream& web_stream,
|
||||
const blink::WebMediaStreamVideoRenderer::RepaintCB& repaint_cb,
|
||||
scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
|
||||
scoped_refptr<base::SingleThreadTaskRunner> main_render_task_runner)
|
||||
override;
|
||||
|
||||
scoped_refptr<blink::WebMediaStreamAudioRenderer> GetAudioRenderer(
|
||||
const blink::WebMediaStream& web_stream,
|
||||
blink::WebLocalFrame* web_frame,
|
||||
const blink::WebString& device_id) override;
|
||||
};
|
||||
|
||||
} // namespace content
|
||||
|
||||
#endif // CONTENT_SHELL_RENDERER_WEB_TEST_TEST_MEDIA_STREAM_RENDERER_FACTORY_H_
|
@ -1,84 +0,0 @@
|
||||
// Copyright 2013 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "content/shell/renderer/web_test/test_media_stream_video_renderer.h"
|
||||
|
||||
#include "base/bind.h"
|
||||
#include "base/location.h"
|
||||
#include "base/single_thread_task_runner.h"
|
||||
#include "base/threading/thread_task_runner_handle.h"
|
||||
#include "media/base/video_frame.h"
|
||||
#include "third_party/blink/public/platform/scheduler/test/renderer_scheduler_test_support.h"
|
||||
|
||||
namespace content {
|
||||
|
||||
TestMediaStreamVideoRenderer::TestMediaStreamVideoRenderer(
|
||||
const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner,
|
||||
const gfx::Size& size,
|
||||
const base::TimeDelta& frame_duration,
|
||||
const blink::WebMediaStreamVideoRenderer::RepaintCB& repaint_cb)
|
||||
: task_runner_(blink::scheduler::GetSingleThreadTaskRunnerForTesting()),
|
||||
io_task_runner_(io_task_runner),
|
||||
size_(size),
|
||||
state_(kStopped),
|
||||
frame_duration_(frame_duration),
|
||||
repaint_cb_(repaint_cb) {}
|
||||
|
||||
TestMediaStreamVideoRenderer::~TestMediaStreamVideoRenderer() {}
|
||||
|
||||
void TestMediaStreamVideoRenderer::Start() {
|
||||
DVLOG(1) << "TestMediaStreamVideoRenderer::Start";
|
||||
DCHECK(task_runner_->BelongsToCurrentThread());
|
||||
state_ = kStarted;
|
||||
task_runner_->PostTask(
|
||||
FROM_HERE,
|
||||
base::BindOnce(&TestMediaStreamVideoRenderer::GenerateFrame, this));
|
||||
}
|
||||
|
||||
void TestMediaStreamVideoRenderer::Stop() {
|
||||
DVLOG(1) << "TestMediaStreamVideoRenderer::Stop";
|
||||
DCHECK(task_runner_->BelongsToCurrentThread());
|
||||
state_ = kStopped;
|
||||
}
|
||||
|
||||
void TestMediaStreamVideoRenderer::Resume() {
|
||||
DVLOG(1) << "TestMediaStreamVideoRenderer::Resume";
|
||||
DCHECK(task_runner_->BelongsToCurrentThread());
|
||||
if (state_ == kPaused)
|
||||
state_ = kStarted;
|
||||
}
|
||||
|
||||
void TestMediaStreamVideoRenderer::Pause() {
|
||||
DVLOG(1) << "TestMediaStreamVideoRenderer::Pause";
|
||||
DCHECK(task_runner_->BelongsToCurrentThread());
|
||||
if (state_ == kStarted)
|
||||
state_ = kPaused;
|
||||
}
|
||||
|
||||
void TestMediaStreamVideoRenderer::GenerateFrame() {
|
||||
DVLOG(1) << "TestMediaStreamVideoRenderer::GenerateFrame";
|
||||
DCHECK(task_runner_->BelongsToCurrentThread());
|
||||
if (state_ == kStopped)
|
||||
return;
|
||||
|
||||
if (state_ == kStarted) {
|
||||
// Always allocate a new frame filled with white color.
|
||||
scoped_refptr<media::VideoFrame> video_frame =
|
||||
media::VideoFrame::CreateColorFrame(size_, 255, 128, 128,
|
||||
current_time_);
|
||||
|
||||
// TODO(wjia): set pixel data to pre-defined patterns if it's desired to
|
||||
// verify frame content.
|
||||
io_task_runner_->PostTask(FROM_HERE,
|
||||
base::BindOnce(repaint_cb_, video_frame));
|
||||
}
|
||||
|
||||
current_time_ += frame_duration_;
|
||||
task_runner_->PostDelayedTask(
|
||||
FROM_HERE,
|
||||
base::BindOnce(&TestMediaStreamVideoRenderer::GenerateFrame, this),
|
||||
frame_duration_);
|
||||
}
|
||||
|
||||
} // namespace content
|
@ -1,64 +0,0 @@
|
||||
// Copyright 2013 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef CONTENT_SHELL_RENDERER_WEB_TEST_TEST_MEDIA_STREAM_VIDEO_RENDERER_H_
|
||||
#define CONTENT_SHELL_RENDERER_WEB_TEST_TEST_MEDIA_STREAM_VIDEO_RENDERER_H_
|
||||
|
||||
#include "base/macros.h"
|
||||
#include "base/time/time.h"
|
||||
#include "third_party/blink/public/platform/modules/mediastream/web_media_stream_video_renderer.h"
|
||||
#include "ui/gfx/geometry/size.h"
|
||||
|
||||
namespace base {
|
||||
class SingleThreadTaskRunner;
|
||||
}
|
||||
|
||||
namespace content {
|
||||
|
||||
// A blink::WebMediaStreamVideoRenderer that generates raw frames and
|
||||
// passes them to webmediaplayer.
|
||||
// Since non-black pixel values are required in the web test, e.g.,
|
||||
// media/video-capture-canvas.html, this class should generate frame with
|
||||
// only non-black pixels.
|
||||
class TestMediaStreamVideoRenderer : public blink::WebMediaStreamVideoRenderer {
|
||||
public:
|
||||
TestMediaStreamVideoRenderer(
|
||||
const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner,
|
||||
const gfx::Size& size,
|
||||
const base::TimeDelta& frame_duration,
|
||||
const RepaintCB& repaint_cb);
|
||||
|
||||
// blink::WebMediaStreamVideoRenderer implementation.
|
||||
void Start() override;
|
||||
void Stop() override;
|
||||
void Resume() override;
|
||||
void Pause() override;
|
||||
|
||||
protected:
|
||||
~TestMediaStreamVideoRenderer() override;
|
||||
|
||||
private:
|
||||
enum State {
|
||||
kStarted,
|
||||
kPaused,
|
||||
kStopped,
|
||||
};
|
||||
|
||||
void GenerateFrame();
|
||||
|
||||
scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
||||
scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_;
|
||||
gfx::Size size_;
|
||||
State state_;
|
||||
|
||||
base::TimeDelta current_time_;
|
||||
base::TimeDelta frame_duration_;
|
||||
RepaintCB repaint_cb_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(TestMediaStreamVideoRenderer);
|
||||
};
|
||||
|
||||
} // namespace content
|
||||
|
||||
#endif // CONTENT_SHELL_RENDERER_WEB_TEST_TEST_MEDIA_STREAM_VIDEO_RENDERER_H_
|
@ -22,7 +22,6 @@
|
||||
#include "content/shell/renderer/shell_render_view_observer.h"
|
||||
#include "content/shell/renderer/web_test/blink_test_helpers.h"
|
||||
#include "content/shell/renderer/web_test/blink_test_runner.h"
|
||||
#include "content/shell/renderer/web_test/test_media_stream_renderer_factory.h"
|
||||
#include "content/shell/renderer/web_test/test_websocket_handshake_throttle_provider.h"
|
||||
#include "content/shell/renderer/web_test/web_test_render_frame_observer.h"
|
||||
#include "content/shell/renderer/web_test/web_test_render_thread_observer.h"
|
||||
@ -36,6 +35,7 @@
|
||||
#include "third_party/blink/public/platform/web_rtc_peer_connection_handler.h"
|
||||
#include "third_party/blink/public/platform/web_runtime_features.h"
|
||||
#include "third_party/blink/public/web/blink.h"
|
||||
#include "third_party/blink/public/web/modules/mediastream/web_media_stream_renderer_factory.h"
|
||||
#include "third_party/blink/public/web/web_plugin_params.h"
|
||||
#include "third_party/blink/public/web/web_testing_support.h"
|
||||
#include "third_party/blink/public/web/web_view.h"
|
||||
@ -79,8 +79,7 @@ void WebTestContentRendererClient::RenderViewCreated(RenderView* render_view) {
|
||||
|
||||
std::unique_ptr<blink::WebMediaStreamRendererFactory>
|
||||
WebTestContentRendererClient::CreateMediaStreamRendererFactory() {
|
||||
return std::unique_ptr<blink::WebMediaStreamRendererFactory>(
|
||||
new TestMediaStreamRendererFactory());
|
||||
return blink::CreateWebMediaStreamRendererFactory();
|
||||
}
|
||||
|
||||
std::unique_ptr<content::WebSocketHandshakeThrottleProvider>
|
||||
|
2
third_party/blink/web_tests/SlowTests
vendored
2
third_party/blink/web_tests/SlowTests
vendored
@ -369,8 +369,6 @@ crbug.com/874695 fast/forms/select/input-select-after-resize.html [ Slow ]
|
||||
crbug.com/874695 fast/forms/suggestion-picker/date-suggestion-picker-key-operations.html [ Slow ]
|
||||
crbug.com/874695 fast/history/history-back-twice-with-subframes-assert.html [ Slow ]
|
||||
crbug.com/874695 fast/media/mq-color-gamut-picture.html [ Slow ]
|
||||
crbug.com/874695 fast/mediastream/MediaStreamTrack.html [ Slow ]
|
||||
crbug.com/874695 fast/mediastream/MediaStreamTrack-observer-iterate-no-crash.html [ Slow ]
|
||||
crbug.com/874695 fast/peerconnection/RTCPeerConnection-many.html [ Slow ]
|
||||
crbug.com/874695 fast/peerconnection/RTCRtpSender-setParameters.html [ Slow ]
|
||||
crbug.com/874695 fast/scroll-behavior/overscroll-behavior.html [ Slow ]
|
||||
|
5
third_party/blink/web_tests/TestExpectations
vendored
5
third_party/blink/web_tests/TestExpectations
vendored
@ -4537,11 +4537,6 @@ crbug.com/771492 [ Win ] external/wpt/css/css-tables/table-model-fixup-2.html [
|
||||
crbug.com/771492 [ Linux ] external/wpt/css/css-tables/table-model-fixup-2.html [ Failure ]
|
||||
crbug.com/771492 [ Mac ] external/wpt/css/css-tables/table-model-fixup-2.html [ Failure ]
|
||||
|
||||
# Suspended WebRTC tests
|
||||
# Timeout due to events not firing
|
||||
crbug.com/781935 fast/mediastream/MediaStreamTrack-observer-iterate-no-crash.html [ Timeout ]
|
||||
crbug.com/781935 fast/mediastream/MediaStreamTrack.html [ Pass Failure Timeout ]
|
||||
|
||||
crbug.com/807191 fast/media/mq-color-gamut-picture.html [ Pass Failure Timeout ]
|
||||
|
||||
# Text rendering on Win7 failing image diffs, flakily.
|
||||
|
@ -1,4 +0,0 @@
|
||||
This is a testharness.js-based test.
|
||||
FAIL Tests that a disabled video track in a MediaStream is rendered as blackness assert_equals: No red component in pixel #0 expected 0 but got 255
|
||||
Harness: the test ran to completion.
|
||||
|
30
third_party/blink/web_tests/fast/mediastream/MediaStreamTrack-observer-iterate-no-crash.html
vendored
30
third_party/blink/web_tests/fast/mediastream/MediaStreamTrack-observer-iterate-no-crash.html
vendored
@ -1,30 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<title>Verify that MediaStreamTracks created while dispatching MediaStreamSource
|
||||
events do not crash.</title>
|
||||
<script src="../../resources/testharness.js"></script>
|
||||
<script src="../../resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
async_test(test => {
|
||||
navigator.mediaDevices.getUserMedia({audio:true, video: true})
|
||||
.then(test.step_func(stream => {
|
||||
// |track| may be any of the audio or video tracks.
|
||||
var track = stream.getTracks()[0];
|
||||
assert_equals(track.readyState, "live");
|
||||
track.onended = test.unreached_func("ended event should not be fired.");
|
||||
track.onmute = test.step_func(() => {
|
||||
assert_equals(track.readyState, "live");
|
||||
track.clone();
|
||||
track.stop();
|
||||
assert_equals(track.readyState, "ended");
|
||||
track.clone();
|
||||
|
||||
// Use a timeout to detect a misfire of the ended event.
|
||||
test.step_timeout(test.step_func_done(() => {
|
||||
assert_equals(track.readyState, "ended");
|
||||
}));
|
||||
});
|
||||
track.enabled = false;
|
||||
}))
|
||||
.catch(test.unreached_func("getUserMedia failed"));
|
||||
});
|
||||
</script>
|
@ -1,37 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<title>Tests MediaStreamTrack callbacks.</title>
|
||||
<script src="../../resources/testharness.js"></script>
|
||||
<script src="../../resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
async_test(test => {
|
||||
navigator.mediaDevices.getUserMedia({audio:true, video: true})
|
||||
.then(test.step_func(stream => {
|
||||
// |track| may be any of the audio or video tracks.
|
||||
var track = stream.getTracks()[0];
|
||||
assert_equals(track.readyState, "live");
|
||||
|
||||
track.onmute = test.step_func(() => {
|
||||
assert_equals(track.readyState, "live");
|
||||
assert_true(track.muted);
|
||||
|
||||
track.onunmute = test.step_func(() => {
|
||||
assert_equals(track.readyState, "live");
|
||||
assert_false(track.muted);
|
||||
track.stop();
|
||||
assert_equals(track.readyState, "ended");
|
||||
|
||||
// Use a timeout to detect a misfire of the ended event.
|
||||
test.step_timeout(test.step_func_done(() => {
|
||||
assert_equals(track.readyState, "ended");
|
||||
}));
|
||||
});
|
||||
|
||||
track.enabled = true;
|
||||
});
|
||||
|
||||
track.onended = test.unreached_func("ended event should not be fired.");
|
||||
track.enabled = false;
|
||||
}))
|
||||
.catch(test.unreached_func("getUserMedia failed"));
|
||||
});
|
||||
</script>
|
Reference in New Issue
Block a user