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

Side by Side Diff: chrome/renderer/extensions/extension_process_bindings.cc

Issue 113085: Split V8Proxy::retrieveActiveFrame() into two methods. (Closed)
Patch Set: Darin feedback Created 11 years, 7 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 (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "chrome/renderer/extensions/extension_process_bindings.h" 5 #include "chrome/renderer/extensions/extension_process_bindings.h"
6 6
7 #include "base/singleton.h" 7 #include "base/singleton.h"
8 #include "chrome/common/render_messages.h" 8 #include "chrome/common/render_messages.h"
9 #include "chrome/renderer/extensions/bindings_utils.h" 9 #include "chrome/renderer/extensions/bindings_utils.h"
10 #include "chrome/renderer/extensions/event_bindings.h" 10 #include "chrome/renderer/extensions/event_bindings.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 static std::set<std::string>* GetFunctionNameSet() { 62 static std::set<std::string>* GetFunctionNameSet() {
63 return &Singleton<SingletonData>()->function_names_; 63 return &Singleton<SingletonData>()->function_names_;
64 } 64 }
65 65
66 static v8::Handle<v8::Value> GetNextCallbackId(const v8::Arguments& args) { 66 static v8::Handle<v8::Value> GetNextCallbackId(const v8::Arguments& args) {
67 static int next_callback_id = 0; 67 static int next_callback_id = 0;
68 return v8::Integer::New(next_callback_id++); 68 return v8::Integer::New(next_callback_id++);
69 } 69 }
70 70
71 static v8::Handle<v8::Value> StartRequest(const v8::Arguments& args) { 71 static v8::Handle<v8::Value> StartRequest(const v8::Arguments& args) {
72 WebFrame* webframe = WebFrame::RetrieveActiveFrame(); 72 // Get the current RenderView so that we can send a routed IPC message from
73 RenderView* renderview = GetActiveRenderView(); 73 // the correct source.
74 WebFrame* webframe = WebFrame::RetrieveFrameForCurrentContext();
75 RenderView* renderview = GetRenderViewForCurrentContext();
74 if (!webframe || !renderview) 76 if (!webframe || !renderview)
75 return v8::Undefined(); 77 return v8::Undefined();
76 78
77 if (args.Length() != 2 || !args[0]->IsString() || !args[1]->IsInt32()) 79 if (args.Length() != 2 || !args[0]->IsString() || !args[1]->IsInt32())
78 return v8::Undefined(); 80 return v8::Undefined();
79 81
80 int callback_id = args[1]->Int32Value(); 82 int callback_id = args[1]->Int32Value();
81 renderview->SendExtensionRequest( 83 renderview->SendExtensionRequest(
82 std::string(*v8::String::AsciiValue(args.Data())), 84 std::string(*v8::String::AsciiValue(args.Data())),
83 std::string(*v8::String::Utf8Value(args[0])), 85 std::string(*v8::String::Utf8Value(args[0])),
(...skipping 21 matching lines...) Expand all
105 code += ", '"; 107 code += ", '";
106 108
107 size_t offset = code.length(); 109 size_t offset = code.length();
108 code += response; 110 code += response;
109 ReplaceSubstringsAfterOffset(&code, offset, "\\", "\\\\"); 111 ReplaceSubstringsAfterOffset(&code, offset, "\\", "\\\\");
110 ReplaceSubstringsAfterOffset(&code, offset, "'", "\\'"); 112 ReplaceSubstringsAfterOffset(&code, offset, "'", "\\'");
111 code += "')"; 113 code += "')";
112 114
113 frame->ExecuteScript(WebScriptSource(WebString::fromUTF8(code))); 115 frame->ExecuteScript(WebScriptSource(WebString::fromUTF8(code)));
114 } 116 }
OLDNEW
« no previous file with comments | « chrome/renderer/extensions/bindings_utils.cc ('k') | chrome/renderer/extensions/renderer_extension_bindings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698