content::WebContents* web_contents,
Type type)
: content::WebContentsObserver(web_contents),
- zoom_controller_(nullptr),
embedder_(nullptr),
+ zoom_controller_(nullptr),
type_(type),
request_id_(0),
background_throttling_(true),
}
WebContents::WebContents(v8::Isolate* isolate, const mate::Dictionary& options)
- : zoom_controller_(nullptr),
- embedder_(nullptr),
+ : embedder_(nullptr),
+ zoom_controller_(nullptr),
type_(BROWSER_WINDOW),
request_id_(0),
background_throttling_(true),
WebContentsZoomController::CreateForWebContents(web_contents);
zoom_controller_ = WebContentsZoomController::FromWebContents(web_contents);
double zoom_factor;
- if (options.Get("zoomFactor", &zoom_factor))
+ if (options.Get(options::kZoomFactor, &zoom_factor))
zoom_controller_->SetDefaultZoomFactor(zoom_factor);
web_contents->SetUserAgentOverride(GetBrowserContext()->GetUserAgent());
#include "atom/common/native_mate_converters/content_converter.h"
#include "atom/common/native_mate_converters/value_converter.h"
#include "atom/common/node_includes.h"
+#include "atom/common/options_switches.h"
#include "content/public/browser/browser_context.h"
#include "native_mate/dictionary.h"
guest_web_contents);
double zoom_factor;
- if (options.GetDouble("zoomFactor", &zoom_factor)) {
+ if (options.GetDouble(atom::options::kZoomFactor, &zoom_factor)) {
atom::WebContentsZoomController::FromWebContents(guest_web_contents)
->SetDefaultZoomFactor(zoom_factor);
}
#include "content/public/browser/navigation_details.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/navigation_handle.h"
-#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
&WebContentsZoomController::OnZoomLevelChanged, base::Unretained(this)));
}
-WebContentsZoomController::~WebContentsZoomController() {
- embedder_zoom_controller_ = nullptr;
-}
+WebContentsZoomController::~WebContentsZoomController() {}
void WebContentsZoomController::AddObserver(
WebContentsZoomController::Observer* observer) {
host_zoom_factor_[host] = new_zoom_factor;
content::HostZoomMap::SetZoomLevel(web_contents(), level);
// Notify observers of zoom level changes.
- FOR_EACH_OBSERVER(WebContentsZoomController::Observer, observers_,
- OnZoomLevelChanged(web_contents(), level, false));
+ for (Observer& observer : observers_)
+ observer.OnZoomLevelChanged(web_contents(), level, false);
}
}
old_view_id_ = web_contents()->GetRenderViewHost()->GetRoutingID();
host_zoom_map_->SetTemporaryZoomLevel(old_process_id_, old_view_id_, level);
// Notify observers of zoom level changes.
- FOR_EACH_OBSERVER(WebContentsZoomController::Observer, observers_,
- OnZoomLevelChanged(web_contents(), level, true));
+ for (Observer& observer : observers_)
+ observer.OnZoomLevelChanged(web_contents(), level, true);
}
bool WebContentsZoomController::UsesTemporaryZoomLevel() {
void WebContentsZoomController::WebContentsDestroyed() {
observers_.Clear();
host_zoom_factor_.clear();
+ embedder_zoom_controller_ = nullptr;
}
void WebContentsZoomController::RenderFrameHostChanged(
} // namespace
WebViewGuestDelegate::WebViewGuestDelegate()
- : guest_host_(nullptr),
+ : embedder_zoom_controller_(nullptr),
+ guest_host_(nullptr),
auto_size_enabled_(false),
is_full_page_plugin_(false),
- api_web_contents_(nullptr) {
-}
+ api_web_contents_(nullptr) {}
WebViewGuestDelegate::~WebViewGuestDelegate() {
}
void WebViewGuestDelegate::Destroy() {
// Give the content module an opportunity to perform some cleanup.
- embedder_zoom_controller_->RemoveObserver(this);
+ if (embedder_zoom_controller_) {
+ embedder_zoom_controller_->RemoveObserver(this);
+ embedder_zoom_controller_ = nullptr;
+ }
guest_host_->WillDestroy();
- embedder_zoom_controller_ = nullptr;
guest_host_ = nullptr;
}
// The command line switch versions of the options.
const char kBackgroundColor[] = "background-color";
-const char kZoomFactor[] = "zoom-factor";
const char kPreloadScript[] = "preload";
const char kPreloadURL[] = "preload-url";
const char kNodeIntegration[] = "node-integration";
extern const char kAppUserModelId[];
extern const char kBackgroundColor[];
-extern const char kZoomFactor[];
extern const char kPreloadScript[];
extern const char kPreloadURL[];
extern const char kNodeIntegration[];
}
double WebFrame::SetZoomLevel(double level) {
- double result;
+ double result = 0.0;
content::RenderView* render_view =
content::RenderView::FromWebView(web_frame_->view());
render_view->Send(new AtomViewHostMsg_SetTemporaryZoomLevel(
}
double WebFrame::GetZoomLevel() const {
- double result;
+ double result = 0.0;
content::RenderView* render_view =
content::RenderView::FromWebView(web_frame_->view());
render_view->Send(