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

Side by Side Diff: content/renderer/browser_plugin/browser_plugin.cc

Issue 11027065: Browser plugin: Implement titleChanged event. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/renderer/browser_plugin/browser_plugin.h" 5 #include "content/renderer/browser_plugin/browser_plugin.h"
6 6
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #if defined (OS_WIN) 9 #if defined (OS_WIN)
10 #include "base/sys_info.h" 10 #include "base/sys_info.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 const char kIsTopLevel[] = "isTopLevel"; 46 const char kIsTopLevel[] = "isTopLevel";
47 const char kLoadAbortEventName[] = "loadAbort"; 47 const char kLoadAbortEventName[] = "loadAbort";
48 const char kLoadRedirectEventName[] = "loadRedirect"; 48 const char kLoadRedirectEventName[] = "loadRedirect";
49 const char kLoadStartEventName[] = "loadStart"; 49 const char kLoadStartEventName[] = "loadStart";
50 const char kNavigationEventName[] = "navigation"; 50 const char kNavigationEventName[] = "navigation";
51 const char kNewURL[] = "newUrl"; 51 const char kNewURL[] = "newUrl";
52 const char kOldURL[] = "oldUrl"; 52 const char kOldURL[] = "oldUrl";
53 const char kPartitionAttribute[] = "partition"; 53 const char kPartitionAttribute[] = "partition";
54 const char kPersistPrefix[] = "persist:"; 54 const char kPersistPrefix[] = "persist:";
55 const char kSrcAttribute[] = "src"; 55 const char kSrcAttribute[] = "src";
56 const char kTitle[] = "title";
57 const char kTitleChangedEventName[] = "titleChanged";
56 const char kType[] = "type"; 58 const char kType[] = "type";
57 const char kURL[] = "url"; 59 const char kURL[] = "url";
58 } 60 }
59 61
60 BrowserPlugin::BrowserPlugin( 62 BrowserPlugin::BrowserPlugin(
61 int instance_id, 63 int instance_id,
62 RenderViewImpl* render_view, 64 RenderViewImpl* render_view,
63 WebKit::WebFrame* frame, 65 WebKit::WebFrame* frame,
64 const WebPluginParams& params) 66 const WebPluginParams& params)
65 : instance_id_(instance_id), 67 : instance_id_(instance_id),
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 for (; it != listeners.end(); ++it) { 447 for (; it != listeners.end(); ++it) {
446 // Fire the event listener. 448 // Fire the event listener.
447 container()->element().document().frame()-> 449 container()->element().document().frame()->
448 callFunctionEvenIfScriptDisabled(*it, 450 callFunctionEvenIfScriptDisabled(*it,
449 v8::Object::New(), 451 v8::Object::New(),
450 1, 452 1,
451 &event); 453 &event);
452 } 454 }
453 } 455 }
454 456
457 void BrowserPlugin::TitleChanged(const string16& title) {
458 if (!HasListeners(kTitleChangedEventName))
459 return;
460
461 EventListeners& listeners = event_listener_map_[kTitleChangedEventName];
462 EventListeners::iterator it = listeners.begin();
463
464 v8::Context::Scope context_scope(v8::Context::New());
465 v8::HandleScope handle_scope;
466
467 // Construct the loadRedirect event object.
Fady Samuel 2012/10/05 17:45:52 Please update this comment :-)
Charlie Reis 2012/10/05 19:20:48 Good copy/paste catch. :) Done.
468 v8::Local<v8::Value> event =
469 v8::Local<v8::Object>::New(v8::Object::New());
470 v8::Local<v8::Object>::Cast(event)->Set(
471 v8::String::New(kTitle, sizeof(kTitle) - 1),
472 v8::String::New(title.c_str(), title.size()));
473 for (; it != listeners.end(); ++it) {
474 // Fire the event listener.
475 container()->element().document().frame()->
476 callFunctionEvenIfScriptDisabled(*it,
477 v8::Object::New(),
478 1,
479 &event);
480 }
481 }
482
455 void BrowserPlugin::AdvanceFocus(bool reverse) { 483 void BrowserPlugin::AdvanceFocus(bool reverse) {
456 // We do not have a RenderView when we are testing. 484 // We do not have a RenderView when we are testing.
457 if (render_view_) 485 if (render_view_)
458 render_view_->GetWebView()->advanceFocus(reverse); 486 render_view_->GetWebView()->advanceFocus(reverse);
459 } 487 }
460 488
461 void BrowserPlugin::SetAcceptTouchEvents(bool accept) { 489 void BrowserPlugin::SetAcceptTouchEvents(bool accept) {
462 if (container()) 490 if (container())
463 container()->setIsAcceptingTouchEvents(accept); 491 container()->setIsAcceptingTouchEvents(accept);
464 } 492 }
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
728 void* notify_data) { 756 void* notify_data) {
729 } 757 }
730 758
731 void BrowserPlugin::didFailLoadingFrameRequest( 759 void BrowserPlugin::didFailLoadingFrameRequest(
732 const WebKit::WebURL& url, 760 const WebKit::WebURL& url,
733 void* notify_data, 761 void* notify_data,
734 const WebKit::WebURLError& error) { 762 const WebKit::WebURLError& error) {
735 } 763 }
736 764
737 } // namespace content 765 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/browser_plugin/browser_plugin.h ('k') | content/renderer/browser_plugin/browser_plugin_manager_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698