IndexedDB: storage/indexeddb/cursor-prev-no-duplicate.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=101990

Reviewed by Tony Chang.

Race condition in test leads to flaky behavior. Refactor test to remove flake
and clean up output.

* storage/indexeddb/cursor-prev-no-duplicate-expected.txt:
* storage/indexeddb/resources/cursor-prev-no-duplicate.js:
(testFarRangeCursor_closed):
(.trans.oncomplete):
(.storeReq.onsuccess):
(runTest):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134343 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Perl errors from Tools/Scripts/copy-webkitlibraries-to-product-directory
https://bugs.webkit.org/show_bug.cgi?id=101980

Reviewed by Mark Rowe.

Remove library libWebKitSystemInterfaceLeopard.a and libWebKitSystemInterfaceSnowLeopard.a
from the list of libraries to copy to the specified built products directory
as these libraries were removed from the repository in <http://trac.webkit.org/changeset/133670>.

* Scripts/copy-webkitlibraries-to-product-directory:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Replace DOMException TYPE_MISMATCH_ERR with TypeError
https://bugs.webkit.org/show_bug.cgi?id=101604

Reviewed by Adam Barth.

Source/WebCore:

DOMException.TYPE_MISMATCH_ERR is deprecated in favor of using TypeError.

We have historically used TYPE_MISMATCH_ERR as a blanket DOMException code when
the spec mandates TypeError being thrown.

Updated existing tests.

* Modules/mediastream/MediaConstraintsImpl.cpp:
* Modules/mediastream/MediaStreamTrackList.cpp:
* Modules/mediastream/PeerConnection00.cpp:
* Modules/mediastream/RTCDataChannel.cpp:
* Modules/mediastream/RTCIceCandidate.cpp:
* Modules/mediastream/RTCPeerConnection.cpp:
* Modules/mediastream/RTCSessionDescription.cpp:
* Modules/mediastream/SessionDescription.cpp:
* bindings/js/CallbackFunction.cpp:
* bindings/js/JSCustomXPathNSResolver.cpp:
* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
* bindings/js/JSHTMLSelectElementCustom.cpp:
* bindings/js/JSMutationObserverCustom.cpp:
* bindings/js/JSSQLResultSetRowListCustom.cpp:
* bindings/js/JSSQLTransactionCustom.cpp:
* bindings/js/JSSQLTransactionSyncCustom.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/V8Callback.h:
* bindings/v8/V8Collection.cpp:
* bindings/v8/custom/V8DocumentCustom.cpp:
* bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
* bindings/v8/custom/V8MutationObserverCustom.cpp:
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
* bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
* dom/DOMCoreException.idl:
* html/HTMLElement.cpp:
* html/HTMLMediaElement.cpp:
* html/HTMLOptionsCollection.cpp:
* html/canvas/CanvasRenderingContext2D.cpp:
* page/Crypto.cpp:
* page/DOMSelection.cpp:
* svg/properties/SVGTransformListPropertyTearOff.h:

LayoutTests:

Update the tests to test for TypeError instead of DOMException with the TYPE_MISMATCH_ERR code.

* canvas/philip/tests/2d.drawImage.null.html:
* canvas/philip/tests/2d.imageData.put.null.html:
* canvas/philip/tests/2d.pattern.image.null.html:
* editing/selection/extend-expected.txt:
* fast/dom/Geolocation/argument-types-expected.txt:
* fast/dom/Geolocation/not-enough-arguments-expected.txt:
* fast/dom/Geolocation/script-tests/argument-types.js:
* fast/dom/HTMLSelectElement/select-selectedIndex-expected.txt:
* fast/dom/HTMLSelectElement/select-selectedIndex-multiple-expected.txt:
* fast/js/select-options-add-expected.txt:
* fast/mediastream/RTCIceCandidate-expected.txt:
* fast/mediastream/RTCPeerConnection-expected.txt:
* fast/mediastream/RTCSessionDescription-expected.txt:
* fast/mediastream/SessionDescription-expected.txt:
* fast/mediastream/peerconnection-addstream-expected.txt:
* fast/mediastream/peerconnection-iceoptions-expected.txt:
* fast/mediastream/peerconnection-iceoptions.html:
* fast/mediastream/peerconnection-removestream-expected.txt:
* media/encrypted-media/encrypted-media-syntax.html:
* media/video-test.js:
* platform/chromium/fast/dynamic/insertAdjacentElement-expected.txt:
* security/crypto-random-values-types-expected.txt:
* svg/dom/SVGTransformList-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a dock button to the top right corner of the Web Inspector window (similar to the full screen button).

