WebKit-https.git
7 years ago[iOS][WebKit2] Remove JoinExistingSession from plist
psolanki@apple.com [Fri, 7 Feb 2014 01:30:53 +0000 (01:30 +0000)]
[iOS][WebKit2] Remove JoinExistingSession from plist
https://bugs.webkit.org/show_bug.cgi?id=128318
<rdar://problem/15971612>

Reviewed by Tim Horton.

Remove JoinExistingSession key that is not available on iOS.

* NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist:
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist:
* WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist:
* WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:

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

7 years agoAX: Crash in WebCore::AXObjectCache::computedObjectAttributeCache
cfleizach@apple.com [Fri, 7 Feb 2014 01:29:33 +0000 (01:29 +0000)]
AX: Crash in WebCore::AXObjectCache::computedObjectAttributeCache
https://bugs.webkit.org/show_bug.cgi?id=128310

Reviewed by Alexey Proskuryakov.

Be more careful about using axObjectCache() directly since it can return null.
I audited the usage cases of this method and ensured the ptr was not null in cases
where I thought we might get hit by this.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::parentObject):
(WebCore::AccessibilityNodeObject::menuForMenuButton):
(WebCore::AccessibilityNodeObject::menuButtonForMenu):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
(WebCore::AccessibilityObject::findMatchingObjects):
(WebCore::AccessibilityObject::elementAccessibilityHitTest):
(WebCore::AccessibilityObject::axObjectCache):
(WebCore::AccessibilityObject::notifyIfIgnoredValueChanged):
(WebCore::AccessibilityObject::accessibilityIsIgnored):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::parentObjectIfExists):
(WebCore::AccessibilityRenderObject::parentObject):
(WebCore::AccessibilityRenderObject::anchorElement):
(WebCore::AccessibilityRenderObject::isTabItemSelected):
(WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
(WebCore::AccessibilityRenderObject::nodeIsTextControl):
(WebCore::AccessibilityRenderObject::activeDescendant):
(WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
(WebCore::AccessibilityRenderObject::observableObject):
(WebCore::AccessibilityRenderObject::textChanged):
* accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::addChildScrollbar):
(WebCore::AccessibilityScrollView::webAreaObject):
(WebCore::AccessibilityScrollView::parentObject):
(WebCore::AccessibilityScrollView::parentObjectIfExists):

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

7 years ago[CSS Shapes] Rounded Insets Let Content Overlap Shape
zoltan@webkit.org [Fri, 7 Feb 2014 01:21:07 +0000 (01:21 +0000)]
[CSS Shapes] Rounded Insets Let Content Overlap Shape
https://bugs.webkit.org/show_bug.cgi?id=127852

Reviewed by Bem Jones-Bey.

Source/WebCore:

Using LengthSize to FloatSize conversion from LengthSize.h lead to miscalculated
inset border radius, when the border radius was defined by percentages. This patch
fixes the behavior and removes the incorrect conversion.

Test: fast/shapes/shape-outside-floats/shape-outside-rounded-inset.html

* css/LengthFunctions.cpp:
(WebCore::floatSizeForLengthSize): Add new helper function for LengthSize to FloatSize conversion.
* css/LengthFunctions.h:
* platform/LengthSize.h: Remove floatSize conversion.
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape): Use new helper function to calculate the right with for the inset border radius.

LayoutTests:

* fast/shapes/shape-outside-floats/shape-outside-rounded-inset-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-rounded-inset.html: Added.

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

7 years agoFix iOS builds after r163574
mhahnenberg@apple.com [Fri, 7 Feb 2014 01:18:38 +0000 (01:18 +0000)]
Fix iOS builds after r163574

* API/JSManagedValue.h:

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

7 years agoRegenerate JSTestObj now that ScriptArguments moved. Generator knows what to do.
joepeck@webkit.org [Fri, 7 Feb 2014 01:00:11 +0000 (01:00 +0000)]
Regenerate JSTestObj now that ScriptArguments moved. Generator knows what to do.

Rubber-stamped by Zalan Bujtas.

* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):

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

7 years agoMake adoption agency use the task queue
jpfau@apple.com [Fri, 7 Feb 2014 00:54:55 +0000 (00:54 +0000)]
Make adoption agency use the task queue
https://bugs.webkit.org/show_bug.cgi?id=109445

Reviewed by Ryosuke Niwa.

Source/WebCore:

Tests: fast/parser/adoption-agency-crash-01.html
       fast/parser/adoption-agency-crash-02.html
       fast/parser/adoption-agency-crash-03.html

* html/parser/HTMLConstructionSite.cpp:
(WebCore::insert):
(WebCore::executeInsertTask):
(WebCore::executeReparentTask):
(WebCore::executeInsertAlreadyParsedChildTask):
(WebCore::executeTakeAllChildrenTask):
(WebCore::executeTask):
(WebCore::HTMLConstructionSite::attachLater):
(WebCore::HTMLConstructionSite::executeQueuedTasks):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::reparent):
(WebCore::HTMLConstructionSite::insertAlreadyParsedChild):
(WebCore::HTMLConstructionSite::takeAllChildren):
(WebCore::HTMLConstructionSite::fosterParent):
* html/parser/HTMLConstructionSite.h:
(WebCore::HTMLConstructionSiteTask::HTMLConstructionSiteTask):
(WebCore::HTMLConstructionSiteTask::oldParent):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

LayoutTests:

* TestExpectations:
* fast/parser/adoption-agency-crash-01-expected.txt: Added.
* fast/parser/adoption-agency-crash-01.html: Added.
* fast/parser/adoption-agency-crash-02-expected.txt: Added.
* fast/parser/adoption-agency-crash-02.html: Added.
* fast/parser/adoption-agency-crash-03-expected.txt: Added.
* fast/parser/adoption-agency-crash-03.html: Added.

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

7 years agoFix build.
andersca@apple.com [Fri, 7 Feb 2014 00:51:18 +0000 (00:51 +0000)]
Fix build.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _remoteObjectRegistry]):

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

7 years agoFix the setter definition from r163514.
benjamin@webkit.org [Fri, 7 Feb 2014 00:50:32 +0000 (00:50 +0000)]
Fix the setter definition from r163514.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-06

* UIProcess/API/Cocoa/WKWebViewPrivate.h:

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

7 years agoHeap::writeBarrier shouldn't be static
mhahnenberg@apple.com [Fri, 7 Feb 2014 00:42:21 +0000 (00:42 +0000)]
Heap::writeBarrier shouldn't be static
https://bugs.webkit.org/show_bug.cgi?id=127807

Reviewed by Geoffrey Garen.

Currently it looks up the Heap in which to fire the write barrier by using
the cell passed to it. Almost every call site already has a reference to the
VM or the Heap itself. It seems wasteful to look it up all over again.

Source/JavaScriptCore:

* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/CopyWriteBarrier.h:
(JSC::CopyWriteBarrier::set):
* heap/Heap.cpp:
(JSC::Heap::writeBarrier):
* heap/Heap.h:
(JSC::Heap::writeBarrier):
* jit/JITOperations.cpp:
* jit/JITWriteBarrier.h:
(JSC::JITWriteBarrierBase::set):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_write_barrier_slow):
* runtime/Arguments.h:
* runtime/JSWeakMap.cpp:
* runtime/MapData.cpp:
(JSC::MapData::ensureSpaceForAppend):
* runtime/PropertyTable.cpp:
(JSC::PropertyTable::PropertyTable):
* runtime/Structure.h:
* runtime/WriteBarrier.h:
* runtime/WriteBarrierInlines.h: Added.

Source/WebCore:

* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::JSEventListener):
* bindings/js/JSEventListener.h:
(WebCore::JSEventListener::jsFunction):

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

7 years agoUnreviewed Windows Build Fix after r163568.
joepeck@webkit.org [Fri, 7 Feb 2014 00:33:37 +0000 (00:33 +0000)]
Unreviewed Windows Build Fix after r163568.

Remove old symbol export. It is now const. Waiting for bot to produce new symbol.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

7 years agoJSManagedValue should automatically call removeManagedReference:withOwner: upon dealloc
mhahnenberg@apple.com [Fri, 7 Feb 2014 00:29:57 +0000 (00:29 +0000)]
JSManagedValue should automatically call removeManagedReference:withOwner: upon dealloc
https://bugs.webkit.org/show_bug.cgi?id=124053

Reviewed by Geoffrey Garen.

* API/JSManagedValue.h:
* API/JSManagedValue.mm:
(+[JSManagedValue managedValueWithValue:andOwner:]):
(-[JSManagedValue initWithValue:]):
(-[JSManagedValue dealloc]):
(-[JSManagedValue didAddOwner:]):
(-[JSManagedValue didRemoveOwner:]):
* API/JSManagedValueInternal.h: Added.
* API/JSVirtualMachine.mm:
(-[JSVirtualMachine addManagedReference:withOwner:]):
(-[JSVirtualMachine removeManagedReference:withOwner:]):
* API/WebKitAvailability.h:
* API/tests/testapi.mm:
(-[TextXYZ click]):
* JavaScriptCore.xcodeproj/project.pbxproj:

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

7 years agoUnreviewed, fix build error on 64bit debug build
ljaehun.lim@samsung.com [Fri, 7 Feb 2014 00:29:03 +0000 (00:29 +0000)]
Unreviewed, fix build error on 64bit debug build

Apply static_cast<long long> to int64_t variable when '%lli' is used.

* Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::clearObjectStore):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::setActive):

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

7 years ago[iOS] Remove duplicate call to RunLoop::initializeMainRunLoop
commit-queue@webkit.org [Fri, 7 Feb 2014 00:28:41 +0000 (00:28 +0000)]
[iOS] Remove duplicate call to RunLoop::initializeMainRunLoop
https://bugs.webkit.org/show_bug.cgi?id=128328

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-06
Reviewed by Dan Bernstein.

* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView initWithFrame:configuration:]):
(-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

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

7 years agoAdd support for multiple sources for AutoInstaller
commit-queue@webkit.org [Fri, 7 Feb 2014 00:03:15 +0000 (00:03 +0000)]
Add support for multiple sources for AutoInstaller
https://bugs.webkit.org/show_bug.cgi?id=124848

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-02-06
Reviewed by Ryosuke Niwa.

The autoinstaller in the webkitpy currently fails if the download source of a package is unavailable.
This patch adds support for multiple sources to the script. The sources are provided in three environment variables.
If it exists, the script will look at a local cache. If not, it will try to download the package from the original url.
If it fails, it gets a mirror from the corresponding environment variable.(One for sourceforge.org and one for pypi.python.org)

* Scripts/webkitpy/common/system/autoinstall.py:
(AutoInstaller._copy_unpackaged_files_from_local_cache):  If the package is not packaged in its original form,
this method will copy it to the scratch directory. Otherwise it would be deleted from the cache, which we do not want.
(AutoInstaller._prepare_package): If the package is not zipped or tarred, and the file is in the cache, the
_copy_unpackaged_files_from_local_cache function is called.
(AutoInstaller._parse_colon_separated_mirrors_from_env): This will read the mirrors from the environment variables if possible,
and prepares them for further use.
(AutoInstaller):
(AutoInstaller._replace_domain_with_next_mirror): If the original download url fails, it is replaced by a mirror provided
in the environment variables. The function identifies the original source, and replaces it with a mirror. If it can't be done,
the return url will be None, indicating that no mirrors are provided, or none of them could be reached.
(AutoInstaller._download_to_stream): The timeout for one try is now limited to 30 seconds. Without this, the script waited for
roughly 4 minutes before retrying. After three failiures the script will try to switch to a mirror.
(AutoInstaller._check_package_in_local_autoinstall_cache): This method searches the cache for the currently downloaded module.
If it's found there, its path is returned.
(AutoInstaller._download):  Before downloading the module, it is looked up in the cache. If it's not found there,
the script will continue with the download, and cache the module.

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

7 years ago[iOS] Set UIProcess pid in WebProcess initialization for Remote Inspector
joepeck@webkit.org [Thu, 6 Feb 2014 23:45:57 +0000 (23:45 +0000)]
[iOS] Set UIProcess pid in WebProcess initialization for Remote Inspector
https://bugs.webkit.org/show_bug.cgi?id=128338

Reviewed by Sam Weinig.

* WebProcess/ios/WebProcessIOS.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

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

7 years agoWeb Inspector: Add Console support to JSContext Inspection
joepeck@webkit.org [Thu, 6 Feb 2014 23:45:53 +0000 (23:45 +0000)]
Web Inspector: Add Console support to JSContext Inspection
https://bugs.webkit.org/show_bug.cgi?id=127941

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
Add new files.

* inspector/agents/InspectorConsoleAgent.cpp: Renamed from Source/WebCore/inspector/InspectorConsoleAgent.cpp.
* inspector/agents/InspectorConsoleAgent.h: Added.
New agent moved from WebCore. Rename a method to work in JS only context.

* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
Instantiate ConsoleAgent.

* inspector/agents/JSGlobalObjectConsoleAgent.h: Copied from Source/WebCore/inspector/PageInjectedScriptHost.h.
* inspector/agents/JSGlobalObjectConsoleAgent.cpp: Copied from Source/WebCore/inspector/PageInjectedScriptHost.h.
(Inspector::JSGlobalObjectConsoleAgent::JSGlobalObjectConsoleAgent):
(Inspector::JSGlobalObjectConsoleAgent::setMonitoringXHREnabled):
(Inspector::JSGlobalObjectConsoleAgent::addInspectedNode):
(Inspector::JSGlobalObjectConsoleAgent::addInspectedHeapObject):
JSGlobalObject implementation.

* inspector/agents/JSGlobalObjectDebuggerAgent.h:
* inspector/agents/JSGlobalObjectDebuggerAgent.cpp:
(Inspector::JSGlobalObjectDebuggerAgent::JSGlobalObjectDebuggerAgent):
(Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog):
Use ConsoleAgent to report logs.

* inspector/ConsoleMessage.cpp: Renamed from Source/WebCore/inspector/ConsoleMessage.cpp.
* inspector/ConsoleMessage.h: Renamed from Source/WebCore/inspector/ConsoleMessage.h.
* inspector/ConsoleTypes.h: Copied from Source/WebCore/inspector/ConsoleAPITypes.h.
* inspector/IdentifiersFactory.cpp: Renamed from Source/WebCore/inspector/IdentifiersFactory.cpp.
* inspector/IdentifiersFactory.h: Renamed from Source/WebCore/inspector/IdentifiersFactory.h.
* inspector/ScriptArguments.cpp: Renamed from Source/WebCore/inspector/ScriptArguments.cpp.
* inspector/ScriptArguments.h: Renamed from Source/WebCore/inspector/ScriptArguments.h.
* inspector/ScriptCallFrame.cpp: Renamed from Source/WebCore/inspector/ScriptCallFrame.cpp.
* inspector/ScriptCallFrame.h: Renamed from Source/WebCore/inspector/ScriptCallFrame.h.
* inspector/ScriptCallStack.cpp: Renamed from Source/WebCore/inspector/ScriptCallStack.cpp.
* inspector/ScriptCallStack.h: Renamed from Source/WebCore/inspector/ScriptCallStack.h.
* inspector/ScriptCallStackFactory.cpp: Renamed from Source/WebCore/bindings/js/ScriptCallStackFactory.cpp.
* inspector/ScriptCallStackFactory.h: Renamed from Source/WebCore/bindings/js/ScriptCallStackFactory.h.
* inspector/protocol/Console.json: Renamed from Source/WebCore/inspector/protocol/Console.json.
* inspector/scripts/generate-combined-inspector-json.py:

Source/WebCore:

  - Move InspectorConsoleAgent and dependencies to JavaScriptCore
    and into the Inspector namespace.
  - Update Console Message enum types to enum classes and update
    all users to the new, simpler names.
  - Since we are updating addConsoleMessage callsites anyways, add
    ASCIILiteral where appropriate.
  - Add WebConsoleAgent base of Page/Worker ConsoleAgent to implement
    what could not be pushed into JavaScriptCore.

* CMakeLists.txt:
* DerivedSources.make:
* ForwardingHeaders/inspector/ConsoleMessage.h: Added.
* ForwardingHeaders/inspector/ConsoleTypes.h: Added.
* ForwardingHeaders/inspector/IdentifiersFactory.h: Added.
* ForwardingHeaders/inspector/ScriptArguments.h: Added.
* ForwardingHeaders/inspector/ScriptCallFrame.h: Added.
* ForwardingHeaders/inspector/ScriptCallStack.h: Added.
* ForwardingHeaders/inspector/ScriptCallStackFactory.h: Added.
* ForwardingHeaders/inspector/agents/InspectorConsoleAgent.h: Added.
* GNUmakefile.am:
* GNUmakefile.list.am:
Add / remove files from builds.

* inspector/WebConsoleAgent.h:
* inspector/WebConsoleAgent.cpp: Added.
(WebCore::WebConsoleAgent::WebConsoleAgent):
(WebCore::WebConsoleAgent::setMonitoringXHREnabled):
(WebCore::WebConsoleAgent::frameWindowDiscarded):
(WebCore::WebConsoleAgent::didFinishXHRLoading):
(WebCore::WebConsoleAgent::didReceiveResponse):
(WebCore::WebConsoleAgent::didFailLoading):
(WebCore::WebConsoleAgent::addInspectedHeapObject):
Implement what could not be pushed down into JavaScriptCore.

* inspector/InstrumentingAgents.h:
(WebCore::InstrumentingAgents::webConsoleAgent):
(WebCore::InstrumentingAgents::setWebConsoleAgent):
Hold a WebConsoleAgent instead of InspectorConsoleAgent.

* Modules/indexeddb/IDBCursor.cpp:
* Modules/indexeddb/IDBDatabase.cpp:
* Modules/indexeddb/IDBTransaction.cpp:
* Modules/quota/DOMWindowQuota.cpp:
(WebCore::DOMWindowQuota::webkitStorageInfo):
* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::looping):
(WebCore::AudioBufferSourceNode::setLooping):
* Modules/webaudio/AudioContext.cpp:
* Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::setPanningModel):
* Modules/webdatabase/DatabaseBase.cpp:
(WebCore::DatabaseBase::logErrorMessage):
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::logErrorMessage):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
(WebCore::WebSocket::send):
(WebCore::WebSocket::close):
(WebCore::WebSocket::setBinaryType):
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::fail):
(WebCore::WebSocketChannel::didFailSocketStream):
* Modules/websockets/WebSocketHandshake.cpp:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSAudioContextCustom.cpp:
(WebCore::JSAudioContextConstructor::constructJSAudioContext):
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* bindings/js/JSDOMBinding.cpp:
* bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::JSSubtleCrypto::encrypt):
(WebCore::JSSubtleCrypto::decrypt):
(WebCore::JSSubtleCrypto::sign):
(WebCore::JSSubtleCrypto::verify):
(WebCore::JSSubtleCrypto::wrapKey):
(WebCore::JSSubtleCrypto::unwrapKey):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::canExecuteScripts):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallWith):
* bindings/scripts/test/JS/JSTestObj.cpp:
* css/CSSParser.cpp:
(WebCore::CSSParser::logError):
* css/MediaList.cpp:
(WebCore::addResolutionWarningMessageToConsole):
* dom/Document.cpp:
(WebCore::Document::logExceptionToConsole):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::addMessage):
* dom/Document.h:
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::executeScript):
(WebCore::ScriptElement::notifyFinished):
* dom/ScriptExecutionContext.cpp:
* dom/ScriptExecutionContext.h:
* dom/ViewportArguments.cpp:
(WebCore::viewportErrorMessageLevel):
(WebCore::reportViewportWarning):
* fileapi/Blob.cpp:
* fileapi/WebKitBlobBuilder.cpp:
* html/HTMLFormControlElement.cpp:
(WebCore::shouldAutofocus):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::validateInteractively):
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseAttribute):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::getImageData):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::printWarningToConsole):
* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::init):
* html/parser/XSSAuditorDelegate.cpp:
(WebCore::XSSAuditorDelegate::didBlockScript):
* inspector/CommandLineAPIHost.cpp:
* inspector/CommandLineAPIHost.h:
(WebCore::CommandLineAPIHost::init):
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorConsoleAgent.h: Removed.
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
(WebCore::InspectorInstrumentation::consoleTimeStamp):
(WebCore::InspectorInstrumentation::addProfile):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorDOMAgent.cpp:
* inspector/InspectorFrontendHost.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::frameWindowDiscardedImpl):
(WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
(WebCore::InspectorInstrumentation::didFailLoadingImpl):
(WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::isConsoleAssertMessage):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::consoleCountImpl):
(WebCore::InspectorInstrumentation::startConsoleTimingImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleAgentEnabled):
* inspector/InspectorInstrumentation.h:
* inspector/InspectorLayerTreeAgent.cpp:
* inspector/InspectorPageAgent.cpp:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
(WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::buildInitiatorObject):
* inspector/InspectorTimelineAgent.cpp:
* inspector/InstrumentingAgents.cpp:
(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):
* inspector/PageConsoleAgent.cpp:
(WebCore::PageConsoleAgent::PageConsoleAgent):
(WebCore::PageConsoleAgent::clearMessages):
(WebCore::PageConsoleAgent::addInspectedNode):
* inspector/PageConsoleAgent.h:
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::breakpointActionLog):
* inspector/PageInjectedScriptHost.h:
* inspector/PageInjectedScriptManager.h:
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGenericRecord):
(WebCore::WebConsoleAgent::~WebConsoleAgent):
* inspector/WorkerConsoleAgent.cpp:
(WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
(WebCore::WorkerConsoleAgent::addInspectedNode):
* inspector/WorkerConsoleAgent.h:
* inspector/WorkerDebuggerAgent.cpp:
(WebCore::WorkerDebuggerAgent::breakpointActionLog):
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::responseReceived):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::reportLocalLoadFailed):
(WebCore::FrameLoader::handleBeforeUnloadEvent):
(WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
(WebCore::createWindow):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::notifyFinished):
* loader/MixedContentChecker.cpp:
(WebCore::MixedContentChecker::logWarning):
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::corsPolicyPreventedLoad):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::abort):
(WebCore::ApplicationCacheGroup::didReceiveResponse):
(WebCore::ApplicationCacheGroup::didFinishLoading):
(WebCore::ApplicationCacheGroup::didFail):
(WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::printAccessDeniedMessage):
* page/ChromeClient.h:
* page/Console.cpp:
(WebCore::internalAddMessage):
(WebCore::Console::debug):
(WebCore::Console::error):
(WebCore::Console::log):
(WebCore::Console::warn):
(WebCore::Console::dir):
(WebCore::Console::dirxml):
(WebCore::Console::table):
(WebCore::Console::clear):
(WebCore::Console::trace):
(WebCore::Console::assertCondition):
(WebCore::Console::group):
(WebCore::Console::groupCollapsed):
(WebCore::Console::groupEnd):
* page/Console.h:
* page/ConsoleTypes.h: Removed.
* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation):
(WebCore::ContentSecurityPolicy::logToConsole):
* page/DOMSecurityPolicy.cpp:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessage):
(WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
(WebCore::DOMWindow::close):
(WebCore::DOMWindow::printErrorMessage):
* page/DOMWindow.h:
* page/EventSource.cpp:
(WebCore::EventSource::didReceiveResponse):
(WebCore::EventSource::didFailAccessControlCheck):
* page/PageConsole.cpp:
(WebCore::PageConsole::printMessageSourceAndLevelPrefix):
(WebCore::PageConsole::addMessage):
* page/PageConsole.h:
* page/PointerLockController.cpp:
(WebCore::PointerLockController::requestPointerLock):
* platform/CrossThreadCopier.h:
* rendering/shapes/ShapeInfo.cpp:
(WebCore::checkShapeImageOrigin):
* svg/SVGDocumentExtensions.cpp:
(WebCore::reportMessage):
(WebCore::SVGDocumentExtensions::reportWarning):
(WebCore::SVGDocumentExtensions::reportError):
* testing/Internals.cpp:
(WebCore::Internals::consoleMessageArgumentCounts):
* workers/DefaultSharedWorkerRepository.cpp:
* workers/SharedWorkerGlobalScope.cpp:
(WebCore::SharedWorkerGlobalScope::logExceptionToConsole):
* workers/SharedWorkerGlobalScope.h:
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::addMessageToWorkerConsole):
* workers/WorkerGlobalScope.h:
* workers/WorkerMessagingProxy.cpp:
* workers/WorkerReportingProxy.h:
* xml/XMLHttpRequest.cpp:
(WebCore::logConsoleError):
(WebCore::XMLHttpRequest::send):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::XSLTProcessor::parseErrorFunc):

Source/WebInspectorUI:

* UserInterface/InspectorJSBackendCommands.js:
* UserInterface/InspectorWebBackendCommands.js:
ConsoleAgent moved to JavaScript section.

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::addMessageToConsole):

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(stringForMessageSource):
(stringForMessageLevel):
(WebChromeClient::addMessageToConsole):

Source/WebKit/win:

* WebCoreSupport/WebChromeClient.h:

Source/WebKit/wince:

* WebCoreSupport/ChromeClientWinCE.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebChromeClient.h:

LayoutTests:

* inspector-protocol/page/deny-X-FrameOption-expected.txt:
Update with better line/column numbers now.

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

7 years agoAdd preferences property to WKWebViewConfiguration
andersca@apple.com [Thu, 6 Feb 2014 23:29:43 +0000 (23:29 +0000)]
Add preferences property to WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=128337

Reviewed by Sam Weinig.

Also use RetainPtr for processClass and preferences so we won't leak them.

* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration processClass]):
(-[WKWebViewConfiguration setProcessClass:]):
(-[WKWebViewConfiguration preferences]):
(-[WKWebViewConfiguration setPreferences:]):

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

7 years agoRemove run-test-webkit-api
benjamin@webkit.org [Thu, 6 Feb 2014 23:24:36 +0000 (23:24 +0000)]
Remove run-test-webkit-api
https://bugs.webkit.org/show_bug.cgi?id=118145

Reviewed by Csaba Osztrogonác.

Having two scripts doing the same thing is confusing. There are also cases failing
on run-test-webkit-api since it does not restart a new process for each test.

* Scripts/run-test-webkit-api: Removed.
* Scripts/webkitdirs.pm:

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

7 years agoConvert a parameter to PassRefPtr
commit-queue@webkit.org [Thu, 6 Feb 2014 23:06:10 +0000 (23:06 +0000)]
Convert a parameter to PassRefPtr
https://bugs.webkit.org/show_bug.cgi?id=128327

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

* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::addProfile):
* inspector/InspectorInstrumentation.h:

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

7 years agoAdd a remoteObjectRegistry property to WKWebView
andersca@apple.com [Thu, 6 Feb 2014 22:40:26 +0000 (22:40 +0000)]
Add a remoteObjectRegistry property to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=128331

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView resizeSubviewsWithOldSize:]):
(-[WKWebView _remoteObjectRegistry]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

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

7 years agoAdd WKNavigationResponse class
andersca@apple.com [Thu, 6 Feb 2014 22:04:33 +0000 (22:04 +0000)]
Add WKNavigationResponse class
https://bugs.webkit.org/show_bug.cgi?id=128326

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKFrameInfo.mm:
(-[WKFrameInfo initWithWebFrameProxy:WebKit::]):
* UIProcess/API/Cocoa/WKFrameInfoInternal.h:
* UIProcess/API/Cocoa/WKNavigationResponse.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfo.mm.
* UIProcess/API/Cocoa/WKNavigationResponse.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfo.mm.
(-[WKNavigationResponse frame]):
(-[WKNavigationResponse setFrame:]):
(-[WKNavigationResponse response]):
(-[WKNavigationResponse setResponse:]):
* UIProcess/API/Cocoa/WKNavigationResponseInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfoInternal.h.
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoPush DOM attributes into the prototype chain
oliver@apple.com [Thu, 6 Feb 2014 21:53:31 +0000 (21:53 +0000)]
Push DOM attributes into the prototype chain
https://bugs.webkit.org/show_bug.cgi?id=127969

Reviewed by Mark Lam.

Source/WebCore:

This patch does the actual work of moving dom attributes up the
prototype chain. There are still a few class and edge cases
where we can't do this without impacting existing behaviour,
but they can be fixed separately in later patches.

* bindings/js/JSDOMBinding.h:
(WebCore::getStaticPropertySlotEntryWithoutCaching):
(WebCore::getStaticPropertySlotEntryWithoutCaching<JSDOMWrapper>):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(HasComplexGetOwnProperty):
(ConstructorShouldBeOnInstance):
(AttributeShouldBeOnInstance):
(InstanceAttributeCount):
(PrototypeAttributeCount):
(InstanceOverridesGetOwnPropertySlot):
(PrototypeOverridesGetOwnPropertySlot):
(GenerateAttributesHashTable):
(GenerateImplementation):

LayoutTests:

Update layout test results

* fast/dom/wrapper-classes-expected.txt:
* js/dom/constructor-attributes-expected.txt:
* js/dom/dom-static-property-for-in-iteration-expected.txt:
* js/dom/script-tests/constructor-attributes.js:

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

7 years agoRemove display:run-in support.
akling@apple.com [Thu, 6 Feb 2014 21:24:17 +0000 (21:24 +0000)]
Remove display:run-in support.
<https://webkit.org/b/127874>
<rdar://problem/15926949>

Source/WebCore:

Remove support for the "run-in" display type. Blink recently removed
this and Gecko never supported in the first place.

Rubber-stamped by Anders Carlsson.

* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSValueKeywords.in:
* css/StyleResolver.cpp:
(WebCore::equivalentBlockDisplay):
(WebCore::doesNotInheritTextDecoration):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::willBeDestroyed):
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
(WebCore::RenderBlock::makeChildrenNonInline):
(WebCore::canMergeContiguousAnonymousBlocks):
(WebCore::RenderBlock::renderName):
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::willBeDestroyed):
(WebCore::shouldCheckLines):
(WebCore::getHeightForLineCount):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor):
(WebCore::RenderElement::destroyLeftoverChildren):
* rendering/RenderFileUploadControl.cpp:
* rendering/RenderFileUploadControl.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::updateFromStyle):
(WebCore::RenderInline::renderName):
(WebCore::RenderInline::clippedOverflowRectForRepaint):
* rendering/RenderListBox.cpp:
* rendering/RenderListBox.h:
* rendering/RenderMenuList.cpp:
* rendering/RenderMenuList.h:
* rendering/RenderObject.cpp:
* rendering/RenderObject.h:
* rendering/RenderProgress.cpp:
* rendering/RenderProgress.h:
* rendering/RenderSlider.cpp:
* rendering/RenderSlider.h:
* rendering/RenderTextControl.cpp:
* rendering/RenderTextControl.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
* rendering/style/RenderStyleConstants.h:

Source/WebInspectorUI:

Rubber-stamped by Anders Carlsson.

* UserInterface/CSSKeywordCompletions.js:
* UserInterface/External/CodeMirror/css.js:

LayoutTests:

Rubber-stamped by Anders Carlsson.

* editing/undo/undo-after-event-edited.html:
* fast/css-generated-content/generated-runin-expected.html: Removed.
* fast/css-generated-content/generated-runin.html: Removed.
* fast/lists/parent-box-not-box-crash-expected.txt: Removed.
* fast/lists/parent-box-not-box-crash.html: Removed.
* fast/multicol/span/runin-continuation-crash-expected.txt: Removed.
* fast/multicol/span/runin-continuation-crash.html: Removed.
* fast/runin/001.html: Removed.
* fast/runin/002.html: Removed.
* fast/runin/crash-when-reparent-sibling-expected.txt: Removed.
* fast/runin/crash-when-reparent-sibling.html: Removed.
* fast/runin/generated-content-crash-expected.png: Removed.
* fast/runin/generated-content-crash-expected.txt: Removed.
* fast/runin/generated-content-crash.html: Removed.
* fast/runin/generated.html: Removed.
* fast/runin/generated2.html: Removed.
* fast/runin/generated3.html: Removed.
* fast/runin/generated4.html: Removed.
* fast/runin/input-text-runin-expected.txt: Removed.
* fast/runin/input-text-runin.html: Removed.
* fast/runin/insert-before-run-in-expected.png: Removed.
* fast/runin/insert-before-run-in-expected.txt: Removed.
* fast/runin/insert-before-run-in.html: Removed.
* fast/runin/move-run-in-original-position-crash-expected.png: Removed.
* fast/runin/move-run-in-original-position-crash-expected.txt: Removed.
* fast/runin/move-run-in-original-position-crash.html: Removed.
* fast/runin/nonblock-runin-expected.txt: Removed.
* fast/runin/nonblock-runin.html: Removed.
* fast/runin/progress-run-in-crash-expected.txt: Removed.
* fast/runin/progress-run-in-crash.html: Removed.
* fast/runin/run-in-after-run-in-expected.png: Removed.
* fast/runin/run-in-after-run-in-expected.txt: Removed.
* fast/runin/run-in-after-run-in.html: Removed.
* fast/runin/run-in-layer-not-removed-crash-expected.txt: Removed.
* fast/runin/run-in-layer-not-removed-crash.html: Removed.
* fast/runin/run-in-parent-add-child-expected.png: Removed.
* fast/runin/run-in-parent-add-child-expected.txt: Removed.
* fast/runin/run-in-parent-add-child.html: Removed.
* fast/runin/run-in-parent-block-child-add-and-intrude-expected.png: Removed.
* fast/runin/run-in-parent-block-child-add-and-intrude-expected.txt: Removed.
* fast/runin/run-in-parent-block-child-add-and-intrude.html: Removed.
* fast/runin/run-in-parent-block-child-add-expected.png: Removed.
* fast/runin/run-in-parent-block-child-add-expected.txt: Removed.
* fast/runin/run-in-parent-block-child-add.html: Removed.
* fast/runin/runin-between-list-marker-and-before-content-expected.png: Removed.
* fast/runin/runin-between-list-marker-and-before-content-expected.txt: Removed.
* fast/runin/runin-between-list-marker-and-before-content.html: Removed.
* fast/runin/runin-continuations-crash-expected.txt: Removed.
* fast/runin/runin-continuations-crash.html: Removed.
* fast/runin/runin-div-before-child-expected.png: Removed.
* fast/runin/runin-div-before-child-expected.txt: Removed.
* fast/runin/runin-div-before-child.html: Removed.
* fast/runin/runin-generated-before-content-expected.png: Removed.
* fast/runin/runin-generated-before-content-expected.txt: Removed.
* fast/runin/runin-generated-before-content.html: Removed.
* fast/runin/runin-into-div-with-float-child-expected.png: Removed.
* fast/runin/runin-into-div-with-float-child-expected.txt: Removed.
* fast/runin/runin-into-div-with-float-child.html: Removed.
* fast/runin/runin-not-go-into-float-expected.png: Removed.
* fast/runin/runin-not-go-into-float-expected.txt: Removed.
* fast/runin/runin-not-go-into-float.html: Removed.
* fast/runin/runin-remove-child-simple-expected.txt: Removed.
* fast/runin/runin-remove-child-simple.html: Removed.
* fast/runin/runin-reparent-crash-expected.txt: Removed.
* fast/runin/runin-reparent-crash.html: Removed.
* fast/runin/runin-sibling-inline-expected.txt: Removed.
* fast/runin/runin-sibling-inline.html: Removed.
* fast/runin/runin-table-before-child-expected.png: Removed.
* fast/runin/runin-table-before-child-expected.txt: Removed.
* fast/runin/runin-table-before-child.html: Removed.
* fast/runin/select-runin-expected.txt: Removed.
* fast/runin/select-runin.html: Removed.
* fast/runin/textarea-runin-expected.txt: Removed.
* fast/runin/textarea-runin.html: Removed.
* fast/table/form-with-table-style.html: Removed.
* platform/efl/fast/runin/001-expected.png: Removed.
* platform/efl/fast/runin/001-expected.txt: Removed.
* platform/efl/fast/runin/002-expected.png: Removed.
* platform/efl/fast/runin/002-expected.txt: Removed.
* platform/efl/fast/runin/generated-expected.png: Removed.
* platform/efl/fast/runin/generated-expected.txt: Removed.
* platform/efl/fast/runin/generated2-expected.png: Removed.
* platform/efl/fast/runin/generated2-expected.txt: Removed.
* platform/efl/fast/runin/generated3-expected.png: Removed.
* platform/efl/fast/runin/generated3-expected.txt: Removed.
* platform/efl/fast/runin/generated4-expected.png: Removed.
* platform/efl/fast/runin/generated4-expected.txt: Removed.
* platform/efl/fast/runin/runin-generated-before-content-expected.png: Removed.
* platform/gtk/fast/runin/001-expected.png: Removed.
* platform/gtk/fast/runin/001-expected.txt: Removed.
* platform/gtk/fast/runin/002-expected.png: Removed.
* platform/gtk/fast/runin/002-expected.txt: Removed.
* platform/gtk/fast/runin/generated-content-crash-expected.png: Removed.
* platform/gtk/fast/runin/generated-expected.png: Removed.
* platform/gtk/fast/runin/generated-expected.txt: Removed.
* platform/gtk/fast/runin/generated2-expected.png: Removed.
* platform/gtk/fast/runin/generated2-expected.txt: Removed.
* platform/gtk/fast/runin/generated3-expected.png: Removed.
* platform/gtk/fast/runin/generated3-expected.txt: Removed.
* platform/gtk/fast/runin/generated4-expected.png: Removed.
* platform/gtk/fast/runin/generated4-expected.txt: Removed.
* platform/gtk/fast/runin/insert-before-run-in-expected.png: Removed.
* platform/gtk/fast/runin/move-run-in-original-position-crash-expected.png: Removed.
* platform/gtk/fast/runin/run-in-after-run-in-expected.png: Removed.
* platform/gtk/fast/runin/run-in-parent-add-child-expected.png: Removed.
* platform/gtk/fast/runin/run-in-parent-block-child-add-and-intrude-expected.png: Removed.
* platform/gtk/fast/runin/run-in-parent-block-child-add-expected.png: Removed.
* platform/gtk/fast/runin/runin-between-list-marker-and-before-content-expected.png: Removed.
* platform/gtk/fast/runin/runin-div-before-child-expected.png: Removed.
* platform/gtk/fast/runin/runin-generated-before-content-expected.png: Removed.
* platform/gtk/fast/runin/runin-into-div-with-float-child-expected.png: Removed.
* platform/gtk/fast/runin/runin-not-go-into-float-expected.png: Removed.
* platform/gtk/fast/runin/runin-table-before-child-expected.png: Removed.
* platform/mac/fast/runin/001-expected.png: Removed.
* platform/mac/fast/runin/001-expected.txt: Removed.
* platform/mac/fast/runin/002-expected.png: Removed.
* platform/mac/fast/runin/002-expected.txt: Removed.
* platform/mac/fast/runin/generated-expected.png: Removed.
* platform/mac/fast/runin/generated-expected.txt: Removed.
* platform/mac/fast/runin/generated2-expected.png: Removed.
* platform/mac/fast/runin/generated2-expected.txt: Removed.
* platform/mac/fast/runin/generated3-expected.png: Removed.
* platform/mac/fast/runin/generated3-expected.txt: Removed.
* platform/mac/fast/runin/generated4-expected.png: Removed.
* platform/mac/fast/runin/generated4-expected.txt: Removed.
* platform/win/fast/runin/nonblock-runin-expected.txt: Removed.

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

7 years agoRemove leftover cruft from scoped stylesheet implementation.
akling@apple.com [Thu, 6 Feb 2014 21:20:48 +0000 (21:20 +0000)]
Remove leftover cruft from scoped stylesheet implementation.
<https://webkit.org/b/128139>

Kill some pointless non-null checks that were left behind by the
removed <style scoped> code. Also pruned outdated comments and
FIXME's about such scopes.

Reviewed by Antti Koivisto.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRules):
* css/RuleSet.cpp:
(WebCore::RuleSet::addChildRules):
(WebCore::RuleSet::addRulesFromSheet):
* css/RuleSet.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::checkRegionStyle):

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

7 years agoWheel events don't latch to inner scrollable elements
bfulgham@apple.com [Thu, 6 Feb 2014 20:43:56 +0000 (20:43 +0000)]
Wheel events don't latch to inner scrollable elements
https://bugs.webkit.org/show_bug.cgi?id=128225

Reviewed by Beth Dakin.

* page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent): Identify the case
where we have hit the end of a scroll, and treat that as a
valid 'handled' case. If the scroll event is just starting,
treat end-of-scroll as unhandled so the parent element can
handle things.
* page/WheelEventDeltaTracker.h:
(WebCore::WheelEventDeltaTracker::isFirstWheelEvent): Added.

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

7 years ago[Win] Correct IME Regression after r141479
bfulgham@apple.com [Thu, 6 Feb 2014 20:38:48 +0000 (20:38 +0000)]
[Win] Correct IME Regression after r141479
https://bugs.webkit.org/show_bug.cgi?id=128323
<rdar://problem/15952986>

Reviewed by Tim Horton.

* WebView.cpp:
(WebView::updateSelectionForIME): Refactoring flipped the meaning of the test used
to select the resetIME case. Corrected for behavior of new cancel method.

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

7 years agoUnreviewed, rolling out r163542.
commit-queue@webkit.org [Thu, 6 Feb 2014 20:22:43 +0000 (20:22 +0000)]
Unreviewed, rolling out r163542.
http://trac.webkit.org/changeset/163542
https://bugs.webkit.org/show_bug.cgi?id=128324

Caused many assertion failures (Requested by ap on #webkit).

Source/JavaScriptCore:

* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/CopyWriteBarrier.h:
(JSC::CopyWriteBarrier::set):
* heap/Heap.cpp:
(JSC::Heap::writeBarrier):
* heap/Heap.h:
(JSC::Heap::writeBarrier):
* jit/JITOperations.cpp:
* jit/JITWriteBarrier.h:
(JSC::JITWriteBarrierBase::set):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_write_barrier_slow):
* runtime/Arguments.h:
* runtime/JSWeakMap.cpp:
* runtime/MapData.cpp:
(JSC::MapData::ensureSpaceForAppend):
* runtime/PropertyTable.cpp:
(JSC::PropertyTable::PropertyTable):
* runtime/Structure.h:
* runtime/WriteBarrier.h:
(JSC::WriteBarrierBase::set):
(JSC::WriteBarrierBase::setMayBeNull):
(JSC::WriteBarrierBase::setEarlyValue):
(JSC::WriteBarrierBase<Unknown>::set):
* runtime/WriteBarrierInlines.h: Removed.

Source/WebCore:

* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::JSEventListener):
* bindings/js/JSEventListener.h:
(WebCore::JSEventListener::jsFunction):

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

7 years agoReplace ’ with ' to silence the check-for-webkit-framework-include-consistency script.
andersca@apple.com [Thu, 6 Feb 2014 20:17:39 +0000 (20:17 +0000)]
Replace ’ with ' to silence the check-for-webkit-framework-include-consistency script.

* UIProcess/API/Cocoa/WKWebView.h:

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

7 years agoAdd backForwardList property to WKWebView
andersca@apple.com [Thu, 6 Feb 2014 20:05:28 +0000 (20:05 +0000)]
Add backForwardList property to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=128320

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView backForwardList]):

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

7 years agoDo not draw multi-characters <mi> in italic.
commit-queue@webkit.org [Thu, 6 Feb 2014 20:00:20 +0000 (20:00 +0000)]
Do not draw multi-characters <mi> in italic.
https://bugs.webkit.org/show_bug.cgi?id=44208

Patch by Frédéric Wang <fred.wang@free.fr> on 2014-02-06
Reviewed by Chris Fleizach.

Source/WebCore:

This test prevents multi-char <mi> to be drawn in italic and prepare
further improvements to MathML token and mfenced elements (bugs 124838
and bug 99620).

Test: mathml/presentation/tokenElements-dynamic.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* css/mathml.css:
(mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
* mathml/MathMLTextElement.cpp:
(WebCore::MathMLTextElement::didAttachRenderers):
(WebCore::MathMLTextElement::childrenChanged):
(WebCore::MathMLTextElement::createElementRenderer):
* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderMathMLToken):
* rendering/mathml/RenderMathMLToken.cpp: Added.
(WebCore::RenderMathMLToken::RenderMathMLToken):
(WebCore::RenderMathMLToken::addChild):
(WebCore::RenderMathMLToken::createWrapperIfNeeded):
(WebCore::RenderMathMLToken::updateTokenContent):
(WebCore::RenderMathMLToken::updateStyle):
(WebCore::RenderMathMLToken::styleDidChange):
(WebCore::RenderMathMLToken::updateFromElement):
* rendering/mathml/RenderMathMLToken.h: Added.
(WebCore::RenderMathMLToken::element):
(WebCore::RenderMathMLToken>):

LayoutTests:

Add tests for single-char/multi-char <mi> elements, the mathvariant
attribute and MathML token elements dynamically modified.

* mathml/presentation/attributes-mathvariant-expected.html:
* mathml/presentation/attributes-mathvariant.html:
* mathml/presentation/tokenElements-dynamic-expected.html: Added.
* mathml/presentation/tokenElements-dynamic.html: Added.
* mathml/presentation/tokenElements-mathvariant-expected.html:
* mathml/presentation/tokenElements-mathvariant.html:

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

7 years ago[CSS Shapes] Simplify BasicShapeInset creation
zoltan@webkit.org [Thu, 6 Feb 2014 19:34:33 +0000 (19:34 +0000)]
[CSS Shapes] Simplify BasicShapeInset creation
https://bugs.webkit.org/show_bug.cgi?id=128314

