Commit 4b8c58f4 authored by Nate Chapin's avatar Nate Chapin Committed by Commit Bot

Cleanup DocumentXSLT construction

Change-Id: If76acf50bb70df341c88164961912b74b0c3bb31
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2341818Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Commit-Queue: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795718}
parent 4a3d760e
...@@ -1818,10 +1818,8 @@ void DocumentLoader::CommitNavigation() { ...@@ -1818,10 +1818,8 @@ void DocumentLoader::CommitNavigation() {
document->SetBaseURLOverride(archive_->MainResource()->Url()); document->SetBaseURLOverride(archive_->MainResource()->Url());
} }
if (commit_reason_ == CommitReason::kXSLT) { if (commit_reason_ == CommitReason::kXSLT)
DocumentXSLT::From(*document).SetTransformSourceDocument( DocumentXSLT::SetHasTransformSource(*document);
previous_window->document());
}
DidInstallNewDocument(document); DidInstallNewDocument(document);
......
...@@ -67,7 +67,7 @@ class DOMContentLoadedListener final ...@@ -67,7 +67,7 @@ class DOMContentLoadedListener final
}; };
DocumentXSLT::DocumentXSLT(Document& document) DocumentXSLT::DocumentXSLT(Document& document)
: Supplement<Document>(document), transform_source_document_(nullptr) {} : Supplement<Document>(document) {}
void DocumentXSLT::ApplyXSLTransform(Document& document, void DocumentXSLT::ApplyXSLTransform(Document& document,
ProcessingInstruction* pi) { ProcessingInstruction* pi) {
...@@ -154,17 +154,13 @@ bool DocumentXSLT::HasTransformSourceDocument(Document& document) { ...@@ -154,17 +154,13 @@ bool DocumentXSLT::HasTransformSourceDocument(Document& document) {
return Supplement<Document>::From<DocumentXSLT>(document); return Supplement<Document>::From<DocumentXSLT>(document);
} }
DocumentXSLT& DocumentXSLT::From(Document& document) { void DocumentXSLT::SetHasTransformSource(Document& document) {
DocumentXSLT* supplement = Supplement<Document>::From<DocumentXSLT>(document); DCHECK(!HasTransformSourceDocument(document));
if (!supplement) { Supplement<Document>::ProvideTo(document,
supplement = MakeGarbageCollected<DocumentXSLT>(document); MakeGarbageCollected<DocumentXSLT>(document));
Supplement<Document>::ProvideTo(document, supplement);
}
return *supplement;
} }
void DocumentXSLT::Trace(Visitor* visitor) const { void DocumentXSLT::Trace(Visitor* visitor) const {
visitor->Trace(transform_source_document_);
Supplement<Document>::Trace(visitor); Supplement<Document>::Trace(visitor);
} }
......
...@@ -20,16 +20,7 @@ class DocumentXSLT final : public GarbageCollected<DocumentXSLT>, ...@@ -20,16 +20,7 @@ class DocumentXSLT final : public GarbageCollected<DocumentXSLT>,
public: public:
static const char kSupplementName[]; static const char kSupplementName[];
Document* TransformSourceDocument() { static void SetHasTransformSource(Document&);
return transform_source_document_.Get();
}
void SetTransformSourceDocument(Document* document) {
DCHECK(document);
transform_source_document_ = document;
}
static DocumentXSLT& From(Document&);
// The following static methods don't use any instance of DocumentXSLT. // The following static methods don't use any instance of DocumentXSLT.
// They are just using DocumentXSLT namespace. // They are just using DocumentXSLT namespace.
...@@ -46,7 +37,6 @@ class DocumentXSLT final : public GarbageCollected<DocumentXSLT>, ...@@ -46,7 +37,6 @@ class DocumentXSLT final : public GarbageCollected<DocumentXSLT>,
void Trace(Visitor*) const override; void Trace(Visitor*) const override;
private: private:
Member<Document> transform_source_document_;
DISALLOW_COPY_AND_ASSIGN(DocumentXSLT); DISALLOW_COPY_AND_ASSIGN(DocumentXSLT);
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment