Bug 1348050 - Part 5: Mark channel as urgent-start for embed element. r=baku

This patch is mainly for ObjectLoadingContent. Since there is no any runnable
between setting src and creating channel, I check urgent-start just after
creating channel.

MozReview-Commit-ID: IoishRqENBM

--HG--
extra : rebase_source : 25799e27c6a2eb50d5ee3aded0d66fe6bb05c52b
This commit is contained in:
Tom Tung 2017-05-05 13:59:42 +08:00
Родитель 150ceb8855
Коммит eb17272b12
1 изменённых файлов: 7 добавлений и 0 удалений

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

@ -11,6 +11,7 @@
// Interface headers
#include "imgLoader.h"
#include "nsIClassOfService.h"
#include "nsIConsoleService.h"
#include "nsIContent.h"
#include "nsIContentInlines.h"
@ -84,6 +85,7 @@
#include "mozilla/dom/PluginCrashedEvent.h"
#include "mozilla/AsyncEventDispatcher.h"
#include "mozilla/EventDispatcher.h"
#include "mozilla/EventStateManager.h"
#include "mozilla/EventStates.h"
#include "mozilla/IntegerPrintfMacros.h"
#include "mozilla/dom/HTMLObjectElementBinding.h"
@ -2548,6 +2550,11 @@ nsObjectLoadingContent::OpenChannel()
if (timedChannel) {
timedChannel->SetInitiatorType(thisContent->LocalName());
}
nsCOMPtr<nsIClassOfService> cos(do_QueryInterface(httpChan));
if (cos && EventStateManager::IsHandlingUserInput()) {
cos->AddClassFlags(nsIClassOfService::UrgentStart);
}
}
nsCOMPtr<nsIScriptChannel> scriptChannel = do_QueryInterface(chan);