Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: chrome/browser/extensions/api/tabs/tabs_api.cc

Issue 1055673002: [Extensions API] Remove inline enums (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Latest master Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 } 181 }
182 } 182 }
183 183
184 } // namespace 184 } // namespace
185 185
186 void ZoomModeToZoomSettings(ZoomController::ZoomMode zoom_mode, 186 void ZoomModeToZoomSettings(ZoomController::ZoomMode zoom_mode,
187 api::tabs::ZoomSettings* zoom_settings) { 187 api::tabs::ZoomSettings* zoom_settings) {
188 DCHECK(zoom_settings); 188 DCHECK(zoom_settings);
189 switch (zoom_mode) { 189 switch (zoom_mode) {
190 case ZoomController::ZOOM_MODE_DEFAULT: 190 case ZoomController::ZOOM_MODE_DEFAULT:
191 zoom_settings->mode = api::tabs::ZoomSettings::MODE_AUTOMATIC; 191 zoom_settings->mode = api::tabs::ZOOM_SETTINGS_MODE_AUTOMATIC;
192 zoom_settings->scope = api::tabs::ZoomSettings::SCOPE_PER_ORIGIN; 192 zoom_settings->scope = api::tabs::ZOOM_SETTINGS_SCOPE_PER_ORIGIN;
193 break; 193 break;
194 case ZoomController::ZOOM_MODE_ISOLATED: 194 case ZoomController::ZOOM_MODE_ISOLATED:
195 zoom_settings->mode = api::tabs::ZoomSettings::MODE_AUTOMATIC; 195 zoom_settings->mode = api::tabs::ZOOM_SETTINGS_MODE_AUTOMATIC;
196 zoom_settings->scope = api::tabs::ZoomSettings::SCOPE_PER_TAB; 196 zoom_settings->scope = api::tabs::ZOOM_SETTINGS_SCOPE_PER_TAB;
197 break; 197 break;
198 case ZoomController::ZOOM_MODE_MANUAL: 198 case ZoomController::ZOOM_MODE_MANUAL:
199 zoom_settings->mode = api::tabs::ZoomSettings::MODE_MANUAL; 199 zoom_settings->mode = api::tabs::ZOOM_SETTINGS_MODE_MANUAL;
200 zoom_settings->scope = api::tabs::ZoomSettings::SCOPE_PER_TAB; 200 zoom_settings->scope = api::tabs::ZOOM_SETTINGS_SCOPE_PER_TAB;
201 break; 201 break;
202 case ZoomController::ZOOM_MODE_DISABLED: 202 case ZoomController::ZOOM_MODE_DISABLED:
203 zoom_settings->mode = api::tabs::ZoomSettings::MODE_DISABLED; 203 zoom_settings->mode = api::tabs::ZOOM_SETTINGS_MODE_DISABLED;
204 zoom_settings->scope = api::tabs::ZoomSettings::SCOPE_PER_TAB; 204 zoom_settings->scope = api::tabs::ZOOM_SETTINGS_SCOPE_PER_TAB;
205 break; 205 break;
206 } 206 }
207 } 207 }
208 208
209 // Windows --------------------------------------------------------------------- 209 // Windows ---------------------------------------------------------------------
210 210
211 bool WindowsGetFunction::RunSync() { 211 bool WindowsGetFunction::RunSync() {
212 scoped_ptr<windows::Get::Params> params(windows::Get::Params::Create(*args_)); 212 scoped_ptr<windows::Get::Params> params(windows::Get::Params::Create(*args_));
213 EXTENSION_FUNCTION_VALIDATE(params.get()); 213 EXTENSION_FUNCTION_VALIDATE(params.get());
214 214
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 return false; 425 return false;
426 } 426 }
427 if (open_incognito_window) { 427 if (open_incognito_window) {
428 window_profile = window_profile->GetOffTheRecordProfile(); 428 window_profile = window_profile->GetOffTheRecordProfile();
429 } 429 }
430 430
431 if (create_data) { 431 if (create_data) {
432 // Figure out window type before figuring out bounds so that default 432 // Figure out window type before figuring out bounds so that default
433 // bounds can be set according to the window type. 433 // bounds can be set according to the window type.
434 switch (create_data->type) { 434 switch (create_data->type) {
435 case windows::Create::Params::CreateData::TYPE_POPUP: 435 case windows::CREATE_TYPE_POPUP:
436 window_type = Browser::TYPE_POPUP; 436 window_type = Browser::TYPE_POPUP;
437 extension_id = extension()->id(); 437 extension_id = extension()->id();
438 break; 438 break;
439 case windows::Create::Params::CreateData::TYPE_PANEL: 439 case windows::CREATE_TYPE_PANEL:
440 case windows::Create::Params::CreateData::TYPE_DETACHED_PANEL: { 440 case windows::CREATE_TYPE_DETACHED_PANEL: {
441 extension_id = extension()->id(); 441 extension_id = extension()->id();
442 bool use_panels = PanelManager::ShouldUsePanels(extension_id); 442 bool use_panels = PanelManager::ShouldUsePanels(extension_id);
443 if (use_panels) { 443 if (use_panels) {
444 create_panel = true; 444 create_panel = true;
445 // Non-ash supports both docked and detached panel types. 445 // Non-ash supports both docked and detached panel types.
446 if (chrome::GetActiveDesktop() != chrome::HOST_DESKTOP_TYPE_ASH && 446 if (chrome::GetActiveDesktop() != chrome::HOST_DESKTOP_TYPE_ASH &&
447 create_data->type == 447 create_data->type == windows::CREATE_TYPE_DETACHED_PANEL) {
448 windows::Create::Params::CreateData::TYPE_DETACHED_PANEL) {
449 panel_create_mode = PanelManager::CREATE_AS_DETACHED; 448 panel_create_mode = PanelManager::CREATE_AS_DETACHED;
450 } 449 }
451 } else { 450 } else {
452 window_type = Browser::TYPE_POPUP; 451 window_type = Browser::TYPE_POPUP;
453 } 452 }
454 break; 453 break;
455 } 454 }
456 case windows::Create::Params::CreateData::TYPE_NONE: 455 case windows::CREATE_TYPE_NONE:
457 case windows::Create::Params::CreateData::TYPE_NORMAL: 456 case windows::CREATE_TYPE_NORMAL:
458 break; 457 break;
459 default: 458 default:
460 error_ = keys::kInvalidWindowTypeError; 459 error_ = keys::kInvalidWindowTypeError;
461 return false; 460 return false;
462 } 461 }
463 462
464 // Initialize default window bounds according to window type. 463 // Initialize default window bounds according to window type.
465 if (window_type == Browser::TYPE_TABBED || 464 if (window_type == Browser::TYPE_TABBED ||
466 window_type == Browser::TYPE_POPUP || 465 window_type == Browser::TYPE_POPUP ||
467 create_panel) { 466 create_panel) {
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
619 windows::Update::Params::Create(*args_)); 618 windows::Update::Params::Create(*args_));
620 EXTENSION_FUNCTION_VALIDATE(params); 619 EXTENSION_FUNCTION_VALIDATE(params);
621 620
622 WindowController* controller; 621 WindowController* controller;
623 if (!windows_util::GetWindowFromWindowID(this, params->window_id, 622 if (!windows_util::GetWindowFromWindowID(this, params->window_id,
624 &controller)) 623 &controller))
625 return false; 624 return false;
626 625
627 ui::WindowShowState show_state = ui::SHOW_STATE_DEFAULT; // No change. 626 ui::WindowShowState show_state = ui::SHOW_STATE_DEFAULT; // No change.
628 switch (params->update_info.state) { 627 switch (params->update_info.state) {
629 case windows::Update::Params::UpdateInfo::STATE_NORMAL: 628 case windows::WINDOW_STATE_NORMAL:
630 show_state = ui::SHOW_STATE_NORMAL; 629 show_state = ui::SHOW_STATE_NORMAL;
631 break; 630 break;
632 case windows::Update::Params::UpdateInfo::STATE_MINIMIZED: 631 case windows::WINDOW_STATE_MINIMIZED:
633 show_state = ui::SHOW_STATE_MINIMIZED; 632 show_state = ui::SHOW_STATE_MINIMIZED;
634 break; 633 break;
635 case windows::Update::Params::UpdateInfo::STATE_MAXIMIZED: 634 case windows::WINDOW_STATE_MAXIMIZED:
636 show_state = ui::SHOW_STATE_MAXIMIZED; 635 show_state = ui::SHOW_STATE_MAXIMIZED;
637 break; 636 break;
638 case windows::Update::Params::UpdateInfo::STATE_FULLSCREEN: 637 case windows::WINDOW_STATE_FULLSCREEN:
639 show_state = ui::SHOW_STATE_FULLSCREEN; 638 show_state = ui::SHOW_STATE_FULLSCREEN;
640 break; 639 break;
641 case windows::Update::Params::UpdateInfo::STATE_NONE: 640 case windows::WINDOW_STATE_NONE:
642 break; 641 break;
643 default: 642 default:
644 error_ = keys::kInvalidWindowStateError; 643 error_ = keys::kInvalidWindowStateError;
645 return false; 644 return false;
646 } 645 }
647 646
648 if (show_state != ui::SHOW_STATE_FULLSCREEN && 647 if (show_state != ui::SHOW_STATE_FULLSCREEN &&
649 show_state != ui::SHOW_STATE_DEFAULT) 648 show_state != ui::SHOW_STATE_DEFAULT)
650 controller->SetFullscreenMode(false, extension()->url()); 649 controller->SetFullscreenMode(false, extension()->url());
651 650
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
796 795
797 SetResult(ExtensionTabUtil::CreateTabList(browser, extension())); 796 SetResult(ExtensionTabUtil::CreateTabList(browser, extension()));
798 797
799 return true; 798 return true;
800 } 799 }
801 800
802 bool TabsQueryFunction::RunSync() { 801 bool TabsQueryFunction::RunSync() {
803 scoped_ptr<tabs::Query::Params> params(tabs::Query::Params::Create(*args_)); 802 scoped_ptr<tabs::Query::Params> params(tabs::Query::Params::Create(*args_));
804 EXTENSION_FUNCTION_VALIDATE(params.get()); 803 EXTENSION_FUNCTION_VALIDATE(params.get());
805 804
806 bool loading_status_set = params->query_info.status != 805 bool loading_status_set = params->query_info.status != tabs::TAB_STATUS_NONE;
807 tabs::Query::Params::QueryInfo::STATUS_NONE; 806 bool loading = params->query_info.status == tabs::TAB_STATUS_LOADING;
808 bool loading = params->query_info.status ==
809 tabs::Query::Params::QueryInfo::STATUS_LOADING;
810 807
811 URLPatternSet url_patterns; 808 URLPatternSet url_patterns;
812 if (params->query_info.url.get()) { 809 if (params->query_info.url.get()) {
813 std::vector<std::string> url_pattern_strings; 810 std::vector<std::string> url_pattern_strings;
814 if (params->query_info.url->as_string) 811 if (params->query_info.url->as_string)
815 url_pattern_strings.push_back(*params->query_info.url->as_string); 812 url_pattern_strings.push_back(*params->query_info.url->as_string);
816 else if (params->query_info.url->as_strings) 813 else if (params->query_info.url->as_strings)
817 url_pattern_strings.swap(*params->query_info.url->as_strings); 814 url_pattern_strings.swap(*params->query_info.url->as_strings);
818 // It is o.k. to use URLPattern::SCHEME_ALL here because this function does 815 // It is o.k. to use URLPattern::SCHEME_ALL here because this function does
819 // not grant access to the content of the tabs, only to seeing their URLs 816 // not grant access to the content of the tabs, only to seeing their URLs
(...skipping 10 matching lines...) Expand all
830 827
831 int window_id = extension_misc::kUnknownWindowId; 828 int window_id = extension_misc::kUnknownWindowId;
832 if (params->query_info.window_id.get()) 829 if (params->query_info.window_id.get())
833 window_id = *params->query_info.window_id; 830 window_id = *params->query_info.window_id;
834 831
835 int index = -1; 832 int index = -1;
836 if (params->query_info.index.get()) 833 if (params->query_info.index.get())
837 index = *params->query_info.index; 834 index = *params->query_info.index;
838 835
839 std::string window_type; 836 std::string window_type;
840 if (params->query_info.window_type != 837 if (params->query_info.window_type != tabs::WINDOW_TYPE_NONE)
841 tabs::Query::Params::QueryInfo::WINDOW_TYPE_NONE) { 838 window_type = tabs::ToString(params->query_info.window_type);
842 window_type = tabs::Query::Params::QueryInfo::ToString(
843 params->query_info.window_type);
844 }
845 839
846 base::ListValue* result = new base::ListValue(); 840 base::ListValue* result = new base::ListValue();
847 Browser* last_active_browser = chrome::FindAnyBrowser( 841 Browser* last_active_browser = chrome::FindAnyBrowser(
848 GetProfile(), include_incognito(), chrome::GetActiveDesktop()); 842 GetProfile(), include_incognito(), chrome::GetActiveDesktop());
849 Browser* current_browser = GetCurrentBrowser(); 843 Browser* current_browser = GetCurrentBrowser();
850 for (chrome::BrowserIterator it; !it.done(); it.Next()) { 844 for (chrome::BrowserIterator it; !it.done(); it.Next()) {
851 Browser* browser = *it; 845 Browser* browser = *it;
852 if (!GetProfile()->IsSameProfile(browser->profile())) 846 if (!GetProfile()->IsSameProfile(browser->profile()))
853 continue; 847 continue;
854 848
(...skipping 1043 matching lines...) Expand 10 before | Expand all | Expand 10 after
1898 int tab_id = params->tab_id ? *params->tab_id : -1; 1892 int tab_id = params->tab_id ? *params->tab_id : -1;
1899 WebContents* web_contents = GetWebContents(tab_id); 1893 WebContents* web_contents = GetWebContents(tab_id);
1900 if (!web_contents) 1894 if (!web_contents)
1901 return false; 1895 return false;
1902 1896
1903 GURL url(web_contents->GetVisibleURL()); 1897 GURL url(web_contents->GetVisibleURL());
1904 if (PermissionsData::IsRestrictedUrl(url, url, extension(), &error_)) 1898 if (PermissionsData::IsRestrictedUrl(url, url, extension(), &error_))
1905 return false; 1899 return false;
1906 1900
1907 // "per-origin" scope is only available in "automatic" mode. 1901 // "per-origin" scope is only available in "automatic" mode.
1908 if (params->zoom_settings.scope == ZoomSettings::SCOPE_PER_ORIGIN && 1902 if (params->zoom_settings.scope == tabs::ZOOM_SETTINGS_SCOPE_PER_ORIGIN &&
1909 params->zoom_settings.mode != ZoomSettings::MODE_AUTOMATIC && 1903 params->zoom_settings.mode != tabs::ZOOM_SETTINGS_MODE_AUTOMATIC &&
1910 params->zoom_settings.mode != ZoomSettings::MODE_NONE) { 1904 params->zoom_settings.mode != tabs::ZOOM_SETTINGS_MODE_NONE) {
1911 error_ = keys::kPerOriginOnlyInAutomaticError; 1905 error_ = keys::kPerOriginOnlyInAutomaticError;
1912 return false; 1906 return false;
1913 } 1907 }
1914 1908
1915 // Determine the correct internal zoom mode to set |web_contents| to from the 1909 // Determine the correct internal zoom mode to set |web_contents| to from the
1916 // user-specified |zoom_settings|. 1910 // user-specified |zoom_settings|.
1917 ZoomController::ZoomMode zoom_mode = ZoomController::ZOOM_MODE_DEFAULT; 1911 ZoomController::ZoomMode zoom_mode = ZoomController::ZOOM_MODE_DEFAULT;
1918 switch (params->zoom_settings.mode) { 1912 switch (params->zoom_settings.mode) {
1919 case ZoomSettings::MODE_NONE: 1913 case tabs::ZOOM_SETTINGS_MODE_NONE:
1920 case ZoomSettings::MODE_AUTOMATIC: 1914 case tabs::ZOOM_SETTINGS_MODE_AUTOMATIC:
1921 switch (params->zoom_settings.scope) { 1915 switch (params->zoom_settings.scope) {
1922 case ZoomSettings::SCOPE_NONE: 1916 case tabs::ZOOM_SETTINGS_SCOPE_NONE:
1923 case ZoomSettings::SCOPE_PER_ORIGIN: 1917 case tabs::ZOOM_SETTINGS_SCOPE_PER_ORIGIN:
1924 zoom_mode = ZoomController::ZOOM_MODE_DEFAULT; 1918 zoom_mode = ZoomController::ZOOM_MODE_DEFAULT;
1925 break; 1919 break;
1926 case ZoomSettings::SCOPE_PER_TAB: 1920 case tabs::ZOOM_SETTINGS_SCOPE_PER_TAB:
1927 zoom_mode = ZoomController::ZOOM_MODE_ISOLATED; 1921 zoom_mode = ZoomController::ZOOM_MODE_ISOLATED;
1928 } 1922 }
1929 break; 1923 break;
1930 case ZoomSettings::MODE_MANUAL: 1924 case tabs::ZOOM_SETTINGS_MODE_MANUAL:
1931 zoom_mode = ZoomController::ZOOM_MODE_MANUAL; 1925 zoom_mode = ZoomController::ZOOM_MODE_MANUAL;
1932 break; 1926 break;
1933 case ZoomSettings::MODE_DISABLED: 1927 case tabs::ZOOM_SETTINGS_MODE_DISABLED:
1934 zoom_mode = ZoomController::ZOOM_MODE_DISABLED; 1928 zoom_mode = ZoomController::ZOOM_MODE_DISABLED;
1935 } 1929 }
1936 1930
1937 ZoomController::FromWebContents(web_contents)->SetZoomMode(zoom_mode); 1931 ZoomController::FromWebContents(web_contents)->SetZoomMode(zoom_mode);
1938 1932
1939 SendResponse(true); 1933 SendResponse(true);
1940 return true; 1934 return true;
1941 } 1935 }
1942 1936
1943 bool TabsGetZoomSettingsFunction::RunAsync() { 1937 bool TabsGetZoomSettingsFunction::RunAsync() {
(...skipping 13 matching lines...) Expand all
1957 ZoomModeToZoomSettings(zoom_mode, &zoom_settings); 1951 ZoomModeToZoomSettings(zoom_mode, &zoom_settings);
1958 zoom_settings.default_zoom_factor.reset(new double( 1952 zoom_settings.default_zoom_factor.reset(new double(
1959 content::ZoomLevelToZoomFactor(zoom_controller->GetDefaultZoomLevel()))); 1953 content::ZoomLevelToZoomFactor(zoom_controller->GetDefaultZoomLevel())));
1960 1954
1961 results_ = api::tabs::GetZoomSettings::Results::Create(zoom_settings); 1955 results_ = api::tabs::GetZoomSettings::Results::Create(zoom_settings);
1962 SendResponse(true); 1956 SendResponse(true);
1963 return true; 1957 return true;
1964 } 1958 }
1965 1959
1966 } // namespace extensions 1960 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698