picture-in-picture.patch 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330
  1. From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
  2. From: Heilig Benedek <[email protected]>
  3. Date: Sat, 10 Aug 2019 00:41:50 +0200
  4. Subject: feat: enable picture in picture mode for video players
  5. These files are needed to implement PiP, but the Electron build patches out
  6. chrome's generated resources for our own. This updates the #include so that we
  7. don't get errors for Chrome's generated resources, which are non-existent
  8. because we don't generate them in our build.
  9. diff --git a/chrome/browser/ui/views/overlay/back_to_tab_image_button.cc b/chrome/browser/ui/views/overlay/back_to_tab_image_button.cc
  10. index 7bc8d118f87b91baf1c3bd1d34374996ab1d3638..2d2c1c86f311b07f0c2b09d5a4c082cc5599600c 100644
  11. --- a/chrome/browser/ui/views/overlay/back_to_tab_image_button.cc
  12. +++ b/chrome/browser/ui/views/overlay/back_to_tab_image_button.cc
  13. @@ -5,7 +5,7 @@
  14. #include "chrome/browser/ui/views/overlay/back_to_tab_image_button.h"
  15. #include "chrome/browser/ui/color/chrome_color_id.h"
  16. -#include "chrome/grit/generated_resources.h"
  17. +#include "electron/grit/electron_resources.h"
  18. #include "ui/base/l10n/l10n_util.h"
  19. #include "ui/base/metadata/metadata_impl_macros.h"
  20. #include "ui/base/models/image_model.h"
  21. diff --git a/chrome/browser/ui/views/overlay/back_to_tab_label_button.cc b/chrome/browser/ui/views/overlay/back_to_tab_label_button.cc
  22. index 7d0e39968bf34cdc99549cb48f6bf0a11c182565..f21c1672abf34dc9d19cd39c5d09083a60ef6978 100644
  23. --- a/chrome/browser/ui/views/overlay/back_to_tab_label_button.cc
  24. +++ b/chrome/browser/ui/views/overlay/back_to_tab_label_button.cc
  25. @@ -5,7 +5,7 @@
  26. #include "chrome/browser/ui/views/overlay/back_to_tab_label_button.h"
  27. #include "chrome/browser/ui/color/chrome_color_id.h"
  28. -#include "chrome/grit/generated_resources.h"
  29. +#include "electron/grit/electron_resources.h"
  30. #include "third_party/skia/include/core/SkColor.h"
  31. #include "ui/base/cursor/cursor.h"
  32. #include "ui/base/l10n/l10n_util.h"
  33. diff --git a/chrome/browser/ui/views/overlay/close_image_button.cc b/chrome/browser/ui/views/overlay/close_image_button.cc
  34. index d3400d7b02edc9cffba4cb53ec601b6e4cfea3b2..8e620ad6172a650ea96f80c0b44035932471d88b 100644
  35. --- a/chrome/browser/ui/views/overlay/close_image_button.cc
  36. +++ b/chrome/browser/ui/views/overlay/close_image_button.cc
  37. @@ -6,7 +6,7 @@
  38. #include "build/chromeos_buildflags.h"
  39. #include "chrome/browser/ui/color/chrome_color_id.h"
  40. -#include "chrome/grit/generated_resources.h"
  41. +#include "electron/grit/electron_resources.h"
  42. #include "ui/base/l10n/l10n_util.h"
  43. #include "ui/base/metadata/metadata_impl_macros.h"
  44. #include "ui/base/models/image_model.h"
  45. diff --git a/chrome/browser/ui/views/overlay/document_overlay_window_views.cc b/chrome/browser/ui/views/overlay/document_overlay_window_views.cc
  46. index 3309906bcae27ba89d73ce4fba49843a10cd31f6..9f828f70606238186b35b5e1ca8751134eaf3c33 100644
  47. --- a/chrome/browser/ui/views/overlay/document_overlay_window_views.cc
  48. +++ b/chrome/browser/ui/views/overlay/document_overlay_window_views.cc
  49. @@ -15,24 +15,28 @@
  50. #include "base/timer/timer.h"
  51. #include "build/build_config.h"
  52. #include "chrome/app/vector_icons/vector_icons.h"
  53. +#if 0
  54. #include "chrome/browser/command_updater_delegate.h"
  55. #include "chrome/browser/command_updater_impl.h"
  56. #include "chrome/browser/profiles/profile.h"
  57. #include "chrome/browser/themes/theme_service.h"
  58. #include "chrome/browser/ui/browser.h"
  59. #include "chrome/browser/ui/browser_finder.h"
  60. +#endif
  61. #include "chrome/browser/ui/color/chrome_color_id.h"
  62. +#if 0
  63. #include "chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.h"
  64. #include "chrome/browser/ui/views/location_bar/location_bar_view.h"
  65. +#endif
  66. #include "chrome/browser/ui/views/overlay/back_to_tab_image_button.h"
  67. #include "chrome/browser/ui/views/overlay/close_image_button.h"
  68. #include "chrome/browser/ui/views/overlay/resize_handle_button.h"
  69. -#include "chrome/grit/generated_resources.h"
  70. #include "components/omnibox/browser/location_bar_model_impl.h"
  71. #include "components/vector_icons/vector_icons.h"
  72. #include "content/public/browser/document_picture_in_picture_window_controller.h"
  73. #include "content/public/browser/picture_in_picture_window_controller.h"
  74. #include "content/public/browser/web_contents.h"
  75. +#include "electron/grit/electron_resources.h"
  76. #include "content/public/common/content_constants.h"
  77. #include "media/base/media_switches.h"
  78. #include "media/base/video_util.h"
  79. @@ -57,7 +61,7 @@
  80. #include "ui/aura/window.h"
  81. #endif
  82. -#if BUILDFLAG(IS_WIN)
  83. +#if 0
  84. #include "chrome/browser/shell_integration_win.h"
  85. #include "ui/aura/window.h"
  86. #include "ui/aura/window_tree_host.h"
  87. @@ -109,7 +113,7 @@ END_METADATA
  88. } // namespace
  89. OverlayLocationBarViewProxy::~OverlayLocationBarViewProxy() = default;
  90. -
  91. +#if 0
  92. class OverlayLocationBarViewImpl : public OverlayLocationBarViewProxy,
  93. public ChromeLocationBarModelDelegate,
  94. public LocationBarView::Delegate,
  95. @@ -167,7 +171,7 @@ class OverlayLocationBarViewImpl : public OverlayLocationBarViewProxy,
  96. const std::unique_ptr<LocationBarModelImpl> location_bar_model_;
  97. CommandUpdaterImpl command_updater_;
  98. };
  99. -
  100. +#endif
  101. // static
  102. std::unique_ptr<DocumentOverlayWindowViews> DocumentOverlayWindowViews::Create(
  103. content::DocumentPictureInPictureWindowController* controller,
  104. @@ -203,7 +207,7 @@ std::unique_ptr<DocumentOverlayWindowViews> DocumentOverlayWindowViews::Create(
  105. overlay_window->Init(std::move(params));
  106. overlay_window->OnRootViewReady();
  107. -#if BUILDFLAG(IS_WIN)
  108. +#if 0
  109. std::wstring app_user_model_id;
  110. Browser* browser =
  111. chrome::FindBrowserWithWebContents(controller->GetWebContents());
  112. @@ -278,12 +282,6 @@ views::View* DocumentOverlayWindowViews::GetControlsContainerView() const {
  113. return controls_container_view_;
  114. }
  115. -const ui::ThemeProvider* DocumentOverlayWindowViews::GetThemeProvider() const {
  116. - // FIXME: is there a way to use a dark theme just for this window?
  117. - DCHECK(profile_for_theme_);
  118. - return &ThemeService::GetThemeProviderForProfile(profile_for_theme_);
  119. -}
  120. -
  121. void DocumentOverlayWindowViews::SetUpViews() {
  122. // The window content consists of the fixed-height controls_container_view at
  123. // the top which is a box layout, and the remainder of the view is filled with
  124. @@ -299,6 +297,7 @@ void DocumentOverlayWindowViews::SetUpViews() {
  125. // +-------------------------------------+
  126. content::WebContents* pip_contents = controller_->GetChildWebContents();
  127. +#if 0
  128. auto* profile =
  129. Profile::FromBrowserContext(pip_contents->GetBrowserContext());
  130. profile_for_theme_ = profile;
  131. @@ -309,8 +308,8 @@ void DocumentOverlayWindowViews::SetUpViews() {
  132. location_bar_view_proxy_ = std::make_unique<OverlayLocationBarViewImpl>(
  133. profile, controller_->GetWebContents());
  134. }
  135. -
  136. - auto web_view = std::make_unique<views::WebView>(profile);
  137. +#endif
  138. + auto web_view = std::make_unique<views::WebView>();
  139. DVLOG(2) << __func__ << ": content WebView=" << web_view.get();
  140. web_view->SetWebContents(pip_contents);
  141. diff --git a/chrome/browser/ui/views/overlay/document_overlay_window_views.h b/chrome/browser/ui/views/overlay/document_overlay_window_views.h
  142. index 86d385842501d28b5eb42f841822294eb597e6ed..43c19dfa6ec6b48f8694636cc184dd616e5d6aca 100644
  143. --- a/chrome/browser/ui/views/overlay/document_overlay_window_views.h
  144. +++ b/chrome/browser/ui/views/overlay/document_overlay_window_views.h
  145. @@ -55,7 +55,6 @@ class DocumentOverlayWindowViews : public OverlayWindowViews,
  146. bool IsVisible() const override;
  147. void OnNativeWidgetMove() override;
  148. void OnNativeWidgetDestroyed() override;
  149. - const ui::ThemeProvider* GetThemeProvider() const override;
  150. // OverlayWindowViews
  151. bool ControlsHitTestContainsPoint(const gfx::Point& point) override;
  152. diff --git a/chrome/browser/ui/views/overlay/hang_up_button.cc b/chrome/browser/ui/views/overlay/hang_up_button.cc
  153. index 26f8f5ffa444d874b229b5e8debf087e4469dfd1..10149e812a43e3d5c92701e9b2ae8d68ed8395c7 100644
  154. --- a/chrome/browser/ui/views/overlay/hang_up_button.cc
  155. +++ b/chrome/browser/ui/views/overlay/hang_up_button.cc
  156. @@ -5,7 +5,7 @@
  157. #include "chrome/browser/ui/views/overlay/hang_up_button.h"
  158. #include "chrome/browser/ui/color/chrome_color_id.h"
  159. -#include "chrome/grit/generated_resources.h"
  160. +#include "electron/grit/electron_resources.h"
  161. #include "components/vector_icons/vector_icons.h"
  162. #include "ui/base/l10n/l10n_util.h"
  163. #include "ui/base/metadata/metadata_impl_macros.h"
  164. diff --git a/chrome/browser/ui/views/overlay/overlay_window_views.cc b/chrome/browser/ui/views/overlay/overlay_window_views.cc
  165. index 850b34e3b40f7ff1848c66158976db079e0853bd..105dbc3661eb2710b2f10ca6584e85c36ad14705 100644
  166. --- a/chrome/browser/ui/views/overlay/overlay_window_views.cc
  167. +++ b/chrome/browser/ui/views/overlay/overlay_window_views.cc
  168. @@ -14,13 +14,15 @@
  169. #include "base/time/time.h"
  170. #include "base/timer/timer.h"
  171. #include "build/build_config.h"
  172. +#if 0
  173. #include "chrome/browser/profiles/profile.h"
  174. #include "chrome/browser/ui/browser.h"
  175. #include "chrome/browser/ui/browser_finder.h"
  176. -#include "chrome/grit/generated_resources.h"
  177. +#endif
  178. #include "components/vector_icons/vector_icons.h"
  179. #include "content/public/browser/picture_in_picture_window_controller.h"
  180. #include "content/public/browser/web_contents.h"
  181. +#include "electron/grit/electron_resources.h"
  182. #include "ui/base/hit_test.h"
  183. #include "ui/display/display.h"
  184. #include "ui/display/screen.h"
  185. @@ -36,7 +38,7 @@
  186. #include "ui/aura/window.h"
  187. #endif
  188. -#if BUILDFLAG(IS_WIN)
  189. +#if 0
  190. #include "chrome/browser/shell_integration_win.h"
  191. #include "ui/aura/window.h"
  192. #include "ui/aura/window_tree_host.h"
  193. diff --git a/chrome/browser/ui/views/overlay/playback_image_button.cc b/chrome/browser/ui/views/overlay/playback_image_button.cc
  194. index bcd3b2e1038786b660a4b91fbc20d9d8b4afffb4..a953c9d0ee0b49d6cc096e3eb236296b57cbc6c0 100644
  195. --- a/chrome/browser/ui/views/overlay/playback_image_button.cc
  196. +++ b/chrome/browser/ui/views/overlay/playback_image_button.cc
  197. @@ -6,7 +6,7 @@
  198. #include "chrome/app/vector_icons/vector_icons.h"
  199. #include "chrome/browser/ui/color/chrome_color_id.h"
  200. -#include "chrome/grit/generated_resources.h"
  201. +#include "electron/grit/electron_resources.h"
  202. #include "components/vector_icons/vector_icons.h"
  203. #include "ui/base/l10n/l10n_util.h"
  204. #include "ui/base/metadata/metadata_impl_macros.h"
  205. diff --git a/chrome/browser/ui/views/overlay/resize_handle_button.cc b/chrome/browser/ui/views/overlay/resize_handle_button.cc
  206. index 8bf217b9b0c2bd22d6940c24c58eccb9865c5286..91f061a1243135db475371dda00c2fe054f4e8e3 100644
  207. --- a/chrome/browser/ui/views/overlay/resize_handle_button.cc
  208. +++ b/chrome/browser/ui/views/overlay/resize_handle_button.cc
  209. @@ -6,7 +6,7 @@
  210. #include "chrome/app/vector_icons/vector_icons.h"
  211. #include "chrome/browser/ui/color/chrome_color_id.h"
  212. -#include "chrome/grit/generated_resources.h"
  213. +#include "electron/grit/electron_resources.h"
  214. #include "ui/base/hit_test.h"
  215. #include "ui/base/l10n/l10n_util.h"
  216. #include "ui/base/metadata/metadata_impl_macros.h"
  217. diff --git a/chrome/browser/ui/views/overlay/skip_ad_label_button.cc b/chrome/browser/ui/views/overlay/skip_ad_label_button.cc
  218. index 51c7db1bfbd3c03b9cb2786c8c7482b33e3aca0b..2890f7420d2fd258f84019963eab6c9606e228db 100644
  219. --- a/chrome/browser/ui/views/overlay/skip_ad_label_button.cc
  220. +++ b/chrome/browser/ui/views/overlay/skip_ad_label_button.cc
  221. @@ -5,7 +5,7 @@
  222. #include "chrome/browser/ui/views/overlay/skip_ad_label_button.h"
  223. #include "chrome/browser/ui/color/chrome_color_id.h"
  224. -#include "chrome/grit/generated_resources.h"
  225. +#include "electron/grit/electron_resources.h"
  226. #include "ui/base/l10n/l10n_util.h"
  227. #include "ui/base/metadata/metadata_impl_macros.h"
  228. #include "ui/gfx/color_palette.h"
  229. diff --git a/chrome/browser/ui/views/overlay/toggle_camera_button.cc b/chrome/browser/ui/views/overlay/toggle_camera_button.cc
  230. index 46ec4441ddb227325b319359f9d33a80aa856d85..57957d72310c0a232c78489fba5a07cdf475dc53 100644
  231. --- a/chrome/browser/ui/views/overlay/toggle_camera_button.cc
  232. +++ b/chrome/browser/ui/views/overlay/toggle_camera_button.cc
  233. @@ -5,7 +5,7 @@
  234. #include "chrome/browser/ui/views/overlay/toggle_camera_button.h"
  235. #include "chrome/browser/ui/color/chrome_color_id.h"
  236. -#include "chrome/grit/generated_resources.h"
  237. +#include "electron/grit/electron_resources.h"
  238. #include "components/vector_icons/vector_icons.h"
  239. #include "ui/base/l10n/l10n_util.h"
  240. #include "ui/base/metadata/metadata_impl_macros.h"
  241. diff --git a/chrome/browser/ui/views/overlay/toggle_microphone_button.cc b/chrome/browser/ui/views/overlay/toggle_microphone_button.cc
  242. index 59b9a5442185bfb9efd8ed571ec63d56e3bc3326..34d58bf54019e0b8001c29cb301861d045c60214 100644
  243. --- a/chrome/browser/ui/views/overlay/toggle_microphone_button.cc
  244. +++ b/chrome/browser/ui/views/overlay/toggle_microphone_button.cc
  245. @@ -5,7 +5,7 @@
  246. #include "chrome/browser/ui/views/overlay/toggle_microphone_button.h"
  247. #include "chrome/browser/ui/color/chrome_color_id.h"
  248. -#include "chrome/grit/generated_resources.h"
  249. +#include "electron/grit/electron_resources.h"
  250. #include "components/vector_icons/vector_icons.h"
  251. #include "ui/base/l10n/l10n_util.h"
  252. #include "ui/base/metadata/metadata_impl_macros.h"
  253. diff --git a/chrome/browser/ui/views/overlay/track_image_button.cc b/chrome/browser/ui/views/overlay/track_image_button.cc
  254. index 5e136488b37887e9523ac04a9ff4ccdfaf96c104..24899f4c2b6fe66b96a6728bf747f1aad66f20a9 100644
  255. --- a/chrome/browser/ui/views/overlay/track_image_button.cc
  256. +++ b/chrome/browser/ui/views/overlay/track_image_button.cc
  257. @@ -6,7 +6,7 @@
  258. #include "chrome/app/vector_icons/vector_icons.h"
  259. #include "chrome/browser/ui/color/chrome_color_id.h"
  260. -#include "chrome/grit/generated_resources.h"
  261. +#include "electron/grit/electron_resources.h"
  262. #include "components/vector_icons/vector_icons.h"
  263. #include "ui/base/l10n/l10n_util.h"
  264. #include "ui/base/metadata/metadata_impl_macros.h"
  265. diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
  266. index b2e281840f48592eb773c16042fb6b56a0fa132b..d5156bab0c81ca508733a8d3ba95f052ff6d83e6 100644
  267. --- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
  268. +++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
  269. @@ -15,9 +15,11 @@
  270. #include "base/timer/timer.h"
  271. #include "build/build_config.h"
  272. #include "chrome/app/vector_icons/vector_icons.h"
  273. +#if 0
  274. #include "chrome/browser/profiles/profile.h"
  275. #include "chrome/browser/ui/browser.h"
  276. #include "chrome/browser/ui/browser_finder.h"
  277. +#endif
  278. #include "chrome/browser/ui/color/chrome_color_id.h"
  279. #include "chrome/browser/ui/views/overlay/back_to_tab_image_button.h"
  280. #include "chrome/browser/ui/views/overlay/back_to_tab_label_button.h"
  281. @@ -29,10 +31,10 @@
  282. #include "chrome/browser/ui/views/overlay/toggle_camera_button.h"
  283. #include "chrome/browser/ui/views/overlay/toggle_microphone_button.h"
  284. #include "chrome/browser/ui/views/overlay/track_image_button.h"
  285. -#include "chrome/grit/generated_resources.h"
  286. #include "components/vector_icons/vector_icons.h"
  287. #include "content/public/browser/video_picture_in_picture_window_controller.h"
  288. #include "content/public/browser/web_contents.h"
  289. +#include "electron/grit/electron_resources.h"
  290. #include "media/base/media_switches.h"
  291. #include "media/base/video_util.h"
  292. #include "third_party/skia/include/core/SkColor.h"
  293. @@ -56,7 +58,7 @@
  294. #include "ui/aura/window.h"
  295. #endif
  296. -#if BUILDFLAG(IS_WIN)
  297. +#if 0
  298. #include "chrome/browser/shell_integration_win.h"
  299. #include "ui/aura/window.h"
  300. #include "ui/aura/window_tree_host.h"
  301. @@ -148,7 +150,7 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
  302. overlay_window->Init(std::move(params));
  303. overlay_window->OnRootViewReady();
  304. -#if BUILDFLAG(IS_WIN)
  305. +#if 0
  306. std::wstring app_user_model_id;
  307. Browser* browser =
  308. chrome::FindBrowserWithWebContents(controller->GetWebContents());