WebKit-https.git
5 years ago[GTK] generate-gtkdoc should use argparse
mrobinson@webkit.org [Sun, 23 Feb 2014 21:41:11 +0000 (21:41 +0000)]
[GTK] generate-gtkdoc should use argparse
https://bugs.webkit.org/show_bug.cgi?id=128418

Reviewed by Carlos Garcia Campos.

* gtk/generate-gtkdoc: Get all arguments from argparse, pass then as parameters
to all functions, and guard the main routine with a __name__ == __main__ check.

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

5 years ago[GTK][CMake] Many plugin tests fail when running WebKit1 layout tests
mrobinson@webkit.org [Sun, 23 Feb 2014 21:39:58 +0000 (21:39 +0000)]
[GTK][CMake] Many plugin tests fail when running WebKit1 layout tests
https://bugs.webkit.org/show_bug.cgi?id=129191

Reviewed by Anders Carlsson.

* DumpRenderTree/PlatformGTK.cmake: Properly specify the library build directory
for the GTK+ DumpRenderTree build. We could manually construct this path, but the
name of the directory is "lib" and not "libs". Instead we should use the CMake
variable specifically assigned to this task.

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

5 years agoRefine DFG+FTL inlining and compilation limits
fpizlo@apple.com [Sun, 23 Feb 2014 18:48:43 +0000 (18:48 +0000)]
Refine DFG+FTL inlining and compilation limits
https://bugs.webkit.org/show_bug.cgi?id=129212

Reviewed by Mark Hahnenberg.

Allow larger functions to be DFG-compiled. Institute a limit on FTL compilation,
and set that limit quite high. Institute a limit on inlining-into. The idea here is
that large functions tend to be autogenerated, and code generators like emscripten
appear to leave few inlining opportunities anyway. Also, we don't want the code
size explosion that we would risk if we allowed compilation of a large function and
then inlined a ton of stuff into it.

This is a 0.5% speed-up on Octane v2 and almost eliminates the typescript
regression. This is a 9% speed-up on AsmBench.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::noticeIncomingCall):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleInlining):
* dfg/DFGCapabilities.h:
(JSC::DFG::isSmallEnoughToInlineCodeInto):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLState.h:
(JSC::FTL::shouldShowDisassembly):
* runtime/Options.h:

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

5 years ago[ASan] Add JSC::DFG::prepareOSREntry() to ignore list
ddkilzer@apple.com [Sun, 23 Feb 2014 18:06:16 +0000 (18:06 +0000)]
[ASan] Add JSC::DFG::prepareOSREntry() to ignore list
<http://webkit.org/b/129209>

Reviewed by Geoffrey Garen.

* asan/webkit-asan-ignore.txt: Add DFG::prepareOSREntry() to the
ignore list to make ASan builds usable again.  Follow-up
investigation is tracked by <rdar://problem/16055903>.

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

5 years agoSubpixel rendering: Fix bleed avoidance subpixel calculation.
zalan@apple.com [Sun, 23 Feb 2014 16:25:43 +0000 (16:25 +0000)]
Subpixel rendering: Fix bleed avoidance subpixel calculation.
https://bugs.webkit.org/show_bug.cgi?id=129225

Reviewed by Simon Fraser.

static_cast<LayoutUnit>(int value) only produces the desired result when subpixel is off.

Currently not testable.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
(WebCore::shrinkRectByOneDevicePixel):
(WebCore::RenderBoxModelObject::borderInnerRectAdjustedForBleedAvoidance):
(WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderBoxModelObject.h:

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

5 years agoSubpixel rendering: Add devicepixel based computation to BorderEdge class.
zalan@apple.com [Sun, 23 Feb 2014 16:22:58 +0000 (16:22 +0000)]
Subpixel rendering: Add devicepixel based computation to BorderEdge class.
https://bugs.webkit.org/show_bug.cgi?id=129224

Reviewed by Simon Fraser.

To produce correct width (and type) results, BorderEdge class needs to take device pixel ratio into account.

Currently not testable.

* rendering/RenderBoxModelObject.cpp:
(WebCore::BorderEdge::BorderEdge):
(WebCore::BorderEdge::obscuresBackgroundEdge):
(WebCore::BorderEdge::getDoubleBorderStripeWidths): this does not always produce the same
result as before, but the sum of inner and outer is not different.
(WebCore::BorderEdge::borderWidthInDevicePixel):
(WebCore::RenderBoxModelObject::getBorderEdgeInfo):

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

5 years agoREGRESSION (r164507): Crash beneath JSGlobalObjectInspectorController::reportAPIExcep...
mitz@apple.com [Sun, 23 Feb 2014 05:44:05 +0000 (05:44 +0000)]
REGRESSION (r164507): Crash beneath JSGlobalObjectInspectorController::reportAPIException at facebook.com, twitter.com, youtube.com
https://bugs.webkit.org/show_bug.cgi?id=129227

Reviewed by Eric Carlson.

Reverted r164507.

Source/JavaScriptCore:

* API/JSBase.cpp:
(JSEvaluateScript):
(JSCheckScriptSyntax):
* API/JSObjectRef.cpp:
(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeError):
(JSObjectMakeRegExp):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectGetPropertyAtIndex):
(JSObjectSetPropertyAtIndex):
(JSObjectDeleteProperty):
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):
* API/JSValue.mm:
(valueToArray):
(valueToDictionary):
* API/JSValueRef.cpp:
(JSValueIsEqual):
(JSValueIsInstanceOfConstructor):
(JSValueCreateJSONString):
(JSValueToNumber):
(JSValueToStringCopy):
(JSValueToObject):
* inspector/ConsoleMessage.cpp:
(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):
* inspector/ConsoleMessage.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
* inspector/JSGlobalObjectInspectorController.h:
* inspector/ScriptCallStack.cpp:
* inspector/ScriptCallStack.h:
* inspector/ScriptCallStackFactory.cpp:
(Inspector::createScriptCallStack):
(Inspector::createScriptCallStackForConsole):
(Inspector::createScriptCallStackFromException):
* inspector/ScriptCallStackFactory.h:
* inspector/agents/InspectorConsoleAgent.cpp:
(Inspector::InspectorConsoleAgent::enable):
(Inspector::InspectorConsoleAgent::addMessageToConsole):
(Inspector::InspectorConsoleAgent::count):
* inspector/agents/JSGlobalObjectDebuggerAgent.cpp:
(Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog):

Source/WebCore:

* bindings/js/JSDOMBinding.cpp:
(WebCore::reportException):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::buildInitiatorObject):
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::breakpointActionLog):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGenericRecord):
* page/Console.cpp:
(WebCore::internalAddMessage):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
(WebCore::Console::timeEnd):
* page/ContentSecurityPolicy.cpp:
(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessage):

Source/WebInspectorUI:

* UserInterface/Views/ConsoleMessageImpl.js:
(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
(WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):

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

5 years agoRemove some unreachable code (-Wunreachable-code)
commit-queue@webkit.org [Sun, 23 Feb 2014 01:38:07 +0000 (01:38 +0000)]
Remove some unreachable code (-Wunreachable-code)
https://bugs.webkit.org/show_bug.cgi?id=129220

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-22
Reviewed by Eric Carlson.

Source/JavaScriptCore:

* API/tests/testapi.c:
(EvilExceptionObject_convertToType):
* disassembler/udis86/udis86_decode.c:
(decode_operand):

Source/WebCore:

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
(WebCore::HTMLTreeBuilder::processEndTag):
The only tricky case. Here there was a break inside the
#if, but not the #else, and a break after the #endif.
Remove the break inside the #if, and always use the
break after the #endif.

* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::modeToString):
* bindings/js/JSTrackCustom.cpp:
(WebCore::toJS):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::functionForUniform):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::captionDisplayMode):

Source/WebKit2:

* WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
(WebKit::toAPI):

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

5 years agoLetterpress effect disabled for synthetic italic
dino@apple.com [Sat, 22 Feb 2014 23:59:16 +0000 (23:59 +0000)]
Letterpress effect disabled for synthetic italic
https://bugs.webkit.org/show_bug.cgi?id=129218
<rdar://problem/15997846>

Reviewed by Dan Bernstein.

There was no need to guard against synthetic italics and letterpress.

* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs): Remove !useLetterpressEffect from conditional.

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

5 years agoExpose phase and momentum phase as SPI on DOMWheelEvent
weinig@apple.com [Sat, 22 Feb 2014 23:56:26 +0000 (23:56 +0000)]
Expose phase and momentum phase as SPI on DOMWheelEvent
<rdar://problem/16110871>
https://bugs.webkit.org/show_bug.cgi?id=129184

Reviewed by Anders Carlsson.

../WebCore:

* WebCore.exp.in:
Export core(DOMWheelEvent).

* WebCore.xcodeproj/project.pbxproj:
Make DOMWheelEventInternal.h available in WebKit.

* dom/Element.cpp:
(WebCore::Element::dispatchWheelEvent):
* dom/WheelEvent.cpp:
(WebCore::determineDeltaMode):
(WebCore::WheelEvent::WheelEvent):
(WebCore::WheelEvent::initWheelEvent):
(WebCore::WheelEvent::initWebKitWheelEvent):
Move PlatformWheelEvent -> DOMWheelEvent conversion to DOMWheelEvent.

* dom/WheelEvent.h:
(WebCore::WheelEvent::create):
(WebCore::WheelEvent::phase):
(WebCore::WheelEvent::momentumPhase):
Store phase and momentumPhase on the WheelEvent.

../WebKit/mac:

* DOM/WebDOMOperations.mm:
(toNSEventPhase):
(-[DOMWheelEvent _phase]):
(-[DOMWheelEvent _momentumPhase]):
* DOM/WebDOMOperationsPrivate.h:
Expose _phase and _momentumPhase as SPI.

* MigrateHeaders.make:
Make DOMWheelEventInternal.h to WebKit.

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

5 years ago[Cocoa] WKUIDelegate.h is a project header
mitz@apple.com [Sat, 22 Feb 2014 22:39:22 +0000 (22:39 +0000)]
[Cocoa] WKUIDelegate.h is a project header
https://bugs.webkit.org/show_bug.cgi?id=129215

Reviewed by Anders Carlsson.

* WebKit2.xcodeproj/project.pbxproj: Make it a public header.

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

5 years agoUnreviewed, ARMv7 build fix.
fpizlo@apple.com [Sat, 22 Feb 2014 20:03:01 +0000 (20:03 +0000)]
Unreviewed, ARMv7 build fix.

* assembler/ARMv7Assembler.h:

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

5 years agoIt should be possible for a LinkBuffer to outlive the MacroAssembler and still be...
fpizlo@apple.com [Sat, 22 Feb 2014 19:55:12 +0000 (19:55 +0000)]
It should be possible for a LinkBuffer to outlive the MacroAssembler and still be useful
https://bugs.webkit.org/show_bug.cgi?id=124733

Reviewed by Oliver Hunt.

This also takes the opportunity to de-duplicate some branch compaction code.

* assembler/ARM64Assembler.h:
* assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::buffer):
* assembler/AssemblerBuffer.h:
(JSC::AssemblerData::AssemblerData):
(JSC::AssemblerBuffer::AssemblerBuffer):
(JSC::AssemblerBuffer::storage):
(JSC::AssemblerBuffer::grow):
* assembler/LinkBuffer.h:
(JSC::LinkBuffer::LinkBuffer):
(JSC::LinkBuffer::executableOffsetFor):
(JSC::LinkBuffer::applyOffset):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::link):
* assembler/MacroAssemblerARMv7.h:

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

5 years ago<rdar://problem/12500358> [Cocoa] Development variants of XPC services should not...
mitz@apple.com [Sat, 22 Feb 2014 18:44:28 +0000 (18:44 +0000)]
<rdar://problem/12500358> [Cocoa] Development variants of XPC services should not be installed in WebKit2.framework/XPCServices
https://bugs.webkit.org/show_bug.cgi?id=129197

Reviewed by Sam Weinig.

* Configurations/BaseXPCService.xcconfig: Made INSTALL_PATH vary based on
WK_XPC_SERVICE_VARIANT. For the Development variant, use an install path outside the
framework. Note that engineering builds using the build action continue to have the
Development variants copied into the framework by a script build phase.
* Configurations/DatabaseService.Development.xcconfig: Set WK_XPC_SERVICE_VARIANT.
* Configurations/DatabaseService.xcconfig: Ditto.
* Configurations/NetworkService.Development.xcconfig: Ditto.
* Configurations/NetworkService.xcconfig: Ditto.
* Configurations/PluginService.32.xcconfig: Ditto.
* Configurations/PluginService.64.xcconfig: Ditto.
* Configurations/PluginService.Development.xcconfig: Ditto.
* Configurations/WebContentService.Development.xcconfig: Ditto.
* Configurations/WebContentService.xcconfig: Ditto.

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

5 years agoRename JWK key_ops values from wrap/unwrap to wrapKey/unwrapKey
ap@apple.com [Sat, 22 Feb 2014 18:10:37 +0000 (18:10 +0000)]
Rename JWK key_ops values from wrap/unwrap to wrapKey/unwrapKey
https://bugs.webkit.org/show_bug.cgi?id=129121

Reviewed by Sam Weinig.

Source/WebCore:

* bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::JSCryptoKeySerializationJWK::reconcileUsages): Updated to newer names.
(WebCore::addUsagesToJSON): Ditto.
(WebCore::JSCryptoKeySerializationJWK::serialize): rsa-oaep-key-manipulation test
started ot fail, because RSA-OAEP with 2048 bit key and sha-1 can only encrypt
214 bytes, and the new longer names made JSON serialization slightly longer.
Compensate by not doing any indentation in JSON.

LayoutTests:

* crypto/subtle/aes-export-key-expected.txt:
* crypto/subtle/aes-export-key.html:
* crypto/subtle/jwk-export-use-values-expected.txt:
* crypto/subtle/jwk-export-use-values.html:
* crypto/subtle/jwk-import-use-values-expected.txt:
* crypto/subtle/jwk-import-use-values.html:
* crypto/subtle/rsa-oaep-key-manipulation-expected.txt:
* crypto/subtle/rsa-oaep-key-manipulation.html:

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

5 years agoFix tests.
timothy@apple.com [Sat, 22 Feb 2014 17:50:55 +0000 (17:50 +0000)]
Fix tests.

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

5 years agoFix production builds and tests.
timothy@apple.com [Sat, 22 Feb 2014 17:48:46 +0000 (17:48 +0000)]
Fix production builds and tests.

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

5 years agoOrganize WebInspectorUI/UserInterface into sub-directories.
timothy@apple.com [Sat, 22 Feb 2014 17:33:44 +0000 (17:33 +0000)]
Organize WebInspectorUI/UserInterface into sub-directories.

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

Rubber-stamped by Joseph Pecoraro.

* Scripts/copy-user-interface-resources.sh: Fix Image URLs and Protocol paths.
* UserInterface/Base: Added.
* UserInterface/Controllers: Added.
* UserInterface/Images: Added.
* UserInterface/Main.html: Updated.
* UserInterface/Models Added.
* UserInterface/Protocol Added.
* UserInterface/Views: Added.

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

5 years agoRevert r164434 since it actually broke ASan builds
ddkilzer@apple.com [Sat, 22 Feb 2014 17:31:15 +0000 (17:31 +0000)]
Revert r164434 since it actually broke ASan builds
<http://webkit.org/b/128871>

* Configurations/WebKit.xcconfig: This caused -asan-blacklist to
be included twice on every compiler command, which caused clang
to error out.

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

5 years agoAdd inspection user interface for IndexedDB.
timothy@apple.com [Sat, 22 Feb 2014 16:06:41 +0000 (16:06 +0000)]
Add inspection user interface for IndexedDB.

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

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js: Updated.
* UserInterface/ContentView.js:
(WebInspector.ContentView):
(WebInspector.ContentView.isViewable):
* UserInterface/IndexedDatabase.js: Added.
(WebInspector.IndexedDatabase):
(WebInspector.IndexedDatabase.prototype.get name):
(WebInspector.IndexedDatabase.prototype.get securityOrigin):
(WebInspector.IndexedDatabase.prototype.get host):
(WebInspector.IndexedDatabase.prototype.get version):
(WebInspector.IndexedDatabase.prototype.get objectStores):
(WebInspector.IndexedDatabase.prototype.saveIdentityToCookie):
* UserInterface/IndexedDatabaseEntryDataGridNode.js: Added.
(WebInspector.IndexedDatabaseEntryDataGridNode):
(WebInspector.IndexedDatabaseEntryDataGridNode.prototype.get entry):
(WebInspector.IndexedDatabaseEntryDataGridNode.prototype.createCellContent):
* UserInterface/IndexedDatabaseHostTreeElement.js: Added.
(WebInspector.IndexedDatabaseHostTreeElement):
(WebInspector.IndexedDatabaseHostTreeElement.prototype.get name):
(WebInspector.IndexedDatabaseHostTreeElement.prototype.get categoryName):
* UserInterface/IndexedDatabaseObjectStore.js: Added.
(WebInspector.IndexedDatabaseObjectStore):
(WebInspector.IndexedDatabaseObjectStore.prototype.get name):
(WebInspector.IndexedDatabaseObjectStore.prototype.get keyPath):
(WebInspector.IndexedDatabaseObjectStore.prototype.get autoIncrement):
(WebInspector.IndexedDatabaseObjectStore.prototype.get parentDatabase):
(WebInspector.IndexedDatabaseObjectStore.prototype.get indexes):
(WebInspector.IndexedDatabaseObjectStore.prototype.saveIdentityToCookie):
(WebInspector.IndexedDatabaseObjectStore.prototype.establishRelationship):
* UserInterface/IndexedDatabaseObjectStoreContentView.css: Added.
(.content-view.indexed-database-object-store > .data-grid):
(.content-view.indexed-database-object-store > .data-grid td .section .header):
(.content-view.indexed-database-object-store > .data-grid td .section .header::before):
(.content-view.indexed-database-object-store > .data-grid td .section .header .title):
(.content-view.indexed-database-object-store > .data-grid table.data):
(.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(even)):
(.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)):
(.content-view.indexed-database-object-store > .data-grid table.data tr.filler):
(.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .section .header::before):
(.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .section.expanded .header::before):
(.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li.parent::before):
(.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li.parent.expanded::before):
(.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li *):
* UserInterface/IndexedDatabaseObjectStoreContentView.js: Added.
(WebInspector.IndexedDatabaseObjectStoreContentView.displayKeyPath):
(WebInspector.IndexedDatabaseObjectStoreContentView):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype.closed):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype.saveToCookie):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype.updateLayout):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype._reset):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype._dataGridScrolled):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData.processEntries):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData):
* UserInterface/IndexedDatabaseObjectStoreIndex.js: Added.
(WebInspector.IndexedDatabaseObjectStoreIndex):
(WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get name):
(WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get keyPath):
(WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get unique):
(WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get multiEntry):
(WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get parentObjectStore):
(WebInspector.IndexedDatabaseObjectStoreIndex.prototype.saveIdentityToCookie):
(WebInspector.IndexedDatabaseObjectStoreIndex.prototype.establishRelationship):
* UserInterface/IndexedDatabaseObjectStoreIndexTreeElement.js: Added.
(WebInspector.IndexedDatabaseObjectStoreIndexTreeElement):
(WebInspector.IndexedDatabaseObjectStoreIndexTreeElement.prototype.get objectStoreIndex):
* UserInterface/IndexedDatabaseObjectStoreTreeElement.js: Added.
(WebInspector.IndexedDatabaseObjectStoreTreeElement):
(WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.get objectStore):
(WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.oncollapse):
(WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.onpopulate):
* UserInterface/IndexedDatabaseTreeElement.js: Added.
(WebInspector.IndexedDatabaseTreeElement):
(WebInspector.IndexedDatabaseTreeElement.prototype.get indexedDatabase):
(WebInspector.IndexedDatabaseTreeElement.prototype.oncollapse):
(WebInspector.IndexedDatabaseTreeElement.prototype.onpopulate):
* UserInterface/Main.html:
* UserInterface/Main.js:
(WebInspector.sidebarPanelForRepresentedObject):
* UserInterface/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
(WebInspector.ResourceSidebarPanel.prototype._indexedDatabaseWasAdded):
(WebInspector.ResourceSidebarPanel.prototype._storageCleared):
* UserInterface/StorageManager.js:
(WebInspector.StorageManager):
(WebInspector.StorageManager.prototype.initialize):
(WebInspector.StorageManager.prototype.processData):
(WebInspector.StorageManager.prototype.requestIndexedDatabaseData):
(WebInspector.StorageManager.prototype._mainResourceDidChange):
(WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processDatabaseNames):
(WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processDatabase):
(WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded):
(WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processObjectStore):
(WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processObjectStoreIndex):
(WebInspector.StorageManager.prototype._securityOriginDidChange):
* UserInterface/URLUtilities.js:
(parseSecurityOrigin):

LayoutTests:

