WebKit-https.git
5 years agoOptimize Canvas fill and drawImage with SourceIn, DestinationIn, SourceOut, and Desti...
krit@webkit.org [Fri, 11 Apr 2014 12:44:58 +0000 (12:44 +0000)]
Optimize Canvas fill and drawImage with SourceIn, DestinationIn, SourceOut, and DestinationAtop using transparencyLayer.
https://bugs.webkit.org/show_bug.cgi?id=79659

Patch by Dirk Schulze <krit@webkit.org> on 2014-04-11
Reviewed by Andreas Kling.

Add performance tests for real this time.

* Canvas/compositing-drawimage.html: Added.
* Canvas/compositing-fillRect.html: Added.

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

5 years agoOptimize Canvas fill and drawImage with SourceIn, DestinationIn, SourceOut, and Desti...
krit@webkit.org [Fri, 11 Apr 2014 12:37:26 +0000 (12:37 +0000)]
Optimize Canvas fill and drawImage with SourceIn, DestinationIn, SourceOut, and DestinationAtop using transparencyLayer.
https://bugs.webkit.org/show_bug.cgi?id=79659

Patch by Dirk Schulze <krit@webkit.org> on 2014-04-11
Reviewed by Andreas Kling.

Add performance tests for fillRect() and drawImage() on composited contexts.

* Canvas/compositing-drawimage.html: Added.
* Canvas/compositing-fillRect.html: Added.

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

5 years ago[GTK][WK2] Move Vector objects into WebEditorClient::executePendingEditorCommands...
zandobersek@gmail.com [Fri, 11 Apr 2014 08:24:49 +0000 (08:24 +0000)]
[GTK][WK2] Move Vector objects into WebEditorClient::executePendingEditorCommands() invocations
https://bugs.webkit.org/show_bug.cgi?id=131454

Reviewed by Carlos Garcia Campos.

* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::executePendingEditorCommands): Take a const reference of the Vector
object to avoid unnecessary copies. Also deploy two range-based for loops and efficiently move
the Editor::Command objects into the other Vector.

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

5 years ago[CMake] Add missing WTF unit tests
zandobersek@gmail.com [Fri, 11 Apr 2014 06:32:13 +0000 (06:32 +0000)]
[CMake] Add missing WTF unit tests
https://bugs.webkit.org/show_bug.cgi?id=131459

Reviewed by Martin Robinson.

* TestWebKitAPI/CMakeLists.txt: Add a few missing source files
that should be compiled into the TestWTF binary.

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

5 years ago<rdar://problem/16582465> [Cocoa] Avoid casts from CF types to unrelated Objective...
mitz@apple.com [Fri, 11 Apr 2014 06:16:32 +0000 (06:16 +0000)]
<rdar://problem/16582465> [Cocoa] Avoid casts from CF types to unrelated Objective-C types
https://bugs.webkit.org/show_bug.cgi?id=131529

Reviewed by Mark Rowe.

* Shared/API/c/cf/WKStringCF.mm:
(WKStringCreateWithCFString): Cast the CFStringRef into its toll-free-bridged counterpart,
NSString, then cast the NSString into a WKNSString.
* Shared/API/c/cf/WKURLCF.mm:
(WKURLCreateWithCFURL): Cast the CFURLRef into its toll-free-bridged counterpart, NSURL,
then cast the NSURL into a WKNSURL.

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

5 years agoBundlePageDiagnosticLoggingClient leaks every string passing through it.
mitz@apple.com [Fri, 11 Apr 2014 05:23:42 +0000 (05:23 +0000)]
BundlePageDiagnosticLoggingClient leaks every string passing through it.
https://bugs.webkit.org/show_bug.cgi?id=130140

Reviewed by Brent Fulgham.

* WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
(WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage): Don’t copy the
strings passed into the bundle client.

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

5 years agoCrash beneath DFG JIT code @ video.disney.com
msaboff@apple.com [Fri, 11 Apr 2014 05:19:08 +0000 (05:19 +0000)]
Crash beneath DFG JIT code @ video.disney.com
https://bugs.webkit.org/show_bug.cgi?id=131447

Reviewed by Geoffrey Garen.

The 32-bit path of speculateMisc() uses an 'is not int32' check followed by
'tag not less than Undefined' check.  The first check was incorrectly elided if we
knew that the value *was* an int32, when it should have been elided if we already
knew that the value *was not* an int32.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateMisc):
* tests/stress/test-spec-misc.js: Added test.
(getX):
(foo):
(bar):

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

5 years agoMake room for additional types in SpeculatedType.h
fpizlo@apple.com [Fri, 11 Apr 2014 04:05:46 +0000 (04:05 +0000)]
Make room for additional types in SpeculatedType.h
https://bugs.webkit.org/show_bug.cgi?id=131422

Reviewed by Sam Weinig.

This'll make it easier to add DoubleHeavyNaN and DoubleEmptyNaN.

* bytecode/SpeculatedType.h:

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

5 years agoTry to fix the debug bots after r167102
benjamin@webkit.org [Fri, 11 Apr 2014 03:52:22 +0000 (03:52 +0000)]
Try to fix the debug bots after r167102

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-10

* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

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

5 years agoWebGL: need error checking after texture and buffer uploads in some cases
darin@apple.com [Fri, 11 Apr 2014 02:44:34 +0000 (02:44 +0000)]
WebGL: need error checking after texture and buffer uploads in some cases
https://bugs.webkit.org/show_bug.cgi?id=62902
rdar://problem/9640309

Reviewed by Dean Jackson.

Not clear how to write a test for this.

* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::disassociateBufferData): Added.
* html/canvas/WebGLBuffer.h: Added disassociateBufferData.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::bufferData): Check for errors by calling
moveErrorsToSyntheticErrorList twice, once before and once after. If an error
occurred, call the WebGLBuffer so it doesn't think it has data.
(WebCore::WebGLRenderingContext::bufferSubData): Ditto.

* platform/graphics/GraphicsContext3D.h: Added moveErrorsToSyntheticErrorList.

* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::moveErrorsToSyntheticErrorList): Added. Calls
glError and moves any errors to the synthetic error list.
(WebCore::GraphicsContext3D::getError): Added call to moveErrorsToSyntheticErrorList
to preserve error ordering.
(WebCore::GraphicsContext3D::synthesizeGLError): Ditto.

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

5 years agoCompile fix for Win64.
commit-queue@webkit.org [Fri, 11 Apr 2014 02:17:36 +0000 (02:17 +0000)]
Compile fix for Win64.
https://bugs.webkit.org/show_bug.cgi?id=131508

Patch by Alex Christensen <achristensen@webkit.org> on 2014-04-10
Reviewed by Geoffrey Garen.

* assembler/X86Assembler.h:
(JSC::X86Assembler::fillNops):
Added unsigned template parameter to distinguish between size_t and unsigned long.

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

5 years agoiOS build fix to deal with CoreText changes.
enrica@apple.com [Fri, 11 Apr 2014 01:37:47 +0000 (01:37 +0000)]
iOS build fix to deal with CoreText changes.

Reviewed by Benjamin Poulain.

This is a temporary fix until CT fixes the issue.

* rendering/RenderThemeIOS.mm:

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

5 years agoAdd user default for FTL JIT
barraclough@apple.com [Fri, 11 Apr 2014 01:17:18 +0000 (01:17 +0000)]
Add user default for FTL JIT
https://bugs.webkit.org/show_bug.cgi?id=131520

Reviewed by Benjamin Poulain.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::decode):
* UIProcess/mac/WebContextMac.mm:
(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebContext::platformInitializeWebProcess):
    - D'oh, whitespace.

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

5 years agoAdd user default for FTL JIT
barraclough@apple.com [Fri, 11 Apr 2014 01:13:44 +0000 (01:13 +0000)]
Add user default for FTL JIT
https://bugs.webkit.org/show_bug.cgi?id=131520

Reviewed by Benjamin Poulain.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
    - pass setting to WebContent process.
* UIProcess/mac/WebContextMac.mm:
(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebContext::platformInitializeWebProcess):
    - read user default.
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
    - set JSC::Option.

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

5 years ago[Win] Clean up some 64-bit warnings from Visual Studio analyzer
bfulgham@apple.com [Fri, 11 Apr 2014 01:02:01 +0000 (01:02 +0000)]
[Win] Clean up some 64-bit warnings from Visual Studio analyzer
https://bugs.webkit.org/show_bug.cgi?id=131514

Reviewed by Tim Horton.

* WTF.vcxproj/WTF.vcxproj: Use correct platform settings for
64-bit build.
* config.h: Ditto.
* wtf/CurrentTime.cpp:
(WTF::highResUpTime): Resolve warning about deprecated API.
* wtf/StackBounds.cpp:
(WTF::StackBounds::initialize): Silence warning about
an uninitialized variable.

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

5 years ago[Cocoa] Notify the form delegate when the custom button in the form accessory view...
mitz@apple.com [Fri, 11 Apr 2014 00:53:06 +0000 (00:53 +0000)]
[Cocoa] Notify the form delegate when the custom button in the form accessory view is tapped
https://bugs.webkit.org/show_bug.cgi?id=131518

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/_WKFormDelegate.h: Declared new delegate method.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView accessoryAutoFill]): Call the new delegate method.

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

5 years agoUnreviewed, rolling out r167097.
commit-queue@webkit.org [Fri, 11 Apr 2014 00:50:04 +0000 (00:50 +0000)]
Unreviewed, rolling out r167097.
https://bugs.webkit.org/show_bug.cgi?id=131519

there was already a mechanism for this, and this was
incomplete anyway (Requested by thorton on #webkit).

Reverted changeset:

"[iOS WebKit2] Disable the find overlay for now"
https://bugs.webkit.org/show_bug.cgi?id=131509
http://trac.webkit.org/changeset/167097

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

5 years agoUnreviewed, rolling out r167073.
commit-queue@webkit.org [Fri, 11 Apr 2014 00:27:57 +0000 (00:27 +0000)]
Unreviewed, rolling out r167073.
https://bugs.webkit.org/show_bug.cgi?id=131516

This patch caused crashes in video tests. (Requested by
mrobinson on #webkit).

Reverted changeset:

Source/WebCore:

"[GStreamer] No CORS support for media elements"
https://bugs.webkit.org/show_bug.cgi?id=99037
http://trac.webkit.org/changeset/167073

LayoutTests:

"[GStreamer] No CORS support for media elements"
https://bugs.webkit.org/show_bug.cgi?id=99037
http://trac.webkit.org/changeset/167073

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

5 years ago[iOS WebKit2] Disable the find overlay for now
timothy_horton@apple.com [Thu, 10 Apr 2014 23:52:29 +0000 (23:52 +0000)]
[iOS WebKit2] Disable the find overlay for now
https://bugs.webkit.org/show_bug.cgi?id=131509

Reviewed by Adele Peterson.

* Shared/WebPreferencesStore.h:
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::FindController):
(WebKit::FindController::hideFindOverlay):
(WebKit::FindController::hideFindUI):
(WebKit::FindController::setShouldShowOverlay):
* WebProcess/WebPage/FindController.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Add a setting allowing us to turn off the find-in-page overlay on iOS.

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

5 years agoUnreviewed GTK build fix after r167074.
enrica@apple.com [Thu, 10 Apr 2014 23:23:11 +0000 (23:23 +0000)]
Unreviewed GTK build fix after r167074.

This involves replacing resetDragSession() by
resetCurrentDragInformation() and dragSession().operation by
currentDragOperation().

Patch by Sergio Villar Senin <svillar@igalia.com> on 2014-04-10

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDragDataReceived):
(webkitWebViewBaseDragMotion):
(dragExitedCallback):

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

