WebKit-https.git
5 years agoOne more build fix after r163979.
rniwa@webkit.org [Wed, 12 Feb 2014 22:44:14 +0000 (22:44 +0000)]
One more build fix after r163979.

* Scripts/webkitpy/port/mac_unittest.py:
(test_baseline_search_path):

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

5 years agoWK2: coordinate mapping for frames does not work when the page is scrolled.
enrica@apple.com [Wed, 12 Feb 2014 22:37:20 +0000 (22:37 +0000)]
WK2: coordinate mapping for frames does not work when the page is scrolled.
https://bugs.webkit.org/show_bug.cgi?id=128690
<rdar://problem/16042925>

Reviewed by Simon Fraser.

We should not apply the scroll offset when using delegate scrolling.

* platform/ScrollView.cpp:
(WebCore::ScrollView::rootViewToContents):
(WebCore::ScrollView::contentsToRootView):
(WebCore::ScrollView::rootViewToTotalContents):

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

5 years agoWeb Inspector: Cleanup JavaScriptCore/inspector
commit-queue@webkit.org [Wed, 12 Feb 2014 22:36:56 +0000 (22:36 +0000)]
Web Inspector: Cleanup JavaScriptCore/inspector
https://bugs.webkit.org/show_bug.cgi?id=128662

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-12
Reviewed by Timothy Hatcher.

Now that the code has settled, do a cleanup pass.

* inspector/ContentSearchUtilities.cpp:
* inspector/InspectorValues.cpp:
(Inspector::InspectorValue::asObject):
(Inspector::InspectorValue::asArray):
(Inspector::InspectorValue::parseJSON):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::get):
* inspector/ScriptCallStackFactory.cpp:
* inspector/ScriptDebugServer.cpp:
* inspector/agents/JSGlobalObjectConsoleAgent.h:

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

5 years agoWeb Inspector: Rename PageInjectedScript* to WebInjectedScript*
commit-queue@webkit.org [Wed, 12 Feb 2014 22:36:24 +0000 (22:36 +0000)]
Web Inspector: Rename PageInjectedScript* to WebInjectedScript*
https://bugs.webkit.org/show_bug.cgi?id=128660

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-12
Reviewed by Timothy Hatcher.

Rename the files update build systems and users.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* inspector/CommandLineAPIModule.cpp:
(WebCore::CommandLineAPIModule::host):
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorController.h:
* inspector/InspectorHeapProfilerAgent.cpp:
(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::PageProfilerAgent::PageProfilerAgent):
(WebCore::InspectorProfilerAgent::create):
(WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
* inspector/InspectorProfilerAgent.h:
* inspector/PageConsoleAgent.cpp:
(WebCore::PageConsoleAgent::PageConsoleAgent):
(WebCore::PageConsoleAgent::addInspectedNode):
* inspector/PageConsoleAgent.h:
* inspector/WebConsoleAgent.cpp:
(WebCore::WebConsoleAgent::WebConsoleAgent):
(WebCore::WebConsoleAgent::frameWindowDiscarded):
(WebCore::WebConsoleAgent::addInspectedHeapObject):
* inspector/WebConsoleAgent.h:
* inspector/WebInjectedScriptHost.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.cpp.
(WebCore::WebInjectedScriptHost::type):
(WebCore::WebInjectedScriptHost::isHTMLAllCollection):
* inspector/WebInjectedScriptHost.h: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.h.
* inspector/WebInjectedScriptManager.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.cpp.
(WebCore::WebInjectedScriptManager::WebInjectedScriptManager):
(WebCore::WebInjectedScriptManager::disconnect):
(WebCore::WebInjectedScriptManager::didCreateInjectedScript):
(WebCore::WebInjectedScriptManager::discardInjectedScriptsFor):
* inspector/WebInjectedScriptManager.h: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.h.
* inspector/WorkerConsoleAgent.cpp:
(WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
* inspector/WorkerConsoleAgent.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
* inspector/WorkerInspectorController.h:

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

5 years agoFix the iOS build after r163976
aestes@apple.com [Wed, 12 Feb 2014 22:32:38 +0000 (22:32 +0000)]
Fix the iOS build after r163976

Moved WebPageProxy::{wrap,unwrap}CryptoKey() to a new file built by
both Mac and iOS.

* UIProcess/Cocoa/WebPageProxyCocoa.mm: Added.
(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):
* UIProcess/mac/WebPageProxyMac.mm:
* WebKit2.xcodeproj/project.pbxproj:

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

5 years ago[CSS Regions] Fix layout of floated nested region
stavila@adobe.com [Wed, 12 Feb 2014 22:16:56 +0000 (22:16 +0000)]
[CSS Regions] Fix layout of floated nested region
https://bugs.webkit.org/show_bug.cgi?id=128367

Reviewed by Mihnea Ovidenie.

Added test for the correct layout of nested, floating regions.

* fast/regions/nested-floated-region-expected.html: Added.
* fast/regions/nested-floated-region.html: Added.

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

5 years agoUnreviewed iOS Build fix after r163975.
bfulgham@apple.com [Wed, 12 Feb 2014 22:07:04 +0000 (22:07 +0000)]
Unreviewed iOS Build fix after r163975.

* page/EventHandler.cpp: Use wheel event stubs if !PLATFORM(MAC) || PLATFORM(IOS).

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

5 years agoClean up PageThrottler interface
barraclough@apple.com [Wed, 12 Feb 2014 21:56:32 +0000 (21:56 +0000)]
Clean up PageThrottler interface
https://bugs.webkit.org/show_bug.cgi?id=128677

Reviewed by Benjamin Poulain.

Currently, responsibility for throttling DOM timers & suspending animations is split
between the Page & the PageThrottler. Clarify by making Page responsible for suspending
animations (PageThrottler is now purely related to aspects of timer throttling), and
move all timer throttling policy to the PageThrottler, with a single function on Page to
enable (Page::setTimerThrottlingEnabled).

Also, transmit the full ViewState to the PageThrottler (not just the IsVisuallyIdle flag),
and distinguish between media & page-load activity.

* WebCore.exp.in:
    - removed setDOMTimerAlignmentInterval.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
    - createActivityToken -> mediaActivityToken
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::started):
    - createActivityToken -> pageLoadActivityToken
* page/Page.cpp:
(WebCore::Page::Page):
    - added m_timerThrottlingEnabled, made PageThrottler a member
(WebCore::Page::setIsVisuallyIdleInternal):
    - update animiation suspension.
(WebCore::Page::setTimerThrottlingEnabled):
    - setTimerAlignmentInterval -> setTimerThrottlingEnabled
(WebCore::Page::setViewState):
    - pass viewState to PageThrottler.
(WebCore::Page::setIsVisibleInternal):
    - don't update timer throttling.
* page/Page.h:
(WebCore::Page::pageThrottler):
    - made PageThrottler a member.
(WebCore::Page::timerAlignmentInterval):
    - inlined.
* page/PageThrottler.cpp:
(WebCore::PageThrottler::PageThrottler):
    - initialize ViewState.
(WebCore::PageThrottler::~PageThrottler):
    - clean up by calling setTimerThrottlingEnabled directly.
(WebCore::PageThrottler::hiddenPageDOMTimerThrottlingStateChanged):
    - moved from Page.
(WebCore::PageThrottler::mediaActivityToken):
(WebCore::PageThrottler::pageLoadActivityToken):
    - from Page::createActivityToken
(WebCore::PageThrottler::throttlePage):
(WebCore::PageThrottler::unthrottlePage):
    - don't throttle animations here.
(WebCore::PageThrottler::setViewState):
(WebCore::PageThrottler::setIsVisible):
    - added, throttle Dom timers.
* page/PageThrottler.h:
* page/Settings.cpp:
(WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):
    - removed setDOMTimerAlignmentInterval, hiddenPageDOMTimerThrottlingStateChanged moved to PageThrottler.
* page/Settings.h:
    - removed setDOMTimerAlignmentInterval.

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

5 years agoFix build.
andersca@apple.com [Wed, 12 Feb 2014 21:38:57 +0000 (21:38 +0000)]
Fix build.

* UIProcess/API/Cocoa/WKProcessClass.h:

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

5 years agoCleanup mac/mac-wk1/mac-wk2 TestExpectations a little bit
beidson@apple.com [Wed, 12 Feb 2014 21:37:58 +0000 (21:37 +0000)]
Cleanup mac/mac-wk1/mac-wk2 TestExpectations a little bit
https://bugs.webkit.org/show_bug.cgi?id=128679

Reviewed by Alexey Proskuryakov.

* platform/mac-wk1/TestExpectations: mac-wk1 specific disables should go here.
* platform/mac-wk2/TestExpectations: Remove unnecessary re-enabling, and simplify indexeddb/mozilla.
* platform/mac/TestExpectations: Move some tests from here to mac-wk1.

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

5 years ago[WK2][iOS] Add back the special viewport for the old xhtml mobile doctype
benjamin@webkit.org [Wed, 12 Feb 2014 21:37:26 +0000 (21:37 +0000)]
[WK2][iOS] Add back the special viewport for the old xhtml mobile doctype
https://bugs.webkit.org/show_bug.cgi?id=128639

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-12
Reviewed by Andreas Kling.

Source/WebCore:

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::childrenChanged):
Document::setDocType() has been removed and the doctype update code with it.
Add a call to didReceiveDocType() to ensure the viewport is updated when the doctype is parsed.

* loader/EmptyClients.h:
* page/Chrome.cpp:
(WebCore::Chrome::didReceiveDocType):
* page/ChromeClient.h:
* page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::xhtmlMobileParameters):
* page/ViewportConfiguration.h:

Source/WebKit/ios:

* WebCoreSupport/WebChromeClientIOS.h:
* WebCoreSupport/WebChromeClientIOS.mm:
(WebChromeClientIOS::didReceiveMobileDocType):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::didReceiveMobileDocType):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::didReceiveMobileDocType):

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

5 years agoAdd a mac-wk1 platform directory and TestExpectations file
rniwa@webkit.org [Wed, 12 Feb 2014 21:27:22 +0000 (21:27 +0000)]
Add a mac-wk1 platform directory and TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=128676

Build fix. Put mac-wk1 between mac-mountainlion and mac.

* Scripts/webkitpy/port/mac.py:
(MacPort.default_baseline_search_path):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineTest.test_baseline_directory):

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

5 years agoMountain Lion build fix.
ap@apple.com [Wed, 12 Feb 2014 21:22:30 +0000 (21:22 +0000)]
Mountain Lion build fix.

* WebCore.exp.in: Only export WebCrypto symbols on 10.9+, because SUBTLE_CRYPTO
is not enabled on 10.8.

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

5 years agoWKProcessClass.h and WKNavigationResponse.h should be public headers
andersca@apple.com [Wed, 12 Feb 2014 21:22:22 +0000 (21:22 +0000)]
WKProcessClass.h and WKNavigationResponse.h should be public headers
https://bugs.webkit.org/show_bug.cgi?id=128683

Reviewed by Dan Bernstein.

* WebKit2.xcodeproj/project.pbxproj:

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

5 years agoWrap WebCrypto keys in SerializedScriptValue
ap@apple.com [Wed, 12 Feb 2014 21:08:40 +0000 (21:08 +0000)]
Wrap WebCrypto keys in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128680

Reviewed by Anders Carlsson.

Source/WebCore:

Test: crypto/subtle/rsa-indexeddb.html

Added Mac code to wrap a key with AES-GCM. We then serialize it into a plist,
because more custom formats would be crazy (even the custom format in SerializedScriptValue
makes me nervous, we'll certainly need to change CryptoKey in the future).

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* crypto/CommonCryptoUtilities.h:
* crypto/SerializedCryptoKeyWrap.h: Added.
* crypto/mac/SerializedCryptoKeyWrapMac.mm: Added.
(WebCore::vectorFromNSData):
(WebCore::wrapSerializedCryptoKey):
(WebCore::unwrapSerializedCryptoKey):

Source/WebKit/mac:

Retrieve a master key (placeholder code for now), and use it to wrap key data.

* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::wrapCryptoKey):
(WebChromeClient::unwrapCryptoKey):

Source/WebKit2:

Retrieve a master key (placeholder code for now), and use it to wrap key data.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

LayoutTests:

* crypto/subtle/rsa-indexeddb-expected.txt: Added.
* crypto/subtle/rsa-indexeddb.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac-wk1/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

5 years agoWheel events don't latch to inner scrollable elements
bfulgham@apple.com [Wed, 12 Feb 2014 20:40:17 +0000 (20:40 +0000)]
Wheel events don't latch to inner scrollable elements
https://bugs.webkit.org/show_bug.cgi?id=128225
<rdar://problem/12183688>

Reviewed by Simon Fraser

* WebCore.exp.in: Add declarations for new scrolledToTop, scrolledToBottom, scrolledToLeft, and scrolledToRight.
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::clear):
(WebCore::findScrollableContainer): New helper function to locate first node
in enclosing region of document that is capable of handling mouse wheel events.
(WebCore::isAtMaxDominantScrollPosition): Predicate to check if the scrollable
area is at the limit we will hit based on scroll direction.
(WebCore::EventHandler::handleWheelEvent): Identify the case where we have hit
the end of a scroll, and treat that as a valid 'handled' case. If the scroll event
is just starting, treat end-of-scroll as unhandled so the parent element can
handle things.
* page/EventHandler.h:
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Use new methods
on the PlatformWheelEvent class.
(WebCore::ScrollingTree::setOrClearLatchedNode): Ditto
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::shouldConsiderLatching): Moved implementation from ScrollingTree.
(WebCore::PlatformWheelEvent::shouldClearLatchedNode): Ditto
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrolledToTop): Added
(WebCore::ScrollableArea::scrolledToBottom):Added
(WebCore::ScrollableArea::scrolledToLeft): Added
(WebCore::ScrollableArea::scrolledToRight): Added
* platform/ScrollableArea.h:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::scrolledToTop): Added
(WebCore::RenderListBox::scrolledToBottom): Added
(WebCore::RenderListBox::scrolledToLeft): Added
(WebCore::RenderListBox::scrolledToRight): Added
* rendering/RenderListBox.h: Changed to public inheritance of ScrollableArea to
allow generic use of this type in scroll wheel logic.

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

5 years agoImplement DataCue for metadata cues
b.long@cablelabs.com [Wed, 12 Feb 2014 20:39:24 +0000 (20:39 +0000)]
Implement DataCue for metadata cues
https://bugs.webkit.org/show_bug.cgi?id=128402

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-datacue.html

* CMakeLists.txt: Add DataCue.
* DerivedSources.cpp: Add JSDataCue.
* DerivedSources.make: Same.
* GNUmakefile.list.am: Add DataCue and JSDataCue.
* WebCore.vcxproj/WebCore.vcxproj: Add DataCue.
* WebCore.vcxproj/WebCore.vcxproj.filters: Same.
* WebCore.xcodeproj/project.pbxproj: Add DataCue and JSDataCue.
* bindings/js/JSTextTrackCueCustom.cpp:
(WebCore::toJS): Add DataCue wrapper.
* html/track/DataCue.cpp: Copied from Source/WebCore/html/track/TextTrack.idl.
* html/track/DataCue.h: Copied from Source/WebCore/html/track/TextTrack.idl.
* html/track/DataCue.idl: Copied from Source/WebCore/html/track/TextTrack.idl.
* html/track/InbandGenericTextTrack.cpp:
(WebCore::InbandGenericTextTrack::addGenericCue): Pass ASSERT_NO_EXCEPTION to addCue().
* html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::newCuesParsed): Same.
* html/track/TextTrack.cpp:
(WebCore::TextTrack::addCue): Throw an exception if DataCue is added to a track that isn't kind="metadata".
* html/track/TextTrack.h: Add exception code parameter to addCue().
* html/track/TextTrack.idl: Add [RaisesException] to addCue().
* html/track/TextTrackCue.h: Add Data CueType.

LayoutTests:

* js/dom/global-constructors-attributes-expected.txt: Add DataCue.
* media/track/track-datacue-expected.txt: Added.
* media/track/track-datacue.html: Added.
* platform/efl/js/dom/global-constructors-attributes-expected.txt: Add DataCue.
* platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt: Same.
* platform/gtk/js/dom/global-constructors-attributes-expected.txt: Same.
* platform/mac/js/dom/global-constructors-attributes-expected.txt: Same.
* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt: Same.
* platform/win/js/dom/global-constructors-attributes-expected.txt: Same.

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

5 years agoSubpixel layout: Clean up LayoutPoint class.
zalan@apple.com [Wed, 12 Feb 2014 20:34:57 +0000 (20:34 +0000)]
Subpixel layout: Clean up LayoutPoint class.
https://bugs.webkit.org/show_bug.cgi?id=128515

Reviewed by Simon Fraser.

Remove redundant functions (keep the more explicit ones).

No change in functionality.

* page/FrameView.cpp:
(WebCore::FrameView::viewportConstrainedVisibleContentRect):
* platform/graphics/LayoutPoint.h:
(WebCore::toLayoutPoint):
(WebCore::toLayoutSize):
(WebCore::roundedIntPoint):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateContentsRects):
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addFocusRingRects):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::offsetFromContainer):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::addFocusRingRects):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::paintIntoRect):

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

5 years ago[CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy...
zandobersek@gmail.com [Wed, 12 Feb 2014 20:32:46 +0000 (20:32 +0000)]
[CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy to std::function
https://bugs.webkit.org/show_bug.cgi?id=128473

Reviewed by Anders Carlsson.

Source/WebCore:

Move the CoordinatedGraphicsScene class to using std::function instead of WTF::Functional and std::bind
instead of WTF::bind. The function wrapper is now moved through function calls and not passed by reference,
and lambda functions are inlined into the dispatchOnMainThread() calls, with the CoordinatedGraphicsScene
refcount-protected.

* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
(WebCore::CoordinatedGraphicsScene::dispatchOnMainThread):
(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebCore::CoordinatedGraphicsScene::commitSceneState):
(WebCore::CoordinatedGraphicsScene::syncRemoteContent):
(WebCore::CoordinatedGraphicsScene::purgeGLResources):
(WebCore::CoordinatedGraphicsScene::commitScrollOffset):
(WebCore::CoordinatedGraphicsScene::appendUpdate):
(WebCore::CoordinatedGraphicsScene::setActive):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:

Source/WebKit2:

Move the CoordinatedLayerTreeHostProxy class to using std::function instead of WTF::Functional. C++11
lambdas are used to construct the update functions, with the CoordinatedGraphicsScene refcount-protected
throughout the lifetime of the function wrapper.

* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
(WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:

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

5 years agoCleanup the code added for https://bugs.webkit.org/show_bug.cgi?id=128125.
eric.carlson@apple.com [Wed, 12 Feb 2014 20:29:33 +0000 (20:29 +0000)]
Cleanup the code added for https://bugs.webkit.org/show_bug.cgi?id=128125.

Not reviewed.

* html/HTMLMediaSession.cpp:
(WebCore::restrictionName): Don't need a "break" after a "return" in a case statement.
* platform/audio/MediaSession.cpp:
(WebCore::stateName): Ditto.
* platform/audio/ios/MediaSessionManagerIOS.mm:

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

5 years ago[GDB] Add .gdbinit to the list of files ignored by Git
zandobersek@gmail.com [Wed, 12 Feb 2014 20:28:57 +0000 (20:28 +0000)]
[GDB] Add .gdbinit to the list of files ignored by Git
https://bugs.webkit.org/show_bug.cgi?id=128455

Reviewed by Anders Carlsson.

* .gitignore: Ignore the .gdbinit file which can be used to perform WebKit-specific GDB initialization
when the debugger is launched in the repository's root directory. Also remove a Chromium-specific comment
that covers already removed entries.

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

5 years agoRenderNamedFlowThread should only support RenderElement children.
akling@apple.com [Wed, 12 Feb 2014 20:15:05 +0000 (20:15 +0000)]
RenderNamedFlowThread should only support RenderElement children.
<https://webkit.org/b/128675>

Tighten up flow-thread rendering so that it only supports element
children directly. This means we don't have to worry about text
renderers on this code path.

Reviewed by Antti Koivisto.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::insertedIntoTree):
(WebCore::RenderElement::willBeRemovedFromTree):
(WebCore::RenderElement::willBeDestroyed):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::nextRendererForElement):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):
* rendering/RenderNamedFlowThread.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::willBeRemovedFromTree):
* style/StyleResolveTree.cpp:
(WebCore::Style::createRendererIfNeeded):

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

5 years agoAdd a mac-wk1 platform directory and TestExpectations file
beidson@apple.com [Wed, 12 Feb 2014 19:29:39 +0000 (19:29 +0000)]
Add a mac-wk1 platform directory and TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=128676

Reviewed by Alexey Proskuryakov.

Tools:

* Scripts/webkitpy/port/mac.py:
(MacPort.default_baseline_search_path): When running WK1 tests on Mac,
  make mac-wk1 be the frontmost search path.

LayoutTests:

* platform/mac-wk1/TestExpectations: Added. Skip IndexedDB here.
* platform/mac-wk2/TestExpectations: Manage all mac-wk2 IndexedDB expectations here
  instead of building off the default mac expectations.
* platform/mac/TestExpectations: Don’t skip IndexedDB here.

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

5 years agoWindows build fix attempt after r163960.
rniwa@webkit.org [Wed, 12 Feb 2014 18:57:01 +0000 (18:57 +0000)]
Windows build fix attempt after r163960.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:

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

5 years agoAdjust VM::stackLimit based on the size of the largest FTL stack produced
msaboff@apple.com [Wed, 12 Feb 2014 18:40:35 +0000 (18:40 +0000)]
Adjust VM::stackLimit based on the size of the largest FTL stack produced
https://bugs.webkit.org/show_bug.cgi?id=128562

Reviewed by Mark Lam.

Added VM::m_largestFTLStackSize to track the largest stack size of an FTL compiled
function. Added VM::m_ftlStackLimit for FTL functions stack limit.  Renamed
VM::updateStackLimitWithReservedZoneSize to VM::updateReservedZoneSize.  Renamed
VM::setStackLimit to VM::updateStackLimit and changed it to do the updating of the
stack limits, including taking into account m_largestFTLStackSize.

* ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalizeFunction):
* runtime/ErrorHandlingScope.cpp:
(JSC::ErrorHandlingScope::ErrorHandlingScope):
(JSC::ErrorHandlingScope::~ErrorHandlingScope):
* runtime/JSLock.cpp:
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::grabAllLocks):
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::updateReservedZoneSize):
(JSC::VM::updateStackLimit):
(JSC::VM::updateFTLLargestStackSize):
* runtime/VM.h:

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

5 years agoIDB: Reimport storage/indexeddb tests from Blink
beidson@apple.com [Wed, 12 Feb 2014 18:17:47 +0000 (18:17 +0000)]
IDB: Reimport storage/indexeddb tests from Blink
https://bugs.webkit.org/show_bug.cgi?id=128636

Rubberstamped by Jer Noble.

Take two.

When I did this last night in r163923 the Mozilla tests outputted different results
because one of the logging functions they made had become more verbose.

This time we include the new test expectations for those tests, and update them to
reflect the different exception message outputted in WebKit vs Blink.