* http/tests/inspector-protocol/resources/InspectorTest.js:
(InspectorTest.initializeInspectorModels): Add IndexedDatabase models and StorageManager.
* inspector-protocol/indexeddb/basics-expected.txt: Added.
* inspector-protocol/indexeddb/basics.html: Added.

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

5 years agoWeb Inspector: allow drag-to-adjust on angle input of gradients editor
graouts@webkit.org [Sat, 22 Feb 2014 15:29:13 +0000 (15:29 +0000)]
Web Inspector: allow drag-to-adjust on angle input of gradients editor
https://bugs.webkit.org/show_bug.cgi?id=129095

Reviewed by Timothy Hatcher.

Rename CodeMirrorDragToAlterNumberController to CodeMirrorDragToAdjustNumberController and move
the core logic of a drag-to-adjust behavior out of it to a new generic class DragToAdjustController.
We use this new class from CodeMirrorGradientEditingController to provide drag-to-adjust behavior
in the angle input field of the gradient editor and also as a supporting object for the CodeMirror-
specific class.

* UserInterface/CodeMirrorDragToAdjustNumberController.css: Renamed from Source/WebInspectorUI/UserInterface/CodeMirrorDragToAlterNumberController.css.
(.CodeMirror.drag-to-adjust .CodeMirror-lines):

* UserInterface/CodeMirrorDragToAdjustNumberController.js: Added.
Removed the UI logic and use the new DragToAdjustController as a supporting object instead. We implement
the various DragToAdjustController delegate methods in order to customize its behavior to work within the
context of a CodeMirror editor, specifically to prevent activation when the editor is read-only and to
prevent adjustment when the hovered token isn't a number.

(WebInspector.CodeMirrorDragToAdjustNumberController):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.get enabled):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.set enabled):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerActiveStateChanged):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanBeActivated):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanBeAdjusted):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerWasAdjustedByAmount):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerDidReset):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanAdjustObjectAtPoint):

* UserInterface/CodeMirrorGradientEditingController.css:
(.gradient-editing-controller > label.drag-to-adjust > input):

* UserInterface/CodeMirrorGradientEditingController.js:
Adopt the new DragToAdjustController to make the angle input field value adjustable by dragging.

(WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent):
(WebInspector.CodeMirrorGradientEditingController.prototype.dragToAdjustControllerWasAdjustedByAmount):
(WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent):
(WebInspector.CodeMirrorGradientEditingController.prototype._angleInputValueDidChange):

* UserInterface/DragToAdjustController.js: Renamed from Source/WebInspectorUI/UserInterface/CodeMirrorDragToAlterNumberController.js.
New DragToAdjustController class exposing only the core UI logic of a drag-to-adjust behavior in the context
of a DOM element, exposing a few delegation methods to customize the controller's behavior:

- dragToAdjustControllerActiveStateChanged() notifies that the .active property has changed, allowing bringup
and cleanup work to be performed.

- dragToAdjustControllerDidReset() notifies that the various tracking states of the controller have been reset
allowing other state objects used by clients to be cleared.

- dragToAdjustControllerCanBeActivated() is used to check whether the controller may enter the active state upon
first hovering the target element.

- dragToAdjustControllerCanBeAdjusted() is used to check whether adjustment can be performed at the moment when
the user actually is about to engage in a drag-to-adjust interaction.

- dragToAdjustControllerCanAdjustObjectAtPoint() is used to check whether the object at the provided point (mouse
location) is an adjustable value.

- dragToAdjustControllerWasAdjustedByAmount() notifies that there is a new amount to add to the current value
following a drag-to-adjust interaction.

(WebInspector.DragToAdjustController):
(WebInspector.DragToAdjustController.prototype.get element):
(WebInspector.DragToAdjustController.prototype.set element):
(WebInspector.DragToAdjustController.prototype.set enabled):
(WebInspector.DragToAdjustController.prototype.get active):
(WebInspector.DragToAdjustController.prototype.set active):
(WebInspector.DragToAdjustController.prototype.reset):
(WebInspector.DragToAdjustController.prototype.handleEvent):
(WebInspector.DragToAdjustController.prototype._setDragging):
(WebInspector.DragToAdjustController.prototype._setTracksMouseClickAndDrag):
(WebInspector.DragToAdjustController.prototype._modifiersDidChange):
(WebInspector.DragToAdjustController.prototype._mouseMoved):
(WebInspector.DragToAdjustController.prototype._mouseWasPressed):
(WebInspector.DragToAdjustController.prototype._mouseWasDragged):
(WebInspector.DragToAdjustController.prototype._mouseWasReleased):

* UserInterface/Main.html:
Link in new source files.

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

5 years agoReplace svg/clip-path pixel tests by reference tests
krit@webkit.org [Sat, 22 Feb 2014 13:58:51 +0000 (13:58 +0000)]
Replace svg/clip-path pixel tests by reference tests
https://bugs.webkit.org/show_bug.cgi?id=129177

Patch by Dirk Schulze <krit@webkit.org> on 2014-02-21
Rubber-stamped by Ryosuke Niwa.

This patch removes all pixel tests.

* platform/efl/svg/clip-path/clip-in-mask-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-childs-clipped-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-clipped-evenodd-twice-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-clipped-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-clipped-nonzero-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-css-transform-1-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-css-transform-2-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-objectBoundingBox-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-on-clipped-use-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-on-g-and-child-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-on-g-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-on-svg-and-child-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-on-svg-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-pixelation-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-text-and-stroke-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-text-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-transform-2-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-use-as-child-expected.png: Removed.
* platform/efl/svg/clip-path/clip-path-userSpaceOnUse-expected.png: Removed.
* platform/efl/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png: Removed.
* platform/efl/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt: Removed.
* platform/efl/svg/clip-path/deep-nested-clip-in-mask-expected.png: Removed.
* platform/efl/svg/clip-path/deep-nested-clip-in-mask-panning-expected.png: Removed.
* platform/efl/svg/clip-path/nested-clip-in-mask-image-based-clipping-expected.png: Removed.
* platform/efl/svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping-expected.png: Removed.
* platform/efl/svg/clip-path/nested-clip-in-mask-path-based-clipping-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-in-mask-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-child-clipped-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-childs-clipped-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-clipped-evenodd-twice-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-clipped-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-clipped-nonzero-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-css-transform-1-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-css-transform-2-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-evenodd-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-evenodd-nonzero-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-nonzero-evenodd-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-nonzero-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-objectBoundingBox-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-on-clipped-use-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-on-g-and-child-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-on-g-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-on-svg-and-child-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-on-svg-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-pixelation-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-text-and-shape-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-text-and-stroke-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-text-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-transform-2-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-use-as-child-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-userSpaceOnUse-expected.png: Removed.
* platform/gtk/svg/clip-path/clip-path-with-text-clipped-expected.png: Removed.
* platform/gtk/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png: Removed.
* platform/gtk/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt: Removed.
* platform/gtk/svg/clip-path/deep-nested-clip-in-mask-expected.png: Removed.
* platform/gtk/svg/clip-path/deep-nested-clip-in-mask-panning-expected.png: Removed.
* platform/gtk/svg/clip-path/nested-clip-in-mask-image-based-clipping-expected.png: Removed.
* platform/gtk/svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping-expected.png: Removed.
* platform/gtk/svg/clip-path/nested-clip-in-mask-path-based-clipping-expected.png: Removed.
* platform/mac/svg/clip-path/clip-in-clip-expected.png: Removed.
* platform/mac/svg/clip-path/clip-in-mask-expected.png: Removed.
* platform/mac/svg/clip-path/clip-in-mask-objectBoundingBox-expected.png: Removed.
* platform/mac/svg/clip-path/clip-in-mask-userSpaceOnUse-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-child-clipped-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-childs-clipped-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-clipped-evenodd-twice-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-clipped-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-clipped-no-content-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-clipped-nonzero-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-css-transform-1-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-css-transform-2-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-evenodd-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-evenodd-nonzero-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-nonzero-evenodd-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-nonzero-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-objectBoundingBox-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-on-clipped-use-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-on-g-and-child-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-on-g-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-on-svg-and-child-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-on-svg-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-pixelation-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-pixelation-expected.txt: Removed.
* platform/mac/svg/clip-path/clip-path-recursive-call-by-child-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-recursive-call-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-text-and-shape-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-text-and-shape-expected.txt: Removed.
* platform/mac/svg/clip-path/clip-path-text-and-stroke-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-text-and-stroke-expected.txt: Removed.
* platform/mac/svg/clip-path/clip-path-text-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-text-expected.txt: Removed.
* platform/mac/svg/clip-path/clip-path-transform-1-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-transform-2-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-tspan-and-stroke-expected.txt: Removed.
* platform/mac/svg/clip-path/clip-path-use-as-child-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-use-as-child2-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-use-as-child3-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-use-as-child4-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-use-as-child5-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-userSpaceOnUse-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-with-container-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-with-different-unittypes-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-with-different-unittypes2-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-with-invisibile-child-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-with-text-clipped-expected.png: Removed.
* platform/mac/svg/clip-path/clip-path-with-text-clipped-expected.txt: Removed.
* platform/mac/svg/clip-path/clipper-placement-issue-expected.png: Removed.
* platform/mac/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png: Removed.
* platform/mac/svg/clip-path/deep-nested-clip-in-mask-expected.png: Removed.
* platform/mac/svg/clip-path/deep-nested-clip-in-mask-expected.txt: Removed.
* platform/mac/svg/clip-path/deep-nested-clip-in-mask-panning-expected.png: Removed.
* platform/mac/svg/clip-path/deep-nested-clip-in-mask-panning-expected.txt: Removed.
* platform/mac/svg/clip-path/nested-clip-in-mask-image-based-clipping-expected.png: Removed.
* platform/mac/svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping-expected.png: Removed.
* platform/mac/svg/clip-path/nested-clip-in-mask-path-based-clipping-expected.png: Removed.
* svg/clip-path/clip-in-clip-expected.png: Removed.
* svg/clip-path/clip-in-clip-expected.txt: Removed.
* svg/clip-path/clip-in-clip.svg: Removed.
* svg/clip-path/clip-in-mask-expected.txt: Removed.
* svg/clip-path/clip-in-mask-objectBoundingBox-expected.txt: Removed.
* svg/clip-path/clip-in-mask-objectBoundingBox.svg: Removed.
* svg/clip-path/clip-in-mask-userSpaceOnUse-expected.txt: Removed.
* svg/clip-path/clip-in-mask-userSpaceOnUse.svg: Removed.
* svg/clip-path/clip-in-mask.svg: Removed.
* svg/clip-path/clip-path-child-clipped-expected.txt: Removed.
* svg/clip-path/clip-path-child-clipped.svg: Removed.
* svg/clip-path/clip-path-childs-clipped-expected.txt: Removed.
* svg/clip-path/clip-path-childs-clipped.svg: Removed.
* svg/clip-path/clip-path-clipped-evenodd-twice-expected.txt: Removed.
* svg/clip-path/clip-path-clipped-evenodd-twice.svg: Removed.
* svg/clip-path/clip-path-clipped-expected.txt: Removed.
* svg/clip-path/clip-path-clipped-no-content-expected.png: Removed.
* svg/clip-path/clip-path-clipped-no-content-expected.txt: Removed.
* svg/clip-path/clip-path-clipped-no-content.svg: Removed.
* svg/clip-path/clip-path-clipped-nonzero-expected.txt: Removed.
* svg/clip-path/clip-path-clipped-nonzero.svg: Removed.
* svg/clip-path/clip-path-clipped.svg: Removed.
* svg/clip-path/clip-path-css-transform-1-expected.txt: Removed.
* svg/clip-path/clip-path-css-transform-1.svg: Removed.
* svg/clip-path/clip-path-css-transform-2-expected.txt: Removed.
* svg/clip-path/clip-path-css-transform-2.svg: Removed.
* svg/clip-path/clip-path-evenodd-expected.txt: Removed.
* svg/clip-path/clip-path-evenodd-nonzero-expected.txt: Removed.
* svg/clip-path/clip-path-evenodd-nonzero.svg: Removed.
* svg/clip-path/clip-path-evenodd.svg: Removed.
* svg/clip-path/clip-path-nonzero-evenodd-expected.txt: Removed.
* svg/clip-path/clip-path-nonzero-evenodd.svg: Removed.
* svg/clip-path/clip-path-nonzero-expected.txt: Removed.
* svg/clip-path/clip-path-nonzero.svg: Removed.
* svg/clip-path/clip-path-objectBoundingBox-expected.txt: Removed.
* svg/clip-path/clip-path-objectBoundingBox.svg: Removed.
* svg/clip-path/clip-path-on-clipped-use-expected.txt: Removed.
* svg/clip-path/clip-path-on-clipped-use.svg: Removed.
* svg/clip-path/clip-path-on-g-and-child-expected.txt: Removed.
* svg/clip-path/clip-path-on-g-and-child.svg: Removed.
* svg/clip-path/clip-path-on-g-expected.txt: Removed.
* svg/clip-path/clip-path-on-g.svg: Removed.
* svg/clip-path/clip-path-on-svg-and-child-expected.txt: Removed.
* svg/clip-path/clip-path-on-svg-and-child.svg: Removed.
* svg/clip-path/clip-path-on-svg-expected.txt: Removed.
* svg/clip-path/clip-path-on-svg.svg: Removed.
* svg/clip-path/clip-path-pixelation-expected.txt: Removed.
* svg/clip-path/clip-path-pixelation.svg: Removed.
* svg/clip-path/clip-path-recursive-call-by-child-expected.png: Removed.
* svg/clip-path/clip-path-recursive-call-by-child-expected.txt: Removed.
* svg/clip-path/clip-path-recursive-call-by-child.svg: Removed.
* svg/clip-path/clip-path-recursive-call-expected.png: Removed.
* svg/clip-path/clip-path-recursive-call-expected.txt: Removed.
* svg/clip-path/clip-path-recursive-call.svg: Removed.
* svg/clip-path/clip-path-text-and-shape-expected.txt: Removed.
* svg/clip-path/clip-path-text-and-shape.svg: Removed.
* svg/clip-path/clip-path-text-and-stroke-expected.txt: Removed.
* svg/clip-path/clip-path-text-and-stroke.svg: Removed.
* svg/clip-path/clip-path-text-expected.txt: Removed.
* svg/clip-path/clip-path-text.svg: Removed.
* svg/clip-path/clip-path-transform-1-expected.txt: Removed.
* svg/clip-path/clip-path-transform-1.svg: Removed.
* svg/clip-path/clip-path-transform-2-expected.txt: Removed.
* svg/clip-path/clip-path-transform-2.svg: Removed.
* svg/clip-path/clip-path-tspan-and-stroke-expected.txt: Removed.
* svg/clip-path/clip-path-tspan-and-stroke.svg: Removed.
* svg/clip-path/clip-path-use-as-child-expected.txt: Removed.
* svg/clip-path/clip-path-use-as-child.svg: Removed.
* svg/clip-path/clip-path-use-as-child2-expected.png: Removed.
* svg/clip-path/clip-path-use-as-child2-expected.txt: Removed.
* svg/clip-path/clip-path-use-as-child2.svg: Removed.
* svg/clip-path/clip-path-use-as-child3-expected.png: Removed.
* svg/clip-path/clip-path-use-as-child3-expected.txt: Removed.
* svg/clip-path/clip-path-use-as-child3.svg: Removed.
* svg/clip-path/clip-path-use-as-child4-expected.png: Removed.
* svg/clip-path/clip-path-use-as-child4-expected.txt: Removed.
* svg/clip-path/clip-path-use-as-child4.svg: Removed.
* svg/clip-path/clip-path-use-as-child5-expected.png: Removed.
* svg/clip-path/clip-path-use-as-child5-expected.txt: Removed.
* svg/clip-path/clip-path-use-as-child5.svg: Removed.
* svg/clip-path/clip-path-userSpaceOnUse-expected.txt: Removed.
* svg/clip-path/clip-path-userSpaceOnUse.svg: Removed.
* svg/clip-path/clip-path-with-container-expected.png: Removed.
* svg/clip-path/clip-path-with-container-expected.txt: Removed.
* svg/clip-path/clip-path-with-container.svg: Removed.
* svg/clip-path/clip-path-with-different-unittypes-expected.png: Removed.
* svg/clip-path/clip-path-with-different-unittypes-expected.txt: Removed.
* svg/clip-path/clip-path-with-different-unittypes.svg: Removed.
* svg/clip-path/clip-path-with-different-unittypes2-expected.png: Removed.
* svg/clip-path/clip-path-with-different-unittypes2-expected.txt: Removed.
* svg/clip-path/clip-path-with-different-unittypes2.svg: Removed.
* svg/clip-path/clip-path-with-invisibile-child-expected.png: Removed.
* svg/clip-path/clip-path-with-invisibile-child-expected.txt: Removed.
* svg/clip-path/clip-path-with-invisibile-child.svg: Removed.
* svg/clip-path/clip-path-with-text-clipped-expected.txt: Removed.
* svg/clip-path/clip-path-with-text-clipped.svg: Removed.
* svg/clip-path/clipper-placement-issue-expected.png: Removed.
* svg/clip-path/clipper-placement-issue-expected.txt: Removed.
* svg/clip-path/clipper-placement-issue.svg: Removed.
* svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt: Removed.
* svg/clip-path/deep-nested-clip-in-mask-different-unitTypes.svg: Removed.
* svg/clip-path/deep-nested-clip-in-mask-expected.txt: Removed.
* svg/clip-path/deep-nested-clip-in-mask-panning-expected.txt: Removed.
* svg/clip-path/deep-nested-clip-in-mask-panning.svg: Removed.
* svg/clip-path/deep-nested-clip-in-mask.svg: Removed.
* svg/clip-path/nested-clip-in-mask-image-based-clipping-expected.txt: Removed.
* svg/clip-path/nested-clip-in-mask-image-based-clipping.svg: Removed.
* svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping-expected.txt: Removed.
* svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping.svg: Removed.
* svg/clip-path/nested-clip-in-mask-path-based-clipping-expected.txt: Removed.
* svg/clip-path/nested-clip-in-mask-path-based-clipping.svg: Removed.

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

5 years agoOnly skip stretchy operators when determining the stretch height.
fred.wang@free.fr [Sat, 22 Feb 2014 10:21:18 +0000 (10:21 +0000)]
Only skip stretchy operators when determining the stretch height.
https://bugs.webkit.org/show_bug.cgi?id=126842

Reviewed by Chris Fleizach.

Source/WebCore:

The MathML code only takes into account non-mo children for the computation of the stretch size. This change includes non-stretchy mo in that computation. A new test is added into mathml/presentation/stretchy-depth-height.html.

* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::layout):

LayoutTests:

* mathml/presentation/stretchy-depth-height.html: Add a test with non-stretchy mo siblings.

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

5 years agoImplement asymmetric/symmetric stretching of vertical operators.
fred.wang@free.fr [Sat, 22 Feb 2014 10:14:41 +0000 (10:14 +0000)]
Implement asymmetric/symmetric stretching of vertical operators.
https://bugs.webkit.org/show_bug.cgi?id=124827.

Reviewed by Chris Fleizach.

Source/WebCore:

The MathML code stretches vertical operators asymmetrically by default. This patch takes into account the symmetric attribute or the symmetric property of the operator dictionary to stretch operators symmetrically.

Test: mathml/presentation/stretchy-depth-height-symmetric.html

* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::stretchTo):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::updateStyle):

LayoutTests:

Add a new test to verify the symmetric property of operators (either implicit by the operator dictionary or explicit via an mo attribute).

* LayoutTests/platform/mac/mathml/presentation/mo-stretch-expected.txt: rebased.
* mathml/presentation/stretchy-depth-height-symmetric-expected.txt: Added.
* mathml/presentation/stretchy-depth-height-symmetric.html: Added.

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

5 years agoBug 119043 - Large stretch size error for MathML operators.
fred.wang@free.fr [Sat, 22 Feb 2014 10:08:02 +0000 (10:08 +0000)]
Bug 119043 - Large stretch size error for MathML operators.
https://bugs.webkit.org/show_bug.cgi?id=119043

Reviewed by Chris Fleizach.

Source/WebCore:

The MathML code used some arbitrary gOperatorExpansion factor for the
stretch size and 2/3 1/2 constants for the baseline. This change tries
to consider height/depth of siblings of the stretchy operator so that
the stretchy operator now matches its target.

Test: mathml/presentation/stretchy-depth-height.html

* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderMathMLTable):
* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::stretchTo):
(WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter):
(WebCore::RenderMathMLOperator::updateStyle):
(WebCore::RenderMathMLOperator::firstLineBaseline):
(WebCore::RenderMathMLOperator::computeLogicalHeight):
* rendering/mathml/RenderMathMLOperator.h:
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::layout):

LayoutTests:

This adds a test to check that the depth/height of stretchy operators match the maximum of their siblings. This also fixes the reference of mo-stretch.html to ignore the stretch error.

* mathml/presentation/stretchy-depth-height-expected.txt: Added.
* mathml/presentation/stretchy-depth-height.html: Added.
* platform/mac/mathml/presentation/mo-stretch-expected.txt:

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

