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

Side by Side Diff: extensions/renderer/guest_view/extensions_guest_view_container.cc

Issue 2036863002: Remove use of deprecated MessageLoop methods in extensions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "extensions/renderer/guest_view/extensions_guest_view_container.h" 5 #include "extensions/renderer/guest_view/extensions_guest_view_container.h"
6 6
7 #include "base/location.h"
8 #include "base/single_thread_task_runner.h"
9 #include "base/threading/thread_task_runner_handle.h"
7 #include "content/public/renderer/render_frame.h" 10 #include "content/public/renderer/render_frame.h"
8 #include "ui/gfx/geometry/size.h" 11 #include "ui/gfx/geometry/size.h"
9 12
10 namespace extensions { 13 namespace extensions {
11 14
12 ExtensionsGuestViewContainer::ExtensionsGuestViewContainer( 15 ExtensionsGuestViewContainer::ExtensionsGuestViewContainer(
13 content::RenderFrame* render_frame) 16 content::RenderFrame* render_frame)
14 : GuestViewContainer(render_frame), 17 : GuestViewContainer(render_frame),
15 element_resize_isolate_(nullptr), 18 element_resize_isolate_(nullptr),
16 weak_ptr_factory_(this) { 19 weak_ptr_factory_(this) {
(...skipping 10 matching lines...) Expand all
27 v8::Isolate* isolate) { 30 v8::Isolate* isolate) {
28 element_resize_callback_.Reset(isolate, callback); 31 element_resize_callback_.Reset(isolate, callback);
29 element_resize_isolate_ = isolate; 32 element_resize_isolate_ = isolate;
30 } 33 }
31 34
32 void ExtensionsGuestViewContainer::DidResizeElement(const gfx::Size& new_size) { 35 void ExtensionsGuestViewContainer::DidResizeElement(const gfx::Size& new_size) {
33 // Call the element resize callback, if one is registered. 36 // Call the element resize callback, if one is registered.
34 if (element_resize_callback_.IsEmpty()) 37 if (element_resize_callback_.IsEmpty())
35 return; 38 return;
36 39
37 base::MessageLoop::current()->PostTask( 40 base::ThreadTaskRunnerHandle::Get()->PostTask(
38 FROM_HERE, 41 FROM_HERE,
39 base::Bind(&ExtensionsGuestViewContainer::CallElementResizeCallback, 42 base::Bind(&ExtensionsGuestViewContainer::CallElementResizeCallback,
40 weak_ptr_factory_.GetWeakPtr(), new_size)); 43 weak_ptr_factory_.GetWeakPtr(), new_size));
41 } 44 }
42 45
43 void ExtensionsGuestViewContainer::CallElementResizeCallback( 46 void ExtensionsGuestViewContainer::CallElementResizeCallback(
44 const gfx::Size& new_size) { 47 const gfx::Size& new_size) {
45 v8::HandleScope handle_scope(element_resize_isolate_); 48 v8::HandleScope handle_scope(element_resize_isolate_);
46 v8::Local<v8::Function> callback = v8::Local<v8::Function>::New( 49 v8::Local<v8::Function> callback = v8::Local<v8::Function>::New(
47 element_resize_isolate_, element_resize_callback_); 50 element_resize_isolate_, element_resize_callback_);
48 v8::Local<v8::Context> context = callback->CreationContext(); 51 v8::Local<v8::Context> context = callback->CreationContext();
49 if (context.IsEmpty()) 52 if (context.IsEmpty())
50 return; 53 return;
51 54
52 const int argc = 2; 55 const int argc = 2;
53 v8::Local<v8::Value> argv[argc] = { 56 v8::Local<v8::Value> argv[argc] = {
54 v8::Integer::New(element_resize_isolate_, new_size.width()), 57 v8::Integer::New(element_resize_isolate_, new_size.width()),
55 v8::Integer::New(element_resize_isolate_, new_size.height())}; 58 v8::Integer::New(element_resize_isolate_, new_size.height())};
56 59
57 v8::Context::Scope context_scope(context); 60 v8::Context::Scope context_scope(context);
58 v8::MicrotasksScope microtasks( 61 v8::MicrotasksScope microtasks(
59 element_resize_isolate_, v8::MicrotasksScope::kDoNotRunMicrotasks); 62 element_resize_isolate_, v8::MicrotasksScope::kDoNotRunMicrotasks);
60 63
61 callback->Call(context->Global(), argc, argv); 64 callback->Call(context->Global(), argc, argv);
62 } 65 }
63 66
64 } // namespace extensions 67 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/renderer/gc_callback.cc ('k') | extensions/renderer/render_frame_observer_natives.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698