WebKit-https.git
5 years agoChange tools.html to say Xcode 5 is required to build
bjonesbe@adobe.com [Mon, 10 Feb 2014 21:45:13 +0000 (21:45 +0000)]
Change tools.html to say Xcode 5 is required to build
https://bugs.webkit.org/show_bug.cgi?id=128545

Reviewed by Andreas Kling.

The Mac port doesn't build with Xcode 4.6 anymore, so update to tell
people to get Xcode 5. It looks like Xcode 5 doesn't have the command
line tools in the downloads pane anymore, so direct folks to use
xcode-select to install the command line tools as well.

* building/tools.html:

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

5 years agoWeb Inspector: Update License copyrights in minified JavaScript
commit-queue@webkit.org [Mon, 10 Feb 2014 21:43:42 +0000 (21:43 +0000)]
Web Inspector: Update License copyrights in minified JavaScript
https://bugs.webkit.org/show_bug.cgi?id=128547

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

* Scripts/copy-user-interface-resources.sh:

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

5 years agoWeb Inspector: add test for hitting breakpoints from functions called via console
commit-queue@webkit.org [Mon, 10 Feb 2014 21:37:19 +0000 (21:37 +0000)]
Web Inspector: add test for hitting breakpoints from functions called via console
https://bugs.webkit.org/show_bug.cgi?id=126845

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-02-10
Reviewed by Timothy Hatcher.

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

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

5 years agoRemove some unused functions from SerializedScriptValue
ap@apple.com [Mon, 10 Feb 2014 21:37:00 +0000 (21:37 +0000)]
Remove some unused functions from SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128407

Reviewed by Oliver Hunt.

Removed functions that used Deprecated::ScriptValue

* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::put):
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::deserializeIDBValue):
(WebCore::deserializeIDBValueBuffer):
* bindings/js/SerializedScriptValue.cpp:
* bindings/js/SerializedScriptValue.h:

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

5 years agocopyShortASCIIString crashes on iOS after r163793.
enrica@apple.com [Mon, 10 Feb 2014 21:11:03 +0000 (21:11 +0000)]
copyShortASCIIString crashes on iOS after r163793.
https://bugs.webkit.org/show_bug.cgi?id=128548.

Reviewed by Alexey Proskuryakov.

Adding null check.

* wtf/unicode/icu/CollatorICU.cpp:
(WTF::copyShortASCIIString):

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

5 years agoMake the Identifier::add() family return PassRef<StringImpl>.
akling@apple.com [Mon, 10 Feb 2014 20:39:12 +0000 (20:39 +0000)]
Make the Identifier::add() family return PassRef<StringImpl>.
<https://webkit.org/b/128542>

This knocks one branch off of creating an Identifier from another
string source.

Reviewed by Oliver Hunt.

* runtime/Identifier.cpp:
(JSC::Identifier::add):
(JSC::Identifier::add8):
(JSC::Identifier::addSlowCase):
* runtime/Identifier.h:
(JSC::Identifier::add):
* runtime/Lookup.cpp:
(JSC::HashTable::createTable):

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

5 years ago[Windows] Unreviewed test fix.
roger_fong@apple.com [Mon, 10 Feb 2014 20:07:34 +0000 (20:07 +0000)]
[Windows] Unreviewed test fix.

* platform/graphics/cg/GraphicsContextCG.cpp: m_pixelSnappingFactor was not set to 1.
(WebCore::GraphicsContext::platformInit):

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

5 years agoHandling of opaque roots is wrong in EdenCollections
mhahnenberg@apple.com [Mon, 10 Feb 2014 19:59:16 +0000 (19:59 +0000)]
Handling of opaque roots is wrong in EdenCollections
https://bugs.webkit.org/show_bug.cgi?id=128210

Reviewed by Geoffrey Garen.

Forgot to svn add the regression tests for this bug.

* js/generational-opaque-roots-expected.txt: Added.
* js/script-tests/generational-opaque-roots.js: Added.

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

5 years agoSkip indexeddb tests for now until somebody can explore 128341.
beidson@apple.com [Mon, 10 Feb 2014 19:43:38 +0000 (19:43 +0000)]
Skip indexeddb tests for now until somebody can explore 128341.
https://bugs.webkit.org/show_bug.cgi?id=128341

* platform/mac-wk2/TestExpectations:

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

5 years agoRemove unnecessary spinLock in JSLock.
mark.lam@apple.com [Mon, 10 Feb 2014 19:39:30 +0000 (19:39 +0000)]
Remove unnecessary spinLock in JSLock.
<https://webkit.org/b/128450>

Reviewed by Filip Pizlo.

The JSLock's mutex already provides protection for write access to
JSLock's internal state. The only JSLock state that needs to be read
from any thread including threads that don't own the JSLock is
m_ownerThread, which is used in currentThreadIsHoldingLock() to do an
ownership test on the lock.

It is safe for other threads to read from m_ownerThread because they
only need to know whether its value matches their own thread id
(provided by WTF::currentThread()).

Here are the scenarios for how the ownership test can go:

1. The JSLock has just been initialized and is not owned by any thread.

   In this case, m_ownerThread will be 0 and will not match any thread's
   thread id. The checking thread will know that it needs to lock the
   JSLock before using the VM.

2. The JSLock was previously locked, but now is unlocked.

   When we unlock it in JSLock::unlock(), the owner thread clears
   m_ownerThread to 0. Hence, this case is the same as (1) above.

3. The JSLock is locked by Thread A. Thread B is checking ownership.

   In this case, m_ownerThread will contains the Thread A's thread id.
   Thread B will see that the thread id does not match its own and will
   proceed to block on the JSLock's mutex to wait for its turn to use
   the VM.

   With Weak Memory Ordering architectures, Thread A's thread id may
   not get written out to memory before Thread B inspects m_ownerThread.
   However, though Thread B may not see Thread A's thread id in
   m_ownerThread, it will see 0 which is the last value written to it
   before the JSLock mutex was unlocked. The mutex unlock would have
   executed a memory fence which would have flushed the 0 to
   m_ownerThread in memory. Hence, Thread B will know that it does not
   own the lock.

Apart from removing the unneeded spin lock code, I also changed the
JSLock code to use currentThreadIsHoldingLock() and setOwnerThread()
instead of accessing m_ownerThread directly.

* runtime/JSLock.cpp:
(JSC::JSLock::JSLock):

(JSC::JSLock::lock):
- Removed spinLock but left the indentation as is to keep the diff to a
  minimum for better readability. Will unindent in a subsequent patch.

(JSC::JSLock::unlock):
- Before unlocking the mutex, clear m_ownerThread to indicate that the
  lock is no longer owned.

(JSC::JSLock::currentThreadIsHoldingLock):
- Removed the check of m_lockCount for determining ownership. Checking
  m_ownerThread is sufficient.

(JSC::JSLock::dropAllLocks):
(JSC::JSLock::dropAllLocksUnconditionally):
- Renamed local locksToDrop to the better name droppedLockCount.
- Clear m_ownerThread since we're unlocking the JSLock.

(JSC::JSLock::grabAllLocks):
- Removed unneeded lock ownership test for lock re-entry case because
  grabAllLocks() is never used to re-enter a locked JSLock.

(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):

* runtime/JSLock.h:
(JSC::JSLock::setOwnerThread):

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

5 years agoUnbreak ChangeLog after r163802
fpizlo@apple.com [Mon, 10 Feb 2014 19:32:37 +0000 (19:32 +0000)]
Unbreak ChangeLog after r163802

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

5 years agoUnreviewed, roll out http://trac.webkit.org/changeset/163796
fpizlo@apple.com [Mon, 10 Feb 2014 19:26:29 +0000 (19:26 +0000)]
Unreviewed, roll out trac.webkit.org/changeset/163796

The change was not justified in any way and it has a net negative effect on the code.

* dfg/DFGAbstractInterpreter.h:
* dfg/DFGAbstractValue.h:
* dfg/DFGAdjacencyList.h:
* dfg/DFGArgumentPosition.h:
* dfg/DFGArgumentsSimplificationPhase.cpp:
* dfg/DFGArrayMode.cpp:
* dfg/DFGArrayifySlowPathGenerator.h:
* dfg/DFGAtTailAbstractState.h:
* dfg/DFGAvailability.h:
* dfg/DFGBackwardsPropagationPhase.cpp:
* dfg/DFGBasicBlock.h:
* dfg/DFGBasicBlockInlines.h:
* dfg/DFGByteCodeParser.cpp:
* dfg/DFGCFAPhase.cpp:
* dfg/DFGCFGSimplificationPhase.cpp:
* dfg/DFGCPSRethreadingPhase.cpp:
* dfg/DFGCSEPhase.cpp:
* dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
* dfg/DFGCapabilities.cpp:
* dfg/DFGCapabilities.h:
* dfg/DFGClobberize.h:
* dfg/DFGCommonData.cpp:
* dfg/DFGConstantFoldingPhase.cpp:
* dfg/DFGCriticalEdgeBreakingPhase.cpp:
* dfg/DFGDCEPhase.cpp:
* dfg/DFGDominators.h:
* dfg/DFGDriver.cpp:
* dfg/DFGDriver.h:
* dfg/DFGFixupPhase.cpp:
* dfg/DFGFlushLivenessAnalysisPhase.cpp:
* dfg/DFGGenerationInfo.h:
* dfg/DFGGraph.cpp:
* dfg/DFGGraph.h:
* dfg/DFGInPlaceAbstractState.cpp:
* dfg/DFGInPlaceAbstractState.h:
* dfg/DFGInlineCacheWrapperInlines.h:
* dfg/DFGInvalidationPointInjectionPhase.cpp:
* dfg/DFGJITCode.h:
* dfg/DFGJITCompiler.cpp:
* dfg/DFGJITCompiler.h:
* dfg/DFGJITFinalizer.cpp:
* dfg/DFGJITFinalizer.h:
* dfg/DFGLICMPhase.cpp:
* dfg/DFGLivenessAnalysisPhase.cpp:
* dfg/DFGLoopPreHeaderCreationPhase.cpp:
* dfg/DFGMinifiedNode.h:
* dfg/DFGNaturalLoops.h:
* dfg/DFGNode.cpp:
* dfg/DFGNode.h:
* dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
* dfg/DFGOSREntry.cpp:
* dfg/DFGOSREntrypointCreationPhase.cpp:
* dfg/DFGOSRExit.cpp:
* dfg/DFGOSRExit.h:
* dfg/DFGOSRExitBase.cpp:
* dfg/DFGOSRExitCompilationInfo.h:
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler32_64.cpp:
* dfg/DFGOSRExitCompiler64.cpp:
* dfg/DFGOSRExitJumpPlaceholder.cpp:
* dfg/DFGOperations.cpp:
* dfg/DFGPhase.h:
* dfg/DFGPlan.h:
* dfg/DFGPredictionInjectionPhase.cpp:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGResurrectionForValidationPhase.cpp:
* dfg/DFGSSAConversionPhase.cpp:
* dfg/DFGSSALoweringPhase.cpp:
* dfg/DFGSaneStringGetByValSlowPathGenerator.h:
* dfg/DFGSlowPathGenerator.h:
* dfg/DFGSpeculativeJIT.cpp:
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
* dfg/DFGSpeculativeJIT64.cpp:
* dfg/DFGStackLayoutPhase.cpp:
* dfg/DFGStoreBarrierElisionPhase.cpp:
* dfg/DFGStrengthReductionPhase.cpp:
* dfg/DFGThunks.cpp:
* dfg/DFGTierUpCheckInjectionPhase.cpp:
* dfg/DFGTypeCheckHoistingPhase.cpp:
* dfg/DFGUnificationPhase.cpp:
* dfg/DFGValidate.h:
* dfg/DFGValueSource.h:
* dfg/DFGVariableAccessData.h:
* dfg/DFGVariableAccessDataDump.cpp:
* dfg/DFGVariableEvent.h:
* dfg/DFGVariableEventStream.h:
* dfg/DFGVirtualRegisterAllocationPhase.cpp:
* dfg/DFGWatchpointCollectionPhase.cpp:
* dfg/DFGWorklist.cpp:

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

5 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Mon, 10 Feb 2014 19:25:56 +0000 (19:25 +0000)]
Unreviewed EFL gardening

Add test expectations for crashing tests.

* platform/efl-wk2/TestExpectations:

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

5 years agoAdd API for accessing session ephemerality from a page bundle
commit-queue@webkit.org [Mon, 10 Feb 2014 18:59:43 +0000 (18:59 +0000)]
Add API for accessing session ephemerality from a page bundle
https://bugs.webkit.org/show_bug.cgi?id=128410

Patch by Martin Hock <mhock@apple.com> on 2014-02-10
Reviewed by Alexey Proskuryakov.

* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageIsUsingEphemeralSession):
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::isUsingEphemeralSession):
* WebProcess/WebPage/WebPage.h:

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

5 years ago[GTK] Create the inspector view using the same web process as the inspected page
carlosgc@webkit.org [Mon, 10 Feb 2014 18:54:36 +0000 (18:54 +0000)]
[GTK] Create the inspector view using the same web process as the inspected page
https://bugs.webkit.org/show_bug.cgi?id=128539

Reviewed by Martin Robinson.

* UIProcess/API/C/gtk/WKView.cpp:
(WKViewCreate): Pass nullptr as the related page.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseCreate): Add related page argument and pass it
to webkitWebViewBaseCreateWebPage() instead of nullptr.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage): Pass
m_page as related page to webkitWebViewBaseCreate().

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

5 years agoREGRESSION(r163660-r163664): js/dom/stack-trace.html fails
ap@apple.com [Mon, 10 Feb 2014 18:51:05 +0000 (18:51 +0000)]
REGRESSION(r163660-r163664): js/dom/stack-trace.html fails
https://bugs.webkit.org/show_bug.cgi?id=128544

* TestExpectations: Marked as such (possibly passing on other platforms?)

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

5 years ago[GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
carlosgc@webkit.org [Mon, 10 Feb 2014 18:22:20 +0000 (18:22 +0000)]
[GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
https://bugs.webkit.org/show_bug.cgi?id=127554

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Use GUniqueOutPtr instead of GOwnPtr.

* GNUmakefile.list.am:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestinationGStreamer::handleMessage):
* platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::handleMessage):
* platform/glib/BatteryProviderUPower.cpp:
(BatteryProviderUPower::startUpdating):
* platform/graphics/gstreamer/GStreamerUtilities.cpp:
(WebCore::initializeGStreamer):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
* platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackPrivateBaseGStreamer::getTag):
* platform/graphics/gtk/ImageBufferGtk.cpp:
(WebCore::encodeImage):
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/gtk/ImageGtk.cpp:
(WebCore::loadResourceSharedBuffer):
* platform/gtk/DataObjectGtk.cpp:
(WebCore::DataObjectGtk::setURIList):
* platform/gtk/FileSystemGtk.cpp:
(WebCore::readFromFile):
* platform/gtk/GamepadsGtk.cpp:
(WebCore::GamepadDeviceGtk::readCallback):
* platform/gtk/GtkInputMethodFilter.cpp:
(WebCore::GtkInputMethodFilter::handlePreeditChanged):
* platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::fillDataObjectFromDropData):
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::systemFont):
* platform/gtk/SharedBufferGtk.cpp:
(WebCore::SharedBuffer::createWithContentsOfFile):
* platform/network/gtk/CredentialBackingStore.cpp:
(WebCore::credentialForChallengeAsyncReadyCallback):
* platform/network/soup/GOwnPtrSoup.cpp: Removed.
* platform/network/soup/GOwnPtrSoup.h: Removed.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::redirectSkipCallback):
(WebCore::nextMultipartResponsePartCallback):
(WebCore::sendRequestCallback):
(WebCore::addFileToSoupMessageBody):
(WebCore::createSoupRequestAndMessageForHandle):
(WebCore::readCallback):
* platform/network/soup/SocketStreamHandleSoup.cpp:
(WebCore::SocketStreamHandle::platformSend):
(WebCore::SocketStreamHandle::platformClose):
(WebCore::connectedCallback):
(WebCore::readReadyCallback):
* platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::httpProxy):

Source/WebKit/gtk:

Use GUniqueOutPtr instead of GOwnPtr.

* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::dispatchDidFailLoad):
* WebCoreSupport/TextCheckerClientGtk.cpp:
* webkit/webkitdownload.cpp:
(webkit_download_open_stream_for_uri):
(webkit_download_set_destination_uri):
(webkit_download_received_data):
* webkit/webkitwebplugin.cpp:
(webkit_web_plugin_get_path):
* webkit/webkitwebview.cpp:
(webkit_web_view_expose_event):

Source/WebKit2:

Use GUniqueOutPtr instead of GOwnPtr.

* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::getCacheDiskFreeSize):
* Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::DownloadClient::didReceiveResponse):
(WebKit::DownloadClient::didReceiveData):
(WebKit::DownloadClient::didFinishLoading):
* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
(processPendingIconsForPageURL):
(webkit_favicon_database_get_favicon):
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestReadCallback):
* UIProcess/API/gtk/WebKitWebView.cpp:
(gotFaviconCallback):
* UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
(WebKit::WebInspectorServer::platformResourceForPath):
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::scanPlugin):
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::getCacheDiskFreeSize):

Source/WTF:

GUniqueOutPtr is a simplified version of GOwnPtr for the cases
where we need the address of the contained pointer. GUniqueOutPtr
uses GUniquePtr to free the contained object and to release the
container pointer. The API is very simple to make sure this is
only used when outPtr() is needed. It can't be constructed with a
pointer, and there's not method to set a new pointer. Another
difference with the old GOwnPtr is that outPtr() can be used
multiple times, because it frees any pointer previously set.

* GNUmakefile.list.am:
* wtf/PlatformEfl.cmake:
* wtf/PlatformGTK.cmake:
* wtf/gobject/GOwnPtr.cpp: Removed.
* wtf/gobject/GOwnPtr.h: Removed.
* wtf/gobject/GUniquePtr.h:
(WTF::GUniqueOutPtr::GUniqueOutPtr):
(WTF::GUniqueOutPtr::~GUniqueOutPtr):
(WTF::GUniqueOutPtr::outPtr):
(WTF::GUniqueOutPtr::reset):
(WTF::GUniqueOutPtr::release):
(WTF::GUniqueOutPtr::operator*):
(WTF::GUniqueOutPtr::operator->):
(WTF::GUniqueOutPtr::get):
(WTF::GUniqueOutPtr::operator!):
(WTF::GUniqueOutPtr::operator UnspecifiedBoolType):

Tools:

Use GUniqueOutPtr instead of GOwnPtr.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
* DumpRenderTree/gtk/EventSender.cpp:
(createKeyPressEvent):
* TestWebKitAPI/Tests/WTF/gobject/GUniquePtr.cpp:
(TestWebKitAPI::returnOutChar):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp:
* TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:
(testInspectorServerPageList):
(openRemoteDebuggingSession):
(sendIncompleteRequest):
* TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:
(testWebExtensionWindowObjectCleared):
(testWebExtensionIsolatedWorld):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp:
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewRunJavaScript):
(testWebViewSave):
(testWebViewPageVisibility):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp:
(isStyleSheetInjectedForURLAtPath):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp:
* TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
* TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp:
* TestWebKitAPI/Tests/gtk/InputMethodFilter.cpp:
(TestWebKitAPI::TestInputMethodFilter::sendKeyEventToFilter):
* TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:
(TestWebKitAPI::doKeyStroke):
* TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h:
* TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.cpp:
(WebKitTestBus::run):
* TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
(resourceGetDataCallback):
(WebViewTest::keyStroke):
(onSnapshotReady):
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::keyDown):

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

5 years agoRemove extra includes from DFG
commit-queue@webkit.org [Mon, 10 Feb 2014 18:20:44 +0000 (18:20 +0000)]
Remove extra includes from DFG
https://bugs.webkit.org/show_bug.cgi?id=126983

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-02-10
Reviewed by Andreas Kling.

* dfg/DFGAbstractInterpreter.h:
* dfg/DFGAbstractValue.h:
* dfg/DFGAdjacencyList.h:
* dfg/DFGArgumentPosition.h:
* dfg/DFGArgumentsSimplificationPhase.cpp:
* dfg/DFGArrayMode.cpp:
* dfg/DFGArrayifySlowPathGenerator.h:
* dfg/DFGAtTailAbstractState.h:
* dfg/DFGAvailability.h:
* dfg/DFGBackwardsPropagationPhase.cpp:
* dfg/DFGBasicBlock.h:
* dfg/DFGBasicBlockInlines.h:
* dfg/DFGByteCodeParser.cpp:
* dfg/DFGCFAPhase.cpp:
* dfg/DFGCFGSimplificationPhase.cpp:
* dfg/DFGCPSRethreadingPhase.cpp:
* dfg/DFGCSEPhase.cpp:
* dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
* dfg/DFGCapabilities.cpp:
* dfg/DFGCapabilities.h:
* dfg/DFGClobberize.h:
* dfg/DFGCommonData.cpp:
* dfg/DFGConstantFoldingPhase.cpp:
* dfg/DFGCriticalEdgeBreakingPhase.cpp:
* dfg/DFGDCEPhase.cpp:
* dfg/DFGDominators.h:
* dfg/DFGDriver.cpp:
* dfg/DFGDriver.h:
* dfg/DFGFixupPhase.cpp:
* dfg/DFGFlushLivenessAnalysisPhase.cpp:
* dfg/DFGGenerationInfo.h:
* dfg/DFGGraph.cpp:
* dfg/DFGGraph.h:
* dfg/DFGInPlaceAbstractState.cpp:
* dfg/DFGInPlaceAbstractState.h:
* dfg/DFGInlineCacheWrapperInlines.h:
* dfg/DFGInvalidationPointInjectionPhase.cpp:
* dfg/DFGJITCode.h:
* dfg/DFGJITCompiler.cpp:
* dfg/DFGJITCompiler.h:
* dfg/DFGJITFinalizer.cpp:
* dfg/DFGJITFinalizer.h:
* dfg/DFGLICMPhase.cpp:
* dfg/DFGLivenessAnalysisPhase.cpp:
* dfg/DFGLoopPreHeaderCreationPhase.cpp:
* dfg/DFGMinifiedNode.h:
* dfg/DFGNaturalLoops.h:
* dfg/DFGNode.cpp:
* dfg/DFGNode.h:
* dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
* dfg/DFGOSREntry.cpp:
* dfg/DFGOSREntrypointCreationPhase.cpp:
* dfg/DFGOSRExit.cpp:
* dfg/DFGOSRExit.h:
* dfg/DFGOSRExitBase.cpp:
* dfg/DFGOSRExitCompilationInfo.h:
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler32_64.cpp:
* dfg/DFGOSRExitCompiler64.cpp:
* dfg/DFGOSRExitJumpPlaceholder.cpp:
* dfg/DFGOperations.cpp:
* dfg/DFGPhase.h:
* dfg/DFGPlan.h:
* dfg/DFGPredictionInjectionPhase.cpp:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGResurrectionForValidationPhase.cpp:
* dfg/DFGSSAConversionPhase.cpp:
* dfg/DFGSSALoweringPhase.cpp:
* dfg/DFGSaneStringGetByValSlowPathGenerator.h:
* dfg/DFGSlowPathGenerator.h:
* dfg/DFGSpeculativeJIT.cpp:
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
* dfg/DFGSpeculativeJIT64.cpp:
* dfg/DFGStackLayoutPhase.cpp:
* dfg/DFGStoreBarrierElisionPhase.cpp:
* dfg/DFGStrengthReductionPhase.cpp:
* dfg/DFGThunks.cpp:
* dfg/DFGTierUpCheckInjectionPhase.cpp:
* dfg/DFGTypeCheckHoistingPhase.cpp:
* dfg/DFGUnificationPhase.cpp:
* dfg/DFGValidate.h:
* dfg/DFGValueSource.h:
* dfg/DFGVariableAccessData.h:
* dfg/DFGVariableAccessDataDump.cpp:
* dfg/DFGVariableEvent.h:
* dfg/DFGVariableEventStream.h:
* dfg/DFGVirtualRegisterAllocationPhase.cpp:
* dfg/DFGWatchpointCollectionPhase.cpp:
* dfg/DFGWorklist.cpp:

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

5 years ago[iOS][wk2] WebKit2 View Gestures (Swipe): Forward swipe gesture
timothy_horton@apple.com [Mon, 10 Feb 2014 18:09:55 +0000 (18:09 +0000)]
[iOS][wk2] WebKit2 View Gestures (Swipe): Forward swipe gesture
https://bugs.webkit.org/show_bug.cgi?id=128523
<rdar://problem/16020378>

Reviewed by Darin Adler.

We can't install the gesture recognizer on a view that's going to be
reparented during the swipe, because the gesture will be cancelled.
Install the recognizer on the WKView and move the WKView's scrollview
child around instead.

* UIProcess/API/ios/WKViewIOS.mm:
(-[WKView setAllowsBackForwardNavigationGestures:]):
We'll install the gesture recognizer on the WKView, but swipe the scrollview.

* UIProcess/ios/ViewGestureControllerIOS.mm:
(-[WKSwipeTransitionController initWithViewGestureController:gestureRecognizerView:]):
Clarify that WKSwipeTransitionController gets handed only the view to install the gesture recognizer on.
(-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]):
Use public enum values so we can get rid of one private header.

(WebKit::ViewGestureController::installSwipeHandler):
Separate out the gesture recognizer view from the one that gets swiped.

(WebKit::ViewGestureController::beginSwipeGesture):
Record a snapshot before beginning the swipe. This is important for the back-then-forward
swipe case, and matches the behavior of the Mac implementation.

(WebKit::ViewGestureController::endSwipeGesture):
* UIProcess/mac/ViewGestureController.h:
Slight geometry adjustments due to the change in targetted view.

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

5 years agoJSC environment variables should override other mechanisms for setting options
fpizlo@apple.com [Mon, 10 Feb 2014 18:02:59 +0000 (18:02 +0000)]
JSC environment variables should override other mechanisms for setting options
https://bugs.webkit.org/show_bug.cgi?id=128511

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* runtime/Options.cpp:
(JSC::Options::setOption):
* runtime/Options.h:

Source/WebKit2:

* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

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

5 years agoAutomatically generate isRendererOfType in RENDER_OBJECT_TYPE_CASTS
darin@apple.com [Mon, 10 Feb 2014 17:58:18 +0000 (17:58 +0000)]
Automatically generate isRendererOfType in RENDER_OBJECT_TYPE_CASTS
https://bugs.webkit.org/show_bug.cgi?id=128520

Reviewed by Andreas Kling.

* rendering/RenderObject.h: Updated the RENDER_OBJECT_TYPE_CASTS macro so
that it generates isRendererOfType specializations as well as type casts
and also have the type casts use the isRendererOfType function. The macro
also now uses an argument name of "renderer" and allows for a predicate
that is more than just a single function call (see RenderTextFragment.h).

* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.h:
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.h:
* rendering/RenderCounter.h:
* rendering/RenderElement.h:
* rendering/RenderFrameSet.h:
* rendering/RenderLayerModelObject.h:
* rendering/RenderMenuList.h:
* rendering/RenderNamedFlowThread.h:
* rendering/RenderRubyRun.h:
* rendering/RenderTableSection.h:
* rendering/RenderText.h:
* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLOperator.h:
* rendering/mathml/RenderMathMLToken.h:
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/RenderSVGText.h:
Removed specialization of isRendererOfType, since the RENDER_OBJECT_TYPE_CASTS
macro handles that now. Also removed some unneeded semicolons.

* rendering/RenderTextFragment.h: Use RENDER_OBJECT_TYPE_CASTS instead of
hand written casts, now that it can handle a non-trivial predicate.

* rendering/RenderCombineText.h:
* rendering/RenderDetailsMarker.h:
* rendering/RenderListMarker.h:
* rendering/RenderVideo.h:
* rendering/RenderView.h:
* rendering/mathml/RenderMathMLFraction.h:
* rendering/mathml/RenderMathMLScripts.h:
* rendering/mathml/RenderMathMLSpace.h:
Removed unneeded semicolons.

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

5 years agoStop using String::deprecatedCharacters to call WTF::Collator
darin@apple.com [Mon, 10 Feb 2014 17:46:33 +0000 (17:46 +0000)]
Stop using String::deprecatedCharacters to call WTF::Collator
https://bugs.webkit.org/show_bug.cgi?id=128517

Source/JavaScriptCore:

Reviewed by Alexey Proskuryakov.

* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncLocaleCompare): Use the default constructor for Collator, which now
gives the default locale collation rules. Use the new arguments for Collator::collate, which
are now StringView. These two changes together eliminate the need for a separate helper function.

Source/WebCore:

Reviewed by Alexey Proskuryakov.

* xml/XSLTUnicodeSort.cpp:
(WebCore::xsltUnicodeSortFunction): Create the collator in a single line using the
new constructor that takes a shouldSortLowercaseFirst boolean. Use the new
collateUTF8 function instead of upconverting UTF-8 strings to UTF-16 as the old code did.

Source/WTF:

WTF passes ICU’s deprecated ULOC_REQUESTED_LOCALE to ucol_getLocaleByType()
rdar://problem/15183390

Reviewed by Alexey Proskuryakov.

This patch fixes both bugs above by reworking WTF::Collator.

* wtf/unicode/Collator.h: Fixed formatting. Got rid of the Collator::Result type,
since the collator uses the same return value scheme as strcmp and as ICU; an int
will do for the return type. Simplified the support for UCONFIG_NO_COLLATION by
using a separate copy of the class definition. (We should check if anyone needs
UCONFIG_NO_COLLATION support, and remove it if not.) Changed the lower-first flag
from a separate function to a constructor argument. Changed the arguments to
the collate function to StringView. Added a collate UTF8 function. Changed the
m_collate data member to no longer be mutable since we no longer allocate it lazily.

* wtf/unicode/CollatorDefault.cpp:
(WTF::Collator::collate): Rewrote to be simpler.
(WTF::Collator::collateUTF8): Added. Converts from UTF-8 to a String and then calls
the collate function above.

* wtf/unicode/icu/CollatorICU.cpp: Added a FIXME about the fact that this file
has the wrong name and location. Since we always use ICU, there's no need to mention
it in the file name.
(WTF::copyASCIIString): Added.
(WTF::copyDefaultLocale): Added.
(WTF::resolveDefaultLocale): Added. Maps null locale to a default on Mac and iOS,
since on those platforms ICU does not use the correct default locale when passed null.
(WTF::localesMatch): Added.
(WTF::Collator::Collator): Moved most of the code from createCollator here.
Simplified it by storing the collator configuration along with the collator in globals.
(WTF::Collator::~Collator): Moved most of the code from releaseCollator here.
(WTF::getIndexLatin1): Added.
(WTF::moveLatin1): Added.
(WTF::hasNextLatin1): Added.
(WTF::hasPreviousLatin1): Added.
(WTF::currentLatin1): Added.
(WTF::nextLatin1): Added.
(WTF::previousLatin1): Added.
(WTF::getStateLatin1): Added.
(WTF::setStateLatin1): Added.
(WTF::createLatin1Iterator): Added. Uses the functions above to make a UCharIterator
that works for a WTF::StringView-style Latin-1 string.
(WTF::createIterator): Added. Uses either createLatin1Iterator or uiter_setString to
make a UCharIterator that works for a WTF::StringView.
(WTF::Collator::collate): Changed to use ucol_strcollIter.
(WTF::createIteratorUTF8): Added. Uses uiter_setUTF8.
(WTF::Collator::collateUTF8): Added. Like collate, but for null-terminated UTF-8 strings.

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

5 years agoSkip fast/workers/dedicated-worker-lifecycle
fpizlo@apple.com [Mon, 10 Feb 2014 17:37:44 +0000 (17:37 +0000)]
Skip fast/workers/dedicated-worker-lifecycle
https://bugs.webkit.org/show_bug.cgi?id=128537

* TestExpectations:

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

5 years agoUnreviewed, revert the accidental change from r163789.
fpizlo@apple.com [Mon, 10 Feb 2014 17:06:59 +0000 (17:06 +0000)]
Unreviewed, revert the accidental change from r163789.

* tests/v8-v6/v8-deltablue.js:

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

5 years ago<1/100 probability FTL failure: v8-v6/v8-deltablue.js.ftl-eager: Exception: TypeError...
fpizlo@apple.com [Mon, 10 Feb 2014 17:04:28 +0000 (17:04 +0000)]
<1/100 probability FTL failure: v8-v6/v8-deltablue.js.ftl-eager: Exception: TypeError: undefined is not an object (evaluating 'c.isInput')
https://bugs.webkit.org/show_bug.cgi?id=128278

Reviewed by Mark Hahnenberg.

Fix another FTL flake due to bytecode liveness corner cases. Hopefully it's the last
one.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock): Make sure that inside a constructor, the 'this' result is always set. This makes it easier to unify the treatment of 'this' for OSR exit: we just say that it's always live.
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::isLiveInBytecode): Assume that 'this' is live. We were already sort of doing this for calls because the callsite would claim it to be live. But we didn't do it for constructors. It's true that *at the callsite* 'this' won't be live, but inside the inlined constructor, it almost certainly will be.
* dfg/DFGTierUpCheckInjectionPhase.cpp:
(JSC::DFG::TierUpCheckInjectionPhase::run): I just noticed this benign bug. We should only return 'true' if we actually injected checks.
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub): Make it easier to just dump disassembly for FTL OSR exits.
* runtime/Options.h: Ditto.
* tests/stress/inlined-constructor-this-liveness.js: Added.
(Foo):
(foo):
* tests/stress/inlined-function-this-liveness.js: Added.
(bar):
(foo):

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