* resources/js-test.js: Added.
* storage/indexeddb/aborted-versionchange-closes-expected.txt:
* storage/indexeddb/aborted-versionchange-closes.html:
* storage/indexeddb/basics-expected.txt:
* storage/indexeddb/basics-shared-workers-expected.txt:
* storage/indexeddb/basics-shared-workers.html:
* storage/indexeddb/basics-workers-expected.txt:
* storage/indexeddb/basics-workers.html:
* storage/indexeddb/basics.html:
* storage/indexeddb/clone-exception-expected.txt:
* storage/indexeddb/clone-exception.html:
* storage/indexeddb/closed-cursor-expected.txt: Added.
* storage/indexeddb/closed-cursor.html: Added.
* storage/indexeddb/connection-leak-expected.txt: Added.
* storage/indexeddb/connection-leak.html: Added.
* storage/indexeddb/create-and-remove-object-store-expected.txt:
* storage/indexeddb/create-and-remove-object-store.html:
* storage/indexeddb/create-object-store-options-expected.txt:
* storage/indexeddb/create-object-store-options.html:
* storage/indexeddb/createIndex-after-failure-expected.txt:
* storage/indexeddb/createIndex-after-failure.html:
* storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/createObjectStore-name-argument-required.html:
* storage/indexeddb/createObjectStore-null-name.html:
* storage/indexeddb/cursor-added-bug.html:
* storage/indexeddb/cursor-advance-expected.txt:
* storage/indexeddb/cursor-advance-workers-expected.txt:
* storage/indexeddb/cursor-advance-workers.html:
* storage/indexeddb/cursor-advance.html:
* storage/indexeddb/cursor-basics-expected.txt: Added.
* storage/indexeddb/cursor-basics.html: Added.
* storage/indexeddb/cursor-cast-expected.txt: Added.
* storage/indexeddb/cursor-cast.html: Added.
* storage/indexeddb/cursor-continue-dir-expected.txt:
* storage/indexeddb/cursor-continue-dir.html:
* storage/indexeddb/cursor-continue-expected.txt:
* storage/indexeddb/cursor-continue-validity-expected.txt:
* storage/indexeddb/cursor-continue-validity.html:
* storage/indexeddb/cursor-continue.html:
* storage/indexeddb/cursor-continueprimarykey-expected.txt: Added.
* storage/indexeddb/cursor-continueprimarykey.html: Added.
* storage/indexeddb/cursor-delete.html:
* storage/indexeddb/cursor-finished-expected.txt:
* storage/indexeddb/cursor-finished.html:
* storage/indexeddb/cursor-inconsistency.html:
* storage/indexeddb/cursor-index-delete.html:
* storage/indexeddb/cursor-key-order.html:
* storage/indexeddb/cursor-leak-expected.txt:
* storage/indexeddb/cursor-leak.html: Added.
* storage/indexeddb/cursor-overloads-expected.txt:
* storage/indexeddb/cursor-overloads.html:
* storage/indexeddb/cursor-prev-no-duplicate.html:
* storage/indexeddb/cursor-primary-key-order.html:
* storage/indexeddb/cursor-properties.html:
* storage/indexeddb/cursor-request-cycle-expected.txt: Added.
* storage/indexeddb/cursor-request-cycle.html: Added.
* storage/indexeddb/cursor-reverse-bug.html:
* storage/indexeddb/cursor-skip-deleted.html:
* storage/indexeddb/cursor-update-expected.txt:
* storage/indexeddb/cursor-update-value-argument-required-expected.txt:
* storage/indexeddb/cursor-update-value-argument-required.html:
* storage/indexeddb/cursor-update.html:
* storage/indexeddb/cursor-value.html:
* storage/indexeddb/data-corruption-expected.txt:
* storage/indexeddb/data-corruption.html:
* storage/indexeddb/database-basics-expected.txt:
* storage/indexeddb/database-basics.html:
* storage/indexeddb/database-close-expected.txt:
* storage/indexeddb/database-close.html:
* storage/indexeddb/database-closepending-flag-expected.txt:
* storage/indexeddb/database-closepending-flag.html:
* storage/indexeddb/database-deletepending-flag.html:
* storage/indexeddb/database-name-undefined-expected.txt:
* storage/indexeddb/database-name-undefined.html:
* storage/indexeddb/database-odd-names.html:
* storage/indexeddb/database-wrapper-expected.txt:
* storage/indexeddb/database-wrapper.html:
* storage/indexeddb/delete-closed-database-object-expected.txt:
* storage/indexeddb/delete-closed-database-object.html:
* storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html:
* storage/indexeddb/delete-range.html:
* storage/indexeddb/deleteIndex-bug110792-expected.txt:
* storage/indexeddb/deleteIndex-bug110792.html:
* storage/indexeddb/deleteIndex-expected.txt:
* storage/indexeddb/deleteIndex.html:
* storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/deleteObjectStore-name-argument-required.html:
* storage/indexeddb/deleteObjectStore-null-name.html:
* storage/indexeddb/deleted-objects-expected.txt:
* storage/indexeddb/deleted-objects.html:
* storage/indexeddb/deletedatabase-blocked.html:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html:
* storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-versionchange.html:
* storage/indexeddb/deletedatabase-not-blocked.html:
* storage/indexeddb/deletedatabase-transaction.html:
* storage/indexeddb/dont-commit-on-blocked.html:
* storage/indexeddb/dont-wedge.html:
* storage/indexeddb/duplicates.html:
* storage/indexeddb/error-causes-abort-by-default.html:
* storage/indexeddb/events-expected.txt:
* storage/indexeddb/events.html:
* storage/indexeddb/exception-in-event-aborts-expected.txt:
* storage/indexeddb/exception-in-event-aborts.html:
* storage/indexeddb/exceptions-expected.txt:
* storage/indexeddb/exceptions.html:
* storage/indexeddb/factory-basics-expected.txt:
* storage/indexeddb/factory-basics-workers-expected.txt:
* storage/indexeddb/factory-basics-workers.html:
* storage/indexeddb/factory-basics.html:
* storage/indexeddb/factory-cmp-expected.txt:
* storage/indexeddb/factory-cmp.html:
* storage/indexeddb/factory-deletedatabase.html:
* storage/indexeddb/get-keyrange-expected.txt:
* storage/indexeddb/get-keyrange.html:
* storage/indexeddb/index-basics-expected.txt:
* storage/indexeddb/index-basics-workers-expected.txt:
* storage/indexeddb/index-basics-workers.html:
* storage/indexeddb/index-basics.html:
* storage/indexeddb/index-count-expected.txt:
* storage/indexeddb/index-count.html:
* storage/indexeddb/index-cursor.html:
* storage/indexeddb/index-duplicate-keypaths.html:
* storage/indexeddb/index-get-key-argument-required-expected.txt:
* storage/indexeddb/index-get-key-argument-required.html:
* storage/indexeddb/index-multientry.html:
* storage/indexeddb/index-population.html:
* storage/indexeddb/index-unique.html:
* storage/indexeddb/interfaces.html:
* storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html:
* storage/indexeddb/intversion-bad-parameters-expected.txt:
* storage/indexeddb/intversion-bad-parameters.html:
* storage/indexeddb/intversion-blocked.html:
* storage/indexeddb/intversion-close-between-events.html:
* storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
* storage/indexeddb/intversion-close-in-oncomplete.html:
* storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
* storage/indexeddb/intversion-close-in-upgradeneeded.html:
* storage/indexeddb/intversion-encoding.html:
* storage/indexeddb/intversion-gated-on-delete.html:
* storage/indexeddb/intversion-long-queue-expected.txt:
* storage/indexeddb/intversion-long-queue.html:
* storage/indexeddb/intversion-omit-parameter.html:
* storage/indexeddb/intversion-open-in-upgradeneeded.html:
* storage/indexeddb/intversion-open-with-version.html:
* storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-ascending.html: Added.
* storage/indexeddb/intversion-pending-version-changes-descending-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-descending.html: Added.
* storage/indexeddb/intversion-pending-version-changes-same-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-same.html: Added.
* storage/indexeddb/intversion-persistence.html:
* storage/indexeddb/intversion-revert-on-abort.html:
* storage/indexeddb/intversion-two-opens-no-versions.html:
* storage/indexeddb/intversion-upgrades-expected.txt:
* storage/indexeddb/intversion-upgrades.html:
* storage/indexeddb/invalid-keys-expected.txt:
* storage/indexeddb/invalid-keys.html:
* storage/indexeddb/key-generator.html:
* storage/indexeddb/key-sort-order-across-types.html:
* storage/indexeddb/key-sort-order-date.html:
* storage/indexeddb/key-type-array-expected.txt:
* storage/indexeddb/key-type-array.html:
* storage/indexeddb/key-type-binary-expected.txt: Added.
* storage/indexeddb/key-type-binary.html: Added.
* storage/indexeddb/key-type-infinity.html:
* storage/indexeddb/keypath-arrays-expected.txt:
* storage/indexeddb/keypath-arrays.html:
* storage/indexeddb/keypath-basics-expected.txt:
* storage/indexeddb/keypath-basics.html:
* storage/indexeddb/keypath-edges-expected.txt:
* storage/indexeddb/keypath-edges.html:
* storage/indexeddb/keypath-fetch-key.html:
* storage/indexeddb/keypath-intrinsic-properties.html:
* storage/indexeddb/keyrange-expected.txt:
* storage/indexeddb/keyrange-required-arguments-expected.txt:
* storage/indexeddb/keyrange-required-arguments.html:
* storage/indexeddb/keyrange.html:
* storage/indexeddb/lazy-index-population-expected.txt:
* storage/indexeddb/lazy-index-population.html:
* storage/indexeddb/lazy-index-types.html:
* storage/indexeddb/legacy-constants.html:
* storage/indexeddb/list-ordering.html:
* storage/indexeddb/metadata-race-expected.txt: Added.
* storage/indexeddb/metadata-race.html: Added.
* storage/indexeddb/metadata.html:
* storage/indexeddb/mozilla/add-twice-failure.html:
* storage/indexeddb/mozilla/autoincrement-indexes.html:
* storage/indexeddb/mozilla/bad-keypath-expected.txt:
* storage/indexeddb/mozilla/bad-keypath.html:
* storage/indexeddb/mozilla/clear-expected.txt:
* storage/indexeddb/mozilla/clear.html:
* storage/indexeddb/mozilla/create-index-unique.html:
* storage/indexeddb/mozilla/create-index-with-integer-keys.html:
* storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
* storage/indexeddb/mozilla/create-objectstore-basics.html:
* storage/indexeddb/mozilla/create-objectstore-null-name.html:
* storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html:
* storage/indexeddb/mozilla/cursor-mutation.html:
* storage/indexeddb/mozilla/cursor-update-updates-indexes.html:
* storage/indexeddb/mozilla/cursors-expected.txt:
* storage/indexeddb/mozilla/cursors.html:
* storage/indexeddb/mozilla/delete-result.html:
* storage/indexeddb/mozilla/event-source.html:
* storage/indexeddb/mozilla/global-data.html:
* storage/indexeddb/mozilla/index-prev-no-duplicate.html:
* storage/indexeddb/mozilla/indexes.html:
* storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt:
* storage/indexeddb/mozilla/key-requirements-delete-null-key.html:
* storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
* storage/indexeddb/mozilla/key-requirements-inline-and-passed.html:
* storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
* storage/indexeddb/mozilla/key-requirements-put-no-key.html:
* storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
* storage/indexeddb/mozilla/key-requirements-put-null-key.html:
* storage/indexeddb/mozilla/key-requirements.html:
* storage/indexeddb/mozilla/object-cursors.html:
* storage/indexeddb/mozilla/object-identity.html:
* storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html:
* storage/indexeddb/mozilla/object-store-remove-values.html:
* storage/indexeddb/mozilla/objectstorenames.html:
* storage/indexeddb/mozilla/odd-result-order.html:
* storage/indexeddb/mozilla/open-database-null-name.html:
* storage/indexeddb/mozilla/put-get-values.html:
* storage/indexeddb/mozilla/readonly-transactions-expected.txt:
* storage/indexeddb/mozilla/readonly-transactions.html:
* storage/indexeddb/mozilla/readwrite-transactions.html:
* storage/indexeddb/mozilla/readyState.html:
* storage/indexeddb/mozilla/remove-index.html:
* storage/indexeddb/mozilla/remove-objectstore.html:
* storage/indexeddb/mozilla/resources/add-twice-failure.js:
* storage/indexeddb/mozilla/resources/autoincrement-indexes.js:
* storage/indexeddb/mozilla/resources/bad-keypath.js:
* storage/indexeddb/mozilla/resources/clear.js:
* storage/indexeddb/mozilla/resources/create-index-unique.js:
* storage/indexeddb/mozilla/resources/create-index-with-integer-keys.js:
* storage/indexeddb/mozilla/resources/create-objectstore-basics.js:
* storage/indexeddb/mozilla/resources/create-objectstore-null-name.js:
* storage/indexeddb/mozilla/resources/cursor-mutation-objectstore-only.js:
* storage/indexeddb/mozilla/resources/cursor-mutation.js:
* storage/indexeddb/mozilla/resources/cursor-update-updates-indexes.js:
* storage/indexeddb/mozilla/resources/cursors.js:
* storage/indexeddb/mozilla/resources/delete-result.js:
* storage/indexeddb/mozilla/resources/event-source.js:
* storage/indexeddb/mozilla/resources/global-data.js:
* storage/indexeddb/mozilla/resources/indexes.js:
* storage/indexeddb/mozilla/resources/key-requirements-delete-null-key.js:
* storage/indexeddb/mozilla/resources/key-requirements-inline-and-passed.js:
* storage/indexeddb/mozilla/resources/key-requirements-put-no-key.js:
* storage/indexeddb/mozilla/resources/key-requirements-put-null-key.js:
* storage/indexeddb/mozilla/resources/key-requirements.js:
* storage/indexeddb/mozilla/resources/object-cursors.js:
* storage/indexeddb/mozilla/resources/object-identity.js:
* storage/indexeddb/mozilla/resources/object-store-inline-autoincrement-key-added-on-put.js:
* storage/indexeddb/mozilla/resources/object-store-remove-values.js:
* storage/indexeddb/mozilla/resources/objectstorenames.js:
* storage/indexeddb/mozilla/resources/odd-result-order.js:
* storage/indexeddb/mozilla/resources/open-database-null-name.js:
* storage/indexeddb/mozilla/resources/put-get-values.js:
* storage/indexeddb/mozilla/resources/readonly-transactions.js:
* storage/indexeddb/mozilla/resources/readwrite-transactions.js:
* storage/indexeddb/mozilla/resources/readyState.js:
* storage/indexeddb/mozilla/resources/remove-index.js:
* storage/indexeddb/mozilla/resources/remove-objectstore.js:
* storage/indexeddb/mozilla/resources/versionchange-abort.js:
* storage/indexeddb/mozilla/versionchange-abort.html:
* storage/indexeddb/mutating-cursor.html:
* storage/indexeddb/noblobs-expected.txt:
* storage/indexeddb/noblobs.html:
* storage/indexeddb/object-lookups-in-versionchange-expected.txt:
* storage/indexeddb/object-lookups-in-versionchange.html:
* storage/indexeddb/objectStore-required-arguments-expected.txt:
* storage/indexeddb/objectStore-required-arguments.html:
* storage/indexeddb/objectstore-autoincrement-expected.txt:
* storage/indexeddb/objectstore-autoincrement.html:
* storage/indexeddb/objectstore-basics-expected.txt:
* storage/indexeddb/objectstore-basics-workers-expected.txt:
* storage/indexeddb/objectstore-basics-workers.html:
* storage/indexeddb/objectstore-basics.html:
* storage/indexeddb/objectstore-clear.html:
* storage/indexeddb/objectstore-count-expected.txt:
* storage/indexeddb/objectstore-count.html:
* storage/indexeddb/objectstore-cursor-expected.txt:
* storage/indexeddb/objectstore-cursor.html:
* storage/indexeddb/objectstore-keycursor-expected.txt: Added.
* storage/indexeddb/objectstore-keycursor.html: Added.
* storage/indexeddb/objectstore-removeobjectstore.html:
* storage/indexeddb/odd-strings.html:
* storage/indexeddb/open-bad-versions.html:
* storage/indexeddb/open-cursor-expected.txt:
* storage/indexeddb/open-cursor.html:
* storage/indexeddb/open-during-transaction.html:
* storage/indexeddb/open-ordering.html:
* storage/indexeddb/open-twice-workers.html:
* storage/indexeddb/opencursor-key.html:
* storage/indexeddb/optional-arguments-expected.txt: Added.
* storage/indexeddb/optional-arguments.html: Added.
* storage/indexeddb/pending-activity-workers.html:
* storage/indexeddb/pending-activity.html:
* storage/indexeddb/pending-version-change-on-exit.html:
* storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
* storage/indexeddb/pending-version-change-stuck.html:
* storage/indexeddb/persistence.html:
* storage/indexeddb/prefetch-bugfix-108071-expected.txt:
* storage/indexeddb/prefetch-bugfix-108071.html:
* storage/indexeddb/prefetch-invalidation-expected.txt: Added.
* storage/indexeddb/prefetch-invalidation.html: Added.
* storage/indexeddb/prefetch-race-expected.txt: Added.
* storage/indexeddb/prefetch-race.html: Added.
* storage/indexeddb/queued-commands.html:
* storage/indexeddb/readonly-properties.html:
* storage/indexeddb/readonly.html:
* storage/indexeddb/removed-expected.txt:
* storage/indexeddb/removed.html:
* storage/indexeddb/request-continue-abort.html:
* storage/indexeddb/request-event-propagation.html:
* storage/indexeddb/request-leak-expected.txt: Added.
* storage/indexeddb/request-leak.html: Added.
* storage/indexeddb/request-result-cache-expected.txt: Added.
* storage/indexeddb/request-result-cache.html: Added.
* storage/indexeddb/resources/aborted-versionchange-closes.js:
* storage/indexeddb/resources/basics.js:
* storage/indexeddb/resources/create-and-remove-object-store.js:
* storage/indexeddb/resources/create-object-store-options.js:
* storage/indexeddb/resources/createIndex-after-failure.js:
* storage/indexeddb/resources/createObjectStore-name-argument-required.js:
* storage/indexeddb/resources/createObjectStore-null-name.js:
* storage/indexeddb/resources/cursor-added-bug.js:
* storage/indexeddb/resources/cursor-advance.js:
* storage/indexeddb/resources/cursor-basics.js: Added.
* storage/indexeddb/resources/cursor-continue-dir.js:
* storage/indexeddb/resources/cursor-continue-validity.js:
* storage/indexeddb/resources/cursor-continue.js:
* storage/indexeddb/resources/cursor-continueprimarykey.js: Added.
* storage/indexeddb/resources/cursor-delete.js:
* storage/indexeddb/resources/cursor-inconsistency.js:
* storage/indexeddb/resources/cursor-index-delete.js:
* storage/indexeddb/resources/cursor-key-order.js:
* storage/indexeddb/resources/cursor-prev-no-duplicate.js:
* storage/indexeddb/resources/cursor-primary-key-order.js:
* storage/indexeddb/resources/cursor-properties.js:
* storage/indexeddb/resources/cursor-reverse-bug.js:
* storage/indexeddb/resources/cursor-skip-deleted.js:
* storage/indexeddb/resources/cursor-update-value-argument-required.js:
* storage/indexeddb/resources/cursor-update.js:
* storage/indexeddb/resources/cursor-value.js:
* storage/indexeddb/resources/data-corruption.js:
* storage/indexeddb/resources/database-basics.js:
* storage/indexeddb/resources/database-close.js:
* storage/indexeddb/resources/database-closepending-flag.js:
* storage/indexeddb/resources/database-deletepending-flag.js:
* storage/indexeddb/resources/database-name-undefined.js:
* storage/indexeddb/resources/database-odd-names.js:
* storage/indexeddb/resources/database-quota.js:
* storage/indexeddb/resources/database-wrapper.js:
* storage/indexeddb/resources/delete-closed-database-object.js:
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
* storage/indexeddb/resources/delete-range.js:
* storage/indexeddb/resources/deleteIndex.js:
* storage/indexeddb/resources/deleteObjectStore-name-argument-required.js:
* storage/indexeddb/resources/deleteObjectStore-null-name.js:
* storage/indexeddb/resources/deleted-objects.js:
* storage/indexeddb/resources/deletedatabase-blocked.js:
* storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
* storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:
* storage/indexeddb/resources/deletedatabase-not-blocked.js:
* storage/indexeddb/resources/dont-commit-on-blocked-worker.js:
* storage/indexeddb/resources/dont-wedge.js:
* storage/indexeddb/resources/duplicates.js:
* storage/indexeddb/resources/error-causes-abort-by-default.js:
* storage/indexeddb/resources/events.js:
* storage/indexeddb/resources/exception-in-event-aborts.js:
* storage/indexeddb/resources/exceptions.js:
* storage/indexeddb/resources/factory-basics.js:
* storage/indexeddb/resources/factory-cmp.js:
* storage/indexeddb/resources/factory-deletedatabase.js:
* storage/indexeddb/resources/get-keyrange.js:
* storage/indexeddb/resources/index-basics.js:
* storage/indexeddb/resources/index-count.js:
* storage/indexeddb/resources/index-cursor.js:
* storage/indexeddb/resources/index-duplicate-keypaths.js:
* storage/indexeddb/resources/index-get-key-argument-required.js:
* storage/indexeddb/resources/index-multientry.js:
* storage/indexeddb/resources/index-population.js:
* storage/indexeddb/resources/index-unique.js:
* storage/indexeddb/resources/interfaces.js:
* storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:
* storage/indexeddb/resources/intversion-bad-parameters.js:
* storage/indexeddb/resources/intversion-blocked.js:
* storage/indexeddb/resources/intversion-close-between-events.js:
* storage/indexeddb/resources/intversion-close-in-oncomplete.js:
* storage/indexeddb/resources/intversion-close-in-upgradeneeded.js:
* storage/indexeddb/resources/intversion-encoding.js:
* storage/indexeddb/resources/intversion-gated-on-delete.js:
* storage/indexeddb/resources/intversion-long-queue.js:
* storage/indexeddb/resources/intversion-omit-parameter.js:
* storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
* storage/indexeddb/resources/intversion-open-with-version.js:
* storage/indexeddb/resources/intversion-pending-version-changes-ascending.js: Added.
* storage/indexeddb/resources/intversion-pending-version-changes-descending.js: Added.
* storage/indexeddb/resources/intversion-pending-version-changes-same.js: Added.
* storage/indexeddb/resources/intversion-persistence.js:
* storage/indexeddb/resources/intversion-revert-on-abort.js:
* storage/indexeddb/resources/intversion-two-opens-no-versions.js:
* storage/indexeddb/resources/intversion-upgrades.js:
* storage/indexeddb/resources/invalid-keys.js:
* storage/indexeddb/resources/key-generator.js:
* storage/indexeddb/resources/key-sort-order-across-types.js:
* storage/indexeddb/resources/key-sort-order-date.js:
* storage/indexeddb/resources/key-type-array.js:
* storage/indexeddb/resources/key-type-binary.js: Added.
* storage/indexeddb/resources/key-type-infinity.js:
* storage/indexeddb/resources/keypath-arrays.js:
* storage/indexeddb/resources/keypath-basics.js:
* storage/indexeddb/resources/keypath-edges.js:
* storage/indexeddb/resources/keypath-fetch-key.js:
* storage/indexeddb/resources/keypath-intrinsic-properties.js:
* storage/indexeddb/resources/keyrange-required-arguments.js:
* storage/indexeddb/resources/keyrange.js:
* storage/indexeddb/resources/lazy-index-types.js:
* storage/indexeddb/resources/legacy-constants.js:
* storage/indexeddb/resources/list-ordering.js:
* storage/indexeddb/resources/metadata.js:
* storage/indexeddb/resources/mutating-cursor.js:
* storage/indexeddb/resources/objectStore-required-arguments.js:
* storage/indexeddb/resources/objectstore-autoincrement.js:
* storage/indexeddb/resources/objectstore-basics.js:
* storage/indexeddb/resources/objectstore-clear.js:
* storage/indexeddb/resources/objectstore-count.js:
* storage/indexeddb/resources/objectstore-cursor.js:
* storage/indexeddb/resources/objectstore-keycursor.js:
* storage/indexeddb/resources/objectstore-removeobjectstore.js:
* storage/indexeddb/resources/odd-strings.js:
* storage/indexeddb/resources/open-cursor.js:
* storage/indexeddb/resources/open-during-transaction.js:
* storage/indexeddb/resources/open-ordering.js:
* storage/indexeddb/resources/open-twice.js:
* storage/indexeddb/resources/opencursor-key.js:
* storage/indexeddb/resources/pending-activity.js:
* storage/indexeddb/resources/pending-version-change-on-exit.js:
* storage/indexeddb/resources/pending-version-change-stuck.js:
* storage/indexeddb/resources/persistence.js:
* storage/indexeddb/resources/prefetch-bugfix-108071.js:
* storage/indexeddb/resources/queued-commands.js:
* storage/indexeddb/resources/readonly-properties.js:
* storage/indexeddb/resources/readonly.js:
* storage/indexeddb/resources/removed.js:
* storage/indexeddb/resources/request-continue-abort.js:
* storage/indexeddb/resources/request-event-propagation.js:
* storage/indexeddb/resources/set_version_blocked.js:
* storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
* storage/indexeddb/resources/setversion-not-blocked.js:
* storage/indexeddb/resources/shared.js:
* storage/indexeddb/resources/transaction-abort.js:
* storage/indexeddb/resources/transaction-active-flag.js:
* storage/indexeddb/resources/transaction-after-close.js:
* storage/indexeddb/resources/transaction-and-objectstore-calls.js:
* storage/indexeddb/resources/transaction-basics.js:
* storage/indexeddb/resources/transaction-complete-workers.js:
* storage/indexeddb/resources/transaction-coordination-across-databases.js:
* storage/indexeddb/resources/transaction-coordination-within-database.js:
* storage/indexeddb/resources/transaction-crash-on-abort.js:
* storage/indexeddb/resources/transaction-error.js:
* storage/indexeddb/resources/transaction-event-propagation.js:
* storage/indexeddb/resources/transaction-read-only.js:
* storage/indexeddb/resources/transaction-readwrite-exclusive.js:
* storage/indexeddb/resources/transaction-rollback.js:
* storage/indexeddb/resources/transaction-scope-sequencing.js:
* storage/indexeddb/resources/transaction-starvation.js:
* storage/indexeddb/resources/transaction-storeNames-required.js:
* storage/indexeddb/resources/unblocked-version-changes.js:
* storage/indexeddb/resources/unprefix.js:
* storage/indexeddb/resources/value-undefined.js:
* storage/indexeddb/resources/values-odd-types.js:
* storage/indexeddb/resources/version-change-abort.js:
* storage/indexeddb/resources/version-change-exclusive.js:
* storage/indexeddb/resources/versionchangerequest-activedomobject.js:
* storage/indexeddb/set_version_blocked.html:
* storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
* storage/indexeddb/setversion-blocked-by-versionchange-close.html:
* storage/indexeddb/setversion-not-blocked.html:
* storage/indexeddb/structured-clone-expected.txt:
* storage/indexeddb/structured-clone.html:
* storage/indexeddb/transaction-abort-expected.txt:
* storage/indexeddb/transaction-abort.html:
* storage/indexeddb/transaction-active-flag-expected.txt:
* storage/indexeddb/transaction-active-flag.html:
* storage/indexeddb/transaction-after-close-expected.txt:
* storage/indexeddb/transaction-after-close.html:
* storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
* storage/indexeddb/transaction-and-objectstore-calls.html:
* storage/indexeddb/transaction-basics-expected.txt:
* storage/indexeddb/transaction-basics.html:
* storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
* storage/indexeddb/transaction-complete-with-js-recursion.html:
* storage/indexeddb/transaction-complete-workers-expected.txt:
* storage/indexeddb/transaction-complete-workers.html:
* storage/indexeddb/transaction-coordination-across-databases.html:
* storage/indexeddb/transaction-coordination-within-database.html:
* storage/indexeddb/transaction-crash-in-tasks.html:
* storage/indexeddb/transaction-crash-on-abort.html:
* storage/indexeddb/transaction-error-expected.txt:
* storage/indexeddb/transaction-error.html:
* storage/indexeddb/transaction-event-propagation.html:
* storage/indexeddb/transaction-ordering-expected.txt: Added.
* storage/indexeddb/transaction-ordering.html: Added.
* storage/indexeddb/transaction-read-only-expected.txt:
* storage/indexeddb/transaction-read-only.html:
* storage/indexeddb/transaction-readwrite-exclusive.html:
* storage/indexeddb/transaction-rollback.html:
* storage/indexeddb/transaction-scope-sequencing.html:
* storage/indexeddb/transaction-starvation.html:
* storage/indexeddb/transaction-storeNames-required-expected.txt:
* storage/indexeddb/transaction-storeNames-required.html:
* storage/indexeddb/unblocked-version-changes-expected.txt:
* storage/indexeddb/unblocked-version-changes.html:
* storage/indexeddb/unprefix-workers.html:
* storage/indexeddb/unprefix.html:
* storage/indexeddb/value-undefined.html:
* storage/indexeddb/values-odd-types.html:
* storage/indexeddb/version-change-abort-expected.txt:
* storage/indexeddb/version-change-abort.html:
* storage/indexeddb/version-change-exclusive-expected.txt:
* storage/indexeddb/version-change-exclusive.html:
* storage/indexeddb/versionchangerequest-activedomobject.html:

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