5 years agoRadio buttons are using the wrong sizes and margins
bdakin@apple.com [Thu, 10 Apr 2014 22:53:08 +0000 (22:53 +0000)]
Radio buttons are using the wrong sizes and margins
https://bugs.webkit.org/show_bug.cgi?id=131503

Reviewed by Jer Noble.

This is a regression that I caused recently when I combined radio button and
checkbox code.
* platform/mac/ThemeMac.mm:
(WebCore::paintToggleButton):

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

5 years agoLLInt interpreter code should be generated as part of one function
msaboff@apple.com [Thu, 10 Apr 2014 22:33:59 +0000 (22:33 +0000)]
LLInt interpreter code should be generated as part of one function
https://bugs.webkit.org/show_bug.cgi?id=131205

Reviewed by Mark Lam.

Source/JavaScriptCore:

Changed the generation of llint opcodes so that they are all part of the same
global function, llint_entry.  That function is used to fill in an entry point
table that includes each of the opcodes and helpers.

* CMakeLists.txt:
* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh:
* JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/build-LLIntDesiredOffsets.sh:
* JavaScriptCore.xcodeproj/project.pbxproj:
Added appropriate use of new -I option to offline assembler and offset
generator scripts.

* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter.cpp:
* llint/LowLevelInterpreter.h:
* offlineasm/arm.rb:
* offlineasm/arm64.rb:
* offlineasm/asm.rb:
* offlineasm/ast.rb:
* offlineasm/backends.rb:
* offlineasm/cloop.rb:
* offlineasm/generate_offset_extractor.rb:
* offlineasm/instructions.rb:
* offlineasm/parser.rb:
* offlineasm/registers.rb:
* offlineasm/self_hash.rb:
* offlineasm/settings.rb:
* offlineasm/transform.rb:
* offlineasm/x86.rb:
Added a new "global" keyword to the offline assembler that denotes a label that
should be exported.  Added opcode and operand support to get the absolute
address of a local label using position independent calculations.  Updated the
offline assembler to handle included files, both when generating the checksum
as well as including files from other than the local directory via a newly
added -I option.  The offline assembler now automatically determines external
functions by keeping track of referenced functions that are defined within the
assembly source.  This is used both for choosing the correct macro for external
references as well as generating the needed EXTERN directives for masm.
Updated the generation of the masm only .sym file to be written once at the end
of the offline assembler.

* assembler/MacroAssemblerCodeRef.h:
(JSC::MacroAssemblerCodePtr::createLLIntCodePtr):
(JSC::MacroAssemblerCodeRef::createLLIntCodeRef):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
* bytecode/Opcode.h:
(JSC::padOpcodeName):
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFromLLInt):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
* jit/JITStubs.h:
* llint/LLIntCLoop.cpp:
(JSC::LLInt::initialize):
* llint/LLIntData.h:
(JSC::LLInt::getCodeFunctionPtr):
(JSC::LLInt::getOpcode): Deleted.
(JSC::LLInt::getCodePtr): Deleted.
* llint/LLIntOpcode.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LLIntThunks.cpp:
(JSC::LLInt::functionForCallEntryThunkGenerator):
(JSC::LLInt::functionForConstructEntryThunkGenerator):
(JSC::LLInt::functionForCallArityCheckThunkGenerator):
(JSC::LLInt::functionForConstructArityCheckThunkGenerator):
(JSC::LLInt::evalEntryThunkGenerator):
(JSC::LLInt::programEntryThunkGenerator):
* llint/LLIntThunks.h:
Changed references to llint helpers to go through the entry point table populated
by llint_entry.  Added helpers to OpcodeID enum for all builds.

* bytecode/BytecodeList.json:
* generate-bytecode-files:
* llint/LLIntCLoop.cpp:
(JSC::LLInt::CLoop::initialize):
Reordered sections to match the order that the functions are added to the entry point
table.  Added new "asmPrefix" property for symbols that have one name but are generated
with a prefix, e.g. op_enter -> llint_op_enter.  Eliminated the "emitDefineID" property
as we are using enums for all bytecode references.  Changed the C Loop only
llint_c_loop_init to llint_entry.

Source/WebKit:

Updated VS dependencies for JavaScriptCore changes.

* WebKit.vcxproj/WebKit.sln:

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

5 years agoAssertion failure in WebCore::FlexBoxIterator::next()
jhoneycutt@apple.com [Thu, 10 Apr 2014 22:23:50 +0000 (22:23 +0000)]
Assertion failure in WebCore::FlexBoxIterator::next()
<https://bugs.webkit.org/show_bug.cgi?id=117176>
<rdar://problem/14054549>

Source/WebCore:

Code added in r115687 began removing anonymous wrappers when children
become inline. However, there are some objects, like
RenderDeprecatedFlexBox, whose children should always be blocks.

Reviewed by Tim Horton.

* rendering/RenderBlock.h:
(WebCore::RenderBlock::canCollapseAnonymousBlockChild):
Made public.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::removeAnonymousWrappersForInlinesIfNecessary):
Return early if we can't collapse anonymous block children.

LayoutTests:

Reviewed by Tim Horton.

* fast/flexbox/collapse-anonymous-wrappers-assertion-expected.txt: Added.
* fast/flexbox/collapse-anonymous-wrappers-assertion.html: Added.

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

5 years agoAssertion failure, !node || node->isElementNode(), in
jhoneycutt@apple.com [Thu, 10 Apr 2014 22:23:47 +0000 (22:23 +0000)]
Assertion failure, !node || node->isElementNode(), in
WebCore::RenderBlock::clone()
<https://bugs.webkit.org/show_bug.cgi?id=110489>
<rdar://problem/13666425>

Reviewed by Antti Koivisto.

Source/WebCore:

We're ending up in RenderBlock::splitBlocks() with |this| ==
|fromBlock|.  We then try to climb the ancestor block chain from
this->parent() to |fromBlock|, but this->parent() is already above
|fromBlock|, so we end up climbing up to the RenderView and trying to
clone it, causing the assertion failure.

Adopt Chromium's mitigation for this from
<https://codereview.chromium.org/13852041>. This is not intended as a
fix for the underlying issue.

Also, fix another issue that occurs with this fuzzed test case that's
not handled by the Chromium fix.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::splitBlocks):
Ensure while we're in the loop that |curr| is a descendant of
|fromBlock|. From the Chromium patch:

    We need to check in every iteration of the loop because
    moveChildrenTo could have moved |curr|. This is a mitigation and
    not really a fix against a class of tree craziness.

Finally, before moving children from |fromBlock| to |toBlock|, ensure
that the children are children of |fromBlock|. If we never entered the
loop, they will be siblings of |fromBlock|, not children.

LayoutTests:

* fast/multicol/fuzzed-test-case-expected.txt: Added.
* fast/multicol/fuzzed-test-case.html: Added.

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

5 years agoBuild fix after http://trac.webkit.org/changeset/167085.
enrica@apple.com [Thu, 10 Apr 2014 22:17:45 +0000 (22:17 +0000)]
Build fix after trac.webkit.org/changeset/167085.

Reviewed by Timothy Hatcher.

* plugins/PluginData.h:

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

5 years agoWeb Inspector: Breakpoint in gutter has clipped / broken border image.
zalan@apple.com [Thu, 10 Apr 2014 22:09:47 +0000 (22:09 +0000)]
Web Inspector: Breakpoint in gutter has clipped / broken border image.
https://bugs.webkit.org/show_bug.cgi?id=131500

Reviewed by Joseph Pecoraro.

Typo in r166925.

Source/WebCore:

Test: fast/borders/border-image-slice-missing-right.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintNinePieceImage):

LayoutTests:

* fast/borders/border-image-slice-missing-right-expected.html: Added.
* fast/borders/border-image-slice-missing-right.html: Added.

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

5 years agoWeb Inspector: AXI: expose aria-busy state of current and ancestor nodes
commit-queue@webkit.org [Thu, 10 Apr 2014 21:44:36 +0000 (21:44 +0000)]
Web Inspector: AXI: expose aria-busy state of current and ancestor nodes
https://bugs.webkit.org/show_bug.cgi?id=130826

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

Source/WebCore:

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

Expose if node is contained by any "busy" ancestor nodes, too.

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

LayoutTests:

Expose if node is contained by any "busy" ancestor nodes, too.

* inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
* inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

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

5 years ago[Win] Unreviewed 64-bit Build Fix.
bfulgham@apple.com [Thu, 10 Apr 2014 21:27:21 +0000 (21:27 +0000)]
[Win] Unreviewed 64-bit Build Fix.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Provide
proper mangled names for 64-bit build.

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

5 years agoWIP for inlining C++. Added a build target to produce LLVM IR.
commit-queue@webkit.org [Thu, 10 Apr 2014 21:25:57 +0000 (21:25 +0000)]
WIP for inlining C++.  Added a build target to produce LLVM IR.
https://bugs.webkit.org/show_bug.cgi?id=130523

Patch by Matthew Mirman <mmirman@apple.com> on 2014-04-10
Reviewed by Mark Rowe.

* JavaScriptCore.xcodeproj/project.pbxproj:
* build-symbol-table-index.py: Added.
* build-symbol-table-index.sh: Added.
* Configurations/CompileRuntimeToLLVMIR.xcconfig: Added.
* copy-llvm-ir-to-derived-sources.sh: Added.

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

5 years agoWeb Inspector: Remove unused ruler in overlay code
commit-queue@webkit.org [Thu, 10 Apr 2014 20:57:42 +0000 (20:57 +0000)]
Web Inspector: Remove unused ruler in overlay code
https://bugs.webkit.org/show_bug.cgi?id=131507

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

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForHighlight):
* inspector/InspectorOverlay.h:
(WebCore::Highlight::Highlight):
(WebCore::Highlight::setDataFromConfig):
* inspector/InspectorOverlayPage.js:
(_drawFragmentHighlight):
(_drawRegionNumber): Deleted.
(quadToPath): Deleted.
(drawOutlinedQuad): Deleted.
(pathCommand): Deleted.
(drawPath): Deleted.
(drawOutlinedQuadWithClip): Deleted.
(quadEquals): Deleted.
(drawGutter): Deleted.
(drawNodeHighlight): Deleted.
(drawQuadHighlight): Deleted.
(setPlatform): Deleted.
(dispatch): Deleted.
(log): Deleted.

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

5 years agoWeb Replay: memoize plugin data for navigator.mimeTypes and navigator.plugins
burg@cs.washington.edu [Thu, 10 Apr 2014 20:52:31 +0000 (20:52 +0000)]
Web Replay: memoize plugin data for navigator.mimeTypes and navigator.plugins
https://bugs.webkit.org/show_bug.cgi?id=131341

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Add support for encoding/decoding unsigned long with EncodedValue.
It is a distinct type from uint32_t and uint64_t.

* replay/EncodedValue.cpp:
(JSC::EncodedValue::convertTo<unsigned long>):
* replay/EncodedValue.h:

Source/WebCore:

Information about plugins and mime types is nondeterministic and can change
at any time, whether by system events, browser settings changes, or
triggered by script. To avoid interposing on all those code paths, just
memoize the plugin data used by DOMPluginArray and DOMMimeTypeArray.

This is less efficient than controlling mutations to the underlying PluginData
of a Page, but that can be done later if better plugin support is desired.
The point of this change is to make analytics trackers deterministic across
enabling/disabling of plugins.

Test: LayoutTests/inspector/window-navigator-plugins-memoized.hml

* plugins/DOMMimeTypeArray.cpp:
(WebCore::DOMMimeTypeArray::getPluginData):
* plugins/DOMPluginArray.cpp:
(WebCore::DOMPluginArray::pluginData): Save or restore memoized plugin
data during capture and replay, respectively.