5 years agoUnreviewed, rolling out r164534.
fred.wang@free.fr [Sat, 22 Feb 2014 09:57:35 +0000 (09:57 +0000)]
Unreviewed, rolling out r164534.
http://trac.webkit.org/changeset/164534
https://bugs.webkit.org/show_bug.cgi?id=119043

missing tests

Source/WebCore:

* rendering/RenderObject.h:
* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::expandedStretchHeight):
(WebCore::RenderMathMLOperator::stretchToHeight):
(WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter):
(WebCore::RenderMathMLOperator::updateStyle):
(WebCore::RenderMathMLOperator::firstLineBaseline):
(WebCore::RenderMathMLOperator::computeLogicalHeight):
* rendering/mathml/RenderMathMLOperator.h:
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::layout):

LayoutTests:

* mathml/presentation/stretchy-depth-height-expected.txt: Removed.
* mathml/presentation/stretchy-depth-height.html: Removed.
* platform/mac/mathml/presentation/mo-stretch-expected.txt:

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

5 years agoBug 119043 - Large stretch size error for MathML operators.
fred.wang@free.fr [Sat, 22 Feb 2014 09:50:47 +0000 (09:50 +0000)]
Bug 119043 - Large stretch size error for MathML operators.
https://bugs.webkit.org/show_bug.cgi?id=119043

Reviewed by Chris Fleizach.

Source/WebCore:

The MathML code used some arbitrary gOperatorExpansion factor for the
stretch size and 2/3 1/2 constants for the baseline. This change tries
to consider height/depth of siblings of the stretchy operator so that
the stretchy operator now matches its target.

Test: mathml/presentation/stretchy-depth-height.html

* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderMathMLTable):
* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::stretchTo):
(WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter):
(WebCore::RenderMathMLOperator::updateStyle):
(WebCore::RenderMathMLOperator::firstLineBaseline):
(WebCore::RenderMathMLOperator::computeLogicalHeight):
* rendering/mathml/RenderMathMLOperator.h:
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::layout):

LayoutTests:

This adds a test to check that the depth/height of stretchy operators match the maximum of their siblings. This also fixes the reference of mo-stretch.html to ignore the stretch error.

* mathml/presentation/stretchy-depth-height-expected.txt: Added.
* mathml/presentation/stretchy-depth-height.html: Added.
* platform/mac/mathml/presentation/mo-stretch-expected.txt:

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

5 years agoUnreviewed, EFL WK2 gardening. Skip a webgl test because of crashing.
gyuyoung.kim@samsung.com [Sat, 22 Feb 2014 09:23:33 +0000 (09:23 +0000)]
Unreviewed, EFL WK2 gardening. Skip a webgl test because of crashing.
Besides a bug is filed and assigned to those crash tests.

* platform/efl-wk2/TestExpectations:

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

5 years agoREGRESSION(r164412): Pixel cracks when zooming in to any web content.
zalan@apple.com [Sat, 22 Feb 2014 07:24:45 +0000 (07:24 +0000)]
REGRESSION(r164412): Pixel cracks when zooming in to any web content.
https://bugs.webkit.org/show_bug.cgi?id=129195

Reviewed by Simon Fraser.

Integral clipping of the repaint rect was prematurely removed in RenderLayerBacking::paintContents().
Repaint rects needs a uniform, device pixel precise clipping across the painting flow including RenderLayer,
RenderView and TileController.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintContents):
(WebCore::RenderLayerBacking::compositedBoundsIncludingMargin):

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

5 years agoReplace svg/clip-path pixel tests by reference tests
krit@webkit.org [Sat, 22 Feb 2014 07:20:16 +0000 (07:20 +0000)]
Replace svg/clip-path pixel tests by reference tests
https://bugs.webkit.org/show_bug.cgi?id=129177

Reviewed by Dean Jackson.

New reference tests for SVG clip-path.

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/win/TestExpectations:
* svg/clip-path/clip-path-clip-expected.svg: Added.
* svg/clip-path/clip-path-clip-nested-twice-expected.svg: Added.
* svg/clip-path/clip-path-clip-nested-twice.svg: Added.
* svg/clip-path/clip-path-clip-rule-001-expected.svg: Added.
* svg/clip-path/clip-path-clip-rule-001.svg: Added.
* svg/clip-path/clip-path-clip-rule-002-expected.svg: Added.
* svg/clip-path/clip-path-clip-rule-002.svg: Added.
* svg/clip-path/clip-path-clip-rule-003-expected.svg: Added.
* svg/clip-path/clip-path-clip-rule-003.svg: Added.
* svg/clip-path/clip-path-clip-rule-004-expected.svg: Added.
* svg/clip-path/clip-path-clip-rule-004.svg: Added.
* svg/clip-path/clip-path-clip-rule-005-expected.svg: Added.
* svg/clip-path/clip-path-clip-rule-005.svg: Added.
* svg/clip-path/clip-path-clip-rule-006-expected.svg: Added.
* svg/clip-path/clip-path-clip-rule-006.svg: Added.
* svg/clip-path/clip-path-clip-rule-007-expected.svg: Added.
* svg/clip-path/clip-path-clip-rule-007.svg: Added.
* svg/clip-path/clip-path-clip-rule-008-expected.svg: Added.
* svg/clip-path/clip-path-clip-rule-008.svg: Added.
* svg/clip-path/clip-path-clip-rule-009-expected.svg: Added.
* svg/clip-path/clip-path-clip-rule-009.svg: Added.
* svg/clip-path/clip-path-clip-rule-010-expected.svg: Added.
* svg/clip-path/clip-path-clip-rule-010.svg: Added.
* svg/clip-path/clip-path-clip.svg: Added.
* svg/clip-path/clip-path-content-clip-001-expected.svg: Added.
* svg/clip-path/clip-path-content-clip-001.svg: Added.
* svg/clip-path/clip-path-content-clip-002-expected.svg: Added.
* svg/clip-path/clip-path-content-clip-002.svg: Added.
* svg/clip-path/clip-path-content-clip-003-expected.svg: Added.
* svg/clip-path/clip-path-content-clip-003.svg: Added.
* svg/clip-path/clip-path-content-invisible-expected.svg: Added.
* svg/clip-path/clip-path-content-invisible.svg: Added.
* svg/clip-path/clip-path-content-syling-expected.svg: Added.
* svg/clip-path/clip-path-content-syling.svg: Added.
* svg/clip-path/clip-path-content-use-001-expected.svg: Added.
* svg/clip-path/clip-path-content-use-001.svg: Added.
* svg/clip-path/clip-path-content-use-002-expected.svg: Added.
* svg/clip-path/clip-path-content-use-002.svg: Added.
* svg/clip-path/clip-path-content-use-003-expected.svg: Added.
* svg/clip-path/clip-path-content-use-003.svg: Added.
* svg/clip-path/clip-path-content-use-004-expected.svg: Added.
* svg/clip-path/clip-path-content-use-004.svg: Added.
* svg/clip-path/clip-path-content-use-005-expected.svg: Added.
* svg/clip-path/clip-path-content-use-005.svg: Added.
* svg/clip-path/clip-path-content-use-006-expected.svg: Added.
* svg/clip-path/clip-path-content-use-006.svg: Added.
* svg/clip-path/clip-path-css-transform-001-expected.svg: Added.
* svg/clip-path/clip-path-css-transform-001.svg: Added.
* svg/clip-path/clip-path-css-transform-002-expected.svg: Added.
* svg/clip-path/clip-path-css-transform-002.svg: Added.
* svg/clip-path/clip-path-invalid-expected.svg: Added.
* svg/clip-path/clip-path-invalid.svg: Added.
* svg/clip-path/clip-path-no-content-001-expected.svg: Added.
* svg/clip-path/clip-path-no-content-001.svg: Added.
* svg/clip-path/clip-path-no-content-002-expected.svg: Added.
* svg/clip-path/clip-path-no-content-002.svg: Added.
* svg/clip-path/clip-path-no-content-003-expected.svg: Added.
* svg/clip-path/clip-path-no-content-003.svg: Added.
* svg/clip-path/clip-path-objectboundingbox-001-expected.svg: Added.
* svg/clip-path/clip-path-objectboundingbox-001.svg: Added.
* svg/clip-path/clip-path-objectboundingbox-002-expected.svg: Added.
* svg/clip-path/clip-path-objectboundingbox-002.svg: Added.
* svg/clip-path/clip-path-objectboundingbox-003-expected.svg: Added.
* svg/clip-path/clip-path-objectboundingbox-003.svg: Added.
* svg/clip-path/clip-path-objectboundingbox-004-expected.svg: Added.
* svg/clip-path/clip-path-objectboundingbox-004.svg: Added.
* svg/clip-path/clip-path-on-g-001-expected.svg: Added.
* svg/clip-path/clip-path-on-g-001.svg: Added.
* svg/clip-path/clip-path-on-g-002-expected.svg: Added.
* svg/clip-path/clip-path-on-g-002.svg: Added.
* svg/clip-path/clip-path-on-g-003-expected.svg: Added.
* svg/clip-path/clip-path-on-g-003.svg: Added.
* svg/clip-path/clip-path-on-g-004-expected.svg: Added.
* svg/clip-path/clip-path-on-g-004.svg: Added.
* svg/clip-path/clip-path-on-g-005-expected.svg: Added.
* svg/clip-path/clip-path-on-g-005.svg: Added.
* svg/clip-path/clip-path-on-svg-001-expected.svg: Added.
* svg/clip-path/clip-path-on-svg-001.svg: Added.
* svg/clip-path/clip-path-on-svg-002-expected.svg: Added.
* svg/clip-path/clip-path-on-svg-002.svg: Added.
* svg/clip-path/clip-path-on-use-001-expected.svg: Added.
* svg/clip-path/clip-path-on-use-001.svg: Added.
* svg/clip-path/clip-path-on-use-002-expected.svg: Added.
* svg/clip-path/clip-path-on-use-002.svg: Added.
* svg/clip-path/clip-path-precision-001-expected.svg: Added.
* svg/clip-path/clip-path-precision-001.svg: Added.
* svg/clip-path/clip-path-text-001-expected.svg: Added.
* svg/clip-path/clip-path-text-001.svg: Added.
* svg/clip-path/clip-path-text-002-expected.svg: Added.
* svg/clip-path/clip-path-text-002.svg: Added.
* svg/clip-path/clip-path-text-003-expected.svg: Added.
* svg/clip-path/clip-path-text-003.svg: Added.
* svg/clip-path/clip-path-text-004-expected.svg: Added.
* svg/clip-path/clip-path-text-004.svg: Added.
* svg/clip-path/clip-path-text-005-expected.svg: Added.
* svg/clip-path/clip-path-text-005.svg: Added.
* svg/clip-path/clip-path-userspaceonuse-001-expected.svg: Added.
* svg/clip-path/clip-path-userspaceonuse-001.svg: Added.
* svg/clip-path/mask-nested-clip-path-001-expected.svg: Added.
* svg/clip-path/mask-nested-clip-path-001.svg: Added.
* svg/clip-path/mask-nested-clip-path-002-expected.svg: Added.
* svg/clip-path/mask-nested-clip-path-002.svg: Added.
* svg/clip-path/mask-nested-clip-path-003-expected.svg: Added.
* svg/clip-path/mask-nested-clip-path-003.svg: Added.
* svg/clip-path/mask-nested-clip-path-004-expected.svg: Added.
* svg/clip-path/mask-nested-clip-path-004.svg: Added.
* svg/clip-path/mask-nested-clip-path-005-expected.svg: Added.
* svg/clip-path/mask-nested-clip-path-005.svg: Added.
* svg/clip-path/mask-nested-clip-path-006-expected.svg: Added.
* svg/clip-path/mask-nested-clip-path-006.svg: Added.
* svg/clip-path/mask-nested-clip-path-007-expected.svg: Added.
* svg/clip-path/mask-nested-clip-path-007.svg: Added.
* svg/clip-path/mask-nested-clip-path-008-expected.svg: Added.
* svg/clip-path/mask-nested-clip-path-008.svg: Added.
* svg/clip-path/mask-nested-clip-path-009-expected.svg: Added.
* svg/clip-path/mask-nested-clip-path-009.svg: Added.
* svg/clip-path/mask-nested-clip-path-panning-001-expected.svg: Added.
* svg/clip-path/mask-nested-clip-path-panning-001.svg: Added.
* svg/clip-path/mask-nested-clip-path-panning-002-expected.svg: Added.
* svg/clip-path/mask-nested-clip-path-panning-002.svg: Added.
* svg/clip-path/mask-objectboundingbox-content-clip-expected.svg: Added.
* svg/clip-path/mask-objectboundingbox-content-clip-transform-expected.svg: Added.
* svg/clip-path/mask-objectboundingbox-content-clip-transform.svg: Added.
* svg/clip-path/mask-objectboundingbox-content-clip.svg: Added.
* svg/clip-path/mask-userspaceonuse-content-clip-expected.svg: Added.
* svg/clip-path/mask-userspaceonuse-content-clip-transform-expected.svg: Added.
* svg/clip-path/mask-userspaceonuse-content-clip-transform.svg: Added.
* svg/clip-path/mask-userspaceonuse-content-clip.svg: Added.

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

5 years agoUnreviewed Mac build fix after r164529.
jer.noble@apple.com [Sat, 22 Feb 2014 06:56:55 +0000 (06:56 +0000)]
Unreviewed Mac build fix after r164529.

Replace the string-to-array algorithm with a archictecture-independant
one.

* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest):

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

5 years ago[EME] Add a CDMSession for MediaPlayerPrivateMediaSourceAVFObjC
jer.noble@apple.com [Sat, 22 Feb 2014 06:17:53 +0000 (06:17 +0000)]
[EME] Add a CDMSession for MediaPlayerPrivateMediaSourceAVFObjC
https://bugs.webkit.org/show_bug.cgi?id=129166

Reviewed by Eric Carlson.

Add a new CDMSession, cerated by MediaPlayerPrivateMediaSourceAVFObjC allowing
media-source-backed media elements to play protected content.

Add a new CDMSessionMediaSourceAVFObjC class:
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: Added.
(WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC):
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: Added.
(WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC):
(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): Do not actually generate a
    key request until the certificate data has been added via update();
(WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): No-op.
(WebCore::CDMSessionMediaSourceAVFObjC::update): If no certificate data has yet been
    added, assume the incoming message contains it.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine): Add supportsKeySystem.
(WebCore::keySystemIsSupported): Use "com.apple.fps.2_0" to distinguish from the not-media-source scheme.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType): Check the keySystem type.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsKeySystem): Added.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createSession): Added, pass through to MediaSourcePrivate.
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::createSession): Added.
(WebCore::MediaSourcePrivateAVFObjC::sourceBufferKeyNeeded): Pass through to MediaPlayer.
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]):
    Added, pass through to SourceBufferPrivate.
(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID): Remember
    which track is requesting the key, and pass the request to MediaSourcePrivate.

Add new files to the project.
* WebCore.xcodeproj/project.pbxproj:

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

5 years agoCryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify contains seemingly accidental unreac...
ap@apple.com [Sat, 22 Feb 2014 06:07:41 +0000 (06:07 +0000)]
CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify contains seemingly accidental unreachable code
https://bugs.webkit.org/show_bug.cgi?id=129193

Reviewed by Joseph Pecoraro.

* crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Fix the accidental code.

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

5 years agoExtend media support for WebVTT sources
bfulgham@apple.com [Sat, 22 Feb 2014 05:05:53 +0000 (05:05 +0000)]
Extend media support for WebVTT sources
https://bugs.webkit.org/show_bug.cgi?id=129156

Reviewed by Eric Carlson.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS

Source/WebCore:

* Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::outOfBandTrackSources): Added.
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::outOfBandTrackSources): Added.
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::outOfBandTrackSources): Added.
* platform/graphics/PlatformTextTrack.h:
(WebCore::PlatformTextTrack::create): Update for new constructor signature.
(WebCore::PlatformTextTrack::createOutOfBand): Added.
(WebCore::PlatformTextTrack::url): Added.
(WebCore::PlatformTextTrack::isDefault): Added.
(WebCore::PlatformTextTrack::PlatformTextTrack): Revised to take new URL and
'isDefault' arguments.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::mediaDescriptionForKind): Added.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation about any
WebVTT tracks supplied by the web page.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions): Filter out any out-of-band
WebVTT tracks returned by the media engine to avoid double-counting tracks.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS

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

5 years agoInner text element should not use -webkit-user-modify
rniwa@webkit.org [Sat, 22 Feb 2014 04:09:28 +0000 (04:09 +0000)]
Inner text element should not use -webkit-user-modify
https://bugs.webkit.org/show_bug.cgi?id=129035

Reviewed by Andreas Kling.

Source/WebCore:

To eliminate the internal use of -webkit-user-modify, use contenteditable attribute in the inner text elements
instead of manually inspecting disabled-ness and readonly-ness in RenderTextControl.

Unfortunately, we still have to manually set UserModify value in RenderTextControl::adjustInnerTextStyle since
RenderTextControl::styleDidChange creates RenderStyle for its inner text from scratch via createInnerTextStyle.

* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::disabledStateChanged): Don't use childrenOfType iterator which asserts that DOM
isn't mutated during the traversal since we now set contenteditable attribute inside disabledStateChanged via
updateFromControlElementsAncestorDisabledStateUnder.

* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::parseAttribute): Extracted readOnlyAttributeChanged out of this function so
that HTMLTextFormControl could override it to call updateInnerTextElementEditability.
(WebCore::HTMLFormControlElement::readOnlyAttributeChanged): Ditto.
* html/HTMLFormControlElement.h:

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::didAddUserAgentShadowRoot): Call updateInnerTextElementEditability after creating
shadow DOM for the current input type.
(WebCore::HTMLInputElement::updateType): Ditto.
(WebCore::HTMLInputElement::parseAttribute): Ditto.

* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot): Call updateInnerTextElementEditability.

* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::disabledStateChanged): Added to update contenteditable attribute since
the editability of the inner text element depends on disabled-ness of the element.
(WebCore::HTMLTextFormControlElement::readOnlyAttributeChanged): Ditto for the readonly-ness of the element.
(WebCore::HTMLTextFormControlElement::updateInnerTextElementEditability): Added.
* html/HTMLTextFormControlElement.h:

* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::adjustInnerTextStyle): Use the inner text element's presentationAttributeStyle() to
compute the appropriate EUserModify value instead of hard-coding it here.
* rendering/RenderTextControl.h:

LayoutTests:

Rebaselined tests as the user agent shadow DOM of input and textarea elements now have contenteditable attribute.

* editing/input/paste-text-ending-with-interchange-newline-expected.txt:
* editing/inserting/5607069-2-expected.txt:
* editing/inserting/5607069-3-expected.txt:
* editing/pasteboard/copy-image-with-alt-text-expected.txt:
* editing/pasteboard/copy-null-characters-expected.txt:
* editing/pasteboard/nested-blocks-with-text-area-expected.txt:
* editing/pasteboard/nested-blocks-with-text-field-expected.txt:
* editing/selection/dump-as-markup-expected.txt:
* editing/selection/dump-as-markup-form-text-expected.txt:
* fast/forms/suggested-value-after-setvalue-expected.txt:
* fast/forms/suggested-value-expected.txt:
* fast/parser/object-with-textarea-fallback-expected.txt:

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

5 years ago[GTK] Support WEBGL_draw_buffers extension.
changseok.oh@collabora.com [Sat, 22 Feb 2014 03:56:33 +0000 (03:56 +0000)]
[GTK] Support WEBGL_draw_buffers extension.
https://bugs.webkit.org/show_bug.cgi?id=129143

Reviewed by Dean Jackson.

Support the WEBGL_draw_buffers WebGL extension for gtk port. Relevant opengl APIs
are exposed for WebGLRenderingContext to access them properly.

Covered by fast/canvas/webgl/webgl-draw-buffers.html

* platform/graphics/OpenGLShims.cpp:
(WebCore::initializeOpenGLShims):
* platform/graphics/OpenGLShims.h:
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supportsExtension):
(WebCore::Extensions3DOpenGL::drawBuffersEXT):

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

5 years agoMac port uses ANGLE_instanced_arrays related apis through those in GraphicsContext3DC...
changseok.oh@collabora.com [Sat, 22 Feb 2014 03:53:53 +0000 (03:53 +0000)]
Mac port uses ANGLE_instanced_arrays related apis through those in GraphicsContext3DCommon.cpp
https://bugs.webkit.org/show_bug.cgi?id=128803

Reviewed by Dean Jackson.

Merge mac port implementation of ANGLE_instanced_arrays into common code.

No new tests, no functionality changed.

* platform/graphics/mac/GraphicsContext3DMac.mm:
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::drawArraysInstanced):
(WebCore::Extensions3DOpenGL::drawElementsInstanced):
(WebCore::Extensions3DOpenGL::vertexAttribDivisor):
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::vertexAttribDivisor):

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

5 years ago[iOS WebKit2] Keyboard appears every time a link is tapped after searching Google
enrica@apple.com [Sat, 22 Feb 2014 03:39:46 +0000 (03:39 +0000)]
[iOS WebKit2] Keyboard appears every time a link is tapped after searching Google
<rdar://problem/16072563>.

