Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ )

Reason for revert:
Downstream projects being updated.

For Chrome, relanding depends on cl
https://codereview.chromium.org/2855783003/

Original issue's description:
> Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
>
> Reason for revert:
> Broke Chrome build, see, e.g.,
> http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237
>
> Original issue's description:
> > Delete deprecated and transitional stuff related to video frame refactoring.
> >
> > BUG=webrtc:5880
> >
> > Review-Url: https://codereview.webrtc.org/2622263002
> > Cr-Commit-Position: refs/heads/master@{#17928}
> > Committed: https://chromium.googlesource.com/external/webrtc/+/713a3bbcc74a4c1a1f54d6dbd0bdaa715f5c1ae1
>
> TBR=mflodman@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5880
>
> Review-Url: https://codereview.webrtc.org/2845333002
> Cr-Commit-Position: refs/heads/master@{#17929}
> Committed: https://chromium.googlesource.com/external/webrtc/+/aec49d2b49e1beceb286cbb29ad220aefd0ac648

TBR=mflodman@webrtc.org,perkj@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2852303002
Cr-Commit-Position: refs/heads/master@{#17974}
diff --git a/webrtc/api/mediastreaminterface.h b/webrtc/api/mediastreaminterface.h
index 2d16e52..2acaa00 100644
--- a/webrtc/api/mediastreaminterface.h
+++ b/webrtc/api/mediastreaminterface.h
@@ -23,10 +23,6 @@
 #include <vector>
 
 #include "webrtc/api/video/video_frame.h"
-// TODO(nisse): Transition hack, Chrome expects that including this
-// file declares I420Buffer. Delete after users of I420Buffer are
-// fixed to include the new header.
-#include "webrtc/api/video/i420_buffer.h"
 #include "webrtc/base/refcount.h"
 #include "webrtc/base/scoped_ref_ptr.h"
 #include "webrtc/base/optional.h"
diff --git a/webrtc/api/video/i420_buffer.cc b/webrtc/api/video/i420_buffer.cc
index 81f5789..32c73ea 100644
--- a/webrtc/api/video/i420_buffer.cc
+++ b/webrtc/api/video/i420_buffer.cc
@@ -131,17 +131,6 @@
   return buffer;
 }
 
-// static
-rtc::scoped_refptr<VideoFrameBuffer> I420Buffer::Rotate(
-    rtc::scoped_refptr<VideoFrameBuffer> src,
-    VideoRotation rotation) {
-  if (rotation == webrtc::kVideoRotation_0) {
-    return src;
-  } else {
-    return Rotate(*src, rotation);
-  }
-}
-
 void I420Buffer::InitializeData() {
   memset(data_.get(), 0,
          I420DataSize(height_, stride_y_, stride_u_, stride_v_));
diff --git a/webrtc/api/video/i420_buffer.h b/webrtc/api/video/i420_buffer.h
index 388a3dd..507bd05 100644
--- a/webrtc/api/video/i420_buffer.h
+++ b/webrtc/api/video/i420_buffer.h
@@ -53,9 +53,6 @@
   // are resolved in a better way. Or in the mean time, use SetBlack.
   void InitializeData();
 
-  // TODO(nisse): Deprecated, use static method instead.
-  void SetToBlack() { SetBlack(this); }
-
   int width() const override;
   int height() const override;
   const uint8_t* DataY() const override;
@@ -88,14 +85,6 @@
   // Scale all of |src| to the size of |this| buffer, with no cropping.
   void ScaleFrom(const VideoFrameBuffer& src);
 
-  // TODO(nisse): Deprecated, delete once downstream applications are updated.
-  // Returns a rotated versions of |src|. Native buffers are not
-  // supported. The reason this function doesn't return an I420Buffer,
-  // is that it returns |src| unchanged in case |rotation| is zero.
-  static rtc::scoped_refptr<VideoFrameBuffer> Rotate(
-      rtc::scoped_refptr<VideoFrameBuffer> src,
-      VideoRotation rotation);
-
  protected:
   I420Buffer(int width, int height);
   I420Buffer(int width, int height, int stride_y, int stride_u, int stride_v);
diff --git a/webrtc/api/video/video_frame.h b/webrtc/api/video/video_frame.h
index 8840782..82c348d 100644
--- a/webrtc/api/video/video_frame.h
+++ b/webrtc/api/video/video_frame.h
@@ -16,11 +16,6 @@
 #include "webrtc/api/video/video_rotation.h"
 #include "webrtc/api/video/video_frame_buffer.h"
 
-// TODO(nisse): Transition hack, some downstream applications expect
-// that including this file also defines base/timeutils.h constants.
-// Delete after applications are fixed to include the right headers.
-#include "webrtc/base/timeutils.h"
-
 namespace webrtc {
 
 class VideoFrame {
diff --git a/webrtc/api/video_codecs/BUILD.gn b/webrtc/api/video_codecs/BUILD.gn
index befd065..5562eec 100644
--- a/webrtc/api/video_codecs/BUILD.gn
+++ b/webrtc/api/video_codecs/BUILD.gn
@@ -22,6 +22,7 @@
     # TODO(ilnik): Add dependency on webrtc/video_frame.h when it will have it's
     # own build target.
 
+    "..:video_frame_api",
     "../..:webrtc_common",
     "../../base:rtc_base_approved",
   ]
diff --git a/webrtc/api/video_codecs/video_decoder.h b/webrtc/api/video_codecs/video_decoder.h
index ba62822..04deaed 100644
--- a/webrtc/api/video_codecs/video_decoder.h
+++ b/webrtc/api/video_codecs/video_decoder.h
@@ -15,6 +15,7 @@
 #include <string>
 #include <vector>
 
+#include "webrtc/api/video/video_frame.h"
 #include "webrtc/common_types.h"
 #include "webrtc/typedefs.h"
 #include "webrtc/video_frame.h"
diff --git a/webrtc/api/video_codecs/video_encoder.h b/webrtc/api/video_codecs/video_encoder.h
index 969de43..5d21ed9 100644
--- a/webrtc/api/video_codecs/video_encoder.h
+++ b/webrtc/api/video_codecs/video_encoder.h
@@ -15,6 +15,7 @@
 #include <string>
 #include <vector>
 
+#include "webrtc/api/video/video_frame.h"
 #include "webrtc/base/checks.h"
 #include "webrtc/common_types.h"
 #include "webrtc/typedefs.h"
diff --git a/webrtc/common_video/corevideo_frame_buffer.cc b/webrtc/common_video/corevideo_frame_buffer.cc
index 6455ed1..73160e1 100644
--- a/webrtc/common_video/corevideo_frame_buffer.cc
+++ b/webrtc/common_video/corevideo_frame_buffer.cc
@@ -11,6 +11,7 @@
 #include "webrtc/common_video/include/corevideo_frame_buffer.h"
 
 #include "libyuv/convert.h"
+#include "webrtc/api/video/i420_buffer.h"
 #include "webrtc/base/checks.h"
 #include "webrtc/base/logging.h"
 #include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
diff --git a/webrtc/common_video/i420_video_frame_unittest.cc b/webrtc/common_video/i420_video_frame_unittest.cc
index 8c97ca7..f3ee931 100644
--- a/webrtc/common_video/i420_video_frame_unittest.cc
+++ b/webrtc/common_video/i420_video_frame_unittest.cc
@@ -12,6 +12,7 @@
 #include <string.h>
 
 #include "webrtc/api/video/video_frame.h"
+#include "webrtc/api/video/i420_buffer.h"
 #include "webrtc/base/bind.h"
 #include "webrtc/base/timeutils.h"
 #include "webrtc/test/fake_texture_frame.h"
@@ -291,20 +292,4 @@
                                           kVideoRotation_180,
                                           kVideoRotation_270));
 
-class TestI420BufferRotateOld
-    : public ::testing::TestWithParam<webrtc::VideoRotation> {};
-
-TEST_P(TestI420BufferRotateOld, Rotates) {
-  rtc::scoped_refptr<VideoFrameBuffer> buffer = CreateGradient(640, 480);
-  rtc::scoped_refptr<VideoFrameBuffer> rotated_buffer =
-      I420Buffer::Rotate(buffer, GetParam());
-  CheckRotate(640, 480, GetParam(), *rotated_buffer);
-}
-
-INSTANTIATE_TEST_CASE_P(Rotate, TestI420BufferRotateOld,
-                        ::testing::Values(kVideoRotation_0,
-                                          kVideoRotation_90,
-                                          kVideoRotation_180,
-                                          kVideoRotation_270));
-
 }  // namespace webrtc
diff --git a/webrtc/common_video/include/video_frame_buffer.h b/webrtc/common_video/include/video_frame_buffer.h
index dfdd480..e6c1f14 100644
--- a/webrtc/common_video/include/video_frame_buffer.h
+++ b/webrtc/common_video/include/video_frame_buffer.h
@@ -14,9 +14,6 @@
 #include <memory>
 
 #include "webrtc/api/video/video_frame_buffer.h"
-// TODO(nisse): For backwards compatibility, files including this file
-// expect it to declare I420Buffer. Delete after callers are updated.
-#include "webrtc/api/video/i420_buffer.h"
 #include "webrtc/base/callback.h"
 #include "webrtc/base/scoped_ref_ptr.h"
 
diff --git a/webrtc/common_video/rotation.h b/webrtc/common_video/rotation.h
deleted file mode 100644
index f01c812..0000000
--- a/webrtc/common_video/rotation.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- *  Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-// TODO(nisse): Delete this file, once downstream code is updated.
-
-#ifndef WEBRTC_COMMON_VIDEO_ROTATION_H_
-#define WEBRTC_COMMON_VIDEO_ROTATION_H_
-
-#include "webrtc/api/video/video_rotation.h"
-
-#endif  // WEBRTC_COMMON_VIDEO_ROTATION_H_
diff --git a/webrtc/media/BUILD.gn b/webrtc/media/BUILD.gn
index a86f86a..b352225 100644
--- a/webrtc/media/BUILD.gn
+++ b/webrtc/media/BUILD.gn
@@ -73,7 +73,6 @@
     "base/videocapturerfactory.h",
     "base/videocommon.cc",
     "base/videocommon.h",
-    "base/videoframe.h",
     "base/videosourcebase.cc",
     "base/videosourcebase.h",
   ]
@@ -156,7 +155,6 @@
     "engine/webrtcvideoencoderfactory.h",
     "engine/webrtcvideoengine2.cc",
     "engine/webrtcvideoengine2.h",
-    "engine/webrtcvideoframe.h",
     "engine/webrtcvoe.h",
     "engine/webrtcvoiceengine.cc",
     "engine/webrtcvoiceengine.h",
diff --git a/webrtc/media/base/videocapturer.h b/webrtc/media/base/videocapturer.h
index 510063b..76ab95a 100644
--- a/webrtc/media/base/videocapturer.h
+++ b/webrtc/media/base/videocapturer.h
@@ -20,12 +20,6 @@
 #include <string>
 #include <vector>
 
-// TODO(nisse): Transition hack, some downstream applications expect that
-// including this file declares I420Buffer and NativeHandleBuffer. Delete after
-// users of these classes are fixed to include the right headers.
-#include "webrtc/api/video/i420_buffer.h"
-#include "webrtc/common_video/include/video_frame_buffer.h"
-
 #include "webrtc/base/constructormagic.h"
 #include "webrtc/base/criticalsection.h"
 #include "webrtc/media/base/videosourceinterface.h"
diff --git a/webrtc/media/base/videoframe.h b/webrtc/media/base/videoframe.h
deleted file mode 100644
index 8e8a05d..0000000
--- a/webrtc/media/base/videoframe.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- *  Copyright (c) 2004 The WebRTC project authors. All Rights Reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-// TODO(nisse): Deprecated, replace cricket::VideoFrame with
-// webrtc::VideoFrame everywhere, then delete this file. See
-// https://bugs.chromium.org/p/webrtc/issues/detail?id=5682.
-
-#ifndef WEBRTC_MEDIA_BASE_VIDEOFRAME_H_
-#define WEBRTC_MEDIA_BASE_VIDEOFRAME_H_
-
-// TODO(nisse): Some applications expect that including this file
-// implies an include of logging.h. So keep for compatibility, until
-// this file can be deleted.
-#include "webrtc/base/logging.h"
-
-#include "webrtc/api/video/video_frame.h"
-
-// TODO(nisse): Similarly, some applications expect that including this file
-// implies a forward declaration of rtc::Thread.
-namespace rtc {
-class Thread;
-}  // namespace rtc
-
-namespace cricket {
-
-using VideoFrame = webrtc::VideoFrame;
-
-}  // namespace cricket
-
-#endif  // WEBRTC_MEDIA_BASE_VIDEOFRAME_H_
diff --git a/webrtc/media/engine/webrtcvideoframe.h b/webrtc/media/engine/webrtcvideoframe.h
deleted file mode 100644
index d836905..0000000
--- a/webrtc/media/engine/webrtcvideoframe.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-// TODO(nisse): Deprecated, replace cricket::WebRtcVideoFrame with
-// webrtc::VideoFrame everywhere, then delete this file. See
-// https://bugs.chromium.org/p/webrtc/issues/detail?id=5682.
-
-#ifndef WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOFRAME_H_
-#define WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOFRAME_H_
-
-#include <memory>
-
-#include "webrtc/base/buffer.h"
-#include "webrtc/base/refcount.h"
-#include "webrtc/base/scoped_ref_ptr.h"
-#include "webrtc/common_types.h"
-#include "webrtc/common_video/include/video_frame_buffer.h"
-#include "webrtc/media/base/videoframe.h"
-
-namespace cricket {
-
-using WebRtcVideoFrame = webrtc::VideoFrame;
-
-}  // namespace cricket
-
-#endif  // WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOFRAME_H_
diff --git a/webrtc/modules/video_coding/codecs/test/video_codec_test.cc b/webrtc/modules/video_coding/codecs/test/video_codec_test.cc
index d0d86ce..d94c2152 100644
--- a/webrtc/modules/video_coding/codecs/test/video_codec_test.cc
+++ b/webrtc/modules/video_coding/codecs/test/video_codec_test.cc
@@ -10,6 +10,7 @@
 
 #include "webrtc/modules/video_coding/codecs/test/video_codec_test.h"
 
+#include "webrtc/api/video/i420_buffer.h"
 #include "webrtc/modules/video_coding/include/video_error_codes.h"
 #include "webrtc/test/frame_utils.h"
 #include "webrtc/test/testsupport/fileutils.h"
diff --git a/webrtc/modules/video_coding/generic_decoder.cc b/webrtc/modules/video_coding/generic_decoder.cc
index f5d9cfe..5969f23 100644
--- a/webrtc/modules/video_coding/generic_decoder.cc
+++ b/webrtc/modules/video_coding/generic_decoder.cc
@@ -10,6 +10,7 @@
 
 #include "webrtc/base/checks.h"
 #include "webrtc/base/logging.h"
+#include "webrtc/base/timeutils.h"
 #include "webrtc/base/trace_event.h"
 #include "webrtc/modules/video_coding/include/video_coding.h"
 #include "webrtc/modules/video_coding/generic_decoder.h"
diff --git a/webrtc/sdk/android/src/jni/native_handle_impl.cc b/webrtc/sdk/android/src/jni/native_handle_impl.cc
index c40cbf5..90ade58 100644
--- a/webrtc/sdk/android/src/jni/native_handle_impl.cc
+++ b/webrtc/sdk/android/src/jni/native_handle_impl.cc
@@ -12,12 +12,13 @@
 
 #include <memory>
 
