OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 "config.h" | 5 #include "config.h" |
6 #include "webkit/glue/webplugin_impl.h" | 6 #include "webkit/glue/webplugin_impl.h" |
7 | 7 |
8 #include "Cursor.h" | 8 #include "Cursor.h" |
9 #include "Document.h" | 9 #include "Document.h" |
10 #include "DocumentLoader.h" | 10 #include "DocumentLoader.h" |
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
645 // the webview is closed. | 645 // the webview is closed. |
646 if (!webview->delegate()) { | 646 if (!webview->delegate()) { |
647 return; | 647 return; |
648 } | 648 } |
649 | 649 |
650 WebCore::IntRect window_rect; | 650 WebCore::IntRect window_rect; |
651 WebCore::IntRect clip_rect; | 651 WebCore::IntRect clip_rect; |
652 std::vector<gfx::Rect> cutout_rects; | 652 std::vector<gfx::Rect> cutout_rects; |
653 CalculateBounds(rect, &window_rect, &clip_rect, &cutout_rects); | 653 CalculateBounds(rect, &window_rect, &clip_rect, &cutout_rects); |
654 | 654 |
| 655 // Notify the plugin that its parameters have changed. |
655 delegate_->UpdateGeometry(webkit_glue::FromIntRect(window_rect), | 656 delegate_->UpdateGeometry(webkit_glue::FromIntRect(window_rect), |
656 webkit_glue::FromIntRect(clip_rect)); | 657 webkit_glue::FromIntRect(clip_rect)); |
| 658 |
657 if (window_) { | 659 if (window_) { |
658 // Notify the window hosting the plugin (the WebViewDelegate) that | 660 // Notify the window hosting the plugin (the WebViewDelegate) that |
659 // it needs to adjust the plugin, so that all the HWNDs can be moved | 661 // it needs to adjust the plugin, so that all the HWNDs can be moved |
660 // at the same time. | 662 // at the same time. |
661 WebPluginGeometry move; | 663 WebPluginGeometry move; |
662 move.window = window_; | 664 move.window = window_; |
663 move.window_rect = webkit_glue::FromIntRect(window_rect); | 665 move.window_rect = webkit_glue::FromIntRect(window_rect); |
664 move.clip_rect = webkit_glue::FromIntRect(clip_rect); | 666 move.clip_rect = webkit_glue::FromIntRect(clip_rect); |
665 move.cutout_rects = cutout_rects; | 667 move.cutout_rects = cutout_rects; |
666 move.visible = visible_; | 668 move.visible = visible_; |
(...skipping 754 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1421 client_index = clients_.erase(client_index); | 1423 client_index = clients_.erase(client_index); |
1422 if (resource_client) | 1424 if (resource_client) |
1423 resource_client->DidFail(); | 1425 resource_client->DidFail(); |
1424 } | 1426 } |
1425 | 1427 |
1426 // This needs to be called now and not in the destructor since the | 1428 // This needs to be called now and not in the destructor since the |
1427 // webframe_ might not be valid anymore. | 1429 // webframe_ might not be valid anymore. |
1428 webframe_->set_plugin_delegate(NULL); | 1430 webframe_->set_plugin_delegate(NULL); |
1429 webframe_ = NULL; | 1431 webframe_ = NULL; |
1430 } | 1432 } |
OLD | NEW |