WebKit-https.git
5 years agocan not find cairo-gl.h when build webkit with gtk on ubuntu 14.04
berto@igalia.com [Thu, 4 Dec 2014 10:10:36 +0000 (10:10 +0000)]
can not find cairo-gl.h when build webkit with gtk on ubuntu 14.04
https://bugs.webkit.org/show_bug.cgi?id=136576

Reviewed by Carlos Garcia Campos.

CMake should complain if Accelerated 2D Canvas is explicitly
enabled but cairo-gl is not found.

* Source/cmake/OptionsGTK.cmake:

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

5 years ago[EFL][WK2] Add ewk API to allow accepting a specific TLS certificate for a specific...
pmolnar.u-szeged@partner.samsung.com [Thu, 4 Dec 2014 09:23:28 +0000 (09:23 +0000)]
[EFL][WK2] Add ewk API to allow accepting a specific TLS certificate for a specific host
https://bugs.webkit.org/show_bug.cgi?id=131160

Reviewed by Gyuyoung Kim.

* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::allowSpecificHTTPSCertificateForHost):
(ewk_context_tls_certificate_for_host_allow):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/tests/test_ewk2_ssl.cpp:

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

5 years agoAdd a sample plugin to demonstrate the mute plugin API.
adachan@apple.com [Thu, 4 Dec 2014 06:42:38 +0000 (06:42 +0000)]
Add a sample plugin to demonstrate the mute plugin API.
https://bugs.webkit.org/show_bug.cgi?id=139231

Reviewed by Anders Carlsson.

* NetscapeMuteAPIPlugin/AudioPlayer.h: Added.
* NetscapeMuteAPIPlugin/AudioPlayer.mm: Added.
(-[AudioPlayer initWithURL:]):
(-[AudioPlayer dealloc]):
(-[AudioPlayer isReadyToPlay]):
(-[AudioPlayer isPlaying]):
(-[AudioPlayer setPlaying:]):
(-[AudioPlayer isMuted]):
(-[AudioPlayer setMuted:]):
(-[AudioPlayer observeValueForKeyPath:ofObject:change:context:]):
* NetscapeMuteAPIPlugin/English.lproj/InfoPlist.strings: Added.
* NetscapeMuteAPIPlugin/Info.plist: Added.
* NetscapeMuteAPIPlugin/MenuHandler.h: Added.
* NetscapeMuteAPIPlugin/MenuHandler.m: Added.
(-[MenuHandler _play:]):
(-[MenuHandler _pause:]):
(-[MenuHandler validateUserInterfaceItem:]):
(-[MenuHandler initWithAudioPlayer:]):
(-[MenuHandler dealloc]):
(-[MenuHandler menu]):
* NetscapeMuteAPIPlugin/NetscapeMuteAPIPlugin.xcodeproj/project.pbxproj: Added.
* NetscapeMuteAPIPlugin/main.m: Added.
(-[PluginObject initWithNPP:audioURL:]):
(-[PluginObject dealloc]):
(-[PluginObject menuHandler]):
(-[PluginObject isPlayingAudio]):
(-[PluginObject isMuted]):
(-[PluginObject setMuted:]):
(-[PluginObject readyStateDidChangeForAudioPlayer:]):
(-[PluginObject mutedStateDidChangeForAudioPlayer:]):
(-[PluginObject playStateDidChangeForAudioPlayer:]):
(-[PluginObject _invalidateDisplayString]):
(NP_Initialize):
(NP_GetEntryPoints):
(NP_Shutdown):
(NPP_New):
(NPP_Destroy):
(NPP_SetWindow):
(NPP_NewStream):
(NPP_DestroyStream):
(NPP_WriteReady):
(NPP_Write):
(NPP_StreamAsFile):
(NPP_Print):
(handleDraw):
(invalidatePlugin):
(handleMouseEvent):
(NPP_HandleEvent):
(NPP_URLNotify):
(NPP_GetValue):
(NPP_SetValue):
* NetscapeMuteAPIPlugin/test.html: Added.

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

5 years agoUse std::unique_ptr instead of PassOwnPtr|OwnPtr for Pasteboard
commit-queue@webkit.org [Thu, 4 Dec 2014 03:02:57 +0000 (03:02 +0000)]
Use std::unique_ptr instead of PassOwnPtr|OwnPtr for Pasteboard
https://bugs.webkit.org/show_bug.cgi?id=139019

Patch by Joonghun Park <jh718.park@samsung.com> on 2014-12-03
Reviewed by Darin Adler.

No new tests, no behavior changes.

* dom/DataTransfer.cpp:
(WebCore::DataTransfer::DataTransfer):
* dom/DataTransfer.h:
* editing/Editor.cpp:
(WebCore::Editor::dispatchCPPEvent):
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::createDraggingDataTransfer):
* platform/Pasteboard.h:
* platform/efl/PasteboardEfl.cpp:
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createPrivate):
(WebCore::Pasteboard::createForDragAndDrop):
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createForGlobalSelection):
(WebCore::Pasteboard::createPrivate):
(WebCore::Pasteboard::createForDragAndDrop):
(WebCore::Pasteboard::create): Deleted.
* platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createPrivate):
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createPrivate):
(WebCore::Pasteboard::createForDragAndDrop):
(WebCore::Pasteboard::create): Deleted.
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createPrivate):
(WebCore::Pasteboard::createForDragAndDrop):

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

5 years agoMove JavaScriptCore/dfg to std::unique_ptr
gyuyoung.kim@samsung.com [Thu, 4 Dec 2014 02:52:51 +0000 (02:52 +0000)]
Move JavaScriptCore/dfg to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=139169

Reviewed by Filip Pizlo.

Use std::unique_ptr<>|std::make_unique<> in JavaScriptCore/dfg directory.

* dfg/DFGBasicBlock.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::JITCompiler):
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compileFunction):
(JSC::DFG::JITCompiler::linkFunction):
* dfg/DFGJITCompiler.h:
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
(JSC::DFG::Plan::cancel):
* dfg/DFGPlan.h:
* dfg/DFGSlowPathGenerator.h:
* dfg/DFGWorklist.h:
* ftl/FTLFail.cpp:
(JSC::FTL::fail):
* ftl/FTLState.cpp:
(JSC::FTL::State::State):

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

5 years agoUnreviewed. Some webgl conformance tests crash.
roger_fong@apple.com [Thu, 4 Dec 2014 02:43:19 +0000 (02:43 +0000)]
Unreviewed. Some webgl conformance tests crash.
<rdar://problem/19136723>
* platform/mac/TestExpectations:

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

5 years agoImplement action menus for tel: URLs
timothy_horton@apple.com [Thu, 4 Dec 2014 02:32:40 +0000 (02:32 +0000)]
Implement action menus for tel: URLs
https://bugs.webkit.org/show_bug.cgi?id=139240
<rdar://problem/19115662>

Reviewed by Anders Carlsson.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForDataDetectableLink]):
Make sure to use the newly created currentActionContext... everywhere.

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

5 years agoUnreviewed. Add 1.0.3 conformance tests. Remove unused webgl test resource files.
roger_fong@apple.com [Thu, 4 Dec 2014 02:32:40 +0000 (02:32 +0000)]
Unreviewed. Add 1.0.3 conformance tests. Remove unused webgl test resource files.
* platform/mac/TestExpectations: Skipping 1.0.3 tests until we are at least somewhat conformant.
* webgl/1.0.3: Added.
* webgl/resources/webgl_test_files: Removed

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

5 years agoImplement action menus for tel: URLs
timothy_horton@apple.com [Thu, 4 Dec 2014 02:28:57 +0000 (02:28 +0000)]
Implement action menus for tel: URLs
https://bugs.webkit.org/show_bug.cgi?id=139240
<rdar://problem/19115662>

Reviewed by Anders Carlsson.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForDataDetectableLink]):
Make sure to use the newly created currentActionContext.

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

5 years agoGet rid of FrameLoaderClient::dispatchWillRequestResource
benjamin@webkit.org [Thu, 4 Dec 2014 02:06:38 +0000 (02:06 +0000)]
Get rid of FrameLoaderClient::dispatchWillRequestResource
https://bugs.webkit.org/show_bug.cgi?id=139235

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-03
Reviewed by Alexey Proskuryakov.

It is useless.

* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::dispatchWillRequestResource): Deleted.
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):

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

5 years agoREGRESSION (r176479): DFG ASSERTION beneath emitOSRExitCall running Kraken/imaging...
msaboff@apple.com [Thu, 4 Dec 2014 01:59:40 +0000 (01:59 +0000)]
REGRESSION (r176479): DFG ASSERTION beneath emitOSRExitCall running Kraken/imaging-gaussian-blur.js.ftl-no-cjit-osr-validation and other tests
https://bugs.webkit.org/show_bug.cgi?id=139246

Reviewed by Geoffrey Garen.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
The DFG_ASSERT that checks liveness at exit time doesn't properly
handle the case where the local is not available at OSR exit time,
but the local is live in the bytecode.  This now happens with the
allocated scope register when we are compiling for FTLForOSREntryMode
due to DCE done when the control flow was changed and a new entrypoint
was added in the OSR entrypoint creation phase.  Therefore we silence
the assert when compiling for FTLForOSREntryMode.

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

5 years agoWeb Inspector: Missing getter, clients never see DragToAdjustController is enabled
commit-queue@webkit.org [Thu, 4 Dec 2014 01:40:21 +0000 (01:40 +0000)]
Web Inspector: Missing getter, clients never see DragToAdjustController is enabled
https://bugs.webkit.org/show_bug.cgi?id=139228

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

* UserInterface/Controllers/DragToAdjustController.js:
(WebInspector.DragToAdjustController.prototype.get enabled):

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

5 years agoUnreviewed, rolling out r176457.
commit-queue@webkit.org [Thu, 4 Dec 2014 01:31:37 +0000 (01:31 +0000)]
Unreviewed, rolling out r176457.
https://bugs.webkit.org/show_bug.cgi?id=139247

More iOS breakage (Requested by andersca on #webkit).

Reverted changeset:

"Fix iOS build."
http://trac.webkit.org/changeset/176457

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

5 years agoList markers in RTL languages do not draw the first character.
mmaxfield@apple.com [Thu, 4 Dec 2014 01:30:07 +0000 (01:30 +0000)]
List markers in RTL languages do not draw the first character.
https://bugs.webkit.org/show_bug.cgi?id=139244

Reviewed by Simon Fraser.

Source/WebCore:

Off-by-one error when reversing the string (from LTR to RTL)

Test: fast/lists/rtl-marker.html

* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):

LayoutTests:

* fast/lists/rtl-marker-expected.html: Added.
* fast/lists/rtl-marker.html: Added.

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

5 years ago<input> elements get whitespace action menu instead of editable text menu
bdakin@apple.com [Thu, 4 Dec 2014 01:06:52 +0000 (01:06 +0000)]
<input> elements get whitespace action menu instead of editable text menu
https://bugs.webkit.org/show_bug.cgi?id=139241
-and corresponding-
rdar://problem/19072083

Reviewed by Sam Weinig.

Source/WebCore:

Since we will hit test form controls as form controls, we need a new function to
determine if the hit point is over text inside that form control or not.
* WebCore.exp.in:
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::isOverTextInsideFormControlElement):
* rendering/HitTestResult.h:

Source/WebKit/mac:

We should disallow shadow content in the hit test. This is the default and it is
how context menus behave. We originally wanted to text inside shadow content so
that we could find the text, but the new function I added to HitTestResult will
allow that.
* WebView/WebActionMenuController.mm:
(-[WebActionMenuController performHitTestAtPoint:]):

Adjust to the fact that we don’t hit test shadow content any more.
(-[WebActionMenuController focusAndSelectHitTestResult]):

Offer the text menus for text inside form controls.
(-[WebActionMenuController _defaultMenuItems]):

Source/WebKit2:

Add isOverTextInsideFormControlElement to WebHitTestResult.
* Shared/WebHitTestResult.cpp:
(WebKit::WebHitTestResult::Data::Data):
(WebKit::WebHitTestResult::Data::encode):
(WebKit::WebHitTestResult::Data::decode):
* Shared/WebHitTestResult.h:
(WebKit::WebHitTestResult::isOverTextInsideFormControlElement):

Offer the text menus for text inside form controls.
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItems]):

We should disallow shadow content in the hit test. This is the default and it is
how context menus behave. We originally wanted to text inside shadow content so
that we could find the text, but the new function I added to HitTestResult will
allow that.
* WebProcess/WebPage/mac/WebPageMac.mm:

Adjust to the fact that we don’t hit test shadow content any more.
(WebKit::WebPage::performActionMenuHitTestAtLocation):
(WebKit::WebPage::lookupTextAtLocation):
(WebKit::WebPage::focusAndSelectLastActionMenuHitTestResult):

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

5 years agoUnreviewed, rolling out r176489.
commit-queue@webkit.org [Thu, 4 Dec 2014 00:51:02 +0000 (00:51 +0000)]
Unreviewed, rolling out r176489.
https://bugs.webkit.org/show_bug.cgi?id=139242

