2009-10-13  Andras Becsi  <becsi.andras@stud.u-szeged.hu>

        Reviewed by Simon Hausmann.

        [Qt] Refactor LayoutTestController, EventSender, TextInputController and WorkQueueItem classes
        out of jsobjects into separate files to get a more structured DumpRenderTree implementation.
        This is done in preparation of implementing missing features in DRT.
        No functionality changes made yet.

        * DumpRenderTree/qt/DumpRenderTree.cpp:
        * DumpRenderTree/qt/DumpRenderTree.pro:
        * DumpRenderTree/qt/EventSenderQt.cpp: Added.
        (EventSender::EventSender):
        (EventSender::mouseDown):
        (EventSender::mouseUp):
        (EventSender::mouseMoveTo):
        (EventSender::leapForward):
        (EventSender::keyDown):
        (EventSender::contextClick):
        (EventSender::scheduleAsynchronousClick):
        (EventSender::frameUnderMouse):
        * DumpRenderTree/qt/EventSenderQt.h: Added.
        (EventSender::clearKillRing):
        * DumpRenderTree/qt/LayoutTestControllerQt.cpp: Added.
        (LayoutTestController::LayoutTestController):
        (LayoutTestController::reset):
        (LayoutTestController::processWork):
        (LayoutTestController::maybeDump):
        (LayoutTestController::waitUntilDone):
        (LayoutTestController::notifyDone):
        (LayoutTestController::windowCount):
        (LayoutTestController::clearBackForwardList):
        (LayoutTestController::dumpEditingCallbacks):
        (LayoutTestController::dumpResourceLoadCallbacks):
        (LayoutTestController::queueBackNavigation):
        (LayoutTestController::queueForwardNavigation):
        (LayoutTestController::queueLoad):
        (LayoutTestController::queueReload):
        (LayoutTestController::queueScript):
        (LayoutTestController::provisionalLoad):
        (LayoutTestController::timerEvent):
        (LayoutTestController::encodeHostName):
        (LayoutTestController::decodeHostName):
        (LayoutTestController::setJavaScriptProfilingEnabled):
        (LayoutTestController::setFixedContentsSize):
        (LayoutTestController::setPrivateBrowsingEnabled):
        (LayoutTestController::setPopupBlockingEnabled):
        (LayoutTestController::pauseAnimationAtTimeOnElementWithId):
        (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
        (LayoutTestController::numberOfActiveAnimations):
        (LayoutTestController::disableImageLoading):
        (LayoutTestController::dispatchPendingLoadRequests):
        (LayoutTestController::setDatabaseQuota):
        (LayoutTestController::clearAllDatabases):
        (LayoutTestController::whiteListAccessFromOrigin):
        (LayoutTestController::waitForPolicyDelegate):
        (LayoutTestController::overridePreference):
        * DumpRenderTree/qt/LayoutTestControllerQt.h: Added.
        (LayoutTestController::isLoading):
        (LayoutTestController::setLoading):
        (LayoutTestController::shouldDumpAsText):
        (LayoutTestController::shouldDumpBackForwardList):
        (LayoutTestController::shouldDumpChildrenAsText):
        (LayoutTestController::shouldDumpDatabaseCallbacks):
        (LayoutTestController::shouldDumpStatusCallbacks):
        (LayoutTestController::shouldWaitUntilDone):
        (LayoutTestController::canOpenWindows):
        (LayoutTestController::shouldDumpTitleChanges):
        (LayoutTestController::waitForPolicy):
        (LayoutTestController::dumpAsText):
        (LayoutTestController::dumpChildFramesAsText):
        (LayoutTestController::dumpDatabaseCallbacks):
        (LayoutTestController::dumpStatusCallbacks):
        (LayoutTestController::setCanOpenWindows):
        (LayoutTestController::dumpBackForwardList):
        (LayoutTestController::setCloseRemainingWindowsWhenComplete):
        (LayoutTestController::display):
        (LayoutTestController::dumpTitleChanges):
        (LayoutTestController::dumpSelectionRect):
        * DumpRenderTree/qt/TextInputControllerQt.cpp: Added.
        (TextInputController::TextInputController):
        (TextInputController::doCommand):
        * DumpRenderTree/qt/TextInputControllerQt.h: Added.
        * DumpRenderTree/qt/WorkQueue.cpp:
        * DumpRenderTree/qt/WorkQueue.h:
        * DumpRenderTree/qt/WorkQueueItem.h:
        * DumpRenderTree/qt/WorkQueueItemQt.cpp: Added.
        (findFrameNamed):
        (LoadItem::invoke):
        (ReloadItem::invoke):
        (ScriptItem::invoke):
        (BackForwardItem::invoke):
        * DumpRenderTree/qt/jsobjects.cpp: Move all the above classes into separate files
        * DumpRenderTree/qt/jsobjects.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2009-10-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Visibility:visible inside a compositing layer doesn't make the element visible
        https://bugs.webkit.org/show_bug.cgi?id=30339

        When deciding if a layer had any renderable content, RenderLayerBacking::paintIntoLayer()
        only consulted hasVisibleContent(), which does not take into a account child layers which
        may be visible. We also have to consult hasVisibleDescendant() as well.

        Test: compositing/compositing-visible-descendant.html

        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::hasVisibleDescendant):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2009-10-13  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Adam Barth.

        Bug 28964 -  [Chromium] ChromiumDataObject should have getter/setter interface

        Reworked and added to the getter/setter interface in ChromiumDataObject:
        - added contains...() methods to just query the state
        - added containsValid...URL() methods for URL data members
        - removed takeFileNames() as this was too type-dependent
        - changed return type of fileNames() to Vector<String>
        - added interface methods to allow appending to and iteration over file names

        No new tests (no functional behavior changed).

        * platform/chromium/ChromiumDataObject.h:
        (WebCore::ChromiumDataObject::containsMainURL):
        (WebCore::ChromiumDataObject::containsValidMainURL):
        (WebCore::ChromiumDataObject::containsMainURLTitle):
        (WebCore::ChromiumDataObject::containsTextPlain):
        (WebCore::ChromiumDataObject::containsTextHTML):
        (WebCore::ChromiumDataObject::containsHTMLBaseURL):
        (WebCore::ChromiumDataObject::containsValidHTMLBaseURL):
        (WebCore::ChromiumDataObject::containsContent):
        (WebCore::ChromiumDataObject::containsContentFileExtension):
        (WebCore::ChromiumDataObject::containsContentFileName):
        (WebCore::ChromiumDataObject::setContentFileName):
        (WebCore::ChromiumDataObject::containsFileNames):
        (WebCore::ChromiumDataObject::fileNames):
        (WebCore::ChromiumDataObject::clearFileNames):
        (WebCore::ChromiumDataObject::countFileNames):
        (WebCore::ChromiumDataObject::fileNameAt):
        (WebCore::ChromiumDataObject::setFileNames):
        (WebCore::ChromiumDataObject::appendToFileNames):
        (WebCore::ChromiumDataObject::popFileName):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=30345
        HTTP tests for credential handling fail on Tiger

        We cannot prevent NSURLConnection from doing its credentil handling on Tiger anyway; so
        let it do its work without intervention. Once again, we pass explicitly passed credentials
        in URL, fixing regressions from Safari 3.

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
        (WebCore::ResourceHandle::receivedCredential):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Enable SHARED_WORKERS for Chromium
