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 "chrome/browser/extensions/api/offscreen_tabs/offscreen_tabs_api.h" | 5 #include "chrome/browser/extensions/api/offscreen_tabs/offscreen_tabs_api.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/hash_tables.h" | 10 #include "base/hash_tables.h" |
(...skipping 789 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
800 EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(0, &offscreen_tab_id)); | 800 EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(0, &offscreen_tab_id)); |
801 | 801 |
802 OffscreenTab* offscreen_tab = NULL; | 802 OffscreenTab* offscreen_tab = NULL; |
803 if (!GetMap()->GetOffscreenTab( | 803 if (!GetMap()->GetOffscreenTab( |
804 offscreen_tab_id, this, &offscreen_tab, &error_)) | 804 offscreen_tab_id, this, &offscreen_tab, &error_)) |
805 return false; | 805 return false; |
806 | 806 |
807 DictionaryValue* update_props; | 807 DictionaryValue* update_props; |
808 EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(1, &update_props)); | 808 EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(1, &update_props)); |
809 | 809 |
810 tab_contents_ = offscreen_tab->tab_contents(); | 810 web_contents_ = offscreen_tab->tab_contents()->web_contents(); |
811 bool is_async = false; | 811 bool is_async = false; |
812 if (!UpdateURLIfPresent(update_props, offscreen_tab_id, &is_async)) | 812 if (!UpdateURLIfPresent(update_props, offscreen_tab_id, &is_async)) |
813 return false; | 813 return false; |
814 | 814 |
815 // Update the width and height, if specified. | 815 // Update the width and height, if specified. |
816 if (update_props->HasKey(tabs_keys::kWidthKey) || | 816 if (update_props->HasKey(tabs_keys::kWidthKey) || |
817 update_props->HasKey(tabs_keys::kHeightKey)) { | 817 update_props->HasKey(tabs_keys::kHeightKey)) { |
818 const gfx::Size& size = | 818 const gfx::Size& size = web_contents_->GetView()->GetContainerSize(); |
819 tab_contents_->web_contents()->GetView()->GetContainerSize(); | |
820 | 819 |
821 int width; | 820 int width; |
822 if (update_props->HasKey(tabs_keys::kWidthKey)) | 821 if (update_props->HasKey(tabs_keys::kWidthKey)) |
823 EXTENSION_FUNCTION_VALIDATE( | 822 EXTENSION_FUNCTION_VALIDATE( |
824 update_props->GetInteger(tabs_keys::kWidthKey, &width)); | 823 update_props->GetInteger(tabs_keys::kWidthKey, &width)); |
825 else | 824 else |
826 width = size.width(); | 825 width = size.width(); |
827 | 826 |
828 int height; | 827 int height; |
829 if (update_props->HasKey(tabs_keys::kHeightKey)) | 828 if (update_props->HasKey(tabs_keys::kHeightKey)) |
830 EXTENSION_FUNCTION_VALIDATE( | 829 EXTENSION_FUNCTION_VALIDATE( |
831 update_props->GetInteger(tabs_keys::kHeightKey, &height)); | 830 update_props->GetInteger(tabs_keys::kHeightKey, &height)); |
832 else | 831 else |
833 height = size.height(); | 832 height = size.height(); |
834 | 833 |
835 offscreen_tab->SetSize(width, height); | 834 offscreen_tab->SetSize(width, height); |
836 } | 835 } |
837 | 836 |
838 // The response is sent from UpdateTabFunction::OnExecuteCodeFinish in the | 837 // The response is sent from UpdateTabFunction::OnExecuteCodeFinish in the |
839 // async case (when a "javascript": URL is sent to a tab). | 838 // async case (when a "javascript": URL is sent to a tab). |
840 if (!is_async) | 839 if (!is_async) |
841 SendResponse(true); | 840 SendResponse(true); |
842 | 841 |
843 return true; | 842 return true; |
844 } | 843 } |
845 | 844 |
846 void UpdateOffscreenTabFunction::PopulateResult() { | 845 void UpdateOffscreenTabFunction::PopulateResult() { |
847 // There's no result associated with this callback. | 846 // There's no result associated with this callback. |
848 } | 847 } |
OLD | NEW |