More iOS breakage (Requested by andersca on #webkit).

Reverted changeset:

"Unreviewed, iOS build fix after r176452."
http://trac.webkit.org/changeset/176489

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

5 years agoImplement action menus for tel: URLs
timothy_horton@apple.com [Thu, 4 Dec 2014 00:33:07 +0000 (00:33 +0000)]
Implement action menus for tel: URLs
https://bugs.webkit.org/show_bug.cgi?id=139240
<rdar://problem/19115662>

Reviewed by Anders Carlsson.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForDataDetectableLink]):
Rename this function as it will work for both mailto and tel URLs.
Adjust it to use contextForView:.

(-[WebActionMenuController webView:willHandleMouseDown:]):
(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController didCloseMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItems]):
Don't check the menu type when going to interact with _currentActionContext.
We'll only have a _currentActionContext if we have a data detected item,
and there are multiple menu types that end up using DDActionContext.

* WebView/WebUIDelegatePrivate.h:
Add a new type.

* Shared/API/c/WKActionMenuTypes.h:
Add a new type.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]):
Rename this function as it will work for both mailto and tel URLs.
Adjust it to use contextForView:.

(-[WKActionMenuController _clearActionMenuState]):
(-[WKActionMenuController menuNeedsUpdate:]):
(-[WKActionMenuController _defaultMenuItems]):
Don't check the menu type when going to interact with _currentActionContext.
We'll only have a _currentActionContext if we have a data detected item,
and there are multiple menu types that end up using DDActionContext.

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

5 years agoUnreviewed, rolling out r176452 and r176559.
andersca@apple.com [Thu, 4 Dec 2014 00:16:38 +0000 (00:16 +0000)]
Unreviewed, rolling out r176452 and r176559.
https://bugs.webkit.org/show_bug.cgi?id=139239

Broke iOS (Requested by andersca on #webkit).

Reverted changesets:

"Remove alignment code from IPC coders"
https://bugs.webkit.org/show_bug.cgi?id=138963
http://trac.webkit.org/changeset/176452

"[WK2] SecComp buildfix after r176452"
https://bugs.webkit.org/show_bug.cgi?id=139081
http://trac.webkit.org/changeset/176559

Patch by Commit Queue <commit-queue@webkit.org> on 2014-12-03

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

5 years agoUnreviewed gardening.
cdumez@apple.com [Thu, 4 Dec 2014 00:00:30 +0000 (00:00 +0000)]
Unreviewed gardening.

Land expected result for fast/dom/timer-throttle-on-scrolling-iframe-away.html
that was missing in r176729.

* fast/dom/timer-throttle-on-scrolling-iframe-away-expected.txt: Added.

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

5 years agoUnreviewed. Remove 1.0.1 and experimental 1.0.3 WebGL conformance tests to make way...
roger_fong@apple.com [Wed, 3 Dec 2014 23:53:30 +0000 (23:53 +0000)]
Unreviewed. Remove 1.0.1 and experimental 1.0.3 WebGL conformance tests to make way for official 1.0.3 tests.

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

5 years agohttp/tests/misc/authentication-redirect tests use the same authentication realm
ap@apple.com [Wed, 3 Dec 2014 23:39:41 +0000 (23:39 +0000)]
http/tests/misc/authentication-redirect tests use the same authentication realm
https://bugs.webkit.org/show_bug.cgi?id=139225

Land custom results for WebKit2, because the format of output is different there.

* platform/wk2/http/tests/misc/authentication-redirect-3: Added.
* platform/wk2/http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials-expected.txt: Copied from LayoutTests/http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials-expected.txt.

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

5 years agoRemoved the global parser arena
ggaren@apple.com [Wed, 3 Dec 2014 23:23:56 +0000 (23:23 +0000)]
Removed the global parser arena
https://bugs.webkit.org/show_bug.cgi?id=139236

Reviewed by Sam Weinig.

Simplifies parser lifetime logic.

There's no need to keep a global arena. We can create a new arena
each time we parse.

* bytecompiler/BytecodeGenerator.h: Global replace to pass around a
ParserArena instead of VM*, since the VM no longer owns the arena.
(JSC::BytecodeGenerator::parserArena):

* bytecompiler/NodesCodegen.cpp: Ditto.
(JSC::ArrayNode::toArgumentList):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
* parser/ASTBuilder.h: Ditto.
(JSC::ASTBuilder::ASTBuilder):
(JSC::ASTBuilder::createSourceElements):
(JSC::ASTBuilder::createCommaExpr):
(JSC::ASTBuilder::createLogicalNot):
(JSC::ASTBuilder::createUnaryPlus):
(JSC::ASTBuilder::createVoid):
(JSC::ASTBuilder::thisExpr):
(JSC::ASTBuilder::createResolve):
(JSC::ASTBuilder::createObjectLiteral):
(JSC::ASTBuilder::createArray):
(JSC::ASTBuilder::createNumberExpr):
(JSC::ASTBuilder::createString):
(JSC::ASTBuilder::createBoolean):
(JSC::ASTBuilder::createNull):
(JSC::ASTBuilder::createBracketAccess):
(JSC::ASTBuilder::createDotAccess):
(JSC::ASTBuilder::createSpreadExpression):
(JSC::ASTBuilder::createRegExp):
(JSC::ASTBuilder::createNewExpr):
(JSC::ASTBuilder::createConditionalExpr):
(JSC::ASTBuilder::createAssignResolve):
(JSC::ASTBuilder::createFunctionExpr):
(JSC::ASTBuilder::createFunctionBody):
(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createArguments):
(JSC::ASTBuilder::createArgumentsList):
(JSC::ASTBuilder::createProperty):
(JSC::ASTBuilder::createPropertyList):
(JSC::ASTBuilder::createElementList):
(JSC::ASTBuilder::createFormalParameterList):
(JSC::ASTBuilder::createClause):
(JSC::ASTBuilder::createClauseList):
(JSC::ASTBuilder::createFuncDeclStatement):
(JSC::ASTBuilder::createBlockStatement):
(JSC::ASTBuilder::createExprStatement):
(JSC::ASTBuilder::createIfStatement):
(JSC::ASTBuilder::createForLoop):
(JSC::ASTBuilder::createForInLoop):
(JSC::ASTBuilder::createForOfLoop):
(JSC::ASTBuilder::createEmptyStatement):
(JSC::ASTBuilder::createVarStatement):
(JSC::ASTBuilder::createEmptyVarExpression):
(JSC::ASTBuilder::createReturnStatement):
(JSC::ASTBuilder::createBreakStatement):
(JSC::ASTBuilder::createContinueStatement):
(JSC::ASTBuilder::createTryStatement):
(JSC::ASTBuilder::createSwitchStatement):
(JSC::ASTBuilder::createWhileStatement):
(JSC::ASTBuilder::createDoWhileStatement):
(JSC::ASTBuilder::createLabelStatement):
(JSC::ASTBuilder::createWithStatement):
(JSC::ASTBuilder::createThrowStatement):
(JSC::ASTBuilder::createDebugger):
(JSC::ASTBuilder::createConstStatement):
(JSC::ASTBuilder::appendConstDecl):
(JSC::ASTBuilder::combineCommaNodes):
(JSC::ASTBuilder::createDeconstructingAssignment):
(JSC::ASTBuilder::Scope::Scope):
(JSC::ASTBuilder::createNumber):
(JSC::ASTBuilder::makeTypeOfNode):
(JSC::ASTBuilder::makeDeleteNode):
(JSC::ASTBuilder::makeNegateNode):
(JSC::ASTBuilder::makeBitwiseNotNode):
(JSC::ASTBuilder::makeMultNode):
(JSC::ASTBuilder::makeDivNode):
(JSC::ASTBuilder::makeModNode):
(JSC::ASTBuilder::makeAddNode):
(JSC::ASTBuilder::makeSubNode):
(JSC::ASTBuilder::makeLeftShiftNode):
(JSC::ASTBuilder::makeRightShiftNode):
(JSC::ASTBuilder::makeURightShiftNode):
(JSC::ASTBuilder::makeBitOrNode):
(JSC::ASTBuilder::makeBitAndNode):
(JSC::ASTBuilder::makeBitXOrNode):
(JSC::ASTBuilder::makeFunctionCallNode):
(JSC::ASTBuilder::makeBinaryNode):
(JSC::ASTBuilder::makeAssignNode):
(JSC::ASTBuilder::makePrefixNode):
(JSC::ASTBuilder::makePostfixNode):

* parser/NodeConstructors.h: Ditto.
(JSC::ParserArenaFreeable::operator new):
(JSC::ParserArenaDeletable::operator new):
(JSC::ParserArenaRefCounted::ParserArenaRefCounted):

* parser/Nodes.cpp: Ditto.
(JSC::ScopeNode::ScopeNode):
(JSC::ProgramNode::ProgramNode):
(JSC::ProgramNode::create):
(JSC::EvalNode::EvalNode):
(JSC::EvalNode::create):
(JSC::FunctionBodyNode::FunctionBodyNode):
(JSC::FunctionBodyNode::create):

* parser/Nodes.h: Ditto.
(JSC::ScopeNode::parserArena):

* parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::parseProperty): The parser now owns its own
arena, and transfers ownership of its contents when invoking the ScopeNode
constructor.

* parser/Parser.h:
(JSC::Parser<LexerType>::parse): No need to explicitly reset the arena,
since its lifetime is tied to the parser's lifetime now.

* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createProperty):
(JSC::SyntaxChecker::createGetterOrSetterProperty):

* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h: The point of the patch: no more global.

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

5 years agoSet a visited link store when creating a simple WebView
andersca@apple.com [Wed, 3 Dec 2014 23:01:36 +0000 (23:01 +0000)]
Set a visited link store when creating a simple WebView
https://bugs.webkit.org/show_bug.cgi?id=139234
<rdar://problem/19132978>

Reviewed by Sam Weinig.

* WebView/WebView.mm:
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

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

5 years agoThe parser should allocate all pieces of the AST
ggaren@apple.com [Wed, 3 Dec 2014 21:54:53 +0000 (21:54 +0000)]
The parser should allocate all pieces of the AST
https://bugs.webkit.org/show_bug.cgi?id=139230

Reviewed by Oliver Hunt.

This is a step toward a 14% parsing speedup.

Previously, allocation was split between the parser and certain node
constructor functions. This made for some duplicated code and circular
dependencies.

* parser/ASTBuilder.h:
(JSC::ASTBuilder::createGetterOrSetterProperty): No need to pass through
the VM, since our callee no longer needs to allocate anything.

(JSC::ASTBuilder::createProperty): Allocate the identifier for our
callee, since that is simpler than requiring our callee to notice that
we didn't do so, and do it for us.

(JSC::ASTBuilder::createForInLoop): Allocate the DeconstructingAssignmentNode
for our callee, since that is simpler than requiring our callee to notice
that we didn't do so, and do it for us.

Also, reuse some code instead of duplicating it.

(JSC::ASTBuilder::createForOfLoop): Ditto.

(JSC::ASTBuilder::createArrayPattern):
(JSC::ASTBuilder::createObjectPattern):
(JSC::ASTBuilder::createBindingLocation): No need to pass through a VM
pointer, since our callee no longer needs to allocate anything.

(JSC::ASTBuilder::createBreakStatement): Deleted.
(JSC::ASTBuilder::createContinueStatement): Deleted.

* parser/NodeConstructors.h:
(JSC::PropertyNode::PropertyNode):
(JSC::DeconstructionPatternNode::DeconstructionPatternNode):
(JSC::ArrayPatternNode::ArrayPatternNode):
(JSC::ArrayPatternNode::create):
(JSC::ObjectPatternNode::ObjectPatternNode):
(JSC::ObjectPatternNode::create):
(JSC::BindingNode::create):
(JSC::BindingNode::BindingNode):
(JSC::ContinueNode::ContinueNode): Deleted.
(JSC::BreakNode::BreakNode): Deleted.
(JSC::EnumerationNode::EnumerationNode): Deleted.
(JSC::ForInNode::ForInNode): Deleted.
(JSC::ForOfNode::ForOfNode): Deleted. Deleted a bunch of special cases
that don't exist anymore, now that the parser allocates all pieces of
the AST unconditionally.

* parser/Nodes.h: Ditto.

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseBreakStatement):
(JSC::Parser<LexerType>::parseContinueStatement): Allocate the null
identifier for our callee, since that is simpler than requiring our
callee to notice that we didn't do so, and do it for us.

(JSC::Parser<LexerType>::parseProperty):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createProperty): No need to pass through a VM
pointer, since our callee no longer needs to allocate anything.

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

5 years agoKeyboard input should be disabled in the preview popover
timothy_horton@apple.com [Wed, 3 Dec 2014 21:53:36 +0000 (21:53 +0000)]
Keyboard input should be disabled in the preview popover
https://bugs.webkit.org/show_bug.cgi?id=139219
<rdar://problem/19052381>

