1. 14 Dec, 2010 1 commit
  2. 13 Dec, 2010 2 commits
    • yurys@chromium.org's avatar
      2010-12-13 Yury Semikhatsky <yurys@chromium.org> · e42c177c
      yurys@chromium.org authored
              Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921.
      
              REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit).
              https://bugs.webkit.org/show_bug.cgi?id=50950
      
              * fast/events/resources/window-onerror.js: Removed.
              * fast/events/window-onerror1-expected.txt: Removed.
              * fast/events/window-onerror1.html: Removed.
              * fast/events/window-onerror10-expected.txt: Removed.
              * fast/events/window-onerror10.html: Removed.
              * fast/events/window-onerror11-expected.txt: Removed.
              * fast/events/window-onerror11.html: Removed.
              * fast/events/window-onerror2-expected.txt: Removed.
              * fast/events/window-onerror2.html: Removed.
              * fast/events/window-onerror3-expected.txt: Removed.
              * fast/events/window-onerror3.html: Removed.
              * fast/events/window-onerror4-expected.txt: Removed.
              * fast/events/window-onerror4.html: Removed.
              * fast/events/window-onerror5-expected.txt: Removed.
              * fast/events/window-onerror5.html: Removed.
              * fast/events/window-onerror6-expected.txt: Removed.
              * fast/events/window-onerror6.html: Removed.
              * fast/events/window-onerror7-expected.txt: Removed.
              * fast/events/window-onerror7.html: Removed.
              * fast/events/window-onerror8-expected.txt: Removed.
              * fast/events/window-onerror8.html: Removed.
              * fast/events/window-onerror9-expected.txt: Removed.
              * fast/events/window-onerror9.html: Removed.
              * fast/workers/worker-script-error-expected.txt:
              * http/tests/security/resources/onerror-iframe.html: Removed.
              * http/tests/security/window-onerror-exception-in-iframe-expected.txt: Removed.
              * http/tests/security/window-onerror-exception-in-iframe.html: Removed.
              * platform/chromium-win/fast/workers/worker-script-error-expected.txt:
              * platform/chromium/fast/events/window-onerror1-expected.txt: Removed.
              * platform/chromium/fast/events/window-onerror10-expected.txt: Removed.
              * platform/chromium/fast/events/window-onerror11-expected.txt: Removed.
              * platform/chromium/fast/events/window-onerror2-expected.txt: Removed.
              * platform/chromium/fast/events/window-onerror3-expected.txt: Removed.
              * platform/chromium/fast/events/window-onerror4-expected.txt: Removed.
              * platform/chromium/fast/events/window-onerror5-expected.txt: Removed.
              * platform/chromium/fast/events/window-onerror6-expected.txt: Removed.
              * platform/chromium/fast/events/window-onerror7-expected.txt: Removed.
              * platform/chromium/fast/events/window-onerror8-expected.txt: Removed.
              * platform/chromium/fast/events/window-onerror9-expected.txt: Removed.
              * platform/chromium/http/tests/security/window-onerror-exception-in-iframe-expected.txt: Removed.
              * platform/chromium/userscripts/window-onerror-for-isolated-world-1-expected.txt: Removed.
              * platform/chromium/userscripts/window-onerror-for-isolated-world-2-expected.txt: Removed.
              * platform/gtk/Skipped:
              * userscripts/window-onerror-for-isolated-world-1-expected.txt: Removed.
              * userscripts/window-onerror-for-isolated-world-1.html: Removed.
              * userscripts/window-onerror-for-isolated-world-2-expected.txt: Removed.
              * userscripts/window-onerror-for-isolated-world-2.html: Removed.
      2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
      
              Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921.
      
              REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit).
              https://bugs.webkit.org/show_bug.cgi?id=50950
      
              * Android.jscbindings.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.order:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSBindingsAllInOne.cpp:
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::reportException):
              * bindings/js/JSWorkerContextErrorHandler.cpp: Renamed from WebCore/bindings/js/JSErrorHandler.cpp.
              (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
              (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
              (WebCore::JSWorkerContextErrorHandler::handleEvent):
              * bindings/js/JSWorkerContextErrorHandler.h: Renamed from WebCore/bindings/js/JSErrorHandler.h.
              (WebCore::JSWorkerContextErrorHandler::create):
              (WebCore::createJSWorkerContextErrorHandler):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bindings/scripts/CodeGeneratorV8.pm:
              * bindings/v8/V8ConsoleMessage.cpp:
              (WebCore::V8ConsoleMessage::dispatchNow):
              (WebCore::V8ConsoleMessage::handler):
              * bindings/v8/V8ConsoleMessage.h:
              * bindings/v8/V8WindowErrorHandler.cpp: Removed.
              * bindings/v8/V8WindowErrorHandler.h: Removed.
              * bindings/v8/WorkerContextExecutionProxy.cpp:
              (WebCore::v8MessageHandler):
              * bindings/v8/WorkerScriptController.cpp:
              (WebCore::WorkerScriptController::evaluate):
              * dom/Document.cpp:
              (WebCore::Document::reportException):
              (WebCore::Document::addMessage):
              * dom/Document.h:
              * dom/ErrorEvent.cpp:
              * dom/ErrorEvent.h:
              * dom/Event.cpp:
              * dom/Event.h:
              * dom/ScriptExecutionContext.cpp:
              (WebCore::ScriptExecutionContext::ScriptExecutionContext):
              * dom/ScriptExecutionContext.h:
              * websockets/WebSocket.cpp:
              (WebCore::WebSocket::connect):
              * websockets/WebSocketChannel.cpp:
              (WebCore::WebSocketChannel::didOpen):
              (WebCore::WebSocketChannel::appendToBuffer):
              * websockets/WebSocketHandshake.cpp:
              (WebCore::WebSocketHandshake::readServerHandshake):
              (WebCore::WebSocketHandshake::readStatusLine):
              (WebCore::WebSocketHandshake::readHTTPHeaders):
              (WebCore::WebSocketHandshake::checkResponseHeaders):
              * workers/DefaultSharedWorkerRepository.cpp:
              (WebCore::postExceptionTask):
              (WebCore::postConsoleMessageTask):
              * workers/WorkerContext.cpp:
              (WebCore::WorkerContext::WorkerContext):
              (WebCore::WorkerContext::reportException):
              (WebCore::WorkerContext::addMessage):
              * workers/WorkerContext.h:
              * workers/WorkerMessagingProxy.cpp:
              (WebCore::WorkerExceptionTask::performTask):
              (WebCore::postConsoleMessageTask):
              * xml/XMLHttpRequest.cpp:
              (WebCore::reportUnsafeUsage):
      2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
      
              Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921.
      
              REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit).
              https://bugs.webkit.org/show_bug.cgi?id=50950
      
              * src/WebWorkerClientImpl.cpp:
              (WebKit::WebWorkerClientImpl::postExceptionToWorkerObject):
              (WebKit::WebWorkerClientImpl::postConsoleMessageToWorkerObject):
              (WebKit::WebWorkerClientImpl::postExceptionToWorkerObjectTask):
              (WebKit::WebWorkerClientImpl::postConsoleMessageToWorkerObjectTask):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e42c177c
    • yurys@chromium.org's avatar
      2010-12-13 Yury Semikhatsky <yurys@chromium.org> · 68b2822e
      yurys@chromium.org authored
              Reviewed by Adam Barth.
      
              WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
              https://bugs.webkit.org/show_bug.cgi?id=8519
      
              Uncaught exceptions are propagated to window.onerror hander if one is present.
              The handler is expected to be a function accepting three arguments: error message,
              resource url and line number where the exception occured.
      
              * fast/events/resources/window-onerror.js: Added.
              (throwException):
              * fast/events/window-onerror1-expected.txt: Added.
              * fast/events/window-onerror1.html: Added.
              * fast/events/window-onerror10-expected.txt: Added.
              * fast/events/window-onerror10.html: Added.
              * fast/events/window-onerror11-expected.txt: Added.
              * fast/events/window-onerror11.html: Added.
              * fast/events/window-onerror2-expected.txt: Added.
              * fast/events/window-onerror2.html: Added.
              * fast/events/window-onerror3-expected.txt: Added.
              * fast/events/window-onerror3.html: Added.
              * fast/events/window-onerror4-expected.txt: Added.
              * fast/events/window-onerror4.html: Added.
              * fast/events/window-onerror5-expected.txt: Added.
              * fast/events/window-onerror5.html: Added.
              * fast/events/window-onerror6-expected.txt: Added.
              * fast/events/window-onerror6.html: Added.
              * fast/events/window-onerror7-expected.txt: Added.
              * fast/events/window-onerror7.html: Added.
              * fast/events/window-onerror8-expected.txt: Added.
              * fast/events/window-onerror8.html: Added.
              * fast/events/window-onerror9-expected.txt: Added.
              * fast/events/window-onerror9.html: Added.
              * fast/workers/worker-script-error-expected.txt:
              * http/tests/security/resources/onerror-iframe.html: Added.
              * http/tests/security/window-onerror-exception-in-iframe-expected.txt: Added.
              * http/tests/security/window-onerror-exception-in-iframe.html: Added.
              * platform/chromium-win/fast/workers/worker-script-error-expected.txt:
              * platform/chromium/fast/events/window-onerror1-expected.txt: Added.
              * platform/chromium/fast/events/window-onerror10-expected.txt: Added.
              * platform/chromium/fast/events/window-onerror11-expected.txt: Added.
              * platform/chromium/fast/events/window-onerror2-expected.txt: Added.
              * platform/chromium/fast/events/window-onerror3-expected.txt: Added.
              * platform/chromium/fast/events/window-onerror4-expected.txt: Added.
              * platform/chromium/fast/events/window-onerror5-expected.txt: Added.
              * platform/chromium/fast/events/window-onerror6-expected.txt: Added.
              * platform/chromium/fast/events/window-onerror7-expected.txt: Added.
              * platform/chromium/fast/events/window-onerror8-expected.txt: Added.
              * platform/chromium/fast/events/window-onerror9-expected.txt: Added.
              * platform/chromium/http/tests/security/window-onerror-exception-in-iframe-expected.txt: Added.
              * platform/chromium/userscripts/window-onerror-for-isolated-world-1-expected.txt: Added.
              * platform/chromium/userscripts/window-onerror-for-isolated-world-2-expected.txt: Added.
              * userscripts/window-onerror-for-isolated-world-1-expected.txt: Added.
              * userscripts/window-onerror-for-isolated-world-1.html: Added.
              * userscripts/window-onerror-for-isolated-world-2-expected.txt: Added.
              * userscripts/window-onerror-for-isolated-world-2.html: Added.
      2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
      
              Reviewed by Adam Barth.
      
              WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
              https://bugs.webkit.org/show_bug.cgi?id=8519
      
              Uncaught exceptions are propagated to window.onerror hander if one is present.
              The handler is expected to be a function accepting three arguments: error message,
              resource url and line number where the exception occured.
      
              It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
              were created in the same isolated world where the exception occured or not.
      
              Tests: fast/events/window-onerror1.html
                     fast/events/window-onerror10.html
                     fast/events/window-onerror11.html
                     fast/events/window-onerror2.html
                     fast/events/window-onerror3.html
                     fast/events/window-onerror4.html
                     fast/events/window-onerror5.html
                     fast/events/window-onerror6.html
                     fast/events/window-onerror7.html
                     fast/events/window-onerror8.html
                     fast/events/window-onerror9.html
                     http/tests/security/window-onerror-exception-in-iframe.html
                     userscripts/window-onerror-for-isolated-world-1.html
                     userscripts/window-onerror-for-isolated-world-2.html
      
              * Android.jscbindings.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.order:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSBindingsAllInOne.cpp:
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::reportException):
              * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
              (WebCore::JSErrorHandler::JSErrorHandler):
              (WebCore::JSErrorHandler::~JSErrorHandler):
              (WebCore::JSErrorHandler::handleEvent):
              * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
              (WebCore::JSErrorHandler::create):
              (WebCore::createJSErrorHandler):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bindings/scripts/CodeGeneratorV8.pm:
              * bindings/v8/V8ConsoleMessage.cpp:
              (WebCore::V8ConsoleMessage::dispatchNow):
              (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
              reporting mechanism which is also used by JSC bindings.
              * bindings/v8/V8ConsoleMessage.h:
              * bindings/v8/V8WindowErrorHandler.cpp: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
              (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
              (WebCore::V8WindowErrorHandler::callListenerFunction):
              * bindings/v8/V8WindowErrorHandler.h: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
              (WebCore::V8WindowErrorHandler::create):
              * bindings/v8/WorkerContextExecutionProxy.cpp:
              (WebCore::v8MessageHandler):
              * bindings/v8/WorkerScriptController.cpp:
              (WebCore::WorkerScriptController::evaluate):
              * dom/Document.cpp:
              (WebCore::Document::errorEventTarget):
              (WebCore::Document::logExceptionToConsole):
              * dom/Document.h:
              * dom/ScriptExecutionContext.cpp:
              (WebCore::ScriptExecutionContext::PendingException::PendingException):
              (WebCore::ScriptExecutionContext::ScriptExecutionContext):
              (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
              ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
              (WebCore::ScriptExecutionContext::dispatchErrorEvent):
              * dom/ScriptExecutionContext.h:
              * workers/DefaultSharedWorkerRepository.cpp:
              (WebCore::postExceptionTask):
              * workers/WorkerContext.cpp:
              (WebCore::WorkerContext::WorkerContext):
              (WebCore::WorkerContext::errorEventTarget):
              (WebCore::WorkerContext::logExceptionToConsole):
              * workers/WorkerContext.h:
              * workers/WorkerMessagingProxy.cpp:
              (WebCore::WorkerExceptionTask::performTask):
      2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
      
              Reviewed by Adam Barth.
      
              WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
              https://bugs.webkit.org/show_bug.cgi?id=8519
      
              Uncaught exceptions are propagated to window.onerror hander if one is present.
              The handler is expected to be a function accepting three arguments: error message,
              resource url and line number where the exception occured.
      
              * src/WebWorkerClientImpl.cpp:
              (WebKit::WebWorkerClientImpl::postExceptionToWorkerObject):
              (WebKit::WebWorkerClientImpl::postExceptionToWorkerObjectTask):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73914 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      68b2822e
  3. 12 Dec, 2010 1 commit
    • morrita@google.com's avatar
      2010-10-28 MORITA Hajime <morrita@google.com> · 7a18feed
      morrita@google.com authored
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              * editing/spelling/script-tests/spellcheck-paste.js: Added.
              * editing/spelling/spellcheck-paste.html: Added.
              * editing/spelling/spellcheck-paste-expected.txt: Added.
              * platform/chromium/test_expectations.txt:
              * platform/gtk/Skipped:
              * platform/mac-leopard/Skipped:
              * platform/mac-tiger/Skipped:
              * platform/mac-wk2/Skipped:
              * platform/qt/Skipped:
              * platform/win/Skipped:
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              - Introduced SpellChecker class to encapsulate asynchronous spell
                checker state: sequence id, requesting text and target node.
                This is also the first step to decompose spell-check related
                code to a separate class.
              - Added EditorClient::isAsynchronousSpellCheckingEnabled()
                to use async spellcheck API on the platform.
                These APIs are touched by SpellChecker.
              - Used SpellChecker to check a pasted test. Text to check is
                collected from the subtree under the editingRoot.
              - Added Setting::m_asynchronousSpellCheckingEnabled to control
                async spell checking.
      
              Test: editing/spelling/spellcheck-paste.html
      
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.exp.in:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * dom/DocumentMarkerController.cpp:
              (WebCore::DocumentMarkerController::showMarkers):
              (showDocumentMarkers):
              * dom/DocumentMarkerController.h:
              * dom/PositionIterator.cpp:
              (WebCore::PositionIterator::setOffsetInLeafNode):
              * dom/PositionIterator.h:
              * editing/Editor.cpp:
              (WebCore::Editor::replaceSelectionWithFragment):
              (WebCore::Editor::Editor):
              (WebCore::findFirstMarkable):
              (WebCore::Editor::selectionStartHasSpellingMarkerFor):
              * editing/Editor.h:
              (WebCore::Editor::spellChecker):
              * editing/SpellChecker.cpp: Added.
              (WebCore::SpellChecker::SpellChecker):
              (WebCore::SpellChecker::~SpellChecker):
              (WebCore::SpellChecker::initRequest):
              (WebCore::SpellChecker::clearRequest):
              (WebCore::SpellChecker::isAsynchronousEnabled):
              (WebCore::SpellChecker::canCheckAsynchronously):
              (WebCore::SpellChecker::isBusy):
              (WebCore::SpellChecker::isValid):
              (WebCore::SpellChecker::isCheckable):
              (WebCore::SpellChecker::requestCheckingFor):
              (WebCore::forwardIterator):
              (WebCore::SpellChecker::didCheck):
              * editing/SpellChecker.h: Added.
              (WebCore::SpellCheckingResult::SpellCheckingResult):
              (WebCore::SpellCheckingResult::type):
              (WebCore::SpellCheckingResult::location):
              (WebCore::SpellCheckingResult::length):
              * loader/EmptyClients.h:
              (WebCore::EmptyEditorClient::requestCheckingOfString):
              * page/EditorClient.h:
              * page/Settings.cpp:
              (WebCore::Settings::Settings):
              * page/Settings.h:
              (WebCore::Settings::setAsynchronousSpellCheckingEnabled):
              (WebCore::Settings::asynchronousSpellCheckingEnabled):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * src/EditorClientImpl.h:
              (WebKit::EditorClientImpl::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebCoreSupport/EditorClientEfl.h:
              (WebCore::EditorClientEfl::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebCoreSupport/EditorClientGtk.h:
              (WebKit::EditorClient::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebCoreSupport/EditorClientHaiku.h:
              (WebCore::EditorClientHaiku::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added asynchronous spell checking API to WebEditorClient using
              -[NSSpellChecker requestCheckingOfString].
              Note that WebEditorSpellCheckResponder is a small class to receive
              requested spell-checking result. Note that this feature is
              disabled at default.
      
              Also added [WebPreferences setAsynchronousSpellCheckingEnabled:] to
              enable the feature from LayoutTestController.
      
              * WebCoreSupport/WebEditorClient.h:
              * WebCoreSupport/WebEditorClient.mm:
              (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:results:]):
              (-[WebEditorSpellCheckResponder perform]):
              (toCoreSpellingResult):
              (-[WebEditorSpellCheckResponder WTF::WebCore::]):
              (WebEditorClient::requestCheckingOfString):
              * WebView/WebPreferenceKeysPrivate.h:
              * WebView/WebPreferences.mm:
              (+[WebPreferences initialize]):
              (-[WebPreferences setAsynchronousSpellCheckingEnabled:]):
              (-[WebPreferences asynchronousSpellCheckingEnabled]):
              * WebView/WebPreferencesPrivate.h:
              * WebView/WebView.mm:
              (-[WebView _preferencesChangedNotification:]):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebCoreSupport/EditorClientQt.h:
              (WebCore::EditorClientQt::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebCoreSupport/WebEditorClient.h:
              (WebEditorClient::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebCoreSupport/EditorClientWinCE.h:
              (WebKit::EditorClient::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebKitSupport/EditorClientWx.h:
              (WebCore::EditorClientWx::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebProcess/WebCoreSupport/WebEditorClient.cpp:
              (WebKit::WebEditorClient::requestCheckingOfString):
              * WebProcess/WebCoreSupport/WebEditorClient.h:
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added LayoutTestController::setAsynchronousSpellCheckingEnabled()
              to control the setting.
      
              * DumpRenderTree/LayoutTestController.cpp:
              (setAsynchronousSpellCheckingEnabledCallback):
              (LayoutTestController::staticFunctions):
              * DumpRenderTree/LayoutTestController.h:
              * DumpRenderTree/chromium/LayoutTestController.h:
              * DumpRenderTree/chromium/LayoutTestController.cpp:
              (LayoutTestController::LayoutTestController):
              (LayoutTestController::setAsynchronousSpellCheckingEnabled):
              * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
              (LayoutTestController::setAsynchronousSpellCheckingEnabled):
              * DumpRenderTree/mac/DumpRenderTree.mm:
              (resetDefaultsToConsistentValues):
              * DumpRenderTree/mac/LayoutTestControllerMac.mm:
              (LayoutTestController::setAsynchronousSpellCheckingEnabled):
              * DumpRenderTree/qt/LayoutTestControllerQt.h:
              * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
              (LayoutTestController::setAsynchronousSpellCheckingEnabled):
              * DumpRenderTree/win/LayoutTestControllerWin.cpp:
              (LayoutTestController::setAsynchronousSpellCheckingEnabled):
              * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
              (LayoutTestController::setAsynchronousSpellCheckingEnabled):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a18feed
  4. 10 Dec, 2010 5 commits
    • kbr@google.com's avatar
      2010-12-10 Kenneth Russell <kbr@google.com> · 81bb4971
      kbr@google.com authored
              Reviewed by James Robinson.
      
              Implement extension entry points and remove EXTENSIONS enum
              https://bugs.webkit.org/show_bug.cgi?id=40316
      
              Added support for ensuring that a particular OpenGL extension is
              enabled.
      
              * public/WebGraphicsContext3D.h:
              * src/Extensions3DChromium.cpp:
              (WebCore::Extensions3DChromium::ensureEnabled):
              * src/GraphicsContext3DChromium.cpp:
              (WebCore::GraphicsContext3DInternal::initializeExtensions):
              (WebCore::GraphicsContext3DInternal::supportsExtension):
              (WebCore::GraphicsContext3DInternal::ensureExtensionEnabled):
              * src/GraphicsContext3DInternal.h:
              * src/WebGraphicsContext3DDefaultImpl.cpp:
              (WebKit::WebGraphicsContext3DDefaultImpl::getRequestableExtensionsCHROMIUM):
              (WebKit::WebGraphicsContext3DDefaultImpl::requestExtensionCHROMIUM):
              * src/WebGraphicsContext3DDefaultImpl.h:
      2010-12-10  Kenneth Russell  <kbr@google.com>
      
              Reviewed by James Robinson.
      
              Implement extension entry points and remove EXTENSIONS enum
              https://bugs.webkit.org/show_bug.cgi?id=40316
      
              Implemented WebGLRenderingContext's getSupportedExtensions and
              getExtensions entry points, and, to verify them, added support for
              the first specified WebGL extension, OES_texture_float. This
              extension is now advertised in the Chromium and WebKit ports when
              the underlying hardware supports it.
      
              The new OES_texture_float test in the WebGL conformance suite
              verifies the allocation and population of floating point textures,
              and their use as render targets. However, because this extension
              is optional, it is not easily testable with a layout test; there
              is only one set of expectations for a given test, and two would be
              needed, one when the extension is available and one when it is not.
      
              Tested with the oes-texture-float.html WebGL conformance test in
              Chromium and WebKit on Mac OS X on hardware that supports the
              extension. Also verified with a configuration that does not
              advertise the extension that this same test passes.
      
              * CMakeLists.txt:
              * DerivedSources.make:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pri:
              * WebCore.pro:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSWebGLRenderingContextCustom.cpp:
              (WebCore::toJS):
              (WebCore::JSWebGLRenderingContext::markChildren):
              (WebCore::JSWebGLRenderingContext::getExtension):
              (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
              * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
              (WebCore::toV8Object):
              (WebCore::V8WebGLRenderingContext::getExtensionCallback):
              (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
              * html/canvas/OESTextureFloat.cpp: Added.
              (WebCore::OESTextureFloat::OESTextureFloat):
              (WebCore::OESTextureFloat::~OESTextureFloat):
              (WebCore::OESTextureFloat::getName):
              (WebCore::OESTextureFloat::create):
              * html/canvas/OESTextureFloat.h: Added.
              * html/canvas/OESTextureFloat.idl: Added.
              * html/canvas/WebGLExtension.cpp: Added.
              (WebCore::WebGLExtension::WebGLExtension):
              (WebCore::WebGLExtension::~WebGLExtension):
              * html/canvas/WebGLExtension.h: Added.
              * html/canvas/WebGLRenderingContext.cpp:
              (WebCore::WebGLRenderingContext::getExtension):
              (WebCore::WebGLRenderingContext::getSupportedExtensions):
              (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
              (WebCore::WebGLRenderingContext::validateTexFuncData):
              (WebCore::WebGLRenderingContext::getNumberOfExtensions):
              (WebCore::WebGLRenderingContext::getExtensionNumber):
              * html/canvas/WebGLRenderingContext.h:
              * html/canvas/WebGLRenderingContext.idl:
              * platform/graphics/Extensions3D.h:
              * platform/graphics/GraphicsContext3D.cpp:
              (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
              (WebCore::GraphicsContext3D::extractTextureData):
              (WebCore::doUnpackingAndPacking):
              (WebCore::doPacking):
              (WebCore::doFloatingPointPacking):
              (WebCore::GraphicsContext3D::packPixels):
              * platform/graphics/GraphicsContext3D.h:
              * platform/graphics/chromium/Extensions3DChromium.h:
              * platform/graphics/opengl/Extensions3DOpenGL.cpp:
              (WebCore::Extensions3DOpenGL::supports):
              (WebCore::Extensions3DOpenGL::ensureEnabled):
              * platform/graphics/opengl/Extensions3DOpenGL.h:
              * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
              (WebCore::GraphicsContext3D::texImage2D):
              * platform/graphics/qt/Extensions3DQt.cpp:
              (WebCore::Extensions3DQt::ensureEnabled):
              * platform/graphics/qt/Extensions3DQt.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81bb4971
    • commit-queue@webkit.org's avatar
      2010-12-09 Jenn Braithwaite <jennb@chromium.org> · b4be94a9
      commit-queue@webkit.org authored
              Reviewed by Adam Barth.
      
              TextResourceDecoder::checkForHeadCharset can look way past the limit.
              https://bugs.webkit.org/show_bug.cgi?id=47397
      
              Replaced charset detection algorithm with real parser.
              Added tests for parser bugs mentioned in the thread for this bug report.
              Converted hixie's encoding parsing tests to a layout test.
      
              Tests: fast/encoding/bracket-in-script.html
                     fast/encoding/bracket-in-tag.html
                     fast/encoding/escaped-bracket.html
                     fast/encoding/meta-in-body.html
                     fast/encoding/meta-in-script.html
                     fast/encoding/meta-in-title.html
                     fast/encoding/mismatched-end-tag.html
                     fast/encoding/namespace-meta.html
                     fast/encoding/not-http-equiv-content.html
                     fast/encoding/parser-tests.html
                     fast/encoding/quotes-in-title.html
                     fast/encoding/tag-name-digit.html
                     http/tests/misc/charset-sniffer-end-sniffing.html
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * html/parser/HTMLMetaCharsetParser.cpp: Added.
              (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
              (WebCore::HTMLMetaCharsetParser::~HTMLMetaCharsetParser):
              (WebCore::HTMLMetaCharsetParser::extractCharset):
              (WebCore::HTMLMetaCharsetParser::processMeta):
              (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
              * html/parser/HTMLMetaCharsetParser.h: Added.
              (WebCore::HTMLMetaCharsetParser::create):
              (WebCore::HTMLMetaCharsetParser::encoding):
              * loader/TextResourceDecoder.cpp:
              (WebCore::TextResourceDecoder::checkForHeadCharset):
              (WebCore::TextResourceDecoder::checkForMetaCharset):
              * loader/TextResourceDecoder.h:
      2010-12-09  Jenn Braithwaite  <jennb@chromium.org>
      
              Reviewed by Adam Barth.
      
              TextResourceDecoder::checkForHeadCharset can look way past the limit.
              https://bugs.webkit.org/show_bug.cgi?id=47397
      
              Replaced charset detection algorithm with real parser.
              Added tests for parser bugs mentioned in the thread for this bug report.
              Converted hixie's encoding parsing tests to a layout test.
              Added http-equiv attribute to meta tag in 2 existing tests.
      
              * fast/encoding/bracket-in-script-expected.txt: Added.
              * fast/encoding/bracket-in-script.html: Added.
              * fast/encoding/bracket-in-tag-expected.txt: Added.
              * fast/encoding/bracket-in-tag.html: Added.
              * fast/encoding/escaped-bracket-expected.txt: Added.
              * fast/encoding/escaped-bracket.html: Added.
              * fast/encoding/meta-in-body-expected.txt: Added.
              * fast/encoding/meta-in-body.html: Added.
              * fast/encoding/meta-in-script-expected.txt: Added.
              * fast/encoding/meta-in-script.html: Added.
              * fast/encoding/meta-in-title-expected.txt: Added.
              * fast/encoding/meta-in-title.html: Added.
              * fast/encoding/mismatched-end-tag-expected.txt: Added.
              * fast/encoding/mismatched-end-tag.html: Added.
              * fast/encoding/namespace-meta-expected.txt: Added.
              * fast/encoding/namespace-meta.html: Added.
              * fast/encoding/namespace-tolerance.html:
              * fast/encoding/not-http-equiv-content-expected.txt: Added.
              * fast/encoding/not-http-equiv-content.html: Added.
              * fast/encoding/parser-tests-expected.txt: Added.
              * fast/encoding/parser-tests.html: Added.
              * fast/encoding/quotes-in-title-expected.txt: Added.
              * fast/encoding/quotes-in-title.html: Added.
              * fast/encoding/resources/001.html: Added.
              * fast/encoding/resources/002.html: Added.
              * fast/encoding/resources/003.html: Added.
              * fast/encoding/resources/004.html: Added.
              * fast/encoding/resources/005.html: Added.
              * fast/encoding/resources/006.html: Added.
              * fast/encoding/resources/007.html: Added.
              * fast/encoding/resources/008.html: Added.
              * fast/encoding/resources/009.html: Added.
              * fast/encoding/resources/010.html: Added.
              * fast/encoding/resources/011.html: Added.
              * fast/encoding/resources/012.html: Added.
              * fast/encoding/resources/013.html: Added.
              * fast/encoding/resources/014.html: Added.
              * fast/encoding/resources/015.html: Added.
              * fast/encoding/resources/016.html: Added.
              * fast/encoding/resources/017.html: Added.
              * fast/encoding/resources/018.html: Added.
              * fast/encoding/resources/019.html: Added.
              * fast/encoding/resources/020.html: Added.
              * fast/encoding/resources/021.html: Added.
              * fast/encoding/resources/022.html: Added.
              * fast/encoding/resources/023.html: Added.
              * fast/encoding/resources/024.html: Added.
              * fast/encoding/resources/025.html: Added.
              * fast/encoding/resources/026.html: Added.
              * fast/encoding/resources/027.html: Added.
              * fast/encoding/resources/028.html: Added.
              * fast/encoding/resources/029.html: Added.
              * fast/encoding/resources/030.html: Added.
              * fast/encoding/resources/031.html: Added.
              * fast/encoding/resources/032.html: Added.
              * fast/encoding/resources/033.html: Added.
              * fast/encoding/resources/034.html: Added.
              * fast/encoding/resources/035.html: Added.
              * fast/encoding/resources/036.html: Added.
              * fast/encoding/resources/037.html: Added.
              * fast/encoding/resources/038.html: Added.
              * fast/encoding/resources/039.html: Added.
              * fast/encoding/resources/040.html: Added.
              * fast/encoding/resources/041.html: Added.
              * fast/encoding/resources/042.html: Added.
              * fast/encoding/resources/043.html: Added.
              * fast/encoding/resources/044.html: Added.
              * fast/encoding/resources/045.html: Added.
              * fast/encoding/resources/046.html: Added.
              * fast/encoding/resources/047.html: Added.
              * fast/encoding/resources/048.html: Added.
              * fast/encoding/resources/049.html: Added.
              * fast/encoding/resources/050.html: Added.
              * fast/encoding/resources/051.html: Added.
              * fast/encoding/resources/052.html: Added.
              * fast/encoding/resources/053.html: Added.
              * fast/encoding/resources/054.html: Added.
              * fast/encoding/resources/055.html: Added.
              * fast/encoding/resources/056.html: Added.
              * fast/encoding/resources/057.html: Added.
              * fast/encoding/resources/058.html: Added.
              * fast/encoding/resources/059.html: Added.
              * fast/encoding/resources/060.html: Added.
              * fast/encoding/resources/061.html: Added.
              * fast/encoding/resources/062.html: Added.
              * fast/encoding/resources/063.html: Added.
              * fast/encoding/resources/064.html: Added.
              * fast/encoding/resources/065.html: Added.
              * fast/encoding/resources/066.html: Added.
              * fast/encoding/resources/067.html: Added.
              * fast/encoding/resources/068.html: Added.
              * fast/encoding/resources/069.html: Added.
              * fast/encoding/resources/070.html: Added.
              * fast/encoding/resources/071.html: Added.
              * fast/encoding/resources/072.html: Added.
              * fast/encoding/resources/073.html: Added.
              * fast/encoding/resources/074.html: Added.
              * fast/encoding/resources/075.html: Added.
              * fast/encoding/resources/076.html: Added.
              * fast/encoding/resources/077.html: Added.
              * fast/encoding/resources/078.html: Added.
              * fast/encoding/resources/079.html: Added.
              * fast/encoding/resources/080.html: Added.
              * fast/encoding/resources/081.html: Added.
              * fast/encoding/resources/082.html: Added.
              * fast/encoding/resources/083.html: Added.
              * fast/encoding/resources/084.html: Added.
              * fast/encoding/resources/085.html: Added.
              * fast/encoding/resources/086.html: Added.
              * fast/encoding/resources/087.html: Added.
              * fast/encoding/resources/088.html: Added.
              * fast/encoding/resources/089.html: Added.
              * fast/encoding/resources/090.html: Added.
              * fast/encoding/resources/091.html: Added.
              * fast/encoding/resources/092.html: Added.
              * fast/encoding/resources/093.html: Added.
              * fast/encoding/resources/094.html: Added.
              * fast/encoding/resources/095.html: Added.
              * fast/encoding/resources/096.html: Added.
              * fast/encoding/resources/097.html: Added.
              * fast/encoding/resources/098.html: Added.
              * fast/encoding/resources/099.html: Added.
              * fast/encoding/resources/100.html: Added.
              * fast/encoding/resources/101.html: Added.
              * fast/encoding/resources/102.html: Added.
              * fast/encoding/resources/103.html: Added.
              * fast/encoding/resources/104.html: Added.
              * fast/encoding/resources/105.html: Added.
              * fast/encoding/resources/106.html: Added.
              * fast/encoding/resources/107.html: Added.
              * fast/encoding/resources/108.html: Added.
              * fast/encoding/resources/109.html: Added.
              * fast/encoding/resources/110.html: Added.
              * fast/encoding/resources/111.html: Added.
              * fast/encoding/resources/112.html: Added.
              * fast/encoding/resources/113.html: Added.
              * fast/encoding/resources/114.html: Added.
              * fast/encoding/resources/115.html: Added.
              * fast/encoding/resources/116.html: Added.
              * fast/encoding/resources/117.html: Added.
              * fast/encoding/resources/118.html: Added.
              * fast/encoding/resources/119.html: Added.
              * fast/encoding/resources/120.html: Added.
              * fast/encoding/resources/121.html: Added.
              * fast/encoding/resources/122.html: Added.
              * fast/encoding/resources/123.html: Added.
              * fast/encoding/tag-name-digit-expected.txt: Added.
              * fast/encoding/tag-name-digit.html: Added.
              * fast/text/international/bidi-innertext.html:
              * http/tests/misc/charset-sniffer-end-sniffing-expected.txt: Added.
              * http/tests/misc/charset-sniffer-end-sniffing.html: Added.
              * http/tests/misc/resources/charset-sniffer-end-sniffing.php: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73756 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4be94a9
    • japhet@chromium.org's avatar
      2010-12-10 Nate Chapin <japhet@chromium.org> · f8d43691
      japhet@chromium.org authored
              Reviewed by Antti Koivisto.
      
              Merge Loader and Request. Currently, Loader is a singleton attached
              to MemoryCache. Our goal is to remove knowledge of the loading process
              from MemoryCache, so we should attach Loader to CachedResourceLoader instead.
              Once Loader is moved off of MemoryCache, there's no reason it needs to be a singleton,
              which removes the main reason for Request existing as a separate class (to store per-request
              state that Loader couldn't).
      
              Loader will be given a more descriptive name in a later patch.
      
              https://bugs.webkit.org/show_bug.cgi?id=49837
      
              Refactor only, no new tests.
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * loader/FrameLoader.cpp:
              * loader/Request.cpp:
              * loader/Request.h:
              * loader/cache/CachedFont.cpp:
              * loader/cache/CachedImage.cpp:
              * loader/cache/CachedResource.cpp:
              * loader/cache/CachedResource.h:
              * loader/cache/CachedResourceLoader.cpp:
              (WebCore::CachedResourceLoader::CachedResourceLoader):
              (WebCore::CachedResourceLoader::~CachedResourceLoader):
              (WebCore::CachedResourceLoader::requestImage):
              (WebCore::CachedResourceLoader::setAutoLoadImages):
              (WebCore::CachedResourceLoader::load):
              (WebCore::CachedResourceLoader::loadDone): Was setLoadInProgress(false),
                  plus other CachedResourceLoader cleanup that had been handled in Loader.
              (WebCore::CachedResourceLoader::cancelRequests): Moved from Loader.
              (WebCore::CachedResourceLoader::requestCount):
              * loader/cache/CachedResourceLoader.h:
              (WebCore::CachedResourceLoader::loadFinishing): Was setLoadInProgress(true)
              * loader/cache/MemoryCache.h:
              * loader/loader.cpp:
              (WebCore::Loader::Loader):
              (WebCore::Loader::~Loader):
              (WebCore::Loader::load):
              (WebCore::Loader::willSendRequest):
              (WebCore::Loader::didFinishLoading):
              (WebCore::Loader::didFail):
              (WebCore::Loader::didReceiveResponse):
              (WebCore::Loader::didReceiveData):
              (WebCore::Loader::didReceiveCachedMetadata):
              * loader/loader.h:
              (WebCore::Loader::cachedResourceLoader):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f8d43691
    • rniwa@webkit.org's avatar
      2010-12-09 Ryosuke Niwa <rniwa@webkit.org> · b69181d8
      rniwa@webkit.org authored
              Reviewed by Ojan Vafai.
      
              Make DOM Mutation Events Asynchronous
              https://bugs.webkit.org/show_bug.cgi?id=46936
      
              Implemented DOM mutations events as scoped events. A scoped event is an event whose
              dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
              EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
              on its constructor and destructor respectively.
      
              When the scoping level is 0 (initial level), scoped events are dispatched as soon as
              they are enqueued and act like synchronous events. When the scoping level is greater than 0,
              however, events are queued in ScopedEventQueue and their dispatches are delayed until
              the scoping level goes back to 0 (by the destruction of EventQueueScope).
      
              DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
              DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
              scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
              of the events until the completion of each call of EditCommand::doApply.
      
              Test: fast/events/mutation/execCommands.html
      
              * Android.mk: Added ScopedEventQueue.cpp.
              * CMakeLists.txt: Ditto.
              * WebCore.pro: Ditto.
              * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
              * WebCore.gypi:  Ditto.
              * WebCore.vcproj/project.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * dom/ContainerNode.cpp:
              (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
              (WebCore::dispatchChildRemovalEvents): Ditto.
              * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
              * dom/Element.cpp:
              (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 
              (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
              * dom/Node.cpp:
              (WebCore::Node::dispatchScopedEvent): Added.
              (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
              * dom/Node.h:
              * dom/ScopedEventQueue.cpp: Added.
              (WebCore::ScopedEventQueue::initialize): Added.
              (WebCore::ScopedEventQueue::enqueueEvent): Added.
              (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
              (WebCore::ScopedEventQueue::dispatchEvent): Added.
              (WebCore::ScopedEventQueue::instance): Added.
              (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
              (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
              * dom/ScopedEventQueue.h: Added.
              (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
              (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
              (WebCore::EventQueueScope::EventQueueScope): Added.
              (WebCore::EventQueueScope::~EventQueueScope): Added.
              * editing/EditCommand.cpp:
              (WebCore::EditCommand::apply): Instantiates EventQueueScope.
      2010-12-09  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Ojan Vafai.
      
              Make DOM Mutation Events Asynchronous
              https://bugs.webkit.org/show_bug.cgi?id=46936
      
              Added a test to ensure no DOM mutation events are fired while execCommand is in progress.
      
              * fast/events/crash-on-mutate-during-drop.html: DOMNodeInserted is fired after BR is detached
              from the document, and can't be observed. Modify the DOM when text node is inserted.
              * fast/events/scoped: Added.
              * fast/events/scoped/editing-commands-expected.txt: Added.
              * fast/events/scoped/editing-commands.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b69181d8
    • rniwa@webkit.org's avatar
      2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com> · 1a796035
      rniwa@webkit.org authored
              Unreviewed, rolling out r73684.
              http://trac.webkit.org/changeset/73684
              https://bugs.webkit.org/show_bug.cgi?id=50801
      
              "missing bug number" (Requested by rniwa on #webkit).
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * dom/ContainerNode.cpp:
              (WebCore::dispatchChildInsertionEvents):
              (WebCore::dispatchChildRemovalEvents):
              * dom/DOMAllInOne.cpp:
              * dom/Element.cpp:
              (WebCore::Element::dispatchAttrRemovalEvent):
              (WebCore::Element::dispatchAttrAdditionEvent):
              * dom/Node.cpp:
              (WebCore::Node::dispatchSubtreeModifiedEvent):
              (WebCore::Node::dispatchUIEvent):
              * dom/Node.h:
              * dom/ScopedEventQueue.cpp: Removed.
              * dom/ScopedEventQueue.h: Removed.
              * editing/EditCommand.cpp:
              (WebCore::EditCommand::apply):
      2010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r73684.
              http://trac.webkit.org/changeset/73684
              https://bugs.webkit.org/show_bug.cgi?id=50801
      
              "missing bug number" (Requested by rniwa on #webkit).
      
              * fast/events/crash-on-mutate-during-drop.html:
              * fast/events/scoped/editing-commands-expected.txt: Removed.
              * fast/events/scoped/editing-commands.html: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73689 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a796035
  5. 09 Dec, 2010 2 commits
    • rniwa@webkit.org's avatar
      2010-12-09 Ryosuke Niwa <rniwa@webkit.org> · 59951184
      rniwa@webkit.org authored
              Reviewed by Ojan Vafai.
      
              Implemented DOM mutations events as scoped events. A scoped event is an event whose
              dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
              EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
              on its constructor and destructor respectively.
      
              When the scoping level is 0 (initial level), scoped events are dispatched as soon as
              they are enqueued and act like synchronous events. When the scoping level is greater than 0,
              however, events are queued in ScopedEventQueue and their dispatches are delayed until
              the scoping level goes back to 0 (by the destruction of EventQueueScope).
      
              DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
              DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
              scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
              of the events until the completion of each call of EditCommand::doApply.
      
              Test: fast/events/mutation/execCommands.html
      
              * Android.mk: Added ScopedEventQueue.cpp.
              * CMakeLists.txt: Ditto.
              * WebCore.pro: Ditto.
              * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
              * WebCore.gypi:  Ditto.
              * WebCore.vcproj/project.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * dom/ContainerNode.cpp:
              (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
              (WebCore::dispatchChildRemovalEvents): Ditto.
              * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
              * dom/Element.cpp:
              (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 
              (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
              * dom/Node.cpp:
              (WebCore::Node::dispatchScopedEvent): Added.
              (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
              * dom/Node.h:
              * dom/ScopedEventQueue.cpp: Added.
              (WebCore::ScopedEventQueue::initialize): Added.
              (WebCore::ScopedEventQueue::enqueueEvent): Added.
              (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
              (WebCore::ScopedEventQueue::dispatchEvent): Added.
              (WebCore::ScopedEventQueue::instance): Added.
              (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
              (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
              * dom/ScopedEventQueue.h: Added.
              (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
              (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
              (WebCore::EventQueueScope::EventQueueScope): Added.
              (WebCore::EventQueueScope::~EventQueueScope): Added.
              * editing/EditCommand.cpp:
              (WebCore::EditCommand::apply): Instantiates EventQueueScope.
      2010-12-09  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Ojan Vafai.
      
              Added a test to ensure no DOM mutation events are fired while execCommand is in progress.
      
              * fast/events/crash-on-mutate-during-drop.html: DOMNodeInserted is fired after BR is detached
              from the document, and can't be observed. Modify the DOM when text node is inserted.
              * fast/events/mutation: Added.
              * fast/events/mutation/execCommands.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59951184
    • kbr@google.com's avatar
      2010-12-09 Kenneth Russell <kbr@google.com> · 36191196
      kbr@google.com authored
              Unreviewed. Speculative Gtk build fix after
              https://bugs.webkit.org/show_bug.cgi?id=36512 / r73669. Process
              all of the WebGL classes' IDL files.
      
              * CMakeLists.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36191196
  6. 08 Dec, 2010 1 commit
    • bweinstein@apple.com's avatar
      Layering Violation in ContextMenu - member variable of type HitTestResult · ff7b94c4
      bweinstein@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=50586
              
      Reviewed by John Sullivan.
      
      WebCore: 
      
      ContextMenu had a layering violation by having a member variable of type HitTestResult, because
      classes in WebCore/platform can't know about classes in WebCore.
              
      This patch moves the HitTestResult and all functions that use it out of ContextMenu into ContextMenuController.
      All of the functions that dealt with populating the ContextMenu are now in ContextMenuController, and this
      allowed us to delete the ContextMenu file, putting all of the cross-platform code that used to be it
      in ContextMenuController, and the rest of the code is in the platform-specific files.
      
      No change in behavior, no new tests.
      
      * Android.mk: Removed ContextMenu.cpp.
      * CMakeLists.txt: Ditto.
      * GNUmakefile.am: Ditto.
      * WebCore.gypi: Ditto.
      * WebCore.pro: Ditto.
      * WebCore.vcproj/WebCore.vcproj: Ditto.
      * WebCore.xcodeproj/project.pbxproj: Ditto.
      
      * page/ContextMenuController.cpp:
      (WebCore::ContextMenuController::ContextMenuController): Initialized m_hitTestResult to an empty HitTestResult.
      (WebCore::ContextMenuController::handleContextMenuEvent): Call populate on the ContextMenuController instead
          of the ContextMenu.
      (WebCore::ContextMenuController::createContextMenu): Fix some indination, and store the HitTestResult in a member
          variable.
      (WebCore::ContextMenuController::showContextMenu): Call addInspectElementItem on the ContextMenuController.
      (WebCore::ContextMenuController::contextMenuItemSelected): Use m_hitTestResult whenever we need a HitTestResult.
      (WebCore::ContextMenuController::appendItem): Validates the item for its state, and then appends it to the parent menu.
          This allowed us to move checkOrEnableIfNeeded from ContextMenu.
      
      These functions were all moved from ContextMenu, and changed slightly to fit in ContextMenuController.
      All calls to ContextMenu::appendItem were changed to ContextMenuController::appendItem, which takes care
      of validating the menu.
      (WebCore::separatorItem): Moved from ContextMenu.
      (WebCore::ContextMenuController::createAndAppendFontSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendSpeechSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendWritingDirectionSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendTextDirectionSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendSubstitutionsSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendTransformationsSubMenu): Ditto.
      (WebCore::selectionContainsPossibleWord): Ditto.
      (WebCore::ContextMenuController::populate): Ditto.
      (WebCore::ContextMenuController::addInspectElementItem): Ditto.
      (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto.
              
      * page/ContextMenuController.h:
      (WebCore::ContextMenuController::hitTestResult): Returns the HitTestResult of the current ContextMenu.
      
      * platform/ContextMenu.cpp: Removed.
      * platform/ContextMenu.h:
      * platform/efl/ContextMenuEfl.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
      * platform/gtk/ContextMenuGtk.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::appendItem): Ditto.
      * platform/haiku/ContextMenuHaiku.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::appendItem): Ditto.
      (WebCore::ContextMenu::insertItem): Ditto.
      * platform/mac/ContextMenuMac.mm:
      (-[WebCoreMenuTarget validateMenuItem:]): Calls checkOrEnableIfNeeded on the controller instead of
          the context menu.
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
      (WebCore::ContextMenu::insertItem): Ditto.
      * platform/win/ContextMenuWin.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::insertItem): Removed the call to checkOrEnableIfNeeded.
      * platform/wx/ContextMenuWx.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (ContextMenu::appendItem): Ditto.
      
      WebKit/chromium: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * src/ContextMenuClientImpl.cpp:
      (WebKit::selectMisspelledWord):
      (WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
      
      WebKit/gtk: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * WebCoreSupport/ContextMenuClientGtk.cpp:
      (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems):
      
      WebKit/mac: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * WebCoreSupport/WebContextMenuClient.mm:
      (WebContextMenuClient::getCustomMenuFromDefaultItems):
      (WebContextMenuClient::contextMenuItemSelected):
      * WebView/WebHTMLView.mm:
      (-[WebMenuTarget validateMenuItem:]):
      
      WebKit/qt: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * Api/qwebpage.cpp:
      (QWebPagePrivate::createContextMenu):
      (QWebPage::updatePositionDependentActions):
      
      WebKit/win: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * WebCoreSupport/WebContextMenuClient.cpp:
      (WebContextMenuClient::getCustomMenuFromDefaultItems): Get the HitTestResult and ContextMenu from the 
          ContextMenuController (from the page).
      (WebContextMenuClient::contextMenuItemSelected): Get the HitTestResult from the ContextMenuController.
      * WebView.cpp:
      (WebView::handleContextMenuEvent): Ditto.
      
      WebKit2: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * Shared/WebContextMenuItemData.cpp:
      (WebKit::WebContextMenuItemData::WebContextMenuItemData): Remove the call to checkOrEnableItem, that call will be made when
          the ContextMenuItem is added to the ContextMenu through the ContextMenuController.
      * WebProcess/WebPage/WebContextMenu.cpp:
      (WebKit::WebContextMenu::show):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff7b94c4
  7. 07 Dec, 2010 2 commits
    • paroga@webkit.org's avatar
      2010-12-07 Patrick Gansterer <paroga@webkit.org> · 4f8a599d
      paroga@webkit.org authored
              Reviewed by Andreas Kling.
      
              [CMake] Remove WebKitGenerators
              https://bugs.webkit.org/show_bug.cgi?id=50445
      
              * CMakeLists.txt:
              * cmake/WebKitGenerators.cmake: Removed.
      2010-12-07  Patrick Gansterer  <paroga@webkit.org>
      
              Reviewed by Andreas Kling.
      
              [CMake] Remove WebKitGenerators
              https://bugs.webkit.org/show_bug.cgi?id=50445
      
              Move remaining logic into main CMakeLists.txt.
      
              * CMakeLists.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4f8a599d
    • tkent@chromium.org's avatar
      2010-12-07 Kenichi Ishibashi <bashi@google.com> · 995765c6
      tkent@chromium.org authored
              Reviewed by Kent Tamura.
      
              Let HTMLObjectElement be a form associated element
              https://bugs.webkit.org/show_bug.cgi?id=48821
      
              Introduces FormAssociatedElement class which would be a super class
              of form assocated elements. Some of member functions and variables of
              HTMLFormControlElement are migrated into this class.
              Following the HTML5 spec, HTMLFormControlElement class and
              HTMLObjectElement class are subclasses of it for now.
      
              Test: fast/forms/form-collection-elements-order.html
      
              * Android.mk: Added FormAssociatedElement.cpp
              * CMakeLists.txt: Ditto.
              * GNUmakefile.am: Added FormAssociatedElement.{cpp,h}
              * WebCore.exp.in: Added the symbol for toHTMLElement(FormAssociatedElement*)
              * WebCore.gypi: Added FormAssociatedElement.{cpp,h}
              * WebCore.pro: Ditto.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * dom/CheckedRadioButtons.h: Fixed class forward declaration order.
              * dom/Document.cpp:
              (WebCore::Document::registerFormElementWithFormAttribute): Modified to
              use FormAssociatedElement instead of HTMLFormControlElement
              (WebCore::Document::unregisterFormElementWithFormAttribute): Ditto.
              (WebCore::Document::resetFormElementsOwner):
              * dom/Document.h: Ditto.
              * html/DOMFormData.cpp: Ditto.
              (WebCore::DOMFormData::DOMFormData):
              * html/FormAssociatedElement.cpp: Copied and renamed from WebCore/html/HTMLFormControlElement.cpp.
              (WebCore::FormAssociatedElement::FormAssociatedElement):
              (WebCore::FormAssociatedElement::~FormAssociatedElement):
              (WebCore::FormAssociatedElement::validity):
              (WebCore::FormAssociatedElement::insertedIntoTree):
              (WebCore::FormAssociatedElement::removedFromTree):
              (WebCore::FormAssociatedElement::removeFromForm):
              (WebCore::FormAssociatedElement::resetFormOwner):
              (WebCore::FormAssociatedElement::formAttributeChanged):
              (WebCore::toHTMLElement):
              * html/FormAssociatedElement.h: Ditto.
              (WebCore::FormAssociatedElement::ref):
              (WebCore::FormAssociatedElement::deref):
              (WebCore::FormAssociatedElement::formDestroyed):
              (WebCore::FormAssociatedElement::setForm):
              * html/HTMLElement.h: Changed the access level of findFormAncestor().
              * html/HTMLFormCollection.cpp:
              (WebCore::HTMLFormCollection::item): Modified to use FormAssociatedElement
              instead of HTMLFormControlElement.
              (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
              (WebCore::HTMLFormCollection::updateNameCache): Ditto.
              * html/HTMLFormControlElement.cpp: Modified regarding with the change of class
              hierarchy.
              (WebCore::HTMLFormControlElement::HTMLFormControlElement):
              (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
              (WebCore::HTMLFormControlElement::insertedIntoTree):
              (WebCore::HTMLFormControlElement::removedFromTree):
              (WebCore::HTMLFormControlElement::supportsFocus):
              (WebCore::HTMLFormControlElement::checkValidity):
              (WebCore::HTMLFormControlElement::virtualForm):
              (WebCore::HTMLFormControlElement::isDefaultButtonForForm):
              (WebCore::HTMLFormControlElement::attributeChanged):
              * html/HTMLFormControlElement.h: Ditto.
              (WebCore::HTMLFormControlElement::form):
              (WebCore::HTMLFormControlElement::disabled):
              (WebCore::HTMLFormControlElement::type):
              (WebCore::HTMLFormControlElement::refFormAssociatedElement):
              (WebCore::HTMLFormControlElement::derefFormAssociatedElement):
              * html/HTMLFormElement.cpp: Modified to use FormAssociatedElement
              instead of HTMLFormControlElement.
              (WebCore::HTMLFormElement::submitImplicitly):
              (WebCore::HTMLFormElement::validateInteractively):
              (WebCore::HTMLFormElement::submit):
              (WebCore::HTMLFormElement::reset):
              (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
              (WebCore::HTMLFormElement::formElementIndex):
              (WebCore::HTMLFormElement::registerFormElement):
              (WebCore::HTMLFormElement::removeFormElement):
              (WebCore::HTMLFormElement::defaultButton):
              (WebCore::HTMLFormElement::checkValidity):
              (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
              (WebCore::HTMLFormElement::documentDidBecomeActive):
              * html/HTMLFormElement.h: Ditto.
              (WebCore::HTMLFormElement::associatedElements):
              * html/HTMLInputElement.cpp: Ditto.
              (WebCore::HTMLInputElement::updateCheckedRadioButtons):
              * html/HTMLObjectElement.cpp: Modified regarding with the change of class
              hierarchy.
              (WebCore::HTMLObjectElement::HTMLObjectElement):
              (WebCore::HTMLObjectElement::~HTMLObjectElement):
              (WebCore::HTMLObjectElement::create):
              (WebCore::HTMLObjectElement::attributeChanged):
              (WebCore::HTMLObjectElement::insertedIntoTree):
              (WebCore::HTMLObjectElement::removedFromTree):
              (WebCore::HTMLObjectElement::appendFormData):
              (WebCore::HTMLObjectElement::formControlName):
              * html/HTMLObjectElement.h: Ditto.
              (WebCore::HTMLObjectElement::form):
              (WebCore::HTMLObjectElement::isFormControlElement):
              (WebCore::HTMLObjectElement::isEnumeratable):
              (WebCore::HTMLObjectElement::refFormAssociatedElement):
              (WebCore::HTMLObjectElement::derefFormAssociatedElement):
              * html/HTMLTagNames.in: Added constructorNeedsFormElement to object tag.
              * html/ValidationMessage.cpp: Modified to use FormAssociatedElement
              instead of HTMLFormControlElement.
              (WebCore::ValidationMessage::ValidationMessage):
              (WebCore::ValidationMessage::create):
              * html/ValidationMessage.h: Ditto.
              * html/ValidityState.cpp: Ditto.
              (WebCore::ValidityState::validationMessage):
              (WebCore::ValidityState::setCustomErrorMessage):
              (WebCore::ValidityState::valueMissing):
              (WebCore::ValidityState::typeMismatch):
              (WebCore::ValidityState::patternMismatch):
              (WebCore::ValidityState::tooLong):
              (WebCore::ValidityState::rangeUnderflow):
              (WebCore::ValidityState::rangeOverflow):
              (WebCore::ValidityState::stepMismatch):
              * html/ValidityState.h: Ditto.
              (WebCore::ValidityState::create):
              (WebCore::ValidityState::ValidityState):
              * loader/FormSubmission.cpp: Ditto.
              (WebCore::FormSubmission::create):
      
      2010-12-07  Kenichi Ishibashi  <bashi@google.com>
      
              Reviewed by Kent Tamura.
      
              Let HTMLObjectElement be a form associated element
              https://bugs.webkit.org/show_bug.cgi?id=48821
      
              Modified to use FormAssociatedElement instead of HTMLFormControlElement.
      
              * src/WebFormElement.cpp: 
              (WebKit::WebFormElement::getFormControlElements): Modified to use
              FormAssociatedElement instead of HTMLFormControlElement.
              * src/WebPasswordFormUtils.cpp:
              (WebKit::findPasswordFormFields): Ditto.
              * src/WebSearchableFormData.cpp:
              (WebCore::GetButtonToActivate): Ditto.
              (WebCore::HasSuitableTextElement): Ditto.
      
      2010-12-07  Kenichi Ishibashi  <bashi@google.com>
      
              Reviewed by Kent Tamura.
      
              Let HTMLObjectElement be a form associated element
              https://bugs.webkit.org/show_bug.cgi?id=48821
      
              Modified to use FormAssociatedElement instead of HTMLFormControlElement.
      
              * WebFrame.cpp:
              (WebFrame::elementWithName): Modified to use FormAssociatedElement
              instead of HTMLFormControlElement.
              (WebFrame::controlsInForm): Ditto.
      
      2010-12-07  Kenichi Ishibashi  <bashi@google.com>
      
              Reviewed by Kent Tamura.
      
              Let HTMLObjectElement be a form associated element
              https://bugs.webkit.org/show_bug.cgi?id=48821
      
              Modified to use FormAssociatedElement instead of HTMLFormControlElement.
      
              * WebView/WebHTMLRepresentation.mm:
              (-[WebHTMLRepresentation elementWithName:inForm:]): Modified to use
              FormAssociatedElement instead of HTMLFormControlElement.
              (-[WebHTMLRepresentation controlsInForm:]): Ditto.
      
      2010-12-07  Kenichi Ishibashi  <bashi@google.com>
      
              Reviewed by Kent Tamura.
      
              Let HTMLObjectElement be a form associated element
              https://bugs.webkit.org/show_bug.cgi?id=48821
      
              Adds a test to ensure the order of form.elements attribute.
              Updates two tests to check whether object elements are handled
              correctly in form.elements attribute.
      
              * fast/forms/form-attribute-expected.txt: Updated.
              * fast/forms/form-collection-elements-order-expected.txt: Added.
              * fast/forms/form-collection-elements-order.html: Added.
              * fast/forms/script-tests/form-attribute.js: Updated.
              * fast/forms/script-tests/form-collection-elements-order.js: Added.
              (checkOrder):
              * fast/forms/script-tests/form-collection-elements.js: Updated.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      995765c6
  8. 05 Dec, 2010 1 commit
    • luiz@webkit.org's avatar
      2010-11-30 Luiz Agostini <luiz.agostini@openbossa.org> · b1deeffb
      luiz@webkit.org authored
              Reviewed by Darin Adler.
      
              HTML5 <details> and <summary> initial implementation
              https://bugs.webkit.org/show_bug.cgi?id=50309
      
              HTML5 <details> and <summary> elements initial implementation. The main objective is
              to add the files for html element and renderers, and to get rid of build system issues
              in future patches.
      
              See: http://www.w3.org/TR/html5/interactive-elements.html#the-details-element
                   http://www.w3.org/TR/html5/interactive-elements.html#the-summary-element
      
              build systems
      
              * CMakeLists.txt:
              * DerivedSources.cpp:
              * DerivedSources.make:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pri:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/gobject/GNUmakefile.am:
      
              Some css properties to the new html elements.
      
              * css/html.css:
              (details):
              (summary):
      
              New html element associated with the corresponding tag.
      
              * html/HTMLAttributeNames.in:
              * html/HTMLTagNames.in:
      
              1 html element and 3 renderers were added.
      
              * html/HTMLDetailsElement.cpp: Added.
              * html/HTMLDetailsElement.h: Added.
              * html/HTMLDetailsElement.idl: Added.
              * html/HTMLElementsAllInOne.cpp:
              * rendering/RenderDetails.cpp: Added.
              * rendering/RenderDetails.h: Added.
              * rendering/RenderDetailsMarker.cpp: Added.
              * rendering/RenderDetailsMarker.h: Added.
              * rendering/RenderSummary.cpp: Added.
              * rendering/RenderSummary.h: Added.
              * rendering/RenderingAllInOne.cpp:
      
              New renderer type checkers.
      
              * rendering/RenderObject.h:
              (WebCore::RenderObject::isDetails):
              (WebCore::RenderObject::isDetailsMarker):
              (WebCore::RenderObject::isSummary):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b1deeffb
  9. 03 Dec, 2010 4 commits
  10. 02 Dec, 2010 1 commit
    • apavlov@chromium.org's avatar
      2010-12-01 Alexander Pavlov <apavlov@chromium.org> · 0c63b63d
      apavlov@chromium.org authored
              Reviewed by Yury Semikhatsky.
      
              Web Inspector: Remove obsolete CSS backend API from InspectorDOMAgent
              https://bugs.webkit.org/show_bug.cgi?id=50318
      
              WebCore:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.order:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * inspector/Inspector.idl:
              * inspector/InspectorCSSAgent.h:
              * inspector/InspectorCSSStore.cpp: Removed.
              * inspector/InspectorCSSStore.h: Removed.
              * inspector/InspectorController.cpp:
              (WebCore::InspectorController::InspectorController):
              (WebCore::InspectorController::connectFrontend):
              (WebCore::InspectorController::didCommitLoad):
              * inspector/InspectorController.h:
              * inspector/InspectorDOMAgent.cpp:
              (WebCore::InspectorDOMAgent::InspectorDOMAgent):
              (WebCore::InspectorDOMAgent::unbind):
              * inspector/InspectorDOMAgent.h:
              (WebCore::InspectorDOMAgent::create):
      
              LayoutTests:
              * inspector/styles-iframe.html:
              * inspector/styles-source-lines.html:
              * inspector/styles-source-offsets-expected.txt:
              * inspector/styles-source-offsets.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c63b63d
  11. 01 Dec, 2010 1 commit
  12. 30 Nov, 2010 2 commits
  13. 24 Nov, 2010 2 commits
    • jianli@chromium.org's avatar
      Implement DataView interface from Typed Array specification · 3cbb559a
      jianli@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=46541
      
      Reviewed by Kenneth Russell.
      
      WebCore:
      
      Test: fast/canvas/webgl/data-view-test.html
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * GNUmakefile.am:
      * WebCore.gypi:
      * WebCore.pri:
      * WebCore.pro:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/generic/RuntimeEnabledFeatures.h:
      (WebCore::RuntimeEnabledFeatures::dataViewEnabled):
      * bindings/js/JSArrayBufferViewHelper.h:
      (WebCore::constructArrayBufferViewWithArrayBufferArgument):
      (WebCore::constructArrayBufferView):
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::dataView):
      * bindings/js/JSDataViewCustom.cpp: Added.
      * bindings/js/JSFloat32ArrayCustom.cpp:
      (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
      * bindings/js/JSInt16ArrayCustom.cpp:
      (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
      * bindings/js/JSInt32ArrayCustom.cpp:
      (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
      * bindings/js/JSInt8ArrayCustom.cpp:
      (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
      * bindings/js/JSUint16ArrayCustom.cpp:
      (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
      * bindings/js/JSUint32ArrayCustom.cpp:
      (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
      * bindings/js/JSUint8ArrayCustom.cpp:
      (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
      * bindings/v8/custom/V8ArrayBufferViewCustom.h:
      (WebCore::constructWebGLArrayWithArrayBufferArgument):
      (WebCore::constructWebGLArray):
      * bindings/v8/custom/V8DataViewCustom.cpp: Added.
      * html/canvas/ArrayBufferView.h:
      (WebCore::ArrayBufferView::isDataView):
      * html/canvas/DataView.cpp: Added.
      * html/canvas/DataView.h: Added.
      * html/canvas/DataView.idl: Added.
      * page/DOMWindow.idl:
      
      LayoutTests:
      
      Add a new test for testing DataView interface. Also update some tests
      to exclude DataView property from being tested because it is not
      exposed to all platforms.
      
      * fast/canvas/webgl/data-view-test-expected.txt: Added.
      * fast/canvas/webgl/data-view-test.html: Added.
      * fast/dom/Window/script-tests/window-property-descriptors.js:
      * fast/dom/Window/window-properties.html:
      * fast/dom/script-tests/prototype-inheritance-2.js:
      (constructorNamesForWindow):
      * fast/dom/script-tests/prototype-inheritance.js:
      * fast/js/script-tests/global-constructors.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72718 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3cbb559a
    • commit-queue@webkit.org's avatar
      2010-11-24 Eric Uhrhane <ericu@chromium.org> · 61c3288f
      commit-queue@webkit.org authored
              Reviewed by David Levin.
      
              Implement FileWriterSync
              https://bugs.webkit.org/show_bug.cgi?id=49939
      
              Tests to follow in a separate CL, once the test framework in 47680 goes in.
      
              Build file changes to add FileWriterBase and FileWriterBaseCallback.
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
      
              FileWriterSync doesn't turn out to need to be an ActiveDOMObject.
              * bindings/scripts/CodeGeneratorV8.pm:
      
              Added new AsyncFileWriter::waitForOperationToComplete to enable
              synchronous calls.
              * fileapi/AsyncFileWriter.h:
      
              Added a way to get a FileSystemSync.
              * fileapi/DOMFileSystemSync.cpp:
              * fileapi/FileEntrySync.cpp:
              * fileapi/FileEntrySync.h:
              * fileapi/FileEntrySync.idl:
      
              Added an error code for OK, rather than just having 0 everywhere.
              * fileapi/FileError.h:
      
              Turned FileWriterCallback into FileWriterBaseCallback.
              * fileapi/FileSystemCallbacks.cpp:
              * fileapi/FileSystemCallbacks.h:
      
              Refactored out a common base class, FileWriterBase, for FileWriter and
              FileWriterSync.
              * fileapi/FileWriter.cpp:
              * fileapi/FileWriter.h:
              * fileapi/FileWriterBase.cpp: Added.
              * fileapi/FileWriterBase.h: Added.
              * fileapi/FileWriterBaseCallback.h: Added.
              * fileapi/FileWriterSync.cpp:
              * fileapi/FileWriterSync.h:
      
              Small tweaks to deal with the base class refactoring.
              * fileapi/DOMFileSystem.cpp:
              * fileapi/DOMFileSystemSync.h:
      
              Removed "CallWith=ScriptExecutionContext", as FileWriterSync doesn't actually need it.
              * fileapi/FileWriterSync.idl:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72715 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      61c3288f
  14. 23 Nov, 2010 2 commits
    • satish@chromium.org's avatar
      2010-11-18 Satish Sampath <satish@chromium.org> · a739a241
      satish@chromium.org authored
              Reviewed by Jeremy Orlow.
      
              For speech input event, send an event object containing all the recognition results and metadata.
              https://bugs.webkit.org/show_bug.cgi?id=49736
      
              * fast/speech/input-onspeechchange-event-expected.txt: Added.
              * fast/speech/input-onspeechchange-event.html: New test to check multiple results.
              * fast/speech/input-text-language-tag.html: Updated with new method signature.
              * fast/speech/input-text-speechbutton.html: Ditto.
              * fast/speech/speech-button-ignore-generated-events.html: Ditto.
      2010-11-18  Satish Sampath  <satish@chromium.org>
      
              Reviewed by Jeremy Orlow.
      
              For speech input event, send an event object containing all the recognition results and metadata.
              https://bugs.webkit.org/show_bug.cgi?id=49736
      
              Currently the speech input event 'onwebkitspeechchange' receives no parameters. WebCore already
              has the full list of recognition results and populates only the top result into the input field
              automatically. In this patch we pass a SpeechInputEvent object to the event handler, and the JS
              code can access the full list of results via "event.results.length", "results[i].utterance" and
              "results[i].confidence". Also updated mock object with appropriate methods to test multiple results.
      
              Test: fast/speech/input-onspeechchange-event.html
      
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pri:
              * WebCore.pro:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSEventCustom.cpp:
              (WebCore::toJS): Added new event
              * bindings/v8/custom/V8EventCustom.cpp:
              (WebCore::toV8): Added new event
              * dom/Event.cpp:
              (WebCore::Event::isSpeechInputEvent):
              * dom/Event.h:
              * html/HTMLInputElement.cpp:
              * html/HTMLInputElement.h:
              * page/SpeechInputEvent.h: New file implementing SpeechInputEvent.idl
              (WebCore::SpeechInputEvent::~SpeechInputEvent):
              (WebCore::SpeechInputEvent::create):
              (WebCore::SpeechInputEvent::isSpeechInputEvent):
              (WebCore::SpeechInputEvent::results):
              (WebCore::SpeechInputEvent::SpeechInputEvent):
              * page/SpeechInputEvent.idl: New file defining SpeechInputEvent object
              * page/SpeechInputListener.h:
              * page/SpeechInputResult.cpp:
              (WebCore::SpeechInputResult::create):
              * page/SpeechInputResult.h:
              * page/SpeechInputResult.idl: New file defining a single SpeechInputResult object
              * page/SpeechInputResultList.h: New file implementing SpeechInputResultList.idl
              (WebCore::SpeechInputResultList::create):
              (WebCore::SpeechInputResultList::length):
              (WebCore::SpeechInputResultList::item):
              (WebCore::SpeechInputResultList::SpeechInputResultList):
              * page/SpeechInputResultList.idl: New file defining a list of SpeechInputResult objects
              * platform/mock/SpeechInputClientMock.cpp:
              (WebCore::SpeechInputClientMock::addRecognitionResult): Renamed method and added one parameter.
              (WebCore::SpeechInputClientMock::clearResults):
              (WebCore::SpeechInputClientMock::timerFired):
              * platform/mock/SpeechInputClientMock.h:
              * rendering/TextControlInnerElements.cpp:
              (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Pass new event object to handler.
      2010-11-18  Satish Sampath  <satish@chromium.org>
      
              Reviewed by Jeremy Orlow.
      
              For speech input event, send an event object containing all the recognition results and metadata.
              https://bugs.webkit.org/show_bug.cgi?id=49736
      
              Updated mock object's method to new signature.
      
              * public/WebSpeechInputControllerMock.h:
              * src/WebSpeechInputControllerMockImpl.cpp:
              (WebKit::WebSpeechInputControllerMockImpl::addMockRecognitionResult):
              * src/WebSpeechInputControllerMockImpl.h:
      2010-11-18  Satish Sampath  <satish@chromium.org>
      
              Reviewed by Jeremy Orlow.
      
              For speech input event, send an event object containing all the recognition results and metadata.
              https://bugs.webkit.org/show_bug.cgi?id=49736
      
              Updated DRT by renaming the mock result method on all platforms to the new signature.
      
              * DumpRenderTree/LayoutTestController.cpp:
              (addMockSpeechInputResultCallback):
              (LayoutTestController::staticFunctions):
              * DumpRenderTree/LayoutTestController.h:
              * DumpRenderTree/chromium/LayoutTestController.cpp:
              (LayoutTestController::LayoutTestController):
              (LayoutTestController::addMockSpeechInputResult):
              * DumpRenderTree/chromium/LayoutTestController.h:
              * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
              (LayoutTestController::addMockSpeechInputResult):
              * DumpRenderTree/mac/LayoutTestControllerMac.mm:
              (LayoutTestController::addMockSpeechInputResult):
              * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
              (LayoutTestController::addMockSpeechInputResult):
              * DumpRenderTree/qt/LayoutTestControllerQt.h:
              * DumpRenderTree/win/LayoutTestControllerWin.cpp:
              (LayoutTestController::addMockSpeechInputResult):
              * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
              (LayoutTestController::addMockSpeechInputResult):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a739a241
    • ap@apple.com's avatar
      Reviewed by Darin Adler. · 31bdf571
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=49860
              CSS style rules don't GC protect objects reachable as their properties
      
              Test: fast/dom/StyleSheet/gc-rule-children-wrappers.html
      
              * Android.jscbindings.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSBindingsAllInOne.cpp:
              Added new files, sorted appropriate sections for easier adding.
      
              * bindings/js/JSCSSFontFaceRuleCustom.cpp: Added.
              (WebCore::JSCSSFontFaceRule::markChildren):
              * bindings/js/JSCSSImportRuleCustom.cpp: Added.
              (WebCore::JSCSSImportRule::markChildren):
              * bindings/js/JSCSSMediaRuleCustom.cpp: Added.
              (WebCore::JSCSSMediaRule::markChildren):
              * bindings/js/JSCSSPageRuleCustom.cpp: Added.
              (WebCore::JSCSSPageRule::markChildren):
              * bindings/js/JSCSSStyleRuleCustom.cpp: Added.
              (WebCore::JSCSSStyleRule::markChildren):
              * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Added.
              (WebCore::JSWebKitCSSKeyframeRule::markChildren):
              * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Added.
              (WebCore::JSWebKitCSSKeyframesRule::markChildren):
              Mark objects reachable through these ones.
      
              * css/CSSFontFaceRule.idl:
              * css/CSSImportRule.idl:
              * css/CSSMediaRule.idl:
              * css/CSSPageRule.idl:
              * css/CSSStyleRule.idl:
              * css/WebKitCSSKeyframeRule.idl:
              * css/WebKitCSSKeyframesRule.idl:
              Added CustomMarkFunction IDL attribute.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      31bdf571
  15. 22 Nov, 2010 2 commits
    • commit-queue@webkit.org's avatar
      2010-11-22 John Knottenbelt <jknotten@chromium.org> · 1eb6bc1e
      commit-queue@webkit.org authored
              Reviewed by Steve Block.
      
              Implement mocks for client-based Geolocation.
              https://bugs.webkit.org/show_bug.cgi?id=49258
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * platform/mock/GeolocationClientMock.cpp: Added.
              (WebCore::GeolocationClientMock::GeolocationClientMock):
              (WebCore::GeolocationClientMock::~GeolocationClientMock):
              (WebCore::GeolocationClientMock::setController):
              (WebCore::GeolocationClientMock::setPosition):
              (WebCore::GeolocationClientMock::setError):
              (WebCore::GeolocationClientMock::geolocationDestroyed):
              (WebCore::GeolocationClientMock::startUpdating):
              (WebCore::GeolocationClientMock::stopUpdating):
              (WebCore::GeolocationClientMock::setEnableHighAccuracy):
              (WebCore::GeolocationClientMock::lastPosition):
              (WebCore::GeolocationClientMock::timerFired):
              (WebCore::GeolocationClientMock::makeGeolocationCallback):
              * platform/mock/GeolocationClientMock.h: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72581 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1eb6bc1e
    • luiz@webkit.org's avatar
      2010-10-21 Luiz Agostini <luiz.agostini@openbossa.org> · db0dd431
      luiz@webkit.org authored
              Reviewed by Darin Adler.
      
              Implement CSSOM View matchMedia interface
              https://bugs.webkit.org/show_bug.cgi?id=37205
      
              New property matchMedia was added to window.
      
              * fast/dom/Window/window-properties-expected.txt:
              * fast/dom/Window/window-property-descriptors-expected.txt:
      
              window.matchMedia and MediaQueryList tests.
      
              * fast/media/media-query-list-01-expected.txt: Added.
              * fast/media/media-query-list-01.html: Added.
      
              The following tests depend on LayoutTestController::setViewModeMediaFeature() to work.
              As it is only implemented by Qt and Gtk the tests needed to be skipped in all other platforms.
      
              * fast/media/media-query-list-02-expected.txt: Added.
              * fast/media/media-query-list-02.html: Added.
              * fast/media/media-query-list-03-expected.txt: Added.
              * fast/media/media-query-list-03.html: Added.
              * fast/media/media-query-list-04-expected.txt: Added.
              * fast/media/media-query-list-04.html: Added.
              * fast/media/media-query-list-05-expected.txt: Added.
              * fast/media/media-query-list-05.html: Added.
              * fast/media/media-query-list-06-expected.txt: Added.
              * fast/media/media-query-list-06.html: Added.
              * fast/media/media-query-list-07-expected.txt: Added.
              * fast/media/media-query-list-07.html: Added.
              * platform/chromium/test_expectations.txt:
              * platform/mac/Skipped:
              * platform/win/Skipped:
      2010-10-21  Luiz Agostini  <luiz.agostini@openbossa.org>
      
              Reviewed by Darin Adler.
      
              Implement CSSOM View matchMedia interface
              https://bugs.webkit.org/show_bug.cgi?id=37205
      
              New interfaces may be used to evaluate media queries and to associate listeners
              to media queries. Those listeners are called whenever the associated query changes.
              Specification may be found at http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface
      
              operator== added to JS version of ScriptValue.
              Method isFunction added to JS and V8 versions of ScriptValue.
      
              * bindings/js/ScriptValue.cpp:
              (WebCore::ScriptValue::isFunction):
              * bindings/js/ScriptValue.h:
              (WebCore::ScriptValue::operator==):
              * bindings/v8/ScriptValue.h:
              (WebCore::ScriptValue::isFunction):
      
              Some changes were needed to the code generators to handle type MediaQueryListListener.
      
              * bindings/scripts/CodeGeneratorGObject.pm:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bindings/scripts/CodeGeneratorV8.pm:
      
              Some changes to the bindings test results that were previously added.
      
              * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
              * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
              * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
              (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
              * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
              (WebCore::TestMediaQueryListListenerInternal::methodCallback):
              (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
      
              New interfaces:
      
              * css/MediaQueryList.cpp: Added.
              * css/MediaQueryList.h: Added.
              * css/MediaQueryList.idl: Added.
      
              * css/MediaQueryListListener.cpp: Added.
              * css/MediaQueryListListener.h: Added.
              * css/MediaQueryListListener.idl: Added.
      
              To avoid adding code to classes DOMWindow and Document a new class MediaQueryMatcher was created.
      
              * css/MediaQueryMatcher.cpp: Added.
              * css/MediaQueryMatcher.h: Added.
      
              Document and DOMWindow have changed to support new features. DOMWindow is the class that
              publishes methods matchMedia but for page cache to work properly the reference to the
              MediaQueryMatcher must be in Document.
      
              * dom/Document.cpp:
              (WebCore::Document::~Document):
              (WebCore::Document::mediaQueryMatcher):
              (WebCore::Document::styleSelectorChanged):
              * dom/Document.h:
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::matchMedia):
              * page/DOMWindow.h:
              * page/DOMWindow.idl:
      
              Build systems
      
              * CMakeLists.txt:
              * DerivedSources.make:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pri:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/gobject/GNUmakefile.am:
      
              Tests: fast/media/media-query-list-01.html
                     fast/media/media-query-list-02.html
                     fast/media/media-query-list-03.html
                     fast/media/media-query-list-04.html
                     fast/media/media-query-list-05.html
                     fast/media/media-query-list-06.html
                     fast/media/media-query-list-07.html
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72552 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      db0dd431
  16. 19 Nov, 2010 1 commit
    • zimmermann@webkit.org's avatar
      2010-11-19 Nikolas Zimmermann <nzimmermann@rim.com> · 673f8222
      zimmermann@webkit.org authored
              Reviewed by Dirk Schulze.
      
              Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
              https://bugs.webkit.org/show_bug.cgi?id=49580
      
              SVGPathElement.cloneNode loses generated pathSegList
              https://bugs.webkit.org/show_bug.cgi?id=43388
      
              SVG Path elements are not correctly updated through pathSegList manipulation on relative values
              https://bugs.webkit.org/show_bug.cgi?id=30219
      
              Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
              https://bugs.webkit.org/show_bug.cgi?id=19741
      
              SVGPathElement should only build SVGPathSeg* list on demand
              https://bugs.webkit.org/show_bug.cgi?id=10827
      
              Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
                     svg/dom/SVGPathSegList-appendItem.xhtml
                     svg/dom/SVGPathSegList-clear-and-initialize.xhtml
                     svg/dom/SVGPathSegList-cloning.html
                     svg/dom/SVGPathSegList-insertItemBefore.xhtml
                     svg/dom/SVGPathSegList-removeItem.xhtml
                     svg/dom/SVGPathSegList-replaceItem.xhtml
                     svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
                     svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
                     svg/dom/SVGPathSegList-segment-modification.svg
      
              Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
              Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
              and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
              themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
              and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
      
              Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
              to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
              if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
              the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
              Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
              String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
      
              As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
              concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
      
              * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
              * CMakeLists.txt: Ditto.
              * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
              * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
              * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
              * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
              * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
              * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
              * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
              (WebCore::setDOMException):
              * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
              * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
              (WebCore::toJS):
              * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
              * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
              * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
              * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
              * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
              * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
              (WebCore::operator<<):
              * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
              * svg/SVGAnimatedPathData.cpp: Removed.
              * svg/SVGAnimatedPathData.h: Removed.
              * svg/SVGAnimatedPathData.idl: Removed.
              * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
              (WebCore::SVGPathElement::SVGPathElement):
              (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
              (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
              (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
              (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
              (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
              (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
              (WebCore::SVGPathElement::synchronizeD): Added.
              (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
              (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
              (WebCore::SVGPathElement::animatedPathSegList): Ditto.
              (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
              (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
              (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
              * svg/SVGPathElement.h: Add new accessors...
              (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
              (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
              * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
              * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
              (WebCore::globalSVGPathSegListBuilder):
              (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
              (WebCore::SVGPathParserFactory::buildPathFromByteStream):
              (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
              (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
              (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
              (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
              (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
              * svg/SVGPathParserFactory.h:
              * svg/SVGPathSeg.cpp: Removed.
              * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
              (WebCore::SVGPathSeg::SVGPathSeg):
              * svg/SVGPathSeg.idl: Reindented.
              * svg/SVGPathSegArc.cpp: Removed.
              * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
              * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegArcRel.idl: Ditto.
              * svg/SVGPathSegClosePath.cpp: Removed.
              * svg/SVGPathSegClosePath.h:
              * svg/SVGPathSegCurvetoCubic.cpp: Removed.
              * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
              * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
              * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
              * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
              * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
              * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
              * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
              * svg/SVGPathSegLineto.cpp: Removed.
              * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
              * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
              * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
              * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
              * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoVertical.cpp: Removed.
              * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
              * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
              * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
              (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
              (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
              * svg/SVGPathSegList.h:
              (WebCore::SVGPathSegList::SVGPathSegList):
              * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
              * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
              (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
              (WebCore::SVGPathSegListBuilder::moveTo):
              (WebCore::SVGPathSegListBuilder::lineTo):
              (WebCore::SVGPathSegListBuilder::lineToHorizontal):
              (WebCore::SVGPathSegListBuilder::lineToVertical):
              (WebCore::SVGPathSegListBuilder::curveToCubic):
              (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
              (WebCore::SVGPathSegListBuilder::curveToQuadratic):
              (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
              (WebCore::SVGPathSegListBuilder::arcTo):
              (WebCore::SVGPathSegListBuilder::closePath):
              * svg/SVGPathSegListBuilder.h: Ditto.
              (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
              (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
              (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
              (WebCore::SVGPathSegListBuilder::cleanup):
              * svg/SVGPathSegListSource.cpp: Ditto.
              (WebCore::SVGPathSegListSource::SVGPathSegListSource):
              (WebCore::SVGPathSegListSource::parseSVGSegmentType):
              (WebCore::SVGPathSegListSource::nextCommand):
              (WebCore::SVGPathSegListSource::parseMoveToSegment):
              (WebCore::SVGPathSegListSource::parseLineToSegment):
              (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
              * svg/SVGPathSegListSource.h: Ditto.
              (WebCore::SVGPathSegListSource::create):
              * svg/SVGPathSegMoveto.cpp: Removed.
              * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
              * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegMovetoRel.idl: Ditto.
              * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
              (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
              (WebCore::SVGPathSegWithContext::animatedProperty):
              (WebCore::SVGPathSegWithContext::setContextAndRole):
              (WebCore::SVGPathSegWithContext::commitChange):
              (WebCore::SVGPathSegSingleCoordinate::x):
              (WebCore::SVGPathSegSingleCoordinate::setX):
              (WebCore::SVGPathSegSingleCoordinate::y):
              (WebCore::SVGPathSegSingleCoordinate::setY):
              (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
              * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
              * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
              (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
              (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
              (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
              (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
              (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
              * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
              (WebCore::SVGPathSegListPropertyTearOff::create):
              (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
              (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
              (WebCore::SVGPathSegListPropertyTearOff::initialize):
              (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
              (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
              (WebCore::SVGPathSegListPropertyTearOff::appendItem):
              (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
              (WebCore::SVGPathSegListPropertyTearOff::commitChange):
              (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
      
      2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              Reviewed by Dirk Schulze.
      
              Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
              https://bugs.webkit.org/show_bug.cgi?id=49580
      
              Add several new tests covering SVGPathSegList usage.
      
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt: Added.
              * platform/mac/svg/custom/svg-curve-with-relative-cordinates-expected.txt:
              * platform/mac/svg/dom/SVGPathSegList-appendItem-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-appendItem-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.txt: Added.
              * platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-removeItem-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-removeItem-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.txt: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.txt: Added.
              * svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg: Added.
              * svg/dom/SVGPathSegList-appendItem-expected.txt: Added.
              * svg/dom/SVGPathSegList-appendItem.xhtml: Added.
              * svg/dom/SVGPathSegList-clear-and-initialize-expected.txt: Added.
              * svg/dom/SVGPathSegList-clear-and-initialize.xhtml: Added.
              * svg/dom/SVGPathSegList-cloning.html: Added.
              * svg/dom/SVGPathSegList-insertItemBefore-expected.txt: Added.
              * svg/dom/SVGPathSegList-insertItemBefore.xhtml: Added.
              * svg/dom/SVGPathSegList-removeItem-expected.txt: Added.
              * svg/dom/SVGPathSegList-removeItem.xhtml: Added.
              * svg/dom/SVGPathSegList-replaceItem-expected.txt: Added.
              * svg/dom/SVGPathSegList-replaceItem.xhtml: Added.
              * svg/dom/SVGPathSegList-segment-modification.svg: Added.
              * svg/dom/SVGPathSegList-xml-dom-synchronization-expected.txt: Added.
              * svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml: Added.
              * svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml: Added.
              * svg/dom/fuzz-path-parser-expected.txt:
              * svg/dom/path-parser-expected.txt:
              * svg/dom/script-tests/path-parser.js:
              ():
              * svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
              * svg/dom/svglist-exception-on-out-bounds-error.html:
              * svg/dom/svgpath-out-of-bounds-getPathSeg-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72381 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      673f8222
  17. 18 Nov, 2010 3 commits
    • ap@apple.com's avatar
      Reviewed by Geoffrey Garen. · 7ac88d0b
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=49762
              Stylesheet wrappers are not GC protected
      
              Tests: fast/dom/StyleSheet/gc-inline-style-cssvalues.html
                     fast/dom/StyleSheet/gc-styleheet-wrapper.xhtml
      
              * Android.jscbindings.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              Added the new custom bindings files.
      
              * WebCore.xcodeproj/project.pbxproj: Added the new custom bindings files. Also, added some
              existing headers.
      
              * bindings/js/JSDOMBinding.cpp: (WebCore::isObservableThroughDOM): If a node has a stylesheet
              with a wrapper, it may be the only thing having the stylesheet's wrapper alive, so its own
              wrapper has to stay alive, too.
              While at it, also fixed the same issue with inline style declarations.
              Also, added a FIXME comment about one with attribute nodes. We implement a less conservative
              approach for nodes, so perhaps fixing this is not as easy as removing a hasCustomProperties()
              check.
      
              * bindings/js/JSHTMLLinkElementCustom.cpp: Added.
              (WebCore::JSHTMLLinkElement::markChildren):
              * bindings/js/JSHTMLStyleElementCustom.cpp: Added.
              (WebCore::JSHTMLStyleElement::markChildren):
              * bindings/js/JSProcessingInstructionCustom.cpp: Added.
              (WebCore::JSProcessingInstruction::markChildren):
              Mark stylesheets owned by these nodes. As always in markChildren() functions, we do it
              conservatively, without checking whether the stylesheet or any of its children have custom
              properties.
      
              * dom/ProcessingInstruction.idl:
              * html/HTMLLinkElement.idl:
              * html/HTMLStyleElement.idl:
              These have custom mark functions now.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7ac88d0b
    • commit-queue@webkit.org's avatar
      2010-11-18 Sheriff Bot <webkit.review.bot@gmail.com> · bb648061
      commit-queue@webkit.org authored
              Unreviewed, rolling out r72288.
              http://trac.webkit.org/changeset/72288
              https://bugs.webkit.org/show_bug.cgi?id=49730
      
              'krit attempted to do that, but revert got stuck' (Requested
              by antonm on #webkit).
      
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.checksum: Removed.
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.png: Removed.
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt: Removed.
              * platform/mac/svg/custom/svg-curve-with-relative-cordinates-expected.txt:
              * platform/mac/svg/dom/SVGPathSegList-appendItem-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-appendItem-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.txt: Removed.
              * platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-removeItem-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-removeItem-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.txt: Removed.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.txt: Removed.
              * svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg: Removed.
              * svg/dom/SVGPathSegList-appendItem-expected.txt: Removed.
              * svg/dom/SVGPathSegList-appendItem.xhtml: Removed.
              * svg/dom/SVGPathSegList-clear-and-initialize-expected.txt: Removed.
              * svg/dom/SVGPathSegList-clear-and-initialize.xhtml: Removed.
              * svg/dom/SVGPathSegList-cloning.html: Removed.
              * svg/dom/SVGPathSegList-insertItemBefore-expected.txt: Removed.
              * svg/dom/SVGPathSegList-insertItemBefore.xhtml: Removed.
              * svg/dom/SVGPathSegList-removeItem-expected.txt: Removed.
              * svg/dom/SVGPathSegList-removeItem.xhtml: Removed.
              * svg/dom/SVGPathSegList-replaceItem-expected.txt: Removed.
              * svg/dom/SVGPathSegList-replaceItem.xhtml: Removed.
              * svg/dom/SVGPathSegList-segment-modification.svg: Removed.
              * svg/dom/SVGPathSegList-xml-dom-synchronization-expected.txt: Removed.
              * svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml: Removed.
              * svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml: Removed.
              * svg/dom/fuzz-path-parser-expected.txt:
              * svg/dom/path-parser-expected.txt:
              * svg/dom/script-tests/path-parser.js:
              ():
              * svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
              * svg/dom/svglist-exception-on-out-bounds-error.html:
              * svg/dom/svgpath-out-of-bounds-getPathSeg-expected.txt:
      2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r72288.
              http://trac.webkit.org/changeset/72288
              https://bugs.webkit.org/show_bug.cgi?id=49730
      
              'krit attempted to do that, but revert got stuck' (Requested
              by antonm on #webkit).
      
              * Android.mk:
              * CMakeLists.txt:
              * DerivedSources.make:
              * GNUmakefile.am:
              * WebCore.gyp/WebCore.gyp:
              * WebCore.gypi:
              * WebCore.order:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSBindingsAllInOne.cpp:
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::setDOMException):
              * bindings/js/JSDOMBinding.h:
              (WebCore::createDOMObjectWrapper):
              (WebCore::getDOMObjectWrapper):
              * bindings/js/JSSVGPathSegCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSSVGPathSegListCustom.cpp: Added.
              (WebCore::JSSVGPathSegList::clear):
              (WebCore::JSSVGPathSegList::initialize):
              (WebCore::JSSVGPathSegList::getItem):
              (WebCore::JSSVGPathSegList::insertItemBefore):
              (WebCore::JSSVGPathSegList::replaceItem):
              (WebCore::JSSVGPathSegList::removeItem):
              (WebCore::JSSVGPathSegList::appendItem):
              * bindings/scripts/CodeGenerator.pm:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bindings/scripts/CodeGeneratorObjC.pm:
              * bindings/scripts/CodeGeneratorV8.pm:
              * rendering/SVGRenderTreeAsText.cpp:
              (WebCore::operator<<):
              * svg/SVGAllInOne.cpp:
              * svg/SVGAnimatedPathData.cpp: Added.
              * svg/SVGAnimatedPathData.h: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGAnimatedPathData::~SVGAnimatedPathData):
              * svg/SVGAnimatedPathData.idl: Copied from WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl.
              * svg/SVGPathElement.cpp:
              (WebCore::SVGPathElement::SVGPathElement):
              (WebCore::SVGPathElement::getPathSegAtLength):
              (WebCore::SVGPathElement::createSVGPathSegClosePath):
              (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
              (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
              (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
              (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
              (WebCore::SVGPathElement::createSVGPathSegArcAbs):
              (WebCore::SVGPathElement::createSVGPathSegArcRel):
              (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
              (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
              (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
              (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
              (WebCore::SVGPathElement::parseMappedAttribute):
              (WebCore::SVGPathElement::svgAttributeChanged):
              (WebCore::SVGPathElement::synchronizeProperty):
              (WebCore::SVGPathElement::pathSegList):
              (WebCore::SVGPathElement::normalizedPathSegList):
              (WebCore::SVGPathElement::animatedPathSegList):
              (WebCore::SVGPathElement::animatedNormalizedPathSegList):
              (WebCore::SVGPathElement::toPathData):
              * svg/SVGPathElement.h:
              (WebCore::SVGPathElement::isValid):
              (WebCore::SVGPathElement::supportsMarkers):
              * svg/SVGPathElement.idl:
              * svg/SVGPathParserFactory.cpp:
              (WebCore::globalSVGPathSegListBuilder):
              (WebCore::SVGPathParserFactory::buildPathFromByteStream):
              (WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList):
              (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
              (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
              (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
              (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
              (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
              (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
              * svg/SVGPathParserFactory.h:
              * svg/SVGPathSeg.cpp: Copied from WebCore/svg/SVGPathSegLinetoHorizontalRel.idl.
              (WebCore::SVGPathSeg::associatedAttributeName):
              * svg/SVGPathSeg.h:
              (WebCore::SVGPathSegSingleCoord::setX):
              (WebCore::SVGPathSegSingleCoord::x):
              (WebCore::SVGPathSegSingleCoord::setY):
              (WebCore::SVGPathSegSingleCoord::y):
              (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
              * svg/SVGPathSeg.idl:
              * svg/SVGPathSegArc.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
              (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
              * svg/SVGPathSegArc.h:
              (WebCore::SVGPathSegArc::SVGPathSegArc):
              (WebCore::SVGPathSegArc::setX):
              (WebCore::SVGPathSegArc::x):
              (WebCore::SVGPathSegArc::setY):
              (WebCore::SVGPathSegArc::y):
              (WebCore::SVGPathSegArc::setR1):
              (WebCore::SVGPathSegArc::r1):
              (WebCore::SVGPathSegArc::setR2):
              (WebCore::SVGPathSegArc::r2):
              (WebCore::SVGPathSegArc::setAngle):
              (WebCore::SVGPathSegArc::angle):
              (WebCore::SVGPathSegArc::setLargeArcFlag):
              (WebCore::SVGPathSegArc::largeArcFlag):
              (WebCore::SVGPathSegArc::setSweepFlag):
              (WebCore::SVGPathSegArc::sweepFlag):
              (WebCore::SVGPathSegArcAbs::create):
              (WebCore::SVGPathSegArcAbs::pathSegType):
              (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegArcRel::create):
              (WebCore::SVGPathSegArcRel::pathSegType):
              (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
              * svg/SVGPathSegArcAbs.idl:
              * svg/SVGPathSegArcRel.idl:
              * svg/SVGPathSegClosePath.cpp: Added.
              * svg/SVGPathSegClosePath.h:
              (WebCore::SVGPathSegClosePath::create):
              (WebCore::SVGPathSegClosePath::SVGPathSegClosePath):
              * svg/SVGPathSegCurvetoCubic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
              (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
              * svg/SVGPathSegCurvetoCubic.h:
              (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):
              (WebCore::SVGPathSegCurvetoCubic::setX):
              (WebCore::SVGPathSegCurvetoCubic::x):
              (WebCore::SVGPathSegCurvetoCubic::setY):
              (WebCore::SVGPathSegCurvetoCubic::y):
              (WebCore::SVGPathSegCurvetoCubic::setX1):
              (WebCore::SVGPathSegCurvetoCubic::x1):
              (WebCore::SVGPathSegCurvetoCubic::setY1):
              (WebCore::SVGPathSegCurvetoCubic::y1):
              (WebCore::SVGPathSegCurvetoCubic::setX2):
              (WebCore::SVGPathSegCurvetoCubic::x2):
              (WebCore::SVGPathSegCurvetoCubic::setY2):
              (WebCore::SVGPathSegCurvetoCubic::y2):
              (WebCore::SVGPathSegCurvetoCubicAbs::create):
              (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
              (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegCurvetoCubicRel::create):
              (WebCore::SVGPathSegCurvetoCubicRel::pathSegType):
              (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
              * svg/SVGPathSegCurvetoCubicAbs.idl:
              * svg/SVGPathSegCurvetoCubicRel.idl:
              * svg/SVGPathSegCurvetoCubicSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
              (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
              * svg/SVGPathSegCurvetoCubicSmooth.h:
              (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
              (WebCore::SVGPathSegCurvetoCubicSmooth::setX):
              (WebCore::SVGPathSegCurvetoCubicSmooth::x):
              (WebCore::SVGPathSegCurvetoCubicSmooth::setY):
              (WebCore::SVGPathSegCurvetoCubicSmooth::y):
              (WebCore::SVGPathSegCurvetoCubicSmooth::setX2):
              (WebCore::SVGPathSegCurvetoCubicSmooth::x2):
              (WebCore::SVGPathSegCurvetoCubicSmooth::setY2):
              (WebCore::SVGPathSegCurvetoCubicSmooth::y2):
              (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
              (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
              (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
              (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
              (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
              * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
              * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
              * svg/SVGPathSegCurvetoQuadratic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
              (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
              * svg/SVGPathSegCurvetoQuadratic.h:
              (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):
              (WebCore::SVGPathSegCurvetoQuadratic::setX):
              (WebCore::SVGPathSegCurvetoQuadratic::x):
              (WebCore::SVGPathSegCurvetoQuadratic::setY):
              (WebCore::SVGPathSegCurvetoQuadratic::y):
              (WebCore::SVGPathSegCurvetoQuadratic::setX1):
              (WebCore::SVGPathSegCurvetoQuadratic::x1):
              (WebCore::SVGPathSegCurvetoQuadratic::setY1):
              (WebCore::SVGPathSegCurvetoQuadratic::y1):
              (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
              (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
              (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegCurvetoQuadraticRel::create):
              (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
              (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
              * svg/SVGPathSegCurvetoQuadraticAbs.idl:
              * svg/SVGPathSegCurvetoQuadraticRel.idl:
              * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
              (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
              * svg/SVGPathSegCurvetoQuadraticSmooth.h:
              (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
              (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegType):
              (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
              (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegType):
              (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
              * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
              * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
              * svg/SVGPathSegLineto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
              (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
              * svg/SVGPathSegLineto.h:
              (WebCore::SVGPathSegLinetoAbs::create):
              (WebCore::SVGPathSegLinetoAbs::pathSegType):
              (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegLinetoRel::create):
              (WebCore::SVGPathSegLinetoRel::pathSegType):
              (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
              * svg/SVGPathSegLinetoAbs.idl:
              * svg/SVGPathSegLinetoHorizontal.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
              (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
              * svg/SVGPathSegLinetoHorizontal.h:
              (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):
              (WebCore::SVGPathSegLinetoHorizontal::setX):
              (WebCore::SVGPathSegLinetoHorizontal::x):
              (WebCore::SVGPathSegLinetoHorizontalAbs::create):
              (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegType):
              (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegLinetoHorizontalRel::create):
              (WebCore::SVGPathSegLinetoHorizontalRel::pathSegType):
              (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
              * svg/SVGPathSegLinetoHorizontalAbs.idl:
              * svg/SVGPathSegLinetoHorizontalRel.idl:
              * svg/SVGPathSegLinetoRel.idl:
              * svg/SVGPathSegLinetoVertical.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
              (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
              * svg/SVGPathSegLinetoVertical.h:
              (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):
              (WebCore::SVGPathSegLinetoVertical::setY):
              (WebCore::SVGPathSegLinetoVertical::y):
              (WebCore::SVGPathSegLinetoVerticalAbs::create):
              (WebCore::SVGPathSegLinetoVerticalAbs::pathSegType):
              (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegLinetoVerticalRel::create):
              (WebCore::SVGPathSegLinetoVerticalRel::pathSegType):
              (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
              * svg/SVGPathSegLinetoVerticalAbs.idl:
              * svg/SVGPathSegLinetoVerticalRel.idl:
              * svg/SVGPathSegList.cpp:
              (WebCore::SVGPathSegList::SVGPathSegList):
              * svg/SVGPathSegList.h:
              (WebCore::SVGPathSegList::create):
              * svg/SVGPathSegList.idl:
              * svg/SVGPathSegListBuilder.cpp:
              (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
              (WebCore::SVGPathSegListBuilder::moveTo):
              (WebCore::SVGPathSegListBuilder::lineTo):
              (WebCore::SVGPathSegListBuilder::lineToHorizontal):
              (WebCore::SVGPathSegListBuilder::lineToVertical):
              (WebCore::SVGPathSegListBuilder::curveToCubic):
              (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
              (WebCore::SVGPathSegListBuilder::curveToQuadratic):
              (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
              (WebCore::SVGPathSegListBuilder::arcTo):
              (WebCore::SVGPathSegListBuilder::closePath):
              * svg/SVGPathSegListBuilder.h:
              (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
              (WebCore::SVGPathSegListBuilder::cleanup):
              * svg/SVGPathSegListSource.cpp:
              (WebCore::SVGPathSegListSource::SVGPathSegListSource):
              (WebCore::SVGPathSegListSource::parseSVGSegmentType):
              (WebCore::SVGPathSegListSource::nextCommand):
              (WebCore::SVGPathSegListSource::parseMoveToSegment):
              (WebCore::SVGPathSegListSource::parseLineToSegment):
              (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
              * svg/SVGPathSegListSource.h:
              (WebCore::SVGPathSegListSource::create):
              * svg/SVGPathSegMoveto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
              (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
              * svg/SVGPathSegMoveto.h:
              (WebCore::SVGPathSegMovetoAbs::create):
              (WebCore::SVGPathSegMovetoAbs::pathSegType):
              (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegMovetoRel::create):
              (WebCore::SVGPathSegMovetoRel::pathSegType):
              (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
              * svg/SVGPathSegMovetoAbs.idl:
              * svg/SVGPathSegMovetoRel.idl:
              * svg/SVGPathSegWithContext.h: Removed.
              * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Removed.
              * svg/properties/SVGPathSegListPropertyTearOff.cpp: Removed.
              * svg/properties/SVGPathSegListPropertyTearOff.h: Removed.
      2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r72288.
              http://trac.webkit.org/changeset/72288
              https://bugs.webkit.org/show_bug.cgi?id=49730
      
              'krit attempted to do that, but revert got stuck' (Requested
              by antonm on #webkit).
      
              * WebView/WebRenderLayer.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb648061
    • zimmermann@webkit.org's avatar
      2010-11-18 Nikolas Zimmermann <nzimmermann@rim.com> · 0921770d
      zimmermann@webkit.org authored
              Reviewed by Dirk Schulze.
      
              Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
              https://bugs.webkit.org/show_bug.cgi?id=49580
      
              SVGPathElement.cloneNode loses generated pathSegList
              https://bugs.webkit.org/show_bug.cgi?id=43388
      
              SVG Path elements are not correctly updated through pathSegList manipulation on relative values
              https://bugs.webkit.org/show_bug.cgi?id=30219
      
              Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
              https://bugs.webkit.org/show_bug.cgi?id=19741
      
              SVGPathElement should only build SVGPathSeg* list on demand
              https://bugs.webkit.org/show_bug.cgi?id=10827
      
              Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
                     svg/dom/SVGPathSegList-appendItem.xhtml
                     svg/dom/SVGPathSegList-clear-and-initialize.xhtml
                     svg/dom/SVGPathSegList-cloning.html
                     svg/dom/SVGPathSegList-insertItemBefore.xhtml
                     svg/dom/SVGPathSegList-removeItem.xhtml
                     svg/dom/SVGPathSegList-replaceItem.xhtml
                     svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
                     svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
                     svg/dom/SVGPathSegList-segment-modification.svg
      
              Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
              Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
              and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
              themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
              and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
      
              Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
              to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
              if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
              the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
              Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
              String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
      
              As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
              concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
      
              * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
              * CMakeLists.txt: Ditto.
              * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
              * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
              * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
              * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
              * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
              * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
              * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
              (WebCore::setDOMException):
              * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
              * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
              (WebCore::toJS):
              * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
              * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
              * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
              * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
              * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
              * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
              (WebCore::operator<<):
              * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
              * svg/SVGAnimatedPathData.cpp: Removed.
              * svg/SVGAnimatedPathData.h: Removed.
              * svg/SVGAnimatedPathData.idl: Removed.
              * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
              (WebCore::SVGPathElement::SVGPathElement):
              (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
              (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
              (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
              (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
              (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
              (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
              (WebCore::SVGPathElement::synchronizeD): Added.
              (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
              (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
              (WebCore::SVGPathElement::animatedPathSegList): Ditto.
              (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
              (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
              (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
              * svg/SVGPathElement.h: Add new accessors...
              (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
              (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
              * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
              * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
              (WebCore::globalSVGPathSegListBuilder):
              (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
              (WebCore::SVGPathParserFactory::buildPathFromByteStream):
              (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
              (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
              (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
              (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
              (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
              * svg/SVGPathParserFactory.h:
              * svg/SVGPathSeg.cpp: Removed.
              * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
              (WebCore::SVGPathSeg::SVGPathSeg):
              * svg/SVGPathSeg.idl: Reindented.
              * svg/SVGPathSegArc.cpp: Removed.
              * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
              * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegArcRel.idl: Ditto.
              * svg/SVGPathSegClosePath.cpp: Removed.
              * svg/SVGPathSegClosePath.h:
              * svg/SVGPathSegCurvetoCubic.cpp: Removed.
              * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
              * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
              * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
              * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
              * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
              * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
              * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
              * svg/SVGPathSegLineto.cpp: Removed.
              * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
              * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
              * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
              * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
              * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoVertical.cpp: Removed.
              * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
              * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
              * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
              (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
              (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
              * svg/SVGPathSegList.h:
              (WebCore::SVGPathSegList::SVGPathSegList):
              * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
              * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
              (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
              (WebCore::SVGPathSegListBuilder::moveTo):
              (WebCore::SVGPathSegListBuilder::lineTo):
              (WebCore::SVGPathSegListBuilder::lineToHorizontal):
              (WebCore::SVGPathSegListBuilder::lineToVertical):
              (WebCore::SVGPathSegListBuilder::curveToCubic):
              (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
              (WebCore::SVGPathSegListBuilder::curveToQuadratic):
              (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
              (WebCore::SVGPathSegListBuilder::arcTo):
              (WebCore::SVGPathSegListBuilder::closePath):
              * svg/SVGPathSegListBuilder.h: Ditto.
              (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
              (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
              (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
              (WebCore::SVGPathSegListBuilder::cleanup):
              * svg/SVGPathSegListSource.cpp: Ditto.
              (WebCore::SVGPathSegListSource::SVGPathSegListSource):
              (WebCore::SVGPathSegListSource::parseSVGSegmentType):
              (WebCore::SVGPathSegListSource::nextCommand):
              (WebCore::SVGPathSegListSource::parseMoveToSegment):
              (WebCore::SVGPathSegListSource::parseLineToSegment):
              (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
              * svg/SVGPathSegListSource.h: Ditto.
              (WebCore::SVGPathSegListSource::create):
              * svg/SVGPathSegMoveto.cpp: Removed.
              * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
              * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegMovetoRel.idl: Ditto.
              * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
              (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
              (WebCore::SVGPathSegWithContext::animatedProperty):
              (WebCore::SVGPathSegWithContext::setContextAndRole):
              (WebCore::SVGPathSegWithContext::commitChange):
              (WebCore::SVGPathSegSingleCoordinate::x):
              (WebCore::SVGPathSegSingleCoordinate::setX):
              (WebCore::SVGPathSegSingleCoordinate::y):
              (WebCore::SVGPathSegSingleCoordinate::setY):
              (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
              * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
              * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
              (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
              (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
              (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
              (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
              (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
              * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
              (WebCore::SVGPathSegListPropertyTearOff::create):
              (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
              (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
              (WebCore::SVGPathSegListPropertyTearOff::initialize):
              (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
              (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
              (WebCore::SVGPathSegListPropertyTearOff::appendItem):
              (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
              (WebCore::SVGPathSegListPropertyTearOff::commitChange):
              (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
      
      2010-11-18  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              Reviewed by Dirk Schulze.
      
              Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
              https://bugs.webkit.org/show_bug.cgi?id=49580
      
              Add several new tests covering SVGPathSegList usage.
      
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt: Added.
              * platform/mac/svg/custom/svg-curve-with-relative-cordinates-expected.txt:
              * platform/mac/svg/dom/SVGPathSegList-appendItem-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-appendItem-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.txt: Added.
              * platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-removeItem-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-removeItem-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.txt: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.txt: Added.
              * svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg: Added.
              * svg/dom/SVGPathSegList-appendItem-expected.txt: Added.
              * svg/dom/SVGPathSegList-appendItem.xhtml: Added.
              * svg/dom/SVGPathSegList-clear-and-initialize-expected.txt: Added.
              * svg/dom/SVGPathSegList-clear-and-initialize.xhtml: Added.
              * svg/dom/SVGPathSegList-cloning.html: Added.
              * svg/dom/SVGPathSegList-insertItemBefore-expected.txt: Added.
              * svg/dom/SVGPathSegList-insertItemBefore.xhtml: Added.
              * svg/dom/SVGPathSegList-removeItem-expected.txt: Added.
              * svg/dom/SVGPathSegList-removeItem.xhtml: Added.
              * svg/dom/SVGPathSegList-replaceItem-expected.txt: Added.
              * svg/dom/SVGPathSegList-replaceItem.xhtml: Added.
              * svg/dom/SVGPathSegList-segment-modification.svg: Added.
              * svg/dom/SVGPathSegList-xml-dom-synchronization-expected.txt: Added.
              * svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml: Added.
              * svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml: Added.
              * svg/dom/fuzz-path-parser-expected.txt:
              * svg/dom/path-parser-expected.txt:
              * svg/dom/script-tests/path-parser.js:
              ():
              * svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
              * svg/dom/svglist-exception-on-out-bounds-error.html:
              * svg/dom/svgpath-out-of-bounds-getPathSeg-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72288 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0921770d
  18. 16 Nov, 2010 1 commit
  19. 14 Nov, 2010 1 commit
  20. 12 Nov, 2010 2 commits
    • commit-queue@webkit.org's avatar
      2010-11-12 James Simonsen <simonjam@chromium.org> · 6000d4c1
      commit-queue@webkit.org authored
              Reviewed by Darin Fisher.
      
              [Web Timing] Rename interfaces:
              - Navigation -> PerformanceNavigation
              - Timing -> PerformanceTiming
              https://bugs.webkit.org/show_bug.cgi?id=48919
      
              * fast/dom/Window/window-properties-performance-expected.txt: Class names changed.
      2010-11-12  James Simonsen  <simonjam@chromium.org>
      
              Reviewed by Darin Fisher.
      
              [Web Timing] Rename interfaces:
              - Navigation -> PerformanceNavigation
              - Timing -> PerformanceTiming
              https://bugs.webkit.org/show_bug.cgi?id=48919
      
              * DerivedSources.cpp:
              * DerivedSources.make:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * page/Performance.cpp:
              (WebCore::Performance::navigation):
              (WebCore::Performance::timing):
              * page/Performance.h:
              * page/Performance.idl:
              * page/PerformanceNavigation.cpp: Renamed from WebCore/page/Navigation.cpp.
              (WebCore::PerformanceNavigation::PerformanceNavigation):
              (WebCore::PerformanceNavigation::frame):
              (WebCore::PerformanceNavigation::disconnectFrame):
              (WebCore::PerformanceNavigation::type):
              (WebCore::PerformanceNavigation::redirectCount):
              * page/PerformanceNavigation.h: Renamed from WebCore/page/Navigation.h.
              (WebCore::PerformanceNavigation::create):
              * page/PerformanceNavigation.idl: Renamed from WebCore/page/Navigation.idl.
              * page/PerformanceTiming.cpp: Renamed from WebCore/page/Timing.cpp.
              (WebCore::toIntegerMilliseconds):
              (WebCore::getPossiblySkewedTimeInKnownRange):
              (WebCore::PerformanceTiming::PerformanceTiming):
              (WebCore::PerformanceTiming::frame):
              (WebCore::PerformanceTiming::disconnectFrame):
              (WebCore::PerformanceTiming::navigationStart):
              (WebCore::PerformanceTiming::unloadEventEnd):
              (WebCore::PerformanceTiming::redirectStart):
              (WebCore::PerformanceTiming::redirectEnd):
              (WebCore::PerformanceTiming::fetchStart):
              (WebCore::PerformanceTiming::domainLookupStart):
              (WebCore::PerformanceTiming::domainLookupEnd):
              (WebCore::PerformanceTiming::connectStart):
              (WebCore::PerformanceTiming::connectEnd):
              (WebCore::PerformanceTiming::requestStart):
              (WebCore::PerformanceTiming::requestEnd):
              (WebCore::PerformanceTiming::responseStart):
              (WebCore::PerformanceTiming::responseEnd):
              (WebCore::PerformanceTiming::domLoading):
              (WebCore::PerformanceTiming::domInteractive):
              (WebCore::PerformanceTiming::domContentLoaded):
              (WebCore::PerformanceTiming::domComplete):
              (WebCore::PerformanceTiming::loadEventStart):
              (WebCore::PerformanceTiming::loadEventEnd):
              (WebCore::PerformanceTiming::documentLoader):
              (WebCore::PerformanceTiming::documentTiming):
              (WebCore::PerformanceTiming::documentLoadTiming):
              (WebCore::PerformanceTiming::resourceLoadTiming):
              (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
              * page/PerformanceTiming.h: Renamed from WebCore/page/Timing.h.
              (WebCore::PerformanceTiming::create):
              * page/PerformanceTiming.idl: Renamed from WebCore/page/Timing.idl.
      2010-11-12  James Simonsen  <simonjam@chromium.org>
      
              Reviewed by Darin Fisher.
      
              [Web Timing] Rename interfaces:
              - Navigation -> PerformanceNavigation
              - Timing -> PerformanceTiming
              https://bugs.webkit.org/show_bug.cgi?id=48919
      
              * src/WebPerformance.cpp:
              (WebKit::WebPerformance::navigationType):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6000d4c1
    • dglazkov@chromium.org's avatar
      2010-11-05 Dimitri Glazkov <dglazkov@chromium.org> · 22000f6d
      dglazkov@chromium.org authored
              Reviewed by Darin Adler.
      
              Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
              https://bugs.webkit.org/show_bug.cgi?id=46015
      
              Added more test coverage around events crossing shadow DOM boundaries and tweaked existing tests.
      
              * fast/events/shadow-boundary-crossing-2-expected.txt: Added.
              * fast/events/shadow-boundary-crossing-2.html: Added.
              * fast/events/shadow-boundary-crossing.html: Tuned to better reflect its point:
                  the event should indeed fire (it used to be swallowed), but its target
                  should be a non-shadow node.
              * media/audio-delete-while-slider-thumb-clicked.html :  Tweaked to actually click on
                  the scrubber thumb (it was off by 2 pixels).
      2010-11-05  Dimitri Glazkov  <dglazkov@chromium.org>
      
              Reviewed by Darin Adler.
      
              Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
              https://bugs.webkit.org/show_bug.cgi?id=46015
      
              Test: fast/events/shadow-boundary-crossing-2.html
      
              This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
              for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
      
              This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
              appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
      
              * Android.mk: Added EventContext, WindowEventContext files.
              * CMakeLists.txt: Ditto.
              * GNUmakefile.am: Ditto.
              * WebCore.gypi: Ditto.
              * WebCore.pro: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * dom/ContainerNode.cpp:
              (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
              * dom/EventContext.cpp: Added.
              * dom/EventContext.h: Added.
              * dom/Node.cpp:
              (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
              (WebCore::Node::createRendererIfNeeded): Ditto.
              (WebCore::Node::parentOrHostNode): Added new helper method.
              (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
              (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
              (WebCore::Node::getEventAncestors): Renamed and refactored to collect a vector of EventContexts.
              (WebCore::Node::topEventContext): Added.
              (WebCore::eventHasListeners): Changed to use EventContexts.
              (WebCore::Node::dispatchGenericEvent): Ditto.
              * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
                  and changed signature of eventAncestors to use EventContexts.
              * dom/Text.cpp:
              (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
              * dom/WindowEventContext.cpp: Added.
              * dom/WindowEventContext.h: Added.
              * inspector/InspectorDOMAgent.cpp:
              (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
              * page/EventHandler.cpp:
              (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
              * rendering/RenderTextControlMultiLine.cpp:
              (WebCore::RenderTextControlMultiLine::subtreeHasChanged): Removed event invocation that's
                  no longer necessary.
              * rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
              is deleted.
              * rendering/TextControlInnerElements.cpp:
              (WebCore::TextControlInnerTextElement::defaultEventHandler): Flipped the condition back
                  from where it was prior to r60418.
              * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
              * svg/SVGElement.h: Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22000f6d
  21. 11 Nov, 2010 1 commit
    • zimmermann@webkit.org's avatar
      2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> · bbd697ce
      zimmermann@webkit.org authored
              Reviewed by Dirk Schulze.
      
              Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept
              https://bugs.webkit.org/show_bug.cgi?id=49311
      
              Move the last list type, SVGTransformList, and the last POD types, SVGMatrix & SVGTransform, over to the new SVGPropertyTearOff concept.
              Removes the need for a custom JSSVGMatrix/V8SVGMatrix implementation, it's all integrated within the bindings now.
      
              Tests: svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg
                     svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg
                     svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg
                     svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg
                     svg/W3C-SVG-1.1-SE/types-dom-01-b.svg
                     svg/W3C-SVG-1.1-SE/types-dom-02-f.svg
                     svg/W3C-SVG-1.1-SE/types-dom-03-b.svg
                     svg/W3C-SVG-1.1-SE/types-dom-04-b.svg
                     svg/W3C-SVG-1.1-SE/types-dom-05-b.svg
                     svg/dom/SVGMatrix.html
                     svg/dom/SVGTransform.html
                     svg/dom/SVGTransformList.html
      
              * Android.jscbindings.mk: Removed JSSVGMatrixCustom.cpp.
              * Android.v8bindings.mk: Removed V8SVGMatrixCustom.cpp.
              * CMakeLists.txt: Remove JSSVGMatrixCustom.cpp. 
              * GNUmakefile.am: Ditto. Add SVGAnimatedTransformListPropertyTearOff.h/SVGStaticPropertyWithParentTearOff.h/SVGTransformListPropertyTearOff.h/SVGAnimatedTransformList.h/SVGMatrix.h to build.
              * WebCore.gypi: Ditto.
              * WebCore.pro: Ditto.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGMatrixCustom.cpp
              * bindings/js/JSSVGMatrixCustom.cpp: Removed.
              * bindings/scripts/CodeGenerator.pm: Convert SVGMatrix/SVGTransform/SVGTransformList to the new concept.
              * bindings/scripts/CodeGeneratorJS.pm: Ditto.
              * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
              * bindings/scripts/CodeGeneratorV8.pm: Ditto.
              * bindings/v8/custom/V8SVGMatrixCustom.cpp: Removed.
              * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGTransformList handling.
              * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
              * svg/SVGAnimateTransformElement.cpp: Adapt to SVGTransformList API changes.
              (WebCore::transformListFor):
              (WebCore::SVGAnimateTransformElement::resetToBaseValue):
              (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
              (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
              * svg/SVGAnimatedTransformList.h: Added.
              * svg/SVGGradientElement.cpp: Ditto.
              (WebCore::SVGGradientElement::SVGGradientElement):
              (WebCore::SVGGradientElement::parseMappedAttribute):
              * svg/SVGGradientElement.h: Ditto.
              * svg/SVGLinearGradientElement.cpp: Ditto.
              (WebCore::SVGLinearGradientElement::collectGradientAttributes):
              * svg/SVGMatrix.h: Added. SVGMatrix inherits from AffineTransform, and is only used in the bindings. It implements SVGs special requirements.
              (WebCore::SVGMatrix::translate): Returns a copy of the matrix, not affecting the original matrix.
              (WebCore::SVGMatrix::scale): Ditto.
              (WebCore::SVGMatrix::scaleNonUniform): Ditto.
              (WebCore::SVGMatrix::rotate): Ditto.
              (WebCore::SVGMatrix::flipX): Ditto.
              (WebCore::SVGMatrix::flipY): Ditto.
              (WebCore::SVGMatrix::skewX): Ditto.
              (WebCore::SVGMatrix::skewY): Ditto.
              (WebCore::SVGMatrix::multiply): Ditto.
              (WebCore::SVGMatrix::inverse): Ditto.
              (WebCore::SVGMatrix::rotateFromVector): Dittto.
              * svg/SVGMatrix.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions.
              * svg/SVGPatternElement.cpp: Adapt to SVGTransformList API changes.
              (WebCore::SVGPatternElement::SVGPatternElement):
              (WebCore::SVGPatternElement::parseMappedAttribute):
              (WebCore::SVGPatternElement::collectPatternAttributes):
              * svg/SVGPatternElement.h: Ditto.
              * svg/SVGPoint.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise for 'matrixTransform', now that SVGMatrix has been converted to the new scheme.
              * svg/SVGRadialGradientElement.cpp: Adapt to SVGTransformList API changes.
              (WebCore::SVGRadialGradientElement::collectGradientAttributes):
              * svg/SVGSVGElement.cpp: Ditto.
              (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
              (WebCore::SVGSVGElement::viewBoxToViewTransform):
              * svg/SVGSVGElement.h: Ditto.
              * svg/SVGStyledTransformableElement.cpp: Ditto.
              (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
              (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
              (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
              * svg/SVGStyledTransformableElement.h: Ditto.
              * svg/SVGTextElement.cpp: Ditto.
              (WebCore::SVGTextElement::SVGTextElement):
              (WebCore::SVGTextElement::parseMappedAttribute):
              (WebCore::SVGTextElement::animatedLocalTransform):
              * svg/SVGTextElement.h: Ditto.
              * svg/SVGTransform.cpp: Modernize code, inlined some getters.
              (WebCore::SVGTransform::SVGTransform):
              (WebCore::SVGTransform::setMatrix):
              * svg/SVGTransform.h: Reindent header.
              (WebCore::SVGTransform::type):
              (WebCore::SVGTransform::svgMatrix):
              (WebCore::SVGTransform::matrix):
              (WebCore::SVGTransform::angle):
              (WebCore::SVGTransform::rotationCenter):
              (WebCore::SVGTransform::isValid):
              (WebCore::operator==): Avoid function calls, make operator== a friend of SVGTransform, and compare members directly.
              (WebCore::operator!=):
              * svg/SVGTransform.idl:
              * svg/SVGTransformList.cpp: Rewritten as plain Vector<SVGTransform>.
              (WebCore::SVGTransformList::createSVGTransformFromMatrix):
              (WebCore::SVGTransformList::consolidate):
              (WebCore::SVGTransformList::concatenate):
              (WebCore::SVGTransformList::valueAsString):
              * svg/SVGTransformList.h:
              (WebCore::SVGTransformList::SVGTransformList):
              * svg/SVGTransformList.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions.
              * svg/SVGTransformable.cpp: Adapt to SVGTransformList API changes.
              (WebCore::SVGTransformable::parseTransformAttribute):
              * svg/SVGTransformable.h: Ditto.
              * svg/SVGViewSpec.cpp: Ditto.
              (WebCore::SVGViewSpec::SVGViewSpec):
              (WebCore::SVGViewSpec::setTransform):
              (WebCore::SVGViewSpec::parseViewSpec):
              * svg/SVGViewSpec.h: Ditto.
              (WebCore::SVGViewSpec::transform):
              * svg/properties/SVGAnimatedListPropertyTearOff.h: Made constructor and members protected.
              * svg/properties/SVGAnimatedPropertyMacros.h: Add new helper macro DECLARE_ANIMATED_TRANSFORM_LIST_PROPERTY. This is needed until we expand all macros.
              * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Added. Extends SVGAnimatedListPropertyTearOff, returning SVGTransformListPropertyTearOff objects.
              (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
              (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
              (WebCore::SVGAnimatedTransformListPropertyTearOff::create):
              (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff):
              * svg/properties/SVGListPropertyTearOff.h: Made construct and members protected.
              * svg/properties/SVGProperty.h: Declare commitChange() as pure virtual method.
              * svg/properties/SVGPropertyTraits.h: Handle SVGTransformList.
              * svg/properties/SVGStaticPropertyWithParentTearOff.h: Added. Same concept as JSSVGStaticPODTypeWrapperWithParent, used to expose SVGPropertyTearOffs for types
                                                                     that are using this concept themselves. (SVGMatrix attribute of SVGTransform, both are POD types, using SVGPropertyTearOff).
              (WebCore::SVGStaticPropertyWithParentTearOff::create):
              (WebCore::SVGStaticPropertyWithParentTearOff::commitChange):
              (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff):
              * svg/properties/SVGTransformListPropertyTearOff.h: Added. Extends SVGListPropertyTearOff by two special SVGTransformList methods: consolidate and createSVGTransformFromMatrix.
              (WebCore::SVGTransformListPropertyTearOff::create):
              (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
              (WebCore::SVGTransformListPropertyTearOff::consolidate):
              (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):
      2010-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              Reviewed by Dirk Schulze.
      
              Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept
              https://bugs.webkit.org/show_bug.cgi?id=49311
      
              Add tests covering StrictTypeChecking and RequiresAllArguments=Raise for SVGMatrix/SVGPoint.
              Imported several new tests from SVG 1.1 2nd Edition, regarding SVG DOM primitives.
      
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt: Added.
              * svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg: Added.
              * svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg: Added.
              * svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg: Added.
              * svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg: Added.
              * svg/W3C-SVG-1.1-SE/types-dom-01-b.svg: Added.
              * svg/W3C-SVG-1.1-SE/types-dom-02-f.svg: Added.
              * svg/W3C-SVG-1.1-SE/types-dom-03-b.svg: Added.
              * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: Added.
              * svg/W3C-SVG-1.1-SE/types-dom-05-b.svg: Added.
              * svg/dom/SVGMatrix-expected.txt: Added.
              * svg/dom/SVGMatrix.html: Added.
              * svg/dom/SVGPoint-expected.txt:
              * svg/dom/SVGTransform-expected.txt: Added.
              * svg/dom/SVGTransform.html: Added.
              * svg/dom/SVGTransformList-expected.txt: Added.
              * svg/dom/SVGTransformList.html: Added.
              * svg/dom/script-tests/SVGMatrix.js: Added.
              * svg/dom/script-tests/SVGPoint.js:
              * svg/dom/script-tests/SVGTransform.js: Added.
              * svg/dom/script-tests/SVGTransformList.js: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bbd697ce
  22. 09 Nov, 2010 1 commit
  23. 08 Nov, 2010 1 commit
    • japhet@chromium.org's avatar
      2010-11-08 Nate Chapin <japhet@chromium.org> · 22e5436c
      japhet@chromium.org authored
              Reviewed by Alexey Proskuryakov.
      
              Move connection-per-host counting and request prioritization out
              of Loader and down to the ResourceLoader level.
      
              https://bugs.webkit.org/show_bug.cgi?id=27165
      
              Refactor only, so no new tests.
      
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.exp.in:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::suspendPostAttachCallbacks):
              (WebCore::ContainerNode::resumePostAttachCallbacks):
              * loader/DocumentThreadableLoader.cpp:
              (WebCore::DocumentThreadableLoader::loadRequest):
              * loader/MainResourceLoader.cpp:
              (WebCore::MainResourceLoader::loadNow):
              * loader/NetscapePlugInStreamLoader.cpp:
              (WebCore::NetscapePlugInStreamLoader::create):
              * loader/NetscapePlugInStreamLoader.h:
              * loader/ResourceLoadScheduler.cpp: Added.
              (WebCore::ResourceLoadScheduler::hostForURL):
              (WebCore::resourceLoadScheduler): Returns the single ResourceLoadScheduler instance
              (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
              (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
              (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
              (WebCore::ResourceLoadScheduler::addMainResourceLoad):
              (WebCore::ResourceLoadScheduler::scheduleLoad):
              (WebCore::ResourceLoadScheduler::remove):
              (WebCore::ResourceLoadScheduler::crossOriginRedirectReceived):
              (WebCore::ResourceLoadScheduler::servePendingRequests):
              (WebCore::ResourceLoadScheduler::suspendPendingRequests):
              (WebCore::ResourceLoadScheduler::resumePendingRequests):
              (WebCore::ResourceLoadScheduler::scheduleServePendingRequests):
              (WebCore::ResourceLoadScheduler::requestTimerFired):
              (WebCore::ResourceLoadScheduler::assertLoaderBeingCounted):
              (WebCore::ResourceLoadScheduler::HostInformation::assertLoaderBeingCounted):
              (WebCore::ResourceLoadScheduler::HostInformation::HostInformation):
              (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
              (WebCore::ResourceLoadScheduler::HostInformation::schedule):
              (WebCore::ResourceLoadScheduler::HostInformation::addLoadInProgress):
              (WebCore::ResourceLoadScheduler::HostInformation::remove):
              (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
              * loader/ResourceLoadScheduler.h: Added.
              (WebCore::ResourceLoadScheduler::HostInformation::name):
              (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
              (WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
              * loader/ResourceLoader.cpp:
              (WebCore::ResourceLoader::releaseResources): Remove this from ResourceLoadScheduler's counting.
              (WebCore::ResourceLoader::load):
              (WebCore::ResourceLoader::start): Create the ResourceHandle, called by ResourceLoadScheduler.
              (WebCore::ResourceLoader::willSendRequest): Ensure ResourceLoadScheduler counts redirects
                  correctly.
              * loader/ResourceLoader.h:
              (WebCore::ResourceLoader::url):
              * loader/icon/IconLoader.cpp:
              (WebCore::IconLoader::startLoading):
              * loader/loader.cpp: Move scheduling to ResourceLoadScheduler, remove Host subclass
                  and make Loader the SubresourceLoaderClient instead.
              (WebCore::determinePriority):
              (WebCore::Loader::load): Schedule the creation of the ResourceHandle, rather than
                  doing it immediately.
              (WebCore::Loader::cancelRequests):
              (WebCore::Loader::didFinishLoading):
              (WebCore::Loader::didFail):
              (WebCore::Loader::didReceiveResponse):
              (WebCore::Loader::didReceiveData):
              (WebCore::Loader::didReceiveCachedMetadata):
              * loader/loader.h:
              * page/EventSource.cpp:
              (WebCore::EventSource::connect):
              (WebCore::EventSource::endRequest):
              * plugins/PluginStream.cpp:
              (WebCore::PluginStream::start):
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::XMLHttpRequest):
              (WebCore::XMLHttpRequest::~XMLHttpRequest):
              (WebCore::XMLHttpRequest::createRequest):
              (WebCore::XMLHttpRequest::didFail):
              (WebCore::XMLHttpRequest::didFinishLoading):
              * xml/XMLHttpRequest.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22e5436c