Reviewed by David Hyatt.

Introduce convertToLengthSize helper function in order to simplify and make BasicShapeInset more readable.

No new tests, no behavior change.

* css/BasicShapeFunctions.cpp:
(WebCore::convertToLengthSize):
(WebCore::basicShapeForValue):

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

7 years agoThe source frame request is not the same thing as the original request
andersca@apple.com [Thu, 6 Feb 2014 19:26:52 +0000 (19:26 +0000)]
The source frame request is not the same thing as the original request
https://bugs.webkit.org/show_bug.cgi?id=128317

Reviewed by Andreas Kling.

Grab the source frame URL From the WebFrameProxy object.

* UIProcess/Cocoa/NavigationState.mm:
(WebKit::frameInfoFromWebFrameProxy):
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):

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

7 years agoTry to fix the Windows build.
andersca@apple.com [Thu, 6 Feb 2014 18:54:31 +0000 (18:54 +0000)]
Try to fix the Windows build.

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveResponse):

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

7 years agoMake 32bit pass the correct this value to custom getters
oliver@apple.com [Thu, 6 Feb 2014 18:45:32 +0000 (18:45 +0000)]
Make 32bit pass the correct this value to custom getters
https://bugs.webkit.org/show_bug.cgi?id=128313

Reviewed by Mark Lam.

Now that the custom getter calling convetion uses a single register
for the slot base we can easily pass the correct |thisValue| instead
of simply relying on the thisValue not be relevant to existing
custom getters. This also means that 32bit can call custom getters
directly.

* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
* jit/Repatch.cpp:
(JSC::generateProtoChainAccessStub):
(JSC::tryBuildGetByIDList):

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

7 years agoFix a copy/paste mistake in TestExpectations.
ap@apple.com [Thu, 6 Feb 2014 18:20:48 +0000 (18:20 +0000)]
Fix a copy/paste mistake in TestExpectations.

* platform/mac/TestExpectations:

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

7 years ago[CSS Grid Layout] getComputedStyle() is wrong for grid-definition-{columns|rows}
svillar@igalia.com [Thu, 6 Feb 2014 18:13:30 +0000 (18:13 +0000)]
[CSS Grid Layout] getComputedStyle() is wrong for grid-definition-{columns|rows}
https://bugs.webkit.org/show_bug.cgi?id=127033

Reviewed by Andreas Kling.

Source/WebCore:

Tests: fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html
       fast/css-grid-layout/non-grid-columns-rows-get-set.html
       fast/css-grid-layout/non-grid-element-repeat-get-set.html
       fast/css-grid-layout/non-named-grid-line-get-set.html

According to the specs getComputedStyle() should return the used
values instead of the resolved values for compatibility with early
implementations. This means that grid-definition-{columns|rows}
are now layout dependent as we need to compute the used values for
grid track sizes.

Updated the outcome of existing tests and added a bunch of new
ones that check the behavior of the different properties outside
grid containers.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::specifiedValueForGridTrackSize):
(WebCore::valueForGridTrackList):
(WebCore::isLayoutDependent):
(WebCore::ComputedStyleExtractor::propertyValue):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::GridIterator::GridIterator):
(WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
(WebCore::RenderGrid::computeUsedBreadthOfMinLength):
(WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
(WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
(WebCore::RenderGrid::computeNormalizedFractionBreadth):
(WebCore::RenderGrid::gridTrackSize):
(WebCore::RenderGrid::minContentForChild):
(WebCore::RenderGrid::maxContentForChild):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
(WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
(WebCore::RenderGrid::growGrid):
(WebCore::RenderGrid::autoPlacementMajorAxisDirection):
(WebCore::RenderGrid::autoPlacementMinorAxisDirection):
(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::resolveGridPositionsFromAutoPlacementPosition):
(WebCore::RenderGrid::resolveGridPositionsFromStyle):
(WebCore::RenderGrid::gridAreaBreadthForChild):
(WebCore::RenderGrid::populateGridPositions):
(WebCore::RenderGrid::findChildLogicalPosition):
* rendering/RenderGrid.h:

LayoutTests:

Updated the expected results of many tests, as we should expect
the used values instead of the resolved ones when asking for
getComputedStyle().

* fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
* fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
* fast/css-grid-layout/grid-columns-rows-get-set.html:
* fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
* fast/css-grid-layout/grid-element-repeat-get-set.html:
* fast/css-grid-layout/named-grid-line-get-set-expected.txt:
* fast/css-grid-layout/named-grid-line-get-set.html:
* fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt: Copied from LayoutTests/fast/css-grid-layout/grid-columns-rows-get-set-expected.txt.
* fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-expected.txt: Copied from LayoutTests/fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt.
* fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html: Copied from LayoutTests/fast/css-grid-layout/grid-columns-rows-get-set-multiple.html.
* fast/css-grid-layout/non-grid-columns-rows-get-set.html: Copied from LayoutTests/fast/css-grid-layout/grid-columns-rows-get-set.html.
* fast/css-grid-layout/non-grid-element-repeat-get-set-expected.txt: Copied from LayoutTests/fast/css-grid-layout/grid-element-repeat-get-set-expected.txt.
* fast/css-grid-layout/non-grid-element-repeat-get-set.html: Copied from LayoutTests/fast/css-grid-layout/grid-element-repeat-get-set.html.
* fast/css-grid-layout/non-named-grid-line-get-set-expected.txt: Copied from LayoutTests/fast/css-grid-layout/named-grid-line-get-set-expected.txt.
* fast/css-grid-layout/non-named-grid-line-get-set.html: Added.
* fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
(testInherit):
(testInitial):
* fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
(testInherit):
(testInitial):
* fast/css-grid-layout/resources/grid-definitions-parsing-utils.js:
(testGridDefinitionsValues):
(checkGridDefinitionsSetJSValues):
* fast/css-grid-layout/resources/non-grid-columns-rows-get-set-multiple.js: Copied from LayoutTests/fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js.
(testInherit):
(testInitial):
* fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js: Copied from LayoutTests/fast/css-grid-layout/resources/grid-columns-rows-get-set.js.
(testInherit):
(testInitial):

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

7 years agoModernize CrossOriginPreflightResultCache
andersca@apple.com [Thu, 6 Feb 2014 18:08:38 +0000 (18:08 +0000)]
Modernize CrossOriginPreflightResultCache
https://bugs.webkit.org/show_bug.cgi?id=128309

Reviewed by Antti Koivisto.

Use std::chrono::steady_clock instead of currentTime() for determining when
cache items expire, Use std::unique_ptr instead of OwnPtr, use NeverDestroyed,
get rid of unnecessary container typedefs now that we have auto. Finally,
de-indent the entire class declaration.

* loader/CrossOriginPreflightResultCache.cpp:
(WebCore::CrossOriginPreflightResultCache::CrossOriginPreflightResultCache):
(WebCore::parseAccessControlMaxAge):
(WebCore::CrossOriginPreflightResultCacheItem::parse):
(WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
(WebCore::CrossOriginPreflightResultCache::shared):
(WebCore::CrossOriginPreflightResultCache::appendEntry):
(WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
* loader/CrossOriginPreflightResultCache.h:
(WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveResponse):

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

7 years agoediting/caret/caret-color.html is flaky on WK2
ap@apple.com [Thu, 6 Feb 2014 18:08:36 +0000 (18:08 +0000)]
editing/caret/caret-color.html is flaky on WK2
https://bugs.webkit.org/show_bug.cgi?id=128315

* platform/mac-wk2/TestExpectations: Marked it as such.

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

7 years agoMenclose with no notation attribute does not display anything.
commit-queue@webkit.org [Thu, 6 Feb 2014 18:04:41 +0000 (18:04 +0000)]
Menclose with no notation attribute does not display anything.
https://bugs.webkit.org/show_bug.cgi?id=127889

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-02-06
Reviewed by Chris Fleizach.

Source/WebCore:

Menclose with no notation attribute should behave same as menclose with
notation attribute with value as longdiv. By default the division
symbol should be displayed. For empty and invalid notation attribute
nothing should be displayed.

Tests: mathml/presentation/menclose-notation-default-longdiv.html
       mathml/presentation/menclose-notation-invalid-empty.html

* mathml/MathMLMencloseElement.h:
* rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::paint):
Added style for menclose with no notation attribute and handled this
condition in paint also where for longdiv we are explicitly drawing
the division symbol.

LayoutTests:

* mathml/presentation/menclose-notation-default-longdiv.html: Added.
* mathml/presentation/menclose-notation-invalid-empty-expected.html: Added.
* mathml/presentation/menclose-notation-invalid-empty.html: Added.
* platform/efl/mathml/presentation/menclose-notation-default-longdiv-expected.png: Added.
* platform/efl/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Added.
* platform/gtk/mathml/presentation/menclose-notation-default-longdiv-expected.png: Added.
* platform/gtk/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Added.
* platform/mac/mathml/presentation/menclose-notation-default-longdiv-expected.png: Added.
* platform/mac/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Added.
Added new test cases to test the functionality of menclose with no
notation attribute, invalid and empty notation attribute.

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

7 years agoHeap::writeBarrier shouldn't be static
mhahnenberg@apple.com [Thu, 6 Feb 2014 17:59:05 +0000 (17:59 +0000)]
Heap::writeBarrier shouldn't be static
https://bugs.webkit.org/show_bug.cgi?id=127807

Reviewed by Geoffrey Garen.

Currently it looks up the Heap in which to fire the write barrier by using
the cell passed to it. Almost every call site already has a reference to the
VM or the Heap itself. It seems wasteful to look it up all over again.

Source/JavaScriptCore:

* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/CopyWriteBarrier.h:
(JSC::CopyWriteBarrier::set):
* heap/Heap.cpp:
(JSC::Heap::writeBarrier):
* heap/Heap.h:
(JSC::Heap::writeBarrier):
* jit/JITOperations.cpp:
* jit/JITWriteBarrier.h:
(JSC::JITWriteBarrierBase::set):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_write_barrier_slow):
* runtime/Arguments.h:
* runtime/JSWeakMap.cpp:
* runtime/MapData.cpp:
(JSC::MapData::ensureSpaceForAppend):
* runtime/PropertyTable.cpp:
(JSC::PropertyTable::PropertyTable):
* runtime/Structure.h:
* runtime/WriteBarrier.h:
* runtime/WriteBarrierInlines.h: Added.

Source/WebCore:

* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::JSEventListener):
* bindings/js/JSEventListener.h:
(WebCore::JSEventListener::jsFunction):

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

7 years agomedia/video-load-preload-metadata.html is flaky
ap@apple.com [Thu, 6 Feb 2014 17:55:15 +0000 (17:55 +0000)]
media/video-load-preload-metadata.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=128312

* platform/mac/TestExpectations: Marked it as such.

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

7 years agoUnreviewed, rolling out r163530.
commit-queue@webkit.org [Thu, 6 Feb 2014 17:49:32 +0000 (17:49 +0000)]
Unreviewed, rolling out r163530.
http://trac.webkit.org/changeset/163530
https://bugs.webkit.org/show_bug.cgi?id=128311

It broke run-gtk-tests (Requested by Ossy on #webkit).

* efl/common.py: Copied from Tools/gtk/jhbuildrc.
(script_path):
(top_level_path):
* efl/jhbuildrc:
* gtk/common.py:
(script_path):
(top_level_path):
* gtk/find-make-dist-errors:
(get_missing_headers):
* gtk/generate-gtkdoc:
(get_webkit2_options):
(get_webkit1_options.src_path):
(get_webkit1_options):
(get_webkitdom_options.src_path):
(get_webkitdom_options):
* gtk/generate-inspector-gresource-manifest.py:
* gtk/jhbuildrc:
* jhbuild/jhbuildrc_common.py: Removed.
* nix/common.py: Copied from Tools/nix/jhbuildrc.
(script_path):
(top_level_path):
* nix/jhbuildrc:

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

7 years agoIDB: storage/indexeddb/mozilla/clear.html fails
beidson@apple.com [Thu, 6 Feb 2014 17:42:12 +0000 (17:42 +0000)]
IDB: storage/indexeddb/mozilla/clear.html fails
<rdar://problem/15997155> and https://bugs.webkit.org/show_bug.cgi?id=128282

Reviewed by David Kilzer.

Source/WebCore:

Covered by storage/indexeddb/mozilla/clear.html (and probably others)

Update the value deserializer to take into account whether or not there was an IDBKey:
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::deserializeIDBValueBuffer):
* bindings/js/IDBBindingUtilities.h:

* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess): Call the new form of deserializeIDBValueBuffer.

* Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::clearObjectStore): Update logging.

* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::setActive): Update logging.

* Modules/indexeddb/IDBTransactionBackend.cpp:
(WebCore::IDBTransactionBackend::commit): Fix ASSERTs to reflect multi-process worlds.

Source/WebKit2:

* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::openTransaction): Update logging.

* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
(WebKit::SQLiteIDBTransaction::commit): Update ASSERT.

LayoutTests:

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

Update the test for (what I can only assume are) changes in the spec:
* storage/indexeddb/mozilla/clear-expected.txt:
* storage/indexeddb/mozilla/resources/clear.js:
(areWeClearYet):

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

7 years agoRe-enable simple line layout on non-Mac platforms
ossy@webkit.org [Thu, 6 Feb 2014 17:29:46 +0000 (17:29 +0000)]
Re-enable simple line layout on non-Mac platforms
https://bugs.webkit.org/show_bug.cgi?id=123338

Reviewed by Anders Carlsson.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):

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

7 years agoUse std::chrono functions in dispatchFunctionsFromMainThread()
andersca@apple.com [Thu, 6 Feb 2014 17:03:16 +0000 (17:03 +0000)]
Use std::chrono functions in dispatchFunctionsFromMainThread()
https://bugs.webkit.org/show_bug.cgi?id=128308

Reviewed by Antti Koivisto.

* wtf/MainThread.cpp:
(WTF::dispatchFunctionsFromMainThread):

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

7 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Thu, 6 Feb 2014 16:50:47 +0000 (16:50 +0000)]
Unreviewed EFL gardening

Add test expectations for tests crashing after r162816.

* platform/efl-wk2/TestExpectations:

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

7 years agoUse system default compiler instead of gcc, as final fall through.
commit-queue@webkit.org [Thu, 6 Feb 2014 16:45:07 +0000 (16:45 +0000)]
Use system default compiler instead of gcc, as final fall through.
https://bugs.webkit.org/show_bug.cgi?id=126773

Patch by Koop Mast <kwm@FreeBSD.org> on 2014-02-06
Reviewed by Alexey Proskuryakov.

* dom/make_names.pl:

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

7 years agoNo need to enterFullscreen() when already in fullscreen
eric.carlson@apple.com [Thu, 6 Feb 2014 16:29:52 +0000 (16:29 +0000)]
No need to enterFullscreen() when already in fullscreen
https://bugs.webkit.org/show_bug.cgi?id=128276

Reviewed by Jer Noble.

No new tests, this is just cleanup.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updatePlayState): Don't call enterFullscreen() if already there.
(WebCore::HTMLMediaElement::enterFullscreen): Return early if m_isFullscreen is already true.

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