Reviewed by Benjamin Poulain.

We need to stop assisting the node if we have
navigated to a different page.

* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView _didCommitLoadForMainFrame]):

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

5 years agoMade WKWebView implement all WKContentViewDelegate methods.
mitz@apple.com [Sat, 22 Feb 2014 03:15:47 +0000 (03:15 +0000)]
Made WKWebView implement all WKContentViewDelegate methods.

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView takeViewSnapshotForContentView:]): Moved from WKViewIOS.mm.
* UIProcess/API/ios/WKContentView.h: Made all protocol methods required.
* UIProcess/API/ios/WKViewIOS.mm:
(-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): Removed code
to set self as the delegate on the content view.

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

5 years agoAfter copy and paste, cursor may appear to be above the bottom of content
mmaxfield@apple.com [Sat, 22 Feb 2014 03:14:13 +0000 (03:14 +0000)]
After copy and paste, cursor may appear to be above the bottom of content
https://bugs.webkit.org/show_bug.cgi?id=129167

Reviewed by Ryosuke Niwa.

Source/WebCore:

Adding a clear:both to the end of content.

I can't handle the case of the cursor appearing above the bottom of
absolutely positioned divs (of the case of floats inside absolutely
positioned divs) because you can't know where the bottom of a div
will end up being rendered (it is affected by things like browser
window width and text size settings). Therefore, the only case I
can handle is the case where there is a floating div in the same
level as the document itself.

Test: editing/pasteboard/copy-paste-inserts-clearing-div.html

* editing/EditingStyle.cpp:
(WebCore::EditingStyle::isFloating):
* editing/EditingStyle.h:
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
(WebCore::StyledMarkupAccumulator::appendElement):
(WebCore::createMarkupInternal):

LayoutTests:

Makes sure that the clearing div is inserted.

* editing/pasteboard/copy-paste-inserts-clearing-div-expected.txt: Added.
* editing/pasteboard/copy-paste-inserts-clearing-div.html: Added.

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

5 years agoUnreviewed build fix after r164505
bfulgham@apple.com [Sat, 22 Feb 2014 02:58:13 +0000 (02:58 +0000)]
Unreviewed build fix after r164505

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Update exports
definition for TreeScope::getElementById.

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

5 years ago[iOS Media] Wireless target UI
dino@apple.com [Sat, 22 Feb 2014 02:45:01 +0000 (02:45 +0000)]
[iOS Media] Wireless target UI
https://bugs.webkit.org/show_bug.cgi?id=129189
<rdar://problem/15349928>
<rdar://problem/16100060>

Reviewed by Eric Carlson.

Implement a prototype UI for wireless playback targets. The UI
doesn't currently work, but can be simulated via a class variable
in ControllerIOS.

* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-panel button): Reset the default style of
button elements, to avoid getting a border.
(audio::-webkit-media-controls-wireless-playback-status): Holds the UI showing
the user that the media is playing on another target.
(audio::-webkit-media-controls-wireless-playback-status.hidden):
(audio::-webkit-media-controls-wireless-playback-picker-button): The button to
trigger selection of targets.
(audio::-webkit-media-controls-wireless-playback-picker-button.active):
(audio::-webkit-media-controls-panel): This needs to be position absolute for
the wireless playback status to fill the viewport.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS): Check for targets.
(ControllerIOS.prototype.addVideoListeners):
(ControllerIOS.prototype.removeVideoListeners):
(ControllerIOS.prototype.UIString): New method to return localized strings (with
a FIXME).
(ControllerIOS.prototype.shouldHaveAnyUI): Needs to display if there is a wireless
target.
(ControllerIOS.prototype.currentPlaybackTargetIsWireless):
(ControllerIOS.prototype.updateWirelessPlaybackStatus): Create the status content,
replacing the device name if it is available.
(ControllerIOS.prototype.updateWirelessTargetAvailable):
(ControllerIOS.prototype.createControls):
(ControllerIOS.prototype.configureInlineControls):
(ControllerIOS.prototype.handleWirelessPlaybackChange):
(ControllerIOS.prototype.handleWirelessTargetAvailableChange):
(ControllerIOS.prototype.handleWirelessPickerButtonClicked):

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

5 years agoMove unported Web Inspector tests to LayoutTests/inspector-obsolete
bburg@apple.com [Sat, 22 Feb 2014 01:58:54 +0000 (01:58 +0000)]
Move unported Web Inspector tests to LayoutTests/inspector-obsolete
https://bugs.webkit.org/show_bug.cgi?id=129183

Rubber-stamped by Timothy Hatcher.

Move inspector/ to inspector-obsolete/.
Move http/tests/inspector/ to inspector-obsolete/http-tests/.
Fold http/tests/inspector-enabled/ into inspector-obsolete/http-tests/.

I have elided about 1100 lines of rename Changelog spew;
no filenames have been altered in this reorganization.

Remove mentions of obsolete tests from TestExpectations. Remove skips
for inspector-obsolete/ from port-specific expectations, and just
put it in the generic expectations file.

Remove inspector-protocol/heap-profiler tests, as they are obsolete.

* TestExpectations:
 * inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree-expected.txt: Removed.
* inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree.html: Removed.
* inspector-protocol/heap-profiler/heap-snapshot-with-event-listener-expected.txt: Removed.
* inspector-protocol/heap-profiler/heap-snapshot-with-event-listener.html: Removed.
* inspector-protocol/heap-profiler/resources/heap-snapshot-common.js: Removed.
* inspector-protocol/heap-profiler/resources/page-with-function.html: Removed.
* inspector-protocol/heap-profiler/take-heap-snapshot-expected.txt: Removed.
* inspector-protocol/heap-profiler/take-heap-snapshot.html: Removed.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
* platform/win-xp/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wk2/TestExpectations:

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

5 years ago<rdar://problem/16073882> Please add _AbandonCoalition key to plugin XPC service...
weinig@apple.com [Sat, 22 Feb 2014 01:03:51 +0000 (01:03 +0000)]
<rdar://problem/16073882> Please add _AbandonCoalition key to plugin XPC service Info.plist

Anders Carlsson.

* PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
* PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:

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

5 years ago[Mac] Cache callbacks for cache partitioning may be passed null
jpfau@apple.com [Sat, 22 Feb 2014 00:31:23 +0000 (00:31 +0000)]
[Mac] Cache callbacks for cache partitioning may be passed null
https://bugs.webkit.org/show_bug.cgi?id=129175

Reviewed by Brady Eidson.

Source/WebKit2:

* WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
(WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):

WebKitLibraries:

* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceMavericks.a:
* libWebKitSystemInterfaceMountainLion.a:

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

5 years agoWeb Inspector: remove old inspector tests that cannot be ported
bburg@apple.com [Sat, 22 Feb 2014 00:28:49 +0000 (00:28 +0000)]
Web Inspector: remove old inspector tests that cannot be ported
https://bugs.webkit.org/show_bug.cgi?id=129168

Reviewed by Timothy Hatcher.

Remove many tests that were specific to the old inspector user interface.
These cannot be ported either because they were specific to the UI, or
they test features that no longer exist in the Web Inspector.

* inspector/audits/audits-panel-functional-expected.txt: Removed.
* inspector/audits/audits-panel-functional.html: Removed.
* inspector/audits/audits-panel-noimages-functional-expected.txt: Removed.
* inspector/audits/audits-panel-noimages-functional.html: Removed.
* inspector/audits/audits-test.js: Removed.
* inspector/audits/resources/audits-script1.js: Removed.
* inspector/audits/resources/audits-script2.js: Removed.
* inspector/audits/resources/audits-style1.css: Removed.
* inspector/console/command-line-api-getEventListeners-expected.txt: Removed.
* inspector/console/command-line-api-getEventListeners.html: Removed.
* inspector/console/console-big-array-expected.txt: Removed.
* inspector/console/console-big-array.html: Removed.
* inspector/console/console-clear-expected.txt: Removed.
* inspector/console/console-clear.html: Removed.
* inspector/console/console-dirxml-expected.txt: Removed.
* inspector/console/console-dirxml.html: Removed.
* inspector/console/console-filter-test-expected.txt: Removed.
* inspector/console/console-filter-test.html: Removed.
* inspector/console/console-format-collections-expected.txt: Removed.
* inspector/console/console-format-collections.html: Removed.
* inspector/console/console-format-expected.txt: Removed.
* inspector/console/console-format-style-expected.txt: Removed.
* inspector/console/console-format-style-whitelist-expected.txt: Removed.
* inspector/console/console-format-style-whitelist.html: Removed.
* inspector/console/console-format-style.html: Removed.
* inspector/console/console-format-table-expected.txt: Removed.
* inspector/console/console-format-table.html: Removed.
* inspector/console/console-format.html: Removed.
* inspector/console/console-trim-long-urls-expected.txt: Removed.
* inspector/console/console-trim-long-urls.html: Removed.
* inspector/cookie-parser-expected.txt: Removed.
* inspector/cookie-parser.html: Removed.
* inspector/cookie-resource-match-expected.txt: Removed.
* inspector/cookie-resource-match.html: Removed.
* inspector/curl-command-expected.txt: Removed.
* inspector/curl-command.html: Removed.
* inspector/database-table-name-excaping-expected.txt: Removed.
* inspector/database-table-name-excaping.html: Removed.
* inspector/datagrid-autosize-expected.txt: Removed.
* inspector/datagrid-autosize.html: Removed.
* inspector/debugger/breakpoint-manager-listeners-count-expected.txt: Removed.
* inspector/debugger/breakpoint-manager-listeners-count.html: Removed.
* inspector/debugger/callstack-placards-discarded-expected.txt: Removed.
* inspector/debugger/callstack-placards-discarded.html: Removed.
* inspector/debugger/content-providers-expected.txt: Removed.
* inspector/debugger/content-providers.html: Removed.
* inspector/debugger/debug-inlined-scripts-expected.txt: Removed.
* inspector/debugger/debug-inlined-scripts.html-disabled: Removed.
* inspector/debugger/debugger-expand-scope-expected.txt: Removed.
* inspector/debugger/debugger-expand-scope.html: Removed.
* inspector/debugger/debugger-proto-property-expected.txt: Removed.
* inspector/debugger/debugger-proto-property.html: Removed.
* inspector/debugger/debugger-script-preprocessor-expected.txt: Removed.
* inspector/debugger/debugger-script-preprocessor.html: Removed.
* inspector/debugger/debugger-step-into-event-listener-expected.txt: Removed.
* inspector/debugger/debugger-step-into-event-listener.html: Removed.
* inspector/debugger/disable-script-expected.txt: Removed.
* inspector/debugger/disable-script.html: Removed.
* inspector/debugger/dom-breakpoints-expected.txt: Removed.
* inspector/debugger/dom-breakpoints.html: Removed.
* inspector/debugger/dynamic-script-tag-expected.txt: Removed.
* inspector/debugger/dynamic-script-tag.html: Removed.
* inspector/debugger/dynamic-scripts-expected.txt: Removed.
* inspector/debugger/dynamic-scripts.html: Removed.
* inspector/debugger/error-in-watch-expressions-expected.txt: Removed.
* inspector/debugger/error-in-watch-expressions.html: Removed.
* inspector/debugger/event-listener-breakpoints-expected.txt: Removed.
* inspector/debugger/event-listener-breakpoints.html: Removed.
* inspector/debugger/file-system-project-mapping-expected.txt: Removed.
* inspector/debugger/file-system-project-mapping.html: Removed.
* inspector/debugger/linkifier-expected.txt: Removed.
* inspector/debugger/linkifier.html: Removed.
* inspector/debugger/live-edit-breakpoints-expected.txt: Removed.
* inspector/debugger/live-edit-breakpoints.html: Removed.
* inspector/debugger/live-edit-expected.txt: Removed.
* inspector/debugger/live-edit.html: Removed.
* inspector/debugger/mutation-observer-suspend-while-paused-expected.txt: Removed.
* inspector/debugger/mutation-observer-suspend-while-paused.html: Removed.
* inspector/debugger/navigator-view-expected.txt: Removed.
* inspector/debugger/navigator-view.html: Removed.
* inspector/debugger/network-uisourcecode-provider-expected.txt: Removed.
* inspector/debugger/network-uisourcecode-provider.html: Removed.
* inspector/debugger/properties-special-expected.txt: Removed.
* inspector/debugger/properties-special.html: Removed.
* inspector/debugger/resource-script-mapping-expected.txt: Removed.
* inspector/debugger/resource-script-mapping.html: Removed.
* inspector/debugger/reveal-execution-line-expected.txt: Removed.
* inspector/debugger/reveal-execution-line.html: Removed.
* inspector/debugger/script-extract-outline-expected.txt: Removed.
* inspector/debugger/script-extract-outline.html: Removed.
* inspector/debugger/script-formatter-breakpoints-expected.txt: Removed.
* inspector/debugger/script-formatter-breakpoints.html: Removed.
* inspector/debugger/script-formatter-console-expected.txt: Removed.
* inspector/debugger/script-formatter-console.html: Removed.
* inspector/debugger/script-snippet-model-expected.txt: Removed.
* inspector/debugger/script-snippet-model.html: Removed.
* inspector/debugger/scripts-panel-expected.txt: Removed.
* inspector/debugger/scripts-panel.html: Removed.
* inspector/debugger/scripts-sorting-expected.txt: Removed.
* inspector/debugger/scripts-sorting.html: Removed.
* inspector/debugger/selected-call-frame-after-formatting-source-expected.txt: Removed.
* inspector/debugger/selected-call-frame-after-formatting-source.html: Removed.
* inspector/debugger/set-breakpoint-expected.txt: Removed.
* inspector/debugger/set-breakpoint.html: Removed.
* inspector/debugger/source-frame-count-expected.txt: Removed.
* inspector/debugger/source-frame-count.html: Removed.
* inspector/debugger/source-frame-expected.txt: Removed.
* inspector/debugger/source-frame.html: Removed.
* inspector/debugger/step-through-event-listeners-expected.txt: Removed.
* inspector/debugger/step-through-event-listeners.html: Removed.
* inspector/debugger/ui-source-code-display-name-expected.txt: Removed.
* inspector/debugger/ui-source-code-display-name.html: Removed.
* inspector/debugger/ui-source-code-expected.txt: Removed.
* inspector/debugger/ui-source-code.html: Removed.
* inspector/debugger/watch-expressions-panel-switch-expected.txt: Removed.
* inspector/debugger/watch-expressions-panel-switch.html: Removed.
* inspector/debugger/watch-expressions-preserve-expansion-expected.txt: Removed.
* inspector/debugger/watch-expressions-preserve-expansion.html: Removed.
* inspector/debugger/xhr-breakpoints-expected.txt: Removed.
* inspector/debugger/xhr-breakpoints.html: Removed.
* inspector/dom-statistics-expected.txt: Removed.
* inspector/dom-statistics.html-disabled: Removed.
* inspector/editor/brace-matcher-expected.txt: Removed.
* inspector/editor/brace-matcher.html: Removed.
* inspector/editor/editor-test.js: Removed.
* inspector/editor/highlighter-basics-expected.txt: Removed.
* inspector/editor/highlighter-basics.html: Removed.
* inspector/editor/highlighter-chunk-limit-expected.txt: Removed.
* inspector/editor/highlighter-chunk-limit.html: Removed.
* inspector/editor/highlighter-long-line-expected.txt: Removed.
* inspector/editor/highlighter-long-line.html: Removed.
* inspector/editor/highlighter-paste-in-comment-expected.txt: Removed.
* inspector/editor/highlighter-paste-in-comment.html: Removed.
* inspector/editor/highlighter-test.js: Removed.
* inspector/editor/indentation-expected.txt: Removed.
* inspector/editor/indentation.html: Removed.
* inspector/editor/text-editor-brace-highlighter-expected.txt: Removed.
* inspector/editor/text-editor-brace-highlighter.html: Removed.
* inspector/editor/text-editor-char-to-coordinates-expected.txt: Removed.
* inspector/editor/text-editor-char-to-coordinates.html: Removed.
* inspector/editor/text-editor-formatter-expected.txt: Removed.
* inspector/editor/text-editor-formatter.html: Removed.
* inspector/editor/text-editor-highlight-api-expected.txt: Removed.
* inspector/editor/text-editor-highlight-api.html: Removed.
* inspector/editor/text-editor-highlight-token-expected.txt: Removed.
* inspector/editor/text-editor-highlight-token.html: Removed.
* inspector/editor/text-editor-home-button-expected.txt: Removed.
* inspector/editor/text-editor-home-button.html: Removed.
* inspector/editor/text-editor-line-breaks-expected.txt: Removed.
* inspector/editor/text-editor-line-breaks.html: Removed.
* inspector/editor/text-editor-long-line-expected.txt: Removed.
* inspector/editor/text-editor-long-line.html: Removed.
* inspector/editor/text-editor-model-expected.txt: Removed.
* inspector/editor/text-editor-model.html: Removed.
* inspector/editor/text-editor-remove-chunks-from-dom-expected.txt: Removed.
* inspector/editor/text-editor-remove-chunks-from-dom.html: Removed.
* inspector/editor/text-editor-selection-expected.txt: Removed.
* inspector/editor/text-editor-selection-to-search-expected.txt: Removed.
* inspector/editor/text-editor-selection-to-search.html: Removed.
* inspector/editor/text-editor-selection.html: Removed.
* inspector/editor/text-editor-show-whitespace-expected.txt: Removed.
* inspector/editor/text-editor-show-whitespace.html: Removed.
* inspector/editor/text-editor-smart-braces-expected.txt: Removed.
* inspector/editor/text-editor-smart-braces.html: Removed.
* inspector/editor/text-editor-token-at-position-expected.txt: Removed.
* inspector/editor/text-editor-token-at-position.html: Removed.
* inspector/editor/text-editor-type-over-decoration-expected.txt: Removed.
* inspector/editor/text-editor-type-over-decoration.html: Removed.
* inspector/editor/text-editor-undo-redo-expected.txt: Removed.
* inspector/editor/text-editor-undo-redo.html: Removed.
* inspector/editor/text-editor-word-jumps-expected.txt: Removed.
* inspector/editor/text-editor-word-jumps.html: Removed.
* inspector/elements/breadcrumb-updates-expected.txt: Removed.
* inspector/elements/breadcrumb-updates.html: Removed.
* inspector/elements/delete-from-document-expected.txt: Removed.
* inspector/elements/delete-from-document.html: Removed.
* inspector/elements/edit-dom-actions-expected.txt: Removed.
* inspector/elements/edit-dom-actions.html: Removed.
* inspector/elements/elements-delete-inline-style-expected.txt: Removed.
* inspector/elements/elements-delete-inline-style.html: Removed.
* inspector/elements/elements-img-tooltip-expected.txt: Removed.
* inspector/elements/elements-img-tooltip.html: Removed.
* inspector/elements/elements-inspect-iframe-from-different-domain-expected.txt: Removed.
* inspector/elements/elements-inspect-iframe-from-different-domain.html: Removed.
* inspector/elements/elements-panel-limited-children-expected.txt: Removed.
* inspector/elements/elements-panel-limited-children.html: Removed.
* inspector/elements/elements-panel-rewrite-href-expected.txt: Removed.
* inspector/elements/elements-panel-rewrite-href.html: Removed.
* inspector/elements/elements-panel-selection-on-refresh-expected.txt: Removed.
* inspector/elements/elements-panel-selection-on-refresh.html: Removed.
* inspector/elements/elements-panel-structure-expected.txt: Removed.
* inspector/elements/elements-panel-structure.html: Removed.
* inspector/elements/elements-panel-xhtml-structure-expected.txt: Removed.
* inspector/elements/elements-panel-xhtml-structure.xhtml-disabled: Removed.
* inspector/elements/event-listener-sidebar-expected.txt: Removed.
* inspector/elements/event-listener-sidebar.html: Removed.
* inspector/elements/event-listeners-about-blank-expected.txt: Removed.
* inspector/elements/event-listeners-about-blank.html: Removed.
* inspector/elements/expand-recursively-expected.txt: Removed.
* inspector/elements/expand-recursively.html: Removed.
* inspector/elements/hide-shortcut-expected.txt: Removed.
* inspector/elements/hide-shortcut.html: Removed.
* inspector/elements/iframe-load-event-expected.txt: Removed.
* inspector/elements/iframe-load-event.html: Removed.
* inspector/elements/insert-node-collapsed-expected.txt: Removed.
* inspector/elements/insert-node-collapsed.html: Removed.
* inspector/elements/insert-node-expected.txt: Removed.
* inspector/elements/insert-node.html: Removed.
* inspector/elements/modify-chardata-expected.txt: Removed.
* inspector/elements/modify-chardata.html: Removed.
* inspector/elements/move-node-expected.txt: Removed.
* inspector/elements/move-node.html: Removed.
* inspector/elements/node-xpath-expected.txt: Removed.
* inspector/elements/node-xpath.xhtml: Removed.
* inspector/elements/remove-node-expected.txt: Removed.
* inspector/elements/remove-node.html: Removed.
* inspector/elements/resources/iframe-load-event-iframe-1.html: Removed.
* inspector/elements/resources/iframe-load-event-iframe-2.html: Removed.
* inspector/elements/resources/iframe-load-event-iframe.js: Removed.
* inspector/elements/resources/user-properties.js: Removed.
* inspector/elements/set-html-via-resource-expected.txt: Removed.
* inspector/elements/shadow-dom-modify-chardata-expected.txt: Removed.
* inspector/elements/shadow-dom-modify-chardata.html: Removed.
* inspector/elements/shadow-root-expected.txt: Removed.
* inspector/elements/shadow-root.html: Removed.
* inspector/elements/undo-dom-edits-2-expected.txt: Removed.
* inspector/elements/undo-dom-edits-2.html: Removed.
* inspector/elements/undo-dom-edits-expected.txt: Removed.
* inspector/elements/undo-dom-edits.html: Removed.
* inspector/elements/update-shadowdom-expected.txt: Removed.
* inspector/elements/update-shadowdom.html: Removed.
* inspector/elements/user-properties-expected.txt: Removed.
* inspector/elements/user-properties.html: Removed.
* inspector/evaluate-in-page-expected.txt: Removed.
* inspector/evaluate-in-page.html: Removed.
* inspector/extensions/extensions-api-expected.txt: Removed.
* inspector/extensions/extensions-api.html: Removed.
* inspector/extensions/extensions-audits-api-expected.txt: Removed.
* inspector/extensions/extensions-audits-api.html: Removed.
* inspector/extensions/extensions-audits-content-script-expected.txt: Removed.
* inspector/extensions/extensions-audits-content-script.html: Removed.
* inspector/extensions/extensions-audits-expected.txt: Removed.
* inspector/extensions/extensions-audits-tests.js: Removed.
* inspector/extensions/extensions-audits.html: Removed.
* inspector/extensions/extensions-console-expected.txt: Removed.
* inspector/extensions/extensions-console.html: Removed.
* inspector/extensions/extensions-eval-content-script-expected.txt: Removed.
* inspector/extensions/extensions-eval-content-script.html: Removed.
* inspector/extensions/extensions-eval-expected.txt: Removed.
* inspector/extensions/extensions-eval.html: Removed.
* inspector/extensions/extensions-events-expected.txt: Removed.
* inspector/extensions/extensions-events.html: Removed.
* inspector/extensions/extensions-network-expected.txt: Removed.
* inspector/extensions/extensions-network.html: Removed.
* inspector/extensions/extensions-panel-expected.txt: Removed.
* inspector/extensions/extensions-panel.html: Removed.
* inspector/extensions/extensions-reload-expected.txt: Removed.
* inspector/extensions/extensions-reload.html: Removed.
* inspector/extensions/extensions-resources-expected.txt: Removed.
* inspector/extensions/extensions-resources.html: Removed.
* inspector/extensions/extensions-sidebar-expected.txt: Removed.
* inspector/extensions/extensions-sidebar.html: Removed.
* inspector/extensions/resources/abe.png: Removed.
* inspector/extensions/resources/audits-style1.css: Removed.
* inspector/extensions/resources/test-script.js: Removed.
* inspector/file-mapping-expected.txt: Removed.
* inspector/file-mapping.html: Removed.
* inspector/file-system-mapping-expected.txt: Removed.
* inspector/file-system-mapping.html: Removed.
* inspector/file-system-project-expected.txt: Removed.
* inspector/file-system-project.html: Removed.
* inspector/filtered-item-selection-dialog-filtering-expected.txt: Removed.
* inspector/filtered-item-selection-dialog-filtering.html: Removed.
* inspector/inspector-backend-commands-generation-expected.txt: Removed.
* inspector/inspector-backend-commands-generation.html: Removed.
* inspector/map-expected.txt: Removed.
* inspector/map.html: Removed.
* inspector/network-status-non-http-expected.txt: Removed.
* inspector/network-status-non-http.html: Removed.
* inspector/profiler/canvas-profiler-test.js: Removed.
* inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases-expected.txt: Removed.
* inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases.html: Removed.
* inspector/profiler/canvas2d/canvas-replay-log-grid-expected.txt: Removed.
* inspector/profiler/canvas2d/canvas-replay-log-grid.html: Removed.
* inspector/profiler/canvas2d/canvas-stack-trace-expected.txt: Removed.
* inspector/profiler/canvas2d/canvas-stack-trace.html: Removed.
* inspector/profiler/canvas2d/canvas2d-api-changes-expected.txt: Removed.
* inspector/profiler/canvas2d/canvas2d-api-changes.html: Removed.
* inspector/profiler/canvas2d/canvas2d-gradient-capturing-expected.txt: Removed.
* inspector/profiler/canvas2d/canvas2d-gradient-capturing.html: Removed.
* inspector/profiler/canvas2d/canvas2d-profiler-capturing-basics-expected.txt: Removed.
* inspector/profiler/canvas2d/canvas2d-profiler-capturing-basics.html: Removed.
* inspector/profiler/heap-snapshot-comparison-dom-groups-change-expected.txt: Removed.
* inspector/profiler/heap-snapshot-comparison-dom-groups-change.html: Removed.
* inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting-expected.txt: Removed.
* inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html: Removed.
* inspector/profiler/heap-snapshot-comparison-show-all-expected.txt: Removed.
* inspector/profiler/heap-snapshot-comparison-show-all.html: Removed.
* inspector/profiler/heap-snapshot-comparison-show-next-expected.txt: Removed.
* inspector/profiler/heap-snapshot-comparison-show-next.html: Removed.
* inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting-expected.txt: Removed.
* inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html: Removed.
* inspector/profiler/heap-snapshot-comparison-sorting-expected.txt: Removed.
* inspector/profiler/heap-snapshot-comparison-sorting.html: Removed.
* inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting-expected.txt: Removed.
* inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html: Removed.
* inspector/profiler/heap-snapshot-containment-show-all-expected.txt: Removed.
* inspector/profiler/heap-snapshot-containment-show-all.html: Removed.
* inspector/profiler/heap-snapshot-containment-show-next-expected.txt: Removed.
* inspector/profiler/heap-snapshot-containment-show-next.html: Removed.
* inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting-expected.txt: Removed.
* inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html: Removed.
* inspector/profiler/heap-snapshot-containment-sorting-expected.txt: Removed.
* inspector/profiler/heap-snapshot-containment-sorting.html: Removed.
* inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting-expected.txt: Removed.
* inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html: Removed.
* inspector/profiler/heap-snapshot-dominators-show-all-expected.txt: Removed.
* inspector/profiler/heap-snapshot-dominators-show-all.html: Removed.
* inspector/profiler/heap-snapshot-dominators-show-next-actual.txt: Removed.
* inspector/profiler/heap-snapshot-dominators-show-next-expected.txt: Removed.
* inspector/profiler/heap-snapshot-dominators-show-next.html: Removed.
* inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting-expected.txt: Removed.
* inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html: Removed.
* inspector/profiler/heap-snapshot-dominators-sorting-expected.txt: Removed.
* inspector/profiler/heap-snapshot-dominators-sorting.html: Removed.
* inspector/profiler/heap-snapshot-expected.txt: Removed.
* inspector/profiler/heap-snapshot-get-profile-crash-expected.txt: Removed.
* inspector/profiler/heap-snapshot-get-profile-crash.html: Removed.
* inspector/profiler/heap-snapshot-inspect-dom-wrapper-expected.txt: Removed.
* inspector/profiler/heap-snapshot-inspect-dom-wrapper.html: Removed.
* inspector/profiler/heap-snapshot-loader-expected.txt: Removed.
* inspector/profiler/heap-snapshot-loader.html: Removed.
* inspector/profiler/heap-snapshot-reveal-in-dominators-view-expected.txt: Removed.
* inspector/profiler/heap-snapshot-reveal-in-dominators-view.html: Removed.
* inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting-expected.txt: Removed.
* inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html: Removed.
* inspector/profiler/heap-snapshot-summary-retainers-expected.txt: Removed.
* inspector/profiler/heap-snapshot-summary-retainers.html: Removed.
* inspector/profiler/heap-snapshot-summary-show-all-expected.txt: Removed.
* inspector/profiler/heap-snapshot-summary-show-all.html: Removed.
* inspector/profiler/heap-snapshot-summary-show-next-expected.txt: Removed.
* inspector/profiler/heap-snapshot-summary-show-next.html: Removed.
* inspector/profiler/heap-snapshot-summary-show-ranges-expected.txt: Removed.
* inspector/profiler/heap-snapshot-summary-show-ranges.html: Removed.
* inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting-expected.txt: Removed.
* inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html: Removed.
* inspector/profiler/heap-snapshot-summary-sorting-expected.txt: Removed.
* inspector/profiler/heap-snapshot-summary-sorting-fields-expected.txt: Removed.
* inspector/profiler/heap-snapshot-summary-sorting-fields.html: Removed.
* inspector/profiler/heap-snapshot-summary-sorting-instances-expected.txt: Removed.
* inspector/profiler/heap-snapshot-summary-sorting-instances.html: Removed.
* inspector/profiler/heap-snapshot-summary-sorting.html: Removed.
* inspector/profiler/heap-snapshot-test.js: Removed.
* inspector/profiler/heap-snapshot.html: Removed.
* inspector/profiler/resources/image.jpeg: Removed.
* inspector/profiler/selector-profiler-url-expected.txt: Removed.
* inspector/profiler/selector-profiler-url.html: Removed.
* inspector/profiler/webgl/webgl-profiler-api-changes-expected.txt: Removed.
* inspector/profiler/webgl/webgl-profiler-api-changes.html: Removed.
* inspector/profiler/webgl/webgl-profiler-get-error-expected.txt: Removed.
* inspector/profiler/webgl/webgl-profiler-get-error.html: Removed.
* inspector/progress-bar-expected.txt: Removed.
* inspector/progress-bar.html: Removed.
* inspector/snippet-storage-expected.txt: Removed.
* inspector/snippet-storage.html: Removed.
* inspector/styles/commit-selector-expected.txt: Removed.
* inspector/styles/commit-selector.html: Removed.
* inspector/styles/css-live-edit-expected.txt: Removed.
* inspector/styles/css-live-edit.html: Removed.
* inspector/styles/edit-inspector-stylesheet-expected.txt: Removed.
* inspector/styles/edit-inspector-stylesheet.html: Removed.
* inspector/styles/edit-value-with-trimmed-url-expected.txt: Removed.
* inspector/styles/edit-value-with-trimmed-url.html: Removed.
* inspector/styles/force-pseudo-state-expected.txt: Removed.
* inspector/styles/force-pseudo-state.html: Removed.
* inspector/styles/inactive-properties-expected.txt: Removed.
* inspector/styles/inactive-properties.html: Removed.
* inspector/styles/lazy-computed-style-expected.txt: Removed.
* inspector/styles/lazy-computed-style.html: Removed.
* inspector/styles/media-emulation-expected.txt: Removed.
* inspector/styles/media-emulation.html: Removed.
* inspector/styles/media-queries-expected.txt: Removed.
* inspector/styles/media-queries.html: Removed.
* inspector/styles/metrics-box-sizing-expected.txt: Removed.
* inspector/styles/metrics-box-sizing.html: Removed.
* inspector/styles/paste-property-expected.txt: Removed.
* inspector/styles/paste-property.html: Removed.
* inspector/styles/perform-undo-perform-of-mergable-action-expected.txt: Removed.
* inspector/styles/perform-undo-perform-of-mergable-action.html: Removed.
* inspector/styles/protocol-css-regions-commands-expected.txt: Removed.
* inspector/styles/protocol-css-regions-commands.html: Removed.
* inspector/styles/selector-line-expected.txt: Removed.
* inspector/styles/selector-line.html: Removed.
* inspector/styles/show-user-agent-styles-expected.txt: Removed.
* inspector/styles/show-user-agent-styles.html: Removed.
* inspector/styles/styles-add-new-rule-expected.txt: Removed.
* inspector/styles/styles-add-new-rule.html: Removed.
* inspector/styles/styles-cancel-editing-expected.txt: Removed.
* inspector/styles/styles-cancel-editing.html: Removed.
* inspector/styles/styles-change-node-while-editing-expected.txt: Removed.
* inspector/styles/styles-change-node-while-editing.html: Removed.
* inspector/styles/styles-commit-editing-expected.txt: Removed.
* inspector/styles/styles-commit-editing.html: Removed.
* inspector/styles/styles-edit-property-after-invalid-rule-expected.txt: Removed.
* inspector/styles/styles-edit-property-after-invalid-rule.html: Removed.
* inspector/styles/styles-update-from-js-expected.txt: Removed.
* inspector/styles/styles-update-from-js.html: Removed.
* inspector/styles/styles-url-linkify-expected.txt: Removed.
* inspector/styles/styles-url-linkify.html: Removed.
* inspector/styles/svg-style-expected.txt: Removed.
* inspector/styles/svg-style.xhtml: Removed.
* inspector/styles/up-down-numerics-and-colors-expected.txt: Removed.
* inspector/styles/up-down-numerics-and-colors.html: Removed.
* inspector/styles/updates-during-dom-traversal-expected.txt: Removed.
* inspector/styles/updates-during-dom-traversal.html: Removed.
* inspector/styles/updates-throttled-expected.txt: Removed.
* inspector/styles/updates-throttled.html: Removed.
* inspector/styles/url-color-swatch-expected.txt: Removed.
* inspector/styles/url-color-swatch.html: Removed.
* inspector/styles/variables/css-variables-expected.txt: Removed.
* inspector/styles/variables/css-variables.html: Removed.
* inspector/styles/vendor-prefixes-expected.txt: Removed.
* inspector/styles/vendor-prefixes.html: Removed.
* inspector/syntax-highlight-css-expected.txt: Removed.
* inspector/syntax-highlight-css.html: Removed.
* inspector/syntax-highlight-html-expected.txt: Removed.
* inspector/syntax-highlight-html.html: Removed.
* inspector/syntax-highlight-javascript-expected.txt: Removed.
* inspector/syntax-highlight-javascript.html: Removed.
* inspector/syntax-highlight.js: Removed.
* inspector/tabbed-editors-history-expected.txt: Removed.
* inspector/tabbed-editors-history.html: Removed.
* inspector/tabbed-pane-max-tab-width-calculation-expected.txt: Removed.
* inspector/tabbed-pane-max-tab-width-calculation.html: Removed.
* inspector/tabbed-pane-tabs-to-show-expected.txt: Removed.
* inspector/tabbed-pane-tabs-to-show.html: Removed.
* inspector/timeline-dfs-expected.txt: Removed.
* inspector/timeline-dfs.html: Removed.
* inspector/timeline/timeline-coalescing-expected.txt: Removed.
* inspector/timeline/timeline-coalescing.html: Removed.
* inspector/timeline/timeline-enum-stability-expected.txt: Removed.
* inspector/timeline/timeline-enum-stability.html: Removed.
* inspector/uisourcecode-revisions-expected.txt: Removed.
* inspector/uisourcecode-revisions.html: Removed.
* inspector/user-metrics-expected.txt: Removed.
* inspector/user-metrics.html: Removed.
* inspector/utilities-highlight-results-expected.txt: Removed.
* inspector/utilities-highlight-results.html: Removed.
* inspector/version-controller-expected.txt: Removed.
* inspector/version-controller.html: Removed.
* inspector/view-css-expected.txt: Removed.
* inspector/view-css.html: Removed.
* inspector/view-events-expected.txt: Removed.
* inspector/view-events.html: Removed.
* inspector/workspace-mapping-expected.txt: Removed.
* inspector/workspace-mapping.html: Removed.

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

5 years agoMake a generic CDMPrivateMediaPlayer and move its CDMSession into platform/.
jer.noble@apple.com [Sat, 22 Feb 2014 00:13:01 +0000 (00:13 +0000)]
Make a generic CDMPrivateMediaPlayer and move its CDMSession into platform/.
https://bugs.webkit.org/show_bug.cgi?id=129164

Reviewed by Eric Carlson.

Move the session created by CDMPrivateAVFoundation into platform, and rename
CDMPrivateAVFoundation to CDMPrivateMediaPlayer. Future media engines who want
to support a keysystem from within the media engine can create their own
CDMSession as part of the MediaPlayerPrivate interface.

* Modules/encryptedmedia/CDM.cpp:
(WebCore::installedCDMFactories):
(WebCore::CDM::createSession):
* Modules/encryptedmedia/CDM.h:
* Modules/encryptedmedia/CDMPrivate.h:
* Modules/encryptedmedia/MediaKeySession.cpp:
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/encryptedmedia/CDMPrivateAVFoundation.mm: Removed.
* Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.cpp.
(WebCore::CDMPrivateMediaPlayer::supportsKeySystem):
(WebCore::CDMPrivateMediaPlayer::supportsKeySystemAndMimeType):
(WebCore::CDMPrivateMediaPlayer::supportsMIMEType):
(WebCore::CDMPrivateMediaPlayer::createSession):
* Modules/encryptedmedia/CDMPrivateMediaPlayer.h: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.h.
(WebCore::CDMPrivateMediaPlayer::create):
(WebCore::CDMPrivateMediaPlayer::~CDMPrivateMediaPlayer):
(WebCore::CDMPrivateMediaPlayer::cdm):
(WebCore::CDMPrivateMediaPlayer::CDMPrivateMediaPlayer):
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/CDMSession.h: Extracted from CDMPrivateAVFoundation.h.
(WebCore::CDMSessionClient::~CDMSessionClient):
(WebCore::CDMSession::CDMSession):
(WebCore::CDMSession::~CDMSession):
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::createSession):
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::createSession):
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.h.
(WebCore::CDMSessionAVFoundationObjC::~CDMSessionAVFoundationObjC):
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.mm.
(WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC):
(WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):
(WebCore::CDMSessionAVFoundationObjC::releaseKeys):
(WebCore::CDMSessionAVFoundationObjC::update):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createSession):
* testing/MockCDM.cpp:
(WebCore::MockCDMSession::setClient):
(WebCore::MockCDM::createSession):
* testing/MockCDM.h:

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

5 years agoAdd a supportsKeySystem media engine factory parameter.
jer.noble@apple.com [Sat, 22 Feb 2014 00:12:51 +0000 (00:12 +0000)]
Add a supportsKeySystem media engine factory parameter.
https://bugs.webkit.org/show_bug.cgi?id=129161

Reviewed by Eric Carlson.

Add a new parameter to the MediaPlayerFactory to allow registered media
engines to be queried for keySystem support:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayerFactory::MediaPlayerFactory):
(WebCore::MediaPlayer::supportsKeySystem):
* platform/graphics/MediaPlayer.h:

Support this new field in MediaPlayerPrivateAVFoundationObjC:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine):
(WebCore::keySystemIsSupported):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):

Add an empty field for SupportsKeySystem to the remaining media engines:
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::registerMediaEngine):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):
* platform/graphics/ios/MediaPlayerPrivateIOS.mm:
(WebCore::MediaPlayerPrivateIOS::registerMediaEngine):
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::registerMediaEngine):
* platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::MockMediaPlayerMediaSource::registerMediaEngine):

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

5 years agoWeb Inspector: Replace binarySearch with lowerBound and upperBound functions
commit-queue@webkit.org [Sat, 22 Feb 2014 00:10:53 +0000 (00:10 +0000)]
Web Inspector: Replace binarySearch with lowerBound and upperBound functions
https://bugs.webkit.org/show_bug.cgi?id=118609

Patch by Chi Wai Lau <clau@apple.com> on 2014-02-21
Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

This makes insertionIndexForObjectInListSortedByFunction work in O(log(n)) time instead of O(n).

* UserInterface/BinarySearch.js: Removed.
* UserInterface/Main.html:
* UserInterface/Utilities.js:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

LayoutTests:

* inspector/utilities-expected.txt:
* inspector/utilities.html:

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

5 years ago[Win] fast/table/col-and-colgroup-offsets.html - offsetHeight differs from Mac results
dbates@webkit.org [Sat, 22 Feb 2014 00:05:25 +0000 (00:05 +0000)]
[Win] fast/table/col-and-colgroup-offsets.html - offsetHeight differs from Mac results
https://bugs.webkit.org/show_bug.cgi?id=129179

The test col-and-colgroup-offsets.html is failing on the Apple Win Debug (Tests) bot due
to platform-specific numeric differences in the computed offsetHeight of the table cells.
For now, I am landing Windows-specific expected results as the behavior tested by the test
is correct despite the numerical differences. I'll further investigate the Window-specific
difference in <https://bugs.webkit.org/show_bug.cgi?id=129179>.

* platform/win/fast/table/col-and-colgroup-offsets-expected.txt: Added.

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

5 years agoWeb Inspector: animate breakpoint tree elements when probe samples are received
bburg@apple.com [Sat, 22 Feb 2014 00:01:45 +0000 (00:01 +0000)]
Web Inspector: animate breakpoint tree elements when probe samples are received
https://bugs.webkit.org/show_bug.cgi?id=128334

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