Reviewed by Anders Carlsson.

Make sure that keyboard input, Quick Look, etc. are blocked in preview popovers
and WKThumbnailViews. Also block the fake mouseMove events that originate in
the Web process upon scrolling, because we were missing those despite blocking
ordinary mouseMove events.

* page/ChromeClient.h:
(WebCore::ChromeClient::shouldDispatchFakeMouseMoveEvents):
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
Allow ChromeClient to disable the dispatch of "fake" mouseMove events
that happens during scrolling.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
Rename _ignoresNonWheelMouseEvents to _ignoresNonWheelEvents, because it will
apply not only to mouse events but also key events, Quick Look events, menu
preparation events, swipe events, etc.

Add _ignoresAllEvents, which means the same thing as _ignoresNonWheelEvents
with the addition of ignoring scrollWheel events.

(-[WKView scrollWheel:]):
(-[WKView swipeWithEvent:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
Adjust to the new name.

(-[WKView performKeyEquivalent:]):
(-[WKView keyUp:]):
(-[WKView keyDown:]):
(-[WKView flagsChanged:]):
(-[WKView quickLookWithEvent:]):
(-[WKView prepareForMenu:withEvent:]):
(-[WKView willOpenMenu:withEvent:]):
(-[WKView didCloseMenu:withEvent:]):
Block all of these events as well as those we were previously blocking.

(-[WKView _setIgnoresAllEvents:]):
(-[WKView _setIgnoresNonWheelMouseEvents:]):
(-[WKView _setIgnoresNonWheelEvents:]):
(-[WKView _ignoresNonWheelEvents]):
(-[WKView _ignoresAllEvents]):
* UIProcess/API/mac/WKViewInternal.h:
Adjust to the new names and the addition of ignoresAllEvents.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKPagePreviewViewController loadView]):
Adjust to the new name.

(-[WKActionMenuController prepareForMenu:withEvent:]):
Move bailing from prepareForMenu: up to WKView.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _ignoresNonWheelEvents]):
(-[WKWebView _setIgnoresNonWheelEvents:]):
(-[WKWebView _ignoresNonWheelMouseEvents]): Deleted.
(-[WKWebView _setIgnoresNonWheelMouseEvents:]): Deleted.
* UIProcess/API/Cocoa/WKWebViewInternal.h:
Adjust to the new name (without "mouse" in it).

* UIProcess/API/Cocoa/_WKThumbnailView.mm:
(-[_WKThumbnailView _viewWasUnparented]):
(-[_WKThumbnailView _viewWasParented]):
Explicitly tell WKView to disable event handling while thumbnailed,
instead of having WKView special-case thumbnail views internally.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setShouldDispatchFakeMouseMoveEvents):
* UIProcess/WebPageProxy.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::shouldDispatchFakeMouseMoveEvents):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::shouldDispatchFakeMouseMoveEvents):
(WebKit::WebPage::setShouldDispatchFakeMouseMoveEvents):
* WebProcess/WebPage/WebPage.messages.in:
Plumb shouldDispatchFakeMouseMoveEvents from the UI process to the Web process
and through to WebKit2's ChromeClient implementation.

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

5 years agohttp/tests/misc/authentication-redirect tests use the same authentication realm
ap@apple.com [Wed, 3 Dec 2014 21:45:34 +0000 (21:45 +0000)]
http/tests/misc/authentication-redirect tests use the same authentication realm
https://bugs.webkit.org/show_bug.cgi?id=139225

Reviewed by Tim Horton.

* http/tests/misc/authentication-redirect-1/resources/auth-then-redirect.php:
* http/tests/misc/authentication-redirect-2/resources/auth-then-redirect.php:
* http/tests/misc/authentication-redirect-3/resources/auth-then-redirect-with-url-credentials.php:
* http/tests/misc/authentication-redirect-3/resources/auth-then-redirect.php:
Use different realms.

* http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials-expected.txt:
This test's results no longer depend on previous tests.

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

5 years agoRemove genericFamily enum from FontDescription
antti@apple.com [Wed, 3 Dec 2014 21:01:36 +0000 (21:01 +0000)]
Remove genericFamily enum from FontDescription
https://bugs.webkit.org/show_bug.cgi?id=139207

Reviewed by Andreas Kling.

We use predefined AtomicStrings for generic families. The side enum adds no information.

* css/CSSFontSelector.cpp:
(WebCore::resolveGenericFamily):
(WebCore::CSSFontSelector::getFontData):

    Match the existing quirk where the default font can be replaced by @font-face rule but user generic families can't.

(WebCore::CSSFontSelector::resolvesFamilyFor):
(WebCore::fontDataForGenericFamily): Deleted.
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyFontFamily::applyInheritValue):
(WebCore::ApplyPropertyFontFamily::applyInitialValue):
(WebCore::ApplyPropertyFontFamily::applyValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::checkForGenericFamilyChange):

    Remove the explicit monospace check, earlier useFixedDefaultSize check is equivalent.

(WebCore::StyleResolver::initializeFontStyle):
* platform/graphics/FontDescription.h:
(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::useFixedDefaultSize):
(WebCore::FontDescription::setWeight):
(WebCore::FontDescription::equalForTextAutoSizing):
(WebCore::FontDescription::operator==):
(WebCore::FontDescription::genericFamily): Deleted.
(WebCore::FontDescription::setGenericFamily): Deleted.
* platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::controlFont):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):

    Reset the lineheight unconditionally for buttons.
    This always happened before because the explicitly set generic family made the font compare false.

* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::systemFont):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemFont):
(WebCore::RenderThemeMac::setFontFromControlSize):
* style/StyleResolveForDocument.cpp:
(WebCore::Style::resolveForDocument):

    Resolve document style for final value immediately as it can't be affected by @font-face rules.

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

5 years agoASSERTION: RenderMultiColumnFlowThread::processPossibleSpannerDescendant() when colum...
zalan@apple.com [Wed, 3 Dec 2014 20:53:49 +0000 (20:53 +0000)]
ASSERTION: RenderMultiColumnFlowThread::processPossibleSpannerDescendant() when column spanner's parent is not a RenderBlockFlow.
https://bugs.webkit.org/show_bug.cgi?id=139188
rdar://problem/18502182

Reviewed by David Hyatt.

This patch ensures that the validation check for spanner in isValidColumnSpanner() is in synch
with the expectation in RenderMultiColumnFlowThread::processPossibleSpannerDescendant().
(descendant's parent is expected to be a RenderBlockFlow)

Source/WebCore:

Test: fast/multicol/svg-content-as-column-spanner-crash.html

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::isValidColumnSpanner):

LayoutTests:

* fast/multicol/svg-content-as-column-spanner-crash-expected.txt: Added.
* fast/multicol/svg-content-as-column-spanner-crash.html: Added.

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

5 years ago[TexMap] Redundant method in GraphicsLayerTextureMapper.
commit-queue@webkit.org [Wed, 3 Dec 2014 20:37:54 +0000 (20:37 +0000)]
[TexMap] Redundant method in GraphicsLayerTextureMapper.
https://bugs.webkit.org/show_bug.cgi?id=138005

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-12-03
Reviewed by Alex Christensen.

The TextureMapperLayer method descendantsOrSelfHaveRunningAnimations() can be used
instead of the GraphicsLayerTextureMapper method startedAnimation().

Source/WebCore:

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::addAnimation):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:

Source/WebKit/win:

* WebCoreSupport/AcceleratedCompositingContext.cpp:
(AcceleratedCompositingContext::startedAnimation):

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

5 years agoRemove ENABLE_UI_PROCESS_STORAGE define, it's always 1.
andersca@apple.com [Wed, 3 Dec 2014 20:30:18 +0000 (20:30 +0000)]
Remove ENABLE_UI_PROCESS_STORAGE define, it's always 1.

Rubber-stamped by Beth Dakin.

* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::localStorageNamespace):
(WebKit::WebPlatformStrategies::transientLocalStorageNamespace):
(WebKit::WebPlatformStrategies::sessionStorageNamespace):

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

5 years agoSubtitle menu should only appear when useful.
commit-queue@webkit.org [Wed, 3 Dec 2014 20:03:06 +0000 (20:03 +0000)]
Subtitle menu should only appear when useful.
https://bugs.webkit.org/show_bug.cgi?id=139133

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

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerController hasLegibleMediaSelectionOptions]): only enable when there are non default options.
(-[WebAVPlayerController hasAudioMediaSelectionOptions]): only enable when there is more than one option.

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

5 years agoUse an @autoreleasepool instead of NSAutoreleasePool.
andersca@apple.com [Wed, 3 Dec 2014 19:59:27 +0000 (19:59 +0000)]
Use an @autoreleasepool instead of NSAutoreleasePool.

Rubber-stamped by Tim Horton.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):

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

5 years agoAX: [ATK] Inline text elements with accessible object attributes and/or event handler...
jdiggs@igalia.com [Wed, 3 Dec 2014 19:51:28 +0000 (19:51 +0000)]
AX: [ATK] Inline text elements with accessible object attributes and/or event handlers are not exposed
https://bugs.webkit.org/show_bug.cgi?id=139071

Reviewed by Chris Fleizach.

Source/WebCore:

Adds a new InlineRole accessibility role type for non-focusable inline
elements which have an event handler or attribute suggesting possible
inclusion by the platform. This is mapped to ATK_ROLE_STATIC for GTK and
EFL. On the Mac, it is currently ignored to preserve existing behavior.

Added new test cases to the existing roles-exposed.html test.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::supportsDatetimeAttribute): Added.
* accessibility/AccessibilityObject.h: Added InlineRole.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole): Handle InlineRole.
* accessibility/atk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Include InlineRole objects.
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):
* accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore InlineRole objects.
* html/HTMLTagNames.in: Added 'time'.

Tools:

Add string value for ATK_ROLE_STATIC in roleToString.

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

LayoutTests:

* accessibility/roles-exposed.html: New test cases added.
* platform/efl/accessibility/roles-exposed-expected.txt: Updated for new test cases.
* platform/gtk/accessibility/roles-exposed-expected.txt: Updated for new test cases.
* platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for new test cases.
* platform/mac-mountainlion/accessibility/roles-exposed-expected.txt: Updated for new test cases.
* platform/mac/accessibility/roles-exposed-expected.txt: Updated for new test cases.

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

5 years agoAdd layout test for DOM timer throttling in iframe scrolled out of viewport
cdumez@apple.com [Wed, 3 Dec 2014 19:16:52 +0000 (19:16 +0000)]
Add layout test for DOM timer throttling in iframe scrolled out of viewport
https://bugs.webkit.org/show_bug.cgi?id=138884

Reviewed by Andreas Kling.

Add a layout test to test that a repeating DOM timer inside an iframe
get throttled if the iframe is scrolled out of the viewport.

* fast/dom/resources/timer-throttling-iframe.html: Added.
* fast/dom/timer-throttle-on-scrolling-iframe-away.html: Added.

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

5 years agoREGRESSION(r176687): Caused webkit2 test assertion failure crashes in WebKit::WebPage...
mitz@apple.com [Wed, 3 Dec 2014 19:08:53 +0000 (19:08 +0000)]
REGRESSION(r176687): Caused webkit2 test assertion failure crashes in WebKit::WebPage::willStartDrag()
https://bugs.webkit.org/show_bug.cgi?id=139224

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mouseEventSyncForTesting): Wait for the UI process to start dragging if
needed before handling the event.

LayoutTests:

* platform/wk2/TestExpectations: Unskip the tests.

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

5 years agoVersioning.
bshafiei@apple.com [Wed, 3 Dec 2014 18:56:41 +0000 (18:56 +0000)]
Versioning.

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

5 years agoGardening: updating some tests as skips instead of crashes.
mark.lam@apple.com [Wed, 3 Dec 2014 18:33:14 +0000 (18:33 +0000)]
Gardening: updating some tests as skips instead of crashes.
<https://webkit.org/b/139224>

Not reviewed.

* platform/wk2/TestExpectations:

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

5 years ago[Mac] Hang when calling -[AVAsset resolvedURL].
jer.noble@apple.com [Wed, 3 Dec 2014 18:01:32 +0000 (18:01 +0000)]
[Mac] Hang when calling -[AVAsset resolvedURL].
https://bugs.webkit.org/show_bug.cgi?id=139223

Reviewed by Eric Carlson.

On a particularly slow-loading site, a call to -[AVAsset resolvedURL] can take an arbitrarily long
time. Treat this AVAsset property similar to other "metadata" properties, and check the load status
of the property before requesting it.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): Check the load state of -resolvedURL.
(WebCore::MediaPlayerPrivateAVFoundationObjC::resolvedURL): Ditto.
(WebCore::assetMetadataKeyNames): Add @"resolvedURL".

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

5 years ago[GTK] outdated comment
commit-queue@webkit.org [Wed, 3 Dec 2014 17:55:11 +0000 (17:55 +0000)]
[GTK] outdated comment
https://bugs.webkit.org/show_bug.cgi?id=137801

