Как насчет того, чтобы оставить его пустым, что с этим не так?
<form name="form1" id="mainForm" method="post" enctype="multipart/form-data" action="">
</form>
Кроме того, вы можете опустить атрибут действия, и он будет работать как положено.
Вы пробовали определить пару геттер / сеттер в самом объекте документа, а не в прототипе?
document.__defineGetter__("cookie", function() {} );
document.__defineSetter__("cookie", function() {} );
Я знаю, что это не имеет значения, но я не недооцениваю причуды браузера . Даже с WebKit.
Я провел несколько тестов в Chrome 2, и оказалось, что он позволяет определять только сеттер. В любом случае, я не уверен, насколько справедливо это наблюдение для WebKit, поскольку Google Chrome использует другой интерпретатор JavaScript, чем WebKit.