* UserInterface/BreakpointIcons.css: Removed, rules migrated to the following file.

* UserInterface/BreakpointTreeElement.css: When we want to animateon top of the
static icon, we set the icon image as the icon element's background, and animate
a span on top of the icon element.

(.breakpoint-exception-icon .icon): Moved.
(.breakpoint-generic-line-icon .icon):
(.breakpoint-generic-line-icon .icon > span): Added.
(.data-updated.breakpoint-generic-line-icon .icon > span): Added.

* UserInterface/BreakpointTreeElement.js:
(WebInspector.BreakpointTreeElement): Rewrite event listener add/remove to use EventListenerSet.
(WebInspector.BreakpointTreeElement.prototype.ondetach): Override to unregister the instance's listeners.
(WebInspector.BreakpointTreeElement.prototype._addProbeSet): Added.
(WebInspector.BreakpointTreeElement.prototype._removeProbeSet): Added.
(WebInspector.BreakpointTreeElement.prototype._probeSetAdded): Added.
(WebInspector.BreakpointTreeElement.prototype._probeSetRemoved): Added.
Add/remove listeners when probe sets change.

(WebInspector.BreakpointTreeElement.prototype._samplesCleared): Listeners should follow
the active data table.

(WebInspector.BreakpointTreeElement.prototype._dataUpdated): Run the animation when probe data changes.
(WebInspector.BreakpointTreeElement.prototype._breakpointLocationDidChange): Fix a listener leak.
* UserInterface/Main.html: Remove BreakpointIcons.css.
* UserInterface/NavigationSidebarPanel.css:
(.navigation-sidebar-panel-content-tree-outline .item .icon): give icons
'position: relative' so child spans can be absolutely positioned.
* UserInterface/ProbeDetailsSidebarPanel.js: Get probeSet out of the event data
container. The probe set used to be passed as the data container itself.
(WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded):
* UserInterface/ProbeManager.js:
(WebInspector.ProbeManager.prototype._breakpointActionsChanged.set get knownProbeIdentifiers):
(WebInspector.ProbeManager.prototype._breakpointActionsChanged):
(WebInspector.ProbeManager.prototype.get _probeSetForBreakpoint.set this):
* UserInterface/ProbeSet.js:
(WebInspector.ProbeSet.prototype.clearSamples): include the old data table as the SamplesCleared event data.
* UserInterface/TextResourceContentView.js:
(WebInspector.TextResourceContentView.prototype._probeSetsChanged):

LayoutTests:

Adjust probe manager tracing listeners to access the correct data container property.

* inspector-protocol/resources/probe-helper.js:
(ProbeHelper.installTracingListeners):

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

5 years agoFix WebCore's internals after r164505
benjamin@webkit.org [Fri, 21 Feb 2014 23:44:32 +0000 (23:44 +0000)]
Fix WebCore's internals after r164505

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

* testing/Internals.cpp:
(WebCore::Internals::findEditingDeleteButton): The call became ambiguous after r164505.

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

5 years ago[iOS][WK2] Update the visible content rects on zoom
benjamin@webkit.org [Fri, 21 Feb 2014 23:38:09 +0000 (23:38 +0000)]
[iOS][WK2] Update the visible content rects on zoom
https://bugs.webkit.org/show_bug.cgi?id=129174

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-21
Reviewed by Simon Fraser.

Generalize _updateVisibleContentRects to also act during the zoom and not only at the end.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView scrollViewDidZoom:]):
* UIProcess/API/ios/WKViewIOS.mm:
(-[WKView scrollViewDidZoom:]):

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

5 years agoWeb Inspector: JSContext inspection should report exceptions in the console
joepeck@webkit.org [Fri, 21 Feb 2014 23:35:32 +0000 (23:35 +0000)]
Web Inspector: JSContext inspection should report exceptions in the console
https://bugs.webkit.org/show_bug.cgi?id=128776

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

When JavaScript API functions have an exception, let the inspector
know so it can log the JavaScript and Native backtrace that caused
the exception.

Include some clean up of ConsoleMessage and ScriptCallStack construction.

* API/JSBase.cpp:
(JSEvaluateScript):
(JSCheckScriptSyntax):
* API/JSObjectRef.cpp:
(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeError):
(JSObjectMakeRegExp):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectGetPropertyAtIndex):
(JSObjectSetPropertyAtIndex):
(JSObjectDeleteProperty):
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):
* API/JSValue.mm:
(reportExceptionToInspector):
(valueToArray):
(valueToDictionary):
* API/JSValueRef.cpp:
(JSValueIsEqual):
(JSValueIsInstanceOfConstructor):
(JSValueCreateJSONString):
(JSValueToNumber):
(JSValueToStringCopy):
(JSValueToObject):
When seeing an exception, let the inspector know there was an exception.

* inspector/JSGlobalObjectInspectorController.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::appendAPIBacktrace):
(Inspector::JSGlobalObjectInspectorController::reportAPIException):
Log API exceptions by also grabbing the native backtrace.

* inspector/ScriptCallStack.h:
* inspector/ScriptCallStack.cpp:
(Inspector::ScriptCallStack::firstNonNativeCallFrame):
(Inspector::ScriptCallStack::append):
Minor extensions to ScriptCallStack to make it easier to work with.

* inspector/ConsoleMessage.cpp:
(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):
Provide better default information if the first call frame was native.

* inspector/ScriptCallStackFactory.cpp:
(Inspector::createScriptCallStack):
(Inspector::extractSourceInformationFromException):
(Inspector::createScriptCallStackFromException):
Perform the handling here of inserting a fake call frame for exceptions
if there was no call stack (e.g. a SyntaxError) or if the first call
frame had no information.

* inspector/ConsoleMessage.cpp:
(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):
* inspector/ConsoleMessage.h:
* inspector/ScriptCallStackFactory.cpp:
(Inspector::createScriptCallStack):
(Inspector::createScriptCallStackForConsole):
* inspector/ScriptCallStackFactory.h:
* inspector/agents/InspectorConsoleAgent.cpp:
(Inspector::InspectorConsoleAgent::enable):
(Inspector::InspectorConsoleAgent::addMessageToConsole):
(Inspector::InspectorConsoleAgent::count):
* inspector/agents/JSGlobalObjectDebuggerAgent.cpp:
(Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog):
ConsoleMessage cleanup.

Source/WebCore:

Include some clean up of ConsoleMessage and ScriptCallStack construction.

Covered by existing tests.

* bindings/js/JSDOMBinding.cpp:
(WebCore::reportException):
Simplify code now that createStackTraceFromException handles it.

* page/ContentSecurityPolicy.cpp:
(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):
ScriptCallStack can give us the first non-native callframe.

* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::buildInitiatorObject):
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::breakpointActionLog):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGenericRecord):
* page/Console.cpp:
(WebCore::internalAddMessage):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
(WebCore::Console::timeEnd):
* page/ContentSecurityPolicy.cpp:
(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessage):

Source/WebInspectorUI:

* UserInterface/ConsoleMessageImpl.js:
(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
(WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
(WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
(WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
Provide better handling for "[native code]" and legacy "undefined"
call frame URLs. Never linkify these. Also, when showing a link
for an exception, always use the first non-native call frame as
the link location.

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

5 years agoMake old-run-webkit-tests work with iOS Simulator WebKitTestRunner
dfarler@apple.com [Fri, 21 Feb 2014 23:30:25 +0000 (23:30 +0000)]
Make old-run-webkit-tests work with iOS Simulator WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=128622

Reviewed by Simon Fraser.

With this change, we now have layout tests running in both DumpRenderTree
and WebKitTestRunner, with WebKit and WebKit2 used respectively in the iOS
simulator.

* Scripts/old-run-webkit-tests:
In general, make any specific reference to DumpRenderTree
able to refer to WebKitTestRunner wherever possible:
- Rename functions to remove DRT-specific naming.
- Name FIFOs after the tool that is being used.
-- Clean up FIFO creation code
Other necessary changes:
- Allow use of an ios-sim-wk2 platform.
- Clean up platform hierarchy creation where the simulator platform behavior differed.
* WebKitTestRunner/TestController.cpp:
Open FIFOs to get dumps out of the simulator as we do in DumpRenderTree.
(WTR::TestController::TestController):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
Copy the injected bundle into the app bundle.

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

5 years agojsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the...
benjamin@webkit.org [Fri, 21 Feb 2014 22:47:37 +0000 (22:47 +0000)]
jsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the function argument
https://bugs.webkit.org/show_bug.cgi?id=128893

Reviewed by Darin Adler.

Source/WebCore:

The declaration of TreeScope::getElementById() was taking an AtomicString as the parameter.
Because of this, all the call sites manipulating String were creating and keeping alive an AtomicString
to make the call.

This had two negative consequences:
-The call sites were ref-ing the ID's atomic string for no reason.
-When there is no ID associated with the input string, an atomic string was created for the sole
 purpose of failing the query. Since IDs are stored as AtomicString, if there is not an existing
 AtomicString for the input, there is no reason to query anything.

* WebCore.exp.in:
* bindings/js/JSDOMBinding.cpp:
(WebCore::findAtomicString): Update this after the rename.

* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
Now that there are two overloads for TreeScope::getElementById(), the conversion from NSString*
is ambiguous. I add the keyword ObjCExplicitAtomicString to force an explicit conversion to AtomicString.

* dom/Document.idl:
* dom/TreeScope.cpp:
(WebCore::TreeScope::getElementById):
When getting an AtomicString, the case of a empty string is not important, use isNull() instead.
When getting a String, get the corresponding AtomicString if any and use that for getting the element.

* dom/TreeScope.h:
* html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
Solve the ambiguous call.

* svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):
This is a wonderful candidate for substringSharingImpl. The substring does not survive the call since
the new getElementById never create any AtomicString.

* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::getElementById):
It looks like there are opportunities to get faster here, Ryosuke should have a look.

* svg/SVGSVGElement.h:
* xml/XMLTreeViewer.cpp:
(WebCore::XMLTreeViewer::transformDocumentToTreeView):
Unrelated cleanup: noStyleMessage was useless.

Source/WebKit2:

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::pageNumberForElementById): Remove the explicit conversion to use the right overload.

Source/WTF:

AtomicString::find() is a special case optimized for the JavaScript bindings. The method can only
be called under specific conditions.
The method is renamed to findStringWithHash().

The new AtomicString::find is generic and does not require any propery on the input.

* wtf/text/AtomicString.cpp:
(WTF::AtomicString::findStringWithHash):
(WTF::AtomicString::findSlowCase):
* wtf/text/AtomicString.h:
(WTF::AtomicString::find):

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

5 years agoCOL element in table has 0 for offsetWidth
dbates@webkit.org [Fri, 21 Feb 2014 22:38:12 +0000 (22:38 +0000)]
COL element in table has 0 for offsetWidth
https://bugs.webkit.org/show_bug.cgi?id=15277

Reviewed by David Hyatt.

Source/WebCore:

Implements offset{Left, Top, Width, Height} for table columns and column groups
per section Extensions to the HTMLElement Interface of the CSSOM View spec,
<http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface> (Draft 17 December 2013).

For now, we fail almost all of the offset{Height, Top} sub-tests in the included test
for the separate border model as we need to fix <https://bugs.webkit.org/show_bug.cgi?id=128988>.

Test: fast/table/col-and-colgroup-offsets.html

* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable): Initialize cached column offset top and offset height.
We cache these offsets since they are the same for all columns in the table.
(WebCore::RenderTable::invalidateCachedColumns): Clear cached effective column index map.
(WebCore::RenderTable::invalidateCachedColumnOffsets): Added.
(WebCore::RenderTable::layout): Invalidate cached column offsets as the location or height
of one or more sections may have changed.
(WebCore::RenderTable::updateColumnCache): Modified to build effective column index map.
(WebCore::RenderTable::effectiveIndexOfColumn): Added.
(WebCore::RenderTable::offsetTopForColumn): Added.
(WebCore::RenderTable::offsetLeftForColumn): Added.
(WebCore::RenderTable::offsetWidthForColumn): Added.
(WebCore::RenderTable::offsetHeightForColumn): Added.
* rendering/RenderTable.h: Make isTableColumnGroupWithColumnChildren() const.
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::offsetLeft): Added; turns around and calls RenderTable::offsetLeftForColumn().
(WebCore::RenderTableCol::offsetTop): Added; turns around and calls RenderTable::offsetTopForColumn().
(WebCore::RenderTableCol::offsetWidth): Added; turns around and calls RenderTable::offsetWidthForColumn().
(WebCore::RenderTableCol::offsetHeight): Added; turns around and calls RenderTable::offsetHeightForColumn().
* rendering/RenderTableCol.h:

LayoutTests:

Added test to ensure that offset{Left, Top, Width, Height} return correct results
for table columns and column groups.

For now, we fail almost all of the offset{Height, Top} sub-tests for the separate
border model as we need to fix <https://bugs.webkit.org/show_bug.cgi?id=128988>.

* fast/table/col-and-colgroup-offsets-expected.txt: Added.
* fast/table/col-and-colgroup-offsets.html: Added.

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

5 years agoAdd extra space to op_call and related opcodes
oliver@apple.com [Fri, 21 Feb 2014 22:37:29 +0000 (22:37 +0000)]
Add extra space to op_call and related opcodes
https://bugs.webkit.org/show_bug.cgi?id=129170

Reviewed by Mark Lam.

No change in behaviour, just some refactoring to add an extra
slot to the op_call instructions, and refactoring to make similar
changes easier in future.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printCallOp):
* bytecode/Opcode.h:
(JSC::padOpcodeName):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitCallVarargs):
(JSC::BytecodeGenerator::emitConstruct):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
* jit/JITCall.cpp:
(JSC::JIT::compileOpCall):
* jit/JITCall32_64.cpp:
(JSC::JIT::compileOpCall):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:

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

5 years agoBuild fix for iOS after r164498.
enrica@apple.com [Fri, 21 Feb 2014 22:34:57 +0000 (22:34 +0000)]
Build fix for iOS after r164498.

Unreviewed.

* platform/graphics/ios/MediaPlayerPrivateIOS.mm:
(WebCore::MediaPlayerPrivateIOS::buffered):

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

5 years agoDisallow the use of -webkit-user-modify on shadow pseudo elements
rniwa@webkit.org [Fri, 21 Feb 2014 22:33:14 +0000 (22:33 +0000)]
Disallow the use of -webkit-user-modify on shadow pseudo elements
https://bugs.webkit.org/show_bug.cgi?id=129144

Reviewed by Geoffrey Garen.

Completely disallow -webkit-user-modify on user agent (builtin) pseudo elements.

We've already had rules to do this in html.css but just hard code it into the engine
in order to eliminate the all uses of -webkit-user-modify in html.css.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* css/html.css:
(input::-webkit-textfield-decoration-container):
(input::-webkit-clear-button):
(input[type="search"]::-webkit-search-cancel-button):
(input[type="search"]::-webkit-search-decoration):
(input[type="search"]::-webkit-search-results-decoration):
(input[type="search"]::-webkit-search-results-button):
(input::-webkit-inner-spin-button):
(input::-webkit-input-speech-button):
(input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
(input[type="file"]::-webkit-file-upload-button):
(input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container):
(input[type="range"]::-webkit-slider-runnable-track):
(input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
(input[type="color"]::-webkit-color-swatch-wrapper):
(input[type="color"]::-webkit-color-swatch):
(::-webkit-validation-bubble):
(::-webkit-validation-bubble-message):
(::-webkit-validation-bubble-text-block):
(::-webkit-validation-bubble-heading):
(::-webkit-validation-bubble-arrow):
(::-webkit-validation-bubble-arrow-clipper):
(meter::-webkit-meter-inner-element):
(meter::-webkit-meter-bar):
(meter::-webkit-meter-optimum-value):
(meter::-webkit-meter-suboptimum-value):
(meter::-webkit-meter-even-less-good-value):
(progress::-webkit-progress-inner-element):
(progress::-webkit-progress-bar):
(progress::-webkit-progress-value):

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

5 years agogatherFromOtherThread() needs to align the sp before gathering roots.
mark.lam@apple.com [Fri, 21 Feb 2014 22:27:27 +0000 (22:27 +0000)]
gatherFromOtherThread() needs to align the sp before gathering roots.
<https://webkit.org/b/129169>

Reviewed by Geoffrey Garen.

The GC scans the stacks of other threads using MachineThreads::gatherFromOtherThread().
gatherFromOtherThread() defines the range of the other thread's stack as
being bounded by the other thread's stack pointer and stack base. While
the stack base will always be aligned to sizeof(void*), the stack pointer
may not be. This is because the other thread may have just pushed a 32-bit
value on its stack before we suspended it for scanning.

The fix is to round the stack pointer up to the next aligned address of
sizeof(void*) and start scanning from there. On 64-bit systems, we will
effectively ignore the 32-bit word at the bottom of the stack (top of the
stack for stacks growing up) because it cannot be a 64-bit pointer anyway.
64-bit pointers should always be stored on 64-bit aligned boundaries (our
conservative scan algorithm already depends on this assumption).

On 32-bit systems, the rounding is effectively a no-op.

* heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::genericAddSpan):
- Hardened somne assertions so that we can catch misalignment issues on
  release builds as well.
* heap/MachineStackMarker.cpp:
(JSC::MachineThreads::gatherFromOtherThread):

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

5 years agorun-webkit-httpd fails to find httpd configuation file.
joepeck@webkit.org [Fri, 21 Feb 2014 22:26:37 +0000 (22:26 +0000)]
run-webkit-httpd fails to find httpd configuation file.

Reviewed by Ryosuke Niwa.

* Scripts/webkitperl/httpd.pm:
(getHTTPDConfigPathForTestDirectory):

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

5 years agoFix TimeRanges layering violations
eric.carlson@apple.com [Fri, 21 Feb 2014 22:04:06 +0000 (22:04 +0000)]
Fix TimeRanges layering violations
https://bugs.webkit.org/show_bug.cgi?id=128717

Reviewed by NOBODY (OOPS!).

Source/WebCore:

No new tests, no functionality changed.

* CMakeLists.txt:
* GNUmakefile.list.am: Add PlatformTimeRanges.

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::buffered): TimeRanges -> PlatformTimeRanges.
* Modules/mediasource/MediaSource.h:

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): TimeRanges* -> TimeRanges&.

* WebCore.exp.in: Update for signature changes.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj: Add PlatformTimeRanges.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::percentLoaded): Create TimeRanges from PlatformTimeRanges.
(WebCore::HTMLMediaElement::buffered): Ditto.
(WebCore::HTMLMediaElement::seekable): Ditto.

* html/MediaController.cpp:
(MediaController::buffered): TimeRanges* -> TimeRanges&.
(MediaController::seekable): Ditto.
(MediaController::played): Ditto.

Move all of the logic into PlatformTimeRanges. Change API to take TimeRanges& instead of TimeRanges*.
* html/TimeRanges.cpp:
(WebCore::TimeRanges::create): Move to .cpp from .h.
(WebCore::TimeRanges::TimeRanges): Initialize the PlatformTimeRanges member variable.
(WebCore::TimeRanges::start): Passthrough to PlatformTimeRanges.
(WebCore::TimeRanges::end): Ditto.
(WebCore::TimeRanges::invert): Ditto.
(WebCore::TimeRanges::copy): Ditto.
(WebCore::TimeRanges::intersectWith): Ditto.
(WebCore::TimeRanges::unionWith): Ditto.
(WebCore::TimeRanges::length): Ditto.
(WebCore::TimeRanges::add): Ditto.
(WebCore::TimeRanges::contain): Ditto.
(WebCore::TimeRanges::find): Ditto.
(WebCore::TimeRanges::nearest): Ditto.
(WebCore::TimeRanges::totalDuration): Ditto.
* html/TimeRanges.h:

* platform/graphics/MediaPlayer.cpp:
(WebCore::NullMediaPlayerPrivate::buffered): TimeRanges -> PlatformTimeRanges.
(WebCore::MediaPlayer::buffered): Ditto.
(WebCore::MediaPlayer::seekable): Ditto.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:

* platform/graphics/MediaSourcePrivateClient.h:

* platform/graphics/PlatformTimeRanges.cpp: Added.
* platform/graphics/PlatformTimeRanges.h: Added.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::buffered): TimeRanges -> PlatformTimeRanges.
(WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Drive-by fix to log
    FunctionType notifications. ASSERT when passed an unknown notification.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges):  TimeRanges -> PlatformTimeRanges.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformBufferedTimeRanges): Ditto.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered): Ditto.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::buffered): Ditto.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

* platform/graphics/ios/MediaPlayerPrivateIOS.h:
* platform/graphics/ios/MediaPlayerPrivateIOS.mm:
(WebCore::MediaPlayerPrivateIOS::buffered): Ditto.

* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::buffered): Ditto.

* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::buffered): Ditto.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:

* platform/graphics/wince/MediaPlayerPrivateWinCE.h:

* platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::MockMediaPlayerMediaSource::buffered): Ditto.
(WebCore::MockMediaPlayerMediaSource::advanceCurrentTime): Ditto.
* platform/mock/mediasource/MockMediaPlayerMediaSource.h:

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: TimeRanges::create(void) for Internals.

