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

Side by Side Diff: third_party/WebKit/Source/bindings/core/v8/WindowProxy.h

Issue 2948983002: Low memory page navigation GC for low end devices (Closed)
Patch Set: fix Created 3 years, 6 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 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 class WindowProxy : public GarbageCollectedFinalized<WindowProxy> { 144 class WindowProxy : public GarbageCollectedFinalized<WindowProxy> {
145 public: 145 public:
146 virtual ~WindowProxy(); 146 virtual ~WindowProxy();
147 147
148 DECLARE_TRACE(); 148 DECLARE_TRACE();
149 149
150 void InitializeIfNeeded(); 150 void InitializeIfNeeded();
151 151
152 void ClearForClose(); 152 void ClearForClose();
153 void ClearForNavigation(); 153 void ClearForNavigation();
154 void ClearForSwap();
154 155
155 CORE_EXPORT v8::Local<v8::Object> GlobalProxyIfNotDetached(); 156 CORE_EXPORT v8::Local<v8::Object> GlobalProxyIfNotDetached();
156 v8::Local<v8::Object> ReleaseGlobalProxy(); 157 v8::Local<v8::Object> ReleaseGlobalProxy();
157 void SetGlobalProxy(v8::Local<v8::Object>); 158 void SetGlobalProxy(v8::Local<v8::Object>);
158 159
159 // TODO(dcheng): Temporarily exposed to avoid include cycles. Remove the need 160 // TODO(dcheng): Temporarily exposed to avoid include cycles. Remove the need
160 // for this and remove this getter. 161 // for this and remove this getter.
161 DOMWrapperWorld& World() { return *world_; } 162 DOMWrapperWorld& World() { return *world_; }
162 163
163 virtual bool IsLocal() const { return false; } 164 virtual bool IsLocal() const { return false; }
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 // global). 221 // global).
221 kGlobalObjectIsDetached, 222 kGlobalObjectIsDetached,
222 // The context's frame is detached from the DOM. 223 // The context's frame is detached from the DOM.
223 kFrameIsDetached, 224 kFrameIsDetached,
224 }; 225 };
225 226
226 WindowProxy(v8::Isolate*, Frame&, RefPtr<DOMWrapperWorld>); 227 WindowProxy(v8::Isolate*, Frame&, RefPtr<DOMWrapperWorld>);
227 228
228 virtual void Initialize() = 0; 229 virtual void Initialize() = 0;
229 230
230 virtual void DisposeContext(Lifecycle next_status) = 0; 231 virtual void DisposeContext(Lifecycle next_status, bool reusing_frame) = 0;
231 232
232 WARN_UNUSED_RESULT v8::Local<v8::Object> AssociateWithWrapper( 233 WARN_UNUSED_RESULT v8::Local<v8::Object> AssociateWithWrapper(
233 DOMWindow*, 234 DOMWindow*,
234 const WrapperTypeInfo*, 235 const WrapperTypeInfo*,
235 v8::Local<v8::Object> wrapper); 236 v8::Local<v8::Object> wrapper);
236 237
237 v8::Isolate* GetIsolate() const { return isolate_; } 238 v8::Isolate* GetIsolate() const { return isolate_; }
238 Frame* GetFrame() const { return frame_.Get(); } 239 Frame* GetFrame() const { return frame_.Get(); }
239 240
240 #if DCHECK_IS_ON() 241 #if DCHECK_IS_ON()
(...skipping 19 matching lines...) Expand all
260 Lifecycle lifecycle_; 261 Lifecycle lifecycle_;
261 262
262 // TODO(dcheng): Remove this temporary code for debugging 263 // TODO(dcheng): Remove this temporary code for debugging
263 // https://crbug.com/728693. 264 // https://crbug.com/728693.
264 WTF::debug::StackTrace initialization_stack_; 265 WTF::debug::StackTrace initialization_stack_;
265 }; 266 };
266 267
267 } // namespace blink 268 } // namespace blink
268 269
269 #endif // WindowProxy_h 270 #endif // WindowProxy_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698