Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.h

Issue 2331343005: PlzNavigate: Get StreamPrivate API to work. (Closed)
Patch Set: Fix DCHECK leading to browser test redness Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef EXTENSIONS_BROWSER_GUEST_VIEW_MIME_HANDLER_VIEW_MIME_HANDLER_STREAM_MANA GER_H_ 5 #ifndef EXTENSIONS_BROWSER_GUEST_VIEW_MIME_HANDLER_VIEW_MIME_HANDLER_STREAM_MANA GER_H_
6 #define EXTENSIONS_BROWSER_GUEST_VIEW_MIME_HANDLER_VIEW_MIME_HANDLER_STREAM_MANA GER_H_ 6 #define EXTENSIONS_BROWSER_GUEST_VIEW_MIME_HANDLER_VIEW_MIME_HANDLER_STREAM_MANA GER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
11 11
12 #include "base/memory/ref_counted.h" 12 #include "base/memory/ref_counted.h"
13 #include "base/scoped_observer.h" 13 #include "base/scoped_observer.h"
14 #include "components/keyed_service/core/keyed_service.h" 14 #include "components/keyed_service/core/keyed_service.h"
15 #include "extensions/browser/extension_registry_observer.h" 15 #include "extensions/browser/extension_registry_observer.h"
16 16
17 namespace content { 17 namespace content {
18 class BrowserContext; 18 class BrowserContext;
19 class WebContents;
19 } 20 }
20 21
21 namespace extensions { 22 namespace extensions {
22 class Extension; 23 class Extension;
23 class StreamContainer; 24 class StreamContainer;
24 25
25 // A container for streams that have not yet been claimed by a 26 // A container for streams that have not yet been claimed by a
26 // MimeHandlerViewGuest. If the embedding RenderFrameHost is closed or navigates 27 // MimeHandlerViewGuest. If the embedding RenderFrameHost is closed or navigates
27 // away from the resource being streamed, the stream is aborted. This is 28 // away from the resource being streamed, the stream is aborted. This is
28 // BrowserContext-keyed because mime handlers are extensions, which are 29 // BrowserContext-keyed because mime handlers are extensions, which are
29 // per-BrowserContext. 30 // per-BrowserContext.
30 class MimeHandlerStreamManager : public KeyedService, 31 class MimeHandlerStreamManager : public KeyedService,
31 public ExtensionRegistryObserver { 32 public ExtensionRegistryObserver {
32 public: 33 public:
33 MimeHandlerStreamManager(); 34 MimeHandlerStreamManager();
34 ~MimeHandlerStreamManager() override; 35 ~MimeHandlerStreamManager() override;
35 static MimeHandlerStreamManager* Get(content::BrowserContext* context); 36 static MimeHandlerStreamManager* Get(content::BrowserContext* context);
36 37
38 // The |frame_tree_node_id| parameter is used for PlzNavigate for the top
39 // level plugins case. (PDF, etc). If this parameter has a valid value then
40 // it overrides the |render_process_id| and |render_frame_id| parameters.
41 // The |render_process_id| is the id of the renderer process.
42 // The |render_frame_id| is the routing id of the RenderFrameHost.
37 void AddStream(const std::string& view_id, 43 void AddStream(const std::string& view_id,
38 std::unique_ptr<StreamContainer> stream, 44 std::unique_ptr<StreamContainer> stream,
45 int frame_tree_node_id,
39 int render_process_id, 46 int render_process_id,
40 int render_frame_id); 47 int render_frame_id);
41 48
42 std::unique_ptr<StreamContainer> ReleaseStream(const std::string& view_id); 49 std::unique_ptr<StreamContainer> ReleaseStream(const std::string& view_id);
43 50
44 // ExtensionRegistryObserver override. 51 // ExtensionRegistryObserver override.
45 void OnExtensionUnloaded(content::BrowserContext* browser_context, 52 void OnExtensionUnloaded(content::BrowserContext* browser_context,
46 const Extension* extension, 53 const Extension* extension,
47 UnloadedExtensionInfo::Reason reason) override; 54 UnloadedExtensionInfo::Reason reason) override;
48 55
(...skipping 12 matching lines...) Expand all
61 // EmbedderObserver until it is removed. 68 // EmbedderObserver until it is removed.
62 std::map<std::string, std::unique_ptr<EmbedderObserver>> embedder_observers_; 69 std::map<std::string, std::unique_ptr<EmbedderObserver>> embedder_observers_;
63 70
64 ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver> 71 ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver>
65 extension_registry_observer_; 72 extension_registry_observer_;
66 }; 73 };
67 74
68 } // namespace extensions 75 } // namespace extensions
69 76
70 #endif // EXTENSIONS_BROWSER_GUEST_VIEW_MIME_HANDLER_VIEW_MIME_HANDLER_STREAM_M ANAGER_H_ 77 #endif // EXTENSIONS_BROWSER_GUEST_VIEW_MIME_HANDLER_VIEW_MIME_HANDLER_STREAM_M ANAGER_H_
OLDNEW
« no previous file with comments | « content/public/browser/web_contents.h ('k') | extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698