-#include "webrtc/sdk/android/src/jni/jni_helpers.h"
+#include "webrtc/api/video/i420_buffer.h"
 #include "webrtc/base/bind.h"
 #include "webrtc/base/checks.h"
 #include "webrtc/base/keep_ref_until_done.h"
 #include "webrtc/base/logging.h"
 #include "webrtc/base/scoped_ref_ptr.h"
+#include "webrtc/sdk/android/src/jni/jni_helpers.h"
 
 using webrtc::NativeHandleBuffer;
 
@@ -142,6 +143,10 @@
   //
   // TODO(nisse): Use an I420BufferPool. We then need to extend that
   // class, and I420Buffer, to support our memory layout.
+  // TODO(nisse): Depending on
+  // system_wrappers/include/aligned_malloc.h violate current DEPS
+  // rules. We get away for now only because it is indirectly included
+  // by i420_buffer.h
   std::unique_ptr<uint8_t, webrtc::AlignedFreeDeleter> yuv_data(
       static_cast<uint8_t*>(webrtc::AlignedMalloc(size, kBufferAlignment)));
   // See YuvConverter.java for the required layout.
diff --git a/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm
index 526cdbe..47f6aca 100644
--- a/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm
+++ b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm
@@ -160,7 +160,7 @@
   // Applying rotation is only supported for legacy reasons and performance is
   // not critical here.
   if (apply_rotation() && rotation != kVideoRotation_0) {
-    buffer = I420Buffer::Rotate(buffer->NativeToI420Buffer(),
+    buffer = I420Buffer::Rotate(*buffer->NativeToI420Buffer(),
                                 rotation);
     if (rotation == kVideoRotation_90 || rotation == kVideoRotation_270) {
       std::swap(captured_width, captured_height);
diff --git a/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm b/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm
index 942171b..8394d66 100644
--- a/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm
+++ b/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm
@@ -12,6 +12,7 @@
 
 #import "RTCVideoFrame+Private.h"
 
+#include "webrtc/api/video/i420_buffer.h"
 #include "webrtc/common_video/include/corevideo_frame_buffer.h"
 
 namespace webrtc {
@@ -60,7 +61,7 @@
   // not critical here.
   webrtc::VideoRotation rotation = static_cast<webrtc::VideoRotation>(frame.rotation);
   if (apply_rotation() && rotation != kVideoRotation_0) {
-    buffer = I420Buffer::Rotate(buffer->NativeToI420Buffer(), rotation);
+    buffer = I420Buffer::Rotate(*buffer->NativeToI420Buffer(), rotation);
     rotation = kVideoRotation_0;
   }
 
diff --git a/webrtc/test/fake_texture_frame.h b/webrtc/test/fake_texture_frame.h
index c857f48..4226f26 100644
--- a/webrtc/test/fake_texture_frame.h
+++ b/webrtc/test/fake_texture_frame.h
@@ -10,6 +10,7 @@
 #ifndef WEBRTC_TEST_FAKE_TEXTURE_FRAME_H_
 #define WEBRTC_TEST_FAKE_TEXTURE_FRAME_H_
 
+#include "webrtc/api/video/i420_buffer.h"
 #include "webrtc/api/video/video_frame.h"
 #include "webrtc/base/checks.h"
 #include "webrtc/common_video/include/video_frame_buffer.h"
diff --git a/webrtc/test/frame_generator_capturer.cc b/webrtc/test/frame_generator_capturer.cc
index d16d8c8..641000d 100644
--- a/webrtc/test/frame_generator_capturer.cc
+++ b/webrtc/test/frame_generator_capturer.cc
@@ -17,6 +17,7 @@
 #include "webrtc/base/logging.h"
 #include "webrtc/base/platform_thread.h"
 #include "webrtc/base/task_queue.h"
+#include "webrtc/base/timeutils.h"
 #include "webrtc/system_wrappers/include/clock.h"
 #include "webrtc/system_wrappers/include/sleep.h"
 #include "webrtc/test/frame_generator.h"
diff --git a/webrtc/video/overuse_frame_detector.cc b/webrtc/video/overuse_frame_detector.cc
index 42ee350..9f65057 100644
--- a/webrtc/video/overuse_frame_detector.cc
+++ b/webrtc/video/overuse_frame_detector.cc
@@ -23,6 +23,7 @@
 #include "webrtc/base/checks.h"
 #include "webrtc/base/logging.h"
 #include "webrtc/base/numerics/exp_filter.h"
+#include "webrtc/base/timeutils.h"
 #include "webrtc/common_video/include/frame_callback.h"
 #include "webrtc/system_wrappers/include/field_trial.h"
 
diff --git a/webrtc/video/receive_statistics_proxy_unittest.cc b/webrtc/video/receive_statistics_proxy_unittest.cc
index 36f5346..fd025f8 100644
--- a/webrtc/video/receive_statistics_proxy_unittest.cc
+++ b/webrtc/video/receive_statistics_proxy_unittest.cc
@@ -12,6 +12,7 @@
 
 #include <memory>
 
+#include "webrtc/api/video/i420_buffer.h"
 #include "webrtc/api/video/video_frame.h"
 #include "webrtc/api/video/video_rotation.h"
 #include "webrtc/modules/video_coding/include/video_codec_interface.h"
diff --git a/webrtc/video/video_send_stream_tests.cc b/webrtc/video/video_send_stream_tests.cc
index e24cb41..23dbffa 100644
--- a/webrtc/video/video_send_stream_tests.cc
+++ b/webrtc/video/video_send_stream_tests.cc
@@ -18,6 +18,7 @@
 #include "webrtc/base/logging.h"
 #include "webrtc/base/platform_thread.h"
 #include "webrtc/base/rate_limiter.h"
+#include "webrtc/base/timeutils.h"
 #include "webrtc/call/call.h"
 #include "webrtc/common_video/include/frame_callback.h"
 #include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h"
diff --git a/webrtc/video_frame.h b/webrtc/video_frame.h
index 47e58a1..93cc171 100644
--- a/webrtc/video_frame.h
+++ b/webrtc/video_frame.h
@@ -17,8 +17,6 @@
 // this file until we have figured out how to refactor and clean up
 // related interfaces.
 
-#include "webrtc/api/video/video_frame.h"
-#include "webrtc/api/video/i420_buffer.h"
 #include "webrtc/common_types.h"
 #include "webrtc/typedefs.h"