5 years agoWeb Inspector: Modernize missed inspector files
commit-queue@webkit.org [Wed, 12 Feb 2014 18:15:23 +0000 (18:15 +0000)]
Web Inspector: Modernize missed inspector files
https://bugs.webkit.org/show_bug.cgi?id=128661

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-12
Reviewed by Anders Carlsson.

Add final, override, and use nullptr where appropriate.

* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::asCSSStyleRule):
(WebCore::InspectorCSSAgent::discardAgent):
(WebCore::InspectorCSSAgent::disable):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::elementForId):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::assertStyleSheetForId):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
* inspector/InspectorFrontendClientLocal.h:

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

5 years agoStop using PLATFORM(MAC) in WebKit2/{Database,Network}Process except where it means...
mitz@apple.com [Wed, 12 Feb 2014 17:57:05 +0000 (17:57 +0000)]
Stop using PLATFORM(MAC) in WebKit2/{Database,Network}Process except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128659

Reviewed by Anders Carlsson.

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::createDatabaseToWebProcessConnection): Changed PLATFORM(MAC) to
OS(DARWIN) around use of Mach-based IPC.
Changed PLATFORM(MAC) to PLATFORM(COCOA) elsewhere in this file.
* NetworkProcess/NetworkProcess.cpp: Ditto.
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
* NetworkProcess/NetworkProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* NetworkProcess/NetworkProcess.messages.in: Removed PLATFORM(MAC) guard around
SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.
* NetworkProcess/NetworkResourceLoader.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
(WebKit::NetworkResourceLoader::continueWillSendRequest):
* NetworkProcess/NetworkResourceLoader.h: Ditto.
* NetworkProcess/RemoteNetworkingContext.h: Ditto, matching WebCore::NetworkingContext.

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

5 years agoMake it possible to implement JS builtins in JS
oliver@apple.com [Wed, 12 Feb 2014 17:14:23 +0000 (17:14 +0000)]
Make it possible to implement JS builtins in JS
https://bugs.webkit.org/show_bug.cgi?id=127887

Reviewed by Michael Saboff.

.:

* GNUmakefile.am:
* Source/cmake/gtest/CMakeLists.txt:

Source/JavaScriptCore:

This patch makes it possible to write builtin functions in JS.
The bindings, generators, and definitions are all created automatically
based on js files in the builtins/ directory.  This patch includes one
such case: Array.prototype.js with an implementation of every().

There's a lot of refactoring to make it possible for CommonIdentifiers
to include the output of the generated files (DerivedSources/JSCBuiltins.{h,cpp})
without breaking the offset extractor. The result of this refactoring
is that CommonIdentifiers, and a few other miscellaneous headers now
need to be included directly as they were formerly captured through other
paths.

In addition this adds a flag to the Lookup table's hashentry to indicate
that a static function is actually backed by JS. There is then a lot of
logic to thread the special nature of the functon to where it matters.
This allows toString(), .caller, etc to mimic the behaviour of a host
function.

Notes on writing builtins:
 - Each function is compiled independently of the others, and those
   implementations cannot currently capture all global properties (as
   that could be potentially unsafe). If a function does capture a
   global we will deliberately crash.
 - For those "global" properties that we do want access to, we use
   the @ prefix, e.g. Object(this) becomes @Object(this). The @ identifiers
   are private names, and behave just like regular properties, only
   without the risk of adulteration. Again, in the @Object case, we
   explicitly duplicate the ObjectConstructor reference on the GlobalObject
   so that we have guaranteed access to the original version of the
   constructor.
 - call, apply, eval, and Function are all rejected identifiers, again
   to prevent anything from accidentally using an adulterated object.
   Instead @call and @apply are available, and happily they completely
   drop the neq_ptr instruction as they're defined as always being the
   original call/apply functions.

These restrictions are just intended to make it harder to accidentally
make changes that are incorrect (for instance calling whatever has been
assigned to global.Object, instead of the original constructor function).
However, making a mistake like this should result in a purely semantic
error as fundamentally these functions are treated as though they were
regular JS code in the host global, and have no more privileges than
any other JS.

The initial proof of concept is Array.prototype.every, this shows a 65%
performance improvement, and that improvement is significantly hurt by
our poor optimisation of op_in.

As this is such a limited function, we have not yet exported all symbols
that we could possibly need, but as we implement more, the likelihood
of encountering missing features will reduce.

* API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
(JSC::JSCallbackObject<Parent>::put):
(JSC::JSCallbackObject<Parent>::deleteProperty):
(JSC::JSCallbackObject<Parent>::getStaticValue):
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.vcxproj/JavaScriptCoreCommon.props:
* JavaScriptCore.vcxproj/copy-files.cmd:
* JavaScriptCore.xcodeproj/project.pbxproj:
* builtins/Array.prototype.js:
(every):
* builtins/BuiltinExecutables.cpp: Added.
(JSC::BuiltinExecutables::BuiltinExecutables):
(JSC::BuiltinExecutables::createBuiltinExecutable):
* builtins/BuiltinExecutables.h:
(JSC::BuiltinExecutables::create):
* builtins/BuiltinNames.h: Added.
(JSC::BuiltinNames::BuiltinNames):
(JSC::BuiltinNames::getPrivateName):
(JSC::BuiltinNames::getPublicName):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
* bytecode/UnlinkedCodeBlock.h:
(JSC::ExecutableInfo::ExecutableInfo):
(JSC::UnlinkedFunctionExecutable::create):
(JSC::UnlinkedFunctionExecutable::toStrictness):
(JSC::UnlinkedFunctionExecutable::isBuiltinFunction):
(JSC::UnlinkedCodeBlock::isBuiltinFunction):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::isBuiltinFunction):
(JSC::BytecodeGenerator::makeFunction):
* bytecompiler/NodesCodegen.cpp:
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
* create_hash_table:
* generate-js-builtins: Added.
(getCopyright):
(getFunctions):
(generateCode):
(mangleName):
(FunctionExecutable):
(Identifier):
(JSGlobalObject):
(SourceCode):
(UnlinkedFunctionExecutable):
(VM):
* interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::makeFunctionCallNode):
* parser/Lexer.cpp:
(JSC::Lexer<T>::Lexer):
(JSC::isSafeBuiltinIdentifier):
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<T>::lex):
* parser/Lexer.h:
(JSC::isSafeIdentifier):
(JSC::Lexer<T>::lexExpectIdentifier):
* parser/Nodes.cpp:
(JSC::ProgramNode::setClosedVariables):
* parser/Nodes.h:
(JSC::ScopeNode::capturedVariables):
(JSC::ScopeNode::setClosedVariables):
(JSC::ProgramNode::closedVariables):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::didFinishParsing):
(JSC::Parser<LexerType>::printUnexpectedTokenText):
* parser/Parser.h:
(JSC::Scope::getUsedVariables):
(JSC::Parser::closedVariables):
(JSC::parse):
* parser/ParserModes.h:
* parser/ParserTokens.h:
* runtime/ArrayPrototype.cpp:
* runtime/CodeCache.cpp:
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
* runtime/CommonIdentifiers.cpp:
(JSC::CommonIdentifiers::CommonIdentifiers):
(JSC::CommonIdentifiers::~CommonIdentifiers):
(JSC::CommonIdentifiers::getPrivateName):
(JSC::CommonIdentifiers::getPublicName):
* runtime/CommonIdentifiers.h:
(JSC::CommonIdentifiers::builtinNames):
* runtime/ExceptionHelpers.cpp:
(JSC::createUndefinedVariableError):
* runtime/Executable.h:
(JSC::EvalExecutable::executableInfo):
(JSC::ProgramExecutable::executableInfo):
(JSC::FunctionExecutable::isBuiltinFunction):
* runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString):
* runtime/JSActivation.cpp:
(JSC::JSActivation::symbolTableGet):
(JSC::JSActivation::symbolTablePut):
(JSC::JSActivation::symbolTablePutWithAttributes):
* runtime/JSFunction.cpp:
(JSC::JSFunction::createBuiltinFunction):
(JSC::JSFunction::calculatedDisplayName):
(JSC::JSFunction::sourceCode):
(JSC::JSFunction::isHostOrBuiltinFunction):
(JSC::JSFunction::isBuiltinFunction):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::getOwnNonIndexPropertyNames):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):
* runtime/JSFunction.h:
* runtime/JSFunctionInlines.h:
(JSC::JSFunction::nativeFunction):
(JSC::JSFunction::nativeConstructor):
(JSC::isHostFunction):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::objectConstructor):
(JSC::JSGlobalObject::symbolTableHasProperty):
* runtime/JSObject.cpp:
(JSC::getClassPropertyNames):
(JSC::JSObject::reifyStaticFunctionsForDelete):
(JSC::JSObject::putDirectBuiltinFunction):
* runtime/JSObject.h:
* runtime/JSSymbolTableObject.cpp:
(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):
* runtime/JSSymbolTableObject.h:
(JSC::symbolTableGet):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):
* runtime/Lookup.cpp:
(JSC::setUpStaticFunctionSlot):
* runtime/Lookup.h:
(JSC::HashEntry::builtinGenerator):
(JSC::HashEntry::propertyGetter):
(JSC::HashEntry::propertyPutter):
(JSC::HashTable::entry):
(JSC::getStaticPropertySlot):
(JSC::getStaticValueSlot):
(JSC::putEntry):
* runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor::finishCreation):
* runtime/NativeErrorConstructor.h:
* runtime/PropertySlot.h:
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:
(JSC::VM::builtinExecutables):

Tools:

CMake updates

* DumpRenderTree/CMakeLists.txt:
* WebKitTestRunner/CMakeLists.txt:
* WinCELauncher/CMakeLists.txt:

LayoutTests:

Updated the test results for new error messages (now that they're
actually helpful), and added a js-regress test to track performance.

* js/array-every-expected.txt:
* js/dom/array-prototype-properties-expected.txt:
* js/regress/array-prototype-every-expected.txt: Added.
* js/regress/array-prototype-every.html: Added.
* js/regress/script-tests/array-prototype-every.js: Added.
(test1):
(test2):
(test3):

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

5 years agoRemove some unintended copies in ranged for loops
bfulgham@apple.com [Wed, 12 Feb 2014 17:10:25 +0000 (17:10 +0000)]
Remove some unintended copies in ranged for loops
https://bugs.webkit.org/show_bug.cgi?id=128644

Reviewed by Anders Carlsson.

../JavaScriptCore:

* inspector/InjectedScriptHost.cpp:
(Inspector::InjectedScriptHost::clearAllWrappers): Avoid creating/destroying
a std::pair<> and pointer each loop iteration.
* parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser): Avoid copying object containing a string
each loop iteration.

../WebCore:

* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingSVGDocuments): Avoid creating/destroying
RefPtrs in loop.

../WebKit2:

* Shared/WebCrossThreadCopier.cpp:
(WebCore::Vector<Vector<IDBKeyData>>>::copy): Each iteration copies a vector of
vectors,
* Shared/mac/RemoteLayerBackingStore.mm:
(RemoteLayerBackingStore::enumerateRectsBeingDrawn): Avoid copying a FloatRect
on each iteration.
* Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): Avoid copying
a LayerProperty object each iteration.
* UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
(WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): Avoid
copying a pair<int64_t, pointer> each iteration.
* UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
(WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): Ditto
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Ditto
* UIProcess/WebContext.cpp:
(WebKit::WebContext::postMessageToInjectedBundle): Avoid creating/destroying a
RefPtr each loop iteration.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::shouldStartTrackingTouchEvents): Avoid copying a WebPlatformTouchPoint
object each cycle.
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree): Avoid copying a pair each iteration.
* UIProcess/mac/WindowServerConnection.mm:
(WebKit::WindowServerConnection::WindowServerConnection): Avoid copying the struct
of occlusionNotificationHandlers each iteration.
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::put): Avoid copying a vector-of-vectors each
iteration.
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::recursiveBuildTransaction): Avoid creating/destroying a
RefPtr each loop iteration.

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

5 years agoUpdate the HTML Media Capture implementation.
rakuco@webkit.org [Wed, 12 Feb 2014 14:58:40 +0000 (14:58 +0000)]
Update the HTML Media Capture implementation.
https://bugs.webkit.org/show_bug.cgi?id=118465

Reviewed by Darin Adler.

Make the implementation in WebKit compatible with the 2013-05-09
version of the spec, which makes the "capture" attribute a boolean
instead of an enum.

Source/WebCore:

Covered by fast/forms/file/file-input-capture.html.