Patch by Michael Catanzaro <mcatanzaro@igalia.com> on 2014-12-03
Reviewed by Carlos Garcia Campos.

Remove a comment that is no longer correct.

* NetworkProcess/gtk/NetworkProcessMainGtk.cpp:

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

5 years agoGardening: marking some tests as crashes.
mark.lam@apple.com [Wed, 3 Dec 2014 17:50:50 +0000 (17:50 +0000)]
Gardening: marking some tests as crashes.
<https://webkit.org/b/139224>

Not reviewed.

* platform/wk2/TestExpectations:

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

5 years agoURTBF after r176721 to fix ENABLE(CSS_DEVICE_ADAPTATION) build.
ossy@webkit.org [Wed, 3 Dec 2014 15:26:39 +0000 (15:26 +0000)]
URTBF after r176721 to fix ENABLE(CSS_DEVICE_ADAPTATION) build.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseViewportProperty):

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

5 years agoMove 'display' CSS property to the new StyleBuilder
cdumez@apple.com [Wed, 3 Dec 2014 14:46:15 +0000 (14:46 +0000)]
Move 'display' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139218

Reviewed by Antti Koivisto.

Move 'display' CSS property to the new StyleBuilder.

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyDisplay::isValidDisplayValue): Deleted.
(WebCore::ApplyPropertyDisplay::applyInheritValue): Deleted.
(WebCore::ApplyPropertyDisplay::applyInitialValue): Deleted.
(WebCore::ApplyPropertyDisplay::applyValue): Deleted.
(WebCore::ApplyPropertyDisplay::createHandler): Deleted.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::isValidDisplayValue):
(WebCore::StyleBuilderCustom::applyInheritDisplay):
(WebCore::StyleBuilderCustom::applyValueDisplay):
* css/makeprop.pl:
Add support for passing multiple values for Custom option, e.g.:
'Custom=Inherit|Value'. This was useful as we did not need custom
code for display's initial value.

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

5 years agoModernize the CSSParser code
cdumez@apple.com [Wed, 3 Dec 2014 14:21:24 +0000 (14:21 +0000)]
Modernize the CSSParser code
https://bugs.webkit.org/show_bug.cgi?id=139209

Reviewed by Antti Koivisto.

Modernize the CSSParser code by:
- Using more references instead of pointers
- Using nullptr instead of 0

No new tests, no behavior change.

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

5 years agocheck-webkit-style is confused by ternary expression inside first member initializer
commit-queue@webkit.org [Wed, 3 Dec 2014 13:32:01 +0000 (13:32 +0000)]
check-webkit-style is confused by ternary expression inside first member initializer
https://bugs.webkit.org/show_bug.cgi?id=136442

Patch by Renato Nagy <rnagy@inf.u-szeged.hu> on 2014-12-03
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_member_initialization_list):

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

5 years ago[GTK] [JHBuild] gst-plugins-bad fails to build if the GNUStep libraries are installed.
clopez@igalia.com [Wed, 3 Dec 2014 12:20:55 +0000 (12:20 +0000)]
[GTK] [JHBuild] gst-plugins-bad fails to build if the GNUStep libraries are installed.
https://bugs.webkit.org/show_bug.cgi?id=139220

Reviewed by Philippe Normand.

* gtk/jhbuild.modules:
* gtk/patches/gst-plugins-bad-remove-gnustep-support.patch: Added.

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

5 years agoRemove unused JSC runtime options
ossy@webkit.org [Wed, 3 Dec 2014 11:34:18 +0000 (11:34 +0000)]
Remove unused JSC runtime options
https://bugs.webkit.org/show_bug.cgi?id=133070

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-12-03
Reviewed by Csaba Osztrogonác.

Source/JavaScriptCore:

* runtime/Options.h:

Tools:

* Scripts/run-jsc-stress-tests:

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

5 years ago[iOS] REGRESSION (r176622): WebCore fails to link
ddkilzer@apple.com [Wed, 3 Dec 2014 11:12:02 +0000 (11:12 +0000)]
[iOS] REGRESSION (r176622): WebCore fails to link

Speculative fix for the following build failure:

    Ld WebCore
    Undefined symbols for architecture armv7s:
      "__ZN3JSC10IdentifierC1EPNS_9ExecStateERKN3WTF12AtomicStringE", referenced from:
          __ZN7WebCoreL24createAccelerationObjectEPKNS_16DeviceMotionData12AccelerationEPN3JSC9ExecStateE in JSDeviceMotionEventCustom.o

* bindings/js/JSDeviceMotionEventCustom.cpp: Include
<runtime/IdentifierInlines.h> to define missing symbol.

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

5 years ago[Media] Audio content shouldn't have fullscreen buttons, even if in a video element
dino@apple.com [Wed, 3 Dec 2014 10:09:06 +0000 (10:09 +0000)]
[Media] Audio content shouldn't have fullscreen buttons, even if in a video element
https://bugs.webkit.org/show_bug.cgi?id=139200
<rdar://problem/18914506>

Reviewed by Eric Carlson.

Source/WebCore:

An audio-only resource, even if loaded into a <video> element, should not
present the fullscreen or optimised fullscreen controls. This includes a
MediaDocument, which is always a <video> element. We can detect this by
examining the length of the videoTracks property as our content loads.

Test: media/audio-as-video-fullscreen.html

* Modules/mediacontrols/mediaControlsApple.js:
(Controller): Initialize a hasVisualMedia to false.
(Controller.prototype.handleReadyStateChange): If we see a videoTrack, hasVisualMedia is now true.
(Controller.prototype.updateFullscreenButtons): Merge the updateFullscreenButton and
updateOptimizedFullscreenButton methods into this single spot, and check for
hasVisualMedia.
(Controller.prototype.updateFullscreenButton): Deleted.
(Controller.prototype.updateOptimizedFullscreenButton): Deleted.

* Modules/mediacontrols/mediaControlsBase.js: Do the same for the other ports.

LayoutTests:

Loads an audio file via the video element and checks if the
fullscreen button is visible.

* media/audio-as-video-fullscreen-expected.txt: Added.
* media/audio-as-video-fullscreen.html: Added.

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

5 years agoMissing support for innerHTML on SVGElement
dino@apple.com [Wed, 3 Dec 2014 10:08:41 +0000 (10:08 +0000)]
Missing support for innerHTML on SVGElement
https://bugs.webkit.org/show_bug.cgi?id=136903

Unreviewed followup from r176630. Minor style nits that I missed in my review.

* dom/Element.h: Remove unnecessary parameter name.
* html/parser/HTMLTreeBuilder.cpp: Whitespace cleanup.
(WebCore::HTMLTreeBuilder::adjustedCurrentStackItem):

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

5 years ago[EFL] Add subtle crypto to the build system
evab.u-szeged@partner.samsung.com [Wed, 3 Dec 2014 09:25:10 +0000 (09:25 +0000)]
[EFL] Add subtle crypto to the build system
https://bugs.webkit.org/show_bug.cgi?id=138612

Reviewed by Csaba Osztrogonác.

.:

* Source/cmake/OptionsEfl.cmake:

Source/WebCore:

It is obvious to make Efl use GnuTLS as well,
and since there seems no reason why to separate
Efl and Gtk implementations from each other, I
also propose renaming the gtk directory and file
suffixes to gnutls.

No new tests needed.

* PlatformEfl.cmake:
* PlatformGTK.cmake:
* crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_CBCGtk.cpp.
(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
* crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_KWGtk.cpp.
(WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
(WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
* crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmHMACGtk.cpp.
(WebCore::getGnutlsDigestAlgorithm):
(WebCore::calculateSignature):
(WebCore::CryptoAlgorithmHMAC::platformSign):
(WebCore::CryptoAlgorithmHMAC::platformVerify):
* crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSAES_PKCS1_v1_5Gtk.cpp.
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
* crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSASSA_PKCS1_v1_5Gtk.cpp.
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):
* crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSA_OAEPGtk.cpp.
(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
* crypto/gnutls/CryptoAlgorithmRegistryGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRegistryGtk.cpp.
(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
* crypto/gnutls/CryptoDigestGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoDigestGtk.cpp.
(WebCore::CryptoDigest::CryptoDigest):
(WebCore::CryptoDigest::~CryptoDigest):
(WebCore::CryptoDigest::create):
(WebCore::CryptoDigest::addBytes):
(WebCore::CryptoDigest::computeHash):
* crypto/gnutls/CryptoKeyRSAGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoKeyRSAGtk.cpp.
(WebCore::CryptoKeyRSA::CryptoKeyRSA):
(WebCore::CryptoKeyRSA::create):
(WebCore::CryptoKeyRSA::~CryptoKeyRSA):
(WebCore::CryptoKeyRSA::restrictToHash):
(WebCore::CryptoKeyRSA::isRestrictedToHash):
(WebCore::CryptoKeyRSA::keySizeInBits):
(WebCore::CryptoKeyRSA::buildAlgorithmDescription):
(WebCore::CryptoKeyRSA::exportData):
(WebCore::CryptoKeyRSA::generatePair):
* crypto/gnutls/SerializedCryptoKeyWrapGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/SerializedCryptoKeyWrapGtk.cpp.
(WebCore::getDefaultWebCryptoMasterKey):
(WebCore::wrapSerializedCryptoKey):
(WebCore::unwrapSerializedCryptoKey):
* crypto/keys/CryptoKeyRSA.h:

Tools:

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:

* platform/efl/TestExpectations:

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

5 years agoLittle cleanup of the default stylesheet
benjamin@webkit.org [Wed, 3 Dec 2014 06:36:21 +0000 (06:36 +0000)]
Little cleanup of the default stylesheet
https://bugs.webkit.org/show_bug.cgi?id=139168

Reviewed by Antti Koivisto.

Source/WebCore:

The default stylesheet has a lot of historical junk that need cleaning. This patch addresses
only the bits that do not change behaviors and have positive perf and readability impact.

I have limited :matches() to attributes for now. The idea is to only target
simple selectors that are not used for filtering by the collectors.
We should eventually clean up more cases, one thing at a time.

Tests: fast/css/map-tag-default-display.html
       fast/selectors/map-tag-default-display.html

* css/html.css:
(map): Deleted.
map was explicitely setting its display to inline. Remove that since it is the default.

(head): Deleted.
(meta): Deleted.
(title): Deleted.
(link): Deleted.
(style): Deleted.
(script): Deleted.
(div): Deleted.
(layer): Deleted.
(article, aside, footer, header, hgroup, main, nav, section): Deleted.
(address): Deleted.
(head, link, meta, script, style, title):
(address, article, aside, div, footer, header, hgroup, layer, main, nav, section):
Group the standard blocks in a single rule.

(input:matches([type="hidden"], [type="image"], [type="file"])):
(input:matches([type="radio"], [type="checkbox"])):
(input:matches([type="button"], [type="submit"], [type="reset"])):
(input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button):
(input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]::-webkit-file-upload-button:active, button:active):
(input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]:active::-webkit-file-upload-button, button:active):
(input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled):
(input:matches([type="checkbox"], [type="radio"]):checked):
(input:matches([type="checkbox"], [type="radio"]):checked:disabled):
(select:matches([size], [multiple], [size][multiple])):
(select:matches([size="0"], [size="1"])):
(input[type="hidden"], input[type="image"], input[type="file"]): Deleted.
(input[type="radio"], input[type="checkbox"]): Deleted.
(input[type="button"], input[type="submit"], input[type="reset"]): Deleted.
(input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button): Deleted.
(input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]::-webkit-file-upload-button:active, button:active): Deleted.
(input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active): Deleted.
(input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled): Deleted.
(input[type="checkbox"]:checked, input[type="radio"]:checked): Deleted.
(input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled): Deleted.
(select[size][multiple]): Deleted.
(select[size="1"]): Deleted.
Group every selector lists that only differentiates complex selectors through attributes
into a simple complex selector with :matches().

LayoutTests:

Test the default display type of <map> since it is not longer explicitely set.

* fast/css/map-tag-default-display-expected.html: Added.
* fast/css/map-tag-default-display.html: Added.
* fast/selectors/map-tag-default-display-expected.txt: Added.
* fast/selectors/map-tag-default-display.html: Added.

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

5 years agoNew perf dashboard's chart UI is buggy
rniwa@webkit.org [Wed, 3 Dec 2014 04:17:32 +0000 (04:17 +0000)]
New perf dashboard's chart UI is buggy
https://bugs.webkit.org/show_bug.cgi?id=139214

Reviewed by Chris Dumez.

The bugginess was caused by weird interactions between charts and panes. Rewrote the code to fix it.

Superfluous selectionChanged and domainChanged "event" actions were removed from the interactive chart
component. This is not how Ember.js components should interact to begin with. The component now exposes
selectedPoints and always updates selection instead of sharedSelection.

* public/v2/app.js:
(App.ChartsController.present): Added. We can't call Date.now() in various points in our code as that
would lead to infinite mutual recursions since X-axis domain values wouldn't match up.
(App.ChartsController.updateSharedDomain): This function was completely useless. The overview's start
and end time should be completely determined by "since" and the present time.
(App.ChartsController._startTimeChanged): Ditto.
(App.ChartsController._scheduleQueryStringUpdate):
(App.ChartsController._updateQueryString): Set "zoom" only if it's different from the shared domain.

(App.domainsAreEqual): Moved from InteractiveChartComponent._xDomainsAreSame.

(App.PaneController.actions.createAnalysisTask): Use selectedPoints property set by the chart.
(App.PaneController.actions.overviewDomainChanged): Removed; only needed to call updateSharedDomain.
(App.PaneController.actions.rangeChanged): Removed. _showDetails (renamed to _updateDetails) directly
observes the changes to selectedPoints property as it gets updated by the main chart.
(App.PaneController._overviewSelectionChanged): This was previously a dead code. Now it's used again
with a bug fix. When the overview selection is cleared, we use the same domain in the main chart and
the overview chart.
(App.PaneController._sharedDomainChanged): Fixed a but that it erroneously updates the overview domain
when domain arrays aren't identical. This was causing a subtle race with other logic.
(App.PaneController._sharedZoomChanged): Ditto. Also don't set mainPlotDomain here as any changes to
overviewSelection will automatically propagate to the main plot's domain as they're aliased.
(App.PaneController._currentItemChanged): Merged into _updateDetails (renamed from _showDetails).
(App.PaneController._updateDetails): Previously, this function took points and inspected _hasRange to
see if those two points correspond to a range or a single data point. Rewrote all that logic by
directly observing selectedPoints and currentItem properties instead of taking points and relying on
an instance variable, which was a terrible API.
(App.PaneController._updateCanAnalyze): Use selectedPoints property. Since this property is only set
when the main plot has a selected range, we don't have to check this._hasRange anymore.

(App.InteractiveChartComponent._updateDomain): No longer sends domainChanged "event" action.
(App.InteractiveChartComponent._sharedSelectionChanged): Removed. This is a dead code.
(App.InteractiveChartComponent._updateSelection):
(App.InteractiveChartComponent._xDomainsAreSame): Moved to App.domainsAreEqual.
(App.InteractiveChartComponent._setCurrentSelection): Update the selection only if needed. Also set
selectedPoints property.

(App.AnalysisTaskController._fetchedRuns):
(App.AnalysisTaskController._rootChangedForTestSet):

* public/v2/index.html:
Removed non-functional sharedSelection and superfluous selectionChanged and domainChanged actions.

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

5 years agoRolling out r176592, r176603, r176616, and r176705 until build and perf issues are...
mark.lam@apple.com [Wed, 3 Dec 2014 04:14:49 +0000 (04:14 +0000)]
Rolling out r176592, r176603, r176616, and r176705 until build and perf issues are resolved.
https://bugs.webkit.org/show_bug.cgi?id=138821

Not reviewed.

Source/JavaScriptCore:

* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::visitChildren):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitComplexPopScopes):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):
* ftl/FTLAbbreviations.h:
(JSC::FTL::mdNode):
(JSC::FTL::buildCall):
* llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
* parser/Parser.h:
(JSC::Scope::Scope):
* runtime/JSArray.cpp:
(JSC::JSArray::setLengthWithArrayStorage):
(JSC::JSArray::sortCompactedVector):
* tools/ProfileTreeNode.h:
(JSC::ProfileTreeNode::dumpInternal):
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::matchCharacterClass):

