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

Side by Side Diff: extensions/renderer/dispatcher.cc

Issue 566863004: Enabling webview in app_shell. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: gn Created 6 years, 3 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/dispatcher.h" 5 #include "extensions/renderer/dispatcher.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/debug/alias.h" 10 #include "base/debug/alias.h"
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 } 316 }
317 317
318 UpdateBindingsForContext(context); 318 UpdateBindingsForContext(context);
319 319
320 bool is_within_platform_app = IsWithinPlatformApp(); 320 bool is_within_platform_app = IsWithinPlatformApp();
321 // Inject custom JS into the platform app context. 321 // Inject custom JS into the platform app context.
322 if (is_within_platform_app) { 322 if (is_within_platform_app) {
323 module_system->Require("platformApp"); 323 module_system->Require("platformApp");
324 } 324 }
325 325
326 // Note: setting up the WebView class here, not the chrome.webview API.
327 // The API will be automatically set up when first used.
328 if (context->GetAvailability("webViewInternal").is_available()) {
329 module_system->Require("webView");
330 if (context->GetAvailability("webViewExperimentalInternal")
331 .is_available()) {
332 module_system->Require("webViewExperimental");
333 }
334 } else if (context_type == extensions::Feature::BLESSED_EXTENSION_CONTEXT) {
335 module_system->Require("denyWebView");
336 }
337
326 delegate_->RequireAdditionalModules(context, is_within_platform_app); 338 delegate_->RequireAdditionalModules(context, is_within_platform_app);
327 339
328 VLOG(1) << "Num tracked contexts: " << script_context_set_.size(); 340 VLOG(1) << "Num tracked contexts: " << script_context_set_.size();
329 } 341 }
330 342
331 void Dispatcher::WillReleaseScriptContext( 343 void Dispatcher::WillReleaseScriptContext(
332 WebFrame* frame, 344 WebFrame* frame,
333 const v8::Handle<v8::Context>& v8_context, 345 const v8::Handle<v8::Context>& v8_context,
334 int world_id) { 346 int world_id) {
335 ScriptContext* context = script_context_set_.GetByV8Context(v8_context); 347 ScriptContext* context = script_context_set_.GetByV8Context(v8_context);
(...skipping 1016 matching lines...) Expand 10 before | Expand all | Expand 10 after
1352 return v8::Handle<v8::Object>(); 1364 return v8::Handle<v8::Object>();
1353 1365
1354 if (bind_name) 1366 if (bind_name)
1355 *bind_name = split.back(); 1367 *bind_name = split.back();
1356 1368
1357 return bind_object.IsEmpty() ? AsObjectOrEmpty(GetOrCreateChrome(context)) 1369 return bind_object.IsEmpty() ? AsObjectOrEmpty(GetOrCreateChrome(context))
1358 : bind_object; 1370 : bind_object;
1359 } 1371 }
1360 1372
1361 } // namespace extensions 1373 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698