7 years agoUnreviewed. Add myself as a committer.
d.nomiyama@samsung.com [Thu, 6 Feb 2014 15:24:52 +0000 (15:24 +0000)]
Unreviewed. Add myself as a committer.

* Scripts/webkitpy/common/config/contributors.json:

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

7 years ago[CSS Regions] Null dereference applying animation with CSS regions
stavila@adobe.com [Thu, 6 Feb 2014 14:42:02 +0000 (14:42 +0000)]
[CSS Regions] Null dereference applying animation with CSS regions
https://bugs.webkit.org/show_bug.cgi?id=128218

Reviewed by Andrei Bucur.

Source/WebCore:

The first issue (the null dereference) was caused by the checkForZoomChange method
not guarding against a null parentStyle parameter, as the checkForGenericFamilyChange
method does, which in the crashing scenario is called just before the faulty
checkForZoomChange method.
The second issue was an assert which was caused by the fact that detaching is performed
in a certain situation if the element has a renderer or if it's inside a named flow.
However, when reattaching and asserting the element has no renderer, the
"inside named flow" condition was no longer considered.

Test: fast/regions/animation-element-in-region-flowed-to-other-thread.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::checkForZoomChange):
* style/StyleResolveTree.cpp:
(WebCore::Style::attachChildren):

LayoutTests:

Added test for crash caused by using animations with DOM children of regions flowed
into another flow thread.

* fast/regions/animation-element-in-region-flowed-to-other-thread-expected.html: Added.
* fast/regions/animation-element-in-region-flowed-to-other-thread.html: Added.

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

7 years agoExtract common parts from jhbuildrc files.
commit-queue@webkit.org [Thu, 6 Feb 2014 13:41:46 +0000 (13:41 +0000)]
Extract common parts from jhbuildrc files.
https://bugs.webkit.org/show_bug.cgi?id=125986

Patch by Peter Szanka <h868064@stud.u-szeged.hu> on 2014-02-06
Reviewed by Csaba Osztrogonác.

* efl/common.py: Removed.
* efl/jhbuildrc:
* gtk/common.py:
(binary_build_path):
* gtk/find-make-dist-errors:
(get_missing_headers):
* gtk/generate-gtkdoc:
(get_webkit2_options):
(get_webkit1_options.src_path):
(get_webkit1_options):
(get_webkitdom_options.src_path):
(get_webkitdom_options):
* gtk/generate-inspector-gresource-manifest.py:
* gtk/jhbuildrc:
* jhbuild/jhbuildrc_common.py: Added.
(script_path):
(top_level_path):
(init):
* nix/common.py: Removed.
* nix/jhbuildrc:

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

7 years agoVerify copy/paste of misspellings asynchronously
g.czajkowski@samsung.com [Thu, 6 Feb 2014 10:50:58 +0000 (10:50 +0000)]
Verify copy/paste of misspellings asynchronously
https://bugs.webkit.org/show_bug.cgi?id=128246

Reviewed by Ryosuke Niwa.

Refactoring two spelling tests that use copy/paste to be able to
verify spelling markers asynchronously.
Additionally, use evalAndLog() to make test expectation more readable.
Fix the description according to the tests.

Start off verifying whether spelling marker is available when continuous spell
checking (spellcheck attribute, respectively) is on.
Without this test case, the tests passed even spellchecking
or copy/paste were not implemented (EFL).

* editing/spelling/spellcheck-paste-continuous-disabled-expected.txt:
* editing/spelling/spellcheck-paste-continuous-disabled.html:
Remove unnecessary spellcheck=true attribute. It's default value and we
do not manipulate it at all.
Add destination element where paste operation is performed.

* editing/spelling/spellcheck-paste-disabled-expected.txt:
* editing/spelling/spellcheck-paste-disabled.html:

* platform/efl/TestExpectations:
Mark spellcheck-paste-continuous-disabled.html as failing since EFL does not
implement copy/paste feature.

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

7 years agoCreate a HTMLUnknownElement when using createElement('image')
commit-queue@webkit.org [Thu, 6 Feb 2014 10:05:00 +0000 (10:05 +0000)]
Create a HTMLUnknownElement when using createElement('image')
https://bugs.webkit.org/show_bug.cgi?id=125896

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-02-06
Reviewed by Antti Koivisto.

Source/WebCore:

Blink: https://chromium.googlesource.com/chromium/blink/+/fd8a7b65f3300fb9245db24d5ed240c80b7f76ad
* html/HTMLTagNames.in:

LayoutTests:

* fast/dom/wrapper-classes-expected.txt:
* fast/dom/wrapper-classes.html:

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

7 years ago[XHR] Ensure response return null when error flag is set for blob and arraybuffer
commit-queue@webkit.org [Thu, 6 Feb 2014 09:42:26 +0000 (09:42 +0000)]
[XHR] Ensure response return null when error flag is set for blob and arraybuffer
https://bugs.webkit.org/show_bug.cgi?id=127050

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

Source/WebCore:

Added a check in JSXMLHttpRequest::response to ensure response return null when error flag is set for blob and arraybuffer
This check also applies to document and json response types (no change in behavior for those types but code path change)
Added assertions in the related XMLHttpRequest blob and array buffer getters
Minor code clean-up.
The test cases check all four response types in case of timeout and abort

Tests: http/tests/xmlhttprequest/onabort-response-getters.html
       http/tests/xmlhttprequest/ontimeout-response-getters.html

* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::response):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didCacheResponseJSON):
(WebCore::XMLHttpRequest::responseXML):
(WebCore::XMLHttpRequest::responseBlob):
(WebCore::XMLHttpRequest::responseArrayBuffer):

LayoutTests:

Added test cases that check XHR response in case of timeout and abort for arraybuffer, blob, document and json.

* fast/files/script-tests/xhr-response-blob.js: updated to expect null for blob response in case of XHR requesting a file that does not exist
(.xhr.onreadystatechange):
(.xhr.onerror):
(.xhr.onload):
(.xhr.onloadend):
(testBlob):
* fast/files/xhr-response-blob-expected.txt:
* http/tests/resources/load-then-wait.cgi: Added (similar to load-and-stall except that it sends the whole document and then wait for some time before completing the response).
* http/tests/xmlhttprequest/onabort-response-getters-expected.txt: Added.
* http/tests/xmlhttprequest/onabort-response-getters.html: Added.
* http/tests/xmlhttprequest/ontimeout-response-getters-expected.txt: Added.
* http/tests/xmlhttprequest/ontimeout-response-getters.html: Added.

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

7 years agoFix the build after r163516 for !ENABLE(ASYNC_SCROLLING) platforms
ossy@webkit.org [Thu, 6 Feb 2014 09:01:29 +0000 (09:01 +0000)]
Fix the build after r163516 for !ENABLE(ASYNC_SCROLLING) platforms
https://bugs.webkit.org/show_bug.cgi?id=128299

Reviewed by Antti Koivisto.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleTouchEvent):

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

7 years agoUnreviewed fix after r163520, remove Andrei from committers list, because
ossy@webkit.org [Thu, 6 Feb 2014 08:38:24 +0000 (08:38 +0000)]
Unreviewed fix after r163520, remove Andrei from committers list, because
he is reviewer now, and webkit-patch doesn't like duplicated entries.

* Scripts/webkitpy/common/config/contributors.json:

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

7 years agoChange Page, FocusController to use ViewState
barraclough@apple.com [Thu, 6 Feb 2014 08:23:15 +0000 (08:23 +0000)]
Change Page, FocusController to use ViewState
https://bugs.webkit.org/show_bug.cgi?id=126533

Reviewed by Tim Horton.

These classes currently maintain a set of separate fields to represent the view state;
combine these into a single field, and allow WebPage to send the combined update rather
than individual changes.

Maintain existing interface for WebKit1 clients.

Source/WebCore:

* WebCore.exp.in:
    - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
* page/FocusController.cpp:
(WebCore::FocusController::FocusController):
    - Initialize combined m_viewState.
(WebCore::FocusController::setFocused):
    - Calls setViewState.
(WebCore::FocusController::setFocusedInternal):
    - setFocused -> setFocusedInternal.
(WebCore::FocusController::setViewState):
    - Added, update all ViewState flags.
(WebCore::FocusController::setActive):
    - Calls setViewState.
(WebCore::FocusController::setActiveInternal):
    - setActive -> setActiveInternal.
(WebCore::FocusController::setContentIsVisible):
    - Calls setViewState.
(WebCore::FocusController::setContentIsVisibleInternal):
    - setContentIsVisible -> setContentIsVisibleInternal.
* page/FocusController.h:
(WebCore::FocusController::isActive):
(WebCore::FocusController::isFocused):
(WebCore::FocusController::contentIsVisible):
    - Implemented in terms of ViewState.
* page/Page.cpp:
(WebCore::Page::Page):
    - Initialize using PageInitialViewState.
(WebCore::Page::setIsInWindow):
    - Calls setViewState.
(WebCore::Page::setIsInWindowInternal):
    - setIsInWindow -> setIsInWindowInternal.
(WebCore::Page::setIsVisuallyIdleInternal):
    - setIsVisuallyIdle -> setIsVisuallyIdleInternal.
(WebCore::Page::setViewState):
    - Added, update all ViewState flags, including FocusController.
(WebCore::Page::setIsVisible):
    - Calls setViewState.
(WebCore::Page::setIsVisibleInternal):
    - setIsVisible -> setIsVisibleInternal.
(WebCore::Page::visibilityState):
    - m_isVisible -> isVisible()
(WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
    - m_isVisible -> isVisible()
* page/Page.h:
(WebCore::Page::isVisible):
(WebCore::Page::isInWindow):
    - Implemented in terms of ViewState.
(WebCore::Page::scriptedAnimationsSuspended):
    - Combined member fields into ViewState::Flags.

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _windowWillOrderOnScreen:]):
(-[WebView _windowWillOrderOffScreen:]):
    - remove calls to FocusController::setContentIsVisible, these are redundant
      (this is handled when page visibility is set).

Source/WebKit2:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
    - Combined separate calls to Page::setViewState.
(WebKit::WebPage::updateIsInWindow):
    - Simplied from setIsInWindow.
(WebKit::WebPage::setViewState):
    - Combined separate calls to Page::setViewState.
* WebProcess/WebPage/WebPage.h:
    - Declare updateIsInWindow.

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

7 years agoVersioning.
bshafiei@apple.com [Thu, 6 Feb 2014 08:03:55 +0000 (08:03 +0000)]
Versioning.

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

7 years agoUnreviewed GTK build fix after r163480.
zandobersek@gmail.com [Thu, 6 Feb 2014 07:59:07 +0000 (07:59 +0000)]
Unreviewed GTK build fix after r163480.

* GNUmakefile.list.am: Removing the WebUIClient build targets.

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

7 years agoAdding myself as a reviewer.
abucur@adobe.com [Thu, 6 Feb 2014 07:58:22 +0000 (07:58 +0000)]
Adding myself as a reviewer.

Unreviewed.

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

7 years agoRemove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro
zandobersek@gmail.com [Thu, 6 Feb 2014 07:49:15 +0000 (07:49 +0000)]
Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro
https://bugs.webkit.org/show_bug.cgi?id=128267

Reviewed by Andreas Kling.

Source/WTF:

Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro that was manually defined for compilers
that support the C++11 initializer lists. The feature is well supported in Clang, MSVC and also GCC. It
was actually already used unguarded in HashSet.

* wtf/Compiler.h:
* wtf/HashMap.h:
(WTF::HashMap::HashMap):
* wtf/Vector.h:
(WTF::Vector::Vector):

Tools:

Remove the COMPILER_SUPPORTS(CXX_GENERALIZED_INITIALIZERS) as the underlying macro is also
being removed since the feature is supported by all the compilers the project approves.

* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):

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

7 years ago[EFL][WK2] Remove legacy behavior mode in MiniBrowser
jinwoo7.song@samsung.com [Thu, 6 Feb 2014 07:24:27 +0000 (07:24 +0000)]
[EFL][WK2] Remove legacy behavior mode in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=128298

Reviewed by Gyuyoung Kim.

MiniBrowser is crashing when the legacy mode is set in creating webview.
As EFL application cannot use this API for creating webview after r146265,
it would be better to remove this invalid option.

* MiniBrowser/efl/main.c:
(window_create): Do not create webview with WKViewCreate API.
(elm_main): Remove 'legacy' option.

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

7 years agoMake FTL OSR entry something we only try after we've already compiled the function...
fpizlo@apple.com [Thu, 6 Feb 2014 07:11:48 +0000 (07:11 +0000)]
Make FTL OSR entry something we only try after we've already compiled the function with the FTL and it still got stuck in a loop after that without ever returning like a sensible function oughta have
https://bugs.webkit.org/show_bug.cgi?id=128234

Reviewed by Geoffrey Garen.

Use DFG::JITCode::osrEntryRetry as a counter to decide when to invoke OSR entry. That
comes into play only after we've done a replacement compile.

This appears to still give us a speed-up on the kinds of things that OSR entry is good
for, while also eliminating pointless OSR entry compilations on other things.

* dfg/DFGJITCode.cpp:
(JSC::DFG::JITCode::JITCode):
* dfg/DFGJITCode.h:
* dfg/DFGOperations.cpp:
* dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::compilationDidComplete):
* runtime/Options.h:

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

7 years agoTransfer the non-fast-scrollable region to the UI process for iOS
simon.fraser@apple.com [Thu, 6 Feb 2014 06:55:20 +0000 (06:55 +0000)]
Transfer the non-fast-scrollable region to the UI process for iOS
https://bugs.webkit.org/show_bug.cgi?id=128293

Reviewed by Benjamin Poulain.

Source/WebCore:

Two main changes to support sending the non-fast scrollable region
to the UI process for iOS:

1. Add ScrollingCoordinator::frameViewNonFastScrollableRegionChanged(),
which is called when we've updated the touch event region (this can happen
independenly of layout). When called we just scheduled a scrolling tree
commit with the new region.

2. Avoid thinking that we have a new root node with every remote scrolling
transaction. This was a side-effect of reconstructing the scrolling state
tree in the UI process, and caused us to try to grab a nonFastScrollableRegion
from a node which never had one set.

* WebCore.exp.in:
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
* page/scrolling/AsyncScrollingCoordinator.h:
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
* page/scrolling/ScrollingStateTree.h:
(WebCore::ScrollingStateTree::setHasNewRootStateNode):
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::commitNewTreeState):
(WebCore::ScrollingTree::isPointInNonFastScrollableRegion):
* page/scrolling/ScrollingTree.h:

Source/WebKit2:

Two main changes to support sending the non-fast scrollable region
to the UI process for iOS:

1. Add ScrollingCoordinator::frameViewNonFastScrollableRegionChanged(),
which is called when we've updated the touch event region (this can happen
independenly of layout). When called we just scheduled a scrolling tree
commit with the new region.

2. Avoid thinking that we have a new root node with every remote scrolling
transaction. This was a side-effect of reconstructing the scrolling state
tree in the UI process, and caused us to try to grab a nonFastScrollableRegion
from a node which never had one set.

Now that we have the non-fast scrollable region in the UI process, we can
use it to avoid sending sync messages to the web process.

* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateScrollingNode>::encode): Encode hasNewRootNode.
(ArgumentCoder<ScrollingStateScrollingNode>::decode): Decode hasNewRootNode and set it on
the state tree.
(WebKit::RemoteScrollingCoordinatorTransaction::encode): Encode the nonFastScrollableRegion
now that we can encode Regions.
(WebKit::RemoteScrollingCoordinatorTransaction::decode): Decode the nonFastScrollableRegion
now that we can decode Regions.
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::isPointInNonFastScrollableRegion):
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleTouchEvent): If we're not in the non-fast scrollable region,
don't both sending touch events to the web process.

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

7 years ago[iOS] Synchronize the WKContentView and UIScrollView updates with the tiles being...
benjamin@webkit.org [Thu, 6 Feb 2014 06:45:41 +0000 (06:45 +0000)]
[iOS] Synchronize the WKContentView and UIScrollView updates with the tiles being commited
https://bugs.webkit.org/show_bug.cgi?id=127886

Reviewed by Simon Fraser.

Source/WebCore:

The updates of the views on the UIProcess side was completely disconnected
from the tiles updates from the DrawingArea. There is a non-negligible time
between the size/scale update and the new tiles coming, which causes
visual glitches.

There are three main cases where the tiles and content would be out of sync
with the UIViews:
-When loading a new page with different content width of a different viewport.
-When a page changes its viewport.
-When the viewport-constrainted viewport size changes.

To fix the issue, WKView is modified to maintain the old state of WKContentView
and UIScrollView until the new tiles are available.

Geometry/scale update are split in two phases:
1) A source (the page or the user) changes parameters of the geometry. The WebProcess updates
   its layout accordingly.
   At this point, the UIViews are unchanged and are left with the old parameters.
2) Eventually, new tiles come and commitLayerTree() is called on the drawing area proxy.
   At that point, WKContentView and its UIScrollView are updated to match the committed
   size and scale for the page.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* page/ViewportConfiguration.cpp: Added.
(WebCore::constraintsAreAllRelative):
(WebCore::ViewportConfiguration::ViewportConfiguration):
(WebCore::ViewportConfiguration::setDefaultConfiguration):
(WebCore::ViewportConfiguration::setContentsSize):
(WebCore::ViewportConfiguration::setMinimumLayoutSize):
(WebCore::ViewportConfiguration::setViewportArguments):
(WebCore::ViewportConfiguration::layoutSize):
(WebCore::ViewportConfiguration::initialScale):
(WebCore::ViewportConfiguration::minimumScale):
(WebCore::ViewportConfiguration::maximumScale):
(WebCore::ViewportConfiguration::allowsUserScaling):
(WebCore::viewportArgumentValueIsValid):
(WebCore::applyViewportArgument):
(WebCore::ViewportConfiguration::updateConfiguration):
(WebCore::ViewportConfiguration::layoutWidth):
(WebCore::ViewportConfiguration::layoutHeight):
* page/ViewportConfiguration.h: Added.
(WebCore::ViewportConfigurationConfiguration::ViewportConfigurationConfiguration):
(WebCore::ViewportConfiguration::defaultConfiguration):
(WebCore::ViewportConfiguration::contentsSize):
(WebCore::ViewportConfiguration::minimumLayoutSize):
(WebCore::ViewportConfiguration::viewportArguments):

Source/WebKit2:

* Shared/mac/RemoteLayerTreeTransaction.h:
(WebKit::RemoteLayerTreeTransaction::mainFrameContentsSize):
(WebKit::RemoteLayerTreeTransaction::setMainFrameContentsSize):
(WebKit::RemoteLayerTreeTransaction::pageScaleFactor):
(WebKit::RemoteLayerTreeTransaction::setPageScaleFactor):
(WebKit::RemoteLayerTreeTransaction::minimumScaleFactor):
(WebKit::RemoteLayerTreeTransaction::setMinimumScaleFactor):
(WebKit::RemoteLayerTreeTransaction::maximumScaleFactor):
(WebKit::RemoteLayerTreeTransaction::setMaximumScaleFactor):
(WebKit::RemoteLayerTreeTransaction::allowsUserScaling):
(WebKit::RemoteLayerTreeTransaction::setAllowsUserScaling):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
* UIProcess/API/ios/PageClientImplIOS.h:
* UIProcess/API/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didCommitLayerTree):
* UIProcess/API/ios/WKContentView.h:
* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView setMinimumLayoutSize:]):
(-[WKContentView willStartUserTriggeredZoom]):
(-[WKContentView _didCommitLayerTree:WebKit::]):
* UIProcess/API/ios/WKContentViewInternal.h:
* UIProcess/API/ios/WKViewIOS.mm:
(-[WKView contentViewDidCommitLoadForMainFrame:]):
(-[WKView contentView:didCommitLayerTree:WebKit::]):
(-[WKView scrollViewWillBeginZooming:withView:]):
(-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
(-[WKView _frameOrBoundsChanged]):
(-[WKView minimumLayoutSizeOverride]):
(-[WKView setMinimumLayoutSizeOverride:]):
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::setVirtualViewportMinimumLayoutSize):
(WebKit::WebPageProxy::didCommitLayerTree):
(WebKit::WebPageProxy::willStartUserTriggeredZooming):
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::contentsSizeChanged):
(WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
* WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::didReceiveMobileDocType):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::mainFrameDidLayout):
(WebKit::WebPage::didCommitLoad):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::viewportPropertiesDidChange):
(WebKit::WebPage::minimumPageScaleFactor):
(WebKit::WebPage::maximumPageScaleFactor):
(WebKit::WebPage::allowsUserScaling):
(WebKit::WebPage::setVirtualViewportMinimumLayoutSize):
(WebKit::WebPage::virtualViewportChanged):
(WebKit::WebPage::willStartUserTriggeredZooming):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):

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

7 years ago[WK2] Add the minimumLayoutSizeOverride SPI to WKWebView
benjamin@webkit.org [Thu, 6 Feb 2014 06:19:16 +0000 (06:19 +0000)]
[WK2] Add the minimumLayoutSizeOverride SPI to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=128295

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-05
Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView minimumLayoutSizeOverride]):
(-[WKWebView setMinimumLayoutSizeOverride:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h: Added.
* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoDon't speculate on ToThis if we already know that arg0 has a questionable record...
fpizlo@apple.com [Thu, 6 Feb 2014 05:26:57 +0000 (05:26 +0000)]
Don't speculate on ToThis if we already know that arg0 has a questionable record with structure checks
https://bugs.webkit.org/show_bug.cgi?id=128229

Reviewed by Geoffrey Garen.

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

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

7 years agoSelectorCodeGenerator::generateElementHasTagName should match the local name before...
benjamin@webkit.org [Thu, 6 Feb 2014 05:14:19 +0000 (05:14 +0000)]
SelectorCodeGenerator::generateElementHasTagName should match the local name before the namespace
https://bugs.webkit.org/show_bug.cgi?id=128167

Reviewed by Sam Weinig.

The local name is a stricter filter than the namespace, it should always run first.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasTagName):

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

7 years agoAdd HTMLNames::classAttr as a regular name in SVGElement::isAnimatableAttribute
benjamin@webkit.org [Thu, 6 Feb 2014 05:11:39 +0000 (05:11 +0000)]
Add HTMLNames::classAttr as a regular name in SVGElement::isAnimatableAttribute
https://bugs.webkit.org/show_bug.cgi?id=128166

Reviewed by Sam Weinig.

For historical reasons, classAttr was treated separately. There is no reasons for that anymore.

* svg/SVGElement.cpp:
(WebCore::SVGElement::isAnimatableAttribute):

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

7 years agoAdd HTMLNames::classAttr has a regular name in SVGElement::isAnimatableAttribute
benjamin@webkit.org [Thu, 6 Feb 2014 05:10:24 +0000 (05:10 +0000)]
Add HTMLNames::classAttr has a regular name in SVGElement::isAnimatableAttribute
https://bugs.webkit.org/show_bug.cgi?id=128166

Reviewed by Sam Weinig.

For historical reasons, classAttr was treated separately. There is no reasons for that anymore.

* svg/SVGElement.cpp:
(WebCore::SVGElement::isAnimatableAttribute):

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

7 years agoSupport encoding and decoding of Regions
simon.fraser@apple.com [Thu, 6 Feb 2014 04:31:46 +0000 (04:31 +0000)]
Support encoding and decoding of Regions
https://bugs.webkit.org/show_bug.cgi?id=128284

Source/WebCore:

Reviewed by Anders Carlsson.

Region changes to make it encodable:

Make Region::Span public and give it a default constructor.
Allow getting and setting of Shape internals, and a way to update
the Region bounds after changing the shape. Also add a way to test
for valid spans and segments.

* platform/graphics/Region.cpp:
(WebCore::Region::Shape::isValid):
(WebCore::Region::updateBoundsFromShape):
* platform/graphics/Region.h:
(WebCore::Region::isValid):
(WebCore::Region::Span::Span):
(WebCore::Region::shapeSegments):
(WebCore::Region::shapeSpans):
(WebCore::Region::setShapeSegments):
(WebCore::Region::setShapeSpans):
(WebCore::Region::Shape::segments):
(WebCore::Region::Shape::spans):
(WebCore::Region::Shape::setSegments):
(WebCore::Region::Shape::setSpans):

Source/WebKit2:

Reviewed by Anders Carlsson.

Support encoding and decoding of Region, and its internal
struct Region::Span.

ArgumentCoders had to be taught about how to encode
Vectors with inline capacity.

* Platform/IPC/ArgumentCoders.h:
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Region::Span>::encode):
(IPC::ArgumentCoder<Region::Span>::decode):
(IPC::ArgumentCoder<Region>::encode):
(IPC::ArgumentCoder<Region>::decode):
* Shared/WebCoreArgumentCoders.h:

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

7 years agoRebaseline the bindings tests after Oliver's hackery.
akling@apple.com [Thu, 6 Feb 2014 04:10:47 +0000 (04:10 +0000)]
Rebaseline the bindings tests after Oliver's hackery.

* bindings/scripts/test/JS/:

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

7 years agoHandling of opaque roots is wrong in EdenCollections
mhahnenberg@apple.com [Thu, 6 Feb 2014 03:38:19 +0000 (03:38 +0000)]
Handling of opaque roots is wrong in EdenCollections
https://bugs.webkit.org/show_bug.cgi?id=128210

Reviewed by Oliver Hunt.

The set of opaque roots is always cleared during each collection. We should instead persist
the set of opaque roots across EdenCollections and only clear it at the beginning of FullCollections.

Also added a couple of custom objects to the jsc shell that allow us to test this.

* heap/GCThreadSharedData.cpp:
(JSC::GCThreadSharedData::reset):
(JSC::GCThreadSharedData::didStartMarking):
* heap/Heap.cpp:
(JSC::Heap::markRoots):
* heap/Heap.h:
(JSC::Heap::setShouldDoFullCollection):
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::didStartMarking):
(JSC::SlotVisitor::reset):
* heap/SlotVisitor.h:
* jsc.cpp:
(WTF::Element::Element):
(WTF::Element::root):
(WTF::Element::setRoot):
(WTF::Element::create):
(WTF::Element::createStructure):
(WTF::ElementHandleOwner::isReachableFromOpaqueRoots):
(WTF::Root::Root):
(WTF::Root::element):
(WTF::Root::setElement):
(WTF::Root::create):
(WTF::Root::createStructure):
(WTF::Root::visitChildren):
(WTF::Element::handleOwner):
(WTF::Element::finishCreation):
(GlobalObject::finishCreation):
(functionCreateRoot):
(functionCreateElement):
(functionGetElement):
(functionSetElementRoot):
(functionGCAndSweep):
(functionFullGC):
(functionEdenGC):

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

7 years agoAdd -[WKNavigationAction request]
andersca@apple.com [Thu, 6 Feb 2014 03:07:17 +0000 (03:07 +0000)]
Add -[WKNavigationAction request]
https://bugs.webkit.org/show_bug.cgi?id=128288

Reviewed by Andreas Kling.

* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction request]):
(-[WKNavigationAction setRequest:]):
* UIProcess/API/Cocoa/WKNavigationActionInternal.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):

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

7 years ago[EFL][GTK] Share plugin's implementation between EFL and Gtk ports.
ryuan.choi@samsung.com [Thu, 6 Feb 2014 02:30:04 +0000 (02:30 +0000)]
[EFL][GTK] Share plugin's implementation between EFL and Gtk ports.
https://bugs.webkit.org/show_bug.cgi?id=70592

Reviewed by Gyuyoung Kim.

Merge common logics of PluginViewGtk.cpp and PluginViewEfl.cpp to PluginViewX11.cpp.
So, this patch improves the windowless plugin support for the EFL port.

* GNUmakefile.am: Add include path for gtk2xtbin.h header file.
* GNUmakefile.list.am: Added PluginViewX11.cpp into source lists.
* PlatformEfl.cmake: Ditto.
* PlatformGTK.cmake: Ditto.
* plugins/PluginView.h: Added getRootWindow and getPluginDisply which implement platform specific code.
* plugins/efl/PluginViewEfl.cpp:
(WebCore::PluginView::getRootWindow):
(WebCore::PluginView::platformGetValueStatic): Turn on NPNVSupportsWindowless support.
(WebCore::PluginView::getPluginDisplay):
(WebCore::PluginView::platformStart):
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::getRootWindow):
(WebCore::setXButtonEventSpecificFields):
(WebCore::setXMotionEventSpecificFields):
(WebCore::setXCrossingEventSpecificFields):
(WebCore::PluginView::getPluginDisplay):
(WebCore::PluginView::platformStart):
* plugins/x11/PluginViewX11.cpp: Moved common logics from PluginViewGtk.cpp
(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::handleFocusInEvent):
(WebCore::PluginView::invalidateRect):
(WebCore::PluginView::invalidateRegion):
(WebCore::PluginView::handleFocusOutEvent):
(WebCore::PluginView::initXEvent):
(WebCore::PluginView::paint):
(WebCore::PluginView::setParent):
(WebCore::PluginView::setNPWindowRect):
(WebCore::PluginView::setNPWindowIfNeeded):

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

7 years ago[WebKit2, FTL] Add user default to enable the FTL
weinig@apple.com [Thu, 6 Feb 2014 02:26:17 +0000 (02:26 +0000)]
[WebKit2, FTL] Add user default to enable the FTL
https://bugs.webkit.org/show_bug.cgi?id=128281

Reviewed by Geoffrey Garen.

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

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

7 years agoFix a warning.
andersca@apple.com [Thu, 6 Feb 2014 02:23:35 +0000 (02:23 +0000)]
Fix a warning.

* platform/mac/ContentFilterMac.mm:
(WebCore::ContentFilter::ContentFilter):
Remove an unnecessary comparison.

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

7 years agoRemove unused functions.
andersca@apple.com [Thu, 6 Feb 2014 02:11:51 +0000 (02:11 +0000)]
Remove unused functions.

* runtime/RegExpConstructor.cpp:
(JSC::RegExpConstructor::getOwnPropertySlot):
* runtime/RegExpObject.cpp:

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

7 years agoAdd sourceFrame to WKNavigationAction
andersca@apple.com [Thu, 6 Feb 2014 01:49:06 +0000 (01:49 +0000)]
Add sourceFrame to WKNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=128280

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKFrameInfo.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
* UIProcess/API/Cocoa/WKFrameInfo.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
(-[WKFrameInfo request]):
(-[WKFrameInfo setRequest:]):
* UIProcess/API/Cocoa/WKFrameInfoInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction sourceFrame]):
(-[WKNavigationAction setSourceFrame:]):
* UIProcess/API/Cocoa/WKNavigationActionInternal.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::frameInfoFromWebFrameProxy):
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoWK2: Tap highlight is positioned incorrectly in iframes.
enrica@apple.com [Thu, 6 Feb 2014 01:18:23 +0000 (01:18 +0000)]
WK2: Tap highlight is positioned incorrectly in iframes.
https://bugs.webkit.org/show_bug.cgi?id=128277
<rdar://problem/15975993>

Reviewed by Benjamin Poulain.

We need to convert the quad to root view coordinates
before returning it to the UIProcess for drawing the highlight.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::tapHighlightAtPosition):

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

7 years agoFix the !ENABLE(PAGE_VISIBILITY_API) build
ossy@webkit.org [Thu, 6 Feb 2014 01:14:42 +0000 (01:14 +0000)]
Fix the !ENABLE(PAGE_VISIBILITY_API) build
https://bugs.webkit.org/show_bug.cgi?id=127907

Reviewed by Brent Fulgham.

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

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

7 years agoUnreviewed build fix attempt on EFL build after r163480
ryuan.choi@samsung.com [Thu, 6 Feb 2014 01:08:23 +0000 (01:08 +0000)]
Unreviewed build fix attempt on EFL build after r163480

* CMakeLists.txt: Removed WebUIClient.cpp from source lists.

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

7 years agoChange custom getter signature to make the base reference an object pointer
oliver@apple.com [Thu, 6 Feb 2014 00:58:13 +0000 (00:58 +0000)]
Change custom getter signature to make the base reference an object pointer
https://bugs.webkit.org/show_bug.cgi?id=128279

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Make custom getters take a JSObject* instead of EncodedJSValue as the base
reference.  This allows us to drop one pointer from the JSVALUE32_64 calling
convention.

* API/JSCallbackObject.h:
* API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):
* jit/JITOperations.cpp:
* jit/Repatch.cpp:
(JSC::generateProtoChainAccessStub):
(JSC::tryBuildGetByIDList):
* runtime/JSActivation.cpp:
(JSC::JSActivation::argumentsGetter):
* runtime/JSActivation.h:
* runtime/JSFunction.cpp:
(JSC::JSFunction::argumentsGetter):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::lengthGetter):
(JSC::JSFunction::nameGetter):
* runtime/JSFunction.h:
* runtime/JSObject.h:
(JSC::PropertySlot::getValue):
* runtime/NumberConstructor.cpp:
(JSC::numberConstructorNaNValue):
(JSC::numberConstructorNegInfinity):
(JSC::numberConstructorPosInfinity):
(JSC::numberConstructorMaxValue):
(JSC::numberConstructorMinValue):
* runtime/PropertySlot.h:
* runtime/RegExpConstructor.cpp:
(JSC::regExpConstructorDollar1):
(JSC::regExpConstructorDollar2):
(JSC::regExpConstructorDollar3):
(JSC::regExpConstructorDollar4):
(JSC::regExpConstructorDollar5):
(JSC::regExpConstructorDollar6):
(JSC::regExpConstructorDollar7):
(JSC::regExpConstructorDollar8):
(JSC::regExpConstructorDollar9):
(JSC::regExpConstructorInput):
(JSC::regExpConstructorMultiline):
(JSC::regExpConstructorLastMatch):
(JSC::regExpConstructorLastParen):
(JSC::regExpConstructorLeftContext):
(JSC::regExpConstructorRightContext):
* runtime/RegExpObject.cpp:
(JSC::regExpObjectGlobal):
(JSC::regExpObjectIgnoreCase):
(JSC::regExpObjectMultiline):
(JSC::regExpObjectSource):

Source/WebCore:

Update everything to the new calling convention.

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
(WebCore::cssPropertyGetterCallback):
* bindings/js/JSDOMBinding.cpp:
(WebCore::objectToStringFunctionGetter):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMMimeTypeArrayCustom.cpp:
(WebCore::JSDOMMimeTypeArray::nameGetter):
* bindings/js/JSDOMPluginArrayCustom.cpp:
(WebCore::JSDOMPluginArray::nameGetter):
* bindings/js/JSDOMPluginCustom.cpp:
(WebCore::JSDOMPlugin::nameGetter):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::nonCachingStaticFunctionGetter):
(WebCore::childFrameGetter):
(WebCore::indexGetter):
(WebCore::namedItemGetter):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::JSHTMLAllCollection::nameGetter):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::JSHTMLCollection::nameGetter):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
* bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
(WebCore::JSHTMLFormControlsCollection::nameGetter):
* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::nameGetter):
* bindings/js/JSHTMLFrameSetElementCustom.cpp:
(WebCore::JSHTMLFrameSetElement::nameGetter):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::nonCachingStaticBackFunctionGetter):
(WebCore::nonCachingStaticForwardFunctionGetter):
(WebCore::nonCachingStaticGoFunctionGetter):
* bindings/js/JSLocationCustom.cpp:
(WebCore::nonCachingStaticReplaceFunctionGetter):
(WebCore::nonCachingStaticReloadFunctionGetter):
(WebCore::nonCachingStaticAssignFunctionGetter):
* bindings/js/JSNamedNodeMapCustom.cpp:
(WebCore::JSNamedNodeMap::nameGetter):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementPropertyGetter):
* bindings/js/JSPluginElementFunctions.h:
* bindings/js/JSRTCStatsResponseCustom.cpp:
(WebCore::JSRTCStatsResponse::nameGetter):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::nameGetter):
* bindings/js/JSStyleSheetListCustom.cpp:
(WebCore::JSStyleSheetList::nameGetter):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::lengthGetter):
(JSC::RuntimeArray::indexGetter):
* bridge/runtime_array.h:
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::lengthGetter):
* bridge/runtime_method.h:
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::fallbackObjectGetter):
(JSC::Bindings::RuntimeObject::fieldGetter):
(JSC::Bindings::RuntimeObject::methodGetter):
* bridge/runtime_object.h:

Source/WebKit2:

Update everything to the new calling convention.

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):
* WebProcess/Plugins/Netscape/JSNPObject.h:

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

7 years agoBuffer incoming data in ContentFilter when using NEFilterSource
aestes@apple.com [Thu, 6 Feb 2014 00:20:42 +0000 (00:20 +0000)]
Buffer incoming data in ContentFilter when using NEFilterSource
https://bugs.webkit.org/show_bug.cgi?id=127979

Reviewed by Sam Weinig.

WebFilterEvaluator buffers incoming data and returns it to us as
replacement data if the load is allowed. NEFilterSource doesn't do
this, so we need to do our own buffering.

* platform/ContentFilter.h: Forward-declared NSMutableData and added
m_originalData.
* platform/mac/ContentFilterMac.mm:
(WebCore::ContentFilter::ContentFilter): Constructed m_originalData
with an initial capacity (if we know the expected content size).
(WebCore::ContentFilter::addData): Buffered incoming data if we are
using NEFilterSource.
(WebCore::ContentFilter::finishedAddingData):
(WebCore::ContentFilter::getReplacementData): Returned m_originalData
if the load wasn't blocked.

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

7 years agoRemove ENABLE(DIRECTORY_UPLOAD).
akling@apple.com [Thu, 6 Feb 2014 00:06:38 +0000 (00:06 +0000)]
Remove ENABLE(DIRECTORY_UPLOAD).
<https://webkit.org/b/128275>

.:

Rubber-stamped by Ryosuke Niwa.

* Source/autotools/SetupWebKitFeatures.m4:
* Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

Rubber-stamped by Ryosuke Niwa.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

This is a non-standard Chrome extension that none of the WebKit
ports have even been building.

Rubber-stamped by Ryosuke Niwa.

* Configurations/FeatureDefines.xcconfig:
* fileapi/File.cpp:
* fileapi/File.h:
* fileapi/File.idl:
* html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::createFileList):
(WebCore::FileInputType::receiveDroppedFiles):
* html/FileInputType.h:
* html/HTMLAttributeNames.in:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseAttribute):
* html/HTMLInputElement.idl:
* loader/EmptyClients.h:
* page/Chrome.cpp:
* page/Chrome.h:
* page/ChromeClient.h:
* platform/FileChooser.h:
* platform/network/FormData.cpp:
(WebCore::FormData::appendKeyValuePairItems):

Source/WebKit/efl:

Rubber-stamped by Ryosuke Niwa.

* ewk/ewk_file_chooser.cpp:
(ewk_file_chooser_allows_directory_upload_get):

Source/WebKit/mac:

Rubber-stamped by Ryosuke Niwa.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Rubber-stamped by Ryosuke Niwa.

* Configurations/FeatureDefines.xcconfig:
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<FileChooserSettings>::encode):
(IPC::ArgumentCoder<FileChooserSettings>::decode):

Source/WTF:

Rubber-stamped by Ryosuke Niwa.

* wtf/FeatureDefines.h:

Tools:

Rubber-stamped by Ryosuke Niwa.

* Scripts/webkitperl/FeatureList.pm:

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

7 years agoIDB: storage/indexeddb/mozilla/autoincrement-indexes.html fails
beidson@apple.com [Wed, 5 Feb 2014 23:59:52 +0000 (23:59 +0000)]
IDB: storage/indexeddb/mozilla/autoincrement-indexes.html fails
https://bugs.webkit.org/show_bug.cgi?id=128257

Reviewed by Sam Weinig.

Source/WebCore:

Tests: storage/indexeddb/mozilla/autoincrement-indexes.html

Add some IDBKeyData utility methods for WK2 to use:
* Modules/indexeddb/IDBKeyData.cpp:
(WebCore::IDBKeyData::setArrayValue):
(WebCore::IDBKeyData::setStringValue):
(WebCore::IDBKeyData::setDateValue):
(WebCore::IDBKeyData::setNumberValue):
* Modules/indexeddb/IDBKeyData.h:

* WebCore.exp.in:

Source/WebKit2:

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::putRecordInBackingStore): Write the correct key to the index if it was auto generated.
(WebKit::UniqueIDBDatabase::getRecordFromBackingStore): If this is an auto increment object store with
  a non-empty key path, save the key path to the get result.

* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): The IndexRecord schema shouldn’t
  have key uniqueness.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord): Take IDBKeyData instead of IDBKey.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): Fill in the primary key from the fetch.
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

LayoutTests:

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

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

7 years agoRename useExperimentalFTL to useFTLJIT.
fpizlo@apple.com [Wed, 5 Feb 2014 23:47:28 +0000 (23:47 +0000)]
Rename useExperimentalFTL to useFTLJIT.

Rubber stamped by Mark Hahnenberg.

Source/JavaScriptCore:

* dfg/DFGTierUpCheckInjectionPhase.cpp:
(JSC::DFG::TierUpCheckInjectionPhase::run):
* runtime/Options.h:

Tools:

* Scripts/run-jsc-stress-tests:

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

7 years agoGet rid of WebUIClient
andersca@apple.com [Wed, 5 Feb 2014 23:40:26 +0000 (23:40 +0000)]
Get rid of WebUIClient
https://bugs.webkit.org/show_bug.cgi?id=128274

Reviewed by Andreas Kling.

* UIProcess/API/APIUIClient.h: Added.
(API::UIClient::~UIClient):
(API::UIClient::createNewPage):
(API::UIClient::showPage):
(API::UIClient::close):
(API::UIClient::takeFocus):
(API::UIClient::focus):
(API::UIClient::unfocus):
(API::UIClient::runJavaScriptAlert):
(API::UIClient::runJavaScriptConfirm):
(API::UIClient::runJavaScriptPrompt):
(API::UIClient::setStatusText):
(API::UIClient::mouseDidMoveOverElement):
(API::UIClient::unavailablePluginButtonClicked):
(API::UIClient::implementsDidNotHandleKeyEvent):
(API::UIClient::didNotHandleKeyEvent):
(API::UIClient::implementsDidNotHandleWheelEvent):
(API::UIClient::didNotHandleWheelEvent):
(API::UIClient::toolbarsAreVisible):
(API::UIClient::setToolbarsAreVisible):
(API::UIClient::menuBarIsVisible):
(API::UIClient::setMenuBarIsVisible):
(API::UIClient::statusBarIsVisible):
(API::UIClient::setStatusBarIsVisible):
(API::UIClient::isResizable):
(API::UIClient::setIsResizable):
(API::UIClient::setWindowFrame):
(API::UIClient::windowFrame):
(API::UIClient::canRunBeforeUnloadConfirmPanel):
(API::UIClient::runBeforeUnloadConfirmPanel):
(API::UIClient::didDraw):
(API::UIClient::pageDidScroll):
(API::UIClient::exceededDatabaseQuota):
(API::UIClient::runOpenPanel):
(API::UIClient::decidePolicyForGeolocationPermissionRequest):
(API::UIClient::decidePolicyForNotificationPermissionRequest):
(API::UIClient::headerHeight):
(API::UIClient::footerHeight):
(API::UIClient::drawHeader):
(API::UIClient::drawFooter):
(API::UIClient::printFrame):
(API::UIClient::canRunModal):
(API::UIClient::runModal):
(API::UIClient::saveDataToFileInDownloadsFolder):
(API::UIClient::shouldInterruptJavaScript):
(API::UIClient::showColorPicker):
(API::UIClient::hideColorPicker):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setUIClient):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::showPage):
(WebKit::WebPageProxy::closePage):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):
(WebKit::WebPageProxy::shouldInterruptJavaScript):
(WebKit::WebPageProxy::setStatusText):
(WebKit::WebPageProxy::mouseDidMoveOverElement):
(WebKit::WebPageProxy::unavailablePluginButtonClicked):
(WebKit::WebPageProxy::setToolbarsAreVisible):
(WebKit::WebPageProxy::getToolbarsAreVisible):
(WebKit::WebPageProxy::setMenuBarIsVisible):
(WebKit::WebPageProxy::getMenuBarIsVisible):
(WebKit::WebPageProxy::setStatusBarIsVisible):
(WebKit::WebPageProxy::getStatusBarIsVisible):
(WebKit::WebPageProxy::setIsResizable):
(WebKit::WebPageProxy::getIsResizable):
(WebKit::WebPageProxy::setWindowFrame):
(WebKit::WebPageProxy::getWindowFrame):
(WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
(WebKit::WebPageProxy::pageDidScroll):
(WebKit::WebPageProxy::runOpenPanel):
(WebKit::WebPageProxy::printFrame):
(WebKit::WebPageProxy::didDraw):
(WebKit::WebPageProxy::setFocus):
(WebKit::WebPageProxy::takeFocus):
(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::exceededDatabaseQuota):
(WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
(WebKit::WebPageProxy::requestNotificationPermission):
(WebKit::WebPageProxy::headerHeight):
(WebKit::WebPageProxy::footerHeight):
(WebKit::WebPageProxy::drawHeader):
(WebKit::WebPageProxy::drawFooter):
(WebKit::WebPageProxy::runModal):
(WebKit::WebPageProxy::setCanRunModal):
(WebKit::WebPageProxy::saveDataToFileInDownloadsFolder):
* UIProcess/WebPageProxy.h:
* UIProcess/WebUIClient.cpp: Removed.
* UIProcess/WebUIClient.h: Removed.
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::windowAndViewFramesChanged):
* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoTurn on ENABLE(8BIT_TEXTRUN) for everyone.
akling@apple.com [Wed, 5 Feb 2014 23:30:10 +0000 (23:30 +0000)]
Turn on ENABLE(8BIT_TEXTRUN) for everyone.
<https://webkit.org/b/128273>

Reviewed by Anders Carlsson.

* platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::subRun):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::constructTextRun):
* rendering/RenderBlock.h:

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

