| OLD | NEW |
| 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/pepper/pepper_plugin_instance_impl.h" | 5 #include "content/renderer/pepper/pepper_plugin_instance_impl.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bit_cast.h" | 10 #include "base/bit_cast.h" |
| (...skipping 3172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3183 if (fullscreen_container_) { | 3183 if (fullscreen_container_) { |
| 3184 fullscreen_container_->PepperDidChangeCursor(*cursor); | 3184 fullscreen_container_->PepperDidChangeCursor(*cursor); |
| 3185 } else if (render_frame_) { | 3185 } else if (render_frame_) { |
| 3186 render_frame_->PepperDidChangeCursor(this, *cursor); | 3186 render_frame_->PepperDidChangeCursor(this, *cursor); |
| 3187 } | 3187 } |
| 3188 } | 3188 } |
| 3189 | 3189 |
| 3190 bool PepperPluginInstanceImpl::IsFullPagePlugin() { | 3190 bool PepperPluginInstanceImpl::IsFullPagePlugin() { |
| 3191 WebLocalFrame* frame = container()->GetDocument().GetFrame(); | 3191 WebLocalFrame* frame = container()->GetDocument().GetFrame(); |
| 3192 return frame->View()->MainFrame()->IsWebLocalFrame() && | 3192 return frame->View()->MainFrame()->IsWebLocalFrame() && |
| 3193 frame->View()->MainFrame()->GetDocument().IsPluginDocument(); | 3193 frame->View() |
| 3194 ->MainFrame() |
| 3195 ->ToWebLocalFrame() |
| 3196 ->GetDocument() |
| 3197 .IsPluginDocument(); |
| 3194 } | 3198 } |
| 3195 | 3199 |
| 3196 bool PepperPluginInstanceImpl::FlashSetFullscreen(bool fullscreen, | 3200 bool PepperPluginInstanceImpl::FlashSetFullscreen(bool fullscreen, |
| 3197 bool delay_report) { | 3201 bool delay_report) { |
| 3198 TRACE_EVENT0("ppapi", "PepperPluginInstanceImpl::FlashSetFullscreen"); | 3202 TRACE_EVENT0("ppapi", "PepperPluginInstanceImpl::FlashSetFullscreen"); |
| 3199 // Keep a reference on the stack. See NOTE above. | 3203 // Keep a reference on the stack. See NOTE above. |
| 3200 scoped_refptr<PepperPluginInstanceImpl> ref(this); | 3204 scoped_refptr<PepperPluginInstanceImpl> ref(this); |
| 3201 | 3205 |
| 3202 // We check whether we are trying to switch to the state we're already going | 3206 // We check whether we are trying to switch to the state we're already going |
| 3203 // to (i.e. if we're already switching to fullscreen but the fullscreen | 3207 // to (i.e. if we're already switching to fullscreen but the fullscreen |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3312 bool PepperPluginInstanceImpl::CanAccessMainFrame() const { | 3316 bool PepperPluginInstanceImpl::CanAccessMainFrame() const { |
| 3313 if (!container_) | 3317 if (!container_) |
| 3314 return false; | 3318 return false; |
| 3315 blink::WebDocument containing_document = container_->GetDocument(); | 3319 blink::WebDocument containing_document = container_->GetDocument(); |
| 3316 | 3320 |
| 3317 if (!containing_document.GetFrame() || | 3321 if (!containing_document.GetFrame() || |
| 3318 !containing_document.GetFrame()->View() || | 3322 !containing_document.GetFrame()->View() || |
| 3319 !containing_document.GetFrame()->View()->MainFrame()) { | 3323 !containing_document.GetFrame()->View()->MainFrame()) { |
| 3320 return false; | 3324 return false; |
| 3321 } | 3325 } |
| 3322 blink::WebDocument main_document = | 3326 blink::WebFrame* main_frame = |
| 3323 containing_document.GetFrame()->View()->MainFrame()->GetDocument(); | 3327 containing_document.GetFrame()->View()->MainFrame(); |
| 3324 | 3328 |
| 3325 return containing_document.GetSecurityOrigin().CanAccess( | 3329 return containing_document.GetSecurityOrigin().CanAccess( |
| 3326 main_document.GetSecurityOrigin()); | 3330 main_frame->GetSecurityOrigin()); |
| 3327 } | 3331 } |
| 3328 | 3332 |
| 3329 void PepperPluginInstanceImpl::KeepSizeAttributesBeforeFullscreen() { | 3333 void PepperPluginInstanceImpl::KeepSizeAttributesBeforeFullscreen() { |
| 3330 WebElement element = container_->GetElement(); | 3334 WebElement element = container_->GetElement(); |
| 3331 width_before_fullscreen_ = element.GetAttribute(WebString::FromUTF8(kWidth)); | 3335 width_before_fullscreen_ = element.GetAttribute(WebString::FromUTF8(kWidth)); |
| 3332 height_before_fullscreen_ = | 3336 height_before_fullscreen_ = |
| 3333 element.GetAttribute(WebString::FromUTF8(kHeight)); | 3337 element.GetAttribute(WebString::FromUTF8(kHeight)); |
| 3334 border_before_fullscreen_ = | 3338 border_before_fullscreen_ = |
| 3335 element.GetAttribute(WebString::FromUTF8(kBorder)); | 3339 element.GetAttribute(WebString::FromUTF8(kBorder)); |
| 3336 style_before_fullscreen_ = element.GetAttribute(WebString::FromUTF8(kStyle)); | 3340 style_before_fullscreen_ = element.GetAttribute(WebString::FromUTF8(kStyle)); |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3499 const cc::TextureMailbox& mailbox) const { | 3503 const cc::TextureMailbox& mailbox) const { |
| 3500 auto it = | 3504 auto it = |
| 3501 std::find_if(texture_ref_counts_.begin(), texture_ref_counts_.end(), | 3505 std::find_if(texture_ref_counts_.begin(), texture_ref_counts_.end(), |
| 3502 [&mailbox](const TextureMailboxRefCount& ref_count) { | 3506 [&mailbox](const TextureMailboxRefCount& ref_count) { |
| 3503 return ref_count.first.mailbox() == mailbox.mailbox(); | 3507 return ref_count.first.mailbox() == mailbox.mailbox(); |
| 3504 }); | 3508 }); |
| 3505 return it != texture_ref_counts_.end(); | 3509 return it != texture_ref_counts_.end(); |
| 3506 } | 3510 } |
| 3507 | 3511 |
| 3508 } // namespace content | 3512 } // namespace content |
| OLD | NEW |