| Index: chrome/browser/printing/print_preview_dialog_controller.cc
|
| diff --git a/chrome/browser/printing/print_preview_dialog_controller.cc b/chrome/browser/printing/print_preview_dialog_controller.cc
|
| index 3ec3df13e803bf8fa2fb4025faf98b15b7371cff..1303dc8ba7574346a2951f2083d33d22b4274035 100644
|
| --- a/chrome/browser/printing/print_preview_dialog_controller.cc
|
| +++ b/chrome/browser/printing/print_preview_dialog_controller.cc
|
| @@ -183,9 +183,9 @@ WebContents* PrintPreviewDialogController::GetOrCreatePreviewDialog(
|
|
|
| WebContents* PrintPreviewDialogController::GetPrintPreviewForContents(
|
| WebContents* contents) const {
|
| - // If this WebContents relies on another for its preview dialog, we
|
| - // need to act as if we are looking for the proxied content's dialog.
|
| - PrintPreviewDialogMap::const_iterator proxied =
|
| + // If this WebContents relies on another for its preview dialog, look for the
|
| + // original initiator.
|
| + DistilledContentsMap::const_iterator proxied =
|
| proxied_dialog_map_.find(contents);
|
| if (proxied != proxied_dialog_map_.end()) {
|
| contents = proxied->second;
|
| @@ -387,14 +387,16 @@ WebContents* PrintPreviewDialogController::CreatePrintPreviewDialog(
|
| }
|
|
|
| void PrintPreviewDialogController::AddProxyDialogForWebContents(
|
| - WebContents* source,
|
| - WebContents* target) {
|
| - proxied_dialog_map_[source] = target;
|
| + WebContents* distilled_contents,
|
| + WebContents* initiator) {
|
| + DCHECK(!ContainsKey(proxied_dialog_map_, distilled_contents));
|
| + proxied_dialog_map_[distilled_contents] = initiator;
|
| }
|
|
|
| void PrintPreviewDialogController::RemoveProxyDialogForWebContents(
|
| - WebContents* source) {
|
| - proxied_dialog_map_.erase(source);
|
| + WebContents* distilled_contents) {
|
| + size_t erased = proxied_dialog_map_.erase(distilled_contents);
|
| + DCHECK_EQ(1U, erased);
|
| }
|
|
|
| void PrintPreviewDialogController::SaveInitiatorTitle(
|
|
|