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

Side by Side Diff: webkit/plugins/ppapi/ppapi_plugin_instance.cc

Issue 7762014: This likely broke the nacl_integration test, so reverting. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 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 | Annotate | Revision Log
« no previous file with comments | « webkit/plugins/ppapi/ppapi_plugin_instance.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "webkit/plugins/ppapi/ppapi_plugin_instance.h" 5 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 PluginInstance::PluginInstance( 210 PluginInstance::PluginInstance(
211 PluginDelegate* delegate, 211 PluginDelegate* delegate,
212 PluginModule* module, 212 PluginModule* module,
213 ::ppapi::PPP_Instance_Combined* instance_interface) 213 ::ppapi::PPP_Instance_Combined* instance_interface)
214 : delegate_(delegate), 214 : delegate_(delegate),
215 module_(module), 215 module_(module),
216 instance_interface_(instance_interface), 216 instance_interface_(instance_interface),
217 pp_instance_(0), 217 pp_instance_(0),
218 container_(NULL), 218 container_(NULL),
219 full_frame_(false), 219 full_frame_(false),
220 sent_did_change_view_(false),
221 has_webkit_focus_(false), 220 has_webkit_focus_(false),
222 has_content_area_focus_(false), 221 has_content_area_focus_(false),
223 find_identifier_(-1), 222 find_identifier_(-1),
224 plugin_find_interface_(NULL), 223 plugin_find_interface_(NULL),
225 plugin_messaging_interface_(NULL), 224 plugin_messaging_interface_(NULL),
226 plugin_input_event_interface_(NULL), 225 plugin_input_event_interface_(NULL),
227 plugin_private_interface_(NULL), 226 plugin_private_interface_(NULL),
228 plugin_pdf_interface_(NULL), 227 plugin_pdf_interface_(NULL),
229 plugin_policy_updated_interface_(NULL), 228 plugin_policy_updated_interface_(NULL),
230 plugin_selection_interface_(NULL), 229 plugin_selection_interface_(NULL),
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 498
500 // If the plugin supports the private instance interface, try to retrieve its 499 // If the plugin supports the private instance interface, try to retrieve its
501 // instance object. 500 // instance object.
502 if (LoadPrivateInterface()) 501 if (LoadPrivateInterface())
503 return plugin_private_interface_->GetInstanceObject(pp_instance()); 502 return plugin_private_interface_->GetInstanceObject(pp_instance());
504 return PP_MakeUndefined(); 503 return PP_MakeUndefined();
505 } 504 }
506 505
507 void PluginInstance::ViewChanged(const gfx::Rect& position, 506 void PluginInstance::ViewChanged(const gfx::Rect& position,
508 const gfx::Rect& clip) { 507 const gfx::Rect& clip) {
509 // WebKit can give weird (x,y) positions for empty clip rects (since the 508 fullscreen_ = (fullscreen_container_ != NULL);
510 // position technically doesn't matter). But we want to make these 509 position_ = position;
511 // consistent since this is given to the plugin, so force everything to 0
512 // in the "everything is clipped" case.
513 gfx::Rect new_clip;
514 if (!clip.IsEmpty())
515 new_clip = clip;
516 510
517 // Don't notify the plugin if we've already sent these same params before. 511 if (clip.IsEmpty()) {
518 if (sent_did_change_view_ && position == position_ && new_clip == clip_) 512 // WebKit can give weird (x,y) positions for empty clip rects (since the
519 return; 513 // position technically doesn't matter). But we want to make these
520 514 // consistent since this is given to the plugin, so force everything to 0
521 sent_did_change_view_ = true; 515 // in the "everything is clipped" case.
522 position_ = position; 516 clip_ = gfx::Rect();
523 clip_ = new_clip; 517 } else {
524 fullscreen_ = (fullscreen_container_ != NULL); 518 clip_ = clip;
519 }
525 520
526 PP_Rect pp_position, pp_clip; 521 PP_Rect pp_position, pp_clip;
527 RectToPPRect(position_, &pp_position); 522 RectToPPRect(position_, &pp_position);
528 RectToPPRect(clip_, &pp_clip); 523 RectToPPRect(clip_, &pp_clip);
529 instance_interface_->DidChangeView(pp_instance(), &pp_position, &pp_clip); 524 instance_interface_->DidChangeView(pp_instance(), &pp_position, &pp_clip);
530 } 525 }
531 526
532 void PluginInstance::SetWebKitFocus(bool has_focus) { 527 void PluginInstance::SetWebKitFocus(bool has_focus) {
533 if (has_webkit_focus_ == has_focus) 528 if (has_webkit_focus_ == has_focus)
534 return; 529 return;
(...skipping 1021 matching lines...) Expand 10 before | Expand all | Expand 10 after
1556 } 1551 }
1557 1552
1558 void PluginInstance::DoSetCursor(WebCursorInfo* cursor) { 1553 void PluginInstance::DoSetCursor(WebCursorInfo* cursor) {
1559 cursor_.reset(cursor); 1554 cursor_.reset(cursor);
1560 if (fullscreen_container_) 1555 if (fullscreen_container_)
1561 fullscreen_container_->DidChangeCursor(*cursor); 1556 fullscreen_container_->DidChangeCursor(*cursor);
1562 } 1557 }
1563 1558
1564 } // namespace ppapi 1559 } // namespace ppapi
1565 } // namespace webkit 1560 } // namespace webkit
OLDNEW
« no previous file with comments | « webkit/plugins/ppapi/ppapi_plugin_instance.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698