new-run-webkit-tests appends "/Debug" or "/Release" to $WEBKITOUTPUTDIR
https://bugs.webkit.org/show_bug.cgi?id=69360

Reviewed by Eric Seidel.

Reviewed by Eric Seidel.

Propagate the 'port_implementation' part of the platform (i.e.,
gtk,qt,chromium) to webkit-build-directory so that we can pick
up the gtk-specific handling of WEBKITOUTPUTDIR ...

I didn't write any additional tests for this; testing it
properly is an integration test between the python code and the
perl code, which I verified by hand.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.__init__):
* Scripts/webkitpy/layout_tests/port/config.py:
(Config.__init__):
(Config.build_directory):
* Scripts/webkitpy/layout_tests/port/config_mock.py:
(MockConfig.__init__):
* Scripts/webkitpy/layout_tests/port/config_unittest.py:
(ConfigTest.test_build_directory_passes_port_implementation):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120863 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nrwt: fix unit tests for ensuring svn revision is correct
https://bugs.webkit.org/show_bug.cgi?id=89498

Reviewed by Eric Seidel.

Reviewed by Eric Seidel.

Fix the unit tests for testing that we are embedding the SVN
revision in the results json for NRWT properly; this was broken
in r120646 but because the MockHost worked differently than the
real one (by always initializing the MockSCM object) we didn't
notice. Unfortunately, just changing the default breaks all
sorts of unit tests ...

* Scripts/webkitpy/common/host_mock.py:
(MockHost.__init__):
(MockHost._initialize_scm):
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ResultSummaryTest.test_no_svn_revision):
(ResultSummaryTest.test_svn_revision):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120864 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nrwt outputs empty files for wdiff output if wdiff is not installed
https://bugs.webkit.org/show_bug.cgi?id=88709

Reviewed by Tony Chang.

Reviewed by Tony Chang.

Don't write -wdiff or -pretty.html files if wdiff or prettypatch
aren't available, and clean up the handling for them in the port
code.

* Scripts/webkitpy/run_webkit_tests_integrationtest.py:
(MainTest.test_output_diffs):
* Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
(TestResultWriter.create_text_diff_and_write_result):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.check_pretty_patch):
(Port.check_wdiff):
(Port._wdiff_missing_message):
* Scripts/webkitpy/layout_tests/port/chromium_linux.py:
(ChromiumLinuxPort.check_build):
(ChromiumLinuxPort._wdiff_missing_message):
* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumMacPort.check_build):
(ChromiumMacPort):
(ChromiumMacPort._wdiff_missing_message):
* Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:
(ChromiumMacPortTest):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120865 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r120854.
http://trac.webkit.org/changeset/120854
https://bugs.webkit.org/show_bug.cgi?id=89604

Broke Chromium WebKit Linux (dbg) (Requested by arv on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-20

* Target.pri:
* UseV8.cmake:
* WebCore.gypi:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateNamedConstructorCallback):
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore):
* bindings/scripts/test/V8/V8Float64Array.h:
(V8Float64Array):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(V8TestActiveDOMObject):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(V8TestCustomNamedGetter):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(V8TestEventConstructor):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(V8TestEventTarget):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestException.h:
(V8TestException):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestInterface.h:
(V8TestInterface):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(V8TestMediaQueryListListener):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(V8TestNamedConstructor):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestNode.h:
(V8TestNode):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestObj.h:
(V8TestObj):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(V8TestSerializedScriptValueInterface):
* bindings/v8/NPV8Object.cpp:
(WebCore::npObjectTypeInfo):
* bindings/v8/V8GCController.cpp:
(WebCore::GrouperVisitor::visitDOMWrapper):
* bindings/v8/WrapperTypeInfo.h:
(WebCore):
(WrapperTypeInfo):
* bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
(WebCore):
(WebCore::toV8):
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::toV8):
(WebCore):
* bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
(WebCore):
(WebCore::toV8):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::toV8):
(WebCore):
* bindings/v8/custom/V8StyleSheetCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8TextTrackListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
(WebCore):
(WebCore::toV8):
* css/CSSStyleSheet.idl:
* css/StyleSheet.idl:
* dom/DOMStringMap.idl:
* dom/NamedNodeMap.idl:
* html/DOMTokenList.idl:
* html/track/TextTrackList.idl:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120866 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r120821.
http://trac.webkit.org/changeset/120821
https://bugs.webkit.org/show_bug.cgi?id=89605