https://bugs.webkit.org/show_bug.cgi?id=30289

Patch by Drew Wilson <atwilson@atwilson-macpro.local> on 2009-10-13
Reviewed by David Levin.

WebCore:

Cleaned up bitrot in SharedWorker V8 bindings.

* WebCore.gypi:
Removed default implementation of SharedWorkerRepository so Chromium can provide its own.
* bindings/v8/DerivedSourcesAllInOne.cpp:
Added V8SharedWorkerContext.cpp.
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::getTemplate):
Added case statements for SHAREDWORKER and SHAREDWORKERCONTEXT.
* bindings/v8/V8Index.cpp:
Now includes V8SharedWorkerContext.h to allow supporting SharedWorkers.
* bindings/v8/V8Index.h:
Added definition for SHAREDWORKERCONTEXT wrapper.
* bindings/v8/WorkerContextExecutionProxy.cpp:
Added includes for SharedWorker.h and SharedWorkerContext.h.
* bindings/v8/custom/V8CustomBinding.h:
Reorganized Worker field indexes to be clearer, and fixed mismatch in worker field index.
Also added field indexes for SharedWorkers.
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::ACCESSOR_RUNTIME_ENABLER):
Added runtime enabler for the SharedWorker constructor.
* bindings/v8/custom/V8SharedWorkerCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
Cleaned up bitrot (various APIs have changed since this file was written).
* page/DOMWindow.idl:
Added EnabledAtRuntime flag to window.SharedWorker.

WebKit:

* chromium/features.gypi:
Turned on ENABLE_SHARED_WORKERS by default. This doesn't actually turn on
SharedWorkers yet, as Chromium overrides this flag in its feature_overrides.gypi.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49526 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2009-10-13  Simon Fraser  <simon.fraser@apple.com>

        Temporary debugging changes to figure out why the webgl tests are crashing on the build bot.

        * platform/graphics/mac/GraphicsContext3DMac.cpp:
        (WebCore::GraphicsContext3D::GraphicsContext3D):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rubber-stamped by Anders Carlsson.

Add plugins/private-browsing-mode.html to the Windows Skipped
list because the feature is not implemented on Windows.

* platform/win/Skipped:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add bug number to previous ChangeLog entry.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rubber-stamped by Jon Honeycutt.

Add trailing newline to the Windows Skipped List.

* platform/win/Skipped:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49532 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=30318
ScriptExecutionContext is not anymore needed to create an EventListener - remove old code.
It's a followup to r48884. It removed the need to pass the ScritpExecutionContext
into EventListener constructor but did not remove the code pulling ScriptExecutionContext.

Reviewed by Alexey Proskuryakov.

WebCore:

Tests:
Test adds event listener to a DocumentType Node which is created without a document
and then dispatches the event after attaching a node to the tree. Event
should fire when node is attached to the tree.

* fast/events/add-event-without-document-expected.txt: Added.
* fast/events/add-event-without-document.html: Added.

All changes in files below are the same - remove the code that calls
EventTarget::scriptExecutionContext and checks it for NULL.

* bindings/js/JSAbstractWorkerCustom.cpp:
(WebCore::JSAbstractWorker::addEventListener):
(WebCore::JSAbstractWorker::removeEventListener):
* bindings/js/JSDOMApplicationCacheCustom.cpp:
(WebCore::JSDOMApplicationCache::addEventListener):
(WebCore::JSDOMApplicationCache::removeEventListener):
* bindings/js/JSDesktopNotificationsCustom.cpp:
(WebCore::JSNotification::addEventListener):
(WebCore::):
* bindings/js/JSEventSourceCustom.cpp:
(WebCore::JSEventSource::addEventListener):
(WebCore::JSEventSource::removeEventListener):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::addEventListener):
(WebCore::JSMessagePort::removeEventListener):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::addEventListener):
(WebCore::JSNode::removeEventListener):
* bindings/js/JSSVGElementInstanceCustom.cpp:
(WebCore::JSSVGElementInstance::addEventListener):
(WebCore::JSSVGElementInstance::removeEventListener):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::addEventListener):
(WebCore::JSXMLHttpRequest::removeEventListener):
* bindings/js/JSXMLHttpRequestUploadCustom.cpp:
(WebCore::JSXMLHttpRequestUpload::addEventListener):
(WebCore::JSXMLHttpRequestUpload::removeEventListener):
* bindings/js/JSWebSocketCustom.cpp:
(WebCore::JSWebSocket::addEventListener):
(WebCore::JSWebSocket::removeEventListener):

LayoutTests:

Test adds event listener to a DocumentType Node which is created without a document
and then dispatches the event after attaching a node to the tree. Event
should fire when node is attached to the tree.

* fast/events/add-event-without-document-expected.txt: Added.
* fast/events/add-event-without-document.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Chrome's "Skia" theme paints select controls backwards in RTL.

Patch by Evan Martin <evan@chromium.org> on 2009-10-13
Reviewed by Dmitry Titov.

https://bugs.webkit.org/show_bug.cgi?id=30320

Test: fast/text/international/bidi-menulist.html
(The test is about something else, but it includes RTL selects.)

* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::paintMenuList): flip the arrow position in RTL case.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49540 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore: Change the order of arguments on some of the user stylesheet/script functions.  Split the removal functions
out into separate ones for scripts and stylesheets.

Reviewed by Adam Roben.

* WebCore.base.exp:
* page/PageGroup.cpp:
(WebCore::PageGroup::addUserScriptToWorld):
(WebCore::PageGroup::addUserStyleSheetToWorld):
(WebCore::PageGroup::removeUserScriptFromWorld):
(WebCore::PageGroup::removeUserStyleSheetFromWorld):
(WebCore::PageGroup::removeUserScriptsFromWorld):
(WebCore::PageGroup::removeUserStyleSheetsFromWorld):
* page/PageGroup.h:
(WebCore::PageGroup::userScripts):
(WebCore::PageGroup::userStyleSheets):

WebKit/mac: Change the order of arguments on some methods.  Split removal for user stylesheets and script into
separate functions based off the type of object being removed.

Reviewed by Adam Roben.

* WebView/WebView.mm:
(+[WebView _addUserScriptToGroup:worldID:source:url:whitelist:blacklist:injectionTime:]):
(+[WebView _addUserStyleSheetToGroup:worldID:source:url:whitelist:blacklist:]):
(+[WebView _removeUserScriptFromGroup:worldID:url:]):
(+[WebView _removeUserStyleSheetFromGroup:worldID:url:]):
(+[WebView _removeUserScriptsFromGroup:worldID:]):
(+[WebView _removeUserStyleSheetsFromGroup:worldID:]):
* WebView/WebViewPrivate.h:

WebKit/win: Split removal functions for user scripts and stylehseets based on type.

Reviewed by Adam Roben..

* Interfaces/IWebViewPrivate.idl:
* WebView.cpp:
(WebView::removeUserScriptFromGroup):
(WebView::removeUserStyleSheetFromGroup):
* WebView.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix DumpRenderTree to account for API changes in the user script stuff.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49542 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix null assignment so root tests work again.

Reviewed by Mark Rowe.

* Scripts/webkitdirs.pm:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49543 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, adding myself to reviewers list.

* Scripts/modules/committers.py:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49544 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix build bustage on Windows.

* WebView.cpp:
(WebView::addUserScriptToGroup):
(WebView::addUserStyleSheetToGroup):
(WebView::removeUserScriptsFromGroup):
(WebView::removeUserStyleSheetsFromGroup):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49547 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix more WebView bustage.

* WebView.cpp:
(WebView::addUserScriptToGroup):
(WebView::addUserStyleSheetToGroup):
(WebView::removeUserScriptsFromGroup):
(WebView::removeUserStyleSheetsFromGroup):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49550 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore: Fix issue where clientX and clientY on MouseEvents were wrong when
the page was zoomed and scrolled.

Reviewed by David Hyatt.

Test: fast/events/clientXY-in-zoom-and-scroll.html

* dom/MouseRelatedEvent.cpp:
(WebCore::contentsX): Take page zoom into account.
(WebCore::contentsY): Ditto.

LayoutTests: Test issue where clientX and clientY on MouseEvents were wrong when
the page was zoomed and scrolled.

Reviewed by David Hyatt.

* fast/events/clientXY-in-zoom-and-scroll-expected.txt: Added.
* fast/events/clientXY-in-zoom-and-scroll.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49551 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2009-10-13  Zan Dobersek  <zandobersek@gmail.com>

        Reviewed by Holger Freyther.

        [LayoutTests][Gtk] Set a common Gtk theme as default and update the results
        https://bugs.webkit.org/show_bug.cgi?id=30223

        Update test results to reflect the usage of the default theme.

        * platform/gtk/editing/selection/iframe-expected.txt:
        * platform/gtk/editing/selection/select-box-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49552 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2009-10-13  Evan Martin  <evan@chromium.org>

        Reviewed by David Levin.

        Make grippy lines vertical on horizontal scrollbars in Linux Chrome.
        While we're rebaselining scrollbars, fix an off by one in the vertical
        scrollbar rendering too.

        https://bugs.webkit.org/show_bug.cgi?id=30319

        Tests: this is covered by every pixel test involving scrollbars.

        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49553 268f45cc-cd09-0410-ab3c-d52691b4dbfc