5 years agoRemove unnecessary comment lines.
commit-queue@webkit.org [Mon, 10 Feb 2014 16:53:30 +0000 (16:53 +0000)]
Remove unnecessary comment lines.
https://bugs.webkit.org/show_bug.cgi?id=127894

Patch by Changhun Kang <temoochin@company100.net> on 2014-02-10
Reviewed by Darin Adler.

No new tests. No change in behavior.

* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::clientHandshakeRequest):

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

5 years agoActually register those DFG::Safepoints
fpizlo@apple.com [Mon, 10 Feb 2014 16:50:27 +0000 (16:50 +0000)]
Actually register those DFG::Safepoints
https://bugs.webkit.org/show_bug.cgi?id=128521

Reviewed by Mark Hahnenberg.

No test because GC + thread + JIT = ???.

* dfg/DFGSafepoint.cpp:
(JSC::DFG::Safepoint::~Safepoint):
(JSC::DFG::Safepoint::begin):

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

5 years agoAdd the CSS_SHAPE_INSIDE to CMake feature list
commit-queue@webkit.org [Mon, 10 Feb 2014 16:02:18 +0000 (16:02 +0000)]
Add the CSS_SHAPE_INSIDE to CMake feature list
https://bugs.webkit.org/show_bug.cgi?id=128530

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-02-10
Reviewed by Gyuyoung Kim.

CSS_SHAPE_INSIDE flag was added in r163333,
this patch is adding this flag to CMake feature list.

* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

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

5 years ago[CSSRegions] Add tests for scrolling composited content
mihnea@adobe.com [Mon, 10 Feb 2014 15:41:06 +0000 (15:41 +0000)]
[CSSRegions] Add tests for scrolling composited content
https://bugs.webkit.org/show_bug.cgi?id=128527

Reviewed by Andrei Bucur.

Add tests take simulate scrolling in the context of regions and composited content:
1. scroll an empty region that is composited
2. scroll a region that displays composited content

* compositing/regions/composited-content-fixed-region-scrolled-expected.txt: Added.
* compositing/regions/composited-content-fixed-region-scrolled.html: Added.
* compositing/regions/fixed-empty-region-scrolled-expected.txt: Added.
* compositing/regions/fixed-empty-region-scrolled.html: Added.

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

5 years ago[GTK] Add API to create a webview related to another one
carlosgc@webkit.org [Mon, 10 Feb 2014 13:46:59 +0000 (13:46 +0000)]
[GTK] Add API to create a webview related to another one
https://bugs.webkit.org/show_bug.cgi?id=128498

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Add webkit_web_view_new_with_related_view() to create a new
WebView sharing the same web process as the given one.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextCreatePageForWebView): Use the given related
WebView to pass a related WebPageProxy to webkitWebViewBaseCreateWebPage().
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Pass the related web view to webkitWebContextCreatePageForWebView().
(webkitWebViewSetProperty):
(webkit_web_view_class_init): Add related-view construct-only property.
(webkit_web_view_new_with_related_view): New public method to
create a web view with a related one.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseCreate): Pass nullptr as related page to webkitWebViewBaseCreateWebPage().
(webkitWebViewBaseCreateWebPage): Use the given related
WebPageProxy to initialize the web page configuration.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.

Tools:

* MiniBrowser/gtk/BrowserWindow.c:
(webViewCreate): Use webkit_web_view_new_with_related_view() when
creating a new web view for window.open().
* TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:
(testMultiprocessWebViewCreateReadyClose): Add test case to check
that window.open() works when creating the new WebView related to
the existing one, and that no new web process is spawned when
using webkit_web_view_new_with_related_view().
(beforeAll):

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

5 years agoIf not running on Mac, build-webkit should not print Safari related output
commit-queue@webkit.org [Mon, 10 Feb 2014 13:16:01 +0000 (13:16 +0000)]
If not running on Mac, build-webkit should not print Safari related output
https://bugs.webkit.org/show_bug.cgi?id=127169

Patch by Eva Balazsfalvi <balazsfalvi.eva@stud.u-szeged.hu> on 2014-02-10
Reviewed by Darin Adler.

* Scripts/build-webkit:
(writeCongrats):
* Scripts/webkitdirs.pm:
(isAppleWebKit):
(isAppleMacWebKit):
(isAppleWinWebKit):
(launcherName):

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

5 years ago[EFL] Spelling unit tests should use ecore_main_loop_iterate()
commit-queue@webkit.org [Mon, 10 Feb 2014 13:04:58 +0000 (13:04 +0000)]
[EFL] Spelling unit tests should use ecore_main_loop_iterate()
https://bugs.webkit.org/show_bug.cgi?id=127427

Patch by Lukasz Bialek <l.bialek@samsung.com> on 2014-02-10
Reviewed by Gyuyoung Kim.

r148670 gets rid of EFL's idlers in a favor of timers to load languages.
ecore_main_loop_iterate() can be used now.

Add function that loads spellchecking languages and waits for loading
to be finished:
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::waitForLanguageLoading):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:

Apply added function to tests that should wait for languages to be loaded:
* UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
(EWK2TextCheckerTest::resetCallbacksExecutionStats):
(TEST_F):

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

5 years ago[GTK] Minibrowser: During text search, make navigation through list of matched words...
commit-queue@webkit.org [Mon, 10 Feb 2014 13:02:35 +0000 (13:02 +0000)]
[GTK] Minibrowser: During text search, make navigation through list of matched words circular
https://bugs.webkit.org/show_bug.cgi?id=128463

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-02-10
Reviewed by Carlos Garcia Campos.

Initialize search options to WEBKIT_FIND_OPTIONS_WRAP_AROUND to make navigation
circular.

* MiniBrowser/gtk/BrowserSearchBar.c:
(doSearch):

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

5 years agoFix EFL build with INSPECTOR disabled
commit-queue@webkit.org [Mon, 10 Feb 2014 11:41:11 +0000 (11:41 +0000)]
Fix EFL build with INSPECTOR disabled
https://bugs.webkit.org/show_bug.cgi?id=125064

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-02-10
Reviewed by Csaba Osztrogonác.

Source/JavaScriptCore:

* inspector/InjectedScriptManager.h:
* inspector/ScriptDebugServer.cpp:
* inspector/agents/InspectorAgent.h:
* inspector/scripts/CodeGeneratorInspectorStrings.py:
(Inspector):

Source/WebCore:

* bindings/js/PageScriptDebugServer.cpp:
* bindings/js/PageScriptDebugServer.h:
* bindings/js/WorkerScriptDebugServer.cpp:
* bindings/js/WorkerScriptDebugServer.h:
* inspector/PageInjectedScriptManager.h:

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

5 years agoCode cleanup: Remove BUILDING_ON / TARGETING definitions.
commit-queue@webkit.org [Mon, 10 Feb 2014 11:25:39 +0000 (11:25 +0000)]
Code cleanup: Remove BUILDING_ON / TARGETING definitions.
https://bugs.webkit.org/show_bug.cgi?id=128242

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2014-02-10
Reviewed by Brent Fulgham.

The BUILDING_ON_* and TARGETING_* macros have not been used for a while.
According to the FIXME: they are removed.

Source/WTF:

* wtf/Platform.h:

Tools:

* DumpRenderTree/config.h:

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

5 years agoFix a few mistakes that landed with r163749.
zandobersek@gmail.com [Mon, 10 Feb 2014 09:08:02 +0000 (09:08 +0000)]
Fix a few mistakes that landed with r163749.

Rubber-stamped by Carlos Garcia Campos.

Source/WebCore:

* platform/gtk/GtkTouchContextHelper.cpp:
(WebCore::GtkTouchContextHelper::handleEvent): When handling GDK_TOUCH_BEGIN, the assertion
should ensure that the sequence-to-event map doesn't yet contain pairs with the specific
sequence as the key.

Tools:

* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::addTouchPoint): Avoid using the GUniquePtr<GdkEvent> after it's been moved
into the event vector since moving it invalidates the variable.

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

5 years ago[CSS Regions] Fix Propagating Border and Padding for Inline Replaced Elements Flowed...
mihnea@adobe.com [Mon, 10 Feb 2014 08:27:38 +0000 (08:27 +0000)]
[CSS Regions] Fix Propagating Border and Padding for Inline Replaced Elements Flowed in Regions
https://bugs.webkit.org/show_bug.cgi?id=123143

Reviewed by Andrei Bucur.

Add test to make sure that outlines and borders are properly painted for inline replaced
transformed elements, having margins and paddings, displayed in region.

* compositing/regions/inline-replaced-transformed-in-region-expected.html: Added.
* compositing/regions/inline-replaced-transformed-in-region.html: Added.

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

5 years agoAdd type-safe casts for ContentData subclasses
ddkilzer@apple.com [Mon, 10 Feb 2014 08:23:52 +0000 (08:23 +0000)]
Add type-safe casts for ContentData subclasses
<http://webkit.org/b/128510>

Reviewed by Darin Adler.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::contentToCSSValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingImages):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setContent):
- Switch to toFooContentData() methods.

* rendering/style/ContentData.h:
- Define toFooContentData() methods.
- Extract FooContentData::equals() methods so that the
  toFooContentData() methods can be used.

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

5 years agoStop relinking WebKit on every build.
mrowe@apple.com [Mon, 10 Feb 2014 07:41:33 +0000 (07:41 +0000)]
Stop relinking WebKit on every build.

* WebKit.xcodeproj/project.pbxproj: Fix the case on an input file for the Generate Export Files
script phase so it will run only when the inputs change rather than on every build.

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

5 years agoGC blocks on FTL and then badness
fpizlo@apple.com [Mon, 10 Feb 2014 07:21:09 +0000 (07:21 +0000)]
GC blocks on FTL and then badness
https://bugs.webkit.org/show_bug.cgi?id=128291

Reviewed by Oliver Hunt.

Introduce the notion of a DFG::Safepoint, which allows you to unlock the rightToRun
mutex for your JIT thread, while supplying the GC with all of the information it would
need to scan you at that moment in time. The default way of using this is
DFG::GraphSafepoint, where you just supply the Graph. There's a lot of machinery in
this patch just to make the Graph scannable.

We then use DFG::GraphSafepoint in just two places for now: (1) while initializing LLVM
and (2) while invoking LLVM' optimizer and backend.

This is a 30% speed-up on Octane/typescript and a 10% speed-up on Octane/gbemu. 2-3%
speed-up overall on Octane.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::visitChildren):
* dfg/DFGGraph.h:
* dfg/DFGGraphSafepoint.cpp: Added.
(JSC::DFG::GraphSafepoint::GraphSafepoint):
(JSC::DFG::GraphSafepoint::~GraphSafepoint):
* dfg/DFGGraphSafepoint.h: Added.
* dfg/DFGOperations.h:
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):
* dfg/DFGPlan.h:
* dfg/DFGSafepoint.cpp: Added.
(JSC::DFG::Safepoint::Safepoint):
(JSC::DFG::Safepoint::~Safepoint):
(JSC::DFG::Safepoint::add):
(JSC::DFG::Safepoint::begin):
(JSC::DFG::Safepoint::visitChildren):
* dfg/DFGSafepoint.h: Added.
* dfg/DFGScannable.h: Added.
(JSC::DFG::Scannable::Scannable):
(JSC::DFG::Scannable::~Scannable):
* dfg/DFGThreadData.cpp: Added.
(JSC::DFG::ThreadData::ThreadData):
(JSC::DFG::ThreadData::~ThreadData):
* dfg/DFGThreadData.h: Added.
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::finishCreation):
(JSC::DFG::Worklist::visitChildren):
(JSC::DFG::Worklist::runThread):
* dfg/DFGWorklist.h:
* ftl/FTLCompile.cpp:
(JSC::FTL::compile):
* heap/SlotVisitor.h:
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::appendUnbarrieredReadOnlyPointer):
(JSC::SlotVisitor::appendUnbarrieredReadOnlyValue):

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

5 years ago-webkit-clip-path should support fill, stroke, view-box keywords
commit-queue@webkit.org [Mon, 10 Feb 2014 06:02:42 +0000 (06:02 +0000)]
-webkit-clip-path should support fill, stroke, view-box keywords
https://bugs.webkit.org/show_bug.cgi?id=128393

Source/WebCore:

Patch by Dirk Schulze <dschulze@chromium.org> on 2014-02-09
Reviewed by Dean Jackson.

CSS Masking uses the keywords fill, stroke and view-box for SVG shapes.
This patch updates the parser, style resolver and SVG implementation of
the prefixed clip-path property.

Remove the unexposed and obsolete keyword bounding-box.

Tests: svg/clip-path/clip-path-shape-fill-expected.svg
       svg/clip-path/clip-path-shape-fill.svg
       svg/clip-path/clip-path-shape-stroke-expected.svg
       svg/clip-path/clip-path-shape-stroke.svg
       svg/clip-path/clip-path-shape-view-box-expected.svg
       svg/clip-path/clip-path-shape-view-box.svg

* css/CSSParser.cpp: Parse fill, stroke, view-box. Remove bounding-box.
(WebCore::isBoxValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator LayoutBox):
* css/CSSValueKeywords.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyClipPath::applyValue):
* rendering/RenderLayer.cpp:
(WebCore::computeReferenceBox):
* rendering/shapes/ShapeInfo.h:
(WebCore::ShapeInfo::setShapeSize):
(WebCore::ShapeInfo::logicalTopOffset):
(WebCore::ShapeInfo::logicalLeftOffset):
* rendering/style/RenderStyleConstants.h:
* rendering/svg/SVGRenderingContext.cpp: Use different reference boxes per keyword.
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

LayoutTests:

Patch by Dirk Schulze <krit@webkit.org> on 2014-02-09
Reviewed by Dean Jackson.

Update or add new tests for changed clip-path keywords.

* css3/masking/clip-path-circle-bounding-box.html: Removed.
* fast/masking/parsing-clip-path-shape.html:
* platform/mac/css3/masking/clip-path-circle-bounding-box-expected.png: Removed.
* platform/mac/css3/masking/clip-path-circle-bounding-box-expected.txt: Removed.
* svg/clip-path/clip-path-shape-fill-expected.svg: Added.
* svg/clip-path/clip-path-shape-fill.svg: Added.
* svg/clip-path/clip-path-shape-stroke-expected.svg: Added.
* svg/clip-path/clip-path-shape-stroke.svg: Added.
* svg/clip-path/clip-path-shape-view-box-expected.svg: Added.
* svg/clip-path/clip-path-shape-view-box.svg: Added.

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

5 years ago[WebGL] Remove state restorer code
dino@apple.com [Mon, 10 Feb 2014 05:40:34 +0000 (05:40 +0000)]
[WebGL] Remove state restorer code
https://bugs.webkit.org/show_bug.cgi?id=128516

Reviewed by Dirk Schulze.

