Move OverrideWebkitPrefs to WebContentsPreferences
This commit is contained in:
parent
39975378bb
commit
880dce950d
5 changed files with 44 additions and 34 deletions
|
@ -15,6 +15,7 @@
|
||||||
#include "atom/browser/atom_speech_recognition_manager_delegate.h"
|
#include "atom/browser/atom_speech_recognition_manager_delegate.h"
|
||||||
#include "atom/browser/browser.h"
|
#include "atom/browser/browser.h"
|
||||||
#include "atom/browser/native_window.h"
|
#include "atom/browser/native_window.h"
|
||||||
|
#include "atom/browser/web_contents_preferences.h"
|
||||||
#include "atom/browser/web_view_manager.h"
|
#include "atom/browser/web_view_manager.h"
|
||||||
#include "atom/browser/web_view_constants.h"
|
#include "atom/browser/web_view_constants.h"
|
||||||
#include "atom/browser/window_list.h"
|
#include "atom/browser/window_list.h"
|
||||||
|
@ -169,7 +170,7 @@ void AtomBrowserClient::OverrideWebkitPrefs(
|
||||||
|
|
||||||
NativeWindow* window = NativeWindow::FromWebContents(web_contents);
|
NativeWindow* window = NativeWindow::FromWebContents(web_contents);
|
||||||
if (window)
|
if (window)
|
||||||
window->OverrideWebkitPrefs(prefs);
|
WebContentsPreferences::OverrideWebkitPrefs(web_contents, prefs);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string AtomBrowserClient::GetApplicationLocale() {
|
std::string AtomBrowserClient::GetApplicationLocale() {
|
||||||
|
@ -231,6 +232,8 @@ void AtomBrowserClient::AppendExtraCommandLineSwitches(
|
||||||
|
|
||||||
if (owner == OWNER_NATIVE_WINDOW) {
|
if (owner == OWNER_NATIVE_WINDOW) {
|
||||||
window->AppendExtraCommandLineSwitches(command_line);
|
window->AppendExtraCommandLineSwitches(command_line);
|
||||||
|
WebContentsPreferences::AppendExtraCommandLineSwitches(
|
||||||
|
window->web_contents(), command_line);
|
||||||
} else if (owner == OWNER_GUEST_WEB_CONTENTS) {
|
} else if (owner == OWNER_GUEST_WEB_CONTENTS) {
|
||||||
command_line->AppendSwitchASCII(
|
command_line->AppendSwitchASCII(
|
||||||
switches::kGuestInstanceID, base::IntToString(info.guest_instance_id));
|
switches::kGuestInstanceID, base::IntToString(info.guest_instance_id));
|
||||||
|
|
|
@ -31,8 +31,6 @@
|
||||||
#include "content/public/browser/render_view_host.h"
|
#include "content/public/browser/render_view_host.h"
|
||||||
#include "content/public/browser/render_widget_host_view.h"
|
#include "content/public/browser/render_widget_host_view.h"
|
||||||
#include "content/public/common/content_switches.h"
|
#include "content/public/common/content_switches.h"
|
||||||
#include "content/public/common/renderer_preferences.h"
|
|
||||||
#include "content/public/common/web_preferences.h"
|
|
||||||
#include "ipc/ipc_message_macros.h"
|
#include "ipc/ipc_message_macros.h"
|
||||||
#include "native_mate/dictionary.h"
|
#include "native_mate/dictionary.h"
|
||||||
#include "ui/gfx/codec/png_codec.h"
|
#include "ui/gfx/codec/png_codec.h"
|
||||||
|
@ -382,34 +380,6 @@ void NativeWindow::AppendExtraCommandLineSwitches(
|
||||||
base::DoubleToString(zoom_factor_));
|
base::DoubleToString(zoom_factor_));
|
||||||
}
|
}
|
||||||
|
|
||||||
void NativeWindow::OverrideWebkitPrefs(content::WebPreferences* prefs) {
|
|
||||||
if (web_preferences_.IsEmpty())
|
|
||||||
return;
|
|
||||||
|
|
||||||
bool b;
|
|
||||||
if (web_preferences_.Get("javascript", &b))
|
|
||||||
prefs->javascript_enabled = b;
|
|
||||||
if (web_preferences_.Get("images", &b))
|
|
||||||
prefs->images_enabled = b;
|
|
||||||
if (web_preferences_.Get("java", &b))
|
|
||||||
prefs->java_enabled = b;
|
|
||||||
if (web_preferences_.Get("text-areas-are-resizable", &b))
|
|
||||||
prefs->text_areas_are_resizable = b;
|
|
||||||
if (web_preferences_.Get("webgl", &b))
|
|
||||||
prefs->experimental_webgl_enabled = b;
|
|
||||||
if (web_preferences_.Get("webaudio", &b))
|
|
||||||
prefs->webaudio_enabled = b;
|
|
||||||
if (web_preferences_.Get("web-security", &b)) {
|
|
||||||
prefs->web_security_enabled = b;
|
|
||||||
prefs->allow_displaying_insecure_content = !b;
|
|
||||||
prefs->allow_running_insecure_content = !b;
|
|
||||||
}
|
|
||||||
if (web_preferences_.Get("allow-displaying-insecure-content", &b))
|
|
||||||
prefs->allow_displaying_insecure_content = b;
|
|
||||||
if (web_preferences_.Get("allow-running-insecure-content", &b))
|
|
||||||
prefs->allow_running_insecure_content = b;
|
|
||||||
}
|
|
||||||
|
|
||||||
void NativeWindow::NotifyWindowClosed() {
|
void NativeWindow::NotifyWindowClosed() {
|
||||||
if (is_closed_)
|
if (is_closed_)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -35,7 +35,6 @@ class InspectableWebContents;
|
||||||
|
|
||||||
namespace content {
|
namespace content {
|
||||||
struct NativeWebKeyboardEvent;
|
struct NativeWebKeyboardEvent;
|
||||||
struct WebPreferences;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace gfx {
|
namespace gfx {
|
||||||
|
@ -191,7 +190,6 @@ class NativeWindow : public content::WebContentsObserver,
|
||||||
|
|
||||||
// Called when renderer process is going to be started.
|
// Called when renderer process is going to be started.
|
||||||
void AppendExtraCommandLineSwitches(base::CommandLine* command_line);
|
void AppendExtraCommandLineSwitches(base::CommandLine* command_line);
|
||||||
void OverrideWebkitPrefs(content::WebPreferences* prefs);
|
|
||||||
|
|
||||||
// Public API used by platform-dependent delegates and observers to send UI
|
// Public API used by platform-dependent delegates and observers to send UI
|
||||||
// related notifications.
|
// related notifications.
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
#include "atom/common/options_switches.h"
|
#include "atom/common/options_switches.h"
|
||||||
#include "base/command_line.h"
|
#include "base/command_line.h"
|
||||||
|
#include "content/public/common/web_preferences.h"
|
||||||
|
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
#include "ui/gfx/switches.h"
|
#include "ui/gfx/switches.h"
|
||||||
|
@ -74,4 +75,34 @@ void WebContentsPreferences::AppendExtraCommandLineSwitches(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void WebContentsPreferences::OverrideWebkitPrefs(
|
||||||
|
content::WebContents* web_contents, content::WebPreferences* prefs) {
|
||||||
|
WebContentsPreferences* self = From(web_contents);
|
||||||
|
CHECK(self);
|
||||||
|
|
||||||
|
bool b;
|
||||||
|
if (self->web_preferences_.GetBoolean("javascript", &b))
|
||||||
|
prefs->javascript_enabled = b;
|
||||||
|
if (self->web_preferences_.GetBoolean("images", &b))
|
||||||
|
prefs->images_enabled = b;
|
||||||
|
if (self->web_preferences_.GetBoolean("java", &b))
|
||||||
|
prefs->java_enabled = b;
|
||||||
|
if (self->web_preferences_.GetBoolean("text-areas-are-resizable", &b))
|
||||||
|
prefs->text_areas_are_resizable = b;
|
||||||
|
if (self->web_preferences_.GetBoolean("webgl", &b))
|
||||||
|
prefs->experimental_webgl_enabled = b;
|
||||||
|
if (self->web_preferences_.GetBoolean("webaudio", &b))
|
||||||
|
prefs->webaudio_enabled = b;
|
||||||
|
if (self->web_preferences_.GetBoolean("web-security", &b)) {
|
||||||
|
prefs->web_security_enabled = b;
|
||||||
|
prefs->allow_displaying_insecure_content = !b;
|
||||||
|
prefs->allow_running_insecure_content = !b;
|
||||||
|
}
|
||||||
|
if (self->web_preferences_.GetBoolean("allow-displaying-insecure-content",
|
||||||
|
&b))
|
||||||
|
prefs->allow_displaying_insecure_content = b;
|
||||||
|
if (self->web_preferences_.GetBoolean("allow-running-insecure-content", &b))
|
||||||
|
prefs->allow_running_insecure_content = b;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace atom
|
} // namespace atom
|
||||||
|
|
|
@ -12,6 +12,10 @@ namespace base {
|
||||||
class CommandLine;
|
class CommandLine;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace content {
|
||||||
|
struct WebPreferences;
|
||||||
|
}
|
||||||
|
|
||||||
namespace atom {
|
namespace atom {
|
||||||
|
|
||||||
// Stores and applies the preferences of WebContents.
|
// Stores and applies the preferences of WebContents.
|
||||||
|
@ -21,10 +25,14 @@ class WebContentsPreferences
|
||||||
// Get the preferences of |web_contents|.
|
// Get the preferences of |web_contents|.
|
||||||
static WebContentsPreferences* From(content::WebContents* web_contents);
|
static WebContentsPreferences* From(content::WebContents* web_contents);
|
||||||
|
|
||||||
// Append command paramters appending to |web_contents|'s preferences.
|
// Append command paramters according to |web_contents|'s preferences.
|
||||||
static void AppendExtraCommandLineSwitches(
|
static void AppendExtraCommandLineSwitches(
|
||||||
content::WebContents* web_contents, base::CommandLine* command_line);
|
content::WebContents* web_contents, base::CommandLine* command_line);
|
||||||
|
|
||||||
|
// Modify the WebPreferences according to |web_contents|'s preferences.
|
||||||
|
static void OverrideWebkitPrefs(
|
||||||
|
content::WebContents* web_contents, content::WebPreferences* prefs);
|
||||||
|
|
||||||
WebContentsPreferences(content::WebContents* web_contents,
|
WebContentsPreferences(content::WebContents* web_contents,
|
||||||
base::DictionaryValue&& web_preferences);
|
base::DictionaryValue&& web_preferences);
|
||||||
~WebContentsPreferences() override;
|
~WebContentsPreferences() override;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue