mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
- Factor platform-specific code out of CefBrowserHostImpl (issue #1749).
- Introduce native/ and osr/ folders for native (non-platform-agnostic) and osr (windowless) code respectively. - Introduce CefBrowserPlatformDelegate for abstracting platform-specific implementations of browser host functionality. - Move dialog and menu code to separate manager and platform-specific runner implementations exposed via CefBrowserPlatformDelegate. - Standardize focus-handling behavior between windowed and windowless implementations. CefFocusHandler::OnSetFocus() will now also be called for osr focus changes. - Support multiple simultaneous popups (issue #1289).
This commit is contained in:
@@ -36,8 +36,10 @@ class CefBrowserInfo : public base::RefCountedThreadSafe<CefBrowserInfo> {
|
||||
void remove_render_frame_id(int render_process_id, int render_routing_id);
|
||||
|
||||
// Returns true if this browser matches the specified ID pair.
|
||||
bool is_render_view_id_match(int render_process_id, int render_routing_id);
|
||||
bool is_render_frame_id_match(int render_process_id, int render_routing_id);
|
||||
bool is_render_view_id_match(int render_process_id,
|
||||
int render_routing_id) const;
|
||||
bool is_render_frame_id_match(int render_process_id,
|
||||
int render_routing_id)const ;
|
||||
|
||||
private:
|
||||
typedef std::set<std::pair<int, int> > RenderIdSet;
|
||||
@@ -50,9 +52,9 @@ class CefBrowserInfo : public base::RefCountedThreadSafe<CefBrowserInfo> {
|
||||
int render_routing_id);
|
||||
bool is_render_id_match(const RenderIdSet* id_set,
|
||||
int render_process_id,
|
||||
int render_routing_id);
|
||||
int render_routing_id) const;
|
||||
|
||||
base::Lock* lock_;
|
||||
mutable base::Lock* lock_;
|
||||
|
||||
// The below members must be protected by |lock_|.
|
||||
|
||||
@@ -88,7 +90,7 @@ class CefBrowserInfo : public base::RefCountedThreadSafe<CefBrowserInfo> {
|
||||
return &guest_render_id_manager_;
|
||||
}
|
||||
|
||||
CefRefPtr<CefBrowserHostImpl> browser();
|
||||
CefRefPtr<CefBrowserHostImpl> browser() const;
|
||||
void set_browser(CefRefPtr<CefBrowserHostImpl> browser);
|
||||
|
||||
private:
|
||||
@@ -100,7 +102,7 @@ class CefBrowserInfo : public base::RefCountedThreadSafe<CefBrowserInfo> {
|
||||
bool is_popup_;
|
||||
bool is_windowless_;
|
||||
|
||||
base::Lock lock_;
|
||||
mutable base::Lock lock_;
|
||||
|
||||
// The below members must be protected by |lock_|.
|
||||
|
||||
|
Reference in New Issue
Block a user