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

Side by Side Diff: content/renderer/render_frame_impl.h

Issue 112203003: Fix renderer crashes when frame gets detached while injectng user scripts. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Defer frame destruction until event loop. Created 6 years, 10 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 5 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 protected: 338 protected:
339 RenderFrameImpl(RenderViewImpl* render_view, int32 routing_id); 339 RenderFrameImpl(RenderViewImpl* render_view, int32 routing_id);
340 340
341 private: 341 private:
342 friend class RenderFrameObserver; 342 friend class RenderFrameObserver;
343 FRIEND_TEST_ALL_PREFIXES(RenderFrameImplTest, 343 FRIEND_TEST_ALL_PREFIXES(RenderFrameImplTest,
344 ShouldUpdateSelectionTextFromContextMenuParams); 344 ShouldUpdateSelectionTextFromContextMenuParams);
345 345
346 typedef std::map<GURL, double> HostZoomLevels; 346 typedef std::map<GURL, double> HostZoomLevels;
347 347
348 // Function used to close frame asynchronously.
349 static void closeFrame(blink::WebFrame* frame);
350
348 // Functions to add and remove observers for this object. 351 // Functions to add and remove observers for this object.
349 void AddObserver(RenderFrameObserver* observer); 352 void AddObserver(RenderFrameObserver* observer);
350 void RemoveObserver(RenderFrameObserver* observer); 353 void RemoveObserver(RenderFrameObserver* observer);
351 354
352 void UpdateURL(blink::WebFrame* frame); 355 void UpdateURL(blink::WebFrame* frame);
353 356
354 // IPC message handlers ------------------------------------------------------ 357 // IPC message handlers ------------------------------------------------------
355 // 358 //
356 // The documentation for these functions should be in 359 // The documentation for these functions should be in
357 // content/common/*_messages.h for the message that the function is handling. 360 // content/common/*_messages.h for the message that the function is handling.
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 // always respond properly to the request, so we don't have to worry so 408 // always respond properly to the request, so we don't have to worry so
406 // much about leaks. 409 // much about leaks.
407 IDMap<ContextMenuClient, IDMapExternalPointer> pending_context_menus_; 410 IDMap<ContextMenuClient, IDMapExternalPointer> pending_context_menus_;
408 411
409 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); 412 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl);
410 }; 413 };
411 414
412 } // namespace content 415 } // namespace content
413 416
414 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 417 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698