* plugins/PluginData.h:
(WebCore::PluginData::PluginData): Add a constructor that uses the
provided plugin data rather than fetching live plugin data. This is
marked protected so it's only used by a subclass specifically for
deserialization.

* replay/SerializationMethods.cpp: Add encoder specializations.
(JSC::EncodingTraits<MimeClassInfo>::encodeValue):
(JSC::EncodingTraits<MimeClassInfo>::decodeValue):
(JSC::EncodingTraits<PluginInfo>::encodeValue):
(JSC::EncodingTraits<PluginInfo>::decodeValue):
(JSC::EncodingTraits<PluginData>::encodeValue):
(JSC::DeserializedPluginData::DeserializedPluginData): Add a custom
subclass of PluginData that can be initialized from deserialized data.
(JSC::EncodingTraits<PluginData>::decodeValue):
* replay/SerializationMethods.h:
* replay/WebInputs.json: Add new input FetchPluginData.

LayoutTests:

Add support for different setup methods before the initial navigation of
capture and replay. This is necessary to test that the value of
navigator.plugins is the same on replay even if the underlying data changed.

* http/tests/inspector/replay/replay-test.js:
(InspectorTestProxy.runSingleSegmentRefTest): Add calls to optional setup
functions in the test page called setupPreCapture and setupPreReplay.

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

5 years agoUnreviewed GTK build fix after r167074.
svillar@igalia.com [Thu, 10 Apr 2014 19:26:28 +0000 (19:26 +0000)]
Unreviewed GTK build fix after r167074.

This involves replacing resetDragSession() by
resetCurrentDragInformation() and dragSession().operation by
currentDragOperation().

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDragDataReceived):
(webkitWebViewBaseDragMotion):
(dragExitedCallback):

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

5 years ago[GTK] Unreviewed GTK gardening.
commit-queue@webkit.org [Thu, 10 Apr 2014 19:22:48 +0000 (19:22 +0000)]
[GTK] Unreviewed GTK gardening.

Update text expectations for new failing tests:
  accessibility/help-text.html
  fast/css/cascade/box-shadow-and-webkit-box-shadow-cascade-order.html
  fast/css3-text/css3-text-decoration/text-decoration-skip/glyph-inside-underline.html

Update test expectations related with highdpi still not supported.

On r166930 test media/track/opera/interfaces/TextTrackList/onremovetrack.html
was moved to media/track/w3c/interfaces/TextTrackList/onremovetrack.html.
Now it passes. Remove the expectation.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-04-10

* platform/gtk/TestExpectations:

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

5 years agoRemove "System Font" from character width calculations
mmaxfield@apple.com [Thu, 10 Apr 2014 19:16:54 +0000 (19:16 +0000)]
Remove "System Font" from character width calculations
https://bugs.webkit.org/show_bug.cgi?id=131411

Reviewed by Tim Horton.

Covered by existing tests

* platform/graphics/Font.cpp:
(WebCore::Font::hasValidAverageCharWidth):

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

5 years ago[Gtk] run-launcher doesn't work by default
b.long@cablelabs.com [Thu, 10 Apr 2014 19:10:58 +0000 (19:10 +0000)]
[Gtk] run-launcher doesn't work by default
https://bugs.webkit.org/show_bug.cgi?id=131494

Reviewed by Philippe Normand.

* Scripts/run-launcher: Always use MiniBrowser for WebKitGTK.
* Scripts/webkitdirs.pm:
(launcherName): Same.
* Scripts/webkitpy/style/checker.py: Remove reference to GtkLauncher.
* gtk/common.py:
(get_build_path.is_valid_build_directory): Same.
* gtk/manifest.txt: Same.

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

5 years ago[Cairo] Implement ShareableBitmap::paint() with scale factor
commit-queue@webkit.org [Thu, 10 Apr 2014 19:03:20 +0000 (19:03 +0000)]
[Cairo] Implement ShareableBitmap::paint() with scale factor
https://bugs.webkit.org/show_bug.cgi?id=64665

Patch by Owen Taylor <otaylor@redhat.com> on 2014-04-10
Reviewed by Martin Robinson.

* Shared/cairo/ShareableBitmapCairo.cpp (WebKit::ShareableBitmap::paint):

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

5 years agoInvalid cast in WebCore::RenderLayer::setupClipPath
bjonesbe@adobe.com [Thu, 10 Apr 2014 18:53:54 +0000 (18:53 +0000)]
Invalid cast in WebCore::RenderLayer::setupClipPath
https://bugs.webkit.org/show_bug.cgi?id=131368

Reviewed by Dirk Schulze.

Source/WebCore:

Only attempt to clip to a box shape if the renderer being clipped is
actually a box.

Test: css3/masking/clip-path-box-shape-on-inline-crash.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupClipPath): Add isBox() check.

LayoutTests:

* css3/masking/clip-path-box-shape-on-inline-crash-expected.txt: Added.
* css3/masking/clip-path-box-shape-on-inline-crash.html: Added.

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

5 years ago[GTK] Remove a comment that was incorrectly cut-and-pasted from WidgetBackingStoreCairo
commit-queue@webkit.org [Thu, 10 Apr 2014 18:20:14 +0000 (18:20 +0000)]
[GTK] Remove a comment that was incorrectly cut-and-pasted from WidgetBackingStoreCairo
https://bugs.webkit.org/show_bug.cgi?id=131499

Patch by Owen Taylor <otaylor@redhat.com> on 2014-04-10
Reviewed by Martin Robinson.

* platform/gtk/WidgetBackingStoreGtkX11.cpp: Remove a comment that was incorrectly copy and pasted
from the Cairo implementation.

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

5 years agoUnreviewed iOS build fix after http://trac.webkit.org/changeset/167074
enrica@apple.com [Thu, 10 Apr 2014 18:00:42 +0000 (18:00 +0000)]
Unreviewed iOS build fix after trac.webkit.org/changeset/167074

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

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

5 years agoLLINT loadisFromInstruction should handle the big endian case.
mark.lam@apple.com [Thu, 10 Apr 2014 17:50:15 +0000 (17:50 +0000)]
LLINT loadisFromInstruction should handle the big endian case.
<https://webkit.org/b/131495>

Reviewed by Mark Hahnenberg.

The LLINT loadisFromInstruction macro aims to load the least significant
32-bit word from the 64-bit bytecode instruction stream and sign extend
it.  For big endian machines, the current implementation would load the
wrong 32-bit word.

Without this fix, the JSC tests will crash on big endian machines.
Thanks to Tomas Popela for diagnosing this issue.

* llint/LowLevelInterpreter.asm:

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

5 years agoGtk build fix.
ap@apple.com [Thu, 10 Apr 2014 17:37:10 +0000 (17:37 +0000)]
Gtk build fix.

* WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::performDragControllerAction):

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

5 years agoEliminate DragSession structure
ap@apple.com [Thu, 10 Apr 2014 17:33:29 +0000 (17:33 +0000)]
Eliminate DragSession structure
https://bugs.webkit.org/show_bug.cgi?id=131465

Reviewed by Benjamin Poulain.

Source/WebCore:

DragSession is really just a transient response to NSDragDestination delegate methods.
The "session" name was quite misleading, and thankfully, we don't need a class for this
bag of data at all.

* WebCore.xcodeproj/project.pbxproj:
* page/DragController.cpp:
(WebCore::DragController::DragController):
(WebCore::DragController::dragEntered):
(WebCore::DragController::dragUpdated):
(WebCore::DragController::dragEnteredOrUpdated):
(WebCore::DragController::tryDocumentDrag):
* page/DragController.h:
(WebCore::DragController::mouseIsOverFileInput):
(WebCore::DragController::numberOfItemsToBeAccepted):
* page/DragSession.h: Removed.

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView draggingEntered:]):
(-[WebView draggingUpdated:]):

Source/WebKit/win:

* WebView.cpp:
(WebView::DragEnter):
(WebView::DragOver):

Source/WebKit2:

* Scripts/webkit2/messages.py:
(struct_or_class):
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<DragSession>::encode): Deleted.
(IPC::ArgumentCoder<DragSession>::decode): Deleted.
* Shared/WebCoreArgumentCoders.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView draggingEntered:]):
(-[WKView draggingUpdated:]):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::didPerformDragControllerAction):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::currentDragOperation):
(WebKit::WebPageProxy::currentDragIsOverFileInput):
(WebKit::WebPageProxy::currentDragNumberOfFilesToBeAccepted):
(WebKit::WebPageProxy::resetCurrentDragInformation):
(WebKit::WebPageProxy::dragSession): Deleted.
(WebKit::WebPageProxy::resetDragSession): Deleted.
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::performDragControllerAction):

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

5 years ago[GStreamer] No CORS support for media elements
commit-queue@webkit.org [Thu, 10 Apr 2014 15:46:10 +0000 (15:46 +0000)]
[GStreamer] No CORS support for media elements
https://bugs.webkit.org/show_bug.cgi?id=99037

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-04-10
Reviewed by Philippe Normand.

Source/WebCore:

Added CORS access control check to media sources when crossorigin attribute is set.

Added getter to CORS access control check status (used to compute whether the stream is tainted or not).
Related test is http/tests/security/video-cross-origin-readback.html.

Disabled access to cross-origin streams that fail CORS check when crossorigin attribute is set.
Related test is http/tests/security/video-cross-origin-accessfailure.html.

Tests: http/tests/security/video-cross-origin-accessfailure.html
       http/tests/security/video-cross-origin-accesssameorigin.html

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::didPassCORSAccessCheck): Return whether media is cross-origin (tainted) or not by querying the gstreamer source layer.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Added MediaPlayerPrivateGStreamer::didPassCORSAccessCheck declaration.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart): Passed CORS mode parameter to the streaming client. In case of CORS check failure, stop the resource loading.
(webKitSrcPassedCORSAccessCheck): Return whether CORS access control check was done and successful.
(StreamingClient::handleResponseReceived): Take a parameter to assign the CORS access control check result.
(CachedResourceStreamingClient::CachedResourceStreamingClient): Updated setting of the ResourceLoaderOptions according CORS mode.
(CachedResourceStreamingClient::responseReceived): Check CORS and pass result to handleResponseReceived.
(ResourceHandleStreamingClient::didReceiveResponse): No CORS check.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Added webKitSrcPassedCORSAccessCheck declaration.

LayoutTests:

http/tests/security/video-cross-origin-accessfailure.html verifies that cross-origin streams that fail CORS check
are not played when crossorigin attribute is set.
 http/tests/security/video-cross-origin-accesssameorigin.html verifies that access to same-origin streams
are played when crossorigin attribute is set.

* http/tests/security/video-cross-origin-accessfailure-expected.txt: Added.
* http/tests/security/video-cross-origin-accessfailure.html: Added.
* http/tests/security/video-cross-origin-accesssameorigin-expected.txt: Added.
* http/tests/security/video-cross-origin-accesssameorigin.html: Added.
* platform/efl/TestExpectations: Enabled http/tests/security/video-cross-origin-readback.html.
* platform/gtk/TestExpectations: Ditto.
* platform/mac/TestExpectations: Disabled http/tests/security/video-cross-origin-accessfailure.html.

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

5 years ago[GTK] LayerTreeHostGtk is creating a software scene graph
mrobinson@webkit.org [Thu, 10 Apr 2014 14:42:48 +0000 (14:42 +0000)]
[GTK] LayerTreeHostGtk is creating a software scene graph
https://bugs.webkit.org/show_bug.cgi?id=131471

Reviewed by Sergio Villar Senin.

At some point, a regression was introduced that sent the GTK+ WebKit2 scenegraph down the
software route. The rest of the file depends on the fact that the TextureMapper is the OpenGL
variety, so we should force that explicitly. This is causing crashes locally and soon we
should be able to test this directly.

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::initialize): Force the use of the OpenGL scenegraph.

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

