OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/renderer/net/net_error_page_controller.h" | |
6 | |
7 #include "base/strings/string_piece.h" | |
8 #include "chrome/renderer/net/net_error_helper.h" | |
9 #include "content/public/renderer/render_frame.h" | |
10 #include "gin/handle.h" | |
11 #include "gin/object_template_builder.h" | |
12 #include "third_party/WebKit/public/web/WebFrame.h" | |
13 #include "third_party/WebKit/public/web/WebKit.h" | |
14 | |
15 gin::WrapperInfo NetErrorPageController::kWrapperInfo = { | |
16 gin::kEmbedderNativeGin}; | |
17 | |
18 // static | |
19 void NetErrorPageController::Install(content::RenderFrame* render_frame) { | |
20 v8::Isolate* isolate = blink::mainThreadIsolate(); | |
21 v8::HandleScope handle_scope(isolate); | |
22 v8::Handle<v8::Context> context = | |
23 render_frame->GetWebFrame()->mainWorldScriptContext(); | |
24 if (context.IsEmpty()) | |
25 return; | |
26 | |
27 v8::Context::Scope context_scope(context); | |
28 | |
29 gin::Handle<NetErrorPageController> controller = gin::CreateHandle( | |
30 isolate, new NetErrorPageController(render_frame)); | |
31 v8::Handle<v8::Object> global = context->Global(); | |
32 global->Set(gin::StringToV8(isolate, "errorPageController"), | |
33 controller.ToV8()); | |
34 } | |
35 | |
36 bool NetErrorPageController::LoadStaleButtonClick() { | |
37 if (!render_frame()) | |
38 return false; | |
39 | |
40 NetErrorHelper* net_error_helper = | |
41 content::RenderFrameObserverTracker<NetErrorHelper>::Get(render_frame()); | |
42 DCHECK(net_error_helper); | |
43 net_error_helper->LoadStaleButtonPressed(); | |
44 | |
45 return true; | |
46 } | |
47 | |
48 bool NetErrorPageController::ReloadButtonClick() { | |
49 if (!render_frame()) | |
50 return false; | |
51 | |
52 NetErrorHelper* net_error_helper = | |
53 content::RenderFrameObserverTracker<NetErrorHelper>::Get(render_frame()); | |
54 DCHECK(net_error_helper); | |
55 net_error_helper->ReloadButtonPressed(); | |
56 | |
57 return true; | |
58 } | |
59 | |
60 bool NetErrorPageController::MoreButtonClick() { | |
61 if (!render_frame()) | |
62 return false; | |
63 | |
64 NetErrorHelper* net_error_helper = | |
65 content::RenderFrameObserverTracker<NetErrorHelper>::Get(render_frame()); | |
66 DCHECK(net_error_helper); | |
67 net_error_helper->MoreButtonPressed(); | |
68 | |
69 return true; | |
70 } | |
71 | |
72 NetErrorPageController::NetErrorPageController( | |
73 content::RenderFrame* render_frame) : RenderFrameObserver(render_frame) {} | |
74 | |
75 NetErrorPageController::~NetErrorPageController() {} | |
76 | |
77 gin::ObjectTemplateBuilder NetErrorPageController::GetObjectTemplateBuilder( | |
78 v8::Isolate* isolate) { | |
79 return gin::Wrappable<NetErrorPageController>::GetObjectTemplateBuilder( | |
80 isolate) | |
jar (doing other things)
2014/04/21 23:48:19
nit: This should only be indented 4 from the start
Randy Smith (Not in Mondays)
2014/04/22 20:40:02
Done.
| |
81 .SetMethod("loadStaleButtonClick", | |
82 &NetErrorPageController::LoadStaleButtonClick) | |
83 .SetMethod("reloadButtonClick", | |
84 &NetErrorPageController::ReloadButtonClick) | |
85 .SetMethod("moreButtonClick", | |
86 &NetErrorPageController::MoreButtonClick); | |
87 } | |
88 | |
89 void NetErrorPageController::OnDestruct() {} | |
OLD | NEW |