Bug 1153518, allow drops on editors when the source is a remote browser, r=ehsan

This commit is contained in:
Neil Deakin 2015-06-22 09:00:35 -04:00
Родитель f746c45281
Коммит ec3b6406c8
2 изменённых файлов: 12 добавлений и 0 удалений

Просмотреть файл

@ -70,4 +70,6 @@ LOCAL_INCLUDES += [
'/layout/xul',
]
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'

Просмотреть файл

@ -59,6 +59,8 @@
#include "nsIBidiKeyboard.h" // for nsIBidiKeyboard
#endif
#include "mozilla/dom/TabParent.h"
class nsPresContext;
using namespace mozilla;
@ -985,6 +987,14 @@ nsEditorEventListener::CanDrop(nsIDOMDragEvent* aEvent)
return true;
}
// If the source node is a remote browser, treat this as coming from a
// different document and allow the drop.
nsCOMPtr<nsIContent> sourceContent = do_QueryInterface(sourceNode);
TabParent* tp = TabParent::GetFrom(sourceContent);
if (tp) {
return true;
}
nsRefPtr<Selection> selection = mEditor->GetSelection();
if (!selection) {
return false;