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

Unified Diff: extensions/renderer/render_view_observer_natives.cc

Issue 1211003006: [Extensions OOPI] Update app window bindings for OOPI (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: extensions/renderer/render_view_observer_natives.cc
diff --git a/extensions/renderer/render_view_observer_natives.cc b/extensions/renderer/render_view_observer_natives.cc
deleted file mode 100644
index 0140ec41d6e8fcab4c10d29b6a686445637d3f57..0000000000000000000000000000000000000000
--- a/extensions/renderer/render_view_observer_natives.cc
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "extensions/renderer/render_view_observer_natives.h"
-
-#include "content/public/renderer/render_view.h"
-#include "content/public/renderer/render_view_observer.h"
-#include "extensions/common/extension_api.h"
-#include "extensions/renderer/script_context.h"
-#include "third_party/WebKit/public/web/WebFrame.h"
-#include "third_party/WebKit/public/web/WebScopedMicrotaskSuppression.h"
-
-namespace extensions {
-
-namespace {
-
-// Deletes itself when done.
-class LoadWatcher : public content::RenderViewObserver {
- public:
- LoadWatcher(ScriptContext* context,
- content::RenderView* view,
- v8::Local<v8::Function> cb)
- : content::RenderViewObserver(view),
- context_(context),
- callback_(context->isolate(), cb) {}
-
- void DidCreateDocumentElement(blink::WebLocalFrame* frame) override {
- CallbackAndDie(true);
- }
-
- void DidFailProvisionalLoad(blink::WebLocalFrame* frame,
- const blink::WebURLError& error) override {
- CallbackAndDie(false);
- }
-
- private:
- void CallbackAndDie(bool succeeded) {
- v8::Isolate* isolate = context_->isolate();
- v8::HandleScope handle_scope(isolate);
- v8::Local<v8::Value> args[] = {v8::Boolean::New(isolate, succeeded)};
- context_->CallFunction(v8::Local<v8::Function>::New(isolate, callback_),
- arraysize(args), args);
- delete this;
- }
-
- ScriptContext* context_;
- v8::Global<v8::Function> callback_;
- DISALLOW_COPY_AND_ASSIGN(LoadWatcher);
-};
-} // namespace
-
-RenderViewObserverNatives::RenderViewObserverNatives(ScriptContext* context)
- : ObjectBackedNativeHandler(context) {
- RouteFunction("OnDocumentElementCreated",
- base::Bind(&RenderViewObserverNatives::OnDocumentElementCreated,
- base::Unretained(this)));
-}
-
-void RenderViewObserverNatives::OnDocumentElementCreated(
- const v8::FunctionCallbackInfo<v8::Value>& args) {
- CHECK(args.Length() == 2);
- CHECK(args[0]->IsInt32());
- CHECK(args[1]->IsFunction());
-
- int view_id = args[0]->Int32Value();
-
- content::RenderView* view = content::RenderView::FromRoutingID(view_id);
- if (!view) {
- LOG(WARNING) << "No render view found to register LoadWatcher.";
- return;
- }
-
- new LoadWatcher(context(), view, args[1].As<v8::Function>());
-
- args.GetReturnValue().Set(true);
-}
-
-} // namespace extensions
« no previous file with comments | « extensions/renderer/render_view_observer_natives.h ('k') | extensions/renderer/resources/app_window_custom_bindings.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698