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

Unified Diff: content/browser/transition_request_manager.cc

Issue 652283002: Navigation transitions (web to native app): Get names and rects of transition elements (Chrome side) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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: content/browser/transition_request_manager.cc
diff --git a/content/browser/transition_request_manager.cc b/content/browser/transition_request_manager.cc
index e2c83ea0dea38f65020276cf83cb892262f7577b..9855497391bcef1f2af878c683128bc112be80c8 100644
--- a/content/browser/transition_request_manager.cc
+++ b/content/browser/transition_request_manager.cc
@@ -82,6 +82,22 @@ TransitionLayerData::TransitionLayerData() {
TransitionLayerData::~TransitionLayerData() {
}
+TransitionRequestManager::TransitionRequestData::AllowedEntry::AllowedEntry(
+ const std::string& allowed_destination_host_pattern,
+ const std::string& css_selector,
+ const std::string& markup,
+ const std::vector<std::string>& names,
+ const std::vector<gfx::Rect>& rects)
+ : allowed_destination_host_pattern(allowed_destination_host_pattern),
+ css_selector(css_selector),
+ markup(markup),
+ names(names),
+ rects(rects) {
+}
+
+TransitionRequestManager::TransitionRequestData::AllowedEntry::~AllowedEntry() {
+}
+
void TransitionRequestManager::ParseTransitionStylesheetsFromHeaders(
const scoped_refptr<net::HttpResponseHeaders>& headers,
std::vector<GURL>& entering_stylesheets,
@@ -112,10 +128,14 @@ TransitionRequestManager::TransitionRequestData::~TransitionRequestData() {
void TransitionRequestManager::TransitionRequestData::AddEntry(
const std::string& allowed_destination_host_pattern,
const std::string& css_selector,
- const std::string& markup) {
+ const std::string& markup,
+ const std::vector<std::string>& names,
+ const std::vector<gfx::Rect>& rects) {
allowed_entries_.push_back(AllowedEntry(allowed_destination_host_pattern,
css_selector,
- markup));
+ markup,
+ names,
+ rects));
}
bool TransitionRequestManager::TransitionRequestData::FindEntry(
@@ -133,6 +153,8 @@ bool TransitionRequestManager::TransitionRequestData::FindEntry(
const AllowedEntry& allowed_entry = allowed_entries_[0];
transition_data->markup = allowed_entry.markup;
transition_data->css_selector = allowed_entry.css_selector;
+ transition_data->names = allowed_entry.names;
+ transition_data->rects = allowed_entry.rects;
return true;
}
@@ -153,15 +175,23 @@ bool TransitionRequestManager::HasPendingTransitionRequest(
void TransitionRequestManager::AddPendingTransitionRequestData(
int render_process_id,
int render_frame_id,
- const std::string& allowed_destination_host_pattern,
- const std::string& css_selector,
- const std::string& markup) {
+ const std::vector<std::string>& data,
+ const std::vector<std::string>& names,
+ const std::vector<gfx::Rect>& rects) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
std::pair<int, int> key(render_process_id, render_frame_id);
- pending_transition_frames_[key].AddEntry(allowed_destination_host_pattern,
- css_selector,
- markup);
+
+ // data[0]: allowed_destination_host_pattern
+ // data[1]: selector
+ // data[2]: markup
+ if (data.size() == 3) {
+ pending_transition_frames_[key].AddEntry(
+ data[0], data[1], data[2], names, rects);
+ } else {
+ // for testing
+ pending_transition_frames_[key].AddEntry("*", "", "", names, rects);
+ }
}
void TransitionRequestManager::ClearPendingTransitionRequestData(

Powered by Google App Engine
This is Rietveld 408576698