Source/WebCore:

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::deserializeString):
* editing/TextIterator.cpp:
(WebCore::SearchBuffer::isBadMatch):
* page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::buildSelectionHighlight):
* platform/graphics/SegmentedFontData.cpp:
(WebCore::SegmentedFontData::fontDataForCharacter):
(WebCore::SegmentedFontData::containsCharacter):
(WebCore::SegmentedFontData::isLoading):
* platform/graphics/WOFFFileFormat.cpp:
(WebCore::convertWOFFToSfnt):
* platform/graphics/cairo/GradientCairo.cpp:
(WebCore::Gradient::platformGradient):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::clearFrameBufferCache):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintFillLayers):
* rendering/style/GridResolvedPosition.cpp:
(WebCore::firstNamedGridLineBeforePosition):
(WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
* svg/SVGFontElement.cpp:
(WebCore::kerningForPairOfStringsAndGlyphs):
* svg/SVGPathByteStream.h:
(WebCore::SVGPathByteStream::append):
* xml/XPathNodeSet.h:
(WebCore::XPath::NodeSet::begin):
(WebCore::XPath::NodeSet::end):

Source/WTF:

* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/IndexedIterator.h: Removed.
* wtf/RefCountedArray.h:
(WTF::RefCountedArray::RefCountedArray):
* wtf/Vector.h:
(WTF::Vector::Vector):
(WTF::Vector::begin):
(WTF::Vector::end):
(WTF::OverflowHandler>::Vector):
(WTF::=):
(WTF::OverflowHandler>::fill):
(WTF::OverflowHandler>::expandCapacity):
(WTF::OverflowHandler>::tryExpandCapacity):
(WTF::OverflowHandler>::resize):
(WTF::OverflowHandler>::shrink):
(WTF::OverflowHandler>::grow):
(WTF::OverflowHandler>::reserveCapacity):
(WTF::OverflowHandler>::tryReserveCapacity):
(WTF::OverflowHandler>::shrinkCapacity):
(WTF::OverflowHandler>::append):
(WTF::OverflowHandler>::tryAppend):
(WTF::OverflowHandler>::appendSlowCase):
(WTF::OverflowHandler>::uncheckedAppend):
(WTF::OverflowHandler>::appendVector):
(WTF::OverflowHandler>::insert):
(WTF::OverflowHandler>::insertVector):
(WTF::OverflowHandler>::remove):

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

5 years agoFix build break EFL port since r176696
gyuyoung.kim@samsung.com [Wed, 3 Dec 2014 03:14:08 +0000 (03:14 +0000)]
Fix build break EFL port since r176696
https://bugs.webkit.org/show_bug.cgi?id=139215

Unreviewed, build fix for EFL port.

* storage/StorageNamespaceProvider.h: Include SecurityOriginHash.h from WebCore/page directory.

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

5 years agoDon't block menu highlighting when presenting a page preview
conrad_shultz@apple.com [Wed, 3 Dec 2014 02:57:05 +0000 (02:57 +0000)]
Don't block menu highlighting when presenting a page preview
https://bugs.webkit.org/show_bug.cgi?id=139217

Reviewed by Tim Horton.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _previewURLFromActionMenu:]):
Defer popover presentation to the next turn of the runloop.

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

5 years agoAX: [ATK] Table captions and table rows are missing from the accessible hierarchy
jdiggs@igalia.com [Wed, 3 Dec 2014 02:02:36 +0000 (02:02 +0000)]
AX: [ATK] Table captions and table rows are missing from the accessible hierarchy
https://bugs.webkit.org/show_bug.cgi?id=139005

Reviewed by Chris Fleizach.

Source/WebCore:

Expose table captions and rows via ATK. Accomplishing the former is done
by role mapping and inclusion of the object as a child of the table for
ATK. Accomplishing the latter was mostly a matter of deleting all the ATK
platform code that had been forcing rows to be ignored. Because captions
are not being exposed on the Mac, they are now explicitly being ignored
for that platform.

Tests: accessibility/aria-table-hierarchy.html
       accessibility/table-hierarchy.html

* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole): Added CaptionRole.
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::addChildren): Include non-ignored captions as table children.
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetNChildren): Removed special handling for tables.
(webkitAccessibleRefChild): Removed special handling for tables.
(webkitAccessibleGetIndexInParent): Removed special handling for table cells.
(atkRole): Corrected broken mapping for RowRole.
(getNChildrenForTable): Deleted.
(getChildForTable): Deleted.
(getIndexInParentForCellInRow): Deleted.
* accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore captions as table children.

Tools:

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
Add mapping for ATK_ROLE_CAPTION to roleToString

LayoutTests:

* accessibility/aria-table-hierarchy.html: Added.
* accessibility/roles-exposed.html: Removed comment pointing to this bug.
* accessibility/table-hierarchy.html: Added.
* platform/efl/accessibility/aria-table-hierarchy-expected.txt: Added.
* platform/efl/accessibility/roles-exposed-expected.txt: Updated to reflect new behavior.
* platform/efl/accessibility/table-detection-expected.txt: Updated to reflect new behavior.
* platform/efl/accessibility/table-hierarchy-expected.txt: Added.
* platform/efl/accessibility/table-roles-hierarchy-expected.txt: Added.
* platform/efl/accessibility/table-with-rules-expected.txt: Updated to reflect new behavior.
* platform/gtk/accessibility/aria-table-hierarchy-expected.txt: Updated to reflect new behavior.
* platform/gtk/accessibility/aria-table-hierarchy.html: Removed (made into a shared test).
* platform/gtk/accessibility/caret-offsets-expected.txt: Updated to reflect new behavior.
* platform/gtk/accessibility/caret-offsets.html: Modified to handle inclusion of rows.
* platform/gtk/accessibility/roles-exposed-expected.txt: Updated to reflect new behavior.
* platform/gtk/accessibility/table-detection-expected.txt: Updated to reflect new behavior.
* platform/gtk/accessibility/table-hierarchy-expected.txt: Updated to reflect new behavior.
* platform/gtk/accessibility/table-hierarchy.html: Removed (made into a shared test).
* platform/gtk/accessibility/table-roles-hierarchy-expected.txt: Added.
* platform/gtk/accessibility/table-with-rules-expected.txt: Updated to reflect new behavior.
* platform/gtk/accessibility/text-for-range-table-cells.html: Updated to reflect new behavior.
* platform/mac/accessibility/aria-table-hierarchy-expected.txt: Added.
* platform/mac/accessibility/table-hierarchy-expected.txt: Added.

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

5 years agoFix IOS builds.
oliver@apple.com [Wed, 3 Dec 2014 02:01:42 +0000 (02:01 +0000)]
Fix IOS builds.

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

5 years agoRemove empty directories
weinig@apple.com [Wed, 3 Dec 2014 01:52:18 +0000 (01:52 +0000)]
Remove empty directories

Reviewed by Anders Carlsson.

* Source: Removed.
* Source/WebKit: Removed.
* Source/WebKit/mac: Removed.
* Source/WebKit/mac/Resources: Removed.

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

5 years agoFix the build.
timothy_horton@apple.com [Wed, 3 Dec 2014 01:44:53 +0000 (01:44 +0000)]
Fix the build.

* UIProcess/mac/WebContextMac.mm:
* WebCoreSupport/WebFrameLoaderClient.mm:

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

5 years ago<rdar://problem/18441138> [iOS] Text selection in WKWebView with WKSelectionGranulari...
mitz@apple.com [Wed, 3 Dec 2014 00:59:06 +0000 (00:59 +0000)]
<rdar://problem/18441138> [iOS] Text selection in WKWebView with WKSelectionGranularityCharacter only works in the most recent WKWebView to load
https://bugs.webkit.org/show_bug.cgi?id=139211

Reviewed by Anders Carlsson.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView becomeFirstResponder]): Override to activate the text selection for when
becoming first resopnder.
(-[WKContentView resignFirstResponder]): Deactiavte the text selection when resigning first
responder. This ensures that if another WKWebView becomes first responder, and it uses
block selection, we don’t end up with two active selection views.
(-[WKContentView useSelectionAssistantWithMode:]): Only activate the text selection if this
is the first responder. This ensures that loading content into a non-first-responder
WKWebView doesn‘t deactivate the text selection in the current first responder.

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

5 years agoChange CallFrame::globalThisValue() to not use CallFrame::scope()
msaboff@apple.com [Wed, 3 Dec 2014 00:49:19 +0000 (00:49 +0000)]
Change CallFrame::globalThisValue() to not use CallFrame::scope()
https://bugs.webkit.org/show_bug.cgi?id=139202

Reviewed by Mark Lam.

Changed to use the globalThis() on the globalObject associated with the
callee.  Moved the inline definition to JSGlobalObject.h instead of
including JSGlobalObject.h in JSScope.h.  Also moved it as JSScope
objects are no longer involved in getting the value.

* runtime/JSGlobalObject.h:
(JSC::ExecState::globalThisValue):
* runtime/JSScope.h:
(JSC::ExecState::globalThisValue): Deleted.

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

5 years agoWeb Inspector: CSS Minification breaks some selectors with colons
commit-queue@webkit.org [Wed, 3 Dec 2014 00:39:34 +0000 (00:39 +0000)]
Web Inspector: CSS Minification breaks some selectors with colons
https://bugs.webkit.org/show_bug.cgi?id=139206

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

Do not remove spaces preceeding colons, as they may change the semantics
of selectors with colon prefixes (e.g. "a :not(b)").