It made duplicated reviewer entries (Requested by Ossy on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-20

* Scripts/webkitpy/common/checkout/changelog.py:
(ChangeLog.set_reviewer):
* Scripts/webkitpy/common/checkout/changelog_unittest.py:
(test_set_reviewer):
(test_set_short_description_and_bug_url):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120867 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move m_listsInvalidatedAtDocument from NodeListsNodeData to Document
https://bugs.webkit.org/show_bug.cgi?id=89603

Reviewed by Andreas Kling.

Moved the variable. m_listsInvalidatedAtDocument is never used in non-Document nodes
so it was just wasting memory space.

* dom/Document.cpp:
(WebCore::Document::registerDynamicSubtreeNodeList):
(WebCore::Document::unregisterDynamicSubtreeNodeList):
(WebCore):
(WebCore::Document::clearNodeListCaches):
* dom/Document.h:
(Document):
* dom/DynamicNodeList.h:
(DynamicSubtreeNodeList):
* dom/Node.cpp:
(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
(WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
(WebCore):
(WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): RadioNodeList
is invalidated at document level. No need to invalidate it again here.
(WebCore::NodeListsNodeData::isEmpty):
* dom/NodeRareData.h:
(NodeListsNodeData):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120868 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Let XCode have its own way.

* WebCore.xcodeproj/project.pbxproj:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120869 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Computed style tests are a maintenance burden on the project
https://bugs.webkit.org/show_bug.cgi?id=87991

Reviewed by Eric Seidel.

Convert computed-style.html, computed-style-without-renderer.html and getComputedStyle-basic.xhtml
to use a whitelist of properties rather than a blacklist. The whitelist includes all properties
that are supported based on the checked in results so all ports can share the same values. Adding
new properties won't cause these tests to be rebaselined.

* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer.html: Remove indenting and use a fixed
width for the middle div so we don't get fractional pixel values for ports with fractional pixel
values enabled.
* fast/css/getComputedStyle/computed-style.html:
* fast/css/getComputedStyle/resources/property-names.js: Whitelist of common CSS properties.
* platform/chromium-linux-x86/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-linux/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-mac-leopard/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/chromium-mac-leopard/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-mac-snowleopard/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-mac/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/chromium-mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
* platform/chromium-mac/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-win-vista/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-win-xp/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
* platform/chromium-win/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/gtk/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/gtk/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/mac/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
* platform/mac/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/qt/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
* platform/qt/svg/css/getComputedStyle-basic-expected.png: Removed.
* platform/qt/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/win/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
* svg/css/getComputedStyle-basic-expected.txt:
* svg/css/getComputedStyle-basic.xhtml:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120870 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening, skip new failing tests.

* platform/qt/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120873 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a != operator to ViewportArguments
https://bugs.webkit.org/show_bug.cgi?id=87505

Reviewed by Antonio Gomes.
Patch by Jacky Jiang  <zhajiang@rim.com>

Source/WebCore:

Add a != operator to ViewportArguments for convenience.

* dom/ViewportArguments.h:
(ViewportArguments):
(WebCore::ViewportArguments::operator!=):

Source/WebKit/blackberry:

Use != operator of ViewportArguments.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
* Api/WebViewportArguments.cpp:
(BlackBerry::WebKit::WebViewportArguments::operator!=):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fixed typos in the change log.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Account for device scale factor when creating image for dragging.
https://bugs.webkit.org/show_bug.cgi?id=89489

Patch by Varun Jain <varunjain@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

.:

* ManualTests/chromium/drag-image-accounts-for-device-scale.html: Added.

Source/WebCore:

Manual Test: ManualTests/chromium/drag-image-accounts-for-device-scale.html

* page/Frame.cpp:
(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Support mobile device rotation resizing
https://bugs.webkit.org/show_bug.cgi?id=86819

Patch by Alexandre Elias <aelias@google.com> on 2012-06-20
Reviewed by Adam Barth.

Resizes on a mobile device are caused either by rotation or
on-screen-keyboard bringup, and need different treatment to remain
naturally laid out, scaled and scrolled without disorienting the user.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::resize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<http://webkit.org/b/89606> Teach run-safari and debug-safari to work with a Safari.app that has entitlements

Reviewed by Dan Bernstein.

* Scripts/webkitdirs.pm:
(executableHasEntitlements):
(safariPathFromSafariBundle):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/11653784> and https://bugs.webkit.org/show_bug.cgi?id=89590
showModalDialog message handling is flaky in WebKit2

Because RunLoop::performWork() swaps the function queue to a temporary Vector before calling
the functions an inner run-loop - such as we see with running a modal dialog - does not have
a change to handle any of the functions that were queued after the WebPageProxy::RunModal message.

By servicing the functions in the queue one at a time we can give the RunLoop a chance to pick up
where it left off if RunLoop::performWork is re-entered.

To guarantee RunLoop::performWork is re-entered to handle those functions we also need to signal
its source before entering the modal run loop so our RunLoop is woken up.

Reviewed by Darin Adler.

Source/WebCore:

* WebCore.exp.in:
* platform/RunLoop.cpp:
(WebCore::RunLoop::performWork): Take the first function off the queue one at a time so subsequent
  functions remain in the queue and can be handled by an inner modal run loop.
* platform/RunLoop.h:
(RunLoop): Change the function queue to be a Deque to efficiently support "takeFirst"

Source/WebKit2:

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::wakeUpRunLoop): Added so the WebPageProxy can signal the runloop to be woken up
  before it enters the modal dialog run loop.
* Platform/CoreIPC/Connection.h:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runModal): Call wakeUpRunLoop() before entering the modal dialog run loop.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Perform hit-test from correct frame in isRectTopmost()
https://bugs.webkit.org/show_bug.cgi?id=89492

Patch by Raymes Khoury <raymes@chromium.org> on 2012-06-20
Reviewed by Levi Weintraub.

Hit-testing was being performed from the main frame, which gave the
incorrect result if the plugin was in a different frame.

* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::isRectTopmost):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: persist timeline panel overview mode
https://bugs.webkit.org/show_bug.cgi?id=88711

Reviewed by Pavel Feldman.

- replace all internal methods of switching to a new mode of TimelineOverviewPane with setMode();
- make current mode a persistent setting;

* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype.setMode):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120882 268f45cc-cd09-0410-ab3c-d52691b4dbfc
internals.settings.setDeviceScaleFactor doesn't work for WebKit2 and must be removed
https://bugs.webkit.org/show_bug.cgi?id=89274