5 years agoMove UseJSC.cmake back to CMakeLists.txt
commit-queue@webkit.org [Thu, 10 Apr 2014 13:10:04 +0000 (13:10 +0000)]
Move UseJSC.cmake back to CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=130834

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-04-10
Reviewed by Csaba Osztrogonác.

No new tests required.

* CMakeLists.txt:
* UseJSC.cmake: Removed.

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

5 years agoREGRESSION (r166860): ASSERTION FAILED: !isCalculated() on fast/css/image-set-value...
ap@apple.com [Thu, 10 Apr 2014 06:40:01 +0000 (06:40 +0000)]
REGRESSION (r166860): ASSERTION FAILED: !isCalculated() on fast/css/image-set-value-not-removed-crash.html
https://bugs.webkit.org/show_bug.cgi?id=131480

* platform/mac/TestExpectations: Skipped the test in debug builds.

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

5 years agoUnreviewed, rolling out r167046.
commit-queue@webkit.org [Thu, 10 Apr 2014 06:33:11 +0000 (06:33 +0000)]
Unreviewed, rolling out r167046.
https://bugs.webkit.org/show_bug.cgi?id=131479

Caused 300+ failures on Mavericks WK1 tester (Requested by ap
on #webkit).

Reverted changeset:

Source/WebCore:

"Remove "System Font" from whitelisted DRT fonts and char
width calculations"
https://bugs.webkit.org/show_bug.cgi?id=131411
http://trac.webkit.org/changeset/167046

Tools:

"Remove "System Font" from whitelisted DRT fonts and char
width calculations"
https://bugs.webkit.org/show_bug.cgi?id=131411
http://trac.webkit.org/changeset/167046

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

5 years ago[WK2] fast/repaint/obscured-background-no-repaint.html is very flaky
ap@apple.com [Thu, 10 Apr 2014 06:25:24 +0000 (06:25 +0000)]
[WK2] fast/repaint/obscured-background-no-repaint.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=131477

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

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

5 years agoVersioning.
bshafiei@apple.com [Thu, 10 Apr 2014 06:25:06 +0000 (06:25 +0000)]
Versioning.

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

5 years agoWebVTT tests don't work because of a 800x600 snapshot (but are very flaky anyway)
ap@apple.com [Thu, 10 Apr 2014 06:17:05 +0000 (06:17 +0000)]
WebVTT tests don't work because of a 800x600 snapshot (but are very flaky anyway)
https://bugs.webkit.org/show_bug.cgi?id=131476

* platform/mac/TestExpectations: Skip them.

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

5 years agoFix build failure when #if USE(XPC_SERVICES) is false.
commit-queue@webkit.org [Thu, 10 Apr 2014 04:50:53 +0000 (04:50 +0000)]
Fix build failure when #if USE(XPC_SERVICES) is false.
https://bugs.webkit.org/show_bug.cgi?id=131474

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-04-09
Reviewed by Dan Bernstein.

Fix build.

* UIProcess/ios/WebProcessProxyIOS.mm:
Add #if around BackgroundTabFlags ForegroundTabFlags to prevent unused variable error.

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

5 years agoFix build failure.
jonlee@apple.com [Thu, 10 Apr 2014 04:42:34 +0000 (04:42 +0000)]
Fix build failure.
https://bugs.webkit.org/show_bug.cgi?id=131473

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-04-09
Reviewed by Dan Bernstein.

Fix build failure.

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(mediaSelectionOptions):

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

5 years ago[EFL][WK2] Add API to set preferred languages
ryuan.choi@samsung.com [Thu, 10 Apr 2014 04:04:53 +0000 (04:04 +0000)]
[EFL][WK2] Add API to set preferred languages
https://bugs.webkit.org/show_bug.cgi?id=131435

Reviewed by Gyuyoung Kim.

Add ewk_context_preferred_languages_set to change the list of "Accept-Language".
This list is used to receive alternative version of contents, which is related
to specified languages from the contents provider.

* UIProcess/API/efl/ewk_context.cpp:
(ewk_context_preferred_languages_set):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(serverCallback):
(TEST_F): Added test case for ewk_context_preferred_languages_set

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

5 years agoTemporarily disable the JIT for the Windows port.
mark.lam@apple.com [Thu, 10 Apr 2014 03:55:29 +0000 (03:55 +0000)]
Temporarily disable the JIT for the Windows port.
<https://webkit.org/b/131470>

Reviewed by Brent Fulgham.

This is a temporary stop gap measure to green the Windows bots until
we have a fix for https://webkit.org/b/131182.

* runtime/Options.cpp:
(JSC::recomputeDependentOptions):

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

5 years ago[iOS][WK2] Add the initial WebProcess handling of animated resize for rotation
benjamin@webkit.org [Thu, 10 Apr 2014 03:39:33 +0000 (03:39 +0000)]
[iOS][WK2] Add the initial WebProcess handling of animated resize for rotation
https://bugs.webkit.org/show_bug.cgi?id=131469

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-09
Reviewed by Tim Horton.

Add the basic handling of dynamic resize from the WebProcess.

On animated resize, the UIProcess decides new target rects and scale. The information
is then passed to the WebProcess to update the content.

For various reason, the target rects and scale computed by the UIProcess can be incorrect
(for example, if viewport constraints limit the scale).

In those cases, the WebProcess has all the information to compute a better target. This patch
adds such a basic update mechanism.

Once the new values are computed, they are sent back to the UIProcess. If the rotation animation
is still ongoing, we do not want mess with it. What we do is set a temporary transform on the subviews
and restore the real value after the animation. The key is to have the two matrix multiplying to the end
value so that there is no visual difference.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:]):
(setViewportConfigurationMinimumLayoutSize):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _setMinimumLayoutSizeOverride:]):
(-[WKWebView _beginAnimatedResizeToSize:obscuredInsets:minimumLayoutSizeOverride:]):
(-[WKWebView _endAnimatedResize]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/API/ios/WKViewIOS.mm:
(-[WKView _frameOrBoundsChanged]):
(-[WKView setMinimumLayoutSizeOverride:]):
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::dynamicViewportUpdateChangedTarget):
* UIProcess/ios/WKContentView.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView setMinimumLayoutSize:]): Deleted.
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dynamicViewportSizeUpdate):

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

5 years ago[FTL] Emit multibyte NOPs on X86-64
commit-queue@webkit.org [Thu, 10 Apr 2014 02:38:12 +0000 (02:38 +0000)]
[FTL] Emit multibyte NOPs on X86-64
https://bugs.webkit.org/show_bug.cgi?id=131394

Patch by Juergen Ributzka <juergen@apple.com> on 2014-04-09
Reviewed by Michael Saboff.

* assembler/X86Assembler.h:
(JSC::X86Assembler::fillNops):

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

5 years agoUnreviewed build fix after http://trac.webkit.org/changeset/167045
enrica@apple.com [Thu, 10 Apr 2014 01:47:51 +0000 (01:47 +0000)]
Unreviewed build fix after trac.webkit.org/changeset/167045

The file contained an invalid character.

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::enterFullscreen):

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

5 years ago[iOS] Media controls should resize as the user zooms
dino@apple.com [Thu, 10 Apr 2014 01:06:31 +0000 (01:06 +0000)]
[iOS] Media controls should resize as the user zooms
https://bugs.webkit.org/show_bug.cgi?id=131322

Reviewed by Eric Carlson.

On iOS the media controls should remain the same size
independent of user zoom. Have the HTMLMediaElement optionally
register for updates in the page scale to apply an inverse
scale.

* Modules/mediacontrols/MediaControlsHost.cpp: New exposed property that calls
back into HTMLMediaElement::mediaControlsDependOnPageScaleFactor.
(WebCore::MediaControlsHost::controlsDependOnPageScaleFactor):
(WebCore::MediaControlsHost::setControlsDependOnPageScaleFactor):
* Modules/mediacontrols/MediaControlsHost.h: Keep a reference to the actual
controls from the JavaScript side so we can talk to it later.
(WebCore::MediaControlsHost::controllerJSValue):
(WebCore::MediaControlsHost::setControllerJSValue):
* Modules/mediacontrols/MediaControlsHost.idl: Expose controlsDependOnPageScaleFactor.

* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-panel): Specify the transform origin so that
scaling will keep the controls pinned to the bottom left corner.
(audio::-webkit-media-controls-start-playback-button): Update to the correct size
and provide new artwork.
(audio::-webkit-media-controls-start-playback-button.failed): New artwork.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS): Tell the host that these controls care about the page scale.
(ControllerIOS.prototype.get pageScaleFactor): New getter.
(ControllerIOS.prototype.set pageScaleFactor): When set, update the play button and the panel.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): Small naming cleanup.
(setPageScaleFactorProperty): Static helper to set a JS property value.
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): Keep a reference to the controls object,
and make sure to set the page scale factor on the controls.
(WebCore::HTMLMediaElement::pageScaleFactorChanged): Implement the callback, telling
the controls object that it needs to relayout.

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

5 years agoTry to fix iOS build.
antti@apple.com [Thu, 10 Apr 2014 00:51:28 +0000 (00:51 +0000)]
Try to fix iOS build.

* platform/graphics/ca/mac/TileController.mm:

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

5 years agoREGRESSION (r165908): ~QuickLookHandle() tries to dereference a null ResourceHandle
aestes@apple.com [Thu, 10 Apr 2014 00:48:45 +0000 (00:48 +0000)]
REGRESSION (r165908): ~QuickLookHandle() tries to dereference a null ResourceHandle
https://bugs.webkit.org/show_bug.cgi?id=131467

Reviewed by Tim Horton.

QuickLookHandle stored a ResourceHandle pointer in order to later
retrive the URL of its firstRequest(), but after r165908 we no longer
always have a ResourceHandle. Since firstRequest()'s URL is the only
thing we need from ResourceHandle, store it directly rather than a
ResourceHandle pointer. In the case where we create a QuickLookHandle
from a ResourceLoader rather than a ResourceHandle, pass the loader's
originalRequest(), which represents the same request as firstRequest()
(i.e. the request after willSendRequest() but before redirects).

* platform/network/ios/QuickLook.h:
* platform/network/ios/QuickLook.mm:
(WebCore::QuickLookHandle::QuickLookHandle):
(WebCore::QuickLookHandle::create):
(WebCore::QuickLookHandle::didFail):
(WebCore::QuickLookHandle::~QuickLookHandle):

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

5 years agoAX: Bug in AccessibilityNodeObject::helpText
commit-queue@webkit.org [Thu, 10 Apr 2014 00:18:49 +0000 (00:18 +0000)]
AX: Bug in AccessibilityNodeObject::helpText
https://bugs.webkit.org/show_bug.cgi?id=130386

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

Source/WebCore:

Test: accessibility/help-text.html

Ancestor loop was always checking attribute of original node rather than current node.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::helpText):

LayoutTests:

Tests accessibility help text in a variety of examples.

* accessibility/help-text-expected.txt: Added.
* accessibility/help-text.html: Added.

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

5 years ago[Win] Unreviewed bot maintenance. Re-add a number of passing
bfulgham@apple.com [Thu, 10 Apr 2014 00:10:30 +0000 (00:10 +0000)]
[Win] Unreviewed bot maintenance. Re-add a number of passing
tests, and turn off a few failures.

* platform/win/TestExpectations:

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

5 years agoRegression: AX: list heuristics sometimes determined as presentational even when...
cfleizach@apple.com [Wed, 9 Apr 2014 23:51:28 +0000 (23:51 +0000)]
Regression: AX: list heuristics sometimes determined as presentational even when explicit roles applied
https://bugs.webkit.org/show_bug.cgi?id=131041

Reviewed by Mario Sanchez Prada.

Source/WebCore:

When display:table is used on a list item, it inserts RenderObjects that can be ignored as the children
of the list. This allows normal list heuristics to be applied.

* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::computeAccessibilityIsIgnored):

LayoutTests:

* accessibility/list-detection-expected.txt:
* accessibility/list-detection.html:

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

5 years agoTry to fix the GTK+ build after resetDragOperation rename
mrobinson@webkit.org [Wed, 9 Apr 2014 23:37:39 +0000 (23:37 +0000)]
Try to fix the GTK+ build after resetDragOperation rename

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDragDataReceived): Rename resetDragOperation to resetDragSession.
(dragExitedCallback): Ditto.

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

5 years agoRebaseline some tests for GTK+
mrobinson@webkit.org [Wed, 9 Apr 2014 23:34:05 +0000 (23:34 +0000)]
Rebaseline some tests for GTK+

* platform/gtk/editing/input/scroll-viewport-page-up-down-expected.txt:
* platform/gtk/fast/text/international/cjk-segmentation-expected.txt: Added.
* platform/gtk/http/tests/xmlhttprequest/cache-override-expected.txt: Added.
* platform/gtk/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Added.
* platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt:
* platform/gtk/plugins/nested-plugin-objects-expected.txt: Added.
* platform/gtk/plugins/netscape-destroy-plugin-script-objects-expected.txt: Added.
* platform/gtk/sputnik/Unicode/Unicode_320/S7.6_A2.2_T2-expected.txt: Added.
* platform/gtk/sputnik/Unicode/Unicode_320/S7.6_A5.2_T8-expected.txt: Added.
* platform/gtk/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt: Added.
* platform/gtk/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt: Added.
* platform/gtk/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt: Added.
* platform/gtk/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt: Added.
* platform/gtk/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt: Added.
* platform/gtk/svg/custom/object-no-size-attributes-expected.txt:
* platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Added.

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

5 years agoRolled back in r166972.
ggaren@apple.com [Wed, 9 Apr 2014 23:16:55 +0000 (23:16 +0000)]
Rolled back in r166972.

This time, we conditionally exclude linking against bmalloc in Production
builds. Production builds will not be able to link against bmalloc
until the Production build system has been updated to build bmalloc.

    WTF should link against bmalloc
    https://bugs.webkit.org/show_bug.cgi?id=131403

    Reviewed by Mark Rowe.

    * Configurations/WTF.xcconfig:
    * WTF.xcodeproj/project.pbxproj:

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

5 years agoPut bmalloc headers in the right place
ggaren@apple.com [Wed, 9 Apr 2014 23:11:22 +0000 (23:11 +0000)]
Put bmalloc headers in the right place
https://bugs.webkit.org/show_bug.cgi?id=131464

Reviewed by Mark Rowe.

../bmalloc:

* Configurations/bmalloc.xcconfig: Set PRIVATE_HEADERS_FOLDER_PATH to
specify that we don't just want to dump all of our generically-named
headers into /usr/local/include.

../WTF:

* wtf/FastMalloc.cpp: Use "<bmalloc/...>" syntax so we can find our
headers in <header-root>/usr/local/include/bmalloc/.

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

5 years agoTileGrid should be PlatformCALayerClient instead of TileController
antti@apple.com [Wed, 9 Apr 2014 23:03:06 +0000 (23:03 +0000)]
TileGrid should be PlatformCALayerClient instead of TileController
https://bugs.webkit.org/show_bug.cgi?id=131456

Switch one more place to use removeTiles.

* platform/graphics/ca/mac/TileGrid.mm:
(WebCore::TileGrid::revalidateTiles):

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

5 years agoRemove "System Font" from whitelisted DRT fonts and char width calculations
mmaxfield@apple.com [Wed, 9 Apr 2014 22:54:26 +0000 (22:54 +0000)]
Remove "System Font" from whitelisted DRT fonts and char width calculations
https://bugs.webkit.org/show_bug.cgi?id=131411

Reviewed by Tim Horton.

Covered by existing tests.

Source/WebCore:

* platform/graphics/Font.cpp:
(WebCore::Font::hasValidAverageCharWidth):

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm:
(allowedFontFamilySet):

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

5 years agoFullscreen does two view controller changes at once
commit-queue@webkit.org [Wed, 9 Apr 2014 22:35:12 +0000 (22:35 +0000)]
Fullscreen does two view controller changes at once
https://bugs.webkit.org/show_bug.cgi?id=131432

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-04-09
Reviewed by Eric Carlson.

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::enterFullscreen):
delay -presentViewController on the main run loop to allow
previous view controller change to complete.

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

5 years agoEnable fullscreen captions selection
commit-queue@webkit.org [Wed, 9 Apr 2014 22:33:23 +0000 (22:33 +0000)]
Enable fullscreen captions selection
https://bugs.webkit.org/show_bug.cgi?id=131069

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-04-09
Reviewed by Eric Carlson.

Source/WebCore:

Enable media selection options from fullscreen. i.e. captions.

* WebCore.exp.in:
Add exports for
setAudioMediaSelectionOptions
setLegibleMediaSelectionOptions
selectAudioMediaOption
selectLegibleMediaOption

* platform/ios/WebVideoFullscreenInterface.h:
Add setAudioMediaSelectionOptions/setLegibleMediaSelectionOptions

* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
Add setAudioMediaSelectionOptions/setLegibleMediaSelectionOptions

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
Add setAudioMediaSelectionOptions/setLegibleMediaSelectionOptions

(-[WebAVPlayerController dealloc]):
(-[WebAVPlayerController hasMediaSelectionOptions]):
(+[WebAVPlayerController keyPathsForValuesAffectingHasMediaSelectionOptions]):
(-[WebAVPlayerController hasAudioMediaSelectionOptions]):
(+[WebAVPlayerController keyPathsForValuesAffectingHasAudioMediaSelectionOptions]):
(-[WebAVPlayerController hasLegibleMediaSelectionOptions]):
(+[WebAVPlayerController keyPathsForValuesAffectingHasLegibleMediaSelectionOptions]):
(-[WebAVPlayerController currentAudioMediaSelectionOption]):
(-[WebAVPlayerController setCurrentAudioMediaSelectionOption:]):
(-[WebAVPlayerController currentLegibleMediaSelectionOption]):
(-[WebAVPlayerController setCurrentLegibleMediaSelectionOption:]):
(WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions):
(WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions):
* platform/ios/WebVideoFullscreenModel.h:
Add selectAudioMediaOption/selectLegibleMediaOption

* platform/ios/WebVideoFullscreenModelMediaElement.h:
Add selectAudioMediaOption/selectLegibleMediaOption

* platform/ios/WebVideoFullscreenModelMediaElement.mm:
Add selectAudioMediaOption/selectLegibleMediaOption

(WebVideoFullscreenModelMediaElement::setMediaElement):
Send initial media selection options.

(WebVideoFullscreenModelMediaElement::selectAudioMediaOption):
Will be implemented when audio track slection is implemented.

(WebVideoFullscreenModelMediaElement::selectLegibleMediaOption):
Select corresponding text track on HTMLMediaElement.

Source/WebKit2:

Enable media selection in fullscreen.
setLegibleMediaSelectionOptions/setAudioMediaSelectionOptions provide a list of options.
selectAudioMediaOption/selectLegibleMediaOption change the selected option.

* UIProcess/ios/WebVideoFullscreenManagerProxy.h:
Add selectAudioMediaOption/selectLegibleMediaOption

* UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
Add selectAudioMediaOption/selectLegibleMediaOption

* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::selectAudioMediaOption):
Add selectAudioMediaOption

(WebKit::WebVideoFullscreenManagerProxy::selectLegibleMediaOption):
Add selectLegibleMediaOption

* WebProcess/ios/WebVideoFullscreenManager.h:
Add setAudioMediaSelectionOptions/setLegibleMediaSelectionOptions

* WebProcess/ios/WebVideoFullscreenManager.messages.in:
Add setAudioMediaSelectionOptions/setLegibleMediaSelectionOptions

* WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::setAudioMediaSelectionOptions):
Add setAudioMediaSelectionOptions

(WebKit::WebVideoFullscreenManager::setLegibleMediaSelectionOptions):
Add setLegibleMediaSelectionOptions

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

5 years agosystemHiddenFontFamilySet in DRT is unnecessary
mmaxfield@apple.com [Wed, 9 Apr 2014 22:33:16 +0000 (22:33 +0000)]
systemHiddenFontFamilySet in DRT is unnecessary
https://bugs.webkit.org/show_bug.cgi?id=131414

Reviewed by Tim Horton.

It doesn't seem to affect test results on my machine.

* DumpRenderTree/mac/DumpRenderTree.mm:
(drt_NSFontManager_availableFonts):
(systemHiddenFontFamilySet): Deleted.

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

5 years ago[CSS Shapes] Add no shapes version of RegionsShapes performance test
zoltan@webkit.org [Wed, 9 Apr 2014 22:31:34 +0000 (22:31 +0000)]
[CSS Shapes] Add no shapes version of RegionsShapes performance test
https://bugs.webkit.org/show_bug.cgi?id=131455

Reviewed by Ryosuke Niwa.

This is a no shapes version of the RegionsShapes performance test. All the content
will wrap around the floating containers. This way we can compare the runtime/memory
usage of the RegionsShapes test with/without shapes. The test is skipped by default.

* Layout/Shapes/RegionsShapesNoShapes.html: Added.
* Layout/Shapes/resources/RegionsShapesContentNoShapes.html: Added.

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

5 years agoTileGrid should be PlatformCALayerClient instead of TileController
antti@apple.com [Wed, 9 Apr 2014 22:29:15 +0000 (22:29 +0000)]
TileGrid should be PlatformCALayerClient instead of TileController
https://bugs.webkit.org/show_bug.cgi?id=131456

Reviewed by Tim Horton.

The client interface is for the tiles in the grid.

* platform/graphics/ca/mac/TileController.h:
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::setContentsScale):
(WebCore::TileController::createTileLayer):
(WebCore::TileController::platformCALayerPaintContents): Deleted.
(WebCore::TileController::platformCALayerDeviceScaleFactor): Deleted.
(WebCore::TileController::platformCALayerShowDebugBorders): Deleted.
(WebCore::TileController::platformCALayerShowRepaintCounter): Deleted.
(WebCore::TileController::platformCALayerIncrementRepaintCount): Deleted.
* platform/graphics/ca/mac/TileGrid.h:

    Move repaint counter to TileGrid too.

* platform/graphics/ca/mac/TileGrid.mm:
(WebCore::TileGrid::removeTiles):
(WebCore::TileGrid::removeAllSecondaryTiles):
(WebCore::TileGrid::removeTilesInCohort):

   Cleaned up tile removal.

(WebCore::TileGrid::revalidateTiles):
(WebCore::TileGrid::ensureTilesForRect):
(WebCore::TileGrid::platformCALayerPaintContents):
(WebCore::TileGrid::platformCALayerDeviceScaleFactor):
(WebCore::TileGrid::platformCALayerShowDebugBorders):
(WebCore::TileGrid::platformCALayerShowRepaintCounter):
(WebCore::TileGrid::platformCALayerContentsOpaque):
(WebCore::TileGrid::platformCALayerIncrementRepaintCount):
(WebCore::queueTileForRemoval): Deleted.

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

5 years agoRename some dragging functions
ap@apple.com [Wed, 9 Apr 2014 22:24:42 +0000 (22:24 +0000)]
Rename some dragging functions
https://bugs.webkit.org/show_bug.cgi?id=131460

Reviewed by Tim Horton.

Source/WebCore:

Renamed performDrag to performDragOperation. This function is responsible for
accepting a drop, not for the whole drag.

