Content extensions should apply css selectors
https://bugs.webkit.org/show_bug.cgi?id=142604
Reviewed by Alex Christensen.
Source/WebCore:
Tests: http/tests/contentextensions/css-display-none.html
* WebCore.xcodeproj/project.pbxproj:
* contentextensions/ContentExtension.cpp:
(WebCore::ContentExtensions::ContentExtension::create):
(WebCore::ContentExtensions::ContentExtension::ContentExtension):
(WebCore::ContentExtensions::ContentExtension::globalDisplayNoneStyleSheet):
* contentextensions/ContentExtension.h:
(WebCore::ContentExtensions::ContentExtension::identifier):
(WebCore::ContentExtensions::ContentExtension::compiledExtension):
* contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::addContentExtension):
(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::globalDisplayNoneStyleSheet):
* contentextensions/ContentExtensionsBackend.h:
* contentextensions/DFABytecodeInterpreter.cpp:
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::maybeAddContentExtensionSheet):
* dom/DocumentStyleSheetCollection.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::startLoadingMainResource):
(WebCore::DocumentLoader::addPendingContentExtensionSheet):
* loader/DocumentLoader.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::setInitiator):
* loader/cache/CachedResourceRequest.h:
(WebCore::CachedResourceRequest::initiatingDocumentLoader):
* page/UserContentController.cpp:
(WebCore::UserContentController::globalDisplayNoneStyleSheet):
(WebCore::UserContentController::displayNoneCSSRule):
* page/UserContentController.h:
LayoutTests:
* http/tests/contentextensions/css-display-none-expected.txt:
* http/tests/contentextensions/css-display-none.html:
* http/tests/contentextensions/css-display-none.html.json:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@181876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/loader/cache/CachedResourceRequest.h b/Source/WebCore/loader/cache/CachedResourceRequest.h
index 9938c08..41dcddc 100644
--- a/Source/WebCore/loader/cache/CachedResourceRequest.h
+++ b/Source/WebCore/loader/cache/CachedResourceRequest.h
@@ -26,6 +26,7 @@
#ifndef CachedResourceRequest_h
#define CachedResourceRequest_h
+#include "DocumentLoader.h"
#include "Element.h"
#include "ResourceLoadPriority.h"
#include "ResourceLoaderOptions.h"
@@ -60,6 +61,9 @@
void setInitiator(const AtomicString& name);
const AtomicString& initiatorName() const;
+ void setInitiator(DocumentLoader&);
+ DocumentLoader* initiatingDocumentLoader() const { return m_initiatingDocumentLoader.get(); }
+
private:
ResourceRequest m_resourceRequest;
String m_charset;
@@ -69,6 +73,7 @@
DeferOption m_defer;
RefPtr<Element> m_initiatorElement;
AtomicString m_initiatorName;
+ RefPtr<DocumentLoader> m_initiatingDocumentLoader;
};
} // namespace WebCore