I'm not sure what the point of the WebGLStateRestorer class was. It was
always constructed with a false parameter, and then wasn't even retained
in local scope (so wouldn't have worked anyway). Meanwhile there were
also LOTS of calls to cleanupAfterGraphicsCall, the majority of which
were a no-op. I replaced the handful of cleanupAfterGraphicsCall(true)
with the call to markContextChanged().

* html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::bindVertexArrayOES):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::activeTexture):
(WebCore::WebGLRenderingContext::attachShader):
(WebCore::WebGLRenderingContext::bindAttribLocation):
(WebCore::WebGLRenderingContext::bindBuffer):
(WebCore::WebGLRenderingContext::bindFramebuffer):
(WebCore::WebGLRenderingContext::bindRenderbuffer):
(WebCore::WebGLRenderingContext::bindTexture):
(WebCore::WebGLRenderingContext::blendColor):
(WebCore::WebGLRenderingContext::blendEquation):
(WebCore::WebGLRenderingContext::blendEquationSeparate):
(WebCore::WebGLRenderingContext::blendFunc):
(WebCore::WebGLRenderingContext::blendFuncSeparate):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::checkFramebufferStatus):
(WebCore::WebGLRenderingContext::clear):
(WebCore::WebGLRenderingContext::clearColor):
(WebCore::WebGLRenderingContext::clearDepth):
(WebCore::WebGLRenderingContext::clearStencil):
(WebCore::WebGLRenderingContext::colorMask):
(WebCore::WebGLRenderingContext::compileShader):
(WebCore::WebGLRenderingContext::compressedTexImage2D):
(WebCore::WebGLRenderingContext::compressedTexSubImage2D):
(WebCore::WebGLRenderingContext::copyTexImage2D):
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::cullFace):
(WebCore::WebGLRenderingContext::depthFunc):
(WebCore::WebGLRenderingContext::depthMask):
(WebCore::WebGLRenderingContext::depthRange):
(WebCore::WebGLRenderingContext::detachShader):
(WebCore::WebGLRenderingContext::disable):
(WebCore::WebGLRenderingContext::disableVertexAttribArray):
(WebCore::WebGLRenderingContext::validateDrawArrays):
(WebCore::WebGLRenderingContext::drawArrays):
(WebCore::WebGLRenderingContext::validateDrawElements):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::enable):
(WebCore::WebGLRenderingContext::enableVertexAttribArray):
(WebCore::WebGLRenderingContext::finish):
(WebCore::WebGLRenderingContext::flush):
(WebCore::WebGLRenderingContext::framebufferRenderbuffer):
(WebCore::WebGLRenderingContext::framebufferTexture2D):
(WebCore::WebGLRenderingContext::frontFace):
(WebCore::WebGLRenderingContext::generateMipmap):
(WebCore::WebGLRenderingContext::getBufferParameter):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getProgramParameter):
(WebCore::WebGLRenderingContext::getProgramInfoLog):
(WebCore::WebGLRenderingContext::getRenderbufferParameter):
(WebCore::WebGLRenderingContext::getShaderParameter):
(WebCore::WebGLRenderingContext::getShaderInfoLog):
(WebCore::WebGLRenderingContext::getTexParameter):
(WebCore::WebGLRenderingContext::getUniform):
(WebCore::WebGLRenderingContext::getUniformLocation):
(WebCore::WebGLRenderingContext::getVertexAttrib):
(WebCore::WebGLRenderingContext::getVertexAttribOffset):
(WebCore::WebGLRenderingContext::hint):
(WebCore::WebGLRenderingContext::lineWidth):
(WebCore::WebGLRenderingContext::linkProgram):
(WebCore::WebGLRenderingContext::pixelStorei):
(WebCore::WebGLRenderingContext::polygonOffset):
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::releaseShaderCompiler):
(WebCore::WebGLRenderingContext::renderbufferStorage):
(WebCore::WebGLRenderingContext::sampleCoverage):
(WebCore::WebGLRenderingContext::scissor):
(WebCore::WebGLRenderingContext::shaderSource):
(WebCore::WebGLRenderingContext::stencilFunc):
(WebCore::WebGLRenderingContext::stencilFuncSeparate):
(WebCore::WebGLRenderingContext::stencilMask):
(WebCore::WebGLRenderingContext::stencilMaskSeparate):
(WebCore::WebGLRenderingContext::stencilOp):
(WebCore::WebGLRenderingContext::stencilOpSeparate):
(WebCore::WebGLRenderingContext::texImage2DBase):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texParameter):
(WebCore::WebGLRenderingContext::texSubImage2DBase):
(WebCore::WebGLRenderingContext::uniform1f):
(WebCore::WebGLRenderingContext::uniform1fv):
(WebCore::WebGLRenderingContext::uniform1i):
(WebCore::WebGLRenderingContext::uniform1iv):
(WebCore::WebGLRenderingContext::uniform2f):
(WebCore::WebGLRenderingContext::uniform2fv):
(WebCore::WebGLRenderingContext::uniform2i):
(WebCore::WebGLRenderingContext::uniform2iv):
(WebCore::WebGLRenderingContext::uniform3f):
(WebCore::WebGLRenderingContext::uniform3fv):
(WebCore::WebGLRenderingContext::uniform3i):
(WebCore::WebGLRenderingContext::uniform3iv):
(WebCore::WebGLRenderingContext::uniform4f):
(WebCore::WebGLRenderingContext::uniform4fv):
(WebCore::WebGLRenderingContext::uniform4i):
(WebCore::WebGLRenderingContext::uniform4iv):
(WebCore::WebGLRenderingContext::uniformMatrix2fv):
(WebCore::WebGLRenderingContext::uniformMatrix3fv):
(WebCore::WebGLRenderingContext::uniformMatrix4fv):
(WebCore::WebGLRenderingContext::useProgram):
(WebCore::WebGLRenderingContext::validateProgram):
(WebCore::WebGLRenderingContext::vertexAttribPointer):
(WebCore::WebGLRenderingContext::viewport):
(WebCore::WebGLRenderingContext::vertexAttribfImpl):
(WebCore::WebGLRenderingContext::vertexAttribfvImpl):
(WebCore::WebGLRenderingContext::drawArraysInstanced):
(WebCore::WebGLRenderingContext::drawElementsInstanced):
* html/canvas/WebGLRenderingContext.h:

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

5 years agoRemove unused layer owner from WebGLLayer
dino@apple.com [Mon, 10 Feb 2014 05:40:30 +0000 (05:40 +0000)]
Remove unused layer owner from WebGLLayer
https://bugs.webkit.org/show_bug.cgi?id=128512

Reviewed by Dirk Schulze.

The m_layerOwner and ObjC category were not
used anywhere.

* platform/graphics/mac/WebGLLayer.h:
* platform/graphics/mac/WebGLLayer.mm:
(-[WebGLLayer display]):

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

5 years ago[EFL] Remove PageClientEfl
ryuan.choi@samsung.com [Mon, 10 Feb 2014 04:10:36 +0000 (04:10 +0000)]
[EFL] Remove PageClientEfl
https://bugs.webkit.org/show_bug.cgi?id=128508

Reviewed by Andreas Kling.

Source/WebCore:

PageClientEfl was introduced for accelerated compositing of WebKit1, but
it's bad idea because it's layer violation.
Indeed, it has never been used since introduced.

* platform/Widget.h: Back to PlatformPageClient to Evas_Object.
* platform/graphics/efl/GraphicsContext3DPrivate.cpp:
Removed empty method which use PageClientEfl.
* platform/graphics/efl/GraphicsContext3DPrivate.h: Ditto.

Source/WebKit:

* PlatformEfl.cmake: Removed PageClientEfl.cpp

Source/WebKit/efl:

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
Removed dependencies of PageClientEfl.
(WebCore::AcceleratedCompositingContext::initialize):
* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::platformPageClient):
* WebCoreSupport/PageClientEfl.cpp: Removed.
* WebCoreSupport/PageClientEfl.h: Removed.
* ewk/ewk_view.cpp:
(_ewk_view_priv_new):

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

5 years agoNever include *Inlines.h files in interface headers, and never include *Inlines.h...
fpizlo@apple.com [Mon, 10 Feb 2014 02:51:13 +0000 (02:51 +0000)]
Never include *Inlines.h files in interface headers, and never include *Inlines.h when you could include Operations.h instead
https://bugs.webkit.org/show_bug.cgi?id=128505

Reviewed by Mark Hahnenberg and Oliver Hunt.

* API/JSContextRef.cpp:
* assembler/LinkBuffer.cpp:
* bytecode/ArrayProfile.cpp:
* bytecode/BytecodeBasicBlock.cpp:
* bytecode/BytecodeLivenessAnalysisInlines.h:
* bytecode/CallLinkInfo.cpp:
* bytecode/CodeBlock.cpp:
* bytecode/CodeBlock.h:
* bytecode/CodeBlockJettisoningWatchpoint.cpp:
* bytecode/ExecutionCounter.cpp:
* bytecode/MethodOfGettingAValueProfile.cpp:
* bytecode/PreciseJumpTargets.cpp:
* bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp:
* bytecode/SamplingTool.cpp:
* bytecode/SpecialPointer.cpp:
* bytecode/StructureStubClearingWatchpoint.cpp:
* debugger/DebuggerCallFrame.cpp:
* dfg/DFGAbstractHeap.cpp:
* dfg/DFGAbstractValue.cpp:
* dfg/DFGArgumentsSimplificationPhase.cpp:
* dfg/DFGArithMode.cpp:
* dfg/DFGArrayMode.cpp:
* dfg/DFGAtTailAbstractState.cpp:
* dfg/DFGAvailability.cpp:
* dfg/DFGBackwardsPropagationPhase.cpp:
* dfg/DFGBasicBlock.cpp:
* dfg/DFGBinarySwitch.cpp:
* dfg/DFGBlockInsertionSet.cpp:
* dfg/DFGByteCodeParser.cpp:
* dfg/DFGCFAPhase.cpp:
* dfg/DFGCFGSimplificationPhase.cpp:
* dfg/DFGCPSRethreadingPhase.cpp:
* dfg/DFGCSEPhase.cpp:
* dfg/DFGCapabilities.cpp:
* dfg/DFGClobberSet.cpp:
* dfg/DFGClobberize.cpp:
* dfg/DFGCommon.cpp:
* dfg/DFGCommonData.cpp:
* dfg/DFGCompilationKey.cpp:
* dfg/DFGCompilationMode.cpp:
* dfg/DFGConstantFoldingPhase.cpp:
* dfg/DFGCriticalEdgeBreakingPhase.cpp:
* dfg/DFGDCEPhase.cpp:
* dfg/DFGDesiredIdentifiers.cpp:
* dfg/DFGDesiredStructureChains.cpp:
* dfg/DFGDesiredTransitions.cpp:
* dfg/DFGDesiredWatchpoints.cpp:
* dfg/DFGDisassembler.cpp:
* dfg/DFGDisassembler.h:
* dfg/DFGDominators.cpp:
* dfg/DFGEdge.cpp:
* dfg/DFGFailedFinalizer.cpp:
* dfg/DFGFinalizer.cpp:
* dfg/DFGFixupPhase.cpp:
* dfg/DFGFlushFormat.cpp:
* dfg/DFGFlushLivenessAnalysisPhase.cpp:
* dfg/DFGFlushedAt.cpp:
* dfg/DFGGraph.cpp:
* dfg/DFGInPlaceAbstractState.cpp:
* dfg/DFGInvalidationPointInjectionPhase.cpp:
* dfg/DFGJITCode.cpp:
* dfg/DFGJITCompiler.cpp:
* dfg/DFGJITCompiler.h:
* dfg/DFGJITFinalizer.cpp:
* dfg/DFGJumpReplacement.cpp:
* dfg/DFGLICMPhase.cpp:
* dfg/DFGLazyJSValue.cpp:
* dfg/DFGLivenessAnalysisPhase.cpp:
* dfg/DFGLongLivedState.cpp:
* dfg/DFGLoopPreHeaderCreationPhase.cpp:
* dfg/DFGMinifiedNode.cpp:
* dfg/DFGNaturalLoops.cpp:
* dfg/DFGNode.cpp:
* dfg/DFGNodeFlags.cpp:
* dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
* dfg/DFGOSREntry.cpp:
* dfg/DFGOSREntrypointCreationPhase.cpp:
* dfg/DFGOSRExit.cpp:
* dfg/DFGOSRExitBase.cpp:
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler32_64.cpp:
* dfg/DFGOSRExitCompiler64.cpp:
* dfg/DFGOSRExitCompilerCommon.cpp:
* dfg/DFGOSRExitJumpPlaceholder.cpp:
* dfg/DFGOSRExitPreparation.cpp:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPhase.cpp:
* dfg/DFGPlan.cpp:
* dfg/DFGPredictionInjectionPhase.cpp:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGResurrectionForValidationPhase.cpp:
* dfg/DFGSSAConversionPhase.cpp:
* dfg/DFGSSALoweringPhase.cpp:
* dfg/DFGSpeculativeJIT.cpp:
* dfg/DFGSpeculativeJIT32_64.cpp:
* dfg/DFGSpeculativeJIT64.cpp:
* dfg/DFGStackLayoutPhase.cpp:
* dfg/DFGStoreBarrierElisionPhase.cpp:
* dfg/DFGStrengthReductionPhase.cpp:
* dfg/DFGThunks.cpp:
* dfg/DFGTierUpCheckInjectionPhase.cpp:
* dfg/DFGToFTLDeferredCompilationCallback.cpp:
* dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
* dfg/DFGTypeCheckHoistingPhase.cpp:
* dfg/DFGUnificationPhase.cpp:
* dfg/DFGUseKind.cpp:
* dfg/DFGValidate.cpp:
* dfg/DFGValueSource.cpp:
* dfg/DFGVariableAccessDataDump.cpp:
* dfg/DFGVariableEvent.cpp:
* dfg/DFGVariableEventStream.cpp:
* dfg/DFGVirtualRegisterAllocationPhase.cpp:
* dfg/DFGWatchpointCollectionPhase.cpp:
* dfg/DFGWorklist.cpp:
* disassembler/Disassembler.cpp:
* ftl/FTLLink.cpp:
* ftl/FTLOSRExitCompiler.cpp:
* ftl/FTLSlowPathCall.cpp:
* ftl/FTLThunks.cpp:
(JSC::FTL::slowPathCallThunkGenerator):
* heap/BlockAllocator.cpp:
* heap/CodeBlockSet.cpp:
* heap/ConservativeRoots.cpp:
* heap/DeferGC.cpp:
* heap/GCThread.cpp:
* heap/GCThreadSharedData.cpp:
* heap/HeapTimer.cpp:
* heap/IncrementalSweeper.cpp:
* heap/JITStubRoutineSet.cpp:
* heap/MachineStackMarker.cpp:
* heap/MarkStack.cpp:
* heap/MarkedAllocator.cpp:
* heap/MarkedSpace.cpp:
* heap/SuperRegion.cpp:
* heap/Weak.cpp:
* heap/WeakHandleOwner.cpp:
* heap/WeakSet.cpp:
* heap/WriteBarrierBuffer.cpp:
* heap/WriteBarrierSupport.cpp:
* inspector/ScriptCallStackFactory.cpp:
* interpreter/AbstractPC.cpp:
* interpreter/JSStack.cpp:
* interpreter/ProtoCallFrame.cpp:
* interpreter/VMInspector.cpp:
* jit/ArityCheckFailReturnThunks.cpp:
* jit/AssemblyHelpers.cpp:
* jit/ExecutableAllocator.cpp:
* jit/ExecutableAllocatorFixedVMPool.cpp:
* jit/GCAwareJITStubRoutine.cpp:
* jit/HostCallReturnValue.cpp:
* jit/JITDisassembler.cpp:
* jit/JITDisassembler.h:
* jit/JITExceptions.cpp:
* jit/JITInlines.h:
* jit/JITOperations.cpp:
* jit/JITOperationsMSVC64.cpp:
* jit/JITStubRoutine.cpp:
* jit/JITStubs.cpp:
* jit/JITToDFGDeferredCompilationCallback.cpp:
* jit/RegisterPreservationWrapperGenerator.cpp:
* jit/RegisterSet.cpp:
* jit/Repatch.cpp:
* jit/TempRegisterSet.cpp:
* jsc.cpp:
* parser/Lexer.cpp:
* parser/Parser.cpp:
* parser/ParserArena.cpp:
* parser/SourceCode.cpp:
* parser/SourceProvider.cpp:
* parser/SourceProviderCache.cpp:
* profiler/ProfileGenerator.cpp:
* runtime/Arguments.cpp:
* runtime/ArgumentsIteratorPrototype.cpp:
* runtime/CommonSlowPathsExceptions.cpp:
* runtime/JSArgumentsIterator.cpp:
* runtime/JSFunction.cpp:
* runtime/JSGlobalObjectFunctions.cpp:
* runtime/ObjectConstructor.cpp:
* runtime/Operations.h:
* runtime/VM.cpp:

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

5 years agoUnreviewed, don't mark isHostFunction() inline in the header file because that really...
fpizlo@apple.com [Mon, 10 Feb 2014 01:09:24 +0000 (01:09 +0000)]
Unreviewed, don't mark isHostFunction() inline in the header file because that really confuses EFL.

* runtime/JSFunction.h:

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

5 years ago[iOS][wk2] ASSERT(WebThreadIsCurrent()) in [WebDisplayLinkHandler handleDisplayLink:]
timothy_horton@apple.com [Mon, 10 Feb 2014 00:26:32 +0000 (00:26 +0000)]
[iOS][wk2] ASSERT(WebThreadIsCurrent()) in [WebDisplayLinkHandler handleDisplayLink:]
https://bugs.webkit.org/show_bug.cgi?id=128490

Reviewed by Simon Fraser.

* platform/graphics/ios/DisplayRefreshMonitorIOS.mm:
(-[WebDisplayLinkHandler handleDisplayLink:]):
[WebDisplayLinkHandler handleDisplayLink:] has an ASSERT(WebThreadIsCurrent()).

We don't use the Web Thread in WebKit2, but it looks like isMainThread()
does the right thing (main thread if web thread is disabled, web thread
otherwise), so use that instead.

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

5 years agoAdd WTF_MAKE_FAST_ALLOCATED to more classes
andersca@apple.com [Sun, 9 Feb 2014 23:52:28 +0000 (23:52 +0000)]
Add WTF_MAKE_FAST_ALLOCATED to more classes
https://bugs.webkit.org/show_bug.cgi?id=128506

Reviewed by Andreas Kling.

Source/JavaScriptCore:

* bytecode/UnlinkedInstructionStream.h:
* runtime/SymbolTable.h:
* runtime/WriteBarrier.h:

Source/WebCore:

* dom/Node.h:
* dom/ScriptElement.h:
* loader/ImageLoader.h:
* loader/cache/CachedResourceClient.h:
* platform/TreeShared.h:
* platform/graphics/GlyphMetricsMap.h:
* rendering/InlineBox.h:
* rendering/RenderLayer.h:
* rendering/RenderObject.h:

Source/WTF:

* wtf/Bag.h:
* wtf/ListHashSet.h:

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

5 years agoObjective-C API NSDate conversion is off by 1000x (ms vs s)
mhahnenberg@apple.com [Sun, 9 Feb 2014 23:32:25 +0000 (23:32 +0000)]
Objective-C API NSDate conversion is off by 1000x (ms vs s)
https://bugs.webkit.org/show_bug.cgi?id=128386

Reviewed by Michael Saboff.

* API/JSValue.mm:
(valueToObjectWithoutCopy):
(valueToDate):
(objectToValueWithoutCopy):
* API/tests/DateTests.h: Added.
* API/tests/DateTests.mm: Added.
(+[DateTests NSDateToJSDateTest]):
(+[DateTests JSDateToNSDateTest]):
(+[DateTests roundTripThroughJSDateTest]):
(+[DateTests roundTripThroughObjCDateTest]):
* API/tests/testapi.mm:
(checkResult):
* JavaScriptCore.xcodeproj/project.pbxproj:

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

5 years agoPass VM instead of ExecState to JSCell::fastGetOwnProperty().
akling@apple.com [Sun, 9 Feb 2014 21:33:17 +0000 (21:33 +0000)]
Pass VM instead of ExecState to JSCell::fastGetOwnProperty().
<https://webkit.org/b/128497>

Knocks off a couple of instructions.

Reviewed by Anders Carlsson.

* dfg/DFGOperations.cpp:
* jit/JITOperations.cpp:
(JSC::getByVal):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::getByVal):
* runtime/JSCell.h:
* runtime/JSCellInlines.h:
(JSC::JSCell::fastGetOwnProperty):

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

5 years agoReduce ref churn in ChildNodesLazySnapshot iteration.
akling@apple.com [Sun, 9 Feb 2014 21:32:34 +0000 (21:32 +0000)]
Reduce ref churn in ChildNodesLazySnapshot iteration.
<https://webkit.org/b/128492>

Add a missing release() in ChildNodesLazySnapshot::nextNode()
so we don't have to churn the ref count.

Reviewed by Sam Weinig.

* dom/ContainerNode.h:
(WebCore::ChildNodesLazySnapshot::nextNode):

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

5 years agoReduce ref churn in ChildInsertionNotifier.
akling@apple.com [Sun, 9 Feb 2014 21:31:40 +0000 (21:31 +0000)]
Reduce ref churn in ChildInsertionNotifier.
<https://webkit.org/b/128494>

All callers of notifyNodeInsertedIntoDocument() already hold a strong
reference on the Node, so there's no need to ref it again inside.

Reviewed by Anders Carlsson.

* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):

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

5 years agoConvert some JSC code over to std::mutex
andersca@apple.com [Sun, 9 Feb 2014 18:47:28 +0000 (18:47 +0000)]
Convert some JSC code over to std::mutex
https://bugs.webkit.org/show_bug.cgi?id=128500

Reviewed by Dan Bernstein.

* API/JSVirtualMachine.mm:
(wrapperCacheMutex):
(+[JSVMWrapperCache addWrapper:forJSContextGroupRef:]):
(+[JSVMWrapperCache wrapperForJSContextGroupRef:]):
* heap/GCThreadSharedData.h:
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::mergeOpaqueRoots):
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::containsOpaqueRootTriState):
* inspector/remote/RemoteInspector.h:
* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::registerDebuggable):
(Inspector::RemoteInspector::unregisterDebuggable):
(Inspector::RemoteInspector::updateDebuggable):
(Inspector::RemoteInspector::sendMessageToRemoteFrontend):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::stop):
(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::xpcConnectionFailed):
(Inspector::RemoteInspector::pushListingSoon):
(Inspector::RemoteInspector::receivedIndicateMessage):
* inspector/remote/RemoteInspectorDebuggableConnection.h:
* inspector/remote/RemoteInspectorDebuggableConnection.mm:
(Inspector::RemoteInspectorDebuggableConnection::setup):
(Inspector::RemoteInspectorDebuggableConnection::closeFromDebuggable):
(Inspector::RemoteInspectorDebuggableConnection::close):
(Inspector::RemoteInspectorDebuggableConnection::sendMessageToBackend):
* jit/ExecutableAllocator.cpp:
(JSC::DemandExecutableAllocator::DemandExecutableAllocator):
(JSC::DemandExecutableAllocator::~DemandExecutableAllocator):
(JSC::DemandExecutableAllocator::bytesAllocatedByAllAllocators):
(JSC::DemandExecutableAllocator::bytesCommittedByAllocactors):
(JSC::DemandExecutableAllocator::dumpProfileFromAllAllocators):
(JSC::DemandExecutableAllocator::allocatorsMutex):

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

5 years agoManage ShadowData through std::unique_ptr
zandobersek@gmail.com [Sun, 9 Feb 2014 12:11:01 +0000 (12:11 +0000)]
Manage ShadowData through std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128466

Reviewed by Andreas Kling.

Use std::unique_ptr instead of OwnPtr to manage ShadowData objects.

* css/SVGCSSStyleSelector.cpp:
(WebCore::StyleResolver::applySVGProperty):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
(WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
(WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists):
(WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setTextShadow):
(WebCore::RenderStyle::setBoxShadow):
* rendering/style/RenderStyle.h:
* rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::setShadow):
* rendering/style/SVGRenderStyleDefs.cpp:
(WebCore::StyleShadowSVGData::StyleShadowSVGData):
* rendering/style/SVGRenderStyleDefs.h:
* rendering/style/ShadowData.cpp:
(WebCore::ShadowData::ShadowData):
* rendering/style/ShadowData.h:
(WebCore::ShadowData::setNext):
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
* rendering/style/StyleRareInheritedData.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
* rendering/style/StyleRareNonInheritedData.h:

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

5 years ago[GTK] Fix modifiers on EventSenderProxy::keyDown
commit-queue@webkit.org [Sun, 9 Feb 2014 11:39:30 +0000 (11:39 +0000)]
[GTK] Fix modifiers on EventSenderProxy::keyDown
https://bugs.webkit.org/show_bug.cgi?id=128496

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::keyDown): do not attempt to doubly transform modifiers
into GTK+ ones.

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

5 years ago.: [GTK] Enable touch features
commit-queue@webkit.org [Sun, 9 Feb 2014 10:55:50 +0000 (10:55 +0000)]
.: [GTK] Enable touch features
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

* Source/autotools/SetupWebKitFeatures.m4:
* Source/cmake/OptionsGTK.cmake: set ENABLE_TOUCH_EVENTS to 1 if building with GTK+.

Source/WebCore: [GTK] Add touch-events related code to build
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

Tests in fast/events/touch have been enabled on GTK+ now that touch
support is implemented, and thus all expected bits are there.

* platform/gtk/GtkTouchContextHelper.cpp:
* platform/gtk/GtkTouchContextHelper.h: Add helper object to track all touchpoints, handy
when creating WebTouchEvents.
* GNUmakefile.list.am:
* PlatformGTK.cmake:
* bindings/gobject/GNUmakefile.am: Add touch related code and idls to build, those are
necessary now that GTK+ implements touch events.

Source/WebKit/gtk: [GTK] Allow building with touch events enabled
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

Even though WebKit1 GTK code doesn't implement touch events,
Fix build if ENABLE_TOUCH_EVENTS is present for WK2.

* WebCoreSupport/ChromeClientGtk.h:
(WebKit::ChromeClient::needTouchEvents): Add empty stub

Source/WebKit2: [GTK] Implement support touch events
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

In GTK+ >= 3.4.0, GdkEventTouch is available to inform about multitouch events. Use these to implement
touch events on this platform. If a touch is left unhandled and is the "pointer emulating" one, mouse
events will be generated as a fallback.

* GNUmakefile.list.am:
* PlatformGTK.cmake:
* Shared/gtk/NativeWebTouchEventGtk.cpp:
* Shared/NativeWebTouchEvent.h:
(WebKit::NativeWebTouchEvent::nativeEvent):
(WebKit::NativeWebTouchEvent::touchContext): Add GTK+ implementation of NativeWebTouchEvent.
* Shared/gtk/WebEventFactory.cpp:
(WebKit::touchPhaseFromEvents):
(WebKit::WebEventFactory::createWebTouchEvent): Add methods to generate WebTouchEvents out
of GdkEventTouch events, a GtkTouchContextHelper object is used to hold information about all current
touches, in order to build information about all individual touchpoints.
* Shared/gtk/WebEventFactory.h:
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::doneWithTouchEvent): Implement pointer emulation. If a touch event was unhandled
in DOM and pertains to the touch sequence that emulates pointer events. The event gets transformed to its
mouse event counterpart and handled by the widget again.
* UIProcess/API/gtk/PageClientImpl.h:
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseRealize): Listen for touch events
(webkitWebViewBaseTouchEvent):
(webkit_web_view_base_class_init): Add implementation for the touch_events() handler, this merely
lets the pageProxy handle the NativeWebTouchEvent we create to wrap the GdkEvent received.

Tools: [GTK] Enable touch features
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::updateEventCoordinates):
(WTR::EventSenderProxy::createTouchEvent):
(WTR::EventSenderProxy::addTouchPoint):
(WTR::EventSenderProxy::updateTouchPoint):
(WTR::EventSenderProxy::sendUpdatedTouchEvents):
(WTR::EventSenderProxy::setTouchPointRadius):
(WTR::EventSenderProxy::setTouchModifier): Implement touch event proxying.

LayoutTests: [GTK] Enable touch features
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

* platform/gtk/TestExpectations: remove fast/events/touch
* platform/gtk-wk2/TestExpectations: Add new expectations on
fast/events/touch events.

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

5 years agoUnreviewed, rolling out r162768.
commit-queue@webkit.org [Sun, 9 Feb 2014 10:31:33 +0000 (10:31 +0000)]
Unreviewed, rolling out r162768.
http://trac.webkit.org/changeset/162768
https://bugs.webkit.org/show_bug.cgi?id=128495

Causes crashes on GTK WK2 in three fast/forms tests.
(Requested by zdobersek on #webkit).

* UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::showPopupMenu):

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

5 years agoSwitch the rest of CSS code from OwnPtr over to std::unique_ptr
zandobersek@gmail.com [Sun, 9 Feb 2014 08:58:56 +0000 (08:58 +0000)]
Switch the rest of CSS code from OwnPtr over to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128471

Reviewed by Andreas Kling.

Replace the remaining uses of OwnPtr in the CSS code with std::unique_ptr, covering
the CSSParser, CSSParserSelector and CSSSelector classes and a few additional, closely related classes.

* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseSheet):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::markSupportsRuleHeaderStart):
(WebCore::CSSParser::createKeyframesRule):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::rewriteSpecifiersWithElementName):
(WebCore::CSSParser::rewriteSpecifiers):
* css/CSSParser.h:
* css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::CSSParserSelector):
(WebCore::CSSParserSelector::~CSSParserSelector):
(WebCore::CSSParserSelector::adoptSelectorVector):
(WebCore::CSSParserSelector::insertTagHistory):
(WebCore::CSSParserSelector::appendTagHistory):
(WebCore::CSSParserSelector::prependTagSelector):
* css/CSSParserValues.h:
(WebCore::CSSParserSelector::releaseSelector):
(WebCore::CSSParserSelector::setTagHistory):
(WebCore::CSSParserSelector::clearTagHistory):
* css/CSSSelector.cpp:
(WebCore::CSSSelector::setSelectorList):
* css/CSSSelector.h:
* css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::adoptSelectorVector):
* css/CSSSelectorList.h:
* css/CSSValueList.cpp:
* css/StyleRule.cpp:
(WebCore::StyleRuleRegion::StyleRuleRegion):
* css/StyleRule.h:
(WebCore::StyleRule::parserAdoptSelectorVector):
(WebCore::StyleRulePage::parserAdoptSelectorVector):
(WebCore::StyleRuleRegion::create):

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

5 years agoManage MutationObserverInterestGroup through std::unique_ptr
zandobersek@gmail.com [Sun, 9 Feb 2014 08:33:19 +0000 (08:33 +0000)]
Manage MutationObserverInterestGroup through std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128468

Reviewed by Andreas Kling.

Use std::unique_ptr instead of OwnPtr for managing MutationObserverInterestGroup objects.

* css/PropertySetCSSStyleDeclaration.cpp:
* dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
* dom/ChildListMutationScope.cpp:
(WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator):
* dom/ChildListMutationScope.h:
(WebCore::ChildListMutationAccumulator::hasObservers):
* dom/Element.cpp:
(WebCore::Element::willModifyAttribute):
* dom/MutationObserverInterestGroup.cpp:
(WebCore::MutationObserverInterestGroup::createIfNeeded):
* dom/MutationObserverInterestGroup.h:
(WebCore::MutationObserverInterestGroup::createForChildListMutation):
(WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
(WebCore::MutationObserverInterestGroup::createForAttributesMutation):

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

5 years agoUnreviewed, rolling out r163737.
commit-queue@webkit.org [Sun, 9 Feb 2014 08:19:36 +0000 (08:19 +0000)]
Unreviewed, rolling out r163737.
http://trac.webkit.org/changeset/163737
https://bugs.webkit.org/show_bug.cgi?id=128491

Caused 8+ tests to fail on Mavericks and Mountain Lion bots
(Requested by rniwa on #webkit).

* runtime/JSString.h:
(JSC::jsSingleCharacterString):
(JSC::jsSingleCharacterSubstring):
(JSC::jsString):
(JSC::jsSubstring8):
* runtime/SmallStrings.cpp:
(JSC::SmallStringsStorage::SmallStringsStorage):
(JSC::SmallStrings::SmallStrings):

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

5 years agoManage MessagePort, MessagePortChannel and friends through std::unique_ptr
zandobersek@gmail.com [Sun, 9 Feb 2014 08:18:11 +0000 (08:18 +0000)]
Manage MessagePort, MessagePortChannel and friends through std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128467

Reviewed by Andreas Kling.

Use std::unique_ptr instead of OwnPtr to manage MessagePort, MessagePortArray, MessagePortChannel
and MessagePortChannelArray objects.

* bindings/js/JSMessageEventCustom.cpp:
(WebCore::handleInitMessageEvent):
* dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent):
(WebCore::MessageEvent::initMessageEvent):
* dom/MessageEvent.h:
(WebCore::MessageEvent::create):
* dom/MessagePort.cpp:
(WebCore::MessagePort::postMessage):
(WebCore::MessagePort::disentangle):
(WebCore::MessagePort::entangle):
(WebCore::MessagePort::dispatchMessages):
(WebCore::MessagePort::disentanglePorts):
(WebCore::MessagePort::entanglePorts):
* dom/MessagePort.h:
* dom/MessagePortChannel.h:
* dom/default/PlatformMessagePortChannel.cpp:
(WebCore::PlatformMessagePortChannel::EventData::EventData):
(WebCore::MessagePortChannel::createChannel):
(WebCore::MessagePortChannel::postMessageToRemote):
(WebCore::MessagePortChannel::tryGetMessageFromRemote):
* dom/default/PlatformMessagePortChannel.h:
(WebCore::PlatformMessagePortChannel::EventData::channels):
* page/DOMWindow.cpp:
(WebCore::PostMessageTimer::PostMessageTimer):
(WebCore::PostMessageTimer::event):
(WebCore::DOMWindow::postMessage):
* workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::postMessage):
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerConnectTask::create):
(WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
(WebCore::SharedWorkerConnectTask::performTask):
(WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
(WebCore::SharedWorkerScriptLoader::notifyFinished):
(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
(WebCore::DefaultSharedWorkerRepository::connectToWorker):
* workers/DefaultSharedWorkerRepository.h:
* workers/SharedWorker.cpp:
(WebCore::SharedWorker::create):
* workers/SharedWorkerGlobalScope.cpp:
(WebCore::createConnectEvent):
* workers/SharedWorkerRepository.cpp:
(WebCore::SharedWorkerRepository::connect):
* workers/SharedWorkerRepository.h:
* workers/Worker.cpp:
(WebCore::Worker::postMessage):
* workers/WorkerGlobalScopeProxy.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::MessageWorkerGlobalScopeTask::create):
(WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask):
(WebCore::MessageWorkerGlobalScopeTask::performTask):
(WebCore::MessageWorkerTask::create):
(WebCore::MessageWorkerTask::MessageWorkerTask):
(WebCore::MessageWorkerTask::performTask):
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
* workers/WorkerMessagingProxy.h:
* workers/WorkerObjectProxy.h:

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

5 years agoLet Instruments time profiler run until tests finish.
akling@apple.com [Sun, 9 Feb 2014 07:29:10 +0000 (07:29 +0000)]
Let Instruments time profiler run until tests finish.
<https://webkit.org/b/128488>

Pass "-T 0" to iprofiler to ensure that we get a time profile of the
entire performance test run instead of just the first 10 seconds.

Reviewed by Brady Eidson.

* Scripts/webkitpy/common/system/profiler.py:
(IProfiler.attach_to_pid):

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

5 years agoIDB: storage/indexeddb/mozilla/object-cursors.html fails
beidson@apple.com [Sun, 9 Feb 2014 06:08:37 +0000 (06:08 +0000)]
IDB: storage/indexeddb/mozilla/object-cursors.html fails
<rdar://problem/16020585> and https://bugs.webkit.org/show_bug.cgi?id=128479

Reviewed by Dan Bernstein.

Source/WebKit2:

* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Update the IndexInfo
  table schema to allow for indexes with the same id/name as previous indexes.
  But with different object stores, of course.

LayoutTests:

* platform/mac-wk2/TestExpectations: Enable the test.

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

5 years agoIDB: storage/indexeddb/mozilla/index-prev-no-duplicate.html fails
beidson@apple.com [Sun, 9 Feb 2014 06:07:30 +0000 (06:07 +0000)]
IDB: storage/indexeddb/mozilla/index-prev-no-duplicate.html fails
<rdar://problem/16018918> and https://bugs.webkit.org/show_bug.cgi?id=128444

Reviewed by Dan Bernstein.

Source/WebKit2:

* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
(WebKit::getIndexStatement): Return different statements for unique cursors that will
  sort the values in reverse of the cursor direction, matching expected IndexedDB behavior.
(WebKit::SQLiteIDBCursor::establishStatement):

* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::uncheckedPutIndexRecord): Insert the values as
  strings since we need the collation function to be called for proper sorting.

LayoutTests:

* platform/mac-wk2/TestExpectations: Enable the test.

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

5 years agoBuild fix after r163739.
rniwa@webkit.org [Sun, 9 Feb 2014 05:48:00 +0000 (05:48 +0000)]
Build fix after r163739.

* WebCoreSupport/WebFrameIOS.mm:
(-[WebFrame collapseSelection]):
(-[WebFrame aggressivelyExpandSelectionToWordContainingCaretSelection]):

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

5 years agoCleanup the interface of FrameSelection
rniwa@webkit.org [Sun, 9 Feb 2014 04:58:12 +0000 (04:58 +0000)]
Cleanup the interface of FrameSelection
https://bugs.webkit.org/show_bug.cgi?id=128481

Reviewed by Andreas Kling.

Source/WebCore:

Removed FrameSelection::end() as intended in r163232, and the stale declaration of
paintDragCaret() which was supposed to be removed when we extracted DragCaretController.

Renamed caretRenderer() to caretRendererWithoutUpdatingLayout() to clarify the contract
as the only caller of this function is RenderBlock::paintCaret. Also renamed bounds()
to selectionBounds() to make it more easily identifiable / grep'able.

In addition, made recomputeCaretRect() and invalidateCaretRect() private.

* WebCore.exp.in:
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
(WebCore::FrameSelection::selectionBounds):
(WebCore::FrameSelection::revealSelection):
* editing/FrameSelection.h:
(WebCore::FrameSelection::setCaretVisible):
* page/DragController.cpp:
(WebCore::dragLocForSelectionDrag):
* page/FrameSnapshotting.cpp:
(WebCore::snapshotSelection):
* page/win/FrameWin.cpp:
(WebCore::imageFromSelection):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintCaret):
* testing/Internals.cpp:
(WebCore::Internals::selectionBounds):

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::selectionRectangle):

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::rectangleForSelection):

Source/WebKit/mac:

* WebView/WebHTMLView.mm:
(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
(-[WebHTMLView selectionRect]):
(-[WebHTMLView selectionImageRect]):

Source/WebKit/win:

* WebView.cpp:
(WebView::selectionRect):

Source/WebKit2:

* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::getFindIndicatorBitmapAndRect):
(WebKit::FindController::drawRect):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scaledSnapshotWithOptions):

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

5 years agoReverted part of r163734, because the assertion it enabled still fails when running
mitz@apple.com [Sun, 9 Feb 2014 04:31:18 +0000 (04:31 +0000)]
Reverted part of r163734, because the assertion it enabled still fails when running
loader/load-defer-resume-crash.html

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::dataReceived):

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

5 years agoSimplify single character substrings in JSC
andersca@apple.com [Sun, 9 Feb 2014 03:51:46 +0000 (03:51 +0000)]
Simplify single character substrings in JSC
https://bugs.webkit.org/show_bug.cgi?id=128483

Reviewed by Andreas Kling.

With the recent work to make StringImpl occupy less space, it is actually more
efficient to allocate a single character string that it is to use createSubstringSharingImpl!

* runtime/JSString.h:
(JSC::jsSingleCharacterString):
(JSC::jsSingleCharacterSubstring):
(JSC::jsString):
(JSC::jsSubstring8):
* runtime/SmallStrings.cpp:
(JSC::SmallStringsStorage::SmallStringsStorage):
(JSC::SmallStrings::SmallStrings):

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

5 years agoEFL build fix after r163729.
rniwa@webkit.org [Sun, 9 Feb 2014 03:36:56 +0000 (03:36 +0000)]
EFL build fix after r163729.

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::version):

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

5 years agoWeb Inspector: show probe sets for script content views in the details sidebar
bburg@apple.com [Sun, 9 Feb 2014 02:56:50 +0000 (02:56 +0000)]
Web Inspector: show probe sets for script content views in the details sidebar
https://bugs.webkit.org/show_bug.cgi?id=128333

Reviewed by Timothy Hatcher.

This patch adds a new details sidebar for showing the probes associated with any
breakpoint in the currently visible source file. Each probe set (corresponding to
multiple actions of single breakpoint) gets its own ProbeSetDetailsSection. The
section contains a custom DataGrid subclass to display probe data, and some icons
for clearing samples, deleting the probe, and adding a new probe expression.

The table containing probe data keeps its columns in sync with the probe set's
probe expressions. To support this, DataGrid has been further refactored to support
removing columns, and inserting columns (rather than only appending). With this
capability, probe columns are removed and re-inserted when the expression changes.

The availability of the probe details sidebar is controlled by providing the
probe sets matching the script content view's resource URL as supplemental
represented objects.

Lastly, added the utility EventListenerSet class. This holds a set of event listeners
that should be added and removed together, and takes care of binding `thisObject`
according to whether the event emitter is a `Node` or `WebInspector.Object`.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/BreakpointActionView.js:
(WebInspector.BreakpointActionView):
(WebInspector.BreakpointActionView.prototype._removeAction): Renamed from removeButtonClicked.
(WebInspector.BreakpointActionView.prototype._codeMirrorBlurred): Change the behavior
of CodeMirror-backed editors for probe and evaluate expression actions. If the expression
consists entirely of trimmable whitespace, then delete the action rather than saving it.

* UserInterface/DataGrid.js:
(WebInspector.DataGrid): Copy over the column data into a map inside insertColumn() instead.
(WebInspector.DataGrid.prototype.insertColumn): Renamed from addColumn. It now takes an
optional `insertionIndex` argument and splices the column before the element at that index.
Also, convert code to use EventListenerSet for adding/removing per-column event listeners.

(WebInspector.DataGrid.prototype.removeColumn): Added. It splices the column out.
(WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle): Whitespace.
* UserInterface/EventListenerSet.js: Added.
(WebInspector.EventListenerSet):
(WebInspector.EventListenerSet.prototype.register):
(WebInspector.EventListenerSet.prototype.unregister):
(WebInspector.EventListenerSet.prototype.install):
(WebInspector.EventListenerSet.prototype.uninstall):
* UserInterface/Images/NavigationItemProbes.pdf: Added.
* UserInterface/LayerTreeDataGrid.js:
(WebInspector.LayerTreeDataGrid.prototype._updateChildren): Fix a missing column.get().
* UserInterface/Main.html: Add new JavaScript and CSS files.
* UserInterface/Main.js:
(WebInspector.contentLoaded): Add the probe details sidebar.
* UserInterface/ProbeDetailsSidebarPanel.css: Added.
(.sidebar > .panel.probes > .navigation-bar):
(.sidebar > .panel.probes > .content):
(.details-section.probe-set .options > .probe-add):
(.details-section.probe-set .options > .probe-clear-samples):
(.details-section.probe-set .options > .probe-remove):
(.details-section.probe-set .options > input):
(.panel.probes ::-webkit-scrollbar):
(.panel.probes ::-webkit-scrollbar-track):
(.panel.probes ::-webkit-scrollbar-thumb):
(.panel.probes ::-webkit-scrollbar-corner):
(.popover .probe-popover):
(.popover .probe-popover input):
* UserInterface/ProbeDetailsSidebarPanel.js: Added.
(WebInspector.ProbeDetailsSidebarPanel):
(WebInspector.ProbeDetailsSidebarPanel.prototype.get inspectedProbeSets):
(WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded):
* UserInterface/ProbeManager.js: Remove unused `probeSetForBreakpoint` function.
* UserInterface/ProbeSet.js: Fix erroneous uses of `probe.identifier` instead of `probe.id`.
(WebInspector.ProbeSet.prototype.removeProbe):
(WebInspector.ProbeSet.prototype._sampleCollected):
* UserInterface/ProbeSetDataGrid.css: Added.
(.details-section.probe-set .data-grid .data-container tr.past-value td):
(.details-section.probe-set .data-grid > .data-container td.unknown-value):
(.details-section.probe-set .data-grid .data-container tr.revealed.highlighted):
(@-webkit-keyframes blink-frame-highlight):
(100%):
(.details-section.probe-set .data-grid .data-container tr.separator):
(.details-section.probe-set .data-grid > .data-container tr.data-updated):
(@-webkit-keyframes blink-probe-frame):
(.details-section.probe-set .data-grid .data-container .selected .section *):
(.details-section.probe-set .data-grid .data-container .selected td.unknown-value):
(.details-section.probe-set .data-grid .data-container .section):
(.details-section.probe-set .data-grid th):
(.details-section.probe-set .data-grid th:not(:last-child)):
(.details-section.probe-set .data-grid td):
* UserInterface/ProbeSetDataGrid.js: Added.
(WebInspector.ProbeSetDataGrid):
(WebInspector.ProbeSetDataGrid.prototype.closed):
(WebInspector.ProbeSetDataGrid.prototype._setupProbe):
(WebInspector.ProbeSetDataGrid.prototype._teardownProbe):
(WebInspector.ProbeSetDataGrid.prototype._setupData):
(WebInspector.ProbeSetDataGrid.prototype._teardownData):
(WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame.else.sortFunction):
(WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame.else.set node):
(WebInspector.ProbeSetDataGrid.prototype._dataFrameInserted):
(WebInspector.ProbeSetDataGrid.prototype._dataSeparatorInserted):
(WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged.get var):
* UserInterface/ProbeSetDataGridNode.js: Added.
(WebInspector.ProbeSetDataGridNode):
(WebInspector.ProbeSetDataGridNode.prototype.get element):
(WebInspector.ProbeSetDataGridNode.prototype.get data):
(WebInspector.ProbeSetDataGridNode.prototype.set frame):
(WebInspector.ProbeSetDataGridNode.prototype.get frame):
(WebInspector.ProbeSetDataGridNode.prototype.createCellContent):
(WebInspector.ProbeSetDataGridNode.prototype.updateCellsFromFrame):
(WebInspector.ProbeSetDataGridNode.prototype.updateCellsForSeparator):
* UserInterface/ProbeSetDataTable.js:
(WebInspector.ProbeSetDataTable.prototype.removeProbe): Fix a typo in for..of loop refactor.
* UserInterface/ProbeSetDetailsSection.js: Added.
(WebInspector.ProbeSetDetailsSection):
(WebInspector.ProbeSetDetailsSection.prototype.closed):
(WebInspector.ProbeSetDetailsSection.prototype._probeSetPositionTextOrLink):
(WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked):
(WebInspector.ProbeSetDetailsSection.prototype._removeButtonClicked):
(WebInspector.ProbeSetDetailsSection.prototype._clearSamplesButtonClicked):
* UserInterface/TextResourceContentView.js:
(WebInspector.TextResourceContentView):
(WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects):
Add probe sets whose breakpoint matches the represented object's URL.
(WebInspector.TextResourceContentView.prototype._probeSetsChanged): Tell listeners
to re-fetch `supplementalRepresentedObjects` when probe sets are added or removed.

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

5 years agoRemove outdated workarounds in DocumentLoader::dataReceived
mitz@apple.com [Sun, 9 Feb 2014 02:37:38 +0000 (02:37 +0000)]
Remove outdated workarounds in DocumentLoader::dataReceived
https://bugs.webkit.org/show_bug.cgi?id=128465

Reviewed by Andreas Kling.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::dataReceived):

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

5 years agoBaseline JIT uses the wrong version of checkMarkWord in emitWriteBarrier
mhahnenberg@apple.com [Sun, 9 Feb 2014 01:43:21 +0000 (01:43 +0000)]
Baseline JIT uses the wrong version of checkMarkWord in emitWriteBarrier
https://bugs.webkit.org/show_bug.cgi?id=128474

Reviewed by Michael Saboff.

* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitWriteBarrier):

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

5 years agoRemove some unused functions from SerializedScriptValue
ap@apple.com [Sun, 9 Feb 2014 01:21:32 +0000 (01:21 +0000)]
Remove some unused functions from SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128407

Reviewed by Oliver Hunt.

Removed more unused code, particularly in API helpers. Renamed one serialize()
function to create(), because it does the same thing as other create() functions.

* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::put):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::deserialize):
* bindings/js/SerializedScriptValue.h:

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

5 years agoRemove use of PLATFORM(MAC) from WebKit/mac
mitz@apple.com [Sun, 9 Feb 2014 01:13:50 +0000 (01:13 +0000)]
Remove use of PLATFORM(MAC) from WebKit/mac
https://bugs.webkit.org/show_bug.cgi?id=128476

Reviewed by Anders Carlsson.

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

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

5 years agoRename a field and some variables in JSLock to better describe what they contain.
mark.lam@apple.com [Sun, 9 Feb 2014 00:46:17 +0000 (00:46 +0000)]
Rename a field and some variables in JSLock to better describe what they contain.
<https://webkit.org/b/128475>

Reviewed by Oliver Hunt.

* runtime/JSLock.cpp:
(JSC::JSLock::dropAllLocks):
(JSC::JSLock::dropAllLocksUnconditionally):
(JSC::JSLock::grabAllLocks):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):
* runtime/JSLock.h:

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

5 years agoIDB: storage/indexeddb/mozilla/versionchange-abort.html fails
beidson@apple.com [Sun, 9 Feb 2014 00:01:16 +0000 (00:01 +0000)]
IDB: storage/indexeddb/mozilla/versionchange-abort.html fails
<rdar://problem/16018887> and https://bugs.webkit.org/show_bug.cgi?id=128442

Reviewed by Dan Bernstein.

Source/WebCore:

Tested by storage/indexeddb/mozilla/versionchange-abort.html (and probably others)

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::version): If the version is NoIntVersion, return DefaultIntVersion to script.

LayoutTests:

* platform/mac-wk2/TestExpectations: Enable the test.
  Also add all the other storage/indexeddb/mozilla test with expectations as they
  are what I’m focusing on right now.

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

5 years agoIDB: storage/indexeddb/mozilla/cursors.html fails
beidson@apple.com [Sun, 9 Feb 2014 00:00:30 +0000 (00:00 +0000)]
IDB: storage/indexeddb/mozilla/cursors.html fails
<rdar://problem/16017998> and https://bugs.webkit.org/show_bug.cgi?id=128423

Reviewed by Dan Bernstein.

Source/WebCore:

Tested by storage/indexeddb/mozilla/cursors.html (And probably others)

* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::OpenCursorOperation::perform): Distinguish between an error while opening the cursor
  and opening a cursor that points to no records.

Source/WebKit2:

* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
(WebKit::SQLiteIDBCursor::internalAdvanceOnce): Store the primary key for object store cursors.
(WebKit::SQLiteIDBCursor::iterate): We’re not supposed to check for equality to the target key.
  Depending on the direction of the cursor we should check for the next highest or next lowest key.

LayoutTests:

* platform/mac-wk2/TestExpectations: Unskip storage/indexeddb/mozilla/cursors.html.

Revert the change to storage/indexeddb/mozilla/clear.html as it is now clear how a
null cursor might be returned from openCursor:
* storage/indexeddb/mozilla/clear-expected.txt:
* storage/indexeddb/mozilla/resources/clear.js:

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

5 years agoStop using getCharactersWithUpconvert in JavaScriptCore
andersca@apple.com [Sat, 8 Feb 2014 23:31:35 +0000 (23:31 +0000)]
Stop using getCharactersWithUpconvert in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=128457

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Change substituteBackreferencesSlow to take StringViews and use a StringBuilder instead of upconverting
if the source or replacement strings area 16-bit.

* runtime/StringPrototype.cpp:
(JSC::substituteBackreferencesSlow):
(JSC::substituteBackreferences):

Source/WTF:

* wtf/text/StringBuilder.h:
(WTF::StringBuilder::append):
Add a new overload that takes a StringView.

* wtf/text/StringView.h:
(WTF::StringView::find):
Add new find member function.

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

5 years agoRemove unused ChromeClient::layoutUpdated().
akling@apple.com [Sat, 8 Feb 2014 22:29:34 +0000 (22:29 +0000)]
Remove unused ChromeClient::layoutUpdated().
<https://webkit.org/b/128470>

Nobody listens for this callback anymore so remove it.

Reviewed by Anders Carlsson.

* page/Chrome.cpp:
* page/Chrome.h:
* page/ChromeClient.h:
* page/FrameView.cpp:
(WebCore::FrameView::layout):

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

5 years agoStop using PLATFORM(MAC) in WebCore except where it means “OS X but not iOS”
mitz@apple.com [Sat, 8 Feb 2014 22:26:50 +0000 (22:26 +0000)]
Stop using PLATFORM(MAC) in WebCore except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128464

Reviewed by Anders Carlsson.

* Modules/webaudio/AudioContext.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebCore::AudioContext::constructCommon):
* accessibility/AccessibilityNodeObject.cpp: Ditto.
(WebCore::AccessibilityNodeObject::visibleText):
* accessibility/AccessibilityObject.h: Ditto.
* accessibility/AccessibilityRenderObject.cpp: Ditto.
(WebCore::AccessibilityRenderObject::clickPoint):
(WebCore::AccessibilityRenderObject::visiblePositionForPoint):
(WebCore::AccessibilityRenderObject::addChildren):
* accessibility/AccessibilityRenderObject.h: Ditto.
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::platform): Made it explicit that this function returns
"mac" when built for iOS.
* bindings/js/ScriptController.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebCore::ScriptController::ScriptController):
* bindings/js/ScriptController.h: Ditto.
* crypto/CryptoKey.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) &&
!PLATFORM(GTK) when checking for whether to use CoreCrypto.
* crypto/keys/CryptoKeyRSA.h: Ditto.
* dom/Clipboard.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* dom/Document.cpp: Ditto.
(WebCore::Document::implicitClose):
* dom/KeyboardEvent.h: Ditto.
* editing/Editor.cpp: Ditto.
(WebCore::Editor::cut):
(WebCore::Editor::copy):
(WebCore::Editor::copyImage):
* editing/Editor.h: Ditto.
* editing/FrameSelection.h: Ditto.
* editing/TypingCommand.cpp: Ditto.
(WebCore::TypingCommand::typingAddedToOpenCommand):
* history/HistoryItem.h: Ditto.
* html/HTMLMediaElement.cpp: Ditto.
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLMediaElement.h: Ditto.
* html/HTMLPlugInElement.cpp: Ditto.
(WebCore::registeredPluginReplacements):
* html/HTMLPlugInImageElement.cpp: Ditto.
(WebCore::HTMLPlugInImageElement::setDisplayState):
* html/HTMLSelectElement.cpp: Ditto.
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
* html/shadow/MediaControlElements.cpp: Ditto.
(WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
* html/shadow/MediaControlElements.h: Ditto.
* inspector/InspectorIndexedDBAgent.cpp: Ditto.
* loader/CookieJar.cpp: Ditto.
* loader/DocumentLoader.cpp: Ditto.
(WebCore::DocumentLoader::dataReceived):
* loader/DocumentLoader.h: Ditto.
(WebCore::DocumentLoader::didTellClientAboutLoad):
* loader/EmptyClients.h: Ditto.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadArchive): Added !PLATFORM(IOS) around Mac-only workaround.
(WebCore::FrameLoader::defaultObjectContentType): Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebCore::FrameLoader::subresourceCachePolicy): Ditto.
* loader/ResourceBuffer.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around functions that
are implemented using Foundation.
* loader/ResourceLoadScheduler.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebCore::ResourceLoadScheduler::scheduleLoad):
* loader/ResourceLoader.cpp: Ditto.
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
* loader/ResourceLoader.h: Ditto.
* loader/archive/cf/LegacyWebArchive.cpp: Ditto.
* loader/cache/CachedResource.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION) around function
that is implemented using other USE(FOUNDATION)-guarded code.
* loader/cache/CachedResource.h: Ditto.
* page/Chrome.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* page/ChromeClient.h: Ditto.
* page/ContextMenuClient.h: Ditto.
* page/ContextMenuController.cpp: Ditto.
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::createAndAppendFontSubMenu):
(WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded):
* page/DragClient.h: Ditto.
* page/DragController.cpp: Ditto.
(WebCore::dragLocForDHTMLDrag):
(WebCore::dragLocForSelectionDrag):
(WebCore::DragController::startDrag):
(WebCore::DragController::doImageDrag):
* page/EditorClient.h: Ditto.
* page/EventHandler.cpp: Ditto.
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::handleMouseDraggedEvent):
(WebCore::EventHandler::logicalScrollRecursively):
(WebCore::EventHandler::clearDragState):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::defaultWheelEventHandler):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
* page/EventHandler.h: Ditto.
* page/FrameView.cpp: Ditto.
(WebCore::FrameView::layout):
* page/Page.h: Ditto.
* page/Settings.cpp: Ditto.
* page/Settings.h: Ditto.
* page/scrolling/ScrollingCoordinator.cpp: Ditto.
* page/scrolling/ScrollingCoordinator.h: Ditto.
* page/scrolling/ScrollingStateNode.h: Removed unused #include.
* page/scrolling/ScrollingThread.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebCore::ScrollingThread::createThreadIfNeeded):
* page/scrolling/ScrollingThread.h: Ditto.
* platform/network/cf/ResourceRequest.h: Added !PLATFORM(IOS) around
applyWebArchiveHackForMail.
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::applyWebArchiveHackForMail): Ditto.
* platform/network/mac/ResourceRequestMac.mm:
(WebCore::ResourceRequest::applyWebArchiveHackForMail): Ditto.
* plugins/PluginViewNone.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
* rendering/RenderBox.cpp: Ditto.
(WebCore::RenderBox::logicalScroll):
* rendering/RenderLayerBacking.cpp: Ditto.
(WebCore::RenderLayerBacking::createGraphicsLayer):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
* rendering/RenderMenuList.h: Ditto.
* rendering/RenderText.cpp: Ditto.
(WebCore::RenderText::previousOffsetForBackwardDeletion):
* rendering/break_lines.cpp: Removed unused #include.
* testing/js/WebCoreTestSupport.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* xml/XSLStyleSheetLibxslt.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) &&
!PLATFORM(GTK) around soft-linking libxslt.
* xml/XSLTExtensions.cpp: Ditto.
* xml/XSLTProcessorLibxslt.cpp: Ditto.
* xml/XSLTUnicodeSort.cpp: Ditto.

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

5 years agoRemove unused ChromeClient::formStateDidChange().
akling@apple.com [Sat, 8 Feb 2014 22:20:07 +0000 (22:20 +0000)]
Remove unused ChromeClient::formStateDidChange().
<https://webkit.org/b/128469>

Nobody listens for this callback anymore so remove it and stop
spamming no-op virtual dispatches in forms code.

Reviewed by Anders Carlsson.

* html/FileInputType.cpp:
(WebCore::FileInputType::setFiles):
* html/HTMLFormControlElementWithState.cpp:
* html/HTMLFormControlElementWithState.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::setValue):
(WebCore::HTMLInputElement::setValueFromRenderer):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::selectOption):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::updateValue):
(WebCore::HTMLTextAreaElement::setValueCommon):
* loader/EmptyClients.h:
* page/ChromeClient.h:

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

5 years agoWeb Inspector: Find evaluates attributes in a case sensitive manner
commit-queue@webkit.org [Sat, 8 Feb 2014 22:11:20 +0000 (22:11 +0000)]
Web Inspector: Find evaluates attributes in a case sensitive manner
https://bugs.webkit.org/show_bug.cgi?id=128405

Patch by Chris J. Shull <chrisjshull@gmail.com> on 2014-02-08
Reviewed by Timothy Hatcher.

Source/WebCore:

Changed matchesAttribute to ignore case.

Updated existing test with additional cases:
inspector-protocol/dom/dom-search.html

* inspector/InspectorNodeFinder.cpp:
(WebCore::InspectorNodeFinder::matchesAttribute):

LayoutTests:

Added checks for searches where capitalization in the attributes did not match the capitalization in the search. Also fleshed out other search types with checks for valid capitalization differences.

* inspector-protocol/dom/dom-search-expected.txt:
* inspector-protocol/dom/resources/dom-search-queries.js:

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

5 years agoRemove unused FrameLoaderClient::dispatchWillOpenSocketStream().
akling@apple.com [Sat, 8 Feb 2014 22:05:38 +0000 (22:05 +0000)]
Remove unused FrameLoaderClient::dispatchWillOpenSocketStream().
<https://webkit.org/b/128472>

Nobody listens for this callback anymore so remove it.

Reviewed by Anders Carlsson.

* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::willOpenSocketStream):
* loader/FrameLoaderClient.h:

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

5 years agoSplit UserTriggered into FireSelectEvent and RevealSelection for selection options
rniwa@webkit.org [Sat, 8 Feb 2014 21:40:32 +0000 (21:40 +0000)]
Split UserTriggered into FireSelectEvent and RevealSelection for selection options
https://bugs.webkit.org/show_bug.cgi?id=128441

Reviewed by Darin Adler.

Split UserTriggered by FireSelectEvent and RevealSelection for selection options.

Also added defaultSetSelectionOptions() to abstract away the default options.

* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
* editing/Editor.cpp:
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::reappliedEditing):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::moveTo):
(WebCore::FrameSelection::setSelectionByMouseIfDifferent): UserTriggered | DoNotRevealSelection
is replaced by FireSelectEvent.
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance): Check options & FireSelectEvent
instead of options & UserTriggered.
(WebCore::FrameSelection::setSelection): Check options & RevealSelection instead of
options & UserTriggered && !(options & DoNotRevealSelection).
(WebCore::FrameSelection::prepareForDestruction):
(WebCore::FrameSelection::setBase):
(WebCore::FrameSelection::setExtent):
(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::wordSelectionContainingCaretSelection):
* editing/FrameSelection.h:
(WebCore::FrameSelection::defaultSetSelectionOptions): Added.
* editing/SpellingCorrectionCommand.cpp:
(WebCore::SpellingCorrectionCommand::doApply):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::selectionChanged): Renamed the argument.
* html/HTMLTextFormControlElement.h:

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

5 years agoAdded project.xcworkspace to the svn:ignore property of gtest.xcodeproj.
mitz@apple.com [Sat, 8 Feb 2014 20:58:54 +0000 (20:58 +0000)]
Added project.xcworkspace to the svn:ignore property of gtest.xcodeproj.

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

5 years agoMove TreeScope, IdTargetObserverRegistry to std::unique_ptr
zandobersek@gmail.com [Sat, 8 Feb 2014 20:10:00 +0000 (20:10 +0000)]
Move TreeScope, IdTargetObserverRegistry to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=127276

Reviewed by Andreas Kling.

Replace uses of OwnPtr in the TreeScope and IdTargetObserverRegistry classes with std::unique_ptr.

* dom/IdTargetObserverRegistry.cpp:
(WebCore::IdTargetObserverRegistry::addObserver):
* dom/IdTargetObserverRegistry.h:
(WebCore::IdTargetObserverRegistry::IdTargetObserverRegistry):
* dom/TreeScope.cpp:
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::destroyTreeScopeData):
(WebCore::TreeScope::addElementById):
(WebCore::TreeScope::addElementByName):
(WebCore::TreeScope::addImageMap):
(WebCore::TreeScope::labelElementForId):
* dom/TreeScope.h:
(WebCore::TreeScope::shouldCacheLabelsByForAttribute):

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

5 years agoSlight CTTE in PingLoader
andersca@apple.com [Sat, 8 Feb 2014 20:02:40 +0000 (20:02 +0000)]
Slight CTTE in PingLoader
https://bugs.webkit.org/show_bug.cgi?id=128462

Reviewed by Dan Bernstein.

PingLoader always wants a non-null frame.

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::sendPings):
* html/parser/XSSAuditorDelegate.cpp:
(WebCore::XSSAuditorDelegate::didBlockScript):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::continueAfterPingLoader):
* loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::sendViolationReport):
(WebCore::PingLoader::createPingLoader):
(WebCore::PingLoader::PingLoader):
* loader/PingLoader.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestImage):
* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation):

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

5 years agoRemove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)
mitz@apple.com [Sat, 8 Feb 2014 19:58:21 +0000 (19:58 +0000)]
Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)
https://bugs.webkit.org/show_bug.cgi?id=128456

Reviewed by Anders Carlsson.

Source/WebCore:

Updated fast/css/getComputedStyle and svg/css results.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue): Removed CSSPropertyWebKitHighlight case.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Ditto.
* css/CSSPropertyNames.in: Removed -webkit-highlight.
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Removed
CSSPropertyWebKitHighlight handler.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty): Removed CSSPropertyWebKitHighlight case.
* page/Chrome.cpp: Removed customHighlightRect and paintCustomHighlight.
* page/ChromeClient.h: Ditto.
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint): Removed painting custom highlight.
* rendering/InlineTextBox.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns): Removed adding overflow for custom
highlights.
* rendering/RenderBox.cpp: Removed paintCustomHighlight.
* rendering/RenderBox.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced): Removed painting custom highlight.
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint): Ditto.
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::paintSnapshot): Ditto.
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint): Ditto.
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::paint): Ditto.
* rendering/RootInlineBox.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout): Removed highlight comparison.
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData): Removed initializer.
(WebCore::StyleRareInheritedData::operator==): Removed highlight comparison.
* rendering/style/StyleRareInheritedData.h: Removed highlight member variable.

Source/WebInspectorUI:

* UserInterface/CSSKeywordCompletions.js: Removed -webkit-highlight.

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm: Removed customHighlightRect and paintCustomHighlight.
* WebView/WebHTMLView.mm:
(-[WebHTMLViewPrivate dealloc]): Removed highlighters ivar.
(-[WebHTMLViewPrivate clear]): Ditto.
* WebView/WebHTMLViewInternal.h: Removed declaration.
* WebView/WebHTMLViewPrivate.h: Removed WebHTMLHighlighter protocol and method declarations.

Source/WebKit2:

* WebProcess/WebCoreSupport/WebChromeClient.cpp: Removed customHighlightRect and
paintCustomHighlight.
* WebProcess/WebCoreSupport/WebChromeClient.h:

LayoutTests:

* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* svg/css/getComputedStyle-basic-expected.txt:

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

5 years agoOne more build fix fix.
mitz@apple.com [Sat, 8 Feb 2014 18:37:27 +0000 (18:37 +0000)]
One more build fix fix.

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):

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

5 years agoSource/WebCore: More (and more correct) iOS build fix after r163712.
mitz@apple.com [Sat, 8 Feb 2014 18:35:17 +0000 (18:35 +0000)]
Source/WebCore: More (and more correct) iOS build fix after r163712.

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(AXAttributedStringAppendText):
(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
* page/ios/FrameIOS.mm:
(WebCore::Frame::wordsInCurrentParagraph):

Source/WebKit/mac: iOS build fix after r163712.

* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:

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

5 years agoiOS build fix after r163712
mitz@apple.com [Sat, 8 Feb 2014 18:06:45 +0000 (18:06 +0000)]
iOS build fix after r163712

* page/ios/FrameIOS.mm:
(WebCore::Frame::indexCountOfWordPrecedingSelection):
(WebCore::Frame::wordsInCurrentParagraph):

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

5 years agoConvert current MHTML tests into reftests
zandobersek@gmail.com [Sat, 8 Feb 2014 17:08:08 +0000 (17:08 +0000)]
Convert current MHTML tests into reftests
https://bugs.webkit.org/show_bug.cgi?id=116443

Reviewed by Andreas Kling.

Convert the current set of MHTML tests into reference tests. Reference files are copied from the *_original files
where available (with the *_original files removed) or from the source markup and code that's stored in the archive.
Both the archives and the reference files are adjusted to now dump pixel output instead of text.

* mhtml/check_domain-expected.html: Added.
* mhtml/check_domain-expected.txt: Removed.
* mhtml/check_domain.mht:
* mhtml/frame_4.html_original: Removed.
* mhtml/multi_frames.html_original: Removed.
* mhtml/multi_frames_binary-expected.html: Added.
* mhtml/multi_frames_binary-expected.txt: Removed.
* mhtml/multi_frames_binary.mht:
* mhtml/multi_frames_ie-expected.html: Added.
* mhtml/multi_frames_ie-expected.txt: Removed.
* mhtml/multi_frames_ie.mht:
* mhtml/multi_frames_unmht-expected.html: Added.
* mhtml/multi_frames_unmht-expected.txt: Removed.
* mhtml/multi_frames_unmht.mht:
* mhtml/page_with_css_and_js_ie-expected.html: Copied from LayoutTests/mhtml/page_with_css_and_js.html_original.
* mhtml/page_with_css_and_js_ie-expected.txt: Removed.
* mhtml/page_with_css_and_js_ie.mht:
* mhtml/page_with_css_and_js_unmht-expected.html: Renamed from LayoutTests/mhtml/page_with_css_and_js.html_original.
* mhtml/page_with_css_and_js_unmht-expected.txt: Removed.
* mhtml/page_with_css_and_js_unmht.mht:
* mhtml/page_with_image.html_original: Removed.
* mhtml/page_with_image_ie-expected.html: Added.
* mhtml/page_with_image_ie-expected.txt: Removed.
* mhtml/page_with_image_ie.mht:
* mhtml/page_with_image_unmht-expected.html: Added.
* mhtml/page_with_image_unmht-expected.txt: Removed.
* mhtml/page_with_image_unmht.mht:
* mhtml/resources/frame_0.html: Renamed from LayoutTests/mhtml/frame_0.html_original.
* mhtml/resources/frame_1.html: Renamed from LayoutTests/mhtml/frame_1.html_original.
* mhtml/resources/frame_2.html: Renamed from LayoutTests/mhtml/frame_2.html_original.
* mhtml/resources/frame_4.html: Added.
* mhtml/resources/hide_image.css: Added.
(#secondDiv):
* mhtml/resources/remove_image_script.js: Added.
(onLoad):
* mhtml/resources/style.css: Copied from LayoutTests/mhtml/shared_buffer_bug.mht.
(h1):
* mhtml/shared_buffer_bug-expected.html: Added.
* mhtml/shared_buffer_bug-expected.txt: Removed.
* mhtml/shared_buffer_bug.mht:
* mhtml/simple_page_ie-expected.html: Copied from LayoutTests/mhtml/simple_page.html_original.
* mhtml/simple_page_ie-expected.txt: Removed.
* mhtml/simple_page_ie.mht:
* mhtml/simple_page_unmht-expected.html: Renamed from LayoutTests/mhtml/simple_page.html_original.
* mhtml/simple_page_unmht-expected.txt: Removed.
* mhtml/simple_page_unmht.mht:

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

5 years agoChange TextIterator to use StringView, preparing to wean it from deprecatedCharacters
darin@apple.com [Sat, 8 Feb 2014 16:32:05 +0000 (16:32 +0000)]
Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
https://bugs.webkit.org/show_bug.cgi?id=128233

Reviewed by Anders Carlsson.

Source/WebCore:

* accessibility/AccessibilityNodeObject.cpp: Removed unneeded TextIterator.h include.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::hasMisspelling): Updated to use StringView for checkSpelling.

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(AXAttributeStringSetSpelling): Changed to take a StringView.
(AXAttributedStringAppendText): Ditto.
(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): Pass StringView.

* editing/Editor.cpp:
(WebCore::Editor::misspelledWordAtCaretOrRange): Pass StringView.
(WebCore::Editor::misspelledSelectionString): Ditto.
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.

* editing/TextCheckingHelper.cpp:
(WebCore::findGrammaticalErrors): Renamed this function. Changed to use StringView.
(WebCore::findMisspellings): Use StringView.
(WebCore::TextCheckingHelper::findFirstMisspelling): Ditto. Also separated out assertions
that were asserting multiple things with &&.
(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): Ditto.
(WebCore::TextCheckingHelper::findFirstGrammarDetail): Ditto.
(WebCore::TextCheckingHelper::findFirstBadGrammar): Ditto.
(WebCore::TextCheckingHelper::isUngrammatical): Ditto.
(WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Ditto.
(WebCore::checkTextOfParagraph): Ditto.

* editing/TextCheckingHelper.h: Made TextCheckingParagraph::text public. Deleted
TextCheckingParagraph::textDeprecatedCharacters. Added comments about additional
TextCheckingParagraph refinements. Changed checkTextOfParagraph to take a client
reference instead of pointer and StringView instead of characters pointer with length.

* editing/TextIterator.cpp:
(WebCore::TextIterator::appendTextToStringBuilder): Use data members directly,
rather than using functions, since we already checked m_textCharacters for null.
(WebCore::CharacterIterator::string): Use text() instead of characters().
(WebCore::WordAwareIterator::WordAwareIterator): Removed initialization of
m_previousText now that it's a StringView rather than a pointer.
(WebCore::WordAwareIterator::advance): Use TextIterator::text instead of
TextIterator::characters. Also added a FIXME about a fundamental problem
with the implementation of this class!
(WebCore::WordAwareIterator::length): Updated for m_previousText change.
(WebCore::WordAwareIterator::text): Replaced WordAwareIterator::characters with this.
(WebCore::SearchBuffer::append): Changed to take a StringView.
(WebCore::SearchBuffer::prependContext): Ditto.
(WebCore::SearchBuffer::isWordStartMatch): Use StringView.
(WebCore::SearchBuffer::search): Ditto.
(WebCore::findPlainText): Ditto.

* editing/TextIterator.h: Added TextIterator::text that returns a StringView, and
renamed TextIterator::characters to TextIterator::deprecatedTextIteratorCharacters
(easy to search for in source code). Added SimplifiedBackwardsTextIterator::text
and removed SimplifiedBackwardsTextIterator::characters. Added CharacterIterator::text,
and removed CharacterIterator::characters. Added WordAwareIterator::text and removed
WorkdAwareIterator::characters. Changed WordAwareIterator data members to use StringView.

* editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::appendTrailingWhitespace): Use TextIterator::text instead
of TextIterator::characters.

* editing/VisibleUnits.cpp:
(WebCore::previousBoundary): Updated to use StringView.
(WebCore::nextBoundary): Ditto.
(WebCore::startWordBoundary): Ditto.
(WebCore::startOfWord): Ditto.
(WebCore::endWordBoundary): Ditto.
(WebCore::endOfWord): Fixed formatting.
(WebCore::previousWordPositionBoundary): Updated to use StringView.
(WebCore::previousWordPosition): Fixed formatting and got rid of local variable.
(WebCore::nextWordPositionBoundary): Updated to use StringView.
(WebCore::nextWordPosition): Fixed formatting and got rid of local variable.
(WebCore::inSameLine): Fixed formatting.
(WebCore::isStartOfLine): Ditto.
(WebCore::isEndOfLine): Ditto.
(WebCore::absoluteLineDirectionPointToLocalPointInBlock): Changed to take a reference.
(WebCore::previousLinePosition): Fixed formatting chand changed to pass a reference.
(WebCore::nextLinePosition): Ditto.
(WebCore::startSentenceBoundary): Updated to use StringView and got rid of a local.
(WebCore::startOfSentence): Fixed formatting.
(WebCore::endSentenceBoundary): Updated to use StringView and got rid of a local.
(WebCore::endOfSentence): Fixed formatting.
(WebCore::previousSentencePositionBoundary): Updated to use StringView and got rid of
a local.
(WebCore::previousSentencePosition): Ditto.
(WebCore::nextSentencePositionBoundary): Ditto.
(WebCore::nextSentencePosition): Fixed formatting.
(WebCore::endOfParagraph): Ditto.
(WebCore::inSameParagraph): Ditto.
(WebCore::isStartOfParagraph): Ditto.
(WebCore::isEndOfParagraph): Ditto.
(WebCore::inSameBlock): Ditto.
(WebCore::isStartOfBlock): Ditto.
(WebCore::isEndOfBlock): Ditto.
(WebCore::startOfDocument): Ditto.
(WebCore::endOfDocument): Ditto.
(WebCore::inSameDocument): Ditto.
(WebCore::isStartOfDocument): Ditto.
(WebCore::isEndOfDocument): Ditto.
(WebCore::isEndOfEditableOrNonEditableContent): Ditto.

* loader/EmptyClients.h: Use StringView.

* platform/mac/HTMLConverter.mm:
(+[WebHTMLConverter editingAttributedStringFromRange:]): Use StringView.

* platform/text/TextBoundaries.cpp:
(WebCore::endOfFirstWordBoundaryContext): Use StringView and unsigned.
(WebCore::startOfLastWordBoundaryContext): Ditto.

* platform/text/TextBoundaries.h: Change interfaces to use StringView,
and in some cases, unsigned instead of int. All call sites were better off
with unsigned.

* platform/text/TextCheckerClient.h: Use StringView.

* platform/text/mac/TextBoundaries.mm: Changed conditionals to say
USE(APPKIT) instead of PLATFORM(IOS), since that's the real issue.
(WebCore::isSkipCharacter): Tweaked formatting.
(WebCore::isWhitespaceCharacter): Ditto.
(WebCore::isWordDelimitingCharacter): Ditto, also removed local variable.
(WebCore::isSymbolCharacter): Ditto.
(WebCore::tokenizerForString): Ditto.
(WebCore::findSimpleWordBoundary): Use StringView. Also changed to mostly
use unsigned instead of int.
(WebCore::findComplexWordBoundary): Use StringView. Also restructured to
be much more readable, with early returns and such.
(WebCore::findWordBoundary): Use StringView and unsigned.
(WebCore::findEndWordBoundary): Removed redudant copy of the findWordBoundary
function and changed this to just call findWordBoundary. The reason this
function exists is to optimize this case for some non-Mac, non-iOS platforms.
We can always do that for Mac and/or iOS later if we like.
(WebCore::findNextWordFromIndex): Use StringView. Also use wordBreakIterator
instead of using UBreakIterator directly so we get a cached iterator instead
of creating and destroying a new one each time this function is called.

* bindings/objc/DOMUIKitExtensions.mm: Removed unneeded includes.
* dom/Element.cpp: Ditto.
* dom/PositionIterator.cpp: Ditto.
* editing/ApplyBlockElementCommand.cpp: Ditto.
* editing/IndentOutdentCommand.cpp: Ditto.
* editing/InsertListCommand.cpp: Ditto.
* editing/markup.cpp: Ditto.
* html/HTMLElement.cpp: Ditto.
* html/HTMLTextAreaElement.cpp: Ditto.
* page/Frame.cpp: Ditto.
* rendering/RenderTextControl.cpp: Ditto.

Source/WebKit/efl:

* WebCoreSupport/EditorClientEfl.cpp:
(WebCore::EditorClientEfl::checkSpellingOfString): Use StringView.
(WebCore::EditorClientEfl::checkGrammarOfString): Ditto.
* WebCoreSupport/EditorClientEfl.h: Ditto.

Source/WebKit/gtk:

* WebCoreSupport/TextCheckerClientGtk.cpp:
(WebKit::TextCheckerClientGtk::checkSpellingOfString): Use StringView.
(WebKit::TextCheckerClientGtk::checkGrammarOfString): Ditto.
* WebCoreSupport/TextCheckerClientGtk.h: Ditto.

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.h: Made most data members private. Moved inlines
for iOS out of the class definition. Fixed formatting. Added missing virtual keyword.
Changed interfaces to use StringView.

* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::checkTextOfParagraph): Use the new StringView::createNSStringWithoutCopying
function instead of a similar function that was local in this file.
(WebEditorClient::ignoreWordInSpellDocument): Tweaked formatting.
(WebEditorClient::checkSpellingOfString): Changed to take a StringView.
(WebEditorClient::checkGrammarOfString): Ditto.

* WebView/WebTextIterator.mm:
(-[WebTextIterator currentTextPointer]): Call TextIterator::deprecatedTextIteratorCharacters.
(-[WebTextIterator currentText]): Convert a the text to an NSString with TextIterator::text
instead of with TextIterator::characters/length.

Source/WebKit/win:

* WebCoreSupport/WebEditorClient.cpp:
(WebEditorClient::checkSpellingOfString): Use StringView.
(WebEditorClient::checkGrammarOfString): Ditto.
* WebCoreSupport/WebEditorClient.h: Ditto.

Source/WebKit/wince:

* WebCoreSupport/EditorClientWinCE.cpp:
(WebKit::EditorClientWinCE::checkSpellingOfString): Use StringView.
(WebKit::EditorClientWinCE::checkGrammarOfString): Ditto.
* WebCoreSupport/EditorClientWinCE.h: Ditto.

Source/WebKit2:

* WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
(-[WKDOMTextIterator currentTextPointer]): Call TextIterator::deprecatedTextIteratorCharacters.

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::checkSpellingOfString): Use StringView.
(WebKit::WebEditorClient::checkGrammarOfString): Ditto.
* WebProcess/WebCoreSupport/WebEditorClient.h: Ditto.

Source/WTF:

* WTF.xcodeproj/project.pbxproj: Added new source files.

* wtf/text/StringView.h: Added operator[], createCFStringWithoutCopying, and
createNSStringWithoutCopying.
* wtf/text/cf/StringViewCF.cpp:
(WTF::StringView::createCFStringWithoutCopying): Added.
* wtf/text/mac/StringViewObjC.mm:
(WTF::StringView::createNSString): Added.
(WTF::StringView::createNSStringWithoutCopying): Added.

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

5 years ago[GTK] Add stdlib include file to fix ImageDiff build with libc++
commit-queue@webkit.org [Sat, 8 Feb 2014 16:14:53 +0000 (16:14 +0000)]
[GTK] Add stdlib include file to fix ImageDiff build with libc++
https://bugs.webkit.org/show_bug.cgi?id=128454

Patch by Rajaram Gaunker <zimbabao@gmail.com> on 2014-02-08
Reviewed by Darin Adler.

* ImageDiff/gtk/ImageDiff.cpp:

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

5 years ago<https://webkit.org/b/128452> Don't duplicate the list of input files for postprocess...
mrowe@apple.com [Sat, 8 Feb 2014 10:33:02 +0000 (10:33 +0000)]
<https://webkit.org/b/128452> Don't duplicate the list of input files for postprocess-headers.sh

Reviewed by Dan Bernstein.

* postprocess-headers.sh: Pull the list of headers to process out of the environment.

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

5 years agoFix the iOS build.
mrowe@apple.com [Sat, 8 Feb 2014 10:03:39 +0000 (10:03 +0000)]
Fix the iOS build.

* API/WebKitAvailability.h: Skip the workarounds specific to OS X when we're building for iOS.

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

5 years ago[GTK] Build break in WebKitWebViewBase.cpp::webkitWebViewBaseCreateWebPage
commit-queue@webkit.org [Sat, 8 Feb 2014 09:26:44 +0000 (09:26 +0000)]
[GTK] Build break in WebKitWebViewBase.cpp::webkitWebViewBaseCreateWebPage
https://bugs.webkit.org/show_bug.cgi?id=128449

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-08
Reviewed by Carlos Garcia Campos.

Parameter passed to context->createWebPage was inproper.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseCreateWebPage):

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

5 years ago<https://webkit.org/b/128448> Fix use of availability macros on recently-added APIs
mrowe@apple.com [Sat, 8 Feb 2014 09:01:14 +0000 (09:01 +0000)]
<https://webkit.org/b/128448> Fix use of availability macros on recently-added APIs

Reviewed by Dan Bernstein.

* API/JSContext.h: Remove some #ifs.
* API/JSManagedValue.h: Ditto.
* API/WebKitAvailability.h: #define the macros that availability macros mentioning
newer OS X versions would expand to when building on older OS versions.
* JavaScriptCore.xcodeproj/project.pbxproj: Call the new postprocess-headers.sh.
* postprocess-headers.sh: Extracted from the Xcode project. Updated to remove content
from headers based on the __MAC_OS_X_VERSION_MIN_REQUIRED macro, and to
process WebKitAvailability.h.

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

5 years agoRemove two unused function declarations.
akling@apple.com [Sat, 8 Feb 2014 08:53:17 +0000 (08:53 +0000)]
Remove two unused function declarations.

Scrub "highQualityRepaintTimerFired" declarations from RenderImage
and RenderBoxModelObject since they're not actually defined.

* rendering/RenderBoxModelObject.h:
* rendering/RenderImage.h:

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

5 years agoCTTE: SVGTRefTargetEventListener is always owned by SVGTRefElement.
akling@apple.com [Sat, 8 Feb 2014 08:50:00 +0000 (08:50 +0000)]
CTTE: SVGTRefTargetEventListener is always owned by SVGTRefElement.
<https://webkit.org/b/128432>

Tighten up the relationship between SVGTRefElement and its internal
event listener helper by storing the listener in a Ref, and making
the listeners backpointer to the element be a reference.

Reviewed by Anders Carlsson.

* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefTargetEventListener::create):
(WebCore::SVGTRefTargetEventListener::SVGTRefTargetEventListener):
(WebCore::SVGTRefTargetEventListener::operator==):
(WebCore::SVGTRefTargetEventListener::handleEvent):
(WebCore::SVGTRefElement::SVGTRefElement):
* svg/SVGTRefElement.h:

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