At the same time, we can strip spaces around "!" characters, for example
a space is not required before "!important" priority.

* Scripts/cssmin.py:
(cssminify):

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

5 years agohttp/tests/appcache/main-resource-fallback-for-network-error-crash.html can break...
ap@apple.com [Wed, 3 Dec 2014 00:33:29 +0000 (00:33 +0000)]
http/tests/appcache/main-resource-fallback-for-network-error-crash.html can break subsequent tests
https://bugs.webkit.org/show_bug.cgi?id=139149

Reviewed by Anders Carlsson.

Source/WebCore:

* WebCore.exp.in: Added ApplicationCache::deleteAllCaches.

* loader/appcache/ApplicationCache.h:
* loader/appcache/ApplicationCache.cpp:
(WebCore::ApplicationCache::deleteAllCaches): Added.

* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::getManifestURLs): Removed logging. It is OK to
have this function called when there is no database file.

* loader/appcache/ApplicationCacheStorage.h: Renamed manifestURLs to getManifestURLs,
because WebKit style.

Source/WebKit/mac:

This changes API behavior. I think that it's OK, because existing behavior made no sense.
We used to delete caches from disk, but they were still active in memory. Now we also
obsolete them in memory, so documents that use a cache still work, but new ones don't
pick one up.

* WebCoreSupport/WebApplicationCache.mm:
(+[WebApplicationCache setMaximumSize:]): Changing maximum on-disk size doesn't
need to delete in-momry caches too. Keep existing behavior.
(+[WebApplicationCache deleteAllApplicationCaches]): Use the new WebCore function
that properly deletes caches.

Source/WebKit2:

This changes API behavior. I think that it's OK, because existing behavior made no sense.
We used to delete caches from disk, but they were still active in memory. Now we also
obsolete them in memory, so documents that use a cache still work, but new ones don't
pick one up.

* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::deleteAllEntries): Use the new WebCore function
that properly deletes caches.

Tools:

WebKit2 already cleared application caches between runs (although it wasn't entirely
effective without WebCore changes in this patch).

* DumpRenderTree/mac/DumpRenderTree.mm: (runTest): Clear applicaiton caches between runs.

* DumpRenderTree/win/DumpRenderTree.cpp: (runTest): Ditto (unfortunately, this
function is not implemented on Windows, see below).

* DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::clearAllApplicationCaches):
Ameded a FIXME.

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

5 years agoRemove a SnowLeopard-era quirk for QuickLook
timothy_horton@apple.com [Wed, 3 Dec 2014 00:32:33 +0000 (00:32 +0000)]
Remove a SnowLeopard-era quirk for QuickLook
https://bugs.webkit.org/show_bug.cgi?id=139208
<rdar://problem/19121822>

Reviewed by Alexey Proskuryakov.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* loader/EmptyClients.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::subresourceCachePolicy):
* loader/FrameLoaderClient.h:
* platform/mac/QuickLookMac.h: Removed.
* platform/mac/QuickLookMac.mm: Removed.

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::needsQuickLookResourceCachingQuirks): Deleted.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
* WebProcess/WebProcess.h:
(WebKit::WebProcess::needsQuickLookResourceCachingQuirks): Deleted.
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

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

5 years agoBegin stubbing out a StorageNamespaceProvider class
andersca@apple.com [Wed, 3 Dec 2014 00:30:17 +0000 (00:30 +0000)]
Begin stubbing out a StorageNamespaceProvider class
https://bugs.webkit.org/show_bug.cgi?id=139203

Reviewed by Tim Horton.

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
Add new files.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::localStorage):
If the page has a storage namespace provider, get the local storage from it.

* page/Page.cpp:
(WebCore::Page::Page):
Move the storage namespace provider from the configuration.

(WebCore::Page::setStorageNamespaceProvider):
Add a setter. This will be used by setGroupName.

* page/Page.h:
(WebCore::Page::storageNamespaceProvider):
Add a getter.

* page/PageConfiguration.cpp:
* page/PageConfiguration.h:
Add a storage namespace provider member.

* storage/StorageNamespaceProvider.cpp:
(WebCore::StorageNamespaceProvider::StorageNamespaceProvider):
(WebCore::StorageNamespaceProvider::~StorageNamespaceProvider):
(WebCore::StorageNamespaceProvider::addPage):
(WebCore::StorageNamespaceProvider::removePage):
(WebCore::StorageNamespaceProvider::localStorageNamespace):
(WebCore::StorageNamespaceProvider::transientLocalStorageNamespace):
* storage/StorageNamespaceProvider.h:
Stub out a storage namespace provider class.

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

5 years agoLoading Lookup causes http/tests/cache/post-redirect-get.php to fail
timothy_horton@apple.com [Tue, 2 Dec 2014 23:41:23 +0000 (23:41 +0000)]
Loading Lookup causes http/tests/cache/post-redirect-get.php to fail
https://bugs.webkit.org/show_bug.cgi?id=139204
<rdar://problem/19120929>

Reviewed by Anders Carlsson.

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _showDictionaryLookupPopup:]):
* WebView/WebViewData.h:
Work around this by delaying the softlinking (and setting up the notification
observer) until we actually need it. There's still an underlying bug, but
this will fix the test.

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

5 years agoMore build fixing.
bdakin@apple.com [Tue, 2 Dec 2014 22:05:33 +0000 (22:05 +0000)]
More build fixing.

* platform/spi/mac/QuickLookMacSPI.h:

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

5 years agoYet another build fix.
bdakin@apple.com [Tue, 2 Dec 2014 21:53:06 +0000 (21:53 +0000)]
Yet another build fix.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForLink]):

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

5 years agoAnother build fix.
bdakin@apple.com [Tue, 2 Dec 2014 21:47:05 +0000 (21:47 +0000)]
Another build fix.

* platform/spi/mac/NSMenuSPI.h:

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

5 years agoBuild fix.
bdakin@apple.com [Tue, 2 Dec 2014 21:36:48 +0000 (21:36 +0000)]
Build fix.

Source/WebKit/mac:

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForLink]):

Source/WebKit2:

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForLink]):

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

5 years agoSource/WebKit/mac:
bdakin@apple.com [Tue, 2 Dec 2014 21:31:48 +0000 (21:31 +0000)]
Source/WebKit/mac:
More build fixing.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForLink]):

Source/WebKit2:
More build fix.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForLink]):

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

5 years agoSpeculative build fix.
bdakin@apple.com [Tue, 2 Dec 2014 21:20:19 +0000 (21:20 +0000)]
Speculative build fix.

* platform/spi/mac/QuickLookMacSPI.h:

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

5 years agoSpeculative build fix.
bdakin@apple.com [Tue, 2 Dec 2014 21:12:16 +0000 (21:12 +0000)]
Speculative build fix.

* platform/spi/mac/QuickLookMacSPI.h:

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

5 years agoREGRESSION: Dragging selected text changes the selection
mitz@apple.com [Tue, 2 Dec 2014 21:00:07 +0000 (21:00 +0000)]
REGRESSION: Dragging selected text changes the selection
https://bugs.webkit.org/show_bug.cgi?id=139110

Reviewed by Simon Fraser.

After it sent the UI process the message to start dragging, the Web process handled mouse
move events that had already been in flight, interpreting them as a drag to start a new
selection. This is fixed by ignoring any mouse events received after asking the UI process
to start dragging.

* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::setDragImage): Send the new DidStartDrag message back to the Web
process, so that it stops ignoring mouse events.

* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::WebDragClient::startDrag): Call the new WebPage::willStartDrag, so that it starts
ignoring mouse events.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Initialize new member variable.
(WebKit::WebPage::mouseEvent): Don’t handle the event if we have asked the UI process to
start dragging.

* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::willStartDrag): Added. Sets new member variable m_isStartingDrag to true.
(WebKit::WebPage::didStartDrag): Added. Handles the message from the UI process by setting
m_isStartingDrag back to false.

* WebProcess/WebPage/WebPage.messages.in: Added DidStartDrag.

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

5 years agoRemove more Windows cruft
andersca@apple.com [Tue, 2 Dec 2014 20:53:40 +0000 (20:53 +0000)]
Remove more Windows cruft
https://bugs.webkit.org/show_bug.cgi?id=139189

Reviewed by Andreas Kling.

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::createNetworkingContext):
* WebCoreSupport/WebFrameNetworkingContext.h:
(WebFrameNetworkingContext::create):
(WebFrameNetworkingContext::WebFrameNetworkingContext):
(WebFrameNetworkingContext::userAgent): Deleted.

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

5 years agoUnreviewed, fix typo introduced in r176673.
eric.carlson@apple.com [Tue, 2 Dec 2014 20:50:52 +0000 (20:50 +0000)]
Unreviewed, fix typo introduced in r176673.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):

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

5 years agoShould use standardQuickLookMenuItem for apps that don't implement customizations
bdakin@apple.com [Tue, 2 Dec 2014 20:36:08 +0000 (20:36 +0000)]
Should use standardQuickLookMenuItem for apps that don't implement customizations
https://bugs.webkit.org/show_bug.cgi?id=139193
-and corresponding-
rdar://problem/18944696

Reviewed by Anders Carlsson.

Source/WebCore:

New SPI headers.
* WebCore.xcodeproj/project.pbxproj:
* platform/spi/mac/NSMenuSPI.h: Added.
* platform/spi/mac/QuickLookMacSPI.h: Added.

Source/WebKit/mac:

Use [NSMenuItem standardQuickLookMenuItem].
* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForLink]):

Delegate methods to set up the standardQuickLookMenuItem.
(-[WebActionMenuController menuItem:viewAtScreenPoint:]):
(-[WebActionMenuController menuItem:previewItemAtPoint:]):
(-[WebActionMenuController menuItem:preferredEdgeForPoint:]):

Remove all of the old QLPreviewBubble code.
(-[WebActionMenuController _createActionMenuItemForTag:]):
(-[WebActionMenuController _quickLookURLFromActionMenu:]): Deleted.

Source/WebKit2:

New SPI will allow clients to opt-out of the standardQuickLookMenuItem. By
default, opt in.
* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _shouldUseStandardQuickLookPreview]):
* UIProcess/mac/WKActionMenuController.mm:

Use [NSMenuItem standardQuickLookMenuItem] unless the client has requested
otherwise.
(-[WKActionMenuController _defaultMenuItemsForLink]):

Delegate methods to set up the standardQuickLookMenuItem.
(-[WKActionMenuController menuItem:viewAtScreenPoint:]):
(-[WKActionMenuController menuItem:previewItemAtPoint:]):
(-[WKActionMenuController menuItem:preferredEdgeForPoint:]):

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

5 years agoGeneralize PageActivityAssertionToken
barraclough@apple.com [Tue, 2 Dec 2014 20:30:17 +0000 (20:30 +0000)]
Generalize PageActivityAssertionToken
https://bugs.webkit.org/show_bug.cgi?id=139106

Reviewed by Sam Weinig.

Source/WebCore:

PageActivityAssertionToken is a RAII mechanism implementing a counter, used by PageThrottler
to count user visible activity in progress on the page (currently page load and media playback).
Use of an RAII type is prevents a number of possible errors, including double counting a single
media element, or failing to decrement the count after a media element has been deallocated.

The current implementation has a number of drawbacks that have been addressed by this refactoring:
 - specific to single use in PageThrottler class - not reusable.
 - incomplete encapsulation - the counter and WeakPtrFactory that comprise the current implementation
   are not encapsulated (are in the client type, PageThrottler).
 - tokens are not shared - PageActivityAssertionToken instances are managed by std::unique, every
   increment requires an object allocation.
 - redundancy - the current implementation uses a WeakPtr to safely reference the PageThrottler, this
   is internally implemented using a reference counted type, resulting in two counters being
   incremented (one in the PageActivityAssertionToken, one in the PageThrottler).

In the reimplementation:
 - a callback is provided via a lambda function, which allows for easy reuse without a lot of
   boilerplate code.
 - the counter, callback and ownership of the otherwise weakly-owned token is encapsulated within the
   RefCounter type.
 - a single count within RefCounter::Count stores the counter value, and also manage the lifetime
   of this object.
 - standard RefPtrs are used to manage references to the RefCounter::Count.

* WebCore.xcodeproj/project.pbxproj:
    - removed PageActivityAssertionToken.cpp/.h
* html/HTMLMediaElement.cpp:
    - removed PageActivityAssertionToken.h
* html/HTMLMediaElement.h:
    - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
* loader/FrameLoader.cpp:
    - removed PageActivityAssertionToken.h
* loader/FrameLoader.h:
    - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
* loader/SubresourceLoader.cpp:
    - removed PageActivityAssertionToken.h
* loader/SubresourceLoader.h:
    - removed class PageActivityAssertionToken
* page/Page.cpp:
    - removed PageActivityAssertionToken.h
(WebCore::Page::Page):
    - removed Page* parameter to PageThrottler
* page/Page.h:
    - removed class PageActivityAssertionToken