The new name is not perfect either, but I think that it's better, and at least
it matches AppKit, like the other dragging destination functions already do.

* WebCore.exp.in:
* page/DragController.cpp:
(WebCore::DragController::performDragOperation):
(WebCore::DragController::performDrag): Deleted.
* page/DragController.h:

Source/WebKit/mac:

Renamed performDrag to performDragOperation.

* WebView/WebView.mm: (-[WebView performDragOperation:]):

Source/WebKit/win:

Renamed performDrag to performDragOperation.

* WebView.cpp: (WebView::Drop):

Source/WebKit2:

Renamed performDrag to performDragOperation.

Also renamed resetDragOperation to resetDragSession, because it's m_dragSession
that it resets.

* Shared/DragControllerAction.h:
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDragDrop):
* UIProcess/API/mac/WKView.mm:
(-[WKView draggingEntered:]):
(-[WKView draggingExited:]):
(-[WKView performDragOperation:]):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::performDragOperation):
(WebKit::WebPageProxy::performDrag): Deleted.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::resetDragSession):
(WebKit::WebPageProxy::resetDragOperation): Deleted.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::performDragControllerAction):

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

5 years agoUpdate SPI for managing tabs
barraclough@apple.com [Wed, 9 Apr 2014 22:13:07 +0000 (22:13 +0000)]
Update SPI for managing tabs
https://bugs.webkit.org/show_bug.cgi?id=131453

Reviewed by Alexey Proskuryakov.

* Configurations/WebKit2.xcconfig:
    - added AssertionServices
* UIProcess/WebProcessProxy.h:
    - added m_assertion, m_assertionState.
* UIProcess/ios/WebProcessProxyIOS.mm:
(WebKit::WebProcessProxy::updateProcessState):
    - create BKSProcessAssertion to take an assertion.

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

5 years agoWK2: Dictated words disappear after being inserted.
enrica@apple.com [Wed, 9 Apr 2014 22:12:40 +0000 (22:12 +0000)]
WK2: Dictated words disappear after being inserted.
https://bugs.webkit.org/show_bug.cgi?id=131458
<rdar://problem/16395011>

Reviewed by Benjamin Poulain.

The dictation engine treats selected text as text to be
removed. We need to ensure that the range selected to insert the
new text isn't reflected in the UI process until we are done
inserting the text.

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

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

5 years agoUnreviewed. Updated ChangeLog comment for r167031: <http://trac.webkit.org/r167031>.
mark.lam@apple.com [Wed, 9 Apr 2014 21:52:14 +0000 (21:52 +0000)]
Unreviewed.  Updated ChangeLog comment for r167031: <trac.webkit.org/r167031>.

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

5 years agoGet rid of JITOperationWrappers.h header file.
commit-queue@webkit.org [Wed, 9 Apr 2014 21:41:40 +0000 (21:41 +0000)]
Get rid of JITOperationWrappers.h header file.
https://bugs.webkit.org/show_bug.cgi?id=131450

Patch by Julien Brianceau <jbriance@cisco.com> on 2014-04-09
Reviewed by Michael Saboff.

JITOperationWrappers header file contains architecture specific code that is
not needed anymore, so get rid of it.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGOperations.cpp:
* jit/JITOperationWrappers.h: Removed.
* jit/JITOperations.cpp:

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

5 years ago2014-04-09 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 9 Apr 2014 21:39:27 +0000 (21:39 +0000)]
2014-04-09  Geoffrey Garen  <ggaren@apple.com>

        Rolled back out r166972.

        The production buildbots are still broken because the build-root script
        doesn't build bmalloc.

        * WTF.xcodeproj/project.pbxproj:

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

5 years agoDon't offer "contact" actions in telephone number menus
beidson@apple.com [Wed, 9 Apr 2014 21:31:36 +0000 (21:31 +0000)]
Don't offer "contact" actions in telephone number menus
<rdar://problem/16556907> and https://bugs.webkit.org/show_bug.cgi?id=131451

Reviewed by Tim Horton.

* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::showTelephoneNumberMenu): Skip actions that have to do with contacts,
  and skip separators too!

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

5 years agoAX: Initial text selection point should respect element focus.
samuel_white@apple.com [Wed, 9 Apr 2014 21:13:24 +0000 (21:13 +0000)]
AX: Initial text selection point should respect element focus.
https://bugs.webkit.org/show_bug.cgi?id=131402

Reviewed by Chris Fleizach.

Source/WebCore:

No new tests, updated existing selection-initial to test this functionality.

Support the case where we want to set the initial selection and there's already a focused element.

* page/EventHandler.cpp:
(WebCore::setKeyboardSelection):
(WebCore::handleKeyboardSelectionMovement):

LayoutTests:

Updating test to make sure initial selection respects the focused element when necessary. Now, if a VoiceOver user attempts to use
arrow keys to read text and selection isn't set, we will set initial selection before/after the focused element if one is present.

* platform/mac/accessibility/selection-initial-expected.txt:
* platform/mac/accessibility/selection-initial.html:

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

5 years ago[Win] Unreviewed test fix: Don't double-release BSTR.
bfulgham@apple.com [Wed, 9 Apr 2014 21:07:14 +0000 (21:07 +0000)]
[Win] Unreviewed test fix: Don't double-release BSTR.

* DumpRenderTree/win/DumpRenderTree.cpp:
(dump): Remove unneeded call to SysFreeString now that we are
using _bstr_t for this variable.

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

5 years agoEnsure that LLINT accessing of the ProtoCallFrame is big endian friendly.
mark.lam@apple.com [Wed, 9 Apr 2014 20:23:20 +0000 (20:23 +0000)]
Ensure that LLINT accessing of the ProtoCallFrame is big endian friendly.
<https://webkit.org/b/131449>

Reviewed by Mark Hahnenberg.

Change ProtoCallFrame::paddedArgCount to be of type uint32_t.  The argCount
that it pads is of type int anyway.  It doesn't need to be 64 bit.  This
also makes it work with the LLINT which is loading it with a loadi
instruction.

We should add the PayLoadOffset to ProtoCallFrame::argCountAndCodeOriginValue
when loading the argCount.

* interpreter/ProtoCallFrame.h:
(JSC::ProtoCallFrame::setPaddedArgCount):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:

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

5 years ago[Win] Various DumpRenderTree Fixes.
bfulgham@apple.com [Wed, 9 Apr 2014 20:21:36 +0000 (20:21 +0000)]
[Win] Various DumpRenderTree Fixes.
https://bugs.webkit.org/show_bug.cgi?id=131446.

Reviewed by Tim Horton.

* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::title): Switch to _bstr_t. Use JSStringCreateWithBSTR.
(AccessibilityUIElement::description): Ditto.
(AccessibilityUIElement::helpText): Ditto.
(AccessibilityUIElement::intValue): Ditto.
(AccessibilityUIElement::isPressActionSupported): Ditto.
(AccessibilityUIElement::accessibilityValue): Ditto.
* DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
(DRTDesktopNotificationPresenter::QueryInterface): Get rid of uneeded STDMETHODCALLTYPE declaration.
(DRTDesktopNotificationPresenter::AddRef): Ditto.
(DRTDesktopNotificationPresenter::Release): Ditto.
(DRTDesktopNotificationPresenter::showDesktopNotification): Switch to _bstr_t. Use JSStringCreateWithBSTR.
(DRTDesktopNotificationPresenter::cancelDesktopNotification): Ditto.
(DRTDesktopNotificationPresenter::notificationDestroyed): Ditto.
(DRTDesktopNotificationPresenter::checkNotificationPermission): Ditto.
(DRTDesktopNotificationPresenter::requestNotificationPermission): Ditto.
* DumpRenderTree/win/DRTDesktopNotificationPresenter.h:
* DumpRenderTree/win/DumpRenderTree.cpp:
(dumpFrameScrollPosition): Ditto.
(dumpFramesAsText): Ditto.
(compareHistoryItems): Ditto.
(dumpHistoryItem): Ditto.
(dump): Ditto.
(resetDefaultsToConsistentValues): Ditto.
(resetWebViewToConsistentStateBeforeTesting): Ditto.
(runTest): Ditto.
(createWebViewAndOffscreenWindow): Ditto.
* DumpRenderTree/win/EditingDelegate.cpp:
(EditingDelegate::QueryInterface): Get rid of uneeded STDMETHODCALLTYPE declaration.
(EditingDelegate::AddRef): Ditto.
(EditingDelegate::Release): Ditto.
(dumpPath): Switch to _bstr_t. Use JSStringCreateWithBSTR
(EditingDelegate::shouldBeginEditingInDOMRange): Get rid of uneeded STDMETHODCALLTYPE declaration.
(EditingDelegate::shouldEndEditingInDOMRange): Ditto.
(EditingDelegate::shouldInsertNode): Ditto.
(EditingDelegate::shouldInsertText): Ditto.
(EditingDelegate::shouldDeleteDOMRange): Ditto.
(EditingDelegate::shouldChangeSelectedDOMRange): Ditto.
(EditingDelegate::shouldApplyStyle): Ditto.
(EditingDelegate::shouldChangeTypingStyle): Ditto.
(EditingDelegate::doPlatformCommand): Ditto.
(EditingDelegate::webViewDidBeginEditing): Switch to _bstr_t. Use JSStringCreateWithBSTR.
(EditingDelegate::webViewDidChange): Ditto.
(EditingDelegate::webViewDidEndEditing): Ditto.
(EditingDelegate::webViewDidChangeTypingStyle): Ditto.
(EditingDelegate::webViewDidChangeSelection): Ditto.
(EditingDelegate::checkSpellingOfString): Ditto.
* DumpRenderTree/win/FrameLoadDelegate.cpp:
(descriptionSuitableForTestResult): Switch to _bstr_t. Use JSStringCreateWithBSTR.
(FrameLoadDelegate::FrameLoadDelegate): Ditto.
(FrameLoadDelegate::QueryInterface): Get rid of uneeded STDMETHODCALLTYPE declaration.
(FrameLoadDelegate::AddRef): Ditto.
(FrameLoadDelegate::Release): Ditto.
(FrameLoadDelegate::didStartProvisionalLoadForFrame): Switch to _bstr_t. Use JSStringCreateWithBSTR.
(FrameLoadDelegate::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
(FrameLoadDelegate::didFailProvisionalLoadWithError): Ditto.
(FrameLoadDelegate::didCommitLoadForFrame): Ditto.
(FrameLoadDelegate::didReceiveTitle): Ditto.
(FrameLoadDelegate::didChangeIcons): Ditto.
(delegatesWithDelayedWork): Ditto.
(FrameLoadDelegate::didFinishLoadForFrame): Ditto.
(FrameLoadDelegate::didFailLoadWithError): Ditto.
(FrameLoadDelegate::willPerformClientRedirectToURL): Ditto.
(FrameLoadDelegate::didCancelClientRedirectForFrame): Ditto.
(FrameLoadDelegate::willCloseFrame): Ditto.
(FrameLoadDelegate::didFinishDocumentLoadForFrame): Ditto.
(FrameLoadDelegate::didHandleOnloadEventsForFrame): Ditto.
(FrameLoadDelegate::didFirstVisuallyNonEmptyLayoutInFrame): Ditto.
(FrameLoadDelegate::didDisplayInsecureContent): Ditto.
(FrameLoadDelegate::didRunInsecureContent): Ditto.
* DumpRenderTree/win/FrameLoadDelegate.h:
* DumpRenderTree/win/HistoryDelegate.cpp:
(HistoryDelegate::didNavigateWithNavigationData): Switch to _bstr_t. Use JSStringCreateWithBSTR.
(HistoryDelegate::updateHistoryTitle): Ditto.
(HistoryDelegate::populateVisitedLinksForWebView): Ditto.
* DumpRenderTree/win/PolicyDelegate.cpp:
(dumpPath):
(PolicyDelegate::QueryInterface): Get rid of uneeded STDMETHODCALLTYPE declaration.
(PolicyDelegate::AddRef): Ditto.
(PolicyDelegate::Release): Ditto.
(PolicyDelegate::decidePolicyForNavigationAction): Switch to _bstr_t. Use JSStringCreateWithBSTR.
(PolicyDelegate::unableToImplementPolicyWithError): Ditto.
* DumpRenderTree/win/ResourceLoadDelegate.cpp:
(ResourceLoadDelegate::descriptionSuitableForTestResult): Switch to _bstr_t. Use JSStringCreateWithBSTR.
(ResourceLoadDelegate::QueryInterface): Get rid of uneeded STDMETHODCALLTYPE declaration.
(ResourceLoadDelegate::AddRef): Ditto.
(ResourceLoadDelegate::Release): Ditto.
(ResourceLoadDelegate::identifierForInitialRequest): Switch to _bstr_t. Use JSStringCreateWithBSTR.
(ResourceLoadDelegate::removeIdentifierForRequest): Ditto.
(ResourceLoadDelegate::willSendRequest): Ditto.
(ResourceLoadDelegate::didReceiveAuthenticationChallenge): Ditto.
(ResourceLoadDelegate::didReceiveResponse): Ditto.
(ResourceLoadDelegate::didFinishLoadingFromDataSource): Ditto.
(ResourceLoadDelegate::didFailLoadingWithError): Ditto.
* DumpRenderTree/win/TestRunnerWin.cpp: Ditto.
(TestRunner::queueLoad): Switch to _bstr_t. Use JSStringCreateWithBSTR.
(TestRunner::setUserStyleSheetLocation): Ditto.
(TestRunner::execCommand): Ditto.
(TestRunner::overridePreference): Ditto.
(TestRunner::evaluateScriptInIsolatedWorld): Ditto.
* DumpRenderTree/win/TextInputControllerWin.cpp: Ditto.
(TextInputController::setMarkedText): Switch to _bstr_t. Use JSStringCreateWithBSTR.
(TextInputController::insertText): Ditto.
* DumpRenderTree/win/UIDelegate.cpp:
(UIDelegate::QueryInterface): Get rid of uneeded STDMETHODCALLTYPE declaration.
(UIDelegate::AddRef): Ditto.
(UIDelegate::Release): Ditto.
(UIDelegate::hasCustomMenuImplementation): Switch to _bstr_t. Use JSStringCreateWithBSTR.
(UIDelegate::trackCustomPopupMenu): Ditto.
(UIDelegate::registerUndoWithTarget): Ditto.
(UIDelegate::removeAllActionsWithTarget): Ditto.
(UIDelegate::setActionTitle): Ditto.
(UIDelegate::undo): Ditto.
(UIDelegate::redo): Ditto.
(UIDelegate::canUndo): Ditto.
(UIDelegate::canRedo): Ditto.
(UIDelegate::printFrame): Ditto.
(UIDelegate::ftpDirectoryTemplatePath): Ditto.
(UIDelegate::webViewHeaderHeight): Ditto.
(UIDelegate::webViewFooterHeight): Ditto.
(UIDelegate::drawHeaderInRect): Ditto.
(UIDelegate::drawFooterInRect): Ditto.
(UIDelegate::webViewPrintingMarginRect): Ditto.
(UIDelegate::canRunModal): Ditto.
(UIDelegate::createModalDialog): Ditto.
(UIDelegate::runModal): Ditto.
(UIDelegate::isMenuBarVisible): Ditto.
(UIDelegate::setMenuBarVisible): Ditto.
(UIDelegate::runDatabaseSizeLimitPrompt): Ditto.
(UIDelegate::paintCustomScrollbar): Ditto.
(UIDelegate::paintCustomScrollCorner): Ditto.
(UIDelegate::setFrame): Ditto.
(UIDelegate::webViewFrame): Ditto.
(UIDelegate::runJavaScriptAlertPanelWithMessage): Ditto.
(UIDelegate::runJavaScriptConfirmPanelWithMessage): Ditto.
(UIDelegate::runJavaScriptTextInputPanelWithPrompt): Ditto.
(UIDelegate::runBeforeUnloadConfirmPanelWithMessage): Ditto.
(UIDelegate::webViewAddMessageToConsole): Ditto.
(UIDelegate::doDragDrop): Ditto.
(UIDelegate::webViewGetDlgCode): Ditto.
(UIDelegate::createWebViewWithRequest): Ditto.
(UIDelegate::webViewClose): Ditto.
(UIDelegate::webViewFocus): Ditto.
(UIDelegate::webViewUnfocus): Ditto.
(UIDelegate::webViewPainted): Ditto.
(UIDelegate::exceededDatabaseQuota): Ditto.
(UIDelegate::embeddedViewWithArguments): Ditto.
(UIDelegate::webViewClosing): Ditto.
(UIDelegate::webViewSetCursor): Ditto.
(UIDelegate::webViewDidInvalidate): Ditto.
(UIDelegate::setStatusText): Ditto.
(UIDelegate::desktopNotificationsDelegate): Ditto.
(UIDelegate::drawBackground): Ditto.
(UIDelegate::decidePolicyForGeolocationRequest): Ditto.
(UIDelegate::didPressMissingPluginButton): Ditto.
* DumpRenderTree/win/WorkQueueItemWin.cpp: Ditto.
(LoadItem::invoke):  Switch to _bstr_t. Use JSStringCreateWithBSTR.
(LoadHTMLStringItem::invoke): Ditto.
(ScriptItem::invoke): Ditto.

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

5 years agoHTMLCollection::updateNamedElementCach iterates over items twice
rniwa@webkit.org [Wed, 9 Apr 2014 19:32:41 +0000 (19:32 +0000)]
HTMLCollection::updateNamedElementCach iterates over items twice
https://bugs.webkit.org/show_bug.cgi?id=131448

Reviewed by Andreas Kling.

Compute the length first and go through the cache interface to traverse through items.

* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::updateNamedElementCache):

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

5 years ago[GStreamer] Expose MPEG-TS metadata
b.long@cablelabs.com [Wed, 9 Apr 2014 18:43:40 +0000 (18:43 +0000)]
[GStreamer] Expose MPEG-TS metadata
https://bugs.webkit.org/show_bug.cgi?id=122001

Reviewed by Eric Carlson.

.:

* Source/cmake/FindGStreamer.cmake: Look for gstreamer-mpegts >= 1.3.0.
* Source/cmake/OptionsEfl.cmake: Same.
* Source/cmake/OptionsGTK.cmake: Same.

Source/WebCore:

Test: media/track/in-band/track-in-band-mpegts-metadata.html

* CMakeLists.txt: Add InbandDataTextTrack.
* PlatformGTK.cmake: Look for gstreamer-mpegts and use it if available.
* WebCore.vcxproj/WebCore.vcxproj: Add InbandDataTextTrack.
* WebCore.vcxproj/WebCore.vcxproj.filters: Same.
* WebCore.xcodeproj/project.pbxproj: Same.
* html/track/DataCue.cpp:
(WebCore::DataCue::DataCue): Add a constructor using raw data.
* html/track/DataCue.h:
(WebCore::DataCue::create): Same.
* html/track/InbandDataTextTrack.cpp: Added, InbandTextTrack which implements addDataCue().
* html/track/InbandDataTextTrack.h:
* html/track/InbandGenericTextTrack.h: Move unimplemented methods to InbandTextTrack.
* html/track/InbandWebVTTTextTrack.h: Same.
* html/track/InbandTextTrack.h: Same, and add inBandMetadataTrackDispatchType.
* html/track/InbandTextTrack.cpp:
(WebCore::InbandTextTrack::create): Add constructor for InbandDataTextTrack.
(WebCore::InbandTextTrack::inBandMetadataTrackDispatchType): Added.
* html/track/TextTrack.h:
(WebCore::TextTrack::inBandMetadataTrackDispatchType): Added (empty).
* html/track/TextTrack.idl: Add inBandMetadataTrackDispatchType.
* platform/graphics/InbandTextTrackPrivate.h: Add inBandMetadataTrackDispatchType and Data format.
(WebCore::InbandTextTrackPrivate::inBandMetadataTrackDispatchType):
* platform/graphics/InbandTextTrackPrivateClient.h: Add addDataCue() method.
* platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
(WebCore::InbandMetadataTextTrackPrivateGStreamer::create): Allow specifying the cue format and id.
 (WebCore::InbandMetadataTextTrackPrivateGStreamer::InbandMetadataTextTrackPrivateGStreamer): Same.
(WebCore::InbandMetadataTextTrackPrivateGStreamer::setInBandMetadataTrackDispatchType): Added.
(WebCore::InbandMetadataTextTrackPrivateGStreamer::addDataCue): Added.
(WebCore::InbandMetadataTextTrackPrivateGStreamer::addGenericCue): Added.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage): Check for MPEG-TS sections.
(WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection): Add MPEG-TS section metadata, and get inBandMetadataTrackDispatchType from the PMT.
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContents): Explicitly use Generic CueFormat.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

LayoutTests:

* media/content/user-private-streams.ts: Added.
* media/track/in-band/track-in-band-mpegts-metadata-expected.txt: Added.
* media/track/in-band/track-in-band-mpegts-metadata.html: Added.

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

5 years agoAX: Make AXPress much more reliable on the Web
cfleizach@apple.com [Wed, 9 Apr 2014 18:41:59 +0000 (18:41 +0000)]
AX: Make AXPress much more reliable on the Web
https://bugs.webkit.org/show_bug.cgi?id=131426

Reviewed by Mario Sanchez Prada.

Source/WebCore:

AXPress fails when an event handler is on a node higher in the parent chain than the focused node.

We need to make AXPress more reliable by
    1) Using the element that is focused as the target of the event
    2) Search for the inner most control object when dispatching the event

Updated existing accessibility/press-works-on-control-types.html

* accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::press):
* accessibility/AccessibilityMenuList.h:
* accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::press):
* accessibility/AccessibilityMenuListPopup.h:
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::press):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::performDefaultAction):
* accessibility/AccessibilitySearchFieldButtons.cpp:
(WebCore::AccessibilitySearchFieldCancelButton::press):
* accessibility/AccessibilitySearchFieldButtons.h:
* accessibility/AccessibilitySpinButton.cpp:
(WebCore::AccessibilitySpinButtonPart::press):
* accessibility/AccessibilitySpinButton.h:

LayoutTests:

* accessibility/press-works-on-control-types-expected.txt:
* accessibility/press-works-on-control-types.html:

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

5 years agoContentFilterMac is broken when NE_FILTER_SOURCE is enabled.
beidson@apple.com [Wed, 9 Apr 2014 18:25:42 +0000 (18:25 +0000)]
ContentFilterMac is broken when NE_FILTER_SOURCE is enabled.
<rdar://problem/15978793> and https://bugs.webkit.org/show_bug.cgi?id=131445

Reviewed by Andy Estes.

No new tests (Not a tested feature).

* platform/mac/ContentFilterMac.mm:
(WebCore::ContentFilter::needsMoreData): Only consider m_neFilterSourceStatus if m_neFilterSource exists.
(WebCore::ContentFilter::didBlockData): Ditto.

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

5 years ago[CSS Shapes] Add no regions version of RegionsShapes performance test
zoltan@webkit.org [Wed, 9 Apr 2014 18:19:52 +0000 (18:19 +0000)]
[CSS Shapes] Add no regions version of RegionsShapes performance test
https://bugs.webkit.org/show_bug.cgi?id=131442

