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

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

Issue 2923053002: Move MainWorldScriptContext accessor/method from WebFrame to WebLocalFrame. (Closed)
Patch Set: Rebasing... 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 // 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/guest_view_internal_custom_bindings.h" 5 #include "extensions/renderer/guest_view/guest_view_internal_custom_bindings.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 335
336 int view_id = args[0]->Int32Value(); 336 int view_id = args[0]->Int32Value();
337 if (view_id == MSG_ROUTING_NONE) 337 if (view_id == MSG_ROUTING_NONE)
338 return; 338 return;
339 339
340 content::RenderView* view = content::RenderView::FromRoutingID(view_id); 340 content::RenderView* view = content::RenderView::FromRoutingID(view_id);
341 if (!view) 341 if (!view)
342 return; 342 return;
343 343
344 blink::WebFrame* frame = view->GetWebView()->MainFrame(); 344 blink::WebFrame* frame = view->GetWebView()->MainFrame();
345 // TODO(lazyboy,nasko): The WebLocalFrame branch is not used when running 345 v8::Local<v8::Value> window = frame->GlobalProxy();
346 // on top of out-of-process iframes. Remove it once the code is converted.
Devlin 2017/06/09 18:56:40 Is isolate extensions sufficient for this, or does
347 v8::Local<v8::Value> window;
348 if (frame->IsWebLocalFrame()) {
349 window = frame->MainWorldScriptContext()->Global();
350 } else {
351 window = frame->ToWebRemoteFrame()->GlobalProxy();
352 }
353 args.GetReturnValue().Set(window); 346 args.GetReturnValue().Set(window);
354 } 347 }
355 348
356 void GuestViewInternalCustomBindings::GetViewFromID( 349 void GuestViewInternalCustomBindings::GetViewFromID(
357 const v8::FunctionCallbackInfo<v8::Value>& args) { 350 const v8::FunctionCallbackInfo<v8::Value>& args) {
358 // Default to returning null. 351 // Default to returning null.
359 args.GetReturnValue().SetNull(); 352 args.GetReturnValue().SetNull();
360 // There is one argument. 353 // There is one argument.
361 CHECK(args.Length() == 1); 354 CHECK(args.Length() == 1);
362 // The view ID. 355 // The view ID.
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 // EnterFullscreen() and do it directly rather than having a generic "run with 451 // EnterFullscreen() and do it directly rather than having a generic "run with
459 // user gesture" function. 452 // user gesture" function.
460 blink::WebScopedUserGesture user_gesture(context()->web_frame()); 453 blink::WebScopedUserGesture user_gesture(context()->web_frame());
461 CHECK_EQ(args.Length(), 1); 454 CHECK_EQ(args.Length(), 1);
462 CHECK(args[0]->IsFunction()); 455 CHECK(args[0]->IsFunction());
463 context()->SafeCallFunction( 456 context()->SafeCallFunction(
464 v8::Local<v8::Function>::Cast(args[0]), 0, nullptr); 457 v8::Local<v8::Function>::Cast(args[0]), 0, nullptr);
465 } 458 }
466 459
467 } // namespace extensions 460 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698