* html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::capture): Renamed to shouldUseMediaCapture().
(WebCore::HTMLInputElement::shouldUseMediaCapture): Return a bool.
* html/HTMLInputElement.h:
* html/HTMLInputElement.idl: Turn the `capture' attribute into a
reflective boolean instead of a DOMString.
* platform/FileChooser.h:

Source/WebKit/efl:

* ewk/ewk_file_chooser.cpp:
(ewk_file_chooser_capture_get): Return an Eina_Bool now.
* ewk/ewk_file_chooser.h: Get rid of Ewk_File_Chooser_Capture_Type.

Source/WebKit2:

* Shared/WebOpenPanelParameters.cpp:
(WebKit::WebOpenPanelParameters::capture): Return a bool.
* Shared/WebOpenPanelParameters.h: Ditto.
* UIProcess/API/C/WKOpenPanelParameters.cpp:
(WKOpenPanelParametersCopyCapture): Deprecate, the implementation is
incompatible with the current version of the spec.
(WKOpenPanelParametersGetCaptureEnabled): Add and return a bool.
* UIProcess/API/C/WKOpenPanelParameters.h:

LayoutTests:

* fast/forms/file/file-input-capture-expected.txt:
* fast/forms/file/file-input-capture.html:

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

5 years ago[CSS Regions] Remove unused method in RenderFlowThread
stavila@adobe.com [Wed, 12 Feb 2014 13:31:22 +0000 (13:31 +0000)]
[CSS Regions] Remove unused method in RenderFlowThread
https://bugs.webkit.org/show_bug.cgi?id=128373

Reviewed by Mihnea Ovidenie.

After the landing of https://bugs.webkit.org/show_bug.cgi?id=118665, the
RenderFlowThread::computeRegionClippingRect method is obsolete.

No new tests needed, this patch only removes an unused method.

* rendering/RenderFlowThread.cpp:
* rendering/RenderFlowThread.h:

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

5 years ago[GTK] Fails to build if configure is run with its absolute path
berto@igalia.com [Wed, 12 Feb 2014 13:21:10 +0000 (13:21 +0000)]
[GTK] Fails to build if configure is run with its absolute path
https://bugs.webkit.org/show_bug.cgi?id=126693

Reviewed by Gustavo Noronha Silva.

When creating links to the WebKit2 headers in the source tree
don't expect $(WebKit2) to be a relative path.

* GNUmakefile.am:

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

5 years ago[CSS Element Blending] Implement the software path of -webkit-blend-mode with Core...
commit-queue@webkit.org [Wed, 12 Feb 2014 12:40:08 +0000 (12:40 +0000)]
[CSS Element Blending] Implement the software path of -webkit-blend-mode with Core Graphics.
https://bugs.webkit.org/show_bug.cgi?id=99119

Patch by Mihai Tica <mitica@adobe.com> on 2014-02-12
Reviewed by Simon Fraser.

Source/WebCore:

This patch adds support for -webkit-blend-mode with Core Graphics.
The layer promotion code that forced compositing when blending was detected has been removed.
Remaining work for the software path is to detect and implement isolation of the blending operation:
as stated in the spec, blending should be limited to the parent stacking context.

Tests: css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html
       css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html
       css3/compositing/blend-mode-simple-composited.html
       css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html

* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer): Remove CompositingReasonBlending.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::beginTransparencyLayers): Set the blendMode on the GraphicsContext.
* rendering/RenderLayer.h: paintsWithTransparency should return true when a blendMode is set.
* rendering/RenderLayerCompositor.cpp: Remove promotion code when a blendMode is detected.
(WebCore::RenderLayerCompositor::requiresCompositingLayer): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::requiresOwnBackingStore): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::reasonsForCompositing): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::logReasonsForCompositing): Remove CompositingReasonBlending reason.
* rendering/RenderLayerCompositor.h:
- Remove the requiresCompositingForBlending method
- Remove the CompositingReasonBlending from the CompositingReasons enum.

LayoutTests:

* css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt: Copied from LayoutTests/css3/compositing/blend-mode-should-not-have-compositing-layer-expected.txt.
* css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html: Test if having an overlapping composited sibling forces compositing of a blended element.
* css3/compositing/blend-mode-layers.html: Update to test both the software and the hardware path.
* css3/compositing/blend-mode-parent-of-composited-blended-has-layer-expected.txt: Renamed from LayoutTests/css3/compositing/should-have-compositing-layer-expected.txt.
* css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html: Test if the parent of an accelerated element with -webkit-blend-mode is promoted.
* css3/compositing/blend-mode-reflection.html: Update to test both the software and the hardware path.
* css3/compositing/blend-mode-should-not-have-compositing-layer.html: Removed.
* css3/compositing/blend-mode-simple-composited.html: Test all the blend modes for the hardware path.
* css3/compositing/blend-mode-with-composited-descendant-should-have-layer-expected.txt: Renamed from LayoutTests/css3/compositing/blend-mode-should-not-have-compositing-layer-expected.txt.
* css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html: Test to ensure that an element with -webkit-blend-mode and a composited descendant is also accelerated.
* css3/compositing/should-have-compositing-layer.html: Removed.
* platform/mac/css3/compositing/blend-mode-layers-expected.png:
* platform/mac/css3/compositing/blend-mode-layers-expected.txt:
* platform/mac/css3/compositing/blend-mode-overflow-expected.png:
* platform/mac/css3/compositing/blend-mode-overflow-expected.txt: Added.
* platform/mac/css3/compositing/blend-mode-reflection-expected.png:
* platform/mac/css3/compositing/blend-mode-reflection-expected.txt:
* platform/mac/css3/compositing/blend-mode-simple-composited-expected.png: Added.
* platform/mac/css3/compositing/blend-mode-simple-composited-expected.txt: Added.
* platform/mac/css3/compositing/blend-mode-simple-expected.png:

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

5 years ago'ar T' is not portable and breaks the build on FreeBSD
berto@igalia.com [Wed, 12 Feb 2014 12:17:41 +0000 (12:17 +0000)]
'ar T' is not portable and breaks the build on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128596

Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-12
Reviewed by Gustavo Noronha Silva.

Create thin archives only if we are using GNU ar.

* Source/autotools/SetupLibtool.m4:

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

5 years agoUnreviewed EFL gatdening
m.pakula@samsung.com [Wed, 12 Feb 2014 11:27:46 +0000 (11:27 +0000)]
Unreviewed EFL gatdening

Add test expectations for failing tests.

* platform/efl/TestExpectations:
* platform/efl/fast/parser/xhtml-alternate-entities-expected.png: Rebaseline after r163475.
* platform/efl/fast/parser/xhtml-alternate-entities-expected.txt: Ditto.

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

5 years agoUndo an accidental change.
ap@apple.com [Wed, 12 Feb 2014 07:59:59 +0000 (07:59 +0000)]
Undo an accidental change.

* platform/mac/TestExpectations:

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

5 years agoREGRESSION (r163262?): transitions/shorthand-border-transitions.html flakily asserts
ap@apple.com [Wed, 12 Feb 2014 07:06:11 +0000 (07:06 +0000)]
REGRESSION (r163262?): transitions/shorthand-border-transitions.html flakily asserts
https://bugs.webkit.org/show_bug.cgi?id=128283

* platform/mac/TestExpectations: Updated the expectation to match failure mode.

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

5 years agoJIT should be enabled (regression from addition of JIT enabled setting)
fpizlo@apple.com [Wed, 12 Feb 2014 06:40:54 +0000 (06:40 +0000)]
JIT should be enabled (regression from addition of JIT enabled setting)
https://bugs.webkit.org/show_bug.cgi?id=128653

Reviewed by Tim Horton.

* UIProcess/mac/WebContextMac.mm:
(WebKit::registerUserDefaultsIfNeeded):

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

5 years agoMore Windows test rebaselines.
rniwa@webkit.org [Wed, 12 Feb 2014 06:03:36 +0000 (06:03 +0000)]
More Windows test rebaselines.

* platform/win/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:

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

5 years agoSource/JavaScriptCore: Debug build fix after r163946.
rniwa@webkit.org [Wed, 12 Feb 2014 05:54:02 +0000 (05:54 +0000)]
Source/JavaScriptCore: Debug build fix after r163946.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):

Source/WebKit2: Remove one of includes added in r163943 and r163939.

* WebProcess/WebPage/WebPage.h:

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

5 years ago<rdar://problem/16044438>: WebKit2.framework (with *Process.app) exists at the top...
mitz@apple.com [Wed, 12 Feb 2014 05:45:22 +0000 (05:45 +0000)]
<rdar://problem/16044438>: WebKit2.framework (with *Process.app) exists at the top level of the simulator
https://bugs.webkit.org/show_bug.cgi?id=128650

Reviewed by Mark Rowe.

* Configurations/All-iOS.xcconfig: Removed this unused file.
* Configurations/All.xcconfig: Set SKIP_INSTALL to YES for this aggregate target, so that
its Copy Files build phase, intended only for engineering builds, doesn’t copy into the
(wrong) install location.

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

5 years agoInserting a node with a codeOrigin "like" another node should copy both the codeOrigi...
fpizlo@apple.com [Wed, 12 Feb 2014 05:42:32 +0000 (05:42 +0000)]
Inserting a node with a codeOrigin "like" another node should copy both the codeOrigin and codeOriginForExitTarget
https://bugs.webkit.org/show_bug.cgi?id=128635

Reviewed by Michael Saboff.

Originally nodes just had a codeOrigin. But then we started doing code motion, and we
needed to separate the codeOrigin that designated where to exit from the codeOrigin
that designated everything else. The "everything else" is actually pretty important:
it includes profiling, exception handling, and the actual semantics of the node. For
example some nodes use the origin's global object in some way.

This all sort of worked except for one quirk: the facilities for creating nodes all
assumed that there really was only one origin. LICM would work around this by setting
the codeOriginForExitTarget manually. But, that means that:

- If we did hoist a node twice, then the second time around, we would forget the node's
  original exit target.

- If we did an insertNode() to insert a node before a hoisted node, the inserted node
  would have the wrong exit target.

Most of the time, if we copy the code origin, we actually want to copy both origins.
So, this patch introduces the notion of a NodeOrigin which has two CodeOrigins: a
forExit code origin that says where to exit, and a semantic code origin for everything
else.

This also (annoyingly?) means that we are always more explicit about which code origin
we refer to. That means that a lot of "node->codeOrigin" expressions had to change to
"node->origin.semantic". This was partly a ploy on my part to ensure that this
refactoring was complete: to get the code to compile I really had to audit all uses of
CodeOrigin. If, in the future, we find that "node->origin.semantic" is too cumbersome
then we can reintroduce the Node::codeOrigin field. For now I kinda like it though.

* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::originalArrayStructure):
(JSC::DFG::ArrayMode::alreadyChecked):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::addToGraph):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::convertToJump):
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
(JSC::DFG::CFGSimplificationPhase::jettisonBlock):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
* dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::addPhiSilently):
(JSC::DFG::CPSRethreadingPhase::addPhi):
(JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor):
(JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocalFor):
(JSC::DFG::CPSRethreadingPhase::propagatePhis):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::setLocalStoreElimination):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGCommonData.cpp:
(JSC::DFG::CommonData::notifyCompilingStructureTransition):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
* dfg/DFGCriticalEdgeBreakingPhase.cpp:
(JSC::DFG::CriticalEdgeBreakingPhase::breakCriticalEdge):
* dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::fixupBlock):
* dfg/DFGDisassembler.cpp:
(JSC::DFG::Disassembler::createDumpList):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::createToString):
(JSC::DFG::FixupPhase::attemptToForceStringArrayModeByToStringConversion):
(JSC::DFG::FixupPhase::convertStringAddUse):
(JSC::DFG::FixupPhase::fixupToPrimitive):
(JSC::DFG::FixupPhase::fixupToString):
(JSC::DFG::FixupPhase::attemptToMakeFastStringAdd):
(JSC::DFG::FixupPhase::checkArray):
(JSC::DFG::FixupPhase::blessArrayOperation):
(JSC::DFG::FixupPhase::fixEdge):
(JSC::DFG::FixupPhase::insertStoreBarrier):
(JSC::DFG::FixupPhase::fixIntEdge):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):
(JSC::DFG::FixupPhase::truncateConstantToInt32):
(JSC::DFG::FixupPhase::attemptToMakeGetArrayLength):
(JSC::DFG::FixupPhase::attemptToMakeGetTypedArrayByteLength):
(JSC::DFG::FixupPhase::convertToGetArrayLength):
(JSC::DFG::FixupPhase::prependGetArrayLength):
(JSC::DFG::FixupPhase::attemptToMakeGetTypedArrayByteOffset):
(JSC::DFG::FixupPhase::addPhantomsIfNecessary):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dumpCodeOrigin):
(JSC::DFG::Graph::amountOfNodeWhiteSpace):
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::dumpBlockHeader):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::hasExitSite):
(JSC::DFG::Graph::valueProfileFor):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):
* dfg/DFGInvalidationPointInjectionPhase.cpp:
(JSC::DFG::InvalidationPointInjectionPhase::handle):
(JSC::DFG::InvalidationPointInjectionPhase::insertInvalidationCheck):
* dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::attemptHoist):
* dfg/DFGLoopPreHeaderCreationPhase.cpp:
(JSC::DFG::createPreHeader):
* dfg/DFGNode.h:
(JSC::DFG::Node::Node):
(JSC::DFG::Node::isStronglyProvedConstantIn):
* dfg/DFGNodeOrigin.h: Added.
(JSC::DFG::NodeOrigin::NodeOrigin):
(JSC::DFG::NodeOrigin::isSet):
* dfg/DFGOSREntrypointCreationPhase.cpp:
(JSC::DFG::OSREntrypointCreationPhase::run):
* dfg/DFGResurrectionForValidationPhase.cpp:
(JSC::DFG::ResurrectionForValidationPhase::run):
* dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
* dfg/DFGSSALoweringPhase.cpp:
(JSC::DFG::SSALoweringPhase::handleNode):
(JSC::DFG::SSALoweringPhase::lowerBoundsCheck):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIn):
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compileNewTypedArray):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::masqueradesAsUndefinedWatchpointIsStillValid):
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheck):
(JSC::DFG::SpeculativeJIT::appendCallWithCallFrameRollbackOnException):
(JSC::DFG::SpeculativeJIT::appendCallSetResult):
(JSC::DFG::SpeculativeJIT::appendCall):
(JSC::DFG::SpeculativeJIT::speculateStringObjectForStructure):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild):
(JSC::DFG::StrengthReductionPhase::prepareToFoldTypedArray):
* dfg/DFGTierUpCheckInjectionPhase.cpp:
(JSC::DFG::TierUpCheckInjectionPhase::run):
* dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::run):
* dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validateSSA):
* dfg/DFGWatchpointCollectionPhase.cpp:
(JSC::DFG::WatchpointCollectionPhase::handle):
(JSC::DFG::WatchpointCollectionPhase::handleEdge):
(JSC::DFG::WatchpointCollectionPhase::handleMasqueradesAsUndefined):
(JSC::DFG::WatchpointCollectionPhase::globalObject):
* ftl/FTLJSCall.cpp:
(JSC::FTL::JSCall::link):
* ftl/FTLLink.cpp:
(JSC::FTL::link):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileToThis):
(JSC::FTL::LowerDFGToLLVM::compilePutById):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileNewArray):
(JSC::FTL::LowerDFGToLLVM::compileNewArrayBuffer):
(JSC::FTL::LowerDFGToLLVM::compileNewArrayWithSize):
(JSC::FTL::LowerDFGToLLVM::compileStringCharAt):
(JSC::FTL::LowerDFGToLLVM::compileGetMyScope):
(JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated):
(JSC::FTL::LowerDFGToLLVM::getById):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructure):
(JSC::FTL::LowerDFGToLLVM::masqueradesAsUndefinedWatchpointIsStillValid):
(JSC::FTL::LowerDFGToLLVM::callPreflight):

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

5 years agotransitions/shorthand-border-transitions.html became flaky. Skip it for now.
zalan@apple.com [Wed, 12 Feb 2014 05:15:34 +0000 (05:15 +0000)]
transitions/shorthand-border-transitions.html became flaky. Skip it for now.

* platform/mac/TestExpectations:

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

5 years agoSubpixel rendering: Switch repaint rect from IntRect to LayoutRect to be able to
zalan@apple.com [Wed, 12 Feb 2014 04:50:55 +0000 (04:50 +0000)]
Subpixel rendering: Switch repaint rect from IntRect to LayoutRect to be able to
repaint on device pixel boundaries.
https://bugs.webkit.org/show_bug.cgi?id=128477

Reviewed by Simon Fraser.

RenderLayer needs to be able to repaint on device pixel boundaries. RenderView still
repaints on integral position.

No change in functionality.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::layoutRunsAndFloats):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::repaintAfterLayoutIfNeeded):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::clearRepaintRects):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
* rendering/RenderLayerBacking.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::repaint):
(WebCore::RenderObject::repaintRectangle):
* rendering/RenderObject.h:

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

5 years agoEFL build fix after r163919.
rniwa@webkit.org [Wed, 12 Feb 2014 04:45:13 +0000 (04:45 +0000)]
EFL build fix after r163919.

* WebProcess/WebPage/WebPage.h:

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

5 years agoWindows rebaselines.
rniwa@webkit.org [Wed, 12 Feb 2014 04:42:47 +0000 (04:42 +0000)]
Windows rebaselines.

* platform/win/css1/box_properties/margin_right-expected.txt:
* platform/win/css1/box_properties/padding-expected.txt:
* platform/win/css1/box_properties/padding_left-expected.txt:
* platform/win/css1/box_properties/padding_right-expected.txt:
* platform/win/css1/formatting_model/vertical_formatting-expected.txt:
* platform/win/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt:
* platform/win/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt:
* platform/win/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
* platform/win/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
* platform/win/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
* platform/win/fast/css/empty-pseudo-class-expected.txt:
* platform/win/fast/css/first-child-pseudo-class-expected.txt:
* platform/win/fast/css/last-child-pseudo-class-expected.txt:
* platform/win/fast/css/only-child-pseudo-class-expected.txt:
* platform/win/fast/repaint/reflection-redraw-expected.txt:
* platform/win/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
* platform/win/fast/table/multiple-captions-display-expected.txt:
* platform/win/js/dom/dom-static-property-for-in-iteration-expected.txt:
* platform/win/js/dom/global-constructors-attributes-shared-worker-expected.txt:
* platform/win/mathml: Added.
* platform/win/mathml/presentation: Added.
* platform/win/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Added.
* platform/win/tables/mozilla/marvin/body_col-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
* platform/win/tables/mozilla/other/body_col-expected.txt:

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

5 years agoiOS build fix fix.
mitz@apple.com [Wed, 12 Feb 2014 04:37:28 +0000 (04:37 +0000)]
iOS build fix fix.

* rendering/RenderElement.cpp:
(WebCore::shouldRepaintForImageAnimation):

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

5 years agoiOS build fix.
mitz@apple.com [Wed, 12 Feb 2014 04:36:05 +0000 (04:36 +0000)]
iOS build fix.

* rendering/RenderElement.cpp:
(WebCore::shouldRepaintForImageAnimation):

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

5 years agoUnreviewed build fix after r163919
ljaehun.lim@samsung.com [Wed, 12 Feb 2014 04:25:46 +0000 (04:25 +0000)]
Unreviewed build fix after r163919

WKGestureTypes.h needs PLATFORM(IOS) guard.

* WebProcess/WebPage/WebPage.h:

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

5 years agoFix assertions and incorrect codegen for CompareEq(ObjectOrOther:, Object:)
fpizlo@apple.com [Wed, 12 Feb 2014 04:24:37 +0000 (04:24 +0000)]
Fix assertions and incorrect codegen for CompareEq(ObjectOrOther:, Object:)
https://bugs.webkit.org/show_bug.cgi?id=128648

Reviewed by Mark Lam.

I did CompareEq(Object:, ObjectOrOther:) correctly but the flipped version wrong.
That's what I get for running tests in release mode. It's hard to write a test for
the incorrect codegen; that's kind of why the assertions are there.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):

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

5 years agoUnreviewed, trivial change to silence FTL assertions
fpizlo@apple.com [Wed, 12 Feb 2014 04:13:48 +0000 (04:13 +0000)]
Unreviewed, trivial change to silence FTL assertions

Normally, lowJSValue() should only be used for UntypedUse only. Here we are using it
on ObjectOrOtherUse because we execute the speculation ourselves. The way you're
supposed to do this is by passing ManualOperandSpeculation to tell lowJSValue() not
to assert.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):

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

5 years agoContentData equals() methods are not inline-able <http://webkit.org/b/128538>
ddkilzer@apple.com [Wed, 12 Feb 2014 04:08:22 +0000 (04:08 +0000)]
ContentData equals() methods are not inline-able <webkit.org/b/128538>

Reviewed by Darin Adler.

Get rid of pure virtual equals() method in favor of
ContentData::Type enum for runtime type information.
This also lets us devirtualize the isFoo() methods.

* rendering/style/ContentData.h:
(WebCore::ContentData::type): Add.
(WebCore::ContentData::isCounter): Devirtualize.
(WebCore::ContentData::isImage): Devirtualize.
(WebCore::ContentData::isQuote): Devirtualize.
(WebCore::ContentData::isText): Devirtualize.
(WebCore::ContentData::ContentData): Add.  Include
ContentData::Type parameter.
(WebCore::operator==): Add overloaded methods for each subclass.
Stop using pure virtual equals() method, check type(), and use
overloaded subclass operator==() methods.
(WebCore::operator!=): Add overloaded methods for each subclass.

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

5 years agoIt should be possible to force copy-webkitlibraries-blahblah to copy things regardles...
fpizlo@apple.com [Wed, 12 Feb 2014 04:06:42 +0000 (04:06 +0000)]
It should be possible to force copy-webkitlibraries-blahblah to copy things regardless of timestamp
https://bugs.webkit.org/show_bug.cgi?id=128646

Reviewed by Mark Rowe.

* Scripts/copy-webkitlibraries-to-product-directory:
(unpackIfNecessary):
(dittoHeaders):

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

5 years agoProtect some RenderFlowThread functions.
akling@apple.com [Wed, 12 Feb 2014 03:53:02 +0000 (03:53 +0000)]
Protect some RenderFlowThread functions.
<https://webkit.org/b/128642>

Make the RenderFlowThread constructor protected and a handful of
member functions private.

Reviewed by Anders Carlsson.

* rendering/RenderFlowThread.h:

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

5 years agoDon't allocate RenderNamedFlowThread's child list separately.
akling@apple.com [Wed, 12 Feb 2014 03:51:06 +0000 (03:51 +0000)]
Don't allocate RenderNamedFlowThread's child list separately.
<https://webkit.org/b/128640>

Since we always create the flow-thread child list, there's no reason
to put it in a separate heap allocation. Also remove the typedef and
use auto instead.

Reviewed by Anders Carlsson.

* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::nextRendererForNode):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):
* rendering/RenderNamedFlowThread.h:

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

5 years agoUnreviewed, rolling out r163923.
commit-queue@webkit.org [Wed, 12 Feb 2014 03:45:34 +0000 (03:45 +0000)]
Unreviewed, rolling out r163923.
http://trac.webkit.org/changeset/163923
https://bugs.webkit.org/show_bug.cgi?id=128645

"Mozilla tests shouldn't have changed, but did.  Rollout for
now" (Requested by bradeeoh on #webkit).

* resources/js-test.js: Removed.
* storage/indexeddb/aborted-versionchange-closes-expected.txt:
* storage/indexeddb/aborted-versionchange-closes.html:
* storage/indexeddb/basics-expected.txt:
* storage/indexeddb/basics-shared-workers-expected.txt:
* storage/indexeddb/basics-shared-workers.html:
* storage/indexeddb/basics-workers-expected.txt:
* storage/indexeddb/basics-workers.html:
* storage/indexeddb/basics.html:
* storage/indexeddb/clone-exception-expected.txt:
* storage/indexeddb/clone-exception.html:
* storage/indexeddb/closed-cursor-expected.txt: Removed.
* storage/indexeddb/closed-cursor.html: Removed.
* storage/indexeddb/connection-leak-expected.txt: Removed.
* storage/indexeddb/connection-leak.html: Removed.
* storage/indexeddb/create-and-remove-object-store-expected.txt:
* storage/indexeddb/create-and-remove-object-store.html:
* storage/indexeddb/create-object-store-options-expected.txt:
* storage/indexeddb/create-object-store-options.html:
* storage/indexeddb/createIndex-after-failure-expected.txt:
* storage/indexeddb/createIndex-after-failure.html:
* storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/createObjectStore-name-argument-required.html:
* storage/indexeddb/createObjectStore-null-name.html:
* storage/indexeddb/cursor-added-bug.html:
* storage/indexeddb/cursor-advance-expected.txt:
* storage/indexeddb/cursor-advance-workers-expected.txt:
* storage/indexeddb/cursor-advance-workers.html:
* storage/indexeddb/cursor-advance.html:
* storage/indexeddb/cursor-basics-expected.txt: Removed.
* storage/indexeddb/cursor-basics.html: Removed.
* storage/indexeddb/cursor-cast-expected.txt: Removed.
* storage/indexeddb/cursor-cast.html: Removed.
* storage/indexeddb/cursor-continue-dir-expected.txt:
* storage/indexeddb/cursor-continue-dir.html:
* storage/indexeddb/cursor-continue-expected.txt:
* storage/indexeddb/cursor-continue-validity-expected.txt:
* storage/indexeddb/cursor-continue-validity.html:
* storage/indexeddb/cursor-continue.html:
* storage/indexeddb/cursor-continueprimarykey-expected.txt: Removed.
* storage/indexeddb/cursor-continueprimarykey.html: Removed.
* storage/indexeddb/cursor-delete.html:
* storage/indexeddb/cursor-finished-expected.txt:
* storage/indexeddb/cursor-finished.html:
* storage/indexeddb/cursor-inconsistency.html:
* storage/indexeddb/cursor-index-delete.html:
* storage/indexeddb/cursor-key-order.html:
* storage/indexeddb/cursor-leak-expected.txt: Removed.
* storage/indexeddb/cursor-leak.html: Removed.
* storage/indexeddb/cursor-overloads-expected.txt:
* storage/indexeddb/cursor-overloads.html:
* storage/indexeddb/cursor-prev-no-duplicate.html:
* storage/indexeddb/cursor-primary-key-order.html:
* storage/indexeddb/cursor-properties.html:
* storage/indexeddb/cursor-request-cycle-expected.txt: Removed.
* storage/indexeddb/cursor-request-cycle.html: Removed.
* storage/indexeddb/cursor-reverse-bug.html:
* storage/indexeddb/cursor-skip-deleted.html:
* storage/indexeddb/cursor-update-expected.txt:
* storage/indexeddb/cursor-update-value-argument-required-expected.txt:
* storage/indexeddb/cursor-update-value-argument-required.html:
* storage/indexeddb/cursor-update.html:
* storage/indexeddb/cursor-value.html:
* storage/indexeddb/data-corruption-expected.txt:
* storage/indexeddb/data-corruption.html:
* storage/indexeddb/database-basics-expected.txt:
* storage/indexeddb/database-basics.html:
* storage/indexeddb/database-close-expected.txt:
* storage/indexeddb/database-close.html:
* storage/indexeddb/database-closepending-flag-expected.txt:
* storage/indexeddb/database-closepending-flag.html:
* storage/indexeddb/database-deletepending-flag.html:
* storage/indexeddb/database-name-undefined-expected.txt:
* storage/indexeddb/database-name-undefined.html:
* storage/indexeddb/database-odd-names.html:
* storage/indexeddb/database-wrapper-expected.txt:
* storage/indexeddb/database-wrapper.html:
* storage/indexeddb/delete-closed-database-object-expected.txt:
* storage/indexeddb/delete-closed-database-object.html:
* storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html:
* storage/indexeddb/delete-range.html:
* storage/indexeddb/deleteIndex-bug110792-expected.txt:
* storage/indexeddb/deleteIndex-bug110792.html:
* storage/indexeddb/deleteIndex-expected.txt:
* storage/indexeddb/deleteIndex.html:
* storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/deleteObjectStore-name-argument-required.html:
* storage/indexeddb/deleteObjectStore-null-name.html:
* storage/indexeddb/deleted-objects-expected.txt:
* storage/indexeddb/deleted-objects.html:
* storage/indexeddb/deletedatabase-blocked.html:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html:
* storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-versionchange.html:
* storage/indexeddb/deletedatabase-not-blocked.html:
* storage/indexeddb/deletedatabase-transaction.html:
* storage/indexeddb/dont-commit-on-blocked.html:
* storage/indexeddb/dont-wedge.html:
* storage/indexeddb/duplicates.html:
* storage/indexeddb/error-causes-abort-by-default.html:
* storage/indexeddb/events-expected.txt:
* storage/indexeddb/events.html:
* storage/indexeddb/exception-in-event-aborts-expected.txt:
* storage/indexeddb/exception-in-event-aborts.html:
* storage/indexeddb/exceptions-expected.txt:
* storage/indexeddb/exceptions.html:
* storage/indexeddb/factory-basics-expected.txt:
* storage/indexeddb/factory-basics-workers-expected.txt:
* storage/indexeddb/factory-basics-workers.html:
* storage/indexeddb/factory-basics.html:
* storage/indexeddb/factory-cmp-expected.txt:
* storage/indexeddb/factory-cmp.html:
* storage/indexeddb/factory-deletedatabase.html:
* storage/indexeddb/get-keyrange-expected.txt:
* storage/indexeddb/get-keyrange.html:
* storage/indexeddb/index-basics-expected.txt:
* storage/indexeddb/index-basics-workers-expected.txt:
* storage/indexeddb/index-basics-workers.html:
* storage/indexeddb/index-basics.html:
* storage/indexeddb/index-count-expected.txt:
* storage/indexeddb/index-count.html:
* storage/indexeddb/index-cursor.html:
* storage/indexeddb/index-duplicate-keypaths.html:
* storage/indexeddb/index-get-key-argument-required-expected.txt:
* storage/indexeddb/index-get-key-argument-required.html:
* storage/indexeddb/index-multientry.html:
* storage/indexeddb/index-population.html:
* storage/indexeddb/index-unique.html:
* storage/indexeddb/interfaces.html:
* storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html:
* storage/indexeddb/intversion-bad-parameters-expected.txt:
* storage/indexeddb/intversion-bad-parameters.html:
* storage/indexeddb/intversion-blocked.html:
* storage/indexeddb/intversion-close-between-events.html:
* storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
* storage/indexeddb/intversion-close-in-oncomplete.html:
* storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
* storage/indexeddb/intversion-close-in-upgradeneeded.html:
* storage/indexeddb/intversion-encoding.html:
* storage/indexeddb/intversion-gated-on-delete.html:
* storage/indexeddb/intversion-long-queue-expected.txt:
* storage/indexeddb/intversion-long-queue.html:
* storage/indexeddb/intversion-omit-parameter.html:
* storage/indexeddb/intversion-open-in-upgradeneeded.html:
* storage/indexeddb/intversion-open-with-version.html:
* storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt: Removed.
* storage/indexeddb/intversion-pending-version-changes-ascending.html: Removed.
* storage/indexeddb/intversion-pending-version-changes-descending-expected.txt: Removed.
* storage/indexeddb/intversion-pending-version-changes-descending.html: Removed.
* storage/indexeddb/intversion-pending-version-changes-same-expected.txt: Removed.
* storage/indexeddb/intversion-pending-version-changes-same.html: Removed.
* storage/indexeddb/intversion-persistence.html:
* storage/indexeddb/intversion-revert-on-abort.html:
* storage/indexeddb/intversion-two-opens-no-versions.html:
* storage/indexeddb/intversion-upgrades-expected.txt:
* storage/indexeddb/intversion-upgrades.html:
* storage/indexeddb/invalid-keys-expected.txt:
* storage/indexeddb/invalid-keys.html:
* storage/indexeddb/key-generator.html:
* storage/indexeddb/key-sort-order-across-types.html:
* storage/indexeddb/key-sort-order-date.html:
* storage/indexeddb/key-type-array-expected.txt:
* storage/indexeddb/key-type-array.html:
* storage/indexeddb/key-type-binary-expected.txt: Removed.
* storage/indexeddb/key-type-binary.html: Removed.
* storage/indexeddb/key-type-infinity.html:
* storage/indexeddb/keypath-arrays-expected.txt:
* storage/indexeddb/keypath-arrays.html:
* storage/indexeddb/keypath-basics-expected.txt:
* storage/indexeddb/keypath-basics.html:
* storage/indexeddb/keypath-edges-expected.txt:
* storage/indexeddb/keypath-edges.html:
* storage/indexeddb/keypath-fetch-key.html:
* storage/indexeddb/keypath-intrinsic-properties.html:
* storage/indexeddb/keyrange-expected.txt:
* storage/indexeddb/keyrange-required-arguments-expected.txt:
* storage/indexeddb/keyrange-required-arguments.html:
* storage/indexeddb/keyrange.html:
* storage/indexeddb/lazy-index-population-expected.txt:
* storage/indexeddb/lazy-index-population.html:
* storage/indexeddb/lazy-index-types.html:
* storage/indexeddb/legacy-constants.html:
* storage/indexeddb/list-ordering.html:
* storage/indexeddb/metadata-race-expected.txt: Removed.
* storage/indexeddb/metadata-race.html: Removed.
* storage/indexeddb/metadata.html:
* storage/indexeddb/mutating-cursor.html:
* storage/indexeddb/noblobs-expected.txt:
* storage/indexeddb/noblobs.html:
* storage/indexeddb/object-lookups-in-versionchange-expected.txt:
* storage/indexeddb/object-lookups-in-versionchange.html:
* storage/indexeddb/objectStore-required-arguments-expected.txt:
* storage/indexeddb/objectStore-required-arguments.html:
* storage/indexeddb/objectstore-autoincrement-expected.txt:
* storage/indexeddb/objectstore-autoincrement.html:
* storage/indexeddb/objectstore-basics-expected.txt:
* storage/indexeddb/objectstore-basics-workers-expected.txt:
* storage/indexeddb/objectstore-basics-workers.html:
* storage/indexeddb/objectstore-basics.html:
* storage/indexeddb/objectstore-clear.html:
* storage/indexeddb/objectstore-count-expected.txt:
* storage/indexeddb/objectstore-count.html:
* storage/indexeddb/objectstore-cursor-expected.txt:
* storage/indexeddb/objectstore-cursor.html:
* storage/indexeddb/objectstore-keycursor-expected.txt: Removed.
* storage/indexeddb/objectstore-keycursor.html: Removed.
* storage/indexeddb/objectstore-removeobjectstore.html:
* storage/indexeddb/odd-strings.html:
* storage/indexeddb/open-bad-versions.html:
* storage/indexeddb/open-cursor-expected.txt:
* storage/indexeddb/open-cursor.html:
* storage/indexeddb/open-during-transaction.html:
* storage/indexeddb/open-ordering.html:
* storage/indexeddb/open-twice-workers.html:
* storage/indexeddb/opencursor-key.html:
* storage/indexeddb/optional-arguments-expected.txt: Removed.
* storage/indexeddb/optional-arguments.html: Removed.
* storage/indexeddb/pending-activity-workers.html:
* storage/indexeddb/pending-activity.html:
* storage/indexeddb/pending-version-change-on-exit.html:
* storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
* storage/indexeddb/pending-version-change-stuck.html:
* storage/indexeddb/persistence.html:
* storage/indexeddb/prefetch-bugfix-108071-expected.txt:
* storage/indexeddb/prefetch-bugfix-108071.html:
* storage/indexeddb/prefetch-invalidation-expected.txt: Removed.
* storage/indexeddb/prefetch-invalidation.html: Removed.
* storage/indexeddb/prefetch-race-expected.txt: Removed.
* storage/indexeddb/prefetch-race.html: Removed.
* storage/indexeddb/queued-commands.html:
* storage/indexeddb/readonly-properties.html:
* storage/indexeddb/readonly.html:
* storage/indexeddb/removed-expected.txt:
* storage/indexeddb/removed.html:
* storage/indexeddb/request-continue-abort.html:
* storage/indexeddb/request-event-propagation.html:
* storage/indexeddb/request-leak-expected.txt: Removed.
* storage/indexeddb/request-leak.html: Removed.
* storage/indexeddb/request-result-cache-expected.txt: Removed.
* storage/indexeddb/request-result-cache.html: Removed.
* storage/indexeddb/resources/aborted-versionchange-closes.js:
* storage/indexeddb/resources/basics.js:
(test):
(openCallback):
* storage/indexeddb/resources/create-and-remove-object-store.js:
* storage/indexeddb/resources/create-object-store-options.js:
* storage/indexeddb/resources/createIndex-after-failure.js:
* storage/indexeddb/resources/createObjectStore-name-argument-required.js:
* storage/indexeddb/resources/createObjectStore-null-name.js:
* storage/indexeddb/resources/cursor-added-bug.js:
* storage/indexeddb/resources/cursor-advance.js:
* storage/indexeddb/resources/cursor-basics.js: Removed.
* storage/indexeddb/resources/cursor-continue-dir.js:
* storage/indexeddb/resources/cursor-continue-validity.js:
* storage/indexeddb/resources/cursor-continue.js:
* storage/indexeddb/resources/cursor-continueprimarykey.js: Removed.
* storage/indexeddb/resources/cursor-delete.js:
* storage/indexeddb/resources/cursor-inconsistency.js:
* storage/indexeddb/resources/cursor-index-delete.js:
* storage/indexeddb/resources/cursor-key-order.js:
* storage/indexeddb/resources/cursor-prev-no-duplicate.js:
* storage/indexeddb/resources/cursor-primary-key-order.js:
* storage/indexeddb/resources/cursor-properties.js:
* storage/indexeddb/resources/cursor-reverse-bug.js:
* storage/indexeddb/resources/cursor-skip-deleted.js:
* storage/indexeddb/resources/cursor-update-value-argument-required.js:
* storage/indexeddb/resources/cursor-update.js:
* storage/indexeddb/resources/cursor-value.js:
* storage/indexeddb/resources/data-corruption.js:
(prepareDatabase):
* storage/indexeddb/resources/database-basics.js:
* storage/indexeddb/resources/database-close.js:
* storage/indexeddb/resources/database-closepending-flag.js:
* storage/indexeddb/resources/database-deletepending-flag.js:
* storage/indexeddb/resources/database-name-undefined.js:
* storage/indexeddb/resources/database-odd-names.js:
* storage/indexeddb/resources/database-quota.js:
(logError):
* storage/indexeddb/resources/database-wrapper.js:
(onBlocked):
* storage/indexeddb/resources/delete-closed-database-object.js:
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
(deleteSuccessCallback):
* storage/indexeddb/resources/delete-range.js:
* storage/indexeddb/resources/deleteIndex.js:
* storage/indexeddb/resources/deleteObjectStore-name-argument-required.js:
* storage/indexeddb/resources/deleteObjectStore-null-name.js:
* storage/indexeddb/resources/deleted-objects.js:
(prepareDatabase):
* storage/indexeddb/resources/deletedatabase-blocked.js:
* storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
* storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:
(h1OpenSuccess.request.onsuccess.h2OpenSuccess.request.onsuccess):
* storage/indexeddb/resources/deletedatabase-not-blocked.js:
* storage/indexeddb/resources/dont-commit-on-blocked-worker.js:
* storage/indexeddb/resources/dont-wedge.js:
* storage/indexeddb/resources/duplicates.js:
* storage/indexeddb/resources/error-causes-abort-by-default.js:
* storage/indexeddb/resources/events.js:
(test):
* storage/indexeddb/resources/exception-in-event-aborts.js:
(causeException):
* storage/indexeddb/resources/exceptions.js:
(testObjectStore):
* storage/indexeddb/resources/factory-basics.js:
(test):
(getDatabaseNamesSuccess1):
(getDatabaseNamesSuccess2):
* storage/indexeddb/resources/factory-cmp.js:
(testValidKeys):
* storage/indexeddb/resources/factory-deletedatabase.js:
* storage/indexeddb/resources/get-keyrange.js:
* storage/indexeddb/resources/index-basics.js:
(prepareDatabase):
* storage/indexeddb/resources/index-count.js:
* storage/indexeddb/resources/index-cursor.js:
* storage/indexeddb/resources/index-duplicate-keypaths.js:
* storage/indexeddb/resources/index-get-key-argument-required.js:
* storage/indexeddb/resources/index-multientry.js:
* storage/indexeddb/resources/index-population.js:
* storage/indexeddb/resources/index-unique.js:
* storage/indexeddb/resources/interfaces.js:
* storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:
* storage/indexeddb/resources/intversion-bad-parameters.js:
* storage/indexeddb/resources/intversion-blocked.js:
* storage/indexeddb/resources/intversion-close-between-events.js:
* storage/indexeddb/resources/intversion-close-in-oncomplete.js:
* storage/indexeddb/resources/intversion-close-in-upgradeneeded.js:
* storage/indexeddb/resources/intversion-encoding.js:
* storage/indexeddb/resources/intversion-gated-on-delete.js:
* storage/indexeddb/resources/intversion-long-queue.js:
(connection2UpgradeNeeded):
(connection2Success):
(connection2VersionChangeEvent):
(connection3UpgradeNeeded):
(connection3Success):
* storage/indexeddb/resources/intversion-omit-parameter.js:
* storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
* storage/indexeddb/resources/intversion-open-with-version.js:
* storage/indexeddb/resources/intversion-pending-version-changes-ascending.js: Removed.
* storage/indexeddb/resources/intversion-pending-version-changes-descending.js: Removed.
* storage/indexeddb/resources/intversion-pending-version-changes-same.js: Removed.
* storage/indexeddb/resources/intversion-persistence.js:
* storage/indexeddb/resources/intversion-revert-on-abort.js:
* storage/indexeddb/resources/intversion-two-opens-no-versions.js:
* storage/indexeddb/resources/intversion-upgrades.js:
(connection2BlockedCallback):
(errorWhenTryingLowVersion):
* storage/indexeddb/resources/invalid-keys.js:
* storage/indexeddb/resources/key-generator.js:
* storage/indexeddb/resources/key-sort-order-across-types.js:
* storage/indexeddb/resources/key-sort-order-date.js:
* storage/indexeddb/resources/key-type-array.js:
* storage/indexeddb/resources/key-type-binary.js: Removed.
* storage/indexeddb/resources/key-type-infinity.js:
* storage/indexeddb/resources/keypath-arrays.js:
* storage/indexeddb/resources/keypath-basics.js:
* storage/indexeddb/resources/keypath-edges.js:
* storage/indexeddb/resources/keypath-fetch-key.js:
* storage/indexeddb/resources/keypath-intrinsic-properties.js:
* storage/indexeddb/resources/keyrange-required-arguments.js:
* storage/indexeddb/resources/keyrange.js:
* storage/indexeddb/resources/lazy-index-types.js:
* storage/indexeddb/resources/legacy-constants.js:
* storage/indexeddb/resources/list-ordering.js:
* storage/indexeddb/resources/metadata.js:
* storage/indexeddb/resources/mutating-cursor.js:
* storage/indexeddb/resources/objectStore-required-arguments.js:
* storage/indexeddb/resources/objectstore-autoincrement.js:
* storage/indexeddb/resources/objectstore-basics.js:
(prepareDatabase):
* storage/indexeddb/resources/objectstore-clear.js:
* storage/indexeddb/resources/objectstore-count.js:
* storage/indexeddb/resources/objectstore-cursor.js:
* storage/indexeddb/resources/objectstore-keycursor.js: Removed.
* storage/indexeddb/resources/objectstore-removeobjectstore.js:
* storage/indexeddb/resources/odd-strings.js:
* storage/indexeddb/resources/open-cursor.js:
* storage/indexeddb/resources/open-during-transaction.js:
* storage/indexeddb/resources/open-ordering.js:
* storage/indexeddb/resources/open-twice.js:
* storage/indexeddb/resources/opencursor-key.js:
* storage/indexeddb/resources/pending-activity.js:
* storage/indexeddb/resources/pending-version-change-on-exit.js:
* storage/indexeddb/resources/pending-version-change-stuck.js:
* storage/indexeddb/resources/persistence.js:
* storage/indexeddb/resources/prefetch-bugfix-108071.js:
* storage/indexeddb/resources/queued-commands.js:
* storage/indexeddb/resources/readonly-properties.js:
* storage/indexeddb/resources/readonly.js:
* storage/indexeddb/resources/removed.js:
* storage/indexeddb/resources/request-continue-abort.js:
* storage/indexeddb/resources/request-event-propagation.js:
* storage/indexeddb/resources/set_version_blocked.js:
* storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
* storage/indexeddb/resources/setversion-not-blocked.js:
* storage/indexeddb/resources/shared.js:
(unexpectedErrorCallback):
(unexpectedAbortCallback):
(evalAndExpectException):
* storage/indexeddb/resources/transaction-abort.js:
* storage/indexeddb/resources/transaction-active-flag.js:
* storage/indexeddb/resources/transaction-after-close.js:
* storage/indexeddb/resources/transaction-and-objectstore-calls.js:
* storage/indexeddb/resources/transaction-basics.js:
* storage/indexeddb/resources/transaction-complete-workers.js:
* storage/indexeddb/resources/transaction-coordination-across-databases.js:
* storage/indexeddb/resources/transaction-coordination-within-database.js:
* storage/indexeddb/resources/transaction-crash-on-abort.js:
* storage/indexeddb/resources/transaction-error.js:
(testErrorFromRequest.trans.onabort):
(testErrorFromRequest):
(testErrorFromException.trans.onabort):
(testErrorFromException):
(testErrorFromCommit.trans.oncomplete.request.onupgradeneeded.trans.onabort):
(testErrorFromCommit.trans.oncomplete.request.onupgradeneeded):
(testErrorFromCommit.trans.oncomplete):
(testErrorFromCommit):
* storage/indexeddb/resources/transaction-event-propagation.js:
* storage/indexeddb/resources/transaction-read-only.js:
* storage/indexeddb/resources/transaction-readwrite-exclusive.js:
* storage/indexeddb/resources/transaction-rollback.js:
* storage/indexeddb/resources/transaction-scope-sequencing.js:
* storage/indexeddb/resources/transaction-starvation.js:
* storage/indexeddb/resources/transaction-storeNames-required.js:
* storage/indexeddb/resources/unblocked-version-changes.js:
(onUpgradeNeeded):
* storage/indexeddb/resources/unprefix.js:
* storage/indexeddb/resources/value-undefined.js:
* storage/indexeddb/resources/values-odd-types.js:
* storage/indexeddb/resources/version-change-abort.js:
* storage/indexeddb/resources/version-change-exclusive.js:
* storage/indexeddb/resources/versionchangerequest-activedomobject.js:
* storage/indexeddb/set_version_blocked.html:
* storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
* storage/indexeddb/setversion-blocked-by-versionchange-close.html:
* storage/indexeddb/setversion-not-blocked.html:
* storage/indexeddb/structured-clone-expected.txt:
* storage/indexeddb/structured-clone.html:
* storage/indexeddb/transaction-abort-expected.txt:
* storage/indexeddb/transaction-abort.html:
* storage/indexeddb/transaction-active-flag-expected.txt:
* storage/indexeddb/transaction-active-flag.html:
* storage/indexeddb/transaction-after-close-expected.txt:
* storage/indexeddb/transaction-after-close.html:
* storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
* storage/indexeddb/transaction-and-objectstore-calls.html:
* storage/indexeddb/transaction-basics-expected.txt:
* storage/indexeddb/transaction-basics.html:
* storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
* storage/indexeddb/transaction-complete-with-js-recursion.html:
* storage/indexeddb/transaction-complete-workers-expected.txt:
* storage/indexeddb/transaction-complete-workers.html:
* storage/indexeddb/transaction-coordination-across-databases.html:
* storage/indexeddb/transaction-coordination-within-database.html:
* storage/indexeddb/transaction-crash-in-tasks.html:
* storage/indexeddb/transaction-crash-on-abort.html:
* storage/indexeddb/transaction-error-expected.txt:
* storage/indexeddb/transaction-error.html:
* storage/indexeddb/transaction-event-propagation.html:
* storage/indexeddb/transaction-ordering-expected.txt: Removed.
* storage/indexeddb/transaction-ordering.html: Removed.
* storage/indexeddb/transaction-read-only-expected.txt:
* storage/indexeddb/transaction-read-only.html:
* storage/indexeddb/transaction-readwrite-exclusive.html:
* storage/indexeddb/transaction-rollback.html:
* storage/indexeddb/transaction-scope-sequencing.html:
* storage/indexeddb/transaction-starvation.html:
* storage/indexeddb/transaction-storeNames-required-expected.txt:
* storage/indexeddb/transaction-storeNames-required.html:
* storage/indexeddb/unblocked-version-changes-expected.txt:
* storage/indexeddb/unblocked-version-changes.html:
* storage/indexeddb/unprefix-workers.html:
* storage/indexeddb/unprefix.html:
* storage/indexeddb/value-undefined.html:
* storage/indexeddb/values-odd-types.html:
* storage/indexeddb/version-change-abort-expected.txt:
* storage/indexeddb/version-change-abort.html:
* storage/indexeddb/version-change-exclusive-expected.txt:
* storage/indexeddb/version-change-exclusive.html:
* storage/indexeddb/versionchangerequest-activedomobject.html:

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

5 years agoSubpixel rendering: Make GraphicsLayerClient::paintContents's clip rect subpixel...
zalan@apple.com [Wed, 12 Feb 2014 03:28:43 +0000 (03:28 +0000)]
Subpixel rendering: Make GraphicsLayerClient::paintContents's clip rect subpixel based.
https://bugs.webkit.org/show_bug.cgi?id=128460

Reviewed by Simon Fraser.

GraphicsClient::paintContents takes clipRect as FloatRect now so that we can paint on
subpixel position.

No change in functionality.

Source/WebCore:

* platform/graphics/GraphicsLayerClient.h:
* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
(WebCore::CompositingCoordinator::paintContents):
* platform/graphics/texmap/coordinated/CompositingCoordinator.h:
* rendering/RenderLayer.cpp:
(WebCore::cornerRect):
(WebCore::RenderLayer::scrollCornerRect):
(WebCore::resizerCornerRect):
(WebCore::RenderLayer::scrollCornerAndResizerRect):
(WebCore::RenderLayer::verticalScrollbarStart):
(WebCore::RenderLayer::horizontalScrollbarStart):
(WebCore::RenderLayer::paintResizer):
(WebCore::RenderLayer::hitTestOverflowControls):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::paintContents):
* rendering/RenderLayerCompositor.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):

Source/WebKit/gtk:

* WebCoreSupport/AcceleratedCompositingContext.h:
* WebCoreSupport/AcceleratedCompositingContextGL.cpp:
(WebKit::AcceleratedCompositingContext::paintContents):

Source/WebKit/win:

* WebView.cpp:
(WebView::paintContents):
* WebView.h:

Source/WebKit2:

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::paintContents):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::paintContents):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::paintContents):

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

5 years ago[WebKit2, JSC] Add user default to disable the JIT
weinig@apple.com [Wed, 12 Feb 2014 03:23:55 +0000 (03:23 +0000)]
[WebKit2, JSC] Add user default to disable the JIT
https://bugs.webkit.org/show_bug.cgi?id=128643

Reviewed by Filip Pizlo.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/mac/WebContextMac.mm:
(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebContext::platformInitializeWebProcess):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

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

5 years agoUse LLVM's dead store elimination
fpizlo@apple.com [Wed, 12 Feb 2014 03:16:27 +0000 (03:16 +0000)]
Use LLVM's dead store elimination
https://bugs.webkit.org/show_bug.cgi?id=128638

Reviewed by Mark Hahnenberg.

DFG's store elimination was being run too soon for comfort on the FTL path. It's
really only sound when run after all other optimizations. Remove it from the FTL
path.

Enable LLVM store elimination. It's both easier to reason about and more
comprehensive.

* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
* ftl/FTLCompile.cpp:
(JSC::FTL::compile):

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

5 years agoGIF animations should be suspended when outside of viewport
antti@apple.com [Wed, 12 Feb 2014 02:55:22 +0000 (02:55 +0000)]
GIF animations should be suspended when outside of viewport
https://bugs.webkit.org/show_bug.cgi?id=128632

Source/WebCore:

Reviewed by Andreas Kling.

Animations are driven by the paint cycle. Speculative tiles keep animations outside the actual viewport going.

Pause animations when they are outside the viewport by not painting them.

Test: fast/repaint/no-animation-outside-viewport.html

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::animationAdvanced):

    Call animation specific newImageAnimationFrameAvailable instead of the generic notifyObservers.

* loader/cache/CachedImage.h:

    Removed now unnecessary resumeAnimatingImagesForLoader mechanism.
    Remove unnecessary shouldPauseAnimation. Pausing is now always done when by avoiding repaint.

* loader/cache/CachedImageClient.h:
(WebCore::CachedImageClient::newImageAnimationFrameAvailable):
* page/FrameView.cpp:
(WebCore::FrameView::scrollPositionChanged):

    Check if we have image animations to resume when scroll position changes.

* page/Page.cpp:
(WebCore::Page::resumeAnimatingImages):

    Use the same mechanism when resuming background tabs etc.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::internalAdvanceAnimation):

    Remove the shouldPauseAnimation test, always rely on pausing on invalidation.

* platform/graphics/ImageObserver.h:
* rendering/RenderBoxModelObject.cpp:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::~RenderElement):
(WebCore::shouldRepaintForImageAnimation):

    Factor the pausing conditions to a function. Test that the animation is withing the
    visible rect.

(WebCore::RenderElement::newImageAnimationFrameAvailable):

    Add renderer to the paused animation set if we don't continue the animation.

(WebCore::RenderElement::repaintForPausedImageAnimationsIfNeeded):

    Resume the paused animations by triggering repaint.

* rendering/RenderElement.h:
(WebCore::RenderElement::setHasPausedImageAnimations):
(WebCore::RenderElement::hasPausedImageAnimations):
* rendering/RenderObject.cpp:
* rendering/RenderObject.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::addRendererWithPausedImageAnimations):
(WebCore::RenderView::removeRendererWithPausedImageAnimations):
(WebCore::RenderView::resumePausedImageAnimationsIfNeeded):
* rendering/RenderView.h:

LayoutTests:

Reviewed by Andreas Kling.

* fast/repaint/no-animation-outside-viewport-expected.txt: Added.
* fast/repaint/no-animation-outside-viewport.html: Added.

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

5 years agoWeb Inspector: DOMStorageView should listen for events from DOMStorageObject
bburg@apple.com [Wed, 12 Feb 2014 02:52:19 +0000 (02:52 +0000)]
Web Inspector: DOMStorageView should listen for events from DOMStorageObject
https://bugs.webkit.org/show_bug.cgi?id=128620

Reviewed by Timothy Hatcher.

The storage manager used to have a map of DOMStorageViews and delivered events
directly to them. Instead, the DOMStorageObserver should use the manager to
find the appropriate DOMStorageObject and deliver events to it. DOMStorageView
learns about storage updates from DOMStorageObject events.

* UserInterface/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView): Add event listeners.
(WebInspector.DOMStorageContentView.prototype.reset): Renamed from update().
(WebInspector.DOMStorageContentView.prototype.itemsCleared): Take an event argument.
(WebInspector.DOMStorageContentView.prototype.itemRemoved): Take an event argument.
Use for..of when iterating over nodes.
(WebInspector.DOMStorageContentView.prototype.itemAdded): Take an event argument.
Use for..of when iterating over nodes.
(WebInspector.DOMStorageContentView.prototype.itemUpdated): Take an event argument.
Use for..of when iterating over nodes.
* UserInterface/DOMStorageObject.js:
(WebInspector.DOMStorageObject.prototype.removeItem): Moved.
(WebInspector.DOMStorageObject.prototype.setItem): Moved.
(WebInspector.DOMStorageObject.prototype.itemsCleared): Added.
(WebInspector.DOMStorageObject.prototype.itemRemoved): Added.
(WebInspector.DOMStorageObject.prototype.itemAdded): Added.
(WebInspector.DOMStorageObject.prototype.itemUpdated): Added.
* UserInterface/DOMStorageObserver.js: Look up and notify the associated model.
(WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared):
(WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved):
(WebInspector.DOMStorageObserver.prototype.domStorageItemAdded):
(WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated):
* UserInterface/StorageManager.js: Remove view lookup code. Remove
direct calls to DOMStorageViews.
(WebInspector.StorageManager.prototype.itemsCleared):
(WebInspector.StorageManager.prototype.itemRemoved):
(WebInspector.StorageManager.prototype.itemAdded):
(WebInspector.StorageManager.prototype.itemUpdated):
(WebInspector.StorageManager.prototype.domStorageWasUpdated):
(WebInspector.StorageManager.prototype.inspectDOMStorage):
(WebInspector.StorageManager.prototype._domStorageForIdentifier):
(WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
(WebInspector.StorageManager.prototype._databaseForIdentifier):

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

5 years agoRemove unused RenderNamedFlowThread::previousRendererForNode().
akling@apple.com [Wed, 12 Feb 2014 02:01:14 +0000 (02:01 +0000)]
Remove unused RenderNamedFlowThread::previousRendererForNode().
<https://webkit.org/b/128637>

Reviewed by Antti Koivisto.

* rendering/RenderNamedFlowThread.cpp:
* rendering/RenderNamedFlowThread.h:

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

5 years agoAdd failing test expectations to asynchronous spellchecking tests.
rniwa@webkit.org [Wed, 12 Feb 2014 01:57:46 +0000 (01:57 +0000)]
Add failing test expectations to asynchronous spellchecking tests.

* platform/win/TestExpectations:

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

5 years agoIDB: Reimport storage/indexeddb tests from Blink
beidson@apple.com [Wed, 12 Feb 2014 01:56:01 +0000 (01:56 +0000)]
IDB: Reimport storage/indexeddb tests from Blink
https://bugs.webkit.org/show_bug.cgi?id=128636

Reviewed by Tim Horton.

* resources/js-test.js: Added.
* storage/indexeddb/aborted-versionchange-closes-expected.txt:
* storage/indexeddb/aborted-versionchange-closes.html:
* storage/indexeddb/basics-expected.txt:
* storage/indexeddb/basics-shared-workers-expected.txt:
* storage/indexeddb/basics-shared-workers.html:
* storage/indexeddb/basics-workers-expected.txt:
* storage/indexeddb/basics-workers.html:
* storage/indexeddb/basics.html:
* storage/indexeddb/clone-exception-expected.txt:
* storage/indexeddb/clone-exception.html:
* storage/indexeddb/closed-cursor-expected.txt: Added.
* storage/indexeddb/closed-cursor.html: Added.
* storage/indexeddb/connection-leak-expected.txt: Added.
* storage/indexeddb/connection-leak.html: Added.
* storage/indexeddb/create-and-remove-object-store-expected.txt:
* storage/indexeddb/create-and-remove-object-store.html:
* storage/indexeddb/create-object-store-options-expected.txt:
* storage/indexeddb/create-object-store-options.html:
* storage/indexeddb/createIndex-after-failure-expected.txt:
* storage/indexeddb/createIndex-after-failure.html:
* storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/createObjectStore-name-argument-required.html:
* storage/indexeddb/createObjectStore-null-name.html:
* storage/indexeddb/cursor-added-bug.html:
* storage/indexeddb/cursor-advance-expected.txt:
* storage/indexeddb/cursor-advance-workers-expected.txt:
* storage/indexeddb/cursor-advance-workers.html:
* storage/indexeddb/cursor-advance.html:
* storage/indexeddb/cursor-basics-expected.txt: Added.
* storage/indexeddb/cursor-basics.html: Added.
* storage/indexeddb/cursor-cast-expected.txt: Added.
* storage/indexeddb/cursor-cast.html: Added.
* storage/indexeddb/cursor-continue-dir-expected.txt:
* storage/indexeddb/cursor-continue-dir.html:
* storage/indexeddb/cursor-continue-expected.txt:
* storage/indexeddb/cursor-continue-validity-expected.txt:
* storage/indexeddb/cursor-continue-validity.html:
* storage/indexeddb/cursor-continue.html:
* storage/indexeddb/cursor-continueprimarykey-expected.txt: Added.
* storage/indexeddb/cursor-continueprimarykey.html: Added.
* storage/indexeddb/cursor-delete.html:
* storage/indexeddb/cursor-finished-expected.txt:
* storage/indexeddb/cursor-finished.html:
* storage/indexeddb/cursor-inconsistency.html:
* storage/indexeddb/cursor-index-delete.html:
* storage/indexeddb/cursor-key-order.html:
* storage/indexeddb/cursor-leak-expected.txt:
* storage/indexeddb/cursor-leak.html: Added.
* storage/indexeddb/cursor-overloads-expected.txt:
* storage/indexeddb/cursor-overloads.html:
* storage/indexeddb/cursor-prev-no-duplicate.html:
* storage/indexeddb/cursor-primary-key-order.html:
* storage/indexeddb/cursor-properties.html:
* storage/indexeddb/cursor-request-cycle-expected.txt: Added.
* storage/indexeddb/cursor-request-cycle.html: Added.
* storage/indexeddb/cursor-reverse-bug.html:
* storage/indexeddb/cursor-skip-deleted.html:
* storage/indexeddb/cursor-update-expected.txt:
* storage/indexeddb/cursor-update-value-argument-required-expected.txt:
* storage/indexeddb/cursor-update-value-argument-required.html:
* storage/indexeddb/cursor-update.html:
* storage/indexeddb/cursor-value.html:
* storage/indexeddb/data-corruption-expected.txt:
* storage/indexeddb/data-corruption.html:
* storage/indexeddb/database-basics-expected.txt:
* storage/indexeddb/database-basics.html:
* storage/indexeddb/database-close-expected.txt:
* storage/indexeddb/database-close.html:
* storage/indexeddb/database-closepending-flag-expected.txt:
* storage/indexeddb/database-closepending-flag.html:
* storage/indexeddb/database-deletepending-flag.html:
* storage/indexeddb/database-name-undefined-expected.txt:
* storage/indexeddb/database-name-undefined.html:
* storage/indexeddb/database-odd-names.html:
* storage/indexeddb/database-wrapper-expected.txt:
* storage/indexeddb/database-wrapper.html:
* storage/indexeddb/delete-closed-database-object-expected.txt:
* storage/indexeddb/delete-closed-database-object.html:
* storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html:
* storage/indexeddb/delete-range.html:
* storage/indexeddb/deleteIndex-bug110792-expected.txt:
* storage/indexeddb/deleteIndex-bug110792.html:
* storage/indexeddb/deleteIndex-expected.txt:
* storage/indexeddb/deleteIndex.html:
* storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/deleteObjectStore-name-argument-required.html:
* storage/indexeddb/deleteObjectStore-null-name.html:
* storage/indexeddb/deleted-objects-expected.txt:
* storage/indexeddb/deleted-objects.html:
* storage/indexeddb/deletedatabase-blocked.html:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html:
* storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-versionchange.html:
* storage/indexeddb/deletedatabase-not-blocked.html:
* storage/indexeddb/deletedatabase-transaction.html:
* storage/indexeddb/dont-commit-on-blocked.html:
* storage/indexeddb/dont-wedge.html:
* storage/indexeddb/duplicates.html:
* storage/indexeddb/error-causes-abort-by-default.html:
* storage/indexeddb/events-expected.txt:
* storage/indexeddb/events.html:
* storage/indexeddb/exception-in-event-aborts-expected.txt:
* storage/indexeddb/exception-in-event-aborts.html:
* storage/indexeddb/exceptions-expected.txt:
* storage/indexeddb/exceptions.html:
* storage/indexeddb/factory-basics-expected.txt:
* storage/indexeddb/factory-basics-workers-expected.txt:
* storage/indexeddb/factory-basics-workers.html:
* storage/indexeddb/factory-basics.html:
* storage/indexeddb/factory-cmp-expected.txt:
* storage/indexeddb/factory-cmp.html:
* storage/indexeddb/factory-deletedatabase.html:
* storage/indexeddb/get-keyrange-expected.txt:
* storage/indexeddb/get-keyrange.html:
* storage/indexeddb/index-basics-expected.txt:
* storage/indexeddb/index-basics-workers-expected.txt:
* storage/indexeddb/index-basics-workers.html:
* storage/indexeddb/index-basics.html:
* storage/indexeddb/index-count-expected.txt:
* storage/indexeddb/index-count.html:
* storage/indexeddb/index-cursor.html:
* storage/indexeddb/index-duplicate-keypaths.html:
* storage/indexeddb/index-get-key-argument-required-expected.txt:
* storage/indexeddb/index-get-key-argument-required.html:
* storage/indexeddb/index-multientry.html:
* storage/indexeddb/index-population.html:
* storage/indexeddb/index-unique.html:
* storage/indexeddb/interfaces.html:
* storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html:
* storage/indexeddb/intversion-bad-parameters-expected.txt:
* storage/indexeddb/intversion-bad-parameters.html:
* storage/indexeddb/intversion-blocked.html:
* storage/indexeddb/intversion-close-between-events.html:
* storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
* storage/indexeddb/intversion-close-in-oncomplete.html:
* storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
* storage/indexeddb/intversion-close-in-upgradeneeded.html:
* storage/indexeddb/intversion-encoding.html:
* storage/indexeddb/intversion-gated-on-delete.html:
* storage/indexeddb/intversion-long-queue-expected.txt:
* storage/indexeddb/intversion-long-queue.html:
* storage/indexeddb/intversion-omit-parameter.html:
* storage/indexeddb/intversion-open-in-upgradeneeded.html:
* storage/indexeddb/intversion-open-with-version.html:
* storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-ascending.html: Added.
* storage/indexeddb/intversion-pending-version-changes-descending-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-descending.html: Added.
* storage/indexeddb/intversion-pending-version-changes-same-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-same.html: Added.
* storage/indexeddb/intversion-persistence.html:
* storage/indexeddb/intversion-revert-on-abort.html:
* storage/indexeddb/intversion-two-opens-no-versions.html:
* storage/indexeddb/intversion-upgrades-expected.txt:
* storage/indexeddb/intversion-upgrades.html:
* storage/indexeddb/invalid-keys-expected.txt:
* storage/indexeddb/invalid-keys.html:
* storage/indexeddb/key-generator.html:
* storage/indexeddb/key-sort-order-across-types.html:
* storage/indexeddb/key-sort-order-date.html:
* storage/indexeddb/key-type-array-expected.txt:
* storage/indexeddb/key-type-array.html:
* storage/indexeddb/key-type-binary-expected.txt: Added.
* storage/indexeddb/key-type-binary.html: Added.
* storage/indexeddb/key-type-infinity.html:
* storage/indexeddb/keypath-arrays-expected.txt:
* storage/indexeddb/keypath-arrays.html:
* storage/indexeddb/keypath-basics-expected.txt:
* storage/indexeddb/keypath-basics.html:
* storage/indexeddb/keypath-edges-expected.txt:
* storage/indexeddb/keypath-edges.html:
* storage/indexeddb/keypath-fetch-key.html:
* storage/indexeddb/keypath-intrinsic-properties.html:
* storage/indexeddb/keyrange-expected.txt:
* storage/indexeddb/keyrange-required-arguments-expected.txt:
* storage/indexeddb/keyrange-required-arguments.html:
* storage/indexeddb/keyrange.html:
* storage/indexeddb/lazy-index-population-expected.txt:
* storage/indexeddb/lazy-index-population.html:
* storage/indexeddb/lazy-index-types.html:
* storage/indexeddb/legacy-constants.html:
* storage/indexeddb/list-ordering.html:
* storage/indexeddb/metadata-race-expected.txt: Added.
* storage/indexeddb/metadata-race.html: Added.
* storage/indexeddb/metadata.html:
* storage/indexeddb/mutating-cursor.html:
* storage/indexeddb/noblobs-expected.txt:
* storage/indexeddb/noblobs.html:
* storage/indexeddb/object-lookups-in-versionchange-expected.txt:
* storage/indexeddb/object-lookups-in-versionchange.html:
* storage/indexeddb/objectStore-required-arguments-expected.txt:
* storage/indexeddb/objectStore-required-arguments.html:
* storage/indexeddb/objectstore-autoincrement-expected.txt:
* storage/indexeddb/objectstore-autoincrement.html:
* storage/indexeddb/objectstore-basics-expected.txt:
* storage/indexeddb/objectstore-basics-workers-expected.txt:
* storage/indexeddb/objectstore-basics-workers.html:
* storage/indexeddb/objectstore-basics.html:
* storage/indexeddb/objectstore-clear.html:
* storage/indexeddb/objectstore-count-expected.txt:
* storage/indexeddb/objectstore-count.html:
* storage/indexeddb/objectstore-cursor-expected.txt:
* storage/indexeddb/objectstore-cursor.html:
* storage/indexeddb/objectstore-keycursor-expected.txt: Added.
* storage/indexeddb/objectstore-keycursor.html: Added.
* storage/indexeddb/objectstore-removeobjectstore.html:
* storage/indexeddb/odd-strings.html:
* storage/indexeddb/open-bad-versions.html:
* storage/indexeddb/open-cursor-expected.txt:
* storage/indexeddb/open-cursor.html:
* storage/indexeddb/open-during-transaction.html:
* storage/indexeddb/open-ordering.html:
* storage/indexeddb/open-twice-workers.html:
* storage/indexeddb/opencursor-key.html:
* storage/indexeddb/optional-arguments-expected.txt: Added.
* storage/indexeddb/optional-arguments.html: Added.
* storage/indexeddb/pending-activity-workers.html:
* storage/indexeddb/pending-activity.html:
* storage/indexeddb/pending-version-change-on-exit.html:
* storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
* storage/indexeddb/pending-version-change-stuck.html:
* storage/indexeddb/persistence.html:
* storage/indexeddb/prefetch-bugfix-108071-expected.txt:
* storage/indexeddb/prefetch-bugfix-108071.html:
* storage/indexeddb/prefetch-invalidation-expected.txt: Added.
* storage/indexeddb/prefetch-invalidation.html: Added.
* storage/indexeddb/prefetch-race-expected.txt: Added.
* storage/indexeddb/prefetch-race.html: Added.
* storage/indexeddb/queued-commands.html:
* storage/indexeddb/readonly-properties.html:
* storage/indexeddb/readonly.html:
* storage/indexeddb/removed-expected.txt:
* storage/indexeddb/removed.html:
* storage/indexeddb/request-continue-abort.html:
* storage/indexeddb/request-event-propagation.html:
* storage/indexeddb/request-leak-expected.txt: Added.
* storage/indexeddb/request-leak.html: Added.
* storage/indexeddb/request-result-cache-expected.txt: Added.
* storage/indexeddb/request-result-cache.html: Added.
* storage/indexeddb/resources/aborted-versionchange-closes.js:
* storage/indexeddb/resources/basics.js:
* storage/indexeddb/resources/create-and-remove-object-store.js:
* storage/indexeddb/resources/create-object-store-options.js:
* storage/indexeddb/resources/createIndex-after-failure.js:
* storage/indexeddb/resources/createObjectStore-name-argument-required.js:
* storage/indexeddb/resources/createObjectStore-null-name.js:
* storage/indexeddb/resources/cursor-added-bug.js:
* storage/indexeddb/resources/cursor-advance.js:
* storage/indexeddb/resources/cursor-basics.js: Added.
* storage/indexeddb/resources/cursor-continue-dir.js:
* storage/indexeddb/resources/cursor-continue-validity.js:
* storage/indexeddb/resources/cursor-continue.js:
* storage/indexeddb/resources/cursor-continueprimarykey.js: Added.
* storage/indexeddb/resources/cursor-delete.js:
* storage/indexeddb/resources/cursor-inconsistency.js:
* storage/indexeddb/resources/cursor-index-delete.js:
* storage/indexeddb/resources/cursor-key-order.js:
* storage/indexeddb/resources/cursor-prev-no-duplicate.js:
* storage/indexeddb/resources/cursor-primary-key-order.js:
* storage/indexeddb/resources/cursor-properties.js:
* storage/indexeddb/resources/cursor-reverse-bug.js:
* storage/indexeddb/resources/cursor-skip-deleted.js:
* storage/indexeddb/resources/cursor-update-value-argument-required.js:
* storage/indexeddb/resources/cursor-update.js:
* storage/indexeddb/resources/cursor-value.js:
* storage/indexeddb/resources/data-corruption.js:
* storage/indexeddb/resources/database-basics.js:
* storage/indexeddb/resources/database-close.js:
* storage/indexeddb/resources/database-closepending-flag.js:
* storage/indexeddb/resources/database-deletepending-flag.js:
* storage/indexeddb/resources/database-name-undefined.js:
* storage/indexeddb/resources/database-odd-names.js:
* storage/indexeddb/resources/database-quota.js:
* storage/indexeddb/resources/database-wrapper.js:
* storage/indexeddb/resources/delete-closed-database-object.js:
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
* storage/indexeddb/resources/delete-range.js:
* storage/indexeddb/resources/deleteIndex.js:
* storage/indexeddb/resources/deleteObjectStore-name-argument-required.js:
* storage/indexeddb/resources/deleteObjectStore-null-name.js:
* storage/indexeddb/resources/deleted-objects.js:
* storage/indexeddb/resources/deletedatabase-blocked.js:
* storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
* storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:
* storage/indexeddb/resources/deletedatabase-not-blocked.js:
* storage/indexeddb/resources/dont-commit-on-blocked-worker.js:
* storage/indexeddb/resources/dont-wedge.js:
* storage/indexeddb/resources/duplicates.js:
* storage/indexeddb/resources/error-causes-abort-by-default.js:
* storage/indexeddb/resources/events.js:
* storage/indexeddb/resources/exception-in-event-aborts.js:
* storage/indexeddb/resources/exceptions.js:
* storage/indexeddb/resources/factory-basics.js:
* storage/indexeddb/resources/factory-cmp.js:
* storage/indexeddb/resources/factory-deletedatabase.js:
* storage/indexeddb/resources/get-keyrange.js:
* storage/indexeddb/resources/index-basics.js:
* storage/indexeddb/resources/index-count.js:
* storage/indexeddb/resources/index-cursor.js:
* storage/indexeddb/resources/index-duplicate-keypaths.js:
* storage/indexeddb/resources/index-get-key-argument-required.js:
* storage/indexeddb/resources/index-multientry.js:
* storage/indexeddb/resources/index-population.js:
* storage/indexeddb/resources/index-unique.js:
* storage/indexeddb/resources/interfaces.js:
* storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:
* storage/indexeddb/resources/intversion-bad-parameters.js:
* storage/indexeddb/resources/intversion-blocked.js:
* storage/indexeddb/resources/intversion-close-between-events.js:
* storage/indexeddb/resources/intversion-close-in-oncomplete.js:
* storage/indexeddb/resources/intversion-close-in-upgradeneeded.js:
* storage/indexeddb/resources/intversion-encoding.js:
* storage/indexeddb/resources/intversion-gated-on-delete.js:
* storage/indexeddb/resources/intversion-long-queue.js:
* storage/indexeddb/resources/intversion-omit-parameter.js:
* storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
* storage/indexeddb/resources/intversion-open-with-version.js:
* storage/indexeddb/resources/intversion-pending-version-changes-ascending.js: Added.
* storage/indexeddb/resources/intversion-pending-version-changes-descending.js: Added.
* storage/indexeddb/resources/intversion-pending-version-changes-same.js: Added.
* storage/indexeddb/resources/intversion-persistence.js:
* storage/indexeddb/resources/intversion-revert-on-abort.js:
* storage/indexeddb/resources/intversion-two-opens-no-versions.js:
* storage/indexeddb/resources/intversion-upgrades.js:
* storage/indexeddb/resources/invalid-keys.js:
* storage/indexeddb/resources/key-generator.js:
* storage/indexeddb/resources/key-sort-order-across-types.js:
* storage/indexeddb/resources/key-sort-order-date.js:
* storage/indexeddb/resources/key-type-array.js:
* storage/indexeddb/resources/key-type-binary.js: Added.
* storage/indexeddb/resources/key-type-infinity.js:
* storage/indexeddb/resources/keypath-arrays.js:
* storage/indexeddb/resources/keypath-basics.js:
* storage/indexeddb/resources/keypath-edges.js:
* storage/indexeddb/resources/keypath-fetch-key.js:
* storage/indexeddb/resources/keypath-intrinsic-properties.js:
* storage/indexeddb/resources/keyrange-required-arguments.js:
* storage/indexeddb/resources/keyrange.js:
* storage/indexeddb/resources/lazy-index-types.js:
* storage/indexeddb/resources/legacy-constants.js:
* storage/indexeddb/resources/list-ordering.js:
* storage/indexeddb/resources/metadata.js:
* storage/indexeddb/resources/mutating-cursor.js:
* storage/indexeddb/resources/objectStore-required-arguments.js:
* storage/indexeddb/resources/objectstore-autoincrement.js:
* storage/indexeddb/resources/objectstore-basics.js:
* storage/indexeddb/resources/objectstore-clear.js:
* storage/indexeddb/resources/objectstore-count.js:
* storage/indexeddb/resources/objectstore-cursor.js:
* storage/indexeddb/resources/objectstore-keycursor.js:
* storage/indexeddb/resources/objectstore-removeobjectstore.js:
* storage/indexeddb/resources/odd-strings.js:
* storage/indexeddb/resources/open-cursor.js:
* storage/indexeddb/resources/open-during-transaction.js:
* storage/indexeddb/resources/open-ordering.js:
* storage/indexeddb/resources/open-twice.js:
* storage/indexeddb/resources/opencursor-key.js:
* storage/indexeddb/resources/pending-activity.js:
* storage/indexeddb/resources/pending-version-change-on-exit.js:
* storage/indexeddb/resources/pending-version-change-stuck.js:
* storage/indexeddb/resources/persistence.js:
* storage/indexeddb/resources/prefetch-bugfix-108071.js:
* storage/indexeddb/resources/queued-commands.js:
* storage/indexeddb/resources/readonly-properties.js:
* storage/indexeddb/resources/readonly.js:
* storage/indexeddb/resources/removed.js:
* storage/indexeddb/resources/request-continue-abort.js:
* storage/indexeddb/resources/request-event-propagation.js:
* storage/indexeddb/resources/set_version_blocked.js:
* storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
* storage/indexeddb/resources/setversion-not-blocked.js:
* storage/indexeddb/resources/shared.js:
* storage/indexeddb/resources/transaction-abort.js:
* storage/indexeddb/resources/transaction-active-flag.js:
* storage/indexeddb/resources/transaction-after-close.js:
* storage/indexeddb/resources/transaction-and-objectstore-calls.js:
* storage/indexeddb/resources/transaction-basics.js:
* storage/indexeddb/resources/transaction-complete-workers.js:
* storage/indexeddb/resources/transaction-coordination-across-databases.js:
* storage/indexeddb/resources/transaction-coordination-within-database.js:
* storage/indexeddb/resources/transaction-crash-on-abort.js:
* storage/indexeddb/resources/transaction-error.js:
* storage/indexeddb/resources/transaction-event-propagation.js:
* storage/indexeddb/resources/transaction-read-only.js:
* storage/indexeddb/resources/transaction-readwrite-exclusive.js:
* storage/indexeddb/resources/transaction-rollback.js:
* storage/indexeddb/resources/transaction-scope-sequencing.js:
* storage/indexeddb/resources/transaction-starvation.js:
* storage/indexeddb/resources/transaction-storeNames-required.js:
* storage/indexeddb/resources/unblocked-version-changes.js:
* storage/indexeddb/resources/unprefix.js:
* storage/indexeddb/resources/value-undefined.js:
* storage/indexeddb/resources/values-odd-types.js:
* storage/indexeddb/resources/version-change-abort.js:
* storage/indexeddb/resources/version-change-exclusive.js:
* storage/indexeddb/resources/versionchangerequest-activedomobject.js:
* storage/indexeddb/set_version_blocked.html:
* storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
* storage/indexeddb/setversion-blocked-by-versionchange-close.html:
* storage/indexeddb/setversion-not-blocked.html:
* storage/indexeddb/structured-clone-expected.txt:
* storage/indexeddb/structured-clone.html:
* storage/indexeddb/transaction-abort-expected.txt:
* storage/indexeddb/transaction-abort.html:
* storage/indexeddb/transaction-active-flag-expected.txt:
* storage/indexeddb/transaction-active-flag.html:
* storage/indexeddb/transaction-after-close-expected.txt:
* storage/indexeddb/transaction-after-close.html:
* storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
* storage/indexeddb/transaction-and-objectstore-calls.html:
* storage/indexeddb/transaction-basics-expected.txt:
* storage/indexeddb/transaction-basics.html:
* storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
* storage/indexeddb/transaction-complete-with-js-recursion.html:
* storage/indexeddb/transaction-complete-workers-expected.txt:
* storage/indexeddb/transaction-complete-workers.html:
* storage/indexeddb/transaction-coordination-across-databases.html:
* storage/indexeddb/transaction-coordination-within-database.html:
* storage/indexeddb/transaction-crash-in-tasks.html:
* storage/indexeddb/transaction-crash-on-abort.html:
* storage/indexeddb/transaction-error-expected.txt:
* storage/indexeddb/transaction-error.html:
* storage/indexeddb/transaction-event-propagation.html:
* storage/indexeddb/transaction-ordering-expected.txt: Added.
* storage/indexeddb/transaction-ordering.html: Added.
* storage/indexeddb/transaction-read-only-expected.txt:
* storage/indexeddb/transaction-read-only.html:
* storage/indexeddb/transaction-readwrite-exclusive.html:
* storage/indexeddb/transaction-rollback.html:
* storage/indexeddb/transaction-scope-sequencing.html:
* storage/indexeddb/transaction-starvation.html:
* storage/indexeddb/transaction-storeNames-required-expected.txt:
* storage/indexeddb/transaction-storeNames-required.html:
* storage/indexeddb/unblocked-version-changes-expected.txt:
* storage/indexeddb/unblocked-version-changes.html:
* storage/indexeddb/unprefix-workers.html:
* storage/indexeddb/unprefix.html:
* storage/indexeddb/value-undefined.html:
* storage/indexeddb/values-odd-types.html:
* storage/indexeddb/version-change-abort-expected.txt:
* storage/indexeddb/version-change-abort.html:
* storage/indexeddb/version-change-exclusive-expected.txt:
* storage/indexeddb/version-change-exclusive.html:
* storage/indexeddb/versionchangerequest-activedomobject.html:

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

5 years agoMove renderNamedFlowThreadWrapper() to RenderElement.
akling@apple.com [Wed, 12 Feb 2014 01:55:40 +0000 (01:55 +0000)]
Move renderNamedFlowThreadWrapper() to RenderElement.
<https://webkit.org/b/128634>

This function is only ever called on RenderElements so move it there
from RenderObject.

Reviewed by Antti Koivisto.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::renderNamedFlowThreadWrapper):
* rendering/RenderElement.h:
* rendering/RenderObject.cpp:
* rendering/RenderObject.h:

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

5 years agoPosition and thickness of underline as text size changes
mmaxfield@apple.com [Wed, 12 Feb 2014 01:54:19 +0000 (01:54 +0000)]
Position and thickness of underline as text size changes
https://bugs.webkit.org/show_bug.cgi?id=16768

Source/WebCore:

Reviewed by Dean Jackson.

This patch adopts the iOS codepath for underlines. It also reorganizes
drawLineForText to avoid a costly global state save & restore.

Test: fast/css3-text/css3-text-decoration/text-decoration-thickness.html

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::computeLineBoundsAndAntialiasingModeForText):
(WebCore::GraphicsContext::computeLineBoundsForText):
(WebCore::GraphicsContext::drawLineForText):
(WebCore::GraphicsContext::drawLinesForText):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):

LayoutTests:

This test draws underlined text at a very large font size. It then positions and clips
the text so that the underline should fill a box if the underline grows in proportion
to text size. The comparison is to a box that has its background color set.

Reviewed by Dean Jackson.

* fast/css3-text/css3-text-decoration/text-decoration-thickness-expected.html: Added.
* fast/css3-text/css3-text-decoration/text-decoration-thickness.html: Added.

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

5 years agoFrame::rectForSelection shouldn't instantiate FrameSelection
rniwa@webkit.org [Wed, 12 Feb 2014 01:53:03 +0000 (01:53 +0000)]
Frame::rectForSelection shouldn't instantiate FrameSelection
https://bugs.webkit.org/show_bug.cgi?id=128587

Reviewed by Enrica Casucci.

Source/WebCore:

Made VisiblePosition::absoluteCaretBounds more interoperable with the one in FrameSelection and made
iOS's Frame::rectForScrollToVisible use that function instead.

The above change allows us to remove:
- suppressCloseTyping(), restoreCloseTyping(), and m_closeTypingSuppressions in FrameSelection
- suppressSelectionNotifications() and restoreSelectionNotifications() in EditorClient

See inline comments below for more details.

* Source/WebCore/WebCore.exp.in:

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::CaretBase::updateCaretRect):
(WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
(WebCore::DragCaretController::caretRenderer):
(WebCore::repaintCaretForLocalRect):
(WebCore::FrameSelection::recomputeCaretRect): Merged FrameSelection::localCaretRect(). Modified
the code to update caretNode when and only when caret rect is updated. Also added an assertion to
ensure absoluteCaretBounds() on FrameSelection and VisiblePosition yield the same result.

(WebCore::CaretBase::paintCaret):
* editing/FrameSelection.h:

* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::absoluteCaretBounds): Fixed the bug where the old code wasn't respecting
the convention to use containing block as the renderer to paint caret.

* editing/htmlediting.cpp:
(WebCore::caretRendersInsideNode): Moved from FrameSelection.cpp.
(WebCore::rendererForCaretPainting): Ditto and renamed from caretRenderer.
(WebCore::localCaretRectInRendererForCaretPainting): Extracted from FrameSelection::updateCaretRect.
(WebCore::absoluteBoundsForLocalCaretRect): Ditto from CaretBase::absoluteBoundsForLocalRect.
* editing/htmlediting.h:

* loader/EmptyClients.h:
* page/EditorClient.h:
* page/Frame.h:

* page/ios/FrameIOS.mm:
(WebCore::Frame::rectForScrollToVisible): Reimplemented in its simplest form using VisiblePosition's
absoluteCaretBounds().

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::WebEditorClient):
(WebEditorClient::respondToChangedSelection):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:

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

5 years agoSupport WebSelections in WK2 on iOS.
enrica@apple.com [Wed, 12 Feb 2014 01:10:21 +0000 (01:10 +0000)]
Support WebSelections in WK2 on iOS.
https://bugs.webkit.org/show_bug.cgi?id=127015
<rdar://problem/15211964>

Reviewed by Benjamin Poulain.

Source/WebCore:

Adding few exports.

* WebCore.exp.in:

Source/WebKit2:

First step towards implementing block selections on iOS.
The main logic is in rangeForWebSelectionAtPosition that
decides whether we create a text or a block selection.

* Shared/ios/WKGestureTypes.h:
* UIProcess/API/ios/WKInteractionView.mm:
(toUIWKSelectionFlags):
(selectionChangedWithGesture):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::selectWithGesture):
(WebKit::WebPage::getPositionInformation):

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

5 years agoWeb Replay: upstream replay input code generator and EncodedValue class
bburg@apple.com [Wed, 12 Feb 2014 00:22:01 +0000 (00:22 +0000)]
Web Replay: upstream replay input code generator and EncodedValue class
https://bugs.webkit.org/show_bug.cgi?id=128215

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Add the replay inputs code generator. Most features of the input generator are
exercised by included generator regression tests, which produce useful but
non-compilable test replay inputs.

Add EncodedValue, the main replay input serialization class that encodes and
decodes inputs and their data between C++ types and the JSON-based replay recording
format. EncodedValue uses EncodingTraits specializations for type-specific encoding.
Relative to other WebKit marshalling mechanisms, EncodedValue is key/value based.
EncodedValue uses InspectorValue subclasses as its backing data structure.

Add some missing numerical conversions to InspectorValue.

* JavaScriptCore.xcodeproj/project.pbxproj:
* inspector/InspectorValues.cpp:
(Inspector::InspectorValue::asNumber):
(Inspector::InspectorBasicValue::asNumber):
* inspector/InspectorValues.h:
* replay/EncodedValue.cpp: Added.
(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::ScalarEncodingTraits<bool>::encodeValue):
(JSC::ScalarEncodingTraits<double>::encodeValue):
(JSC::ScalarEncodingTraits<float>::encodeValue):
(JSC::ScalarEncodingTraits<int32_t>::encodeValue):
(JSC::ScalarEncodingTraits<int64_t>::encodeValue):
(JSC::ScalarEncodingTraits<uint32_t>::encodeValue):
(JSC::ScalarEncodingTraits<uint64_t>::encodeValue):
(JSC::long>::encodeValue):
(JSC::EncodedValue::convertTo<bool>):
(JSC::EncodedValue::convertTo<double>):
(JSC::EncodedValue::convertTo<float>):
(JSC::EncodedValue::convertTo<int32_t>):
(JSC::EncodedValue::convertTo<int64_t>):
(JSC::EncodedValue::convertTo<uint32_t>):
(JSC::EncodedValue::convertTo<uint64_t>):
(JSC::long>):
(JSC::EncodedValue::convertTo<String>):
(JSC::EncodedValue::put<EncodedValue>):
(JSC::EncodedValue::append<EncodedValue>):
(JSC::EncodedValue::get<EncodedValue>):
* replay/EncodedValue.h: Added.
(JSC::EncodedValue::EncodedValue):
(JSC::EncodedValue::createObject):
(JSC::EncodedValue::createArray):
(JSC::EncodedValue::createString):
(JSC::EncodedValue::~EncodedValue):
(JSC::ScalarEncodingTraits::decodeValue):
(JSC::EncodingTraits<String>::encodeValue):
(JSC::EncodedValue::put):
(JSC::EncodedValue::append):
(JSC::EncodedValue::get):
* replay/scripts/CodeGeneratorReplayInputs.py: Added.
(ParseException):
(TypecheckException):
(Framework):
(Framework.__init__):
(Framework.setting):
(Framework.fromString):
(Frameworks):
(InputQueue):
(InputQueue.__init__):
(InputQueue.setting):
(InputQueue.fromString):
(InputQueues):
(Input):
(Input.__init__):
(Input.setting):
(InputMember):
(InputMember.__init__):
(InputMember.has_flag):
(TypeMode):
(TypeMode.__init__):
(TypeMode.fromString):
(TypeModes):
(Type):
(Type.__init__):
(Type.__eq__):
(Type.__hash__):
(Type.has_flag):
(Type.is_struct):
(Type.is_enum):
(Type.is_enum_class):
(Type.declaration_kind):
(Type.qualified_prefix):
(Type.qualified_prefix.is):
(Type.type_name):
(Type.storage_type):
(Type.borrow_type):
(Type.argument_type):
(check_properties):
(VectorType):
(VectorType.__init__):
(VectorType.has_flag):
(VectorType.is_struct):
(VectorType.is_enum):
(VectorType.is_enum_class):
(VectorType.qualified_prefix):
(VectorType.type_name):
(VectorType.argument_type):
(InputsModel):
(InputsModel.__init__):
(InputsModel.enum_types):
(InputsModel.get_type_for_member):
(InputsModel.parse_toplevel):
(InputsModel.parse_type_with_framework_name):
(InputsModel.parse_input):
(InputsModel.typecheck):
(InputsModel.typecheck_type):
(InputsModel.typecheck_input):
(InputsModel.typecheck_input_member):
(IncrementalFileWriter):
(IncrementalFileWriter.__init__):
(IncrementalFileWriter.write):
(IncrementalFileWriter.close):
(lcfirst):
(wrap_with_guard):
(Generator):
(Generator.__init__):
(Generator.setting):
(Generator.output_filename):
(Generator.write_output_files):
(Generator.generate_header):
(Generator.generate_implementation):
(Generator.generate_license):
(Generator.generate_includes):
(Generator.generate_includes.declaration):
(Generator.generate_includes.declaration.is):
(Generator.generate_type_forward_declarations):
(Generator.generate_type_forward_declarations.is):
(Generator.generate_class_declaration):
(Generator.generate_input_constructor_declaration):
(Generator.generate_input_destructor_declaration):
(Generator.generate_input_member_getter):
(Generator.generate_input_member_declaration):
(Generator.generate_input_member_tuples):
(Generator.qualified_input_name):
(Generator.generate_input_trait_declaration):
(Generator.generate_enum_trait_declaration):
(Generator.generate_for_each_macro):
(Generator.generate_class_implementation):
(Generator.generate_enum_trait_implementation):
(Generator.generate_enum_trait_implementation.is):
(Generator.generate_input_trait_implementation):
(Generator.generate_input_encode_implementation):
(Generator.generate_input_decode_implementation):
(Generator.generate_constructor_initializer_list):
(Generator.generate_constructor_formals_list):
(Generator.generate_member_borrow_expression):
(Generator.generate_member_move_expression):
(Generator.generate_constructor_arguments_list):
(generate_from_specification):
* replay/scripts/CodeGeneratorReplayInputsTemplates.py: Added.
(Templates):
* replay/scripts/tests/expected/JSInputs.json-TestReplayInputs.cpp: Added.
* replay/scripts/tests/expected/JSInputs.json-TestReplayInputs.h: Added.
* replay/scripts/tests/expected/fail-on-c-style-enum-no-storage.json-error: Added.
* replay/scripts/tests/expected/fail-on-duplicate-input-names.json-error: Added.
* replay/scripts/tests/expected/fail-on-duplicate-type-names.json-error: Added.
* replay/scripts/tests/expected/fail-on-enum-type-missing-values.json-error: Added.
* replay/scripts/tests/expected/fail-on-missing-input-member-name.json-error: Added.
* replay/scripts/tests/expected/fail-on-missing-input-name.json-error: Added.
* replay/scripts/tests/expected/fail-on-missing-input-queue.json-error: Added.
* replay/scripts/tests/expected/fail-on-missing-type-mode.json-error: Added.
* replay/scripts/tests/expected/fail-on-missing-type-name.json-error: Added.
* replay/scripts/tests/expected/fail-on-no-inputs.json-error: Added.
* replay/scripts/tests/expected/fail-on-no-types.json-error: Added.
* replay/scripts/tests/expected/fail-on-unknown-input-queue.json-error: Added.
* replay/scripts/tests/expected/fail-on-unknown-member-type.json-error: Added.
* replay/scripts/tests/expected/fail-on-unknown-type-mode.json-error: Added.
* replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.cpp: Added.
* replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.h: Added.
* replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.cpp: Added.
* replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h: Added.
* replay/scripts/tests/expected/generate-enum-encoding-helpers.json-error: Added.
* replay/scripts/tests/expected/generate-event-loop-shape-types.json-error: Added.
* replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.cpp: Added.
* replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.h: Added.
* replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.cpp: Added.
* replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.h: Added.
* replay/scripts/tests/expected/generate-inputs-with-flags.json-error: Added.
* replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.cpp: Added.
* replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.h: Added.
* replay/scripts/tests/fail-on-c-style-enum-no-storage.json: Added.
* replay/scripts/tests/fail-on-duplicate-input-names.json: Added.
* replay/scripts/tests/fail-on-duplicate-type-names.json: Added.
* replay/scripts/tests/fail-on-enum-type-missing-values.json: Added.
* replay/scripts/tests/fail-on-missing-input-member-name.json: Added.
* replay/scripts/tests/fail-on-missing-input-name.json: Added.
* replay/scripts/tests/fail-on-missing-input-queue.json: Added.
* replay/scripts/tests/fail-on-missing-type-mode.json: Added.
* replay/scripts/tests/fail-on-missing-type-name.json: Added.
* replay/scripts/tests/fail-on-no-inputs.json: Added.
* replay/scripts/tests/fail-on-no-types.json: Added.
* replay/scripts/tests/fail-on-unknown-input-queue.json: Added.
* replay/scripts/tests/fail-on-unknown-member-type.json: Added.
* replay/scripts/tests/fail-on-unknown-type-mode.json: Added.
* replay/scripts/tests/generate-enum-encoding-helpers-with-guarded-values.json: Added.
* replay/scripts/tests/generate-enum-encoding-helpers.json: Added.
* replay/scripts/tests/generate-event-loop-shape-types.json: Added.
* replay/scripts/tests/generate-input-with-guard.json: Added.
* replay/scripts/tests/generate-input-with-vector-members.json: Added.
* replay/scripts/tests/generate-inputs-with-flags.json: Added.
* replay/scripts/tests/generate-memoized-type-modes.json: Added.

Tools:

Add an executable script to launch the replay input generator tests.
Add a test harness for running the code generator tests, mostly taken
from the bindings test harness (but simplified).

* Scripts/run-input-generator-tests: Added.
(main):
* Scripts/webkitpy/replay/__init__.py: Added.
* Scripts/webkitpy/replay/main.py: Added.
(InputGeneratorTests):
(InputGeneratorTests.__init__):
(InputGeneratorTests.generate_from_json):
(InputGeneratorTests.write_error_file):
(InputGeneratorTests.detect_changes):
(InputGeneratorTests.run_tests):
(InputGeneratorTests.main):

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

5 years agoCTTE: RenderNamedFlowThread always has a WebKitNamedFlow.
akling@apple.com [Wed, 12 Feb 2014 00:08:16 +0000 (00:08 +0000)]
CTTE: RenderNamedFlowThread always has a WebKitNamedFlow.
<https://webkit.org/b/128623>

Codify the fact that RenderNamedFlowThread always has a corresponding
WebKitNamedFlow by storing it in a Ref, and adding an accessor that
returns a reference to get rid of all the ->'s.

Also removed some unnecessary assertions exposed by this.

Reviewed by Antti Koivisto.

* dom/NamedFlowCollection.cpp:
(WebCore::NamedFlowCollection::ensureFlowWithName):
* dom/NamedFlowCollection.h:
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::flowThreadName):
(WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
(WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEvent):
(WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired):
(WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
(WebCore::RenderNamedFlowThread::setMarkForDestruction):
(WebCore::RenderNamedFlowThread::resetMarkForDestruction):
(WebCore::RenderNamedFlowThread::isMarkedForDestruction):
* rendering/RenderNamedFlowThread.h:

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

5 years agoSource/WebCore: Convert position:fixed property to position:absolute upon copy
mmaxfield@apple.com [Wed, 12 Feb 2014 00:06:01 +0000 (00:06 +0000)]
Source/WebCore: Convert position:fixed property to position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

This adds a Setting and Preference that allows clients to opt-in to this behavior.

This new behavior is only activated if the entire body is copied. If there is a position:fixed
element in the copied selection, it is replaced with position:absolute, and a containing
block (position:relative) is wrapped around the copied text.

This patch originally converted position:-webkit-sticky to position:relative. However, we
currently don't support copying and pasting of position:-webkit-sticky content (See below).
Therefore, this patch only deals with position:fixed.

Right now we don't copy position:-webkit-sticky. This is because:
1. When copying styled elements, we parse the style properties again
2. CSSParserContext has a flag which can disable parsing -webkit-sticky
3. There are two constructors to CSSParserContext: one that takes a document and sets up the
aforementioned flag, and a simple one that doesn't take a document and sets all the enableFoo
flags to false
4. At the relevant place within copy code, we are far removed from the Document object, so we
instead call the second constructor, thereby disabling parsing of -webkit-sticky

Test: editing/pasteboard/copy-paste-converts-sticky-and-fixed.html

* WebCore.exp.in: Export the Setting setter
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::convertFixedAndStickyPosition): Converts a single style
* editing/EditingStyle.h:
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Remember if we found
an element which needs the position:relative containing block
(WebCore::StyledMarkupAccumulator::appendElement): Surround with the position:relative
containing block if necessary
(WebCore::createMarkupInternal):
* page/Settings.cpp:
(WebCore::Settings::Settings): New setting to opt-in to this new behavior
(WebCore::Settings::setConvertPositionStyleOnCopy):
* page/Settings.h:
(WebCore::Settings::convertPositionStyleOnCopy):
* testing/InternalSettings.cpp: Allow setting the setting from a Layout Test
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setConvertPositionStyleOnCopy):
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

Source/WebKit/mac: Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences convertPositionStyleOnCopy]):
(-[WebPreferences setConvertPositionStyleOnCopy:]):
* WebView/WebPreferencesPrivate.h: Opt-in to new behavior
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2: Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetConvertPositionStyleOnCopy):
(WKPreferencesGetConvertPositionStyleOnCopy):
* UIProcess/API/C/WKPreferencesPrivate.h: Opt-in to new behavior
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

LayoutTests: Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

Checks that the style properties get converted.

* editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt: Added.
* editing/pasteboard/copy-paste-converts-sticky-and-fixed.html: Added.

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

5 years agoXMLHttpRequest should not send DNT header
commit-queue@webkit.org [Wed, 12 Feb 2014 00:02:31 +0000 (00:02 +0000)]
XMLHttpRequest should not send DNT header
https://bugs.webkit.org/show_bug.cgi?id=128533

Patch by Youenn Fablet <youennf@gmail.com> on 2014-02-11
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Added DNT (Do Not Track) header to the list of forbidden headers.
Updated http/tests/xmlhttprequest/set-dangerous-headers.html to test that header.

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):

LayoutTests:

Updated http/tests/xmlhttprequest/set-dangerous-headers.html to test that DNT header is not sent.

* http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
* http/tests/xmlhttprequest/set-dangerous-headers.html:

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

5 years agoBring third-party app cache blocking behavior in line with private browsing app cache...
jpfau@apple.com [Tue, 11 Feb 2014 23:07:49 +0000 (23:07 +0000)]
Bring third-party app cache blocking behavior in line with private browsing app cache blocking behavior
https://bugs.webkit.org/show_bug.cgi?id=128557

Reviewed by Alexey Proskuryakov.

Source/WebCore:

* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::cacheForMainRequest):
(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
(WebCore::ApplicationCacheGroup::update):
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadMainResource):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
(WebCore::ApplicationCacheHost::maybeLoadResource):
(WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
(WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):
* loader/appcache/ApplicationCacheHost.h:

LayoutTests:

* http/tests/security/resources/cross-origin-iframe-for-appcache-allowed.html:
* http/tests/security/resources/cross-origin-iframe-for-appcache.html:
* http/tests/security/resources/same-origin-iframe-for-appcache-blocked.html:

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

5 years agoWeb Inspector: AX: Accessibility Node Inspection
joepeck@webkit.org [Tue, 11 Feb 2014 23:05:06 +0000 (23:05 +0000)]
Web Inspector: AX: Accessibility Node Inspection
https://bugs.webkit.org/show_bug.cgi?id=127447

Patch by James Craig <jcraig@apple.com> on 2014-02-11
Reviewed by Chris Fleizach.

Resolving build failure caused by r163891.

* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::computedRoleString):

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

5 years agoIDB: The test after storage/indexeddb/mozilla/object-identity.html fails in cleanup...
beidson@apple.com [Tue, 11 Feb 2014 23:01:09 +0000 (23:01 +0000)]
IDB: The test after storage/indexeddb/mozilla/object-identity.html fails in cleanup code
<rdar://problem/16040663> and https://bugs.webkit.org/show_bug.cgi?id=128621

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Covered by storage/indexeddb/mozilla/object-identity.html.

* Modules/indexeddb/IDBTransactionBackend.cpp:
(WebCore::IDBTransactionBackend::abort): Clear the m_database pointer before calling the onAbort callback.
(WebCore::IDBTransactionBackend::commit): Don't run the abort code if there's no m_database pointer.

LayoutTests:

* platform/mac-wk2/TestExpectations: Enabled all of the storage/indexeddb/mozilla tests except 1.

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

5 years agoUnreviewed. Fix typo in layout test introduced in r163811.
rego@igalia.com [Tue, 11 Feb 2014 22:56:25 +0000 (22:56 +0000)]
Unreviewed. Fix typo in layout test introduced in r163811.

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-02-11

* inspector-protocol/debugger/hit-breakpoint-from-console.html:

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

5 years ago[Windows] Set ENABLE_CSS_SHAPE_INSIDE feature flag on Windows.
roger_fong@apple.com [Tue, 11 Feb 2014 22:00:14 +0000 (22:00 +0000)]
[Windows] Set ENABLE_CSS_SHAPE_INSIDE feature flag on Windows.

* win/tools/vsprops/FeatureDefines.props:

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

5 years ago[WK2] Rename screenToWindow to screenToRootView and windowToScreen to rootViewToScreen
benjamin@webkit.org [Tue, 11 Feb 2014 21:56:24 +0000 (21:56 +0000)]
[WK2] Rename screenToWindow to screenToRootView and windowToScreen to rootViewToScreen
https://bugs.webkit.org/show_bug.cgi?id=128575

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-11
Reviewed by Darin Adler.

In WebKit2, screenToRootView and rootViewToScreen were named screenToWindow and windowToScreen.
Those names were fine on ports were FrameView correspond to the scrollview, but they do not apply on iOS.

This patch renames screenToWindow and windowToScreen to their more generic WebCore counterpart.

* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):
* UIProcess/API/gtk/PageClientImpl.h:
* UIProcess/API/ios/PageClientImplIOS.h:
* UIProcess/API/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):
* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::screenToRootView):
(WebKit::WebView::rootViewToScreen):
* UIProcess/CoordinatedGraphics/WebView.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::screenToRootView):
(WebKit::WebPageProxy::rootViewToScreen):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::screenToRootView):
(WebKit::WebChromeClient::rootViewToScreen):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::screenToRootView):
(WebKit::WebPage::rootViewToScreen):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
(-[WKAccessibilityWebPageObject _convertScreenPointToRootView:]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):

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

5 years ago[EME][Mac] Move the implementation of CDMPrivateAVFoundation back into MediaPlayerPri...
jer.noble@apple.com [Tue, 11 Feb 2014 21:50:21 +0000 (21:50 +0000)]
[EME][Mac] Move the implementation of CDMPrivateAVFoundation back into MediaPlayerPrivateAVFoundationObjC.
https://bugs.webkit.org/show_bug.cgi?id=128559

Reviewed by Dean Jackson.

To prepare for multiple simultaneous CDMs with muliple MediaPlayer types, move the implementation for
CDMPrivateAVFoundation back into its media engine.

* Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
(WebCore::MediaKeyExceptionToErrorCode): Added.
(WebCore::CDMSessionAVFoundation::generateKeyRequest): Moved to MediaPlayerPrivateAVFoundationObjC.
(WebCore::CDMSessionAVFoundation::releaseKeys): Ditto.
(WebCore::CDMSessionAVFoundation::update): Ditto.
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::generateKeyRequest): Added, pass through to MediaPlayerPrivate.
(WebCore::MediaPlayer::releaseKeys): Ditto.
(WebCore::MediaPlayer::update): Ditto.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::generateKeyRequest): Added.
(WebCore::MediaPlayerPrivateInterface::releaseKeys): Ditto.
(WebCore::MediaPlayerPrivateInterface::update): Ditto.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::generateKeyRequest): Moved from CDMSessionAVFoundation.
(WebCore::MediaPlayerPrivateAVFoundationObjC::releaseKeys): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::update): Ditto.

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

5 years agoRun UserAgentScripts through jsmin rather than the css preprocessor
jer.noble@apple.com [Tue, 11 Feb 2014 21:36:06 +0000 (21:36 +0000)]
Run UserAgentScripts through jsmin rather than the css preprocessor
https://bugs.webkit.org/show_bug.cgi?id=127559

Reviewed by Tim Horton.

User Agent JavaScript files were being run through the c++ preprocessor to strip out
comments (and presumably to allow #if ENABLE macros, though that feature is entirely
unused). This had the side effect of removing important whitespace, namely newlines where
there would normally be an implicit semicolon.

Instead, .js files will now be run through the jsmin minifier, used by the inspector.
Jsmin will also strip comments and whitespace, but in a syntactically aware way which will
keep newlines when their presence adds an implied semicolon.

* DerivedSources.make:
* Scripts/make-js-file-arrays.py: Added.
(stringifyCodepoint):
(chunk):
(main):

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

5 years ago[Mac] connection:willStopBufferingData: no longer exists in NSURLConnectionDelegate
aestes@apple.com [Tue, 11 Feb 2014 21:28:55 +0000 (21:28 +0000)]
[Mac] connection:willStopBufferingData: no longer exists in NSURLConnectionDelegate
https://bugs.webkit.org/show_bug.cgi?id=128583

Reviewed by Anders Carlsson.

The delegate method was removed in Snow Leopard.

Source/WebCore:

* loader/ResourceLoader.cpp:
* loader/ResourceLoader.h:
* platform/network/ResourceHandleClient.h:
* platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

Source/WebKit/mac:

* Misc/WebDownload.mm:

Source/WebKit2:

* NetworkProcess/NetworkResourceLoader.cpp:
* NetworkProcess/NetworkResourceLoader.h:

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

5 years ago[Content Filter] Check for NULL before calling dispatch_release()
aestes@apple.com [Tue, 11 Feb 2014 21:28:51 +0000 (21:28 +0000)]
[Content Filter] Check for NULL before calling dispatch_release()
https://bugs.webkit.org/show_bug.cgi?id=128576

Reviewed by Darin Adler.

m_neFilterSourceQueue will be NULL if NEFilterSource isn't enabled, and
passing NULL to dispatch_release() is undefined.

* platform/mac/ContentFilterMac.mm:
(WebCore::ContentFilter::~ContentFilter):

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

5 years agoSource/WebKit: Fixed linking on Win64.
alex.christensen@flexsim.com [Tue, 11 Feb 2014 21:23:26 +0000 (21:23 +0000)]
Source/WebKit: Fixed linking on Win64.
https://bugs.webkit.org/show_bug.cgi?id=128211

Reviewed by Brent Fulgham.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Corrected Win64 linker symbols.

Source/WebKit/win: Fixed pointer truncation on Win64.
https://bugs.webkit.org/show_bug.cgi?id=128211

Reviewed by Brent Fulgham.

* WebCoreSupport/EmbeddedWidget.cpp:
(EmbeddedWidget::createWindow):
* WebCoreSupport/WebContextMenuClient.cpp:
(WebContextMenuClient::customizeMenu):
* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::createPlugin):
* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::openInspectorFrontend):
(WebInspectorClient::highlight):
(WebInspectorClient::releaseFrontend):
(WebInspectorFrontendClient::setAttachedWindowHeight):
(WebInspectorFrontendClient::closeWindowWithoutNotifications):
* WebCoreSupport/WebInspectorClient.h:
* WebDropSource.cpp:
(generateMouseEvent):
* WebFrame.cpp:
(WebFrame::createSubframeWithOwnerElement):
(WebFrame::initWithWebView):
Removed all casts from &HWND to OLE_HANDLE*.

Tools: Fixed pointer truncation on Win64.
https://bugs.webkit.org/show_bug.cgi?id=128211

Reviewed by Brent Fulgham.

* DumpRenderTree/win/AccessibilityControllerWin.cpp:
(AccessibilityController::rootElement):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setWindowIsKey):
Removed all casts from &HWND to OLE_HANDLE*.

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

5 years ago[MediaControls] Allow the media controls script to be debuggable by giving it a gener...
jer.noble@apple.com [Tue, 11 Feb 2014 21:14:16 +0000 (21:14 +0000)]
[MediaControls] Allow the media controls script to be debuggable by giving it a generated sourceURL
https://bugs.webkit.org/show_bug.cgi?id=127560

Reviewed by Eric Carlson.

When evaluating a script through ScriptController, if that script does not have an
explicit sourceURL, it will not appear in the resources section of the Web Inspector.
For debug builds only, give the media controls script a generated (i.e. fake) sourceURL.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):

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

5 years agoAX: Add text replacement activity support to NSAccessibilitySelectTextWithCriteriaPar...
samuel_white@apple.com [Tue, 11 Feb 2014 20:44:03 +0000 (20:44 +0000)]
AX: Add text replacement activity support to NSAccessibilitySelectTextWithCriteriaParameterizedAttribute.
https://bugs.webkit.org/show_bug.cgi?id=128397

Reviewed by Chris Fleizach.

Source/WebCore:

Added text replacement support for the AXSelectTextWithCriteria parameterized attribute.

No new test. Updated platform/mac/accessibility/select-text.html to test the added functionality.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::selectText):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilitySelectTextCriteria::AccessibilitySelectTextCriteria):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):

Tools:

Updated testing methods to accept a replacement string. This enables us to test text
replacement support for the AXSelectTextWithCriteria parameterized attribute.

* DumpRenderTree/AccessibilityUIElement.cpp:
(selectTextWithCriteriaCallback):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::selectTextWithCriteria):
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::selectTextWithCriteria):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(selectTextParameterizedAttributeForCriteria):
(AccessibilityUIElement::selectTextWithCriteria):
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::selectTextWithCriteria):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::selectTextWithCriteria):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::selectTextWithCriteria):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::selectTextWithCriteria):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::selectTextParameterizedAttributeForCriteria):
(WTR::AccessibilityUIElement::selectTextWithCriteria):

LayoutTests:

Updated test and expectations to handle text replacement.

* platform/mac/accessibility/select-text-expected.txt:
* platform/mac/accessibility/select-text.html:

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

5 years agoAdd Availability Macros to new JSC APIs
commit-queue@webkit.org [Tue, 11 Feb 2014 20:32:09 +0000 (20:32 +0000)]
Add Availability Macros to new JSC APIs
https://bugs.webkit.org/show_bug.cgi?id=128615

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-11
Reviewed by Mark Rowe.

* API/JSContext.h:
* API/JSContextRef.h:

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

5 years agoFTL should support CompareEq(ObjectOrOther:, Object:)
fpizlo@apple.com [Tue, 11 Feb 2014 20:28:59 +0000 (20:28 +0000)]
FTL should support CompareEq(ObjectOrOther:, Object:)
https://bugs.webkit.org/show_bug.cgi?id=127752

Reviewed by Oliver Hunt.

Also introduce some helpers for reasoning about nullness and truthyness.

* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::speculateTruthyObject):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::isNotNully):
(JSC::FTL::LowerDFGToLLVM::isNully):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
* tests/stress/compare-eq-object-or-other-to-object.js: Added.
(foo):
(test):
* tests/stress/compare-eq-object-to-object-or-other.js: Added.
(foo):
(test):

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

5 years ago[Windows] Unreviewed. Speculative test fix.
roger_fong@apple.com [Tue, 11 Feb 2014 20:26:43 +0000 (20:26 +0000)]
[Windows] Unreviewed. Speculative test fix.

* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::pixelSnappingFactor):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::platformInit):

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

5 years ago[ASan] Fix build failures in Tools due to missing $(inherited) values
ddkilzer@apple.com [Tue, 11 Feb 2014 20:12:30 +0000 (20:12 +0000)]
[ASan] Fix build failures in Tools due to missing $(inherited) values
<http://webkit.org/b/128485>

Reviewed by Dean Jackson.

* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
- Move $(inherited) from OTHER_LDFLAGS_macosx to OTHER_LDFLAGS.

* DumpRenderTree/mac/Configurations/ImageDiff.xcconfig:
* DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig:
- Add $(inherited) to OTHER_LDFLAGS.

* WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
* WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
- Add $(inherited) to OTHER_LDFLAGS, or move from
  OTHER_LDFLAGS_BASE to OTHER_LDFLAGS.
- Extract $(OTHER_LDFLAGS_BASE) from platform-specific settings
  into OTHER_LDFLAGS.

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

5 years agoiOS build fix.
mitz@apple.com [Tue, 11 Feb 2014 19:49:52 +0000 (19:49 +0000)]
iOS build fix.

* platform/ios/TileGrid.mm:
(WebCore::TileGrid::dropTilesBetweenRects):
(WebCore::TileGrid::dropDistantTiles):
(WebCore::TileGrid::dropInvalidTiles):

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

5 years agoIndexedDB tests on some bots are flakey (timeouts)
beidson@apple.com [Tue, 11 Feb 2014 19:31:46 +0000 (19:31 +0000)]
IndexedDB tests on some bots are flakey (timeouts)
<rdar://problem/16038745> and https://bugs.webkit.org/show_bug.cgi?id=128612

Reviewed by Sam Weinig.

Source/WebKit2:

When messing with JSC VM’s and such, always use APIEntryShim instead of JSLockHolder.
*ESPECIALLY* when dealing with multiple threads.

* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):

LayoutTests:

* platform/mac-wk2/TestExpectations: Reenable the tests.

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

5 years agoWeb Inspector: AX: Accessibility Node Inspection
commit-queue@webkit.org [Tue, 11 Feb 2014 19:27:12 +0000 (19:27 +0000)]
Web Inspector: AX: Accessibility Node Inspection
https://bugs.webkit.org/show_bug.cgi?id=127447

Patch by James Craig <jcraig@apple.com> on 2014-02-11
Reviewed by Timothy Hatcher.

Source/WebCore:

New methods supporting WebCore::AccessibilityObject::computedRoleString()
used for Accessibility section in WebInspector Node Inspector. Other updates
support the JSON interface for the WebInspectorUI feature.

Test: accessibility/roles-computedRoleString.html

* accessibility/AccessibilityObject.cpp:
(WebCore::initializeRoleMap):
(WebCore::ariaRoleMap):
(WebCore::reverseAriaRoleMap):
(WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
(WebCore::AccessibilityObject::computedRoleString):
* accessibility/AccessibilityObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper computedRoleString]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
* inspector/InspectorDOMAgent.h:
* inspector/protocol/DOM.json:

Source/WebInspectorUI:

New Accessibility section in WebInspector Node Inspector.
Version 1.0 only shows computed role. Computed label should come soon.

Removed CSS fixed table layout b/c CSS bug: http://webkit.org/b/128294

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/DOMNode.js:
* UserInterface/DOMNodeDetailsSidebarPanel.js:
* UserInterface/DetailsSection.css:
* UserInterface/InspectorWebBackendCommands.js:

Tools:

New computedRoleString interfaces in DumpRenderTree/WebKitTestRunner
to support LayoutTest coverage of AccessibilityObject::computedRoleString()

* DumpRenderTree/AccessibilityUIElement.cpp:
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

LayoutTests:

New layout verifying AccessibilityObject::computedRoleString()

* accessibility/roles-computedRoleString-expected.txt: Added.
* accessibility/roles-computedRoleString.html: Added.

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

5 years agoStop throwing when attempting to read instance properties directly from the prototype
oliver@apple.com [Tue, 11 Feb 2014 18:59:17 +0000 (18:59 +0000)]
Stop throwing when attempting to read instance properties directly from the prototype
https://bugs.webkit.org/show_bug.cgi?id=128568

Reviewed by Mark Lam.

Source/WebCore:

A number of websites expect to be able to access instance properties
directly through the prototype.  This is broken behavior but if we
throw an exception the entire site breaks.  This patch simply makes us
return undefined when reading, and logs the error to the console.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectExcitingAttr):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::jsTestExceptionName):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfaceImplementsStr1):
(WebCore::jsTestInterfaceImplementsStr2):
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::jsTestInterfaceSupplementalStr1):
(WebCore::jsTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::jsTestInterfaceSupplementalNode):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjReadOnlyLongAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjConstructorTestSubObj):
(WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::jsTestObjEnumAttr):
(WebCore::jsTestObjByteAttr):
(WebCore::jsTestObjOctetAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjLongAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjCustomAttr):
(WebCore::jsTestObjWithScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::jsTestObjConditionalAttr4Constructor):
(WebCore::jsTestObjConditionalAttr5Constructor):
(WebCore::jsTestObjConditionalAttr6Constructor):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjAnyAttribute):
(WebCore::jsTestObjContentDocument):
(WebCore::jsTestObjMutablePoint):
(WebCore::jsTestObjImmutablePoint):
(WebCore::jsTestObjStrawberry):
(WebCore::jsTestObjStrictFloat):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::jsTestObjReplaceableAttribute):
(WebCore::jsTestObjNullableDoubleAttribute):
(WebCore::jsTestObjNullableLongAttribute):
(WebCore::jsTestObjNullableBooleanAttribute):
(WebCore::jsTestObjNullableStringAttribute):
(WebCore::jsTestObjNullableLongSettableAttribute):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjAttribute):
(WebCore::jsTestObjAttributeWithReservedEnumType):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::jsTestSerializedScriptValueInterfaceValue):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfacePorts):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsUnsignedLongLongAttr):
(WebCore::jsTestTypedefsImmutableSerializedScriptValue):
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsAttrWithSetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithSetterException):
* bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::jsattributeReadonly):

LayoutTests:

Update tests to match required behavior.

* js/dom/dom-as-prototype-assignment-exception-expected.txt:
* js/dom/script-tests/dom-as-prototype-assignment-exception.js:

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

5 years agoAnimation tests are flaky in Release on EWS, too.
ap@apple.com [Tue, 11 Feb 2014 18:37:33 +0000 (18:37 +0000)]
Animation tests are flaky in Release on EWS, too.

* platform/mac/TestExpectations: Removed [ Debug ] from several animation test
expectations.

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

5 years ago[CSS Grid Layout] Support calc() breadth size type
svillar@igalia.com [Tue, 11 Feb 2014 18:25:05 +0000 (18:25 +0000)]
[CSS Grid Layout] Support calc() breadth size type
https://bugs.webkit.org/show_bug.cgi?id=103761

Reviewed by Dean Jackson.

Source/WebCore:

We now support using calc() in
-webkit-grid-template-{columns|rows}. This means that we now
match the specification and support all the possible ways to
specify the track breadths.

This includes a fix to CSSCalculationValue that was converting
Length values to CalcExpressionNumber and thus removing all the
info regarding length units (px, em, pt...). That's why things
like calc(10px + 20%) were shown as calc(10 + 20%) in
getComputedStyle() output.

* css/CSSCalculationValue.cpp:
(WebCore::CSSCalcPrimitiveValue::toCalcValue):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::zoomAdjustedPixelValueForLength):
(WebCore::specifiedValueForGridTrackBreadth):
(WebCore::specifiedValueForGridTrackSize):
* css/StyleResolver.cpp:
(WebCore::createGridTrackBreadth):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeUsedBreadthOfMinLength):
(WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
(WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):

LayoutTests:

Added some more tests for track breadths specified with calc().

* fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
* fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
* fast/css-grid-layout/grid-columns-rows-get-set.html:
* fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-expected.txt:
* fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html:
* fast/css-grid-layout/non-grid-columns-rows-get-set.html:
* fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
* fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
* fast/css-grid-layout/resources/non-grid-columns-rows-get-set-multiple.js:
* fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:

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

5 years ago32-bit LLInt writeBarrierOnGlobalObject is wrong
mhahnenberg@apple.com [Tue, 11 Feb 2014 18:09:36 +0000 (18:09 +0000)]
32-bit LLInt writeBarrierOnGlobalObject is wrong
https://bugs.webkit.org/show_bug.cgi?id=128556

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm: Also fixed the value check on 64-bit.

Source/WTF:

* wtf/Platform.h: Removed OBJECT_MARK_LOGGING from Platform.h since it already exists in FeatureDefines.h

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

5 years agoStop using PLATFORM(MAC) in WebKit2/Shared except where it means “OS X but not iOS”
mitz@apple.com [Tue, 11 Feb 2014 18:00:45 +0000 (18:00 +0000)]
Stop using PLATFORM(MAC) in WebKit2/Shared except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128582

Reviewed by Darin Adler.

* Shared/API/c/WKContextMenuItem.cpp: Removed workaround for Mac Safari 6 compatibility.
(WKContextMenuItemGetTag):
* Shared/API/c/WKDeprecatedFunctions.cpp: Added && !PLATFORM(IOS), because these functions
are not needed on iOS.
* Shared/API/c/WKSharedAPICast.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::toAPI):
(WebKit::toImpl):
* Shared/APIObject.h: Ditto.
* Shared/ChildProcess.cpp: Ditto.
* Shared/ChildProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA) around
setApplicationIsDaemon and setQOS. Changed it to USE(APPKIT) around stopNSAppRunLoop.
* Shared/CommandLine.h: Changed PLATFORM(MAC) to OS(UNIX) around parse().
* Shared/DictionaryPopupInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::DictionaryPopupInfo::encode):
(WebKit::DictionaryPopupInfo::decode):
* Shared/DictionaryPopupInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* Shared/Downloads/Download.h: Ditto.
* Shared/DrawingAreaInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* Shared/FontInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::FontInfo::encode):
(WebKit::FontInfo::decode):
* Shared/FontInfo.h: Ditto.
* Shared/LayerTreeContext.h: Ditto.
* Shared/NativeWebKeyboardEvent.h: Changed PLATFORM(MAC) to USE(APPKIT) around
forward-declaration of NSView.
* Shared/NativeWebMouseEvent.h: Ditto.
* Shared/NativeWebWheelEvent.h: Ditto.
* Shared/Network/CustomProtocols/Cocoa: Renamed from mac.
* Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: Renamed from CustomProtocolManagerMac.mm.
* Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerMac.mm: Removed.
* Shared/Network/CustomProtocols/CustomProtocolManager.h: Changed PLATFORM(MAC) to
PLATFORM(COCOA).
* Shared/Network/CustomProtocols/mac: Removed.
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Removed.
* Shared/PlatformPopupMenuData.cpp:  Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):
* Shared/PlatformPopupMenuData.h: Ditto.
* Shared/Plugins/Netscape/PluginInformation.cpp: Ditto.
* Shared/Plugins/PluginModuleInfo.h: Ditto.
* Shared/Plugins/PluginProcessCreationParameters.cpp: Ditto.
(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):
* Shared/Plugins/PluginProcessCreationParameters.h: Ditto.
* Shared/PrintInfo.h: Changed PLATFORM(MAC) to USE(APPKIT) around forward declaration of
NSPrintInfo.
* Shared/SandboxInitializationParameters.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* Shared/TextCheckerState.h: Changed PLATFORM(MAC) to USE(APPKIT).
* Shared/WebArchive.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* Shared/WebArchive.h: Ditto.
* Shared/WebArchiveResource.cpp: Ditto.
* Shared/WebArchiveResource.h: Ditto.
* Shared/WebCoreArgumentCoders.cpp: Ditto.
(IPC::ArgumentCoder<ResourceResponse>::encode):
(IPC::ArgumentCoder<ResourceResponse>::decode):
* Shared/WebCoreArgumentCoders.h: Ditto.
* Shared/WebEvent.h: Ditto.
* Shared/WebEventConversion.cpp: Ditto.
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
* Shared/WebKit2Initialize.cpp: Ditto.
(WebKit::InitializeWebKit2):
* Shared/WebPageCreationParameters.cpp: Ditto.
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h: Ditto.
* Shared/WebPreferencesStore.h: Ditto.
* Shared/WebProcessCreationParameters.cpp: Ditto.
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h: Ditto.
* Shared/WebWheelEvent.cpp: Ditto.
(WebKit::WebWheelEvent::WebWheelEvent):
(WebKit::WebWheelEvent::encode):
(WebKit::WebWheelEvent::decode):
* Shared/cf/ArgumentCodersCF.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION).
(IPC::decode):
* Shared/mac/CommandLineMac.cpp: Removed.
* Shared/mac/PDFKitImports.h: Removed PLATFORM(MAC)
* Shared/posix: Added.
* Shared/posix/CommandLinePOSIX.cpp: Renamed from mac/CommandLineMac.cpp and removed
comment.
* WebKit2.xcodeproj/project.pbxproj: Updated for moves and renames.

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

5 years ago[WinCairo] Compile error related to toString function.
commit-queue@webkit.org [Tue, 11 Feb 2014 17:50:52 +0000 (17:50 +0000)]
[WinCairo] Compile error related to toString function.
https://bugs.webkit.org/show_bug.cgi?id=128607

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-11
Reviewed by Brent Fulgham.

* WebView.cpp:
(toString): Added another toString function to make sure we are not trying to use WTF::toString.

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

5 years agoiOS build fix.
ap@apple.com [Tue, 11 Feb 2014 17:36:10 +0000 (17:36 +0000)]
iOS build fix.

* WebCoreSupport/WebChromeClient.mm: Fixed incorrectly nested ifdefs.

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