From 12733cba00a0aa06f1458f28b80e24ccb7ec6841 Mon Sep 17 00:00:00 2001 From: Christophe Coevoet Date: Sat, 26 Sep 2015 12:01:36 +0200 Subject: [PATCH] Forbid serializing a Crawler Unserializing a Crawler instance creates DOM elements in an invalid state, making the Crawler unusable. --- src/Symfony/Component/DomCrawler/Crawler.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Symfony/Component/DomCrawler/Crawler.php b/src/Symfony/Component/DomCrawler/Crawler.php index 84ce8f3f8d..3bc2a456bd 100644 --- a/src/Symfony/Component/DomCrawler/Crawler.php +++ b/src/Symfony/Component/DomCrawler/Crawler.php @@ -311,6 +311,17 @@ class Crawler extends \SplObjectStorage } } + // Serializing and unserializing a crawler creates DOM objects in a corrupted state. DOM elements are not properly serializable. + public function unserialize($serialized) + { + throw new \BadMethodCallException('A Crawler cannot be serialized.'); + } + + public function serialize() + { + throw new \BadMethodCallException('A Crawler cannot be serialized.'); + } + /** * Returns a node given its position in the node list. *