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

Side by Side Diff: chrome/browser/extensions/extension_host.cc

Issue 7830046: Allow window.close() in background pages. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: s/DCHECK/CHECK/ Created 9 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/extension_host.h" 5 #include "chrome/browser/extensions/extension_host.h"
6 6
7 #include <list> 7 #include <list>
8 8
9 #include "base/memory/singleton.h" 9 #include "base/memory/singleton.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 463 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 bool success, 474 bool success,
475 const string16& user_input) { 475 const string16& user_input) {
476 render_view_host()->JavaScriptDialogClosed(reply_msg, 476 render_view_host()->JavaScriptDialogClosed(reply_msg,
477 success, 477 success,
478 user_input); 478 user_input);
479 } 479 }
480 480
481 void ExtensionHost::Close(RenderViewHost* render_view_host) { 481 void ExtensionHost::Close(RenderViewHost* render_view_host) {
482 if (extension_host_type_ == ViewType::EXTENSION_POPUP || 482 if (extension_host_type_ == ViewType::EXTENSION_POPUP ||
483 extension_host_type_ == ViewType::EXTENSION_DIALOG || 483 extension_host_type_ == ViewType::EXTENSION_DIALOG ||
484 extension_host_type_ == ViewType::EXTENSION_BACKGROUND_PAGE ||
484 extension_host_type_ == ViewType::EXTENSION_INFOBAR) { 485 extension_host_type_ == ViewType::EXTENSION_INFOBAR) {
485 NotificationService::current()->Notify( 486 NotificationService::current()->Notify(
486 chrome::NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE, 487 chrome::NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE,
487 Source<Profile>(profile_), 488 Source<Profile>(profile_),
488 Details<ExtensionHost>(this)); 489 Details<ExtensionHost>(this));
489 } 490 }
490 } 491 }
491 492
492 RendererPreferences ExtensionHost::GetRendererPrefs( 493 RendererPreferences ExtensionHost::GetRendererPrefs(
493 content::BrowserContext* browser_context) const { 494 content::BrowserContext* browser_context) const {
(...skipping 16 matching lines...) Expand all
510 WebPreferences webkit_prefs = 511 WebPreferences webkit_prefs =
511 RenderViewHostDelegateHelper::GetWebkitPrefs(profile, 512 RenderViewHostDelegateHelper::GetWebkitPrefs(profile,
512 false); // is_web_ui 513 false); // is_web_ui
513 // Extensions are trusted so we override any user preferences for disabling 514 // Extensions are trusted so we override any user preferences for disabling
514 // javascript or images. 515 // javascript or images.
515 webkit_prefs.loads_images_automatically = true; 516 webkit_prefs.loads_images_automatically = true;
516 webkit_prefs.javascript_enabled = true; 517 webkit_prefs.javascript_enabled = true;
517 518
518 if (extension_host_type_ == ViewType::EXTENSION_POPUP || 519 if (extension_host_type_ == ViewType::EXTENSION_POPUP ||
519 extension_host_type_ == ViewType::EXTENSION_DIALOG || 520 extension_host_type_ == ViewType::EXTENSION_DIALOG ||
521 extension_host_type_ == ViewType::EXTENSION_BACKGROUND_PAGE ||
520 extension_host_type_ == ViewType::EXTENSION_INFOBAR) 522 extension_host_type_ == ViewType::EXTENSION_INFOBAR)
521 webkit_prefs.allow_scripts_to_close_windows = true; 523 webkit_prefs.allow_scripts_to_close_windows = true;
522 524
523 // Disable anything that requires the GPU process for background pages. 525 // Disable anything that requires the GPU process for background pages.
524 // See http://crbug.com/64512 and http://crbug.com/64841. 526 // See http://crbug.com/64512 and http://crbug.com/64841.
525 if (extension_host_type_ == ViewType::EXTENSION_BACKGROUND_PAGE) { 527 if (extension_host_type_ == ViewType::EXTENSION_BACKGROUND_PAGE) {
526 webkit_prefs.experimental_webgl_enabled = false; 528 webkit_prefs.experimental_webgl_enabled = false;
527 webkit_prefs.accelerated_compositing_enabled = false; 529 webkit_prefs.accelerated_compositing_enabled = false;
528 webkit_prefs.accelerated_2d_canvas_enabled = false; 530 webkit_prefs.accelerated_2d_canvas_enabled = false;
529 } 531 }
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 if (view_.get()) 794 if (view_.get())
793 view_->RenderViewCreated(); 795 view_->RenderViewCreated();
794 796
795 if (extension_host_type_ == ViewType::EXTENSION_POPUP || 797 if (extension_host_type_ == ViewType::EXTENSION_POPUP ||
796 extension_host_type_ == ViewType::EXTENSION_INFOBAR) { 798 extension_host_type_ == ViewType::EXTENSION_INFOBAR) {
797 render_view_host->Send(new ViewMsg_EnablePreferredSizeChangedMode( 799 render_view_host->Send(new ViewMsg_EnablePreferredSizeChangedMode(
798 render_view_host->routing_id(), 800 render_view_host->routing_id(),
799 kPreferredSizeWidth | kPreferredSizeHeightThisIsSlow)); 801 kPreferredSizeWidth | kPreferredSizeHeightThisIsSlow));
800 } 802 }
801 } 803 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/browser_action_apitest.cc ('k') | chrome/browser/extensions/extension_process_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698