Reviewed by James Robinson.

Source/WebCore: 

Using this window.internals API causes the apple-mac port to ASSERT in
WebKit2 because WebKit2 keeps a copy of this state in the UI process.
When a test uses this internals API, the WebCore state gets out of sync
with the state in the UI process.

Tests should use setBackingScaleFactor instead.

* testing/InternalSettings.cpp:
(WebCore):
* testing/InternalSettings.h:
(InternalSettings):
* testing/InternalSettings.idl:

LayoutTests: 

* fast/hidpi/device-scale-factor-paint.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: Moving cookieEnabled/setCookieEnabled from Page to Settings.
https://bugs.webkit.org/show_bug.cgi?id=89545

Patch by Garret Kelly <gdk@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

* dom/Document.cpp:
(WebCore::Document::cookie):
(WebCore::Document::setCookie):
* page/Navigator.cpp:
(WebCore::Navigator::cookieEnabled):
* page/Page.h:
(Page):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setCookieEnabled):
(WebCore::Settings::cookieEnabled):
(Settings):
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):

Source/WebKit/chromium: Moving cookieEnabled/setCookieEnabled from Page to Settings, and
exposing through WebSettings.
https://bugs.webkit.org/show_bug.cgi?id=89545

Patch by Garret Kelly <gdk@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setCookieEnabled):
* src/WebSettingsImpl.h:
(WebSettingsImpl):

Source/WebKit/mac: Moving cookieEnabled/setCookieEnabled from Page to Settings.
https://bugs.webkit.org/show_bug.cgi?id=89545

Patch by Garret Kelly <gdk@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

* WebView/WebView.mm:
(-[WebView _cookieEnabled]):
(-[WebView _setCookieEnabled:]):

Source/WebKit/win: Moving cookieEnabled/setCookieEnabled from Page to Settings.
https://bugs.webkit.org/show_bug.cgi?id=89545

Patch by Garret Kelly <gdk@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

* WebView.cpp:
(WebView::setCookieEnabled):
(WebView::cookieEnabled):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Functions on global objects should be specializable
https://bugs.webkit.org/show_bug.cgi?id=89615

Reviewed by Oliver Hunt.
        
I tested to see if this brought back the bug in https://bugs.webkit.org/show_bug.cgi?id=33343,
and it didn't. Bug 33343 was the reason why we disabled global object function specialization
to begin with. So I'm guessing this is safe.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):



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