Tools:

* TestWebKitAPI/Tests/WebCore/TimeRanges.cpp: TimeRanges* -> TimeRanges&.
(TestWebKitAPI::TEST):

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

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

Reviewed by Benjamin Poulain.

../WebCore:

Adding some exports.

* WebCore.exp.in:

../WebKit2:

This is the remaining work on block selections for iOS in WK2.
Once a block selection has been created with a long press gesture
on a selectable area, we can interact with it by touching the four
handles at the top, right, bottom and left side of the selection box.
Expanding or shrinking a block selection requires finding the next/previous
block in the direction of the movement, depending on the handle we
are interacting with.
Every time a new block is selected, we compute the thresholds required
to trigger another block change. The thresholds are sent back to the
UIProcess that will use this information to decide when to activate
the new selection, either bigger or smaller.
This patch also fixes a bug in selectWithTwoTouches where the points
were not mapped to the active frame.

* Shared/ios/WKGestureTypes.h:
* UIProcess/API/ios/PageClientImplIOS.h:
* UIProcess/API/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didUpdateBlockSelectionWithTouches):
* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView _didUpdateBlockSelectionWithTouches:withFlags:growThreshold:shrinkThreshold:]):
* UIProcess/API/ios/WKContentViewInternal.h:
* UIProcess/API/ios/WKInteractionView.h:
* UIProcess/API/ios/WKInteractionView.mm:
(-[WKInteractionView hasSelectablePositionAtPoint:]):
(-[WKInteractionView clearSelection]):
(toWKHandlePosition):
(-[WKInteractionView _didUpdateBlockSelectionWithTouches:WebKit::withFlags:WebKit::growThreshold:shrinkThreshold:]):
(-[WKInteractionView changeBlockSelectionWithTouchAt:withSelectionTouch:forHandle:]):
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::updateBlockSelectionWithTouches):
(WebKit::WebPageProxy::didUpdateBlockSelectionWithTouches):
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::rangeForBlockAtPoint):
(WebKit::WebPage::selectWithGesture):
(WebKit::distanceBetweenRectsForPosition):
(WebKit::rectsEssentiallyTheSame):
(WebKit::containsRange):
(WebKit::unionDOMRanges):
(WebKit::computeEdgeCenter):
(WebKit::WebPage::expandedRangeFromHandle):
(WebKit::WebPage::contractedRangeFromHandle):
(WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle):
(WebKit::shouldExpand):
(WebKit::WebPage::changeBlockSelection):
(WebKit::WebPage::updateBlockSelectionWithTouches):
(WebKit::WebPage::clearSelection):
(WebKit::WebPage::selectWithTwoTouches):
(WebKit::WebPage::getPositionInformation):

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

5 years agoAdded a GetMyArgumentsLengthSafe and added a speculation check.
commit-queue@webkit.org [Fri, 21 Feb 2014 21:52:47 +0000 (21:52 +0000)]
Added a GetMyArgumentsLengthSafe and added a speculation check.
https://bugs.webkit.org/show_bug.cgi?id=129051

Patch by Matthew Mirman <mmirman@apple.com> on 2014-02-21
Reviewed by Filip Pizlo.

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

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

5 years ago'mouseenter' mouse compat event not fired when listeners for touch events
benjamin@webkit.org [Fri, 21 Feb 2014 21:29:51 +0000 (21:29 +0000)]
'mouseenter' mouse compat event not fired when listeners for touch events
https://bugs.webkit.org/show_bug.cgi?id=128534

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

Source/WebCore:

The code dispatching mouseenter and mouseleave events was making the assumption that
only mouse move would cause Document::updateHoverActiveState.

This is not true in some cases. In the case of this bug, the first touch handler sets
the hover state. From there, the code handling enter/leave is in an inconsistent state.

This patch changes the delivery of mouse enter/leave events to be done through the regular
processing of mouse events. The update is done with the mouseover and mouseout events.

* dom/Document.cpp:
(WebCore::Document::prepareMouseEvent):
(WebCore::Document::updateHoverActiveState):
* dom/Document.h:
* page/EventHandler.cpp:
(WebCore::nearestCommonHoverAncestor):
(WebCore::hierarchyHasCapturingEventListeners):
(WebCore::EventHandler::updateMouseEventTargetNode):

LayoutTests:

The existing tests for mouseenter/mouseleave had very poor readability which made them
useless for debugging.
This updates them to log what cause the events, and log all the events everywhere on the page.

* fast/events/mouseenter-mouseleave-capture-expected.txt:
* fast/events/mouseenter-mouseleave-capture.html:
* fast/events/mouseenter-mouseleave-expected.txt:
* fast/events/mouseenter-mouseleave.html:

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

5 years ago[Win][LLINT] Many JSC stress test failures.
commit-queue@webkit.org [Fri, 21 Feb 2014 21:26:53 +0000 (21:26 +0000)]
[Win][LLINT] Many JSC stress test failures.
https://bugs.webkit.org/show_bug.cgi?id=129155

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-21
Reviewed by Michael Saboff.

Intel syntax has reversed operand order compared to AT&T syntax, so we need to swap the operand order, in this case on floating point operations.
Also avoid using the reverse opcode (e.g. fdivr), as this puts the result at the wrong position in the floating point stack.
E.g. "divd ft0, ft1" would translate to fdivr st, st(1) (Intel syntax) on Windows, but this puts the result in st, when it should be in st(1).

* offlineasm/x86.rb: Swap operand order on Windows.

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

5 years agoDFG write barriers should do more speculations
fpizlo@apple.com [Fri, 21 Feb 2014 20:37:19 +0000 (20:37 +0000)]
DFG write barriers should do more speculations
https://bugs.webkit.org/show_bug.cgi?id=129160

Reviewed by Mark Hahnenberg.

Replace ConditionalStoreBarrier with the cheapest speculation that you could do
instead.

Miniscule speed-up on some things. It's a decent difference in code size, though.

* bytecode/SpeculatedType.cpp:
(JSC::speculationToAbbreviatedString):
* bytecode/SpeculatedType.h:
(JSC::isNotCellSpeculation):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::insertStoreBarrier):
(JSC::DFG::FixupPhase::insertPhantomCheck):
* dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateOther):
(JSC::DFG::Node::shouldSpeculateNotCell):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::isNotOther):
(JSC::FTL::LowerDFGToLLVM::isOther):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
(JSC::FTL::LowerDFGToLLVM::speculateOther):
(JSC::FTL::LowerDFGToLLVM::speculateNotCell):

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

5 years agoCrash reloading page with position: fixed content
jhoneycutt@apple.com [Fri, 21 Feb 2014 20:37:01 +0000 (20:37 +0000)]
Crash reloading page with position: fixed content
https://bugs.webkit.org/show_bug.cgi?id=129119
<rdar://problem/16127090>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::removeDestroyedNodes):
Check the node's ID against the latched node's ID before the node is
removed from the tree.

LayoutTests:

* platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html: Added.

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

5 years agoRevert r164486, causing a number of test failures.
joepeck@webkit.org [Fri, 21 Feb 2014 20:18:59 +0000 (20:18 +0000)]
Revert r164486, causing a number of test failures.

Source/JavaScriptCore:

Unreviewed rollout.

Source/WebCore:

Unreviewed rollout.

Source/WebInspectorUI:

Unreviewed rollout.

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

5 years agoRevive SABI (aka shouldAlwaysBeInlined)
fpizlo@apple.com [Fri, 21 Feb 2014 19:48:25 +0000 (19:48 +0000)]
Revive SABI (aka shouldAlwaysBeInlined)
https://bugs.webkit.org/show_bug.cgi?id=129159

Reviewed by Mark Hahnenberg.

This is a small Octane speed-up.

* jit/Repatch.cpp:
(JSC::linkFor): This code was assuming that if it's invoked then the caller is a DFG code block. That's wrong, since it's now used by all of the JITs.

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

5 years agoStyleResolver::loadPendingImage() should take a reference to StylePendingImage
ddkilzer@apple.com [Fri, 21 Feb 2014 19:38:31 +0000 (19:38 +0000)]
StyleResolver::loadPendingImage() should take a reference to StylePendingImage
<http://webkit.org/b/129021>

Reviewed by Brent Fulgham.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingImage): Change pendingImage
parameter to a reference.
(WebCore::StyleResolver::loadPendingShapeImage): Update to use
references.
(WebCore::StyleResolver::loadPendingImages): Ditto.
* css/StyleResolver.h:
(WebCore::StyleResolver::loadPendingImage): Change pendingImage
parameter to a reference.

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

5 years agoMake sure to invoke the completion handler for JS alerts
andersca@apple.com [Fri, 21 Feb 2014 19:28:15 +0000 (19:28 +0000)]
Make sure to invoke the completion handler for JS alerts
https://bugs.webkit.org/show_bug.cgi?id=129158

Reviewed by Alexey Proskuryakov.

* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):

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

5 years agoWeb Inspector: update check-webkit-style to flag single quotes in WebInspectorUI...
commit-queue@webkit.org [Fri, 21 Feb 2014 19:17:28 +0000 (19:17 +0000)]
Web Inspector: update check-webkit-style to flag single quotes in WebInspectorUI projects
https://bugs.webkit.org/show_bug.cgi?id=128422

Patch by Diego Pino GarcĂ­a <dpino@igalia.com> on 2014-02-21
Reviewed by Joseph Pecoraro.

* Scripts/webkitpy/style/checkers/js.py:
(JSChecker.__init__):
(JSChecker.check):
(SingleQuoteChecker):
(SingleQuoteChecker.__init__):
(SingleQuoteChecker.check):
* Scripts/webkitpy/style/checkers/js_unittest.py:
(JSTestCase.assertError.error_for_test):
(JSTestCase.assertError):
(JSTestCase.test_no_error):
(JSTestCase.test_error):

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

5 years agoWeb Inspector: JSContext inspection should report exceptions in the console
joepeck@webkit.org [Fri, 21 Feb 2014 19:14:17 +0000 (19:14 +0000)]
Web Inspector: JSContext inspection should report exceptions in the console
https://bugs.webkit.org/show_bug.cgi?id=128776

Source/JavaScriptCore:

Reviewed by Timothy Hatcher.

When JavaScript API functions have an exception, let the inspector
know so it can log the JavaScript and Native backtrace that caused
the exception.

Include some clean up of ConsoleMessage and ScriptCallStack construction.

* API/JSBase.cpp:
(JSEvaluateScript):
(JSCheckScriptSyntax):
* API/JSObjectRef.cpp:
(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeError):
(JSObjectMakeRegExp):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectGetPropertyAtIndex):
(JSObjectSetPropertyAtIndex):
(JSObjectDeleteProperty):
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):
* API/JSValue.mm:
(reportExceptionToInspector):
(valueToArray):
(valueToDictionary):
* API/JSValueRef.cpp:
(JSValueIsEqual):
(JSValueIsInstanceOfConstructor):
(JSValueCreateJSONString):
(JSValueToNumber):
(JSValueToStringCopy):
(JSValueToObject):
When seeing an exception, let the inspector know there was an exception.

* inspector/JSGlobalObjectInspectorController.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::appendAPIBacktrace):
(Inspector::JSGlobalObjectInspectorController::reportAPIException):
Log API exceptions by also grabbing the native backtrace.

* inspector/ScriptCallStack.h:
* inspector/ScriptCallStack.cpp:
(Inspector::ScriptCallStack::firstNonNativeCallFrame):
(Inspector::ScriptCallStack::append):
Minor extensions to ScriptCallStack to make it easier to work with.

* inspector/ConsoleMessage.cpp:
(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):
Provide better default information if the first call frame was native.

* inspector/ScriptCallStackFactory.cpp:
(Inspector::createScriptCallStack):
(Inspector::extractSourceInformationFromException):
(Inspector::createScriptCallStackFromException):
Perform the handling here of inserting a fake call frame for exceptions
if there was no call stack (e.g. a SyntaxError) or if the first call
frame had no information.

* inspector/ConsoleMessage.cpp:
(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):
* inspector/ConsoleMessage.h:
* inspector/ScriptCallStackFactory.cpp:
(Inspector::createScriptCallStack):
(Inspector::createScriptCallStackForConsole):
* inspector/ScriptCallStackFactory.h:
* inspector/agents/InspectorConsoleAgent.cpp:
(Inspector::InspectorConsoleAgent::enable):
(Inspector::InspectorConsoleAgent::addMessageToConsole):
(Inspector::InspectorConsoleAgent::count):
* inspector/agents/JSGlobalObjectDebuggerAgent.cpp:
(Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog):
ConsoleMessage cleanup.

Source/WebCore:

Include some clean up of ConsoleMessage and ScriptCallStack construction.

Covered by existing tests.

* bindings/js/JSDOMBinding.cpp:
(WebCore::reportException):
Simplify code now that createStackTraceFromException handles it.

* page/ContentSecurityPolicy.cpp:
(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):
ScriptCallStack can give us the first non-native callframe.

* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::buildInitiatorObject):
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::breakpointActionLog):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGenericRecord):
* page/Console.cpp:
(WebCore::internalAddMessage):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
(WebCore::Console::timeEnd):
* page/ContentSecurityPolicy.cpp:
(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessage):

Source/WebInspectorUI:

Reviewed by Timothy Hatcher.

* UserInterface/ConsoleMessageImpl.js:
(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
(WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
(WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
(WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
Provide better handling for "[native code]" and legacy "undefined"
call frame URLs. Never linkify these. Also, when showing a link
for an exception, always use the first non-native call frame as
the link location.

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

5 years agoFixing the !ENABLE(SVG_FONTS) build
commit-queue@webkit.org [Fri, 21 Feb 2014 16:51:20 +0000 (16:51 +0000)]
Fixing the !ENABLE(SVG_FONTS) build
https://bugs.webkit.org/show_bug.cgi?id=129150

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-02-21
Reviewed by Anders Carlsson.

No new tests required.

* svg/SVGAltGlyphElement.cpp:
* svg/SVGAltGlyphElement.h:
* svg/svgtags.in:

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

5 years agoModernize JSGlobalLock and JSLockHolder
andersca@apple.com [Fri, 21 Feb 2014 16:45:05 +0000 (16:45 +0000)]
Modernize JSGlobalLock and JSLockHolder
https://bugs.webkit.org/show_bug.cgi?id=129105

Reviewed by Michael Saboff.

Use std::mutex and std::thread::id where possible.

* runtime/JSLock.cpp:
(JSC::GlobalJSLock::GlobalJSLock):
(JSC::GlobalJSLock::~GlobalJSLock):
(JSC::GlobalJSLock::initialize):
(JSC::JSLock::JSLock):
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):
* runtime/JSLock.h:

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

5 years agoWeb Inspector: scrollbar may appear when selecting a stop in gradient editor
graouts@webkit.org [Fri, 21 Feb 2014 15:53:42 +0000 (15:53 +0000)]
Web Inspector: scrollbar may appear when selecting a stop in gradient editor
https://bugs.webkit.org/show_bug.cgi?id=129149

Reviewed by Timothy Hatcher.

Ensure the angle input is not focused as we update the size of the gradient editor's
popover content since, if it were, it'd make a scrollbar appear as we animate the
popover's frame to fit its new content.

* UserInterface/CodeMirrorGradientEditingController.js:
(WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):

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

5 years ago[CSS Regions] Use the named-flow-specific object RenderNamedFlowFragment instead...
stavila@adobe.com [Fri, 21 Feb 2014 15:29:49 +0000 (15:29 +0000)]
[CSS Regions] Use the named-flow-specific object RenderNamedFlowFragment instead of the generic RenderRegion whenever possible
https://bugs.webkit.org/show_bug.cgi?id=128599

Reviewed by Andrei Bucur.

Use the named flow specific RenderNamedFlowFragment instead of the generic RenderRegion, whenever possible.
Move named flow specific methods from RenderRegion to RenderNamedFlowFragment.

No new tests required.

* dom/Element.cpp:
(WebCore::Element::renderNamedFlowFragment):
(WebCore::Element::webkitRegionOverset):
(WebCore::Element::webkitGetRegionFlowRanges):
* dom/Element.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForRegions):
* rendering/PaintInfo.h:
(WebCore::PaintInfo::PaintInfo):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::pushContentsClip):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderBoxModelObject.h:
* rendering/RenderInline.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::getRanges):
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::updateWritingMode):
(WebCore::compareRenderNamedFlowFragments):
(WebCore::addFragmentToList):
(WebCore::RenderNamedFlowThread::addFragmentToNamedFlowThread):
(WebCore::RenderNamedFlowThread::addRegionToThread):
(WebCore::RenderNamedFlowThread::removeRegionFromThread):
(WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
(WebCore::RenderNamedFlowThread::checkInvalidRegions):
(WebCore::RenderNamedFlowThread::getRanges):
(WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
(WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
* rendering/RenderNamedFlowThread.h:
* rendering/RenderRegion.cpp:
* rendering/RenderRegion.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::shouldPaint):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::paint):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::paint):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paintReplaced):

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

5 years ago[CSS Regions] Regions don't paint correctly in new-multicol elements
abucur@adobe.com [Fri, 21 Feb 2014 11:26:44 +0000 (11:26 +0000)]
[CSS Regions] Regions don't paint correctly in new-multicol elements
https://bugs.webkit.org/show_bug.cgi?id=120711

Reviewed by David Hyatt.

Source/WebCore:

This patch implements basic support for regions inside multi-column elements.
Currently, the painting and hit-testing logic of CSS Regions is not aware of
enclosing multi-column elements. The change is integrated at a layer level by
making use of the pre-computed layer fragments during the painting and hit-testing
phases for regions.

There are limitations such that self painting layers found inside the named flow
thread layer will not be correctly processed because they don't go through the
layer fragment collection step. This is not trivial to implement because the enclosing
pagination layer provided by the multi-column element is not visibile from inside
the named flow thread layer and they reside in different coordinate systems.

A side effect of this patch is the fix of regions incorrect clipping in certain
cases (when both a region and its container clip their overflow, the region's
content is visible outside the container).

Tests: fast/regions/region-clipping.html
       fast/regions/regions-in-multicol-bt.html
       fast/regions/regions-in-multicol-hover-overflow.html
       fast/regions/regions-in-multicol-hover.html
       fast/regions/regions-in-multicol-lr.html
       fast/regions/regions-in-multicol-rl.html
       fast/regions/regions-in-multicol.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::paintFlowThreadIfRegionForFragments):
(WebCore::RenderLayer::hitTestFlowThreadIfRegionForFragments):
* rendering/RenderLayer.h:

LayoutTests:

Add tests for regions in multi-column elements and a test that verifies
regions are correctly clipped by their containers when both have hidden
overflow.
For the non horizontal-tb writing modes tests there's no overflow after the
last region because it's not rendered correctly yet in a new column.

* fast/regions/region-clipping-expected.html: Added.
* fast/regions/region-clipping.html: Added.
* fast/regions/regions-in-multicol-bt-expected.html: Added.
* fast/regions/regions-in-multicol-bt.html: Added.
* fast/regions/regions-in-multicol-expected.html: Added.
* fast/regions/regions-in-multicol-hover-expected.html: Added.
* fast/regions/regions-in-multicol-hover-overflow-expected.html: Added.
* fast/regions/regions-in-multicol-hover-overflow.html: Added.
* fast/regions/regions-in-multicol-hover.html: Added.
* fast/regions/regions-in-multicol-lr-expected.html: Added.
* fast/regions/regions-in-multicol-lr.html: Added.
* fast/regions/regions-in-multicol-rl-expected.html: Added.
* fast/regions/regions-in-multicol-rl.html: Added.
* fast/regions/regions-in-multicol.html: Added.

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

5 years ago[CSS Blending] Refactor -webkit-blend-mode to -webkit-mix-blend-mode
commit-queue@webkit.org [Fri, 21 Feb 2014 09:19:16 +0000 (09:19 +0000)]
[CSS Blending] Refactor -webkit-blend-mode to -webkit-mix-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=128805

Patch by Mihai Tica <mitica@adobe.com> on 2014-02-21
Reviewed by Dean Jackson.

Source/WebCore:

The spec defines the mix-blend-mode property. This means that the
prefixed version should be -webkit-mix-blend-mode, instead of
-webkit-blend-mode.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

LayoutTests:

The spec defines the mix-blend-mode property. This means that the
prefixed version should be -webkit-mix-blend-mode, instead of
-webkit-blend-mode. Update all tests accordingly.

