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

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

Issue 1749073002: Do V8 GC ASAP if system memory is pressured (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_THREAD_IMPL_H_ 5 #ifndef CONTENT_RENDERER_RENDER_THREAD_IMPL_H_
6 #define CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ 6 #define CONTENT_RENDERER_RENDER_THREAD_IMPL_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 13 matching lines...) Expand all
24 #include "build/build_config.h" 24 #include "build/build_config.h"
25 #include "content/child/child_thread_impl.h" 25 #include "content/child/child_thread_impl.h"
26 #include "content/common/content_export.h" 26 #include "content/common/content_export.h"
27 #include "content/common/frame_replication_state.h" 27 #include "content/common/frame_replication_state.h"
28 #include "content/common/gpu/client/gpu_channel_host.h" 28 #include "content/common/gpu/client/gpu_channel_host.h"
29 #include "content/public/renderer/render_thread.h" 29 #include "content/public/renderer/render_thread.h"
30 #include "content/renderer/gpu/compositor_dependencies.h" 30 #include "content/renderer/gpu/compositor_dependencies.h"
31 #include "net/base/network_change_notifier.h" 31 #include "net/base/network_change_notifier.h"
32 #include "third_party/WebKit/public/platform/WebConnectionType.h" 32 #include "third_party/WebKit/public/platform/WebConnectionType.h"
33 #include "ui/gfx/native_widget_types.h" 33 #include "ui/gfx/native_widget_types.h"
34 #include "v8/include/v8.h"
34 35
35 #if defined(OS_MACOSX) 36 #if defined(OS_MACOSX)
36 #include "third_party/WebKit/public/web/mac/WebScrollbarTheme.h" 37 #include "third_party/WebKit/public/web/mac/WebScrollbarTheme.h"
37 #endif 38 #endif
38 39
39 class GrContext; 40 class GrContext;
40 class SkBitmap; 41 class SkBitmap;
41 struct FrameMsg_NewFrame_Params; 42 struct FrameMsg_NewFrame_Params;
42 struct ViewMsg_New_Params; 43 struct ViewMsg_New_Params;
43 struct ViewMsg_UpdateScrollbarTheme_Params; 44 struct ViewMsg_UpdateScrollbarTheme_Params;
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 const std::string& highlight_color); 511 const std::string& highlight_color);
511 #endif 512 #endif
512 void OnCreateNewSharedWorker( 513 void OnCreateNewSharedWorker(
513 const WorkerProcessMsg_CreateWorker_Params& params); 514 const WorkerProcessMsg_CreateWorker_Params& params);
514 bool RendererIsHidden() const; 515 bool RendererIsHidden() const;
515 void OnRendererHidden(); 516 void OnRendererHidden();
516 void OnRendererVisible(); 517 void OnRendererVisible();
517 518
518 void ReleaseFreeMemory(); 519 void ReleaseFreeMemory();
519 520
521 void IsMemoryPressured(bool memory_pressured);
522 static void OnV8InterruptCallback(v8::Isolate* isolate, void* data);
523
520 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> CreateOffscreenContext3d(); 524 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> CreateOffscreenContext3d();
521 525
522 // These objects live solely on the render thread. 526 // These objects live solely on the render thread.
523 scoped_ptr<AppCacheDispatcher> appcache_dispatcher_; 527 scoped_ptr<AppCacheDispatcher> appcache_dispatcher_;
524 scoped_ptr<DomStorageDispatcher> dom_storage_dispatcher_; 528 scoped_ptr<DomStorageDispatcher> dom_storage_dispatcher_;
525 scoped_ptr<IndexedDBDispatcher> main_thread_indexed_db_dispatcher_; 529 scoped_ptr<IndexedDBDispatcher> main_thread_indexed_db_dispatcher_;
526 scoped_ptr<scheduler::RendererScheduler> renderer_scheduler_; 530 scoped_ptr<scheduler::RendererScheduler> renderer_scheduler_;
527 scoped_ptr<RendererBlinkPlatformImpl> blink_platform_impl_; 531 scoped_ptr<RendererBlinkPlatformImpl> blink_platform_impl_;
528 scoped_ptr<ResourceDispatchThrottler> resource_dispatch_throttler_; 532 scoped_ptr<ResourceDispatchThrottler> resource_dispatch_throttler_;
529 scoped_ptr<CacheStorageDispatcher> main_thread_cache_storage_dispatcher_; 533 scoped_ptr<CacheStorageDispatcher> main_thread_cache_storage_dispatcher_;
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 700
697 int routing_id_; 701 int routing_id_;
698 mojo::shell::mojom::InterfaceProviderRequest services_; 702 mojo::shell::mojom::InterfaceProviderRequest services_;
699 mojo::shell::mojom::InterfaceProviderPtr exposed_services_; 703 mojo::shell::mojom::InterfaceProviderPtr exposed_services_;
700 }; 704 };
701 705
702 typedef std::map<int, scoped_refptr<PendingRenderFrameConnect>> 706 typedef std::map<int, scoped_refptr<PendingRenderFrameConnect>>
703 PendingRenderFrameConnectMap; 707 PendingRenderFrameConnectMap;
704 PendingRenderFrameConnectMap pending_render_frame_connects_; 708 PendingRenderFrameConnectMap pending_render_frame_connects_;
705 709
710 bool is_v8_need_gc_;
711
706 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); 712 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl);
707 }; 713 };
708 714
709 #if defined(COMPILER_MSVC) 715 #if defined(COMPILER_MSVC)
710 #pragma warning(pop) 716 #pragma warning(pop)
711 #endif 717 #endif
712 718
713 } // namespace content 719 } // namespace content
714 720
715 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ 721 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698