Source/WebCore: Expose InspectorFrontendClientLocal::setAttachedWindow as public.

This allows external actions to update the docked state in the frontend.

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

Reviewed by Anders Carlsson.

* inspector/InspectorFrontendClientLocal.h:
Moved InspectorFrontendClientLocal::setAttachedWindow to public section.

Source/WebKit2: Add a dock button to the top right corner of the Web Inspector window (similar to the full screen button).

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

Reviewed by Anders Carlsson.

* Resources/Dock.pdf: Added.
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::attach): Set the SetAttachedWindow message.
(WebKit::WebInspectorProxy::detach): Ditto.
(WebKit::WebInspectorProxy::attachAvailabilityChanged): Added. Call platformAttachAvailabilityChanged.
* UIProcess/WebInspectorProxy.h:
* UIProcess/WebInspectorProxy.messages.in: Added AttachAvailabilityChanged message.
* UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter attach:]): Added. Call WebInspectorProxy::attach.
(-[WKWebInspectorWindow _cursorForResizeDirection:]): Added.
(WebKit::WebInspectorProxy::createInspectorWindow): Create the dock button and add it.
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Added. Update hidden state of the dock button.
* WebKit2.xcodeproj/project.pbxproj: Added Dock.pdf.
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::setAttachedWindow): Added. Call through to the frontend client.
(WebKit::WebInspector::updateDockingAvailability): Send AttachAvailabilityChanged message.
* WebProcess/WebPage/WebInspector.h:
* WebProcess/WebPage/WebInspector.messages.in: Added SetAttachedWindow message.

* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Added stub.
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Ditto.
* UIProcess/qt/WebInspectorProxyQt.cpp:
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Ditto.
* UIProcess/win/WebInspectorProxyWin.cpp:
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a dock button to the top right corner of the Web Inspector window (similar to the full screen button).

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

Reviewed by Joseph Pecoraro.

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj: Added Dock.pdf.

Source/WebKit/mac:

* Resources/Dock.pdf: Added.
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindow _cursorForResizeDirection:]): Added.
(WebInspectorClient::didResizeMainFrame): Call attachAvailabilityChanged instead.
(WebInspectorFrontendClient::attachAvailabilityChanged): Added.
(-[WebInspectorWindowController window]): Create the dock button and add it.
(-[WebInspectorWindowController attachWindow:]): Added.
(-[WebInspectorWindowController attach]): Call setAttachedWindow.
(-[WebInspectorWindowController detach]): Ditto.
(-[WebInspectorWindowController setDockingUnavailable:]): Added. Update hidden state of the dock button.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134347 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Zoomed-in scrolling is very slow when deviceScaleFactor > 1
https://bugs.webkit.org/show_bug.cgi?id=101787

Reviewed by Simon Fraser.

Source/WebCore: 

This patch adds a new member to the GraphicsContextState that tracks 
whether or not fonts should be subpixel-quantized. We want to default 
to sibpixel-quantizing, but we'll turn it off if we're scrolling 
content that cannot be scrolled on the scrolling thread.

State has a new bool shouldSubpixelQuantizeFonts. It defaults to true 
since normally we do want to quantize.
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts):
(WebCore::GraphicsContext::shouldSubpixelQuantizeFonts):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContextState::GraphicsContextState):
(GraphicsContextState):
(GraphicsContext):

wkSetCGFontRenderingMode now takes a BOOL parameter which indicates 
whether or not it should try to subpixel-quantize the fonts.
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:

Disable subpixel-quantization for overflow areas, subframes, and 
content that is scrolling on the main thread.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):

WebKitLibraries: 

wkSetCGFontRenderingMode now takes a BOOL parameter.
* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceMountainLion.a:



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