Reviewed by Ryosuke Niwa.

We would like have a no regions version for RegionsShapes performance test. The new
test produces similar layout to RegionsShapes.html without using regions. It is helpful
for us to do further comparisons when necessary. This test is skipped by default.

* Layout/Shapes/RegionsShapesNoRegions.html: Added.
* Layout/Shapes/resources/RegionsShapes.css: Added.
(html, body):
(.shape):
(#circleShape):
(#imageShape):
(#insetShape):
(#roundedInsetShape):
(#triangleLeft):
(#triangleRight):
(#selfIntersectingStar):
(#region1):
(#region2):
(#region3):
* Layout/Shapes/resources/RegionsShapesContent.html:
* Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth400.html: Added.
* Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth600.html: Added.
* Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth800.html: Added.

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

5 years ago2014-04-09 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 9 Apr 2014 18:15:17 +0000 (18:15 +0000)]
2014-04-09  Geoffrey Garen  <ggaren@apple.com>

        Rolled back in r166972.

        The iOS buildbot's scripts have been updated to build bmalloc, so the
        build should now succeed on the bot.

        Also renamed "Frameworks" to "Libraries" as suggested in a review comment.

            WTF should link against bmalloc
            https://bugs.webkit.org/show_bug.cgi?id=131403

            Reviewed by Michael Saboff.

            This is required to build successfullly with bmalloc enabled.

            * WTF.xcodeproj/project.pbxproj:

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

5 years agoRewrite Function.bind as a builtin
oliver@apple.com [Wed, 9 Apr 2014 17:28:40 +0000 (17:28 +0000)]
Rewrite Function.bind as a builtin
https://bugs.webkit.org/show_bug.cgi?id=131083

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This change removes the existing function.bind implementation
entirely so JSBoundFunction is no more.

Instead we just return a regular JS closure with a few
private properties hanging off it that allow us to perform
the necessary bound function fakery.  While most of this is
simple, a couple of key changes:

- The parser and lexer now directly track whether they're
  parsing code for call or construct and convert the private
  name @IsConstructor into TRUETOK or FALSETOK as appropriate.
  This automatically gives us the ability to vary behaviour
  from within the builtin. It also leaves a lot of headroom
  for trivial future improvements.
- The instanceof operator now uses the prototypeForHasInstance
  private name, and we have a helper function to ensure that
  all objects that need to can update their magical 'prototype'
  property pair correctly.

* API/JSScriptRef.cpp:
(parseScript):
* JavaScriptCore.xcodeproj/project.pbxproj:
* builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createBuiltinExecutable):
* builtins/Function.prototype.js:
(bind.bindingFunction):
(bind.else.bindingFunction):
(bind):
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::generateFunctionCodeBlock):
* bytecompiler/NodesCodegen.cpp:
(JSC::InstanceOfNode::emitBytecode):
* interpreter/Interpreter.cpp:
* parser/Lexer.cpp:
(JSC::Lexer<T>::Lexer):
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
* parser/Lexer.h:
* parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
* parser/Parser.h:
(JSC::parse):
* parser/ParserModes.h:
* runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
* runtime/CommonIdentifiers.h:
* runtime/Completion.cpp:
(JSC::checkSyntax):
* runtime/Executable.cpp:
(JSC::ProgramExecutable::checkSyntax):
* runtime/FunctionPrototype.cpp:
(JSC::FunctionPrototype::addFunctionProperties):
(JSC::functionProtoFuncBind): Deleted.
* runtime/JSBoundFunction.cpp: Removed.
* runtime/JSBoundFunction.h: Removed.
* runtime/JSFunction.cpp:
(JSC::RetrieveCallerFunctionFunctor::RetrieveCallerFunctionFunctor):
(JSC::RetrieveCallerFunctionFunctor::operator()):
(JSC::retrieveCallerFunction):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::defineOwnProperty):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncSetTypeErrorAccessor):
* runtime/JSGlobalObjectFunctions.h:
* runtime/JSObject.h:
(JSC::JSObject::inlineGetOwnPropertySlot):

Source/WebCore:

Switch WebCore to use the helper functions when defining the
prototype properties on DOM constructors, and update bindings
tests accordingly.

* bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::finishCreation):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorHelperMethods):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTargetConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestExceptionConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachableConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorConstructor::finishCreation):
(WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::finishCreation):
* bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::JSattributeConstructor::finishCreation):
* bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::JSreadonlyConstructor::finishCreation):

LayoutTests:

Testing.

* js/dom/function-bind-expected.txt:
* js/regress/function-bind-expected.txt: Added.
* js/regress/function-bind.html: Added.
* js/regress/script-tests/function-bind.js: Added.
(foo):

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

5 years agoUnreviewed iOS build fix. Replacing deprecated enum with AVPlayerViewControllerExitFu...
enrica@apple.com [Wed, 9 Apr 2014 17:23:53 +0000 (17:23 +0000)]
Unreviewed iOS build fix. Replacing deprecated enum with AVPlayerViewControllerExitFullScreenReason.

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerController playerViewController:shouldDismissWithReason:]):

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

5 years ago[CSS Regions] Monolithic elements should not affect the layout of the content outside...
stavila@adobe.com [Wed, 9 Apr 2014 17:07:50 +0000 (17:07 +0000)]
[CSS Regions] Monolithic elements should not affect the layout of the content outside its region
https://bugs.webkit.org/show_bug.cgi?id=130499

Reviewed by David Hyatt.

Source/WebCore:

When performing layout on an element flowed into regions, its logical height must not be incremented
past the region's logical bottom for monolithic elements in regions different than the last region their containing
block is fragmented into. This ensures that the following elements are correctly laid out
from the top of the next region.
This change must also be applied to floats in order to prevent text from avoiding part
of a float that did not actually made it into the current region, but instead overflowed
the previous one.

Tests: fast/regions/fragmentation-after-float-overflow-single-region.html
       fast/regions/fragmentation-after-monolithic-overflow-self-collapsed.html
       fast/regions/fragmentation-after-monolithic-overflow-single-region.html
       fast/regions/fragmentation-after-monolithic-overflow.html

* rendering/FloatingObjects.cpp:
(WebCore::FloatingObjects::computePlacedFloatsTree):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
(WebCore::RenderBlockFlow::getClearDelta):
(WebCore::RenderBlockFlow::applyAfterBreak): Deleted.
(WebCore::RenderBlockFlow::nextFloatLogicalBottomBelow): Deleted.
(WebCore::RenderBlockFlow::nextFloatLogicalBottomBelowForBlock): Deleted.
(WebCore::RenderBlockFlow::flipFloatForWritingModeForChild): Deleted.
* rendering/RenderBlockFlow.h:
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::isBoxInDifferentRegionsAsFloat):
* rendering/RenderFlowThread.h:

LayoutTests:

Added tests for different types of fragmentation following monolithic content
overflowing its region.
Rebased the webkit-flow-float-unable-to-push test as its expected result was not the correct one.

* fast/regions/webkit-flow-float-unable-to-push-expected.html:
* fast/regions/fragmentation-after-float-overflow-single-region-expected.html: Added.
* fast/regions/fragmentation-after-float-overflow-single-region.html: Added.
* fast/regions/fragmentation-after-monolithic-overflow-expected.html: Added.
* fast/regions/fragmentation-after-monolithic-overflow-self-collapsed-expected.html: Added.
* fast/regions/fragmentation-after-monolithic-overflow-self-collapsed.html: Added.
* fast/regions/fragmentation-after-monolithic-overflow-single-region-expected.html: Added.
* fast/regions/fragmentation-after-monolithic-overflow-single-region.html: Added.
* fast/regions/fragmentation-after-monolithic-overflow.html: Added.

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

5 years agoUse std::array in AffineTransform, and get rid of setMatrix
andersca@apple.com [Wed, 9 Apr 2014 17:05:18 +0000 (17:05 +0000)]
Use std::array in AffineTransform, and get rid of setMatrix
https://bugs.webkit.org/show_bug.cgi?id=131416

Reviewed by Sam Weinig.

* platform/graphics/transforms/AffineTransform.cpp:
(WebCore::AffineTransform::AffineTransform):
(WebCore::AffineTransform::multiply):
* platform/graphics/transforms/AffineTransform.h:
(WebCore::AffineTransform::setMatrix): Deleted.

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

5 years ago[GTK] Plugin process crashes when loading totem plugin
carlosgc@webkit.org [Wed, 9 Apr 2014 16:53:26 +0000 (16:53 +0000)]
[GTK] Plugin process crashes when loading totem plugin
https://bugs.webkit.org/show_bug.cgi?id=131357

Reviewed by Martin Robinson.

Remove netscape plugin implementation from WebCore that was only
used by WebKit1. This removes the conflict between the WebCore NPN
symbols and the ones used by the plugins.

* CMakeLists.txt:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* PlatformWin.cmake:
* plugins/PluginViewNone.cpp:
* plugins/gtk/PluginPackageGtk.cpp: Removed.
* plugins/gtk/PluginViewGtk.cpp: Removed.
* plugins/gtk/gtk2xtbin.c: Removed.
* plugins/gtk/gtk2xtbin.h: Removed.
* plugins/gtk/xembed.h: Removed.

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

5 years agoREGRESSION (r166853): fast/preloader/document-write.html is very flaky
ap@apple.com [Wed, 9 Apr 2014 16:47:19 +0000 (16:47 +0000)]
REGRESSION (r166853): fast/preloader/document-write.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=130942

* platform/mac/TestExpectations: The offending code was re-landed, marking as
flaky again.

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

5 years agofullscreen controls first show a play button instead of a pause button
commit-queue@webkit.org [Wed, 9 Apr 2014 16:12:58 +0000 (16:12 +0000)]
fullscreen controls first show a play button instead of a pause button
https://bugs.webkit.org/show_bug.cgi?id=131430

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-04-09
Reviewed by Jer Noble.

isPlaying() is false while buffering, paused() isn't; use paused() for
the play button.

* platform/ios/WebVideoFullscreenModelMediaElement.mm:
(WebVideoFullscreenModelMediaElement::setMediaElement):
(WebVideoFullscreenModelMediaElement::handleEvent):
Use HTMLMediaElement::paused() instead of HTMLMediaElement::isPlaying()

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

5 years agoRemove duplicated files and unnecessary conditions from UseJSC.cmake
commit-queue@webkit.org [Wed, 9 Apr 2014 15:47:35 +0000 (15:47 +0000)]
Remove duplicated files and unnecessary conditions from UseJSC.cmake
https://bugs.webkit.org/show_bug.cgi?id=131438

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-04-09
Reviewed by Csaba Osztrogonác.

No new tests required.

* UseJSC.cmake:

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

5 years ago[GTK] Layout tests accessibility/children-changed-sends-notification.html and accessi...
mario.prada@samsung.com [Wed, 9 Apr 2014 15:08:17 +0000 (15:08 +0000)]
[GTK] Layout tests accessibility/children-changed-sends-notification.html and accessibility/notification-listeners.html fails
https://bugs.webkit.org/show_bug.cgi?id=131380

Reviewed by Chris Fleizach.

Source/WebCore:

Don't emit signals for added objects that we know won't be exposed
to the accessibility hierarchy (e.g. static text).

* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::attachWrapper): Add extra check and early return.

LayoutTests:

Updated TestExpectations file and update layout test that was not
correctly written, and expecting the signals in the wrong order.

* platform/gtk/TestExpectations: Removed failure expectations.

* accessibility/children-changed-sends-notification.html: Updated
test to make sure we touch the accessibility tree after adding a
<button> so we get the 'add' signal at the right moment.

* accessibility/children-changed-sends-notification-expected.txt:
Updated expectations to expect the 'add' and 'remove' signals in
the right order.

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