* page/PageActivityAssertionToken.cpp: Removed.
* page/PageActivityAssertionToken.h: Removed.
    - removed PageActivityAssertionToken.cpp/.h
* page/PageThrottler.cpp:
(WebCore::PageThrottler::PageThrottler):
    - removed m_page, m_weakPtrFactory, m_activityCount; added m_pageActivityCounter.
(WebCore::PageThrottler::mediaActivityToken):
    - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>
(WebCore::PageThrottler::pageLoadActivityToken):
    - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>
(WebCore::PageThrottler::pageActivityCounterValueDidChange):
    - merged functionality of incrementActivityCount/decrementActivityCount
(WebCore::PageThrottler::incrementActivityCount): Deleted.
    - see pageActivityCounterValueDidChange
(WebCore::PageThrottler::decrementActivityCount): Deleted.
    - see pageActivityCounterValueDidChange
* page/PageThrottler.h:
(WebCore::PageThrottler::weakPtr): Deleted.
    - no longer required; this functionality is now encapsulated within RefCounter.

Source/WTF:

PageActivityAssertionToken is a RAII mechanism implementing a counter, used by PageThrottler
to count user visible activity in progress on the page (currently page load and media playback).
Use of an RAII type is prevents a number of possible errors, including double counting a single
media element, or failing to decrement the count after a media element has been deallocated.

The current implementation has a number of drawbacks that have been addressed by this refactoring:
 - specific to single use in PageThrottler class - not reusable.
 - incomplete encapsulation - the counter and WeakPtrFactory that comprise the current implementation
   are not encapsulated (are in the client type, PageThrottler).
 - tokens are not shared - PageActivityAssertionToken instances are managed by std::unique, every
   increment requires an object allocation.
 - redundancy - the current implementation uses a WeakPtr to safely reference the PageThrottler, this
   is internally implemented using a reference counted type, resulting in two counters being
   incremented (one in the PageActivityAssertionToken, one in the PageThrottler).

In the reimplementation:
 - a callback is provided via a lambda function, which allows for easy reuse without a lot of
   boilerplate code.
 - the counter, callback and ownership of the otherwise weakly-owned token is encapsulated within the
   RefCounter type.
 - a single count within RefCounter::Count stores the counter value, and also manage the lifetime
   of this object.
 - standard RefPtrs are used to manage references to the RefCounter::Count.

* WTF.xcodeproj/project.pbxproj:
    - added RefCounter.cpp/.h
* wtf/RefCounter.cpp: Added.
(WTF::RefCounter::Count::ref):
    - increment the counter.
(WTF::RefCounter::Count::deref):
    - decrement the counter, and delete as necessary.
(WTF::RefCounter::RefCounter):
    - create a RefCounter::Count.
(WTF::RefCounter::~RefCounter):
    - eagerly delete the Counter if it has no references, otherwise let it be deleted on last deref.
* wtf/RefCounter.h: Added.
(WTF::RefCounter::Count::Count):
    - initialize count to 0.
(WTF::RefCounter::RefCounter):
    - takes a lambda to be called when the value changes.
(WTF::RefCounter::count):
    - reference the counter (and in doing so increment the count).
(WTF::RefCounter::value):
    - access the current value of the counter.

Tools:

Add an API test for WTF::RefCounter.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/RefCounter.cpp: Added.
(TestWebKitAPI::TEST):
    - added RefCounter test.

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

5 years agoAlways show the arrow for text selection services
timothy_horton@apple.com [Tue, 2 Dec 2014 19:49:34 +0000 (19:49 +0000)]
Always show the arrow for text selection services
https://bugs.webkit.org/show_bug.cgi?id=139191
<rdar://problem/18903995>

Reviewed by Anders Carlsson.

* platform/spi/mac/DataDetectorsSPI.h:
* page/mac/ServicesOverlayController.mm:
Move a few things to DataDetectorsSPI.h.

(WebCore::ServicesOverlayController::buildPhoneNumberHighlights):
(WebCore::ServicesOverlayController::buildSelectionHighlight):
Make use of the real DDHighlightStyle names.
Add DDHighlightStyleButtonShowAlways for selection services.

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

5 years agoFix the build.
timothy_horton@apple.com [Tue, 2 Dec 2014 19:40:45 +0000 (19:40 +0000)]
Fix the build.

* WebView/WebViewData.h:

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

5 years agoImplement Lookup transition from selection for Legacy WebKit
timothy_horton@apple.com [Tue, 2 Dec 2014 19:38:05 +0000 (19:38 +0000)]
Implement Lookup transition from selection for Legacy WebKit
https://bugs.webkit.org/show_bug.cgi?id=139180
<rdar://problem/19067172>

Reviewed by Beth Dakin.

* WebView/DictionaryPopupInfo.h: Added.
Split DictionaryPopupInfo out into its own file.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _lookupText:]):
Hand the DictionaryPopupInfo to WebView, which will show the TextIndicator and invoke Lookup.

(performDictionaryLookupForSelection):
(performDictionaryLookupForRange):
Plumb the transition style through these helpers.
Create a TextIndicator from the selection range.

* WebView/WebHTMLView.mm:
(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
Make use of TextIndicator (and DictionaryPopupInfo, and the new
_showDictionaryLookupPopup on WebView) to add a transition from blue
when performing Lookup from the context menu.

(-[WebHTMLView quickLookWithEvent:]):
Remove our TextIndicator whenever a normal three-finger-tap event
comes through, as it will have its own indication.

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _dictionaryLookupPopoverWillClose:]):
Register for the LUNotificationPopoverWillClose notification and remove
our TextIndicator when it is called, just like in WebKit2.
Deregistration is already handled in _close.

(-[WebView _showDictionaryLookupPopup:]):
Just like WebKit2, show our TextIndicator and tell Lookup not to show its own,
if the relevant API is available.

* WebView/WebViewInternal.h:

* WebKit.xcodeproj/project.pbxproj:
Add mac/WebView/DictionaryPopupInfo.h.

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

5 years agoTextIndicator can get stuck (especially if we don't get LUNotificationPopoverWillClos...
timothy_horton@apple.com [Tue, 2 Dec 2014 19:34:27 +0000 (19:34 +0000)]
TextIndicator can get stuck (especially if we don't get LUNotificationPopoverWillClose when we should)
https://bugs.webkit.org/show_bug.cgi?id=139175
<rdar://problem/19072236>

Reviewed by Beth Dakin.

* UIProcess/API/mac/WKView.mm:
(-[WKView scrollWheel:]):
(-[WKView mouseDown:]):
Work around <rdar://problem/19086993> by always explicitly clearing the
active text indicator in mouseDown: and scrollWheel:.
This way, even if you manage to get a text indicator that outlives the
Look Up popover (or find-in-page, or whatever), it will be dismissed
by clicking or scrolling the view.

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

5 years ago[Mac, iOS] Crash log application information contains latest main frame URL instead...
ap@apple.com [Tue, 2 Dec 2014 19:30:58 +0000 (19:30 +0000)]
[Mac, iOS] Crash log application information contains latest main frame URL instead of test URL
https://bugs.webkit.org/show_bug.cgi?id=139174

Reviewed by Simon Fraser.

* DumpRenderTree/TestRunner.cpp:
* DumpRenderTree/TestRunner.h:
Renamed testPathOrURL to testURL, because this variable always contains a URL.

* DumpRenderTree/mac/DumpRenderTree.mm:
(sizeWebViewForCurrentTest): Updated for testPathOrURL renaming.
(testPathFromURL): Moved from FrameLoadDelegate.mm.
(runTest): Set crash reporter information here, as we know the exact test URL.

* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate webView:didStartProvisionalLoadForFrame:]): Don't set crash
reporter information here.

* DumpRenderTree/mac/ResourceLoadDelegate.mm:
* DumpRenderTree/mac/TestRunnerMac.mm:
Updated for testPathOrURL renaming.

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): WebProcess doesn't know
test URL until load starts, so save it into TestRunner now. A new TestRunner object
is created for each test.

* WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::testURL):
(WTR::TestRunner::setTestURL):
Make TestRunner know the test name. For now, it's good enough to have it once load
starts, but if we ever need it earlier, we can send it with BeginTest message.

* WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:
(WTR::InjectedBundlePage::platformDidStartProvisionalLoadForFrame):
Use test URL, not currently loading URL for CrashReporter.

* WebKitTestRunner/cocoa/CrashReporterInfo.mm:
(WTR::setCrashReportApplicationSpecificInformationToURL): Added a space after colon
(WebKit1 already had it right).

* DumpRenderTree/win/DumpRenderTree.cpp:
(sizeWebViewForCurrentTest):
(runTest):
* DumpRenderTree/win/ResourceLoadDelegate.cpp:
(ResourceLoadDelegate::willSendRequest):
Changed Windows DumpRenderTree to also use URL in TestRunner.

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

5 years agoFixes inline cache fast path accessing nonexistant getters.
mmirman@apple.com [Tue, 2 Dec 2014 19:27:23 +0000 (19:27 +0000)]
Fixes inline cache fast path accessing nonexistant getters.
<rdar://problem/18416918>
https://bugs.webkit.org/show_bug.cgi?id=136961

Reviewed by Filip Pizlo.

Fixes a bug in inline caching where getters would have been able to
modify the property they are getting during
building the inline cache and then accessing that
property through the inline cache site causing a recursive
inline cache building and allowing the fast path of the cache to
try to load a getter for the property that no longer exists.

* jit/JITOperations.cpp: Switched use of get to getPropertySlot.
* runtime/JSCJSValue.h:
added getPropertySlot for when you don't want to perform the get quite yet but want
to fill out the slot.
* runtime/JSCJSValueInlines.h: Added implementation for getPropertySlot
(JSC::JSValue::get): changed to simply call getPropertySlot
(JSC::JSValue::getPropertySlot): added.
* tests/stress/recursive_property_redefine_during_inline_caching.js: Added test case for bug.
(test):

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

5 years agoFix iOS build.
andersca@apple.com [Tue, 2 Dec 2014 19:26:48 +0000 (19:26 +0000)]
Fix iOS build.

* WebCore.exp.in:

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

5 years agoCrash when setting 'flex' CSS property to 'calc(2 * 3) calc(2 * 3)'
cdumez@apple.com [Tue, 2 Dec 2014 19:15:33 +0000 (19:15 +0000)]
Crash when setting 'flex' CSS property to 'calc(2 * 3) calc(2 * 3)'
https://bugs.webkit.org/show_bug.cgi?id=139162

Reviewed by Darin Adler.

Source/WebCore:

Add support for calculated values in 'flex' CSS property.
Previously, those did not work in release builds, and were hitting
an assertion in debug builds.

Test: fast/css/flex-calculated-value.html

* css/CSSParser.cpp:
(WebCore::CSSParser::validCalculationUnit):
Do not call RefPtr::release() as we are not interested in the return
value. Assign nullptr to the member instead.

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillPositionComponent):
(WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
(WebCore::CSSParser::parseFontWeight):
(WebCore::CSSParser::parsedDouble):
(WebCore::CSSParser::colorIntFromValue):
(WebCore::CSSParser::parseColorParameters):
(WebCore::CSSParser::parseHSLParameters):
(WebCore::CSSParser::parseFlex):
* css/CSSParser.h:

LayoutTests:

Add layout test for calculated value support for 'flex' CSS property.

* fast/css/flex-calculated-value-expected.txt: Added.
* fast/css/flex-calculated-value.html: Added.

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

5 years agoFix logging typo
eric.carlson@apple.com [Tue, 2 Dec 2014 19:04:13 +0000 (19:04 +0000)]
Fix logging typo
https://bugs.webkit.org/show_bug.cgi?id=139182

Reviewed by Alexey Proskuryakov.

No new tests, only logging code is changed.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Don't use %f to log a string.

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

5 years agoGet rid of the WinINet based network implementation
andersca@apple.com [Tue, 2 Dec 2014 19:02:20 +0000 (19:02 +0000)]
Get rid of the WinINet based network implementation
https://bugs.webkit.org/show_bug.cgi?id=139187

Reviewed by Andreas Kling.

This code was only used by the Windows CE port. Now it's unused.

* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/win/AuthenticationChallenge.h: Removed.
* platform/network/win/CookieJarWin.cpp: Removed.
* platform/network/win/CredentialStorageWin.cpp: Removed.
* platform/network/win/ProxyServerWin.cpp: Removed.
* platform/network/win/ResourceError.h: Removed.
* platform/network/win/ResourceHandleWin.cpp: Removed.
* platform/network/win/ResourceRequest.h: Removed.
* platform/network/win/ResourceResponse.h: Removed.
* platform/network/win/SocketStreamError.h: Removed.
* platform/network/win/SocketStreamHandle.h: Removed.
* platform/network/win/SocketStreamHandleWin.cpp: Removed.

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

5 years agoCrash when setting 'column-span' CSS property to 'calc(2 * 3)'
cdumez@apple.com [Tue, 2 Dec 2014 18:53:18 +0000 (18:53 +0000)]
Crash when setting 'column-span' CSS property to 'calc(2 * 3)'
https://bugs.webkit.org/show_bug.cgi?id=139170

Reviewed by Darin Adler.

Source/WebCore:

Add support for calculated values for 'column-span' and 'column-width'
CSS properties. Previously, these were not working in release builds
and hitting assertions in debug builds.

Tests: fast/css/column-width-calculated-value.html
       fast/css/webkit-column-span-calculated-value.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):

