1. 20 Jan, 2011 11 commits
    • pfeldman@chromium.org's avatar
      2011-01-20 Pavel Feldman <pfeldman@chromium.org> · 475014dc
      pfeldman@chromium.org authored
              Web Inspector: move releaseObjectGroup to the new Runtime agent.
              https://bugs.webkit.org/show_bug.cgi?id=52803
              (accedentally landed as r76231)
      
              * inspector/InspectorContorller.h:
              * inspector/InspectorContorller.cpp:
              * inspector/InspectorRuntimeAgent.h:
              * inspector/InspectorRuntimeAgent.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      475014dc
    • pfeldman@chromium.org's avatar
      2011-01-20 Pavel Feldman <pfeldman@chromium.org> · 606606e4
      pfeldman@chromium.org authored
              Not reviewed: build fix.
      
              * inspector/InspectorState.h:
              (WebCore::InspectorState::setBoolean):
              (WebCore::InspectorState::setString):
              (WebCore::InspectorState::setLong):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      606606e4
    • pfeldman@chromium.org's avatar
      2011-01-20 Pavel Feldman <pfeldman@chromium.org> · 631b2ce6
      pfeldman@chromium.org authored
              Reviewed by Yury Semikhatsky.
      
              Web Inspector: further simplify InspectorState.
              https://bugs.webkit.org/show_bug.cgi?id=52731
      
              This change moves XHR logging flag into console agent,
              removes InspectorState pushing to the front-end.
      
              * inspector/Inspector.idl:
              * inspector/InspectorConsoleAgent.cpp:
              (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
              (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
              (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
              (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
              (WebCore::InspectorConsoleAgent::addConsoleMessage):
              * inspector/InspectorConsoleAgent.h:
              * inspector/InspectorController.cpp:
              (WebCore::InspectorController::InspectorController):
              * inspector/InspectorController.h:
              (WebCore::InspectorController::state):
              (WebCore::InspectorController::settings):
              * inspector/InspectorState.cpp:
              (WebCore::InspectorState::InspectorState):
              (WebCore::InspectorState::registerBoolean):
              (WebCore::InspectorState::registerString):
              (WebCore::InspectorState::registerLong):
              (WebCore::InspectorState::registerObject):
              (WebCore::InspectorState::Property::create):
              * inspector/InspectorState.h:
              * inspector/front-end/ConsoleView.js:
              (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
              (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
              (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
              (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
              * inspector/front-end/inspector.js:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      631b2ce6
    • ossy@webkit.org's avatar
      Unreviewed buildfix. · 343ce767
      ossy@webkit.org authored
      [Qt][V8] Remove unnecessary files after r76224.
      
      * WebCore.pro:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      343ce767
    • loislo@chromium.org's avatar
      2011-01-20 Ilya Tikhonovsky <loislo@chromium.org> · f2d264d4
      loislo@chromium.org authored
              Reviewed by Yury Semikhatsky.
      
              Web Inspector: prepare for extracting InspectorAgent from InspectorController.
              https://bugs.webkit.org/show_bug.cgi?id=52797
      
              * inspector/CodeGeneratorInspector.pm:
              * inspector/InspectorController.h:
              (WebCore::InspectorController::inspectorAgent):
              (WebCore::InspectorController::cssAgent):
              (WebCore::InspectorController::injectedScriptAgent):
              (WebCore::InspectorController::resourceAgent):
              (WebCore::InspectorController::runtimeAgent):
              (WebCore::InspectorController::timelineAgent):
              (WebCore::InspectorController::databaseAgent):
              (WebCore::InspectorController::domStorageAgent):
              (WebCore::InspectorController::fileSystemAgent):
              (WebCore::InspectorController::browserDebuggerAgent):
              (WebCore::InspectorController::debuggerAgent):
              (WebCore::InspectorController::profilerAgent):
              (WebCore::InspectorController::applicationCacheAgent):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76227 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f2d264d4
    • jorlow@chromium.org's avatar
      2011-01-20 Sheriff Bot <webkit.review.bot@gmail.com> · 6230e750
      jorlow@chromium.org authored
              Unreviewed, rolling out r76215.
              http://trac.webkit.org/changeset/76215
              https://bugs.webkit.org/show_bug.cgi?id=52799
      
              Caused regressions in Chromium; morrita is going to look at it
              tomrorow (Requested by jorlow on #webkit).
      
              * editing/inserting/insert-composition-whitespace-expected.txt: Removed.
              * editing/inserting/insert-composition-whitespace.html: Removed.
      2011-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r76215.
              http://trac.webkit.org/changeset/76215
              https://bugs.webkit.org/show_bug.cgi?id=52799
      
              Caused regressions in Chromium; morrita is going to look at it
              tomrorow (Requested by jorlow on #webkit).
      
              * dom/TextEvent.h:
              * dom/TextEventInputType.h:
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
              * editing/CompositeEditCommand.h:
              * editing/Editor.cpp:
              (WebCore::Editor::insertTextWithoutSendingTextEvent):
              (WebCore::Editor::confirmComposition):
              (WebCore::Editor::setComposition):
              * editing/Editor.h:
              * editing/InsertTextCommand.cpp:
              (WebCore::InsertTextCommand::input):
              * editing/InsertTextCommand.h:
              * editing/TypingCommand.cpp:
              (WebCore::TypingCommand::TypingCommand):
              (WebCore::TypingCommand::insertText):
              (WebCore::TypingCommand::insertTextRunWithoutNewlines):
              * editing/TypingCommand.h:
              (WebCore::TypingCommand::create):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76226 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6230e750
    • yurys@chromium.org's avatar
      2010-12-14 Yury Semikhatsky <yurys@chromium.org> · 96e9b6ad
      yurys@chromium.org authored
              Reviewed by Adam Barth.
      
              [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp
              https://bugs.webkit.org/show_bug.cgi?id=51044
      
              * WebCore.gypi:
              * bindings/v8/V8ConsoleMessage.cpp: Removed.
              * bindings/v8/V8ConsoleMessage.h: Removed.
              * bindings/v8/V8DOMWindowShell.cpp:
              (WebCore::v8UncaughtExceptionHandler):
              (WebCore::reportUnsafeJavaScriptAccess):
              (WebCore::V8DOMWindowShell::initContextIfNeeded):
              * bindings/v8/V8Proxy.cpp:
              (WebCore::addMessageToConsole):
              (WebCore::logInfo):
              (WebCore::V8Proxy::reportUnsafeAccessTo):
              (WebCore::V8Proxy::runScript):
              (WebCore::V8Proxy::callFunction):
              (WebCore::V8Proxy::newInstance):
              * bindings/v8/V8Proxy.h:
              * bindings/v8/WorkerContextExecutionProxy.cpp:
              * bindings/v8/specialization/V8BindingState.cpp:
              (WebCore::::immediatelyReportUnsafeAccessTo):
      2010-12-14  Yury Semikhatsky  <yurys@chromium.org>
      
              Reviewed by Adam Barth.
      
              [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp
              https://bugs.webkit.org/show_bug.cgi?id=51044
      
              * src/ChromeClientImpl.cpp:
              (WebKit::ChromeClientImpl::runJavaScriptAlert):
              * src/WebScriptController.cpp:
              (WebKit::WebScriptController::flushConsoleMessages):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76224 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      96e9b6ad
    • morrita@google.com's avatar
      2011-01-19 MORITA Hajime <morrita@google.com> · bd24cfcc
      morrita@google.com authored
              Reviewed by Eric Seidel.
      
              ShadowElement::m_shadowParent should be removed
              https://bugs.webkit.org/show_bug.cgi?id=52558
      
              No new tests. No behavioral change.
      
              * rendering/ShadowElement.h:
              (WebCore::ShadowElement::ShadowElement):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76221 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd24cfcc
    • hans@chromium.org's avatar
      2011-01-20 Hans Wennborg <hans@chromium.org> · 60e43f0b
      hans@chromium.org authored
              Reviewed by Jeremy Orlow.
      
              IndexedDB: IDBObjectStore.get should fire onsuccess rather than onerror
              https://bugs.webkit.org/show_bug.cgi?id=52725
      
              Update layout tests to expect the onsuccess handler to be fired
              when looking up non-existing objects.
      
              * storage/indexeddb/create-and-remove-object-store-expected.txt:
              * storage/indexeddb/create-and-remove-object-store.html:
              * storage/indexeddb/cursor-delete-expected.txt:
              * storage/indexeddb/cursor-delete.html:
              * storage/indexeddb/objectstore-removeobjectstore-expected.txt:
              * storage/indexeddb/objectstore-removeobjectstore.html:
      2011-01-20  Hans Wennborg  <hans@chromium.org>
      
              Reviewed by Jeremy Orlow.
      
              IndexedDB: IDBObjectStore.get should fire onsuccess rather than onerror
              https://bugs.webkit.org/show_bug.cgi?id=52725
      
              Let IDBObjectStore.get() fire the onsuccess handler with the value
              'undefined' for when an object does not exist in the store.
      
              Update SerializedScriptValue to provide such an undefined value.
      
              * bindings/v8/SerializedScriptValue.cpp:
              (WebCore::SerializedScriptValue::nullValue):
              (WebCore::SerializedScriptValue::undefinedValue):
              * bindings/v8/SerializedScriptValue.h:
              * storage/IDBObjectStoreBackendImpl.cpp:
              (WebCore::IDBObjectStoreBackendImpl::getInternal):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60e43f0b
    • yurys@chromium.org's avatar
      2010-12-27 yury semikhatsky <yurys@chromium.org> · c8a06eb9
      yurys@chromium.org authored
              reviewed by pavel feldman.
      
              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-onerror12.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/js/jseventlistener.h:
              * 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/v8eventlistener.h:
              * bindings/v8/v8windowerrorhandler.cpp: renamed from webcore/bindings/js/jsworkercontexterrorhandler.h.
              (webcore::v8windowerrorhandler::v8windowerrorhandler):
              (webcore::v8windowerrorhandler::calllistenerfunction):
              * bindings/v8/v8windowerrorhandler.h: copied from webcore/dom/errorevent.cpp.
              (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):
              (webcore::document::addmessage):
              * dom/document.h:
              * dom/errorevent.cpp:
              * dom/errorevent.h:
              * dom/event.cpp:
              (webcore::event::iserrorevent):
              * dom/event.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:
              * websockets/websocket.cpp:
              (webcore::websocket::connect):
              * websockets/websocketchannel.cpp:
              (webcore::websocketchannel::didopen):
              (webcore::websocketchannel::didfail):
              (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::erroreventtarget):
              (webcore::workercontext::logexceptiontoconsole):
              (webcore::workercontext::addmessage):
              * workers/workercontext.h:
              * workers/workermessagingproxy.cpp:
              (webcore::workerexceptiontask::performtask):
              (webcore::postconsolemessagetask):
              * xml/xmlhttprequest.cpp:
              (webcore::reportunsafeusage):
      
      2010-12-27  Yury Semikhatsky  <yurys@chromium.org>
      
              Reviewed by Pavel Feldman.
      
              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-onerror12-expected.txt: Added.
              * fast/events/window-onerror12.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.
              * platform/gtk/Skipped:
              * 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.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c8a06eb9
    • morrita@google.com's avatar
      2011-01-19 MORITA Hajime <morrita@google.com> · 94c27d14
      morrita@google.com authored
              Reviewed by Ryosuke Niwa.
      
              Space and tab characters "sent" by an input method give totally different results than typing them directly.
              https://bugs.webkit.org/show_bug.cgi?id=5241
      
              Added a test that exercises continous whitespace characters and tabs inserted by IME.
      
              * editing/inserting/insert-composition-whitespace-expected.txt: Added.
              * editing/inserting/insert-composition-whitespace.html: Added.
      2011-01-19  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ryosuke Niwa.
      
              Space and tab characters "sent" by an input method give totally different results than typing them directly
              https://bugs.webkit.org/show_bug.cgi?id=5241
      
              * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to
                distinguish text input which is originated by composition.
              * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing
                range of string on text node, instead of surrounding part of that.
      
              Test: editing/inserting/insert-composition-whitespace.html
      
              * dom/TextEvent.h:
              (WebCore::TextEvent::isComposition):
              * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
              * editing/CompositeEditCommand.cpp:
              (WebCore::containsOnlyWhitespace):
              (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
              (WebCore::CompositeEditCommand::canRebalance):
              (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
              (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
              * editing/CompositeEditCommand.h:
              * editing/Editor.cpp:
              (WebCore::Editor::insertTextForConfirmedComposition): Added.
              (WebCore::Editor::insertTextWithoutSendingTextEvent):
              (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
              (WebCore::Editor::setComposition):
              * editing/Editor.h:
              * editing/InsertTextCommand.cpp:
              (WebCore::InsertTextCommand::input):
              * editing/InsertTextCommand.h:
              * editing/TypingCommand.cpp:
              (WebCore::TypingCommand::TypingCommand):
              (WebCore::TypingCommand::insertText):
              (WebCore::TypingCommand::insertTextRunWithoutNewlines):
              * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
              (WebCore::TypingCommand::setCompositionType): Added.
              (WebCore::TypingCommand::create):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      94c27d14
  2. 19 Jan, 2011 29 commits
    • tkent@chromium.org's avatar
      2011-01-19 Dominic Cooney <dominicc@google.com> · 8c57bf5d
      tkent@chromium.org authored
              Reviewed by Kent Tamura.
      
              Make <keygen> no longer appear to be a <select> element to script.
              https://bugs.webkit.org/show_bug.cgi?id=52557
      
              The intent is to put <keygen> options into shadow DOM. This change
              takes the first step by hiding the <select> element from
              JavaScript.
      
              Test: fast/dom/HTMLKeygenElement/keygen.html
      
              * CMakeLists.txt: Adds new IDL-derived wrapper.
              * DerivedSources.cpp:
              * DerivedSources.make:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pri:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/gobject/GNUmakefile.am:
              * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
              (WebKit::createKeygenWrapper):
              (WebKit::createHTMLElementWrapper):
              * bindings/objc/DOM.mm:
              (WebCore::createElementClassMap): Keygen no longer DOMHTMLSelectElement
              * html/HTMLKeygenElement.h:
              (WebCore::HTMLKeygenElement::willValidate): Now public.
              * html/HTMLKeygenElement.idl: Added.
              * html/HTMLTagNames.in: Keygen's wrapper is HTMLKeygenElement.
              * page/DOMWindow.idl: Add HTMLKeygenElement constructor.
      
      2011-01-19  Dominic Cooney  <dominicc@google.com>
      
              Reviewed by Kent Tamura.
      
              Make <keygen> no longer appear to be a <select> element to script.
      
              https://bugs.webkit.org/show_bug.cgi?id=52557
      
              * fast/dom/HTMLKeygenElement/keygen-expected.txt: Added.
              * fast/dom/HTMLKeygenElement/keygen-option-select-expected.txt: Removed.
              * fast/dom/HTMLKeygenElement/keygen-option-select.html: Removed.
              * fast/dom/HTMLKeygenElement/keygen.html: Added.
              * fast/dom/Window/window-properties-expected.txt:
              * fast/dom/Window/window-property-descriptors-expected.txt:
              * fast/dom/prototype-inheritance-2-expected.txt:
              * fast/dom/prototype-inheritance-expected.txt:
              * fast/dom/wrapper-classes-expected.txt:
              * fast/dom/wrapper-classes.html:
              * fast/js/global-constructors-expected.txt:
              * platform/mac/fast/dom/wrapper-classes-objc-expected.txt:
              * platform/mac/fast/dom/wrapper-classes-objc.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76208 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c57bf5d
    • dimich@chromium.org's avatar
      2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com> · d95c3038
      dimich@chromium.org authored
              Unreviewed, rolling out r76203.
              http://trac.webkit.org/changeset/76203
              https://bugs.webkit.org/show_bug.cgi?id=52784
      
              Broke Win compile on Chromium bots (Requested by dimich on
              #webkit).
      
              * WebCore.gypi:
              * bindings/v8/V8DOMWindowShell.cpp:
              (WebCore::reportFatalErrorInV8):
              * page/PageGroup.cpp:
              (WebCore::PageGroup::isLinkVisited):
              * platform/android/PlatformBridge.h:
              * platform/audio/chromium/AudioBusChromium.cpp:
              (WebCore::createBusFromInMemoryAudioFile):
              * platform/chromium/ChromiumBridge.h: Added.
              * platform/chromium/ChromiumDataObjectLegacy.cpp:
              (WebCore::ChromiumDataObjectLegacy::getData):
              * platform/chromium/DragDataChromium.cpp:
              (WebCore::DragData::asURL):
              * platform/chromium/FileSystemChromium.cpp:
              (WebCore::deleteFile):
              (WebCore::deleteEmptyDirectory):
              (WebCore::getFileSize):
              (WebCore::getFileModificationTime):
              (WebCore::revealFolderInOS):
              (WebCore::directoryName):
              (WebCore::pathByAppendingComponent):
              (WebCore::makeAllDirectories):
              (WebCore::fileExists):
              (WebCore::openFile):
              (WebCore::closeFile):
              (WebCore::seekFile):
              (WebCore::truncateFile):
              (WebCore::readFromFile):
              (WebCore::writeToFile):
              * platform/chromium/LanguageChromium.cpp:
              (WebCore::platformDefaultLanguage):
              * platform/chromium/LinkHashChromium.cpp:
              (WebCore::visitedLinkHash):
              * platform/chromium/MIMETypeRegistryChromium.cpp:
              (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
              (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
              * platform/chromium/PasteboardChromium.cpp:
              (WebCore::Pasteboard::writeSelection):
              (WebCore::Pasteboard::writePlainText):
              (WebCore::Pasteboard::writeURL):
              (WebCore::Pasteboard::writeImage):
              (WebCore::Pasteboard::canSmartReplace):
              (WebCore::Pasteboard::plainText):
              (WebCore::Pasteboard::documentFragment):
              * platform/chromium/PlatformBridge.h:
              * platform/chromium/PlatformScreenChromium.cpp:
              (WebCore::screenDepth):
              (WebCore::screenDepthPerComponent):
              (WebCore::screenIsMonochrome):
              (WebCore::screenRect):
              (WebCore::screenAvailableRect):
              * platform/chromium/ReadableDataObject.cpp:
              (WebCore::ReadableDataObject::getData):
              (WebCore::ReadableDataObject::urlTitle):
              (WebCore::ReadableDataObject::htmlBaseUrl):
              (WebCore::ReadableDataObject::filenames):
              (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
              * platform/chromium/SSLKeyGeneratorChromium.cpp:
              (WebCore::signedPublicKeyAndChallengeString):
              * platform/chromium/ScrollbarThemeChromium.cpp:
              * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
              (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
              (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
              (WebCore::ScrollbarThemeChromiumLinux::paintButton):
              (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
              (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
              (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
              * platform/chromium/ScrollbarThemeChromiumMac.mm:
              (WebCore::scrollbarStateToThemeState):
              (WebCore::ScrollbarThemeChromiumMac::paint):
              * platform/chromium/ScrollbarThemeChromiumWin.cpp:
              (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
              (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
              (WebCore::ScrollbarThemeChromiumWin::paintButton):
              (WebCore::ScrollbarThemeChromiumWin::paintThumb):
              (WebCore::ScrollbarThemeChromiumWin::buttonSize):
              * platform/chromium/SharedTimerChromium.cpp:
              (WebCore::setSharedTimerFiredFunction):
              (WebCore::setSharedTimerFireTime):
              (WebCore::stopSharedTimer):
              * platform/chromium/SuddenTerminationChromium.cpp:
              (WebCore::disableSuddenTermination):
              (WebCore::enableSuddenTermination):
              * platform/chromium/SystemTimeChromium.cpp:
              (WebCore::currentTime):
              * platform/chromium/WritableDataObject.cpp:
              (WebCore::WritableDataObject::setData):
              * platform/graphics/chromium/CrossProcessFontLoading.mm:
              * platform/graphics/chromium/FontCacheChromiumWin.cpp:
              (WebCore::fontContainsCharacter):
              (WebCore::FillLogFont):
              * platform/graphics/chromium/FontCacheLinux.cpp:
              (WebCore::FontCache::getFontDataForCharacters):
              * platform/graphics/chromium/FontChromiumWin.cpp:
              (WebCore::Font::drawGlyphs):
              * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
              (WebCore::FontPlatformData::scriptFontProperties):
              * platform/graphics/chromium/FontPlatformDataLinux.cpp:
              (WebCore::FontPlatformData::querySystemForRenderStyle):
              * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
              (WebCore::fillBMPGlyphs):
              * platform/graphics/chromium/ImageChromium.cpp:
              (WebCore::Image::loadPlatformResource):
              * platform/graphics/chromium/ImageChromiumMac.mm:
              (WebCore::Image::loadPlatformResource):
              * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
              (WebCore::SimpleFontData::platformInit):
              (WebCore::SimpleFontData::determinePitch):
              (WebCore::SimpleFontData::platformWidthForGlyph):
              * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
              (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
              * platform/graphics/skia/FontCustomPlatformData.cpp:
              (WebCore::FontCustomPlatformData::fontPlatformData):
              * platform/network/chromium/CookieJarChromium.cpp:
              (WebCore::setCookies):
              (WebCore::cookies):
              (WebCore::cookieRequestHeaderFieldValue):
              (WebCore::cookiesEnabled):
              (WebCore::getRawCookies):
              (WebCore::deleteCookie):
              * platform/network/chromium/DNSChromium.cpp:
              (WebCore::prefetchDNS):
              * platform/qt/PlatformBridge.h:
              * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
              (WebCore::SQLiteFileSystem::deleteDatabaseFile):
              (WebCore::SQLiteFileSystem::getDatabaseFileSize):
              * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
              (chromiumOpen):
              (chromiumDelete):
              (chromiumAccess):
              * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
              * plugins/chromium/PluginDataChromium.cpp:
              (WebCore::PluginCache::plugins):
              * rendering/RenderThemeChromiumMac.mm:
              (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
              * rendering/RenderThemeChromiumSkia.cpp:
              (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
              * rendering/RenderThemeChromiumWin.cpp:
              (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
              (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
              (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
              (WebCore::RenderThemeChromiumWin::systemColor):
              (WebCore::RenderThemeChromiumWin::paintButton):
              (WebCore::RenderThemeChromiumWin::paintSliderTrack):
              (WebCore::menuListButtonWidth):
              (WebCore::RenderThemeChromiumWin::paintMenuList):
              (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
              (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
              (WebCore::RenderThemeChromiumWin::paintProgressBar):
              * storage/chromium/IDBFactoryBackendInterface.cpp:
              (WebCore::IDBFactoryBackendInterface::create):
              (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
              * storage/chromium/IDBKeyPathBackendImpl.cpp:
              (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
      2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r76203.
              http://trac.webkit.org/changeset/76203
              https://bugs.webkit.org/show_bug.cgi?id=52784
      
              Broke Win compile on Chromium bots (Requested by dimich on
              #webkit).
      
              * WebKit.gyp:
              * src/AssertMatchingEnums.cpp:
              * src/ChromiumBridge.cpp: Renamed from Source/WebKit/chromium/src/PlatformBridge.cpp.
              (WebCore::toChromeClientImpl):
              (WebCore::toWebWidgetClient):
              (WebCore::getCookieJar):
              (WebCore::ChromiumBridge::cacheMetadata):
              (WebCore::ChromiumBridge::clipboardIsFormatAvailable):
              (WebCore::ChromiumBridge::clipboardReadPlainText):
              (WebCore::ChromiumBridge::clipboardReadHTML):
              (WebCore::ChromiumBridge::clipboardWriteSelection):
              (WebCore::ChromiumBridge::clipboardWritePlainText):
              (WebCore::ChromiumBridge::clipboardWriteURL):
              (WebCore::ChromiumBridge::clipboardWriteImage):
              (WebCore::ChromiumBridge::clipboardWriteData):
              (WebCore::ChromiumBridge::clipboardReadAvailableTypes):
              (WebCore::ChromiumBridge::clipboardReadData):
              (WebCore::ChromiumBridge::clipboardReadFilenames):
              (WebCore::ChromiumBridge::setCookies):
              (WebCore::ChromiumBridge::cookies):
              (WebCore::ChromiumBridge::cookieRequestHeaderFieldValue):
              (WebCore::ChromiumBridge::rawCookies):
              (WebCore::ChromiumBridge::deleteCookie):
              (WebCore::ChromiumBridge::cookiesEnabled):
              (WebCore::ChromiumBridge::prefetchDNS):
              (WebCore::ChromiumBridge::fileExists):
              (WebCore::ChromiumBridge::deleteFile):
              (WebCore::ChromiumBridge::deleteEmptyDirectory):
              (WebCore::ChromiumBridge::getFileSize):
              (WebCore::ChromiumBridge::revealFolderInOS):
              (WebCore::ChromiumBridge::getFileModificationTime):
              (WebCore::ChromiumBridge::directoryName):
              (WebCore::ChromiumBridge::pathByAppendingComponent):
              (WebCore::ChromiumBridge::makeAllDirectories):
              (WebCore::ChromiumBridge::getAbsolutePath):
              (WebCore::ChromiumBridge::isDirectory):
              (WebCore::ChromiumBridge::filePathToURL):
              (WebCore::ChromiumBridge::openFile):
              (WebCore::ChromiumBridge::closeFile):
              (WebCore::ChromiumBridge::seekFile):
              (WebCore::ChromiumBridge::truncateFile):
              (WebCore::ChromiumBridge::readFromFile):
              (WebCore::ChromiumBridge::writeToFile):
              (WebCore::ChromiumBridge::ensureFontLoaded):
              (WebCore::ChromiumBridge::getFontFamilyForCharacters):
              (WebCore::ChromiumBridge::getRenderStyleForStrike):
              (WebCore::ChromiumBridge::loadFont):
              (WebCore::ChromiumBridge::databaseOpenFile):
              (WebCore::ChromiumBridge::databaseDeleteFile):
              (WebCore::ChromiumBridge::databaseGetFileAttributes):
              (WebCore::ChromiumBridge::databaseGetFileSize):
              (WebCore::ChromiumBridge::idbFactory):
              (WebCore::ChromiumBridge::idbShutdown):
              (WebCore::ChromiumBridge::createIDBKeysFromSerializedValuesAndKeyPath):
              (WebCore::ChromiumBridge::signedPublicKeyAndChallengeString):
              (WebCore::ChromiumBridge::computedDefaultLanguage):
              (WebCore::ChromiumBridge::layoutTestMode):
              (WebCore::ChromiumBridge::isSupportedImageMIMEType):
              (WebCore::ChromiumBridge::isSupportedJavaScriptMIMEType):
              (WebCore::ChromiumBridge::isSupportedNonImageMIMEType):
              (WebCore::ChromiumBridge::mimeTypeForExtension):
              (WebCore::ChromiumBridge::mimeTypeFromFile):
              (WebCore::ChromiumBridge::preferredExtensionForMIMEType):
              (WebCore::ChromiumBridge::plugins):
              (WebCore::ChromiumBridge::pluginScriptableObject):
              (WebCore::ChromiumBridge::loadPlatformImageResource):
              (WebCore::ChromiumBridge::loadPlatformAudioResource):
              (WebCore::ChromiumBridge::decodeAudioFileData):
              (WebCore::ChromiumBridge::sandboxEnabled):
              (WebCore::ChromiumBridge::setSharedTimerFiredFunction):
              (WebCore::ChromiumBridge::setSharedTimerFireTime):
              (WebCore::ChromiumBridge::stopSharedTimer):
              (WebCore::ChromiumBridge::decrementStatsCounter):
              (WebCore::ChromiumBridge::incrementStatsCounter):
              (WebCore::ChromiumBridge::histogramCustomCounts):
              (WebCore::ChromiumBridge::histogramEnumeration):
              (WebCore::ChromiumBridge::suddenTerminationChanged):
              (WebCore::ChromiumBridge::currentTime):
              (WebCore::ChromiumBridge::paintButton):
              (WebCore::ChromiumBridge::paintMenuList):
              (WebCore::ChromiumBridge::paintScrollbarArrow):
              (WebCore::ChromiumBridge::paintScrollbarThumb):
              (WebCore::ChromiumBridge::paintScrollbarTrack):
              (WebCore::ChromiumBridge::paintSpinButton):
              (WebCore::ChromiumBridge::paintTextField):
              (WebCore::ChromiumBridge::paintTrackbar):
              (WebCore::ChromiumBridge::paintProgressBar):
              (WebCore::WebThemePart):
              (WebCore::WebThemeState):
              (WebCore::GetWebThemeExtraParams):
              (WebCore::ChromiumBridge::getThemePartSize):
              (WebCore::ChromiumBridge::paintThemePart):
              (WebCore::ChromiumBridge::traceEventBegin):
              (WebCore::ChromiumBridge::traceEventEnd):
              (WebCore::ChromiumBridge::visitedLinkHash):
              (WebCore::ChromiumBridge::isLinkVisited):
              (WebCore::ChromiumBridge::notifyJSOutOfMemory):
              (WebCore::ChromiumBridge::memoryUsageMB):
              (WebCore::ChromiumBridge::actualMemoryUsageMB):
              (WebCore::ChromiumBridge::screenDepth):
              (WebCore::ChromiumBridge::screenDepthPerComponent):
              (WebCore::ChromiumBridge::screenIsMonochrome):
              (WebCore::ChromiumBridge::screenRect):
              (WebCore::ChromiumBridge::screenAvailableRect):
              (WebCore::ChromiumBridge::popupsAllowed):
              (WebCore::WorkerContextProxy::create):
              * src/ResourceHandle.cpp:
              (WebCore::ResourceHandle::cacheMetadata):
              * src/WebFrameImpl.cpp:
              (WebKit::WebFrameImpl::WebFrameImpl):
              (WebKit::WebFrameImpl::~WebFrameImpl):
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d95c3038
    • commit-queue@webkit.org's avatar
      2011-01-19 Helder Correia <helder@sencha.com> · 3b7f79bf
      commit-queue@webkit.org authored
              Reviewed by Andreas Kling.
      
              [Qt] GraphicsContext::strokePath() paints solid shadows with incorrect alpha
              https://bugs.webkit.org/show_bug.cgi?id=52705
      
              This is related to bug 52611. The shadow color alpha must be multiplied
              by the context pen alpha. Fixing this results in correct behavior for
              Canvas path stroke() and strokeRect() [which relies on stroke()].
      
              * fast/canvas/canvas-strokePath-alpha-shadow-expected.txt: Added.
              * fast/canvas/canvas-strokePath-alpha-shadow.html: Added.
              * fast/canvas/canvas-strokeRect-alpha-shadow-expected.txt: Added.
              * fast/canvas/canvas-strokeRect-alpha-shadow.html: Added.
              * fast/canvas/script-tests/canvas-strokePath-alpha-shadow.js: Added.
              * fast/canvas/script-tests/canvas-strokeRect-alpha-shadow.js: Added.
      2011-01-19  Helder Correia  <helder@sencha.com>
      
              Reviewed by Andreas Kling.
      
              [Qt] GraphicsContext::strokePath() paints solid shadows with incorrect alpha
              https://bugs.webkit.org/show_bug.cgi?id=52705
      
              This is related to bug 52611. The shadow color alpha must be multiplied
              by the context pen alpha. Fixing this results in correct behavior for
              Canvas path stroke() and strokeRect() [which relies on stroke()].
      
              Tests: fast/canvas/canvas-strokePath-alpha-shadow.html
                     fast/canvas/canvas-strokeRect-alpha-shadow.html
      
              * platform/graphics/qt/GraphicsContextQt.cpp:
              (WebCore::GraphicsContext::strokePath):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76206 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b7f79bf
    • darin@chromium.org's avatar
      2011-01-19 Darin Fisher <darin@chromium.org> · f44ff465
      darin@chromium.org authored
              Reviewed by Mihai Parparita.
      
              Re-initialize the HistoryItem fully when navigating to a HistoryItem,
              or replacing a HistoryItem, results in a different URL.
      
              https://bugs.webkit.org/show_bug.cgi?id=49654
      
              This patch also forces all HistoryItems to record the post-redirect
              URL.  Previously, frames would remember the pre-redirect URL.  This is
              problematic since other members of the HistoryItem correspond to the
              post-redirect URL.
      
              Tests: fast/history/history-replace-updates-current-item.html
                     http/tests/navigation/redirect-on-back-updates-history-item.html
                     http/tests/navigation/redirect-on-reload-updates-history-item.html
      
              * history/HistoryItem.cpp:
              (WebCore::HistoryItem::HistoryItem):
              (WebCore::HistoryItem::reset):
              * history/HistoryItem.h:
              * loader/HistoryController.cpp:
              (WebCore::HistoryController::updateForBackForwardNavigation):
              (WebCore::HistoryController::updateForReload):
              (WebCore::HistoryController::updateForStandardLoad):
              (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
              (WebCore::HistoryController::initializeItem):
              (WebCore::HistoryController::createItem):
              (WebCore::HistoryController::createItemTree):
              (WebCore::HistoryController::updateCurrentItem):
              * loader/HistoryController.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f44ff465
    • commit-queue@webkit.org's avatar
      2011-01-19 Adam Klein <adamk@chromium.org> · bd7bcda0
      commit-queue@webkit.org authored
              Reviewed by Darin Fisher.
      
              [chromium] Rename ChromiumBridge to PlatformBridge
              https://bugs.webkit.org/show_bug.cgi?id=52471
      
              No tests added as this is a rename; no change in behavior.
      
              * WebCore.gypi:
              * bindings/v8/V8DOMWindowShell.cpp:
              (WebCore::reportFatalErrorInV8):
              * page/PageGroup.cpp:
              (WebCore::PageGroup::isLinkVisited):
              * platform/android/PlatformBridge.h:
              * platform/audio/chromium/AudioBusChromium.cpp:
              (WebCore::createBusFromInMemoryAudioFile):
              * platform/chromium/ChromiumBridge.h: Removed.
              * platform/chromium/ChromiumDataObjectLegacy.cpp:
              (WebCore::ChromiumDataObjectLegacy::getData):
              * platform/chromium/DragDataChromium.cpp:
              (WebCore::DragData::asURL):
              * platform/chromium/FileSystemChromium.cpp:
              (WebCore::deleteFile):
              (WebCore::deleteEmptyDirectory):
              (WebCore::getFileSize):
              (WebCore::getFileModificationTime):
              (WebCore::revealFolderInOS):
              (WebCore::directoryName):
              (WebCore::pathByAppendingComponent):
              (WebCore::makeAllDirectories):
              (WebCore::fileExists):
              (WebCore::openFile):
              (WebCore::closeFile):
              (WebCore::seekFile):
              (WebCore::truncateFile):
              (WebCore::readFromFile):
              (WebCore::writeToFile):
              * platform/chromium/LanguageChromium.cpp:
              (WebCore::platformDefaultLanguage):
              * platform/chromium/LinkHashChromium.cpp:
              (WebCore::visitedLinkHash):
              * platform/chromium/MIMETypeRegistryChromium.cpp:
              (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
              (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
              * platform/chromium/PasteboardChromium.cpp:
              (WebCore::Pasteboard::writeSelection):
              (WebCore::Pasteboard::writePlainText):
              (WebCore::Pasteboard::writeURL):
              (WebCore::Pasteboard::writeImage):
              (WebCore::Pasteboard::canSmartReplace):
              (WebCore::Pasteboard::plainText):
              (WebCore::Pasteboard::documentFragment):
              * platform/chromium/PlatformBridge.h:
              * platform/chromium/PlatformScreenChromium.cpp:
              (WebCore::screenDepth):
              (WebCore::screenDepthPerComponent):
              (WebCore::screenIsMonochrome):
              (WebCore::screenRect):
              (WebCore::screenAvailableRect):
              * platform/chromium/ReadableDataObject.cpp:
              (WebCore::ReadableDataObject::getData):
              (WebCore::ReadableDataObject::urlTitle):
              (WebCore::ReadableDataObject::htmlBaseUrl):
              (WebCore::ReadableDataObject::filenames):
              (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
              * platform/chromium/SSLKeyGeneratorChromium.cpp:
              (WebCore::signedPublicKeyAndChallengeString):
              * platform/chromium/ScrollbarThemeChromium.cpp:
              * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
              (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
              (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
              (WebCore::ScrollbarThemeChromiumLinux::paintButton):
              (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
              (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
              (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
              * platform/chromium/ScrollbarThemeChromiumMac.mm:
              (WebCore::scrollbarStateToThemeState):
              (WebCore::ScrollbarThemeChromiumMac::paint):
              * platform/chromium/ScrollbarThemeChromiumWin.cpp:
              (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
              (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
              (WebCore::ScrollbarThemeChromiumWin::paintButton):
              (WebCore::ScrollbarThemeChromiumWin::paintThumb):
              (WebCore::ScrollbarThemeChromiumWin::buttonSize):
              * platform/chromium/SharedTimerChromium.cpp:
              (WebCore::setSharedTimerFiredFunction):
              (WebCore::setSharedTimerFireTime):
              (WebCore::stopSharedTimer):
              * platform/chromium/SuddenTerminationChromium.cpp:
              (WebCore::disableSuddenTermination):
              (WebCore::enableSuddenTermination):
              * platform/chromium/SystemTimeChromium.cpp:
              (WebCore::currentTime):
              * platform/chromium/WritableDataObject.cpp:
              (WebCore::WritableDataObject::setData):
              * platform/graphics/chromium/CrossProcessFontLoading.mm:
              * platform/graphics/chromium/FontCacheChromiumWin.cpp:
              (WebCore::fontContainsCharacter):
              (WebCore::FillLogFont):
              * platform/graphics/chromium/FontCacheLinux.cpp:
              (WebCore::FontCache::getFontDataForCharacters):
              * platform/graphics/chromium/FontChromiumWin.cpp:
              (WebCore::Font::drawGlyphs):
              * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
              (WebCore::FontPlatformData::scriptFontProperties):
              * platform/graphics/chromium/FontPlatformDataLinux.cpp:
              (WebCore::FontPlatformData::querySystemForRenderStyle):
              * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
              (WebCore::fillBMPGlyphs):
              * platform/graphics/chromium/ImageChromium.cpp:
              (WebCore::Image::loadPlatformResource):
              * platform/graphics/chromium/ImageChromiumMac.mm:
              (WebCore::Image::loadPlatformResource):
              * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
              (WebCore::SimpleFontData::platformInit):
              (WebCore::SimpleFontData::determinePitch):
              (WebCore::SimpleFontData::platformWidthForGlyph):
              * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
              (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
              * platform/graphics/skia/FontCustomPlatformData.cpp:
              (WebCore::FontCustomPlatformData::fontPlatformData):
              * platform/network/chromium/CookieJarChromium.cpp:
              (WebCore::setCookies):
              (WebCore::cookies):
              (WebCore::cookieRequestHeaderFieldValue):
              (WebCore::cookiesEnabled):
              (WebCore::getRawCookies):
              (WebCore::deleteCookie):
              * platform/network/chromium/DNSChromium.cpp:
              (WebCore::prefetchDNS):
              * platform/qt/PlatformBridge.h:
              * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
              (WebCore::SQLiteFileSystem::deleteDatabaseFile):
              (WebCore::SQLiteFileSystem::getDatabaseFileSize):
              * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
              (chromiumOpen):
              (chromiumDelete):
              (chromiumAccess):
              * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
              * plugins/chromium/PluginDataChromium.cpp:
              (WebCore::PluginCache::plugins):
              * rendering/RenderThemeChromiumMac.mm:
              (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
              * rendering/RenderThemeChromiumSkia.cpp:
              (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
              * rendering/RenderThemeChromiumWin.cpp:
              (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
              (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
              (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
              (WebCore::RenderThemeChromiumWin::systemColor):
              (WebCore::RenderThemeChromiumWin::paintButton):
              (WebCore::RenderThemeChromiumWin::paintSliderTrack):
              (WebCore::menuListButtonWidth):
              (WebCore::RenderThemeChromiumWin::paintMenuList):
              (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
              (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
              (WebCore::RenderThemeChromiumWin::paintProgressBar):
              * storage/chromium/IDBFactoryBackendInterface.cpp:
              (WebCore::IDBFactoryBackendInterface::create):
              (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
              * storage/chromium/IDBKeyPathBackendImpl.cpp:
              (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
      2011-01-19  Adam Klein  <adamk@chromium.org>
      
              Reviewed by Darin Fisher.
      
              [chromium] Rename ChromiumBridge to PlatformBridge
              https://bugs.webkit.org/show_bug.cgi?id=52471
      
              * WebKit.gyp:
              * src/AssertMatchingEnums.cpp:
              * src/PlatformBridge.cpp:
              (WebCore::toChromeClientImpl):
              (WebCore::toWebWidgetClient):
              (WebCore::getCookieJar):
              (WebCore::PlatformBridge::cacheMetadata):
              (WebCore::PlatformBridge::clipboardIsFormatAvailable):
              (WebCore::PlatformBridge::clipboardReadPlainText):
              (WebCore::PlatformBridge::clipboardReadHTML):
              (WebCore::PlatformBridge::clipboardWriteSelection):
              (WebCore::PlatformBridge::clipboardWritePlainText):
              (WebCore::PlatformBridge::clipboardWriteURL):
              (WebCore::PlatformBridge::clipboardWriteImage):
              (WebCore::PlatformBridge::clipboardWriteData):
              (WebCore::PlatformBridge::clipboardReadAvailableTypes):
              (WebCore::PlatformBridge::clipboardReadData):
              (WebCore::PlatformBridge::clipboardReadFilenames):
              (WebCore::PlatformBridge::setCookies):
              (WebCore::PlatformBridge::cookies):
              (WebCore::PlatformBridge::cookieRequestHeaderFieldValue):
              (WebCore::PlatformBridge::rawCookies):
              (WebCore::PlatformBridge::deleteCookie):
              (WebCore::PlatformBridge::cookiesEnabled):
              (WebCore::PlatformBridge::prefetchDNS):
              (WebCore::PlatformBridge::fileExists):
              (WebCore::PlatformBridge::deleteFile):
              (WebCore::PlatformBridge::deleteEmptyDirectory):
              (WebCore::PlatformBridge::getFileSize):
              (WebCore::PlatformBridge::revealFolderInOS):
              (WebCore::PlatformBridge::getFileModificationTime):
              (WebCore::PlatformBridge::directoryName):
              (WebCore::PlatformBridge::pathByAppendingComponent):
              (WebCore::PlatformBridge::makeAllDirectories):
              (WebCore::PlatformBridge::getAbsolutePath):
              (WebCore::PlatformBridge::isDirectory):
              (WebCore::PlatformBridge::filePathToURL):
              (WebCore::PlatformBridge::openFile):
              (WebCore::PlatformBridge::closeFile):
              (WebCore::PlatformBridge::seekFile):
              (WebCore::PlatformBridge::truncateFile):
              (WebCore::PlatformBridge::readFromFile):
              (WebCore::PlatformBridge::writeToFile):
              (WebCore::PlatformBridge::ensureFontLoaded):
              (WebCore::PlatformBridge::getFontFamilyForCharacters):
              (WebCore::PlatformBridge::getRenderStyleForStrike):
              (WebCore::PlatformBridge::loadFont):
              (WebCore::PlatformBridge::databaseOpenFile):
              (WebCore::PlatformBridge::databaseDeleteFile):
              (WebCore::PlatformBridge::databaseGetFileAttributes):
              (WebCore::PlatformBridge::databaseGetFileSize):
              (WebCore::PlatformBridge::idbFactory):
              (WebCore::PlatformBridge::idbShutdown):
              (WebCore::PlatformBridge::createIDBKeysFromSerializedValuesAndKeyPath):
              (WebCore::PlatformBridge::signedPublicKeyAndChallengeString):
              (WebCore::PlatformBridge::computedDefaultLanguage):
              (WebCore::PlatformBridge::layoutTestMode):
              (WebCore::PlatformBridge::isSupportedImageMIMEType):
              (WebCore::PlatformBridge::isSupportedJavaScriptMIMEType):
              (WebCore::PlatformBridge::isSupportedNonImageMIMEType):
              (WebCore::PlatformBridge::mimeTypeForExtension):
              (WebCore::PlatformBridge::mimeTypeFromFile):
              (WebCore::PlatformBridge::preferredExtensionForMIMEType):
              (WebCore::PlatformBridge::plugins):
              (WebCore::PlatformBridge::pluginScriptableObject):
              (WebCore::PlatformBridge::loadPlatformImageResource):
              (WebCore::PlatformBridge::loadPlatformAudioResource):
              (WebCore::PlatformBridge::decodeAudioFileData):
              (WebCore::PlatformBridge::sandboxEnabled):
              (WebCore::PlatformBridge::setSharedTimerFiredFunction):
              (WebCore::PlatformBridge::setSharedTimerFireTime):
              (WebCore::PlatformBridge::stopSharedTimer):
              (WebCore::PlatformBridge::decrementStatsCounter):
              (WebCore::PlatformBridge::incrementStatsCounter):
              (WebCore::PlatformBridge::histogramCustomCounts):
              (WebCore::PlatformBridge::histogramEnumeration):
              (WebCore::PlatformBridge::suddenTerminationChanged):
              (WebCore::PlatformBridge::currentTime):
              (WebCore::PlatformBridge::paintButton):
              (WebCore::PlatformBridge::paintMenuList):
              (WebCore::PlatformBridge::paintScrollbarArrow):
              (WebCore::PlatformBridge::paintScrollbarThumb):
              (WebCore::PlatformBridge::paintScrollbarTrack):
              (WebCore::PlatformBridge::paintSpinButton):
              (WebCore::PlatformBridge::paintTextField):
              (WebCore::PlatformBridge::paintTrackbar):
              (WebCore::PlatformBridge::paintProgressBar):
              (WebCore::WebThemePart):
              (WebCore::WebThemeState):
              (WebCore::GetWebThemeExtraParams):
              (WebCore::PlatformBridge::getThemePartSize):
              (WebCore::PlatformBridge::paintThemePart):
              (WebCore::PlatformBridge::traceEventBegin):
              (WebCore::PlatformBridge::traceEventEnd):
              (WebCore::PlatformBridge::visitedLinkHash):
              (WebCore::PlatformBridge::isLinkVisited):
              (WebCore::PlatformBridge::notifyJSOutOfMemory):
              (WebCore::PlatformBridge::memoryUsageMB):
              (WebCore::PlatformBridge::actualMemoryUsageMB):
              (WebCore::PlatformBridge::screenDepth):
              (WebCore::PlatformBridge::screenDepthPerComponent):
              (WebCore::PlatformBridge::screenIsMonochrome):
              (WebCore::PlatformBridge::screenRect):
              (WebCore::PlatformBridge::screenAvailableRect):
              (WebCore::PlatformBridge::popupsAllowed):
              (WebCore::WorkerContextProxy::create):
              * src/ResourceHandle.cpp:
              (WebCore::ResourceHandle::cacheMetadata):
              * src/WebFrameImpl.cpp:
              (WebKit::WebFrameImpl::WebFrameImpl):
              (WebKit::WebFrameImpl::~WebFrameImpl):
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd7bcda0
    • dimich@chromium.org's avatar
      2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com> · 16454021
      dimich@chromium.org authored
              Unreviewed, rolling out r76187.
              http://trac.webkit.org/changeset/76187
              https://bugs.webkit.org/show_bug.cgi?id=52778
      
              Broke caret-showing tests on SnowLeopard and Chromium
              (Requested by dimich on #webkit).
      
              * editing/selection/caret-painting-in-overflowing-autowrap-content.html: Removed.
              * editing/selection/resources/iframe-positioning-caret-at-end.html: Removed.
              * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.checksum: Removed.
              * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.png: Removed.
              * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.txt: Removed.
      2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r76187.
              http://trac.webkit.org/changeset/76187
              https://bugs.webkit.org/show_bug.cgi?id=52778
      
              Broke caret-showing tests on SnowLeopard and Chromium
              (Requested by dimich on #webkit).
      
              * rendering/RenderText.cpp:
              (WebCore::RenderText::localCaretRect):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      16454021
    • yuzo@google.com's avatar
      2011-01-19 Yuzo Fujishima <yuzo@google.com> · ab365cee
      yuzo@google.com authored
              Reviewed by Kent Tamura.
      
              Fix for Bug 52279 - WebCore::RenderBlock::updateFirstLetter crashes for anonymous blocks
              https://bugs.webkit.org/show_bug.cgi?id=52279
      
              * fast/css/first-letter-anonymous-block-crash-expected.txt: Added.
              * fast/css/first-letter-anonymous-block-crash.html: Added.
      2011-01-19  Yuzo Fujishima  <yuzo@google.com>
      
              Reviewed by Kent Tamura.
      
              Fix for Bug 52279 - WebCore::RenderBlock::updateFirstLetter crashes for anonymous blocks
              https://bugs.webkit.org/show_bug.cgi?id=52279
      
              In constructing text fragments to handle first-letter rule, first add
              the text for the non-first letters and then remove the original text,
              rather than the other way around. Otherwise, the text can be added to
              an anoymous block that is different from the original one. This breaks
              the assumption that a first letter render object has a non-null sibling
              for the non-first letters and causes a crash.
      
              Test: fast/css/first-letter-anonymous-block-crash.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::updateFirstLetter):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76201 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ab365cee
    • jamesr@google.com's avatar
      2011-01-19 James Robinson <jamesr@chromium.org> · 1a6b9bb0
      jamesr@google.com authored
              Unreviewed, rolling out r76194.
              http://trac.webkit.org/changeset/76194
              https://bugs.webkit.org/show_bug.cgi?id=51218
      
              Caused mysterious compile failure on the chromium win
              build.webkit.org bots
      
              * fast/animation/request-animation-frame-cancel-expected.txt: Removed.
              * fast/animation/request-animation-frame-cancel.html: Removed.
              * fast/animation/request-animation-frame-cancel2-expected.txt: Removed.
              * fast/animation/request-animation-frame-cancel2.html: Removed.
              * fast/animation/request-animation-frame-display-expected.txt: Removed.
              * fast/animation/request-animation-frame-display.html: Removed.
              * fast/animation/request-animation-frame-expected.txt: Removed.
              * fast/animation/request-animation-frame-within-callback-expected.txt: Removed.
              * fast/animation/request-animation-frame-within-callback.html: Removed.
              * fast/animation/request-animation-frame.html: Removed.
              * platform/chromium/test_expectations.txt:
              * platform/gtk/Skipped:
              * platform/mac/Skipped:
              * platform/qt/Skipped:
              * platform/win/Skipped:
      2011-01-19  James Robinson  <jamesr@chromium.org>
      
              Unreviewed, rolling out r76194.
              http://trac.webkit.org/changeset/76194
              https://bugs.webkit.org/show_bug.cgi?id=51218
      
              Caused mysterious compile failure on the chromium win
              build.webkit.org bots
      
              * WebCore.gypi:
              * dom/Document.cpp:
              (WebCore::Document::Document):
              * dom/Document.h:
              * dom/RequestAnimationFrameCallback.h: Removed.
              * dom/RequestAnimationFrameCallback.idl: Removed.
              * loader/EmptyClients.h:
              * page/Chrome.cpp:
              * page/Chrome.h:
              * page/ChromeClient.h:
              * page/DOMWindow.cpp:
              * page/DOMWindow.h:
              * page/DOMWindow.idl:
              * page/FrameView.cpp:
              * page/FrameView.h:
              * platform/HostWindow.h:
      2011-01-19  James Robinson  <jamesr@chromium.org>
      
              Unreviewed, rolling out r76194.
              http://trac.webkit.org/changeset/76194
              https://bugs.webkit.org/show_bug.cgi?id=51218
      
              Caused mysterious compile failure on the chromium win
              build.webkit.org bots
      
              * features.gypi:
              * public/WebWidget.h:
              * public/WebWidgetClient.h:
              * src/ChromeClientImpl.cpp:
              * src/ChromeClientImpl.h:
              * src/WebPopupMenuImpl.cpp:
              * src/WebPopupMenuImpl.h:
              * src/WebViewImpl.cpp:
              * src/WebViewImpl.h:
      2011-01-19  James Robinson  <jamesr@chromium.org>
      
              Unreviewed, rolling out r76194.
              http://trac.webkit.org/changeset/76194
              https://bugs.webkit.org/show_bug.cgi?id=51218
      
              Caused mysterious compile failure on the chromium win
              build.webkit.org bots
      
              * DumpRenderTree/chromium/WebViewHost.cpp:
              (WebViewHost::paintInvalidatedRegion):
              * DumpRenderTree/chromium/WebViewHost.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76198 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a6b9bb0
    • simon.fraser@apple.com's avatar
      2011-01-19 Simon Fraser <simon.fraser@apple.com> · c961f41a
      simon.fraser@apple.com authored
              Reviewed by Sam Weinig.
      
              GraphicsLayers in subframes can get sync'd multiple times
              https://bugs.webkit.org/show_bug.cgi?id=52489
      
              Some cleanup that will work towards fixing this bug.
      
              Tested by existing iframe compositing tests.
      
              * WebCore.exp.in: syncCompositingStateRecursive()
              was renamed to syncCompositingStateIncludingSubframes().
      
              * page/FrameView.h:
              * page/FrameView.cpp:
              (WebCore::FrameView::syncCompositingStateForThisFrame): Some
              code cleanup: do all the word we need to do for this frame,
              including the needsLayout() check.
              (WebCore::FrameView::syncCompositingStateIncludingSubframes):
              This is no longer recursive; instead, it iterates over descendant
              frames via the frame tree, calling syncCompositingStateForThisFrame()
              on each Frame's view.
      
              * rendering/RenderLayerCompositor.h:
              (WebCore::RenderLayerCompositor::isFlushingLayers): Getter for the flag.
              * rendering/RenderLayerCompositor.cpp:
              (WebCore::RenderLayerCompositor::RenderLayerCompositor):
              (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Maintain
              a flag to say if we're flushing, which allows us to assert on re-entrant flushes.
              (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers):
              Add the ability to get the rootmost compositor that is in the middle
              of a flush.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c961f41a
    • jamesr@google.com's avatar
      2011-01-19 James Robinson <jamesr@chromium.org> · 7e243a38
      jamesr@google.com authored
              Reviewed by Darin Fisher.
      
              Implement mozilla's requestAnimationFrame API
              https://bugs.webkit.org/show_bug.cgi?id=51218
      
              Tests for window.webkitRequestAnimationFrame().  The new tests
              are in the Skipped lists for platforms that do not set
              ENABLE(REQUEST_ANIMATION_FRAME) - which is currently all but chromium.
      
              * fast/animation/request-animation-frame-cancel-expected.txt: Added.
              * fast/animation/request-animation-frame-cancel.html: Added.
                  Tests cancelling a callback within a webkitRequestAnimationFrame() callback.
              * fast/animation/request-animation-frame-cancel2-expected.txt: Added.
              * fast/animation/request-animation-frame-cancel2.html: Added.
                  Tests interactions between multiple webkitRequestAnimationFrame() callbacks.
              * fast/animation/request-animation-frame-display-expected.txt: Added.
              * fast/animation/request-animation-frame-display.html: Added.
                  Tests changing the display: property of an element within a callback.
              * fast/animation/request-animation-frame-expected.txt: Added.
              * fast/animation/request-animation-frame.html: Added.
                  Tests the basic use of window.webkitRequestAnimationFrame().
              * fast/animation/request-animation-frame-within-callback-expected.txt: Added.
              * fast/animation/request-animation-frame-within-callback.html: Added.
                  Tests setting one webkit.webkitRequestAnimationFrame() callback within another.
              * platform/gtk/Skipped:
              * platform/mac/Skipped:
              * platform/qt/Skipped:
              * platform/win/Skipped:
      2011-01-19  James Robinson  <jamesr@chromium.org>
      
              Reviewed by Darin Fisher.
      
              Implement mozilla's requestAnimationFrame API
              https://bugs.webkit.org/show_bug.cgi?id=51218
      
              This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
              an author driving an animation from script could use window.requestAnimationFrame(callback)
              instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
              decide when to update the animations.  This avoids doing unnecessary work when the page content
              is offscreen or is being displayed at a different framerate than what the page author expects.
      
              Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
              This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
              following changes:
              *) Only the callback syntax is supported, there is no before paint event
              *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
                  what content they intend to animate.  That way if the page is being displayed but the element
                  in question is offscreen, we can avoid invoking the callback.
              *) No timestamp is provided to the caller and there is no window.animationStartTime property
                  (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
              *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
                  using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().
      
              The implementation depends on the embedder scheduling the callbacks since the callback invocation
              depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
              to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
              called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
              Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
              embedder has to rate limit callbacks and may not be able to tie the callback directly to the
              rendering loop.
      
              Tests: fast/animation/request-animation-frame-cancel.html
                     fast/animation/request-animation-frame-cancel2.html
                     fast/animation/request-animation-frame-display.html
                     fast/animation/request-animation-frame-within-callback.html
                     fast/animation/request-animation-frame.html
      
              * WebCore.gypi:
              * dom/Document.cpp:
              (WebCore::Document::Document):
              (WebCore::Document::webkitRequestAnimationFrame):
              (WebCore::Document::webkitCancelRequestAnimationFrame):
              (WebCore::Document::serviceScriptedAnimations):
              * dom/Document.h:
              * dom/RequestAnimationFrameCallback.h: Added.
              (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
              * dom/RequestAnimationFrameCallback.idl: Added.
              * loader/EmptyClients.h:
              (WebCore::EmptyChromeClient::scheduleAnimation):
              * page/Chrome.cpp:
              (WebCore::Chrome::scheduleAnimation):
              * page/Chrome.h:
              * page/ChromeClient.h:
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::webkitRequestAnimationFrame):
              (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
              * page/DOMWindow.h:
              * page/DOMWindow.idl:
              * page/FrameView.cpp:
              (WebCore::FrameView::scheduleAnimation):
              (WebCore::FrameView::serviceScriptedAnimations):
              * page/FrameView.h:
              * platform/HostWindow.h:
      2011-01-19  James Robinson  <jamesr@chromium.org>
      
              Reviewed by Darin Fisher.
      
              Implement mozilla's requestAnimationFrame API
              https://bugs.webkit.org/show_bug.cgi?id=51218
      
              Chromium WebKit API support for window.webkitRequestAnimationFrame()
      
              * features.gypi:
              * public/WebWidget.h:
              * public/WebWidgetClient.h:
              (WebKit::WebWidgetClient::scheduleAnimation):
              * src/ChromeClientImpl.cpp:
              (WebKit::ChromeClientImpl::scheduleAnimation):
              * src/ChromeClientImpl.h:
              * src/WebPopupMenuImpl.cpp:
              (WebKit::WebPopupMenuImpl::animate):
              (WebKit::WebPopupMenuImpl::scheduleAnimation):
              * src/WebPopupMenuImpl.h:
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::animate):
              * src/WebViewImpl.h:
      2011-01-19  James Robinson  <jamesr@chromium.org>
      
              Reviewed by Darin Fisher.
      
              Implement mozilla's requestAnimationFrame API
              https://bugs.webkit.org/show_bug.cgi?id=51218
      
              Chromium DumpRenderTree support for window.webkitRequestAnimationFrame.
      
              * DumpRenderTree/chromium/WebViewHost.cpp:
              (invokeScheduleComposite):
              (WebViewHost::scheduleAnimation):
              (WebViewHost::paintInvalidatedRegion):
              * DumpRenderTree/chromium/WebViewHost.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e243a38
    • mrobinson@webkit.org's avatar
      2011-01-13 Martin Robinson <mrobinson@igalia.com> · e645fcf5
      mrobinson@webkit.org authored
              Reviewed by Daniel Bates.
      
              [GTK] Move progress bar painting out of gtk2drawing.c
              https://bugs.webkit.org/show_bug.cgi?id=52385
      
              Move progress bar painting to RenderThemeGtk2 and share some animation
              logic between the GTK+ 2.x and GTK+ 3.x port.
      
              No new tests. This should not change functionality.
      
              * platform/gtk/RenderThemeGtk.cpp:
              (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): Moved from RenderThemeGtk3.
              (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
              (WebCore::RenderThemeGtk::calculateProgressRect): Calculate the proper rectangle for the
              progress indicator given the rect for the maximum size of the indicator.
              * platform/gtk/RenderThemeGtk.h: Added calculateProgressRect declaration and
              a new widget member for GTK+ 2.x
              * platform/gtk/RenderThemeGtk2.cpp:
              (WebCore::RenderThemeGtk::platformInit): Added initialization for the new widget member.
              (WebCore::RenderThemeGtk::paintProgressBar): Paint the progress bar manually instead of
              calling the old Mozilla code.
              (WebCore::RenderThemeGtk::gtkProgressBar): Added.
              * platform/gtk/RenderThemeGtk3.cpp:
              (WebCore::RenderThemeGtk::paintProgressBar): Call calculateProgressRect now to get
              the area of the progress indicator.
              * platform/gtk/gtk2drawing.c: Remove unused code.
              (moz_gtk_get_widget_border):
              (moz_gtk_widget_paint):
              * platform/gtk/gtkdrawing.h: Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e645fcf5
    • dimich@chromium.org's avatar
      [Chromium] Not reviewed, reverts the following changes: · d9cea2c4
      dimich@chromium.org authored
      http://trac.webkit.org/changeset/76164 (build fix)
      http://trac.webkit.org/changeset/76159 (main change)
      
      The change broke Chromium Linux-shlib build.
      
      Original issue:
      Accelerated canvas2D has bad clipping performance.
      https://bugs.webkit.org/show_bug.cgi?id=52627
      
      Source/WebCore:
      
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gypi:
      * html/canvas/CanvasRenderingContext2D.cpp:
      (WebCore::CanvasRenderingContext2D::reset):
      (WebCore::CanvasRenderingContext2D::platformLayer):
      * platform/graphics/chromium/DrawingBufferChromium.cpp:
      (WebCore::DrawingBuffer::DrawingBuffer):
      * platform/graphics/chromium/GLES2Canvas.cpp:
      (WebCore::GLES2Canvas::State::State):
      (WebCore::GLES2Canvas::clearRect):
      (WebCore::GLES2Canvas::fillRect):
      (WebCore::GLES2Canvas::restore):
      (WebCore::GLES2Canvas::drawTexturedRect):
      * platform/graphics/chromium/GLES2Canvas.h:
      * platform/graphics/gpu/DrawingBuffer.cpp:
      (WebCore::DrawingBuffer::clear):
      (WebCore::DrawingBuffer::createSecondaryBuffers):
      (WebCore::DrawingBuffer::reset):
      * platform/graphics/gpu/DrawingBuffer.h:
      * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
      (WebCore::SharedGraphicsContext3D::create):
      * platform/graphics/gpu/SharedGraphicsContext3D.h:
      * platform/graphics/gpu/mac/DrawingBufferMac.mm:
      (WebCore::DrawingBuffer::DrawingBuffer):
      * platform/graphics/skia/GraphicsContextSkia.cpp:
      (WebCore::GraphicsContext::canvasClip):
      (WebCore::GraphicsContext::clipOut):
      (WebCore::GraphicsContext::clipPath):
      (WebCore::GraphicsContext::fillPath):
      * platform/graphics/skia/PlatformContextSkia.cpp:
      (WebCore::PlatformContextSkia::canAccelerate):
      (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
      * thirdparty/glu/README.webkit:
      * thirdparty/glu/gluos.h:
      * thirdparty/glu/libtess/geom.c:
      * thirdparty/glu/libtess/priorityq.c:
      * thirdparty/glu/libtess/render.c:
      * thirdparty/glu/libtess/sweep.c:
      (IsWindingInside):
      (DoneEdgeDict):
      
      LayoutTests:
      
      * platform/chromium-gpu/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d9cea2c4
    • leviw@chromium.org's avatar
      2011-01-19 Levi Weintraub <leviw@google.com> · 9cefa2c1
      leviw@chromium.org authored
              Reviewed by Darin Adler.
      
              Re-committing this with the proper expected results.
      
              Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
              logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
              resulted in the caret being placed incorrectly in overflowing editable IFrame content.
      
              Long lines in non-white-space-pre editable documents show cursor in wrong place
              https://bugs.webkit.org/show_bug.cgi?id=48132
      
              * editing/selection/caret-painting-in-overflowing-autowrap-content.html: Added.
              * editing/selection/resources/iframe-positioning-caret-at-end.html: Added.
              * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.checksum: Added.
              * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.png: Added.
              * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.txt: Added.
      2011-01-19  Levi Weintraub  <leviw@google.com>
      
              Reviewed by Darin Adler.
      
              Re-committing this with the proper expected results.
      
              Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
              logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
              resulted in the caret being placed incorrectly in overflowing editable IFrame content.
      
              Long lines in non-white-space-pre editable documents show cursor in wrong place
              https://bugs.webkit.org/show_bug.cgi?id=48132
      
              Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
      
              * rendering/RenderText.cpp:
              (WebCore::RenderText::localCaretRect):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9cefa2c1
    • morrita@google.com's avatar
      2011-01-18 MORITA Hajime <morrita@google.com> · d75075ca
      morrita@google.com authored
              Reviewed by David Levin.
      
              ElementRareData::m_shadowRoot should not be RefPtr.
              https://bugs.webkit.org/show_bug.cgi?id=51914
      
              Makes ElementRareData::m_shadowRoot a raw pointer because
              ElementRareData::m_shadowRoot should be like a
              ContaineNode::m_firstChild, which is also a raw pointer.
              pointer. Which also means that both the shadow root and the shadow
              host reference each other as a parent-and-child relationship, via
              a raw pointer.
      
              Note that it is safe not to manipulate the ref-count of
              m_shadowRoot because Node::m_parent of the shadow root points its
              shadow host, and the object isn't deleted even if the refcount is
              zero, as long as the node has non-null m_parent. (See TreeShared.)
      
              The shadow root node is finally destroyed inside
              removeShadowRoot(), where we store the root node into a local
              RefPtr, then make the node's m_parent null, which results the
              destroy the node, at the end of the function, by RefPtr::~RefPtr.
      
              No new tests. No behavioral change.
      
              * dom/Element.cpp:
              (WebCore::Element::~Element):
              (WebCore::Element::shadowRoot):
              (WebCore::Element::setShadowRoot):
              (WebCore::Element::removeShadowRoot):
              * dom/ElementRareData.h:
              (WebCore::ElementRareData::ElementRareData):
              (WebCore::ElementRareData::~ElementRareData):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d75075ca
    • mrobinson@webkit.org's avatar
      2011-01-12 Martin Robinson <mrobinson@igalia.com> · c62b7fcd
      mrobinson@webkit.org authored
              Reviewed by Gustavo Noronha Silva.
      
              [GTK] Move text field painting out of gtk2drawing.c
              https://bugs.webkit.org/show_bug.cgi?id=52327
      
              No new tests. This should not change behavior.
      
              * platform/gtk/RenderThemeGtk2.cpp:
              (WebCore::RenderThemeGtk::paintButton): Use the setWidgetHasFocus helper.
              (WebCore::RenderThemeGtk::paintTextField): Do this manually now instead
              of calling into the Mozilla code.
              * platform/gtk/WidgetRenderingContext.cpp: Added a couple more wrappers
              for GTK+ theme functions.
              (WebCore::WidgetRenderingContext::gtkPaintFlatBox):
              (WebCore::WidgetRenderingContext::gtkPaintShadow):
              * platform/gtk/WidgetRenderingContext.h: Added new method declarations.
              * platform/gtk/gtk2drawing.c: Remove unused code.
              (moz_gtk_get_widget_border):
              (moz_gtk_widget_paint):
              * platform/gtk/gtkdrawing.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c62b7fcd
    • antti@apple.com's avatar
      Cache function offsets to speed up javascript parsing · 40e8c6f8
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=52622
              
      Reviewed by Oliver Hunt.
      
      Use cache to save function offsets and some other info.
      This avoids quite a bit of work when reparsing the source.
      
      Source/JavaScriptCore: 
      
      * parser/ASTBuilder.h:
      * parser/JSParser.cpp:
      (JSC::JSParser::CachedFunctionInfo::CachedFunctionInfo):
      (JSC::JSParser::CachedFunctionInfo::approximateByteSize):
      (JSC::JSParser::CachedFunctionInfo::closeBraceToken):
      (JSC::JSParser::Scope::copyCapturedVariablesToVector):
      (JSC::JSParser::Scope::saveFunctionInfo):
      (JSC::JSParser::Scope::restoreFunctionInfo):
      (JSC::JSParser::findCachedFunctionInfo):
      (JSC::JSParser::JSParser):
      (JSC::JSParser::parseProgram):
      (JSC::JSParser::parseFunctionInfo):
      * parser/Lexer.h:
      (JSC::Lexer::setOffset):
      (JSC::Lexer::setLineNumber):
      (JSC::Lexer::sourceProvider):
      * parser/SourceProvider.h:
      (JSC::SourceProviderCache::SourceProviderCache):
      (JSC::SourceProviderCache::~SourceProviderCache):
      (JSC::SourceProviderCache::byteSize):
      (JSC::SourceProviderCache::add):
      (JSC::SourceProviderCache::get):
      (JSC::SourceProvider::SourceProvider):
      (JSC::SourceProvider::~SourceProvider):
      (JSC::SourceProvider::cache):
      (JSC::SourceProvider::notifyCacheSizeChanged):
      (JSC::SourceProvider::cacheSizeChanged):
      * parser/SyntaxChecker.h:
      
      Source/WebCore: 
      
      * bindings/js/CachedScriptSourceProvider.h:
      (WebCore::CachedScriptSourceProvider::cache):
      (WebCore::CachedScriptSourceProvider::cacheSizeChanged):
      (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
      * bindings/js/ScriptSourceProvider.h:
      (WebCore::ScriptSourceProvider::ScriptSourceProvider):
      * loader/cache/CachedScript.cpp:
      (WebCore::CachedScript::destroyDecodedData):
      (WebCore::CachedScript::sourceProviderCache):
      (WebCore::CachedScript::sourceProviderCacheSizeChanged):
      * loader/cache/CachedScript.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40e8c6f8
    • mrobinson@webkit.org's avatar
      2011-01-11 Martin Robinson <mrobinson@igalia.com> · bf39f739
      mrobinson@webkit.org authored
              Reviewed by Gustavo Noronha Silva.
      
              [GTK] Move toggle button rendering out of gtk2drawing.c
              https://bugs.webkit.org/show_bug.cgi?id=52258
      
              Updated results. The metrics of checkboxes and radio buttons have changed,
              because the focus rect is no longer considered to be part of the button.
      
              * platform/gtk/fast/css/non-standard-checkbox-size-expected.txt
              * platform/gtk/fast/forms/001-expected.txt:
              * platform/gtk/fast/forms/basic-inputs-expected.txt:
              * platform/gtk/fast/forms/box-shadow-override-expected.txt:
              * platform/gtk/fast/forms/checkbox-radio-onchange-expected.txt:
              * platform/gtk/fast/forms/file-input-disabled-expected.txt:
              * platform/gtk/fast/forms/form-element-geometry-expected.txt:
              * platform/gtk/fast/forms/formmove-expected.txt:
              * platform/gtk/fast/forms/formmove2-expected.txt:
              * platform/gtk/fast/forms/indeterminate-expected.txt:
              * platform/gtk/fast/forms/input-appearance-height-expected.txt:
              * platform/gtk/fast/forms/input-value-expected.txt:
              * platform/gtk/fast/forms/radio-attr-order-expected.txt:
              * platform/gtk/fast/forms/radio-nested-labels-expected.txt:
              * platform/gtk/fast/forms/radio_checked-expected.txt:
              * platform/gtk/fast/forms/radio_checked_dynamic-expected.txt:
      2011-01-11  Martin Robinson  <mrobinson@igalia.com>
      
              Reviewed by Gustavo Noronha Silva.
      
              [GTK] Move toggle button rendering out of gtk2drawing.c
              https://bugs.webkit.org/show_bug.cgi?id=52258
      
              * platform/gtk/RenderThemeGtk.h:
              * platform/gtk/RenderThemeGtk2.cpp:
              (WebCore::RenderThemeGtk::platformInit): Initialize new button members.
              (WebCore::adjustRectForFocus): Added this function which inflates a rect based
              on a widget's exterior focus.
              (WebCore::RenderThemeGtk::adjustRepaintRect): Account for exterior focus.
              (WebCore::setToggleSize): Only listen to indicator-size to properly size
              checkboxes and radio buttons.
              (WebCore::RenderThemeGtk::setCheckboxSize): Call new setToggleSize properly.
              (WebCore::paintToggle): Added.
              (WebCore::RenderThemeGtk::paintCheckbox): Call paintToggle.
              (WebCore::RenderThemeGtk::setRadioSize): Call new setToggleSize properly.
              (WebCore::RenderThemeGtk::paintRadio): Call paintToggle.
              (WebCore::RenderThemeGtk::gtkRadioButton): Added.
              (WebCore::RenderThemeGtk::gtkCheckButton): Added.
              * platform/gtk/WidgetRenderingContext.cpp:
              (WebCore::WidgetRenderingContext::WidgetRenderingContext): Use a static extra space
              variable. This is good enough for all themes that I've tested and prevents having to
              pass information from RenderThemeGtk about every single type of widget.
              (WebCore::WidgetRenderingContext::gtkPaintFocus): Use the paintRect
              to draw instead of m_paintRect. This is important when we're painting
              something that isn't the size of the total rect.
              (WebCore::WidgetRenderingContext::gtkPaintCheck): Added.
              (WebCore::WidgetRenderingContext::gtkPaintOption): Added.
              * platform/gtk/WidgetRenderingContext.h: Updated to reflect new methods.
              * platform/gtk/gtkdrawing.h: Remove newly unused code.
              * platform/gtk/gtk2drawing.c: Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76175 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf39f739
    • tonyg@chromium.org's avatar
      2011-01-19 Tony Gentilcore <tonyg@chromium.org> · bd541058
      tonyg@chromium.org authored
              Unreviewed build fix.
      
              Build fix for r76170
              https://bugs.webkit.org/show_bug.cgi?id=52758
      
              * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76174 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd541058
    • ddkilzer@apple.com's avatar
      <http://webkit.org/b/52687> Clean up FrameLoader methods for PLUGIN_PROXY_FOR_VIDEO · 2d5a389a
      ddkilzer@apple.com authored
      Reviewed by Eric Carlson.
      
      * loader/FrameLoader.cpp: Declare the methods here.
      (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
      (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
      * loader/FrameLoader.cpp: Moved methods to here...
      (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
      (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
      * loader/SubframeLoader.cpp: ...from here.
      (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
      (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d5a389a
    • tonyg@chromium.org's avatar
      2011-01-19 Tony Gentilcore <tonyg@chromium.org> · 9c384217
      tonyg@chromium.org authored
              Reviewed by Mihai Parparita.
      
              Perform some forward declaration
              https://bugs.webkit.org/show_bug.cgi?id=52522
      
              No new tests because no new functionality.
      
              * accessibility/AccessibilityObject.h:
              * css/WebKitCSSMatrix.cpp:
              * html/HTMLAreaElement.cpp:
              * html/canvas/CanvasRenderingContext2D.cpp:
              * inspector/InspectorController.cpp:
              * platform/graphics/FloatPoint.cpp:
              * platform/graphics/Font.cpp:
              * platform/graphics/Font.h:
              * platform/graphics/FontFastPath.cpp:
              * platform/graphics/GraphicsContext.cpp:
              * platform/graphics/ImageBuffer.h:
              * platform/graphics/StringTruncator.cpp:
              * platform/graphics/WidthIterator.cpp:
              * platform/graphics/mac/ComplexTextController.cpp:
              * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
              * platform/graphics/mac/FontComplexTextMac.cpp:
              * platform/graphics/transforms/TransformationMatrix.cpp:
              * platform/graphics/transforms/TransformationMatrix.h:
              * rendering/EllipsisBox.cpp:
              * rendering/InlineTextBox.cpp:
              * rendering/RenderBlock.cpp:
              * rendering/RenderBlockLineLayout.cpp:
              * rendering/RenderEmbeddedObject.cpp:
              * rendering/RenderFileUploadControl.cpp:
              * rendering/RenderFlexibleBox.cpp:
              * rendering/RenderImage.cpp:
              * rendering/RenderListBox.cpp:
              * rendering/RenderListMarker.cpp:
              * rendering/RenderMenuList.cpp:
              * rendering/RenderObject.h:
              * rendering/RenderText.cpp:
              * rendering/RenderTextControl.cpp:
              * rendering/svg/SVGInlineTextBox.cpp:
              * rendering/svg/SVGMarkerLayoutInfo.h:
              * rendering/svg/SVGTextMetrics.cpp:
              * svg/SVGFont.cpp:
      2011-01-19  Tony Gentilcore  <tonyg@chromium.org>
      
              Reviewed by Mihai Parparita.
      
              Perform some forward declaration
              https://bugs.webkit.org/show_bug.cgi?id=52522
      
              * Misc/WebKitNSStringExtras.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9c384217
    • enne@google.com's avatar
      2011-01-19 Adrienne Walker <enne@google.com> · 3ac1cb06
      enne@google.com authored
              Reviewed by Kenneth Russell.
      
              [chromium] Tiled compositor should use texture manager
              https://bugs.webkit.org/show_bug.cgi?id=52418
      
              Test: compositing/
      
              * platform/graphics/chromium/LayerRendererChromium.cpp:
              (WebCore::LayerRendererChromium::~LayerRendererChromium):
              (WebCore::LayerRendererChromium::cleanupSharedObjects):
              * platform/graphics/chromium/LayerTilerChromium.cpp:
              (WebCore::LayerTilerChromium::LayerTilerChromium):
              (WebCore::LayerTilerChromium::reset):
              (WebCore::LayerTilerChromium::createTile):
              (WebCore::LayerTilerChromium::update):
              (WebCore::LayerTilerChromium::draw):
              * platform/graphics/chromium/LayerTilerChromium.h:
              (WebCore::LayerTilerChromium::Tile::Tile):
              (WebCore::LayerTilerChromium::Tile::texture):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ac1cb06
    • senorblanco@chromium.org's avatar
      2011-01-19 Stephen White <senorblanco@chromium.org> · e702497a
      senorblanco@chromium.org authored
              Unreviewed; build fix for chromium.
      
              * platform/graphics/chromium/GLES2Canvas.cpp:
              (WebCore::GLES2Canvas::fillPath):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e702497a
    • senorblanco@chromium.org's avatar
      2011-01-18 Stephen White <senorblanco@chromium.org> · 5d187d87
      senorblanco@chromium.org authored
              Reviewed by James Robinson.
      
              Add two to-be-rebaselined tests for the GPU path.
      
              * platform/chromium-gpu/test_expectations.txt:
      2011-01-18  Stephen White  <senorblanco@chromium.org>
      
              Reviewed by James Robinson.
      
              Implement accelerated path drawing and clipping for the Canvas2D GPU
              path.
              https://bugs.webkit.org/show_bug.cgi?id=52627
              
              This is done with a simple curve interpolator and the GLU tesselator,
              which is good enough for a 3-5X speedup on
              http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.
      
              Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
              All tests canvas/philip and fast/canvas paths pass with no
              regressions, although two have minor pixel differences which require
              rebaselining.
      
              * WebCore.gyp/WebCore.gyp:
              Add internal_glu include path to chromium build.
              * WebCore.gypi:
              Add internal_glu files to chromium build.
              * html/canvas/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::reset):
              (WebCore::CanvasRenderingContext2D::platformLayer):
              Make CanvasRenderingContext2D more robust against failure to create
              a DrawingBuffer.
              * platform/graphics/chromium/DrawingBufferChromium.cpp:
              (WebCore::DrawingBuffer::DrawingBuffer):
              As in DrawingBufferMac.cpp, call reset() from the constructor.
              Also initialize size to (-1, -1), so reset() doesn't early-out.
              Add initializers for depthBuffer and stencilBuffer, and remove
              multisampleDepthStencilBuffer.
              * platform/graphics/chromium/GLES2Canvas.cpp:
              Remove some unused #includes.
              (WebCore::GLES2Canvas::State::State):
              Add clipping state, and implement save/restore via the copy constructor.
              (WebCore::operator*):
              (WebCore::Quadratic::Quadratic):
              (WebCore::Quadratic::fromBezier):
              (WebCore::Quadratic::evaluate):
              Quadratic Bezier curve class.
              (WebCore::Cubic::Cubic):
              (WebCore::Cubic::fromBezier):
              (WebCore::Cubic::evaluate):
              Cubic Bezier curve class.
              (WebCore::GLES2Canvas::clearRect):
              Add clipping support to clearRect().
              (WebCore::GLES2Canvas::fillPath):
              Implement fillPath().
              (WebCore::GLES2Canvas::fillRect):
              Add clipping support to fillRect().
              (WebCore::GLES2Canvas::clipPath):
              Implement clipPath().
              (WebCore::GLES2Canvas::clipOut):
              Stub out clipOut() (not called by Canvas 2D).
              (WebCore::GLES2Canvas::restore):
              When restoring, draw any remaining clipping paths to the stencil buffer.
              (WebCore::GLES2Canvas::drawTexturedRect):
              Add clipping support.
              (WebCore::interpolateQuadratic):
              (WebCore::interpolateCubic):
              Simple curve interpolation, using the Cubic and Quadratic classes.
              (WebCore::PolygonData::PolygonData):
              A struct to hold the tesselation data for callbacks.
              (WebCore::beginData):
              (WebCore::edgeFlagData):
              (WebCore::vertexData):
              (WebCore::endData):
              (WebCore::combineData):
              internal_glu tesselation callbacks.
              (WebCore::GLES2Canvas::createVertexBufferFromPath):
              Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
              (WebCore::GLES2Canvas::beginStencilDraw):
              Enable stencilling, and disable draws to the color buffer.
              (WebCore::GLES2Canvas::applyClipping):
              If clipping is enabled, set the appropriate GL state.
              * platform/graphics/chromium/GLES2Canvas.h:
              Document the flavours of drawTexturedRect() a bit, so I don't get confused.
              * platform/graphics/gpu/DrawingBuffer.cpp:
              (WebCore::DrawingBuffer::clear):
              (WebCore::DrawingBuffer::createSecondaryBuffers):
              (WebCore::DrawingBuffer::resizeDepthStencil):
              (WebCore::DrawingBuffer::reset):
              * platform/graphics/gpu/DrawingBuffer.h:
              Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 
              Implement separate depth and stencil buffers for when
              OES_packed_depth_stencil is not available.  Refactor creation of
              multisampled and non-multisampled depth and stencil buffers into
              resizeDepthStencil().
              * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
              (WebCore::SharedGraphicsContext3D::create):
              Turn on stencil, turn off depth, turn off antialiasing (for now).
              (WebCore::SharedGraphicsContext3D::enableStencil):
              * platform/graphics/gpu/SharedGraphicsContext3D.h:
              Implement stencil enable/disable.
              * platform/graphics/gpu/mac/DrawingBufferMac.mm:
              (WebCore::DrawingBuffer::DrawingBuffer):
              Remove m_multisampleDepthStencilBuffer.  Set the size to (-1, -1)
              on creation, so reset() doesn't early-out.  Initialize m_depthBuffer
              and m_stencilBuffer.
              * platform/graphics/skia/GraphicsContextSkia.cpp:
              (WebCore::GraphicsContext::canvasClip):
              (WebCore::GraphicsContext::clipOut):
              (WebCore::GraphicsContext::clipPath):
              (WebCore::GraphicsContext::fillPath):
              Put in GPU hooks for path clipping, and path drawing.
              * platform/graphics/skia/PlatformContextSkia.cpp:
              (WebCore::PlatformContextSkia::canAccelerate):
              Don't check for clipping paths in canAccelerate() (since we can
              now accelerate them).
              (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
              Don't do clipping when uploading software draws to hardware.
              * thirdparty/glu/README.webkit:
              * thirdparty/glu/gluos.h:
              #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
              * thirdparty/glu/libtess/geom.c:
              * thirdparty/glu/libtess/priorityq.c:
              * thirdparty/glu/libtess/render.c:
              Use do{}while(0) instead of if(1)else construct in macro.
              * thirdparty/glu/libtess/sweep.c:
              (IsWindingInside):
              (DoneEdgeDict):
              Fix some warnings treated as errors for the Linux Release build.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5d187d87
    • dimich@chromium.org's avatar
      2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com> · bf1a1aef
      dimich@chromium.org authored
              Unreviewed, rolling out r76144.
              http://trac.webkit.org/changeset/76144
              https://bugs.webkit.org/show_bug.cgi?id=52737
      
              Broke tests on multiple bots, mostly Chromium Canaries
              (Requested by dimich on #webkit).
      
              * editing/selection/caret-painting-in-overflowing-autowrap-content.html: Removed.
              * editing/selection/resources/iframe-positioning-caret-at-end.html: Removed.
              * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.checksum: Removed.
              * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.png: Removed.
              * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.txt: Removed.
      2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r76144.
              http://trac.webkit.org/changeset/76144
              https://bugs.webkit.org/show_bug.cgi?id=52737
      
              Broke tests on multiple bots, mostly Chromium Canaries
              (Requested by dimich on #webkit).
      
              * rendering/RenderText.cpp:
              (WebCore::RenderText::localCaretRect):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf1a1aef
    • simon.fraser@apple.com's avatar
      2011-01-19 Simon Fraser <simon.fraser@apple.com> · 3fa24818
      simon.fraser@apple.com authored
              Reviewed by Adam Roben.
      
              [CSS Gradients] Crash due to out-of-memory with repeating-linear-gradient and latter stop positioned before former
              https://bugs.webkit.org/show_bug.cgi?id=52732
      
              When repeating gradient stops, make sure that the first and last stops are not at the same
              place, otherwise we'll add stops indefinitely and run out of memory.
      
              Test: fast/gradients/zero-range-repeating-gradient-hang.html
      
              * css/CSSGradientValue.cpp:
              (WebCore::CSSGradientValue::addStops):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76154 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3fa24818
    • dglazkov@chromium.org's avatar
      2011-01-14 Dimitri Glazkov <dglazkov@chromium.org> · 42995a13
      dglazkov@chromium.org authored
              Reviewed by Darin Adler.
      
              Remove event forwarding logic from input[type=range], simplify event flow and thumb positioning logic.
              https://bugs.webkit.org/show_bug.cgi?id=52464
      
              This change has two parts:
      
              1) Utilize shadow DOM event retargeting to get rid of forwarding events
                 via render tree;
              2) Move thumb positioning logic from RenderSlider to SliderThumbElement.
      
              These two are highly co-dependent. It looked ugly when I tried to
              separate them.
      
              No change in behavior, covered by existing tests.
      
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::defaultEventHandler): Added invocation of
                  InputType::handleMouseDownEvent.
              * html/InputType.cpp:
              (WebCore::InputType::handleMouseDownEvent): Added empty decl.
              * html/InputType.h: Added def.
              * html/RangeInputType.cpp:
              (WebCore::RangeInputType::handleMouseDownEvent): Added to handle the case
                  when the user clicks on the track of the slider. Also removed the
                  forwardEvent method.
              * html/RangeInputType.h: Added/removed defs.
              * html/shadow/SliderThumbElement.cpp:
              (WebCore::SliderThumbElement::dragFrom): Added a helper method to start
                  dragging from any position.
              (WebCore::SliderThumbElement::dragTo): Added a helper method to drag to
                  specified position.
              (WebCore::SliderThumbElement::setPosition): Collapsed most of the positioning
                  logic in RenderSlider into this method, which is now a simple calculation
                  and adjusting of thumb position based on supplied coordinates.
              (WebCore::SliderThumbElement::startDragging): Added.
              (WebCore::SliderThumbElement::stopDragging): Added.
              (WebCore::SliderThumbElement::defaultEventHandler): Removed most of the
                  old position-sniffing logic and replaced with simple calls to start,
                  stop, and drag the thumb.
              * html/shadow/SliderThumbElement.h: Added defs.
              * rendering/RenderSlider.cpp: Removed a bunch of code that is no longer
                  necessary.
              * rendering/RenderSlider.h: Removed defs, removed now-unnecessary friendliness.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      42995a13
    • commit-queue@webkit.org's avatar
      2011-01-19 Shane Stephens <shanestephens@google.com> · 17b1786f
      commit-queue@webkit.org authored
              Reviewed by Chris Marrin.
      
              Make AffineTransform and TransformationMatrix do matrix multiplication in the correct order (Column Major)
              https://bugs.webkit.org/show_bug.cgi?id=48031
      
              Fixed reversal, renamed matrix methods to be clearer, found all examples of operator* and
              operator*= usage and switched operand order.
      
              No new tests as this refactor doesn't add functionality.
      
              * html/HTMLCanvasElement.cpp:
              (WebCore::HTMLCanvasElement::baseTransform):
              * html/canvas/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::transform):
              (WebCore::CanvasRenderingContext2D::setTransform):
              * platform/graphics/cg/PatternCG.cpp:
              (WebCore::Pattern::createPlatformPattern):
              * platform/graphics/chromium/GLES2Canvas.cpp:
              (WebCore::GLES2Canvas::fillRect):
              (WebCore::GLES2Canvas::concatCTM):
              (WebCore::GLES2Canvas::drawQuad):
              * platform/graphics/chromium/TransparencyWin.cpp:
              (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
              (WebCore::TransparencyWin::setupTransformForKeepTransform):
              * platform/graphics/transforms/AffineTransform.cpp:
              (WebCore::AffineTransform::multiply):
              (WebCore::AffineTransform::rotate):
              * platform/graphics/transforms/AffineTransform.h:
              (WebCore::AffineTransform::operator*=):
              (WebCore::AffineTransform::operator*):
              * platform/graphics/wince/GraphicsContextWinCE.cpp:
              (WebCore::GraphicsContextPlatformPrivate::concatCTM):
              * platform/graphics/wince/SharedBitmap.cpp:
              (WebCore::SharedBitmap::drawPattern):
              * rendering/svg/RenderSVGResourceContainer.cpp:
              (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
              * rendering/svg/RenderSVGResourceGradient.cpp:
              (WebCore::clipToTextMask):
              (WebCore::RenderSVGResourceGradient::applyResource):
              * rendering/svg/RenderSVGResourcePattern.cpp:
              (WebCore::RenderSVGResourcePattern::applyResource):
              * rendering/svg/RenderSVGRoot.cpp:
              (WebCore::RenderSVGRoot::localToBorderBoxTransform):
              * rendering/svg/SVGImageBufferTools.cpp:
              (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem):
              (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
              * rendering/svg/SVGTextLayoutEngine.cpp:
              (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
              * svg/SVGLocatable.cpp:
              (WebCore::SVGLocatable::computeCTM):
              (WebCore::SVGLocatable::getTransformToElement):
              * svg/SVGMatrix.h:
              (WebCore::SVGMatrix::multiply):
              * svg/SVGSVGElement.cpp:
              (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
              (WebCore::SVGSVGElement::viewBoxToViewTransform):
              * svg/SVGStyledTransformableElement.cpp:
              (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
              * svg/SVGTextElement.cpp:
              (WebCore::SVGTextElement::animatedLocalTransform):
              * svg/SVGTransformList.cpp:
              (WebCore::SVGTransformList::concatenate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76146 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      17b1786f
    • chang.shu@nokia.com's avatar
      2011-01-19 Chang Shu <chang.shu@nokia.com> · 619d38aa
      chang.shu@nokia.com authored
              Reviewed by Darin Adler.
      
              https://bugs.webkit.org/show_bug.cgi?id=52056
              1. Fixed test cases in the above bug;
              2. Partially fixed test cases in other contentEditable bugs;
              3. Updated expected result for fast/dom/element-attribute-js-null.html.
                 However, the test itself should be fixed later in bug 52057.
      
              * editing/editability/attr-invalid-string-expected.txt:
              * editing/editability/attr-invalid-string.html:
              * editing/editability/attr-missing-ancestor-false-expected.txt:
              * editing/editability/attr-missing-ancestor-false.html:
              * editing/editability/attr-missing-ancestor-true-expected.txt:
              * editing/editability/attr-missing-ancestor-true.html:
              * editing/editability/attr-missing-parent-ancestor-missing-expected.txt:
              * editing/editability/attr-missing-parent-ancestor-missing.html:
              * editing/editability/attr-missing-parent-false-expected.txt:
              * editing/editability/attr-missing-parent-false.html:
              * editing/editability/attr-missing-parent-true-expected.txt:
              * editing/editability/attr-missing-parent-true.html:
              * editing/editability/set-false-expected.txt:
              * editing/editability/set-inherit-parent-false-expected.txt:
              * editing/editability/set-inherit-parent-true-expected.txt:
              * editing/editability/set-invalid-value-expected.txt:
              * editing/editability/set-true-expected.txt:
              * editing/editability/set-value-caseinsensitive-expected.txt:
              * fast/dom/element-attribute-js-null-expected.txt:
      2011-01-19  Chang Shu  <chang.shu@nokia.com>
      
              Reviewed by Darin Adler.
      
              The return value of contentEditable() function should depend on the DOM attribute
              instead of render style userModify. The code change fixed test cases in the bug
              and partially fixed test cases in other contentEditable bugs;
      
              https://bugs.webkit.org/show_bug.cgi?id=52056
      
              * html/HTMLElement.cpp:
              (WebCore::HTMLElement::contentEditable):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76145 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      619d38aa
    • leviw@chromium.org's avatar
      2011-01-19 Levi Weintraub <leviw@chromium.org> · 7b201aad
      leviw@chromium.org authored
              Reviewed by Darin Adler.
      
              Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
              logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
              resulted in the caret being placed incorrectly in overflowing editable IFrame content.
      
              Long lines in non-white-space-pre editable documents show cursor in wrong place
              https://bugs.webkit.org/show_bug.cgi?id=48132
      
              * editing/selection/caret-painting-in-overflowing-autowrap-content.html: Added.
              * editing/selection/resources/iframe-positioning-caret-at-end.html: Added.
              * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.checksum: Added.
              * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.png: Added.
              * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.txt: Added.
      2011-01-19  Levi Weintraub  <leviw@chromium.org>
      
              Reviewed by Darin Adler.
      
              Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
              logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
              resulted in the caret being placed incorrectly in overflowing editable IFrame content.
      
              Long lines in non-white-space-pre editable documents show cursor in wrong place
              https://bugs.webkit.org/show_bug.cgi?id=48132
      
              Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
      
              * rendering/RenderText.cpp:
              (WebCore::RenderText::localCaretRect):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76144 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7b201aad