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/tabs/tabs_api.h" | 5 #include "chrome/browser/extensions/api/tabs/tabs_api.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <algorithm> | 8 #include <algorithm> |
9 #include <limits> | 9 #include <limits> |
10 #include <memory> | 10 #include <memory> |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 | 128 |
129 bool populate_tabs() { | 129 bool populate_tabs() { |
130 if (params_->get_info.get() && params_->get_info->populate.get()) | 130 if (params_->get_info.get() && params_->get_info->populate.get()) |
131 return *params_->get_info->populate; | 131 return *params_->get_info->populate; |
132 return false; | 132 return false; |
133 } | 133 } |
134 | 134 |
135 WindowController::TypeFilter type_filters() { | 135 WindowController::TypeFilter type_filters() { |
136 if (params_->get_info.get() && params_->get_info->window_types.get()) | 136 if (params_->get_info.get() && params_->get_info->window_types.get()) |
137 return WindowController::GetFilterFromWindowTypes( | 137 return WindowController::GetFilterFromWindowTypes( |
138 *params_->get_info->window_types.get()); | 138 *params_->get_info->window_types); |
139 return WindowController::kNoWindowFilter; | 139 return WindowController::kNoWindowFilter; |
140 } | 140 } |
141 | 141 |
142 private: | 142 private: |
143 T* params_; | 143 T* params_; |
144 }; | 144 }; |
145 | 145 |
146 bool GetBrowserFromWindowID(ChromeUIThreadExtensionFunction* function, | 146 bool GetBrowserFromWindowID(ChromeUIThreadExtensionFunction* function, |
147 int window_id, | 147 int window_id, |
148 Browser** browser) { | 148 Browser** browser) { |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 // |value| are equal. This function is used to check if a tab's parameters match | 202 // |value| are equal. This function is used to check if a tab's parameters match |
203 // those of the browser. | 203 // those of the browser. |
204 bool MatchesBool(bool* boolean, bool value) { | 204 bool MatchesBool(bool* boolean, bool value) { |
205 return !boolean || *boolean == value; | 205 return !boolean || *boolean == value; |
206 } | 206 } |
207 | 207 |
208 template <typename T> | 208 template <typename T> |
209 void AssignOptionalValue(const std::unique_ptr<T>& source, | 209 void AssignOptionalValue(const std::unique_ptr<T>& source, |
210 std::unique_ptr<T>& destination) { | 210 std::unique_ptr<T>& destination) { |
211 if (source.get()) { | 211 if (source.get()) { |
212 destination.reset(new T(*source.get())); | 212 destination.reset(new T(*source)); |
213 } | 213 } |
214 } | 214 } |
215 | 215 |
216 ui::WindowShowState ConvertToWindowShowState(windows::WindowState state) { | 216 ui::WindowShowState ConvertToWindowShowState(windows::WindowState state) { |
217 switch (state) { | 217 switch (state) { |
218 case windows::WINDOW_STATE_NORMAL: | 218 case windows::WINDOW_STATE_NORMAL: |
219 case windows::WINDOW_STATE_DOCKED: | 219 case windows::WINDOW_STATE_DOCKED: |
220 return ui::SHOW_STATE_NORMAL; | 220 return ui::SHOW_STATE_NORMAL; |
221 case windows::WINDOW_STATE_MINIMIZED: | 221 case windows::WINDOW_STATE_MINIMIZED: |
222 return ui::SHOW_STATE_MINIMIZED; | 222 return ui::SHOW_STATE_MINIMIZED; |
(...skipping 1229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1452 } | 1452 } |
1453 | 1453 |
1454 if (!has_callback()) | 1454 if (!has_callback()) |
1455 return true; | 1455 return true; |
1456 | 1456 |
1457 if (num_tabs == 0) { | 1457 if (num_tabs == 0) { |
1458 error_ = "No tabs given."; | 1458 error_ = "No tabs given."; |
1459 return false; | 1459 return false; |
1460 } else if (num_tabs == 1) { | 1460 } else if (num_tabs == 1) { |
1461 std::unique_ptr<base::Value> value; | 1461 std::unique_ptr<base::Value> value; |
1462 CHECK(tab_values.get()->Remove(0, &value)); | 1462 CHECK(tab_values->Remove(0, &value)); |
1463 SetResult(std::move(value)); | 1463 SetResult(std::move(value)); |
1464 } else { | 1464 } else { |
1465 // Only return the results as an array if there are multiple tabs. | 1465 // Only return the results as an array if there are multiple tabs. |
1466 SetResult(std::move(tab_values)); | 1466 SetResult(std::move(tab_values)); |
1467 } | 1467 } |
1468 | 1468 |
1469 return true; | 1469 return true; |
1470 } | 1470 } |
1471 | 1471 |
1472 bool TabsMoveFunction::MoveTab(int tab_id, | 1472 bool TabsMoveFunction::MoveTab(int tab_id, |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1632 EXTENSION_FUNCTION_VALIDATE(params.get()); | 1632 EXTENSION_FUNCTION_VALIDATE(params.get()); |
1633 | 1633 |
1634 if (params->tab_ids.as_integers) { | 1634 if (params->tab_ids.as_integers) { |
1635 std::vector<int>& tab_ids = *params->tab_ids.as_integers; | 1635 std::vector<int>& tab_ids = *params->tab_ids.as_integers; |
1636 for (size_t i = 0; i < tab_ids.size(); ++i) { | 1636 for (size_t i = 0; i < tab_ids.size(); ++i) { |
1637 if (!RemoveTab(tab_ids[i])) | 1637 if (!RemoveTab(tab_ids[i])) |
1638 return false; | 1638 return false; |
1639 } | 1639 } |
1640 } else { | 1640 } else { |
1641 EXTENSION_FUNCTION_VALIDATE(params->tab_ids.as_integer); | 1641 EXTENSION_FUNCTION_VALIDATE(params->tab_ids.as_integer); |
1642 if (!RemoveTab(*params->tab_ids.as_integer.get())) | 1642 if (!RemoveTab(*params->tab_ids.as_integer)) |
1643 return false; | 1643 return false; |
1644 } | 1644 } |
1645 return true; | 1645 return true; |
1646 } | 1646 } |
1647 | 1647 |
1648 bool TabsRemoveFunction::RemoveTab(int tab_id) { | 1648 bool TabsRemoveFunction::RemoveTab(int tab_id) { |
1649 Browser* browser = NULL; | 1649 Browser* browser = NULL; |
1650 WebContents* contents = NULL; | 1650 WebContents* contents = NULL; |
1651 if (!GetTabById(tab_id, | 1651 if (!GetTabById(tab_id, |
1652 GetProfile(), | 1652 GetProfile(), |
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2162 ZoomModeToZoomSettings(zoom_mode, &zoom_settings); | 2162 ZoomModeToZoomSettings(zoom_mode, &zoom_settings); |
2163 zoom_settings.default_zoom_factor.reset(new double( | 2163 zoom_settings.default_zoom_factor.reset(new double( |
2164 content::ZoomLevelToZoomFactor(zoom_controller->GetDefaultZoomLevel()))); | 2164 content::ZoomLevelToZoomFactor(zoom_controller->GetDefaultZoomLevel()))); |
2165 | 2165 |
2166 results_ = api::tabs::GetZoomSettings::Results::Create(zoom_settings); | 2166 results_ = api::tabs::GetZoomSettings::Results::Create(zoom_settings); |
2167 SendResponse(true); | 2167 SendResponse(true); |
2168 return true; | 2168 return true; |
2169 } | 2169 } |
2170 | 2170 |
2171 } // namespace extensions | 2171 } // namespace extensions |
OLD | NEW |