LayoutTests:

Add layout tests to test calculated values for 'column-span'
and 'column-width' CSS properties.

* fast/css/column-width-calculated-value-expected.txt: Added.
* fast/css/column-width-calculated-value.html: Added.
* fast/css/webkit-column-span-calculated-value-expected.txt: Added.
* fast/css/webkit-column-span-calculated-value.html: Added.

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

5 years agoRemove visited link handling from PageGroup
andersca@apple.com [Tue, 2 Dec 2014 18:12:57 +0000 (18:12 +0000)]
Remove visited link handling from PageGroup
https://bugs.webkit.org/show_bug.cgi?id=139185

Reviewed by Sam Weinig.

Source/WebCore:

* CMakeLists.txt:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* loader/HistoryController.cpp:
* page/Chrome.cpp:
(WebCore::ChromeClient::populateVisitedLinks): Deleted.
* page/ChromeClient.h:
* page/DefaultVisitedLinkStore.cpp: Removed.
* page/DefaultVisitedLinkStore.h: Removed.
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::visitedLinkStore):
(WebCore::Page::setVisitedLinkStore):
(WebCore::Page::removeAllVisitedLinks): Deleted.
* page/Page.h:
* page/PageGroup.cpp:
(WebCore::PageGroup::PageGroup):
(WebCore::PageGroup::visitedLinkStore): Deleted.
(WebCore::PageGroup::isLinkVisited): Deleted.
(WebCore::PageGroup::addVisitedLinkHash): Deleted.
(WebCore::PageGroup::addVisitedLink): Deleted.
(WebCore::PageGroup::removeVisitedLink): Deleted.
(WebCore::PageGroup::removeVisitedLinks): Deleted.
(WebCore::PageGroup::removeAllVisitedLinks): Deleted.
(WebCore::PageGroup::setShouldTrackVisitedLinks): Deleted.
* page/PageGroup.h:

Source/WebKit/mac:

* History/WebHistory.mm:
(-[WebHistoryPrivate removeItemForURLString:]):
(-[WebHistoryPrivate removeAllItems]):
(+[WebHistory setOptionalSharedHistory:]):
(+[WebHistory _setVisitedLinkTrackingEnabled:]):
(+[WebHistory _removeAllVisitedLinks]):
(-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Deleted.
(-[WebHistory _addVisitedLinksToPageGroup:]): Deleted.
* History/WebHistoryInternal.h:
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::populateVisitedLinks): Deleted.
* WebView/WebView.mm:
(-[WebView addVisitedLinks:]):
(-[WebView removeVisitedLink:]):

Source/WebKit/win:

* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::populateVisitedLinks): Deleted.
* WebCoreSupport/WebChromeClient.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::populateVisitedLinks): Deleted.
* WebProcess/WebCoreSupport/WebChromeClient.h:

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

5 years ago[iOS] run-webkit-tests records most DumpRenderTree.app crashes as time-outs
dbates@webkit.org [Tue, 2 Dec 2014 18:04:27 +0000 (18:04 +0000)]
[iOS] run-webkit-tests records most DumpRenderTree.app crashes as time-outs
https://bugs.webkit.org/show_bug.cgi?id=139143

Reviewed by David Kilzer.

Similar to the Windows-specific fix in <https://bugs.webkit.org/show_bug.cgi?id=37859>,
teach DumpRenderTree for iOS to write "#CRASHED" to the standard error stream when it
crashes. Run-webkit-tests will record as crashing the test associated with the
DumpRenderTree instance that wrote that string.

Currently almost all of the DumpRenderTree.app crashes are recorded by run-
webkit-tests as a time-out because ReportCrash(8) delays delivery of the
process exit notification for DumpRenderTree.app to LayoutTestRelay, which
launched DumpRenderTree.app, past the time-out time limit. Notice LayoutTestRelay
was launched by run-webkit-tests. So, run-webkit-tests kills LayoutTestRelay
(since it exceeded the time-out time limit) before it can inform rub-webkit-tests
about a crash.

Additionally, update the crash message format written to standard error when LayoutTestRelay
detects that {WebKitTestRunner, DumpRenderTree}.app crashed so as to be similar to the
crash message format used by WebKitTestRunner when it detects that the WebProcess crashed.
Then run-webkit-tests will collect the crash logs for {WebKitTestRunner, DumpRenderTree}.app
when they crash in their test machinery logic/UI process code.

* DumpRenderTree/mac/DumpRenderTree.mm:
(writeCrashedMessageOnFatalError): Added.
(dumpRenderTree): Register signal handler, writeCrashedMessageOnFatalError(), for signals:
SIGILL, SIGFPE, SIGBUS and SIGSEGV.
* LayoutTestRelay/LayoutTestRelay/LTRelayController.m:
(-[LTRelayController didCrashWithMessage:]): Emit a crash message with a format
similar to the format used by WebKitTestRunner so that run-webkit-tests will collect
the crash logs for WebKitTestRunner/DumpRenderTree.app.
* Scripts/webkitpy/port/driver.py:
(Driver.__init__): Update comment.
(Driver._check_for_driver_crash): Ditto.
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort): Add class constant SUBPROCESS_CRASH_REGEX, which represents a compiled
regular expression. This constant is used as an optimization to avoid compiling the same
regular expression across invocations of _get_crash_log().
(IOSSimulatorPort._get_crash_log): Modified to parse the WebKitTestRunner-like crash message
for the subprocess name and pid. Also, moved variables crash_log, crash_logs, and now to be
closer to where they are used.

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

5 years agoUse references instead of pointers in EditingStyle
commit-queue@webkit.org [Tue, 2 Dec 2014 17:59:18 +0000 (17:59 +0000)]
Use references instead of pointers in EditingStyle
https://bugs.webkit.org/show_bug.cgi?id=137918

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-12-02
Reviewed by Darin Adler.

* editing/EditingStyle.cpp:
(WebCore::extractPropertyValue):
(WebCore::identifierForStyleProperty):
(WebCore::textColorFromStyle):
(WebCore::backgroundColorFromStyle):
(WebCore::textAlignResolvingStartAndEnd):
(WebCore::EditingStyle::triStateOfStyle):
(WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
(WebCore::EditingStyle::prepareToApplyAt):
(WebCore::EditingStyle::removeStyleFromRulesAndContext):
(WebCore::StyleChange::StyleChange):
(WebCore::setTextDecorationProperty):
(WebCore::StyleChange::extractTextStyles):
(WebCore::diffTextDecorations):
(WebCore::fontWeightIsBold):
(WebCore::extractPropertiesNotIn):
(WebCore::getPropertiesNotIn):
* editing/EditingStyle.h:

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

5 years ago[GStreamer] Media Source sending seek event fails.
commit-queue@webkit.org [Tue, 2 Dec 2014 17:07:32 +0000 (17:07 +0000)]
[GStreamer] Media Source sending seek event fails.
https://bugs.webkit.org/show_bug.cgi?id=139181

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2014-12-02
Reviewed by Philippe Normand.

There were callbacks connected to app_src on 'seek', but if stream type is not seekable, they would never launch,
and seeking (as in MediaPlayerPrivateGStreamer::doSeek) fails.

No new tests needed.

* platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
(webkit_media_src_init):

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

5 years agoRemove WKBundleRemoveAllVisitedLinks
andersca@apple.com [Tue, 2 Dec 2014 16:44:38 +0000 (16:44 +0000)]
Remove WKBundleRemoveAllVisitedLinks
https://bugs.webkit.org/show_bug.cgi?id=139163

Reviewed by Sam Weinig.

Source/WebKit2:

WKBundleRemoveAllVisitedLinks has been a no-op since at least Yosemite; get rid of it.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleRemoveAllVisitedLinks): Deleted.
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::removeAllVisitedLinks): Deleted.
* WebProcess/InjectedBundle/InjectedBundle.h:

Tools:

Remove the call to WKBundleRemoveAllVisitedLinks and add a FIXME instead.

* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):

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

5 years agoFix Windows build.
andersca@apple.com [Tue, 2 Dec 2014 16:43:36 +0000 (16:43 +0000)]
Fix Windows build.

* DumpRenderTree/win/DumpRenderTree.cpp:
(setAlwaysAcceptCookies):

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

5 years agoMove 'font-family' CSS property to the new StyleBuilder
cdumez@apple.com [Tue, 2 Dec 2014 16:42:22 +0000 (16:42 +0000)]
Move 'font-family' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139172

Reviewed by Antti Koivisto.

Move 'font-family' CSS property to the new StyleBuilder by using
custom code.

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyFontFamily::applyInheritValue): Deleted.
(WebCore::ApplyPropertyFontFamily::applyInitialValue): Deleted.
(WebCore::ApplyPropertyFontFamily::applyValue): Deleted.
(WebCore::ApplyPropertyFontFamily::createHandler): Deleted.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialFontFamily):
(WebCore::StyleBuilderCustom::applyInheritFontFamily):
(WebCore::StyleBuilderCustom::applyValueFontFamily):

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

5 years ago[EFL] Remove edbus dependency from jhbuild
evab.u-szeged@partner.samsung.com [Tue, 2 Dec 2014 14:33:13 +0000 (14:33 +0000)]
[EFL] Remove edbus dependency from jhbuild
https://bugs.webkit.org/show_bug.cgi?id=139130

Reviewed by Gyuyoung Kim.

After http://trac.webkit.org/changeset/176555 we
don't need it anymore.

* efl/jhbuild.modules:

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

5 years agoTypo fix after r176632. Revert accidental change of executable bit of ChangeLog files.
ossy@webkit.org [Tue, 2 Dec 2014 13:33:55 +0000 (13:33 +0000)]
Typo fix after r176632. Revert accidental change of executable bit of ChangeLog files.

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

5 years agoFix class was previously declared as a struct warnings
evab.u-szeged@partner.samsung.com [Tue, 2 Dec 2014 12:54:58 +0000 (12:54 +0000)]
Fix class was previously declared as a struct warnings
https://bugs.webkit.org/show_bug.cgi?id=139131

Reviewed by Csaba Osztrogonác.

Source/WebCore:

No new tests needed.

* platform/graphics/texmap/TextureMapperGL.h:

Source/WebKit2:

* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
* UIProcess/CoordinatedGraphics/WebViewClient.h:

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

5 years ago[EFL] ewk_view_scale_set() doesn't work correctly
gyuyoung.kim@samsung.com [Tue, 2 Dec 2014 11:23:24 +0000 (11:23 +0000)]
[EFL] ewk_view_scale_set() doesn't work correctly
https://bugs.webkit.org/show_bug.cgi?id=139109

Reviewed by Csaba Osztrogonác.

When ewk_view_scale_set() is called, it has only updated a scale factor which is maintained by WebPageProxy.
It causes WebPageProxy unsynchronized with PageViewportController's scale factor. That's why wrong scale
behavior has occured through ewk_view_scale_set(). Besides zooming has similar problem as well.

Thus this patch updates m_pageScaleFactor of PageViewportController as well as prohibits to change the scale
factor through viewport meta tag update. Because ewk_view_scale_set() means that user wants to set a specific
value to scale factor of current viewport.

* UIProcess/API/efl/EwkView.cpp:
(EwkView::updateScaleToPageViewportController):
    Set m_initiallyFitToViewport to false. And call didChangeContentsVisibility() with new scale and scale position.

* UIProcess/API/efl/EwkView.h:
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_scale_set):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
* UIProcess/CoordinatedGraphics/PageViewportController.cpp:
(WebKit::PageViewportController::didCommitLoad):
    Set m_initiallyFitToViewport to true in order to fit content to viewport size by default.
    Initizlize content position with (0, 0).

(WebKit::PageViewportController::pageTransitionViewportReady):
   Do not update scale when m_initiallyFitToViewport is false.

(WebKit::PageViewportController::syncVisibleContents):
   Return false when syncVisibleContents is failed.

(WebKit::PageViewportController::didChangeViewportAttributes):
   Do not update scale when m_initiallyFitToViewport is false.

(WebKit::PageViewportController::applyScaleAfterRenderingContents):
    If syncVisibleContents() is failed, m_pageScaleFactor should be restored with previous value.
    If not, new scale factor isn't applied though, PageViewportController uses it as own scale factor.

(WebKit::PageViewportController::updateMinimumScaleToFit):
   Do not update scale when m_initiallyFitToViewport is false or m_hadUserInteraction is true.

* UIProcess/CoordinatedGraphics/PageViewportController.h:
(WebKit::PageViewportController::setInitiallyFitToViewport):

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