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

Unified Diff: mojo/services/view_manager/public/cpp/lib/view.cc

Issue 883843002: Update mojo sdk to rev 126532ce21c5c3c55a1e1693731411cb60169efd (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Response to review Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: mojo/services/view_manager/public/cpp/lib/view.cc
diff --git a/mojo/services/view_manager/public/cpp/lib/view.cc b/mojo/services/view_manager/public/cpp/lib/view.cc
index 929eec494576ed14f25ab746a8b19d023e293074..f7e77844ce9cfbd191051b8594da239aa3b71cce 100644
--- a/mojo/services/view_manager/public/cpp/lib/view.cc
+++ b/mojo/services/view_manager/public/cpp/lib/view.cc
@@ -5,6 +5,7 @@
#include "view_manager/public/cpp/view.h"
#include <set>
+#include <string>
#include "mojo/public/cpp/application/service_provider_impl.h"
#include "view_manager/public/cpp/lib/view_manager_client_impl.h"
@@ -247,6 +248,18 @@ void View::SetSharedProperty(const std::string& name,
properties_.erase(it);
}
+ // TODO: add test coverage of this (450303).
+ if (manager_) {
+ Array<uint8_t> transport_value;
+ if (value) {
+ transport_value.resize(value->size());
+ if (value->size())
+ memcpy(&transport_value.front(), &(value->front()), value->size());
+ }
+ static_cast<ViewManagerClientImpl*>(manager_)->SetProperty(
+ id_, name, transport_value.Pass());
+ }
+
FOR_EACH_OBSERVER(
ViewObserver, observers_,
OnViewSharedPropertyChanged(this, name, old_value_ptr, value));
@@ -369,10 +382,20 @@ void View::Embed(const String& url,
////////////////////////////////////////////////////////////////////////////////
// View, protected:
+namespace {
+
+ViewportMetricsPtr CreateEmptyViewportMetrics() {
+ ViewportMetricsPtr metrics = ViewportMetrics::New();
+ metrics->size = Size::New();
+ return metrics;
+}
+}
+
View::View()
: manager_(NULL),
id_(static_cast<Id>(-1)),
parent_(NULL),
+ viewport_metrics_(CreateEmptyViewportMetrics()),
visible_(true),
drawn_(false) {
}
@@ -412,6 +435,7 @@ View::View(ViewManager* manager, Id id)
: manager_(manager),
id_(id),
parent_(nullptr),
+ viewport_metrics_(CreateEmptyViewportMetrics()),
visible_(false),
drawn_(false) {
}
@@ -476,6 +500,15 @@ void View::LocalSetBounds(const Rect& old_bounds,
bounds_ = new_bounds;
}
+void View::LocalSetViewportMetrics(const ViewportMetrics& old_metrics,
+ const ViewportMetrics& new_metrics) {
+ // TODO(eseidel): We could check old_metrics against viewport_metrics_.
+ viewport_metrics_ = new_metrics.Clone();
+ FOR_EACH_OBSERVER(
+ ViewObserver, observers_,
+ OnViewViewportMetricsChanged(this, old_metrics, new_metrics));
+}
+
void View::LocalSetDrawn(bool value) {
if (drawn_ == value)
return;
« no previous file with comments | « mojo/services/view_manager/public/cpp/lib/DEPS ('k') | mojo/services/view_manager/public/cpp/lib/view_manager_client_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698