7 years agoWeb Inspector: add probe manager and model objects to the frontend
bburg@apple.com [Wed, 5 Feb 2014 22:21:40 +0000 (22:21 +0000)]
Web Inspector: add probe manager and model objects to the frontend
https://bugs.webkit.org/show_bug.cgi?id=127117

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

The inspector frontend now assigns breakpoint action identifiers,
rather than the backend. Remove return values containing breakpoint
identifiers, and remove tracking and assignment of action identifiers.

* inspector/ScriptDebugListener.h:
* inspector/ScriptDebugServer.cpp:
(Inspector::ScriptDebugServer::evaluateBreakpointAction):
(Inspector::ScriptDebugServer::dispatchBreakpointActionProbe):
Pass BreakpointAction by reference rather than just the action identifier.

* inspector/ScriptDebugServer.h:
* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::objectGroupForBreakpointAction):
(Inspector::InspectorDebuggerAgent::InspectorDebuggerAgent):
(Inspector::InspectorDebuggerAgent::breakpointActionsFromProtocol):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::removeBreakpoint):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):
* inspector/agents/InspectorDebuggerAgent.h:
* inspector/protocol/Debugger.json: Revert change to setBreakpoint return values. Add optional identifier to breakpoint actions.

Source/WebInspectorUI:

Add the probe manager, and the following model objects:

- ProbeObject corresponds to a single probe breakpoint action.
- ProbeSetObject contains all ProbeObjects for one Breakpoint.
- ProbeSetDataFrame holds probe samples from multiple
probes fired from the same breakpoint hit/debugger pause.
- ProbeSetDataTable keeps track of multiple such data frames
and manages probe sample lifetimes across page navigations.

The probe manager updates probe model objects whenever breakpoints
are added, removed, or modified.

The inspector frontend now assigns breakpoint action identifiers,
rather than the backend. This lets ProbeObjects keep stable
identifiers that match the probe's samples, even when the underlying
breakpoint is re-added with a different identifier (such as when
editing probe expressions).

* UserInterface/Breakpoint.js:
(WebInspector.Breakpoint.prototype.get probeActions): Added.
(WebInspector.Breakpoint.prototype.createAction):
(WebInspector.Breakpoint.prototype.removeAction):
(WebInspector.Breakpoint.prototype.clearActions): Added.
* UserInterface/BreakpointAction.js:
(WebInspector.BreakpointAction):
(WebInspector.BreakpointAction.prototype.get id):
(WebInspector.BreakpointAction.prototype.get info):
* UserInterface/DebuggerManager.js:
(WebInspector.DebuggerManager.restoreBreakpointsSoon):
(WebInspector.DebuggerManager): Restore saved breakpoints
from cookies on the second run loop, so that all managers will
be able to received breakpoint added events.
(WebInspector.DebuggerManager.prototype.addBreakpoint):
(WebInspector.DebuggerManager.prototype.removeBreakpoint):
(WebInspector.DebuggerManager.prototype.get nextBreakpointActionIdentifier):
The debugger manager assigns unique breakpoint action identifiers with this getter.

(WebInspector.DebuggerManager.prototype._debuggerBreakpointActionType):
(WebInspector.DebuggerManager.prototype.didSetBreakpoint):
(WebInspector.DebuggerManager.prototype._setBreakpoint):
(WebInspector.DebuggerManager.prototype.didRemoveBreakpoint):
(WebInspector.DebuggerManager.prototype._removeBreakpoint):
* UserInterface/DebuggerObserver.js:
(WebInspector.DebuggerObserver.prototype.didSampleProbe):
* UserInterface/InspectorJSBackendCommands.js:
* UserInterface/Main.html:
* UserInterface/Main.js:
(WebInspector.loaded):
* UserInterface/Probe.js: Added.
(WebInspector.ProbeSample):
(WebInspector.Probe):
(WebInspector.Probe.prototype.get id):
(WebInspector.Probe.prototype.get breakpoint):
(WebInspector.Probe.prototype.get expression):
(WebInspector.Probe.prototype.set expression):
(WebInspector.Probe.prototype.get samples):
(WebInspector.Probe.prototype.clearSamples):
(WebInspector.Probe.prototype.addSample):
* UserInterface/ProbeManager.js: Added.
(WebInspector.ProbeManager):
(WebInspector.ProbeManager.prototype.probeSetForBreakpoint):
(WebInspector.ProbeManager.prototype._breakpointRemoved):
(WebInspector.ProbeManager.prototype._breakpointActionsChanged.get var):
(WebInspector.ProbeManager.prototype._breakpointActionsChanged.set get knownProbeIdentifiers):
(WebInspector.ProbeManager.prototype._breakpointActionsChanged):
* UserInterface/ProbeSet.js: Added.
(WebInspector.ProbeSet):
(WebInspector.ProbeSet.prototype.get breakpoint):
(WebInspector.ProbeSet.prototype.get probes):
(WebInspector.ProbeSet.prototype.get dataTable):
(WebInspector.ProbeSet.prototype.clear):
(WebInspector.ProbeSet.prototype.clearSamples):
(WebInspector.ProbeSet.prototype.createProbe):
(WebInspector.ProbeSet.prototype.removeProbe):
(WebInspector.ProbeSet.prototype.willRemove):
(WebInspector.ProbeSet.prototype._mainResourceChanged):
(WebInspector.ProbeSet.prototype._createDataTable):
(WebInspector.ProbeSet.prototype._sampleCollected):
(WebInspector.ProbeSet.prototype._breakpointResolvedStateDidChange):
* UserInterface/ProbeSetDataFrame.js: Added.
(WebInspector.ProbeSetDataFrame):
(WebInspector.ProbeSetDataFrame.compare):
(WebInspector.ProbeSetDataFrame.prototype.get key):
(WebInspector.ProbeSetDataFrame.prototype.get count):
(WebInspector.ProbeSetDataFrame.prototype.get index):
(WebInspector.ProbeSetDataFrame.prototype.get isSeparator):
(WebInspector.ProbeSetDataFrame.prototype.set isSeparator):
(WebInspector.ProbeSetDataFrame.prototype.addSampleForProbe):
(WebInspector.ProbeSetDataFrame.prototype.missingKeys):
(WebInspector.ProbeSetDataFrame.prototype.isComplete):
(WebInspector.ProbeSetDataFrame.prototype.fillMissingValues):
* UserInterface/ProbeSetDataTable.js: Added.
(WebInspector.ProbeSetDataTable):
(WebInspector.ProbeSetDataTable.prototype.get frames):
(WebInspector.ProbeSetDataTable.prototype.get separators):
(WebInspector.ProbeSetDataTable.prototype.willRemove):
(WebInspector.ProbeSetDataTable.prototype.mainResourceChanged):
(WebInspector.ProbeSetDataTable.prototype.addSampleForProbe):
(WebInspector.ProbeSetDataTable.prototype.addProbe):
(WebInspector.ProbeSetDataTable.prototype.removeProbe):
(WebInspector.ProbeSetDataTable.prototype.createFrame):
(WebInspector.ProbeSetDataTable.prototype.addFrame):
(WebInspector.ProbeSetDataTable.prototype.addSeparator):

LayoutTests:

Set up the debugger and probe managers when testing models.

Add a workalike for InspectorBackend.dumpInspectorProtocolMessages to
InspectorTest.

Add listeners for breakpoints and probes that produce
useful, deterministic trace output. Use the tracing in a new test.

* http/tests/inspector-protocol/resources/InspectorTest.js:
(InspectorTest.sendCommand):
(InspectorTest.initializeInspectorModels.console.assert):
(InspectorTest.initializeInspectorModels):
* inspector-protocol/debugger/didSampleProbe-multiple-probes-expected.txt:
* inspector-protocol/debugger/didSampleProbe-multiple-probes.html:
* inspector-protocol/model/probe-manager-add-remove-actions-expected.txt: Added.
* inspector-protocol/model/probe-manager-add-remove-actions.html: Added.
* inspector-protocol/resources/probe-helper.js:
(ProbeHelper.stringifyProbeSample):
(ProbeHelper.installTracingListeners.WebInspector):
(ProbeHelper.installTracingListeners):

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

7 years agoWK2: Caret, selections and autocorrection bubbles are incorrectly positioned when...
enrica@apple.com [Wed, 5 Feb 2014 21:54:49 +0000 (21:54 +0000)]
WK2: Caret, selections and autocorrection bubbles are incorrectly positioned when inside an iframe.
https://bugs.webkit.org/show_bug.cgi?id=128264
<rdar://problem/15986954>

Reviewed by Simon Fraser.

Source/WebCore:

Adding new exported function.

* WebCore.exp.in:

Source/WebKit2:

Everywhere we return rectangles to the UIProcess, we need to convert them
to root view coordinates. Also, we should allow hit testing to go into child
frames.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::selectWithGesture):
(WebKit::WebPage::updateSelectionWithTouches):
(WebKit::WebPage::convertSelectionRectsToRootView):
(WebKit::WebPage::requestAutocorrectionData):
(WebKit::WebPage::getPositionInformation):

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

7 years agoElementRuleCollector should not use StyleResolver::State
antti@apple.com [Wed, 5 Feb 2014 21:50:55 +0000 (21:50 +0000)]
ElementRuleCollector should not use StyleResolver::State
https://bugs.webkit.org/show_bug.cgi?id=128247

Source/WebCore:

Reviewed by Andreas Kling.

Make ElementRuleCollector more reusable.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRules):
(WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
(WebCore::ElementRuleCollector::matchAuthorRules):
(WebCore::ElementRuleCollector::matchUARules):
(WebCore::ElementRuleCollector::ruleMatches):
(WebCore::ElementRuleCollector::collectMatchingRulesForList):
(WebCore::ElementRuleCollector::matchAllRules):
* css/ElementRuleCollector.h:
(WebCore::ElementRuleCollector::ElementRuleCollector):

    Pass the objects that are actually needed rather than the entire State.

LayoutTests:

Reviewed by Andreas Kling.

* platform/mac/fast/parser/xhtml-alternate-entities-expected.png:
* platform/mac/fast/parser/xhtml-alternate-entities-expected.txt: This is a progression.

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

7 years agoJSC on Mac should pull LLVM from prefix=/usr/local/LLVMForJavaScriptCore and not...
fpizlo@apple.com [Wed, 5 Feb 2014 21:44:26 +0000 (21:44 +0000)]
JSC on Mac should pull LLVM from prefix=/usr/local/LLVMForJavaScriptCore and not /usr/local
https://bugs.webkit.org/show_bug.cgi?id=128269

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

* Configurations/Base.xcconfig:
* Configurations/LLVMForJSC.xcconfig:

Tools:

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

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

7 years agoFix 32-bit builds after r163471
mhahnenberg@apple.com [Wed, 5 Feb 2014 21:42:33 +0000 (21:42 +0000)]
Fix 32-bit builds after r163471

* dfg/DFGOSRExitCompilerCommon.cpp:

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

7 years ago[Mac] Correct copy/paste error in scrolling code.
bfulgham@apple.com [Wed, 5 Feb 2014 21:29:47 +0000 (21:29 +0000)]
[Mac] Correct copy/paste error in scrolling code.
https://bugs.webkit.org/show_bug.cgi?id=128258

Reviewed by Anders Carlsson.

* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::pinnedInDirection): Use
'setWidth' when dealing with width metrics.

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

7 years agoCan no longer run OctaneV2 in browser, crashes in speculationFromCell
mhahnenberg@apple.com [Wed, 5 Feb 2014 21:27:13 +0000 (21:27 +0000)]
Can no longer run OctaneV2 in browser, crashes in speculationFromCell
https://bugs.webkit.org/show_bug.cgi?id=128266

Reviewed by Filip Pizlo.

Move the OSR exit write barriers into OSRExitCompilerCommon. Also reorganize some
of the code to be in more appropriate places.

* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::osrWriteBarrier):
(JSC::DFG::adjustAndJumpToTarget):
* dfg/DFGSpeculativeJIT.cpp:
* dfg/DFGSpeculativeJIT.h:
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::genericWriteBarrier):

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

7 years ago[Cocoa] WKRemoteObjectInterface fails with doubles, NSNull, and empty NSStrings
mitz@apple.com [Wed, 5 Feb 2014 21:21:49 +0000 (21:21 +0000)]
[Cocoa] WKRemoteObjectInterface fails with doubles, NSNull, and empty NSStrings
https://bugs.webkit.org/show_bug.cgi?id=128268

Reviewed by Anders Carlsson.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]): When returning nullptr, also
set the length out parameter to 0.

* Shared/API/Cocoa/WKRemoteObjectInterface.mm:
(propertyListClasses): Added NSNull.

* Shared/UserData.cpp:
(WebKit::UserData::encode): Encode the Double type.

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

7 years agoRuby base oddly justify its text when the text is ideograph and it contains <br>...
commit-queue@webkit.org [Wed, 5 Feb 2014 21:15:42 +0000 (21:15 +0000)]
Ruby base oddly justify its text when the text is ideograph and it contains <br> on Mac.
https://bugs.webkit.org/show_bug.cgi?id=106417

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2014-02-05
Reviewed by David Hyatt.

Source/WebCore:

Ruby base always justify even if a line have hard break.
Even if next leaf child is line break, InlineTextBox allow trailing expansion.
This make <br> expanded, and there is odd space at the end of the line.

Test: fast/text/ruby-justification-br.html

* rendering/InlineTextBox.h:
(WebCore::InlineTextBox::expansionBehavior):
 - If next leaf child is line break, we should forbid trailing expansion.

LayoutTests:

Test that <br> don't change justification behavior in ruby base.

* fast/text/ruby-justification-br-expected.html: Added.
* fast/text/ruby-justification-br.html: Added.

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

7 years agoCreate CSS Grid Layout watchlist
rego@igalia.com [Wed, 5 Feb 2014 21:04:16 +0000 (21:04 +0000)]
Create CSS Grid Layout watchlist
https://bugs.webkit.org/show_bug.cgi?id=128241

Reviewed by Andreas Kling.

Add Sergio Villar, Javier Fernandez and myself to it.

Add Javier Fernandez as contributor.

* Scripts/webkitpy/common/config/contributors.json:
* Scripts/webkitpy/common/config/watchlist:

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

7 years agoFix srcset change test flakiness
commit-queue@webkit.org [Wed, 5 Feb 2014 20:57:07 +0000 (20:57 +0000)]
Fix srcset change test flakiness
https://bugs.webkit.org/show_bug.cgi?id=128265

Patch by Yoav Weiss <yoav@yoav.ws> on 2014-02-05
Reviewed by Alexey Proskuryakov.

* fast/hidpi/image-srcset-change-dynamically-from-js-2x-expected.txt:
* fast/hidpi/image-srcset-change-dynamically-from-js-2x.html:
* platform/gtk-wk2/fast/hidpi/image-srcset-change-dynamically-from-js-2x-expected.txt: Removed.

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