| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/metrics/histogram.h" | 8 #include "base/metrics/histogram.h" |
| 9 #include "base/scoped_ptr.h" | 9 #include "base/scoped_ptr.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| (...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 410 return bound_graphics_3d()->GetBackingTextureId(); | 410 return bound_graphics_3d()->GetBackingTextureId(); |
| 411 } | 411 } |
| 412 | 412 |
| 413 void PluginInstance::CommitBackingTexture() { | 413 void PluginInstance::CommitBackingTexture() { |
| 414 if (fullscreen_container_) | 414 if (fullscreen_container_) |
| 415 fullscreen_container_->Invalidate(); | 415 fullscreen_container_->Invalidate(); |
| 416 else | 416 else |
| 417 container_->commitBackingTexture(); | 417 container_->commitBackingTexture(); |
| 418 } | 418 } |
| 419 | 419 |
| 420 void PluginInstance::InstanceCrashed() { |
| 421 // Force free all resources and vars. |
| 422 ResourceTracker::Get()->InstanceCrashed(pp_instance()); |
| 423 |
| 424 // Free any associated graphics. |
| 425 SetFullscreen(false); |
| 426 bound_graphics_ = NULL; |
| 427 InvalidateRect(gfx::Rect()); |
| 428 |
| 429 // TODO(brettw) show a crashed plugin screen. |
| 430 } |
| 431 |
| 420 PP_Var PluginInstance::GetWindowObject() { | 432 PP_Var PluginInstance::GetWindowObject() { |
| 421 if (!container_) | 433 if (!container_) |
| 422 return PP_MakeUndefined(); | 434 return PP_MakeUndefined(); |
| 423 | 435 |
| 424 WebFrame* frame = container_->element().document().frame(); | 436 WebFrame* frame = container_->element().document().frame(); |
| 425 if (!frame) | 437 if (!frame) |
| 426 return PP_MakeUndefined(); | 438 return PP_MakeUndefined(); |
| 427 | 439 |
| 428 return ObjectVar::NPObjectToPPVar(this, frame->windowObject()); | 440 return ObjectVar::NPObjectToPPVar(this, frame->windowObject()); |
| 429 } | 441 } |
| (...skipping 838 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1268 return found->second; | 1280 return found->second; |
| 1269 } | 1281 } |
| 1270 | 1282 |
| 1271 bool PluginInstance::IsFullPagePlugin() const { | 1283 bool PluginInstance::IsFullPagePlugin() const { |
| 1272 WebFrame* frame = container()->element().document().frame(); | 1284 WebFrame* frame = container()->element().document().frame(); |
| 1273 return frame->view()->mainFrame()->document().isPluginDocument(); | 1285 return frame->view()->mainFrame()->document().isPluginDocument(); |
| 1274 } | 1286 } |
| 1275 | 1287 |
| 1276 } // namespace ppapi | 1288 } // namespace ppapi |
| 1277 } // namespace webkit | 1289 } // namespace webkit |
| OLD | NEW |