* css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html:
* css3/compositing/blend-mode-layers.html:
* css3/compositing/blend-mode-overflow.html:
* css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html:
* css3/compositing/blend-mode-property-expected.txt:
* css3/compositing/blend-mode-property-parsing-expected.txt:
* css3/compositing/blend-mode-property-parsing-invalid-expected.txt:
* css3/compositing/blend-mode-reflection.html:
* css3/compositing/blend-mode-simple-composited.html:
* css3/compositing/blend-mode-simple.html:
* css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html:
* css3/compositing/resources/red-circle.svg:
* css3/compositing/script-tests/blend-mode-property-parsing-invalid.js:
(testInvalidFilterRule):
* css3/compositing/script-tests/blend-mode-property-parsing.js:
(testBlendModeRule):
* css3/compositing/script-tests/blend-mode-property.js:
(testblendmode):
* css3/compositing/svg-blend-color-burn.html:
* css3/compositing/svg-blend-color-dodge.html:
* css3/compositing/svg-blend-color.html:
* css3/compositing/svg-blend-darken.html:
* css3/compositing/svg-blend-difference.html:
* css3/compositing/svg-blend-exclusion.html:
* css3/compositing/svg-blend-hard-light.html:
* css3/compositing/svg-blend-hue.html:
* css3/compositing/svg-blend-layer-blend.html:
* css3/compositing/svg-blend-layer-clip-path.html:
* css3/compositing/svg-blend-layer-filter.html:
* css3/compositing/svg-blend-layer-mask.html:
* css3/compositing/svg-blend-layer-opacity.html:
* css3/compositing/svg-blend-layer-shadow.html:
* css3/compositing/svg-blend-lighten.html:
* css3/compositing/svg-blend-luminosity.html:
* css3/compositing/svg-blend-multiply-alpha.html:
* css3/compositing/svg-blend-multiply.html:
* css3/compositing/svg-blend-normal.html:
* css3/compositing/svg-blend-overlay.html:
* css3/compositing/svg-blend-saturation.html:
* css3/compositing/svg-blend-screen.html:
* css3/compositing/svg-blend-soft-light.html:
* transitions/blendmode-transitions-expected.txt:
* transitions/blendmode-transitions.html:

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

5 years agoBindings tests rebaseline after r164473.
rniwa@webkit.org [Fri, 21 Feb 2014 08:57:12 +0000 (08:57 +0000)]
Bindings tests rebaseline after r164473.

* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj mutablePoint]):
(-[DOMTestObj immutablePoint]):
(-[DOMTestObj mutablePointFunction]):
(-[DOMTestObj immutablePointFunction]):
* bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
(-[DOMTestTypedefs immutablePointFunction]):

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

5 years agoRemove removed symbol from exports list.
timothy_horton@apple.com [Fri, 21 Feb 2014 08:29:52 +0000 (08:29 +0000)]
Remove removed symbol from exports list.

* WebCore.exp.in:

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

5 years agoRename EXT_draw_buffers to WEBGL_draw_buffers
changseok.oh@collabora.com [Fri, 21 Feb 2014 07:46:30 +0000 (07:46 +0000)]
Rename EXT_draw_buffers to WEBGL_draw_buffers
https://bugs.webkit.org/show_bug.cgi?id=128894

Reviewed by Dean Jackson.

Source/WebCore:

I noticed the related spec has changed. Accordingly chromium also changed its implementation
to meet the spec. So here I'd like to apply it to webkit as well.

Merged from Blink (patch by bajones):
https://src.chromium.org/viewvc/blink?revision=152065&view=revision

Test: fast/canvas/webgl/webgl-draw-buffers.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
* html/canvas/EXTDrawBuffers.idl: Removed.
* html/canvas/WebGLDrawBuffers.cpp: Renamed from Source/WebCore/html/canvas/EXTDrawBuffers.cpp.
(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::~WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::getName):
(WebCore::WebGLDrawBuffers::create):
(WebCore::WebGLDrawBuffers::supported):
(WebCore::WebGLDrawBuffers::drawBuffersWEBGL):
(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):
* html/canvas/WebGLDrawBuffers.h: Renamed from Source/WebCore/html/canvas/EXTDrawBuffers.h.
* html/canvas/WebGLDrawBuffers.idl: Added.
* html/canvas/WebGLExtension.h:
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::drawBuffersIfNecessary):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
(WebCore::WebGLRenderingContext::supportsDrawBuffers):
* html/canvas/WebGLRenderingContext.h:

LayoutTests:

webgl-draw-buffers.html came from Khronos's webgl conformace tests. It requires
some new apis in webgl-test-utils.js so that it is updated as well. The attached
test results are for mac. But they're expected to fail since EXT_draw_buffers are
disabled with some reason. See WebGLDrawBuffers::supported. So I add a line
for webgl-draw-buffers.html to mac/TestExpectations.

* fast/canvas/webgl/resources/webgl-test-utils.js:
(WebGLTestUtils):
(WebGLTestUtils.):
* fast/canvas/webgl/webgl-draw-buffers-expected.txt: Added.
* fast/canvas/webgl/webgl-draw-buffers.html: Added.
* platform/mac-mountainlion/fast/canvas/webgl/webgl-draw-buffers-expected.txt: Added.
* platform/mac/TestExpectations:

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

5 years agoUpdate test expectations after r164449.
rniwa@webkit.org [Fri, 21 Feb 2014 06:45:34 +0000 (06:45 +0000)]
Update test expectations after r164449.

* TestExpectations:

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

5 years agom_ancestorDisabledState should never be unknown
rniwa@webkit.org [Fri, 21 Feb 2014 06:40:05 +0000 (06:40 +0000)]
m_ancestorDisabledState should never be unknown
https://bugs.webkit.org/show_bug.cgi?id=129084

Reviewed by Benjamin Poulain.

Source/WebCore:

In order to resolve the bug 129035, a text form control elements needs to synchronously change
its inner text element's editability by setting or unsetting contenteditable content attribute.
Before this patch, we could not do this because editability of a text form control dependent on
its disabled-ness which was only computed lazily via updateAncestorDisabledState().

This patch makes HTMLFieldSetElement and HTMLFormControlElement update this state synchronously.
To avoid O(k) DOM traversal, where k is the depth of the tree, in insertedInto and removedFrom of
HTMLFormControlElement on most pages, a new document-level flag, m_disabledFieldsetElementsCount,
has been added to indicate whether the document contains any disabled fieldset or not.

Also renamed the misleadingly named disabledAttributeChanged to disabledStateChanged, and added
new function of the same name (disabledAttributeChanged) to be used by HTMLFieldSetElement
for keeping the document-level flag up-to-date upon disabled attribute changes.

Tests: fast/forms/fieldset/fieldset-disabled-2.html

* dom/Document.cpp:
(WebCore::Document::Document): Initializes newly added m_disabledFieldsetElementsCount.
(WebCore::Document::~Document): Assert that we've done house keeping right.
* dom/Document.h:
(WebCore::Document::hasDisabledFieldsetElement): Added.
(WebCore::Document::addDisabledFieldsetElement): Added.
(WebCore::Document::removeDisabledFieldsetElement): Added.

* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::~HTMLFieldSetElement): Removes itself from the owner document.

(WebCore::updateFromControlElementsAncestorDisabledStateUnder): Added. Updates startNode and
its descendants' ancestor disabled flag. We don't update controls under another disabled
fieldset element since disabled-ness of those controls aren't affected by startNode.

(WebCore::HTMLFieldSetElement::disabledAttributeChanged): Call addDisabledFieldsetElement and
removeDisabledFieldsetElement to update the owner document's flag.

(WebCore::HTMLFieldSetElement::disabledStateChanged): Renamed from disabledAttributeChanged.
Enable form control elements under the first legend element and disable or enable other
descendent form controls in accordance with the presence of disabled content attribute.

(WebCore::HTMLFieldSetElement::childrenChanged): Update disabled-ness of form controls under
child legend elements because controls aren't disabled in the first legend element, and adding
or removing child elements may have changed the first legend element.

(WebCore::HTMLFieldSetElement::didMoveToNewDocument): Update the flag on the owner document.
* html/HTMLFieldSetElement.h:

* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor): Returns boolean instead of
updating m_ancestorDisabledState internally. Also renamed from updateAncestorDisabledState.

(WebCore::HTMLFormControlElement::setAncestorDisabled): Replaced ancestorDisabledStateWasChanged.
This function updates m_disabledByAncestorFieldset and calls disabledAttributeChanged as needed.

(WebCore::HTMLFormControlElement::disabledAttributeChanged): Added. Calls disabledStateChanged.
(WebCore::HTMLFormControlElement::disabledStateChanged): Renamed from disabledAttributeChanged.

(WebCore::HTMLFormControlElement::insertedInto): Update m_disabledByAncestorFieldset if there is
a possibility (i.e. the document contains any disabled fieldset element) that this form control
is inserted under a disabled fieldset element.

(WebCore::HTMLFormControlElement::removedFrom): If this form control element is not disabled by
a fieldset ancestor, then there is nothing to do. If it is, then check to see if the element is
still disabled now that we've lost some ancestors.

(WebCore::HTMLFormControlElement::isDisabledFormControl): No longer updates m_ancestorDisabledState
lazily since m_disabledByAncestorFieldset is never ambiguous now.

* html/HTMLFormControlElement.h:
(WebCore::HTMLFormControlElement::disabledByAncestorFieldset): Added.

LayoutTests:

Added more test cases.

* fast/forms/fieldset/fieldset-disabled-2-expected.txt:
* fast/forms/fieldset/fieldset-disabled-2.html:

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

5 years agoRemove redundant deviceScaleFactor() functions and make callers use Document::deviceS...
zalan@apple.com [Fri, 21 Feb 2014 06:32:11 +0000 (06:32 +0000)]
Remove redundant deviceScaleFactor() functions and make callers use Document::deviceScaleFactor() when accessible.
https://bugs.webkit.org/show_bug.cgi?id=129137

Reviewed by Simon Fraser.

No change in behavior.

Source/WebCore:

* editing/DeleteButtonController.cpp:
(WebCore::DeleteButtonController::createDeletionUI):
* page/Page.cpp:
* page/Page.h:
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::GraphicsContext):
* platform/graphics/GraphicsContext.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::platformInit):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageSizeForError):
(WebCore::RenderImage::paintReplaced):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::drawPlatformResizerImage):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintProgressBar):
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):

Source/WebKit2:

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

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

5 years agoStop generating Objective-C bindings for the SVG DOM
ddkilzer@apple.com [Fri, 21 Feb 2014 06:13:39 +0000 (06:13 +0000)]
Stop generating Objective-C bindings for the SVG DOM
<http://webkit.org/b/129107>

Reviewed by Timothy Hatcher.

Bug 114076 stopped compiling the Objective-C bindings for the
SVG DOM, but we continued to generate the header and source
files after that landed in r147822.  This patch also stops
generating the unused header and source files.

* DerivedSources.make:
- Split BINDING_IDLS into NON_SVG_BINDING_IDLS and
  SVG_BINDING_IDLS so that they may operated on separately.
- Define BINDING_IDLS again as the full list of IDL files.
- Rename DOM_CLASSES to JS_DOM_CLASSES so that JavaScript
  bindings are still generated for all IDL files.
- Add OBJC_DOM_CLASSES so that Objective-C bindings are only
  generated for non-SVG IDL files.

* bindings/scripts/CodeGeneratorObjC.pm:
(GetBaseClass):
(GetPropertyAttributes):
(AddIncludesForType):
(GenerateHeader):
(GenerateImplementation):
- Remove support for SVG classes.

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

5 years agovirtualForWithFunction() should not throw an exception with a partially initialized...
mark.lam@apple.com [Fri, 21 Feb 2014 06:07:37 +0000 (06:07 +0000)]
virtualForWithFunction() should not throw an exception with a partially initialized frame.
<https://webkit.org/b/129134>

Reviewed by Michael Saboff.

Currently, when JITOperations.cpp's virtualForWithFunction() fails to
prepare the callee function for execution, it proceeds to throw the
exception using the callee frame which is only partially initialized
thus far. Instead, it should be throwing the exception using the caller
frame because:
1. the error happened "in" the caller while preparing the callee for
   execution i.e. the caller frame is the top fully initialized frame
   on the stack.
2. the callee frame is not fully initialized yet, and the unwind
   mechanism cannot depend on the data in it.

* jit/JITOperations.cpp:

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

5 years agoRenderBox::updateShapeOutsideInfoAfterStyleChange shows up on profiles
simon.fraser@apple.com [Fri, 21 Feb 2014 06:02:11 +0000 (06:02 +0000)]
RenderBox::updateShapeOutsideInfoAfterStyleChange shows up on profiles
https://bugs.webkit.org/show_bug.cgi?id=129075

Reviewed by Dean Jackson.

updateShapeOutsideInfoAfterStyleChange() showed up on profiles in content
with no shapes. Avoid calling this if no style has shapeOutside().

* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):

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

5 years agoAdd a missing piece of r164469
benjamin@webkit.org [Fri, 21 Feb 2014 05:27:23 +0000 (05:27 +0000)]
Add a missing piece of r164469

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

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView scrollViewWillBeginDragging:]):
I forgot to duplicate the change from WKViewIOS in r164469.

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

5 years agoWKInteractionView always blocks the main thread when sending touch events
benjamin@webkit.org [Fri, 21 Feb 2014 05:22:51 +0000 (05:22 +0000)]
WKInteractionView always blocks the main thread when sending touch events
https://bugs.webkit.org/show_bug.cgi?id=129059

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-20
Reviewed by Enrica Casucci.

Add the asynchronous dispatching to WebKit2.

* Shared/NativeWebTouchEvent.h:
(WebKit::NativeWebTouchEvent::uniqueId):
* Shared/ios/NativeWebTouchEventIOS.mm:
(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
* UIProcess/API/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::doneWithTouchEvent):
* UIProcess/API/ios/WKContentView.h:
* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView willStartUserTriggeredScroll]):
(-[WKContentView willStartUserTriggeredZoom]):
(-[WKContentView _webTouchEvent:WebKit::preventsNativeGestures:]):
* UIProcess/API/ios/WKContentViewInternal.h:
* UIProcess/API/ios/WKInteractionView.h:
* UIProcess/API/ios/WKInteractionView.mm:
(-[WKInteractionView _webTouchEventsRecognized:]):
(-[WKInteractionView _webTouchEvent:WebKit::preventsNativeGestures:]):
(-[WKInteractionView _willStartUserTriggeredScrollingOrZooming]):
* UIProcess/API/ios/WKViewIOS.mm:
(-[WKView scrollViewWillBeginDragging:]):
* WebKit2.xcodeproj/project.pbxproj:

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

5 years agoRemove unused chromium stuff in Extensions3D
changseok.oh@collabora.com [Fri, 21 Feb 2014 04:59:09 +0000 (04:59 +0000)]
Remove unused chromium stuff in Extensions3D
https://bugs.webkit.org/show_bug.cgi?id=129086

Reviewed by Anders Carlsson.

Remove GL_CHROMIUM_copy_texture and GL_CHROMIUM_flipy interfaces since they are used nowhere.

No new tests since no functionality changed.

* platform/graphics/Extensions3D.h:
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
* platform/graphics/opengl/Extensions3DOpenGL.h:
* platform/graphics/opengl/Extensions3DOpenGLES.cpp:
* platform/graphics/opengl/Extensions3DOpenGLES.h:

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

5 years ago[iOS] Assert / crash trying to draw empty checked input
commit-queue@webkit.org [Fri, 21 Feb 2014 04:55:44 +0000 (04:55 +0000)]
[iOS] Assert / crash trying to draw empty checked input
https://bugs.webkit.org/show_bug.cgi?id=129138

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-20
Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/forms/checkbox-empty-size.html

* rendering/RenderThemeIOS.mm:
(WebCore::shortened):
Avoid a divide by 0, but checking for the condition upfront.

LayoutTests:

* fast/forms/checkbox-empty-size-expected.txt: Added.
* fast/forms/checkbox-empty-size.html: Added.

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

5 years agoStart fixing the view states driven by the WKScrollView
benjamin@webkit.org [Fri, 21 Feb 2014 04:53:48 +0000 (04:53 +0000)]
Start fixing the view states driven by the WKScrollView
https://bugs.webkit.org/show_bug.cgi?id=129140

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-20
Reviewed by Tim Horton and Simon Fraser.

Source/WebCore:

* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::scaledExposedRect):
That comment was more confusing than helping. FrameView-relative coordinates should not need
scaling.

Source/WebKit2:

WKScrollView creates a "window" over WKContentView with an area that is exposed,
an area that is unobcured and with a certain scale.

Instead of having 3 loosely related paths for updating WKContentView
when the content "window" change, everything is consolidated behind the
single API -[WKContentView didUpdateVisibleRect:unobscuredRect:scale:].

This patch only fixes the content updates from the UI process side to keep things simple.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didFinishScrolling]):
(-[WKWebView scrollViewDidEndDragging:willDecelerate:]):
(-[WKWebView scrollViewDidEndDecelerating:]):
(-[WKWebView scrollViewDidScrollToTop:]):
(-[WKWebView scrollViewDidScroll:]):
(-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _updateContentWindow]):
(-[WKWebView _setObscuredInsets:]):
* UIProcess/API/ios/WKContentView.h:
* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:]):
(-[WKContentView _updateFixedPositionRect]):
(-[WKContentView didFinishScrolling]):
(-[WKContentView didZoomToScale:]):
* UIProcess/API/ios/WKViewIOS.mm:
(-[WKView contentView:didCommitLayerTree:]):
(-[WKView _didFinishScrolling]):
(-[WKView scrollViewDidEndDragging:willDecelerate:]):
(-[WKView scrollViewDidEndDecelerating:]):
(-[WKView scrollViewDidScrollToTop:]):
(-[WKView scrollViewDidScroll:]):
(-[WKView scrollViewDidEndZooming:withView:atScale:]):
Scrolling is modified to take into account the view position and the obcured content.
Instead of driving the scrolling position from the UIScrollView delegate callbacks,
we use changes in unobscured rect to find changes in "content visible scroll position".

WebPageProxy::didFinishScrolling() is removed. All the scrollOffset updates now go through
the ScrollingCoordinator.

(-[WKView _frameOrBoundsChanged]):
(-[WKView _updateContentWindow]):
(-[WKView _setObscuredInsets:]):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::unobscuredContentRect):
(WebKit::WebPageProxy::setUnobscuredContentRect):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:

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

5 years agoStart to use std::unique_ptr for DragImageLoader
gyuyoung.kim@samsung.com [Fri, 21 Feb 2014 04:04:23 +0000 (04:04 +0000)]
Start to use std::unique_ptr for DragImageLoader
https://bugs.webkit.org/show_bug.cgi?id=129078

Reviewed by Ryosuke Niwa.

As a step to use std::unique_ptr, this patch replace uses of OwnPtr and PassOwnPtr
in the DragImageLoader class with std::unique_ptr. Besides DragImageLoader is set to
non-copyable class.

* dom/Clipboard.cpp:
(WebCore::Clipboard::setDragImage):
* dom/Clipboard.h:

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

5 years agoFix a build warning by moving some WKWebView methods from the private category to...
timothy_horton@apple.com [Fri, 21 Feb 2014 03:10:22 +0000 (03:10 +0000)]
Fix a build warning by moving some WKWebView methods from the private category to WKWebView itself.

Reviewed by Anders Carlsson.

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

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

5 years agoDefaultGCActivityCallback::doWork() should reschedule if GC is deferred.
mark.lam@apple.com [Fri, 21 Feb 2014 02:53:14 +0000 (02:53 +0000)]
DefaultGCActivityCallback::doWork() should reschedule if GC is deferred.
<https://webkit.org/b/129131>

Reviewed by Mark Hahnenberg.

Currently, DefaultGCActivityCallback::doWork() does not check if the GC
needs to be deferred before commencing. As a result, the GC may crash
and/or corrupt data because the VM is not in the consistent state needed
for the GC to run. With this fix, doWork() now checks if the GC is
supposed to be deferred and re-schedules if needed. It only commences
with GC'ing when it's safe to do so.

* runtime/GCActivityCallback.cpp:
(JSC::DefaultGCActivityCallback::doWork):

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

5 years agoASSERT on touches callbacks after r164409 on iOS.
enrica@apple.com [Fri, 21 Feb 2014 02:13:49 +0000 (02:13 +0000)]
ASSERT on touches callbacks after r164409 on iOS.
https://bugs.webkit.org/show_bug.cgi?id=129135

Reviewed by Alexey Proskuryakov.

The change used incorrecly true and false in TouchesCallbacks and
ImageCallback. It also reintroduced isMainThread() which doesn't work
for iOS.

* UIProcess/GenericCallback.h:
(WebKit::CallbackBase::generateCallbackID):
(WebKit::ImageCallback::performCallbackWithReturnValue):
(WebKit::ImageCallback::invalidate):
* UIProcess/WebPageProxy.h:
(WebKit::TouchesCallback::performCallbackWithReturnValue):
(WebKit::TouchesCallback::invalidate):

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

5 years agoMath.imul gives wrong results
ggaren@apple.com [Fri, 21 Feb 2014 02:01:28 +0000 (02:01 +0000)]
Math.imul gives wrong results
https://bugs.webkit.org/show_bug.cgi?id=126345

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Don't truncate non-int doubles to 0 -- that's just not how ToInt32 works.
Instead, take a slow path that will do the right thing.

* jit/ThunkGenerators.cpp:
(JSC::imulThunkGenerator):

LayoutTests:

Test this edge case of a double just outside the int range.

* js/dom/imul-expected.txt:
* js/dom/script-tests/imul.js:

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