WebKit-https.git
7 years agoVersioning.
lforschler@apple.com [Thu, 14 Nov 2013 18:51:45 +0000 (18:51 +0000)]
Versioning.

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

7 years agoImplement RSASSA-PKCS1-v1_5 sign/verify
ap@apple.com [Thu, 14 Nov 2013 18:26:36 +0000 (18:26 +0000)]
Implement RSASSA-PKCS1-v1_5 sign/verify
https://bugs.webkit.org/show_bug.cgi?id=124335

Reviewed by Sam Weinig.

Source/WebCore:

Test: crypto/subtle/rsassa-pkcs1-v1_5-sign-verify.html

* WebCore.xcodeproj/project.pbxproj: Added new files, removed Mac SHA algorithm files.

* crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
(WebCore::getCommonCryptoDigestAlgorithm):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
Implemented. These take two steps, first a digest is computed, and then it's signed.

* crypto/CryptoDigest.h: Added.
* crypto/mac/CryptoDigestMac.cpp: Added.
(WebCore::CryptoDigest::CryptoDigest):
(WebCore::CryptoDigest::~CryptoDigest):
(WebCore::CryptoDigest::create):
(WebCore::CryptoDigest::addBytes):
(WebCore::CryptoDigest::computeHash):
Added a cross-platform interface and Mac implementation to compute a digest. It
should be possible to use it outside WebCrypto if we need to (perhaps even merge
with  WTF SHA-1 class).
The Mac implementation is kind of ugly, but at least it encapsulates the ugliness.

* crypto/algorithms/CryptoAlgorithmSHA1.cpp: (WebCore::CryptoAlgorithmSHA1::digest):
* crypto/algorithms/CryptoAlgorithmSHA224.cpp: (WebCore::CryptoAlgorithmSHA224::digest):
* crypto/algorithms/CryptoAlgorithmSHA256.cpp: (WebCore::CryptoAlgorithmSHA256::digest):
* crypto/algorithms/CryptoAlgorithmSHA384.cpp: (WebCore::CryptoAlgorithmSHA384::digest):
* crypto/algorithms/CryptoAlgorithmSHA512.cpp: (WebCore::CryptoAlgorithmSHA512::digest):
* crypto/mac/CryptoAlgorithmSHA1Mac.cpp: Removed.
* crypto/mac/CryptoAlgorithmSHA224Mac.cpp: Removed.
* crypto/mac/CryptoAlgorithmSHA256Mac.cpp: Removed.
* crypto/mac/CryptoAlgorithmSHA384Mac.cpp: Removed.
* crypto/mac/CryptoAlgorithmSHA512Mac.cpp: Removed.
These are all cross-platform now.

LayoutTests:

* crypto/subtle/rsassa-pkcs1-v1_5-sign-verify-expected.txt: Added.
* crypto/subtle/rsassa-pkcs1-v1_5-sign-verify.html: Added.

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

7 years ago[CSS Shapes] Empty polygons with non-zero shape-padding cause an ASSERT crash
hmuller@adobe.com [Thu, 14 Nov 2013 18:21:29 +0000 (18:21 +0000)]
[CSS Shapes] Empty polygons with non-zero shape-padding cause an ASSERT crash
https://bugs.webkit.org/show_bug.cgi?id=124324

Reviewed by Andreas Kling.

Source/WebCore:

PolygonShape::shapePaddingBounds() and PolygonShape::shapeMarginBounds() no
longer attempt to compute a new FloatPolygon when the original is empty, i.e.
when it has less than three vertices.

Tests: fast/shapes/shape-inside/shape-inside-empty-polygon-crash.html
       fast/shapes/shape-outside-floats/shape-outside-floats-empty-polygon-crash.html

* rendering/shapes/PolygonShape.cpp:
(WebCore::PolygonShape::shapePaddingBounds): Don't compute a padding FloatPolygon if the original polygon is empty.
(WebCore::PolygonShape::shapeMarginBounds): Don't compute a margin FloatPolygon if the original polygon is empty.

LayoutTests:

* fast/shapes/shape-inside/shape-inside-empty-polygon-crash-expected.txt: Added.
* fast/shapes/shape-inside/shape-inside-empty-polygon-crash.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-empty-polygon-crash-expected.txt: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-empty-polygon-crash.html: Added.

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

7 years agoREGRESSION (r159276): rbp register overwritten in Win 64 version of callToJavascript...
msaboff@apple.com [Thu, 14 Nov 2013 18:13:17 +0000 (18:13 +0000)]
REGRESSION (r159276): rbp register overwritten in Win 64 version of callToJavascript stub
https://bugs.webkit.org/show_bug.cgi?id=124361

Reviewed by Oliver Hunt.

Swapped operand ordering to: mov rax, rbp

* jit/JITStubsMSVC64.asm:

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

7 years agoWeb Inspector: Cleaner Backend Method Calling Code Generation
commit-queue@webkit.org [Thu, 14 Nov 2013 17:45:37 +0000 (17:45 +0000)]
Web Inspector: Cleaner Backend Method Calling Code Generation
https://bugs.webkit.org/show_bug.cgi?id=124333

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-11-14
Reviewed by Timothy Hatcher.

No change in functionality, just improved generated code.

* inspector/CodeGeneratorInspector.py:
(Generator.process_command):
* inspector/CodeGeneratorInspectorStrings.py:
* inspector/InspectorBackendDispatcher.cpp:
* inspector/InspectorBackendDispatcher.h:

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

7 years agoREGRESSION (r159276): Fix lots of crashes for sh4 architecture.
commit-queue@webkit.org [Thu, 14 Nov 2013 16:52:48 +0000 (16:52 +0000)]
REGRESSION (r159276): Fix lots of crashes for sh4 architecture.
https://bugs.webkit.org/show_bug.cgi?id=124347

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-14
Reviewed by Michael Saboff.

Since r159276, we have (t4 == a0 == r4) and (t5 == a1 == r5) in LLINT for sh4.
This leads to argument register trampling in cCallX macros, especially with cCall2
macro when arg1 == t4.

* llint/LowLevelInterpreter32_64.asm: Use a new "setargs" pseudo-op to setup arguments for sh4.
* offlineasm/instructions.rb:
* offlineasm/sh4.rb: Lower "setargs" pseudo-op to setup argument registers and prevent register trampling issues.

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

7 years ago[ATK] Change WKTR/DRT AX methods to use nullptr
commit-queue@webkit.org [Thu, 14 Nov 2013 16:49:29 +0000 (16:49 +0000)]
[ATK] Change WKTR/DRT AX methods to use nullptr
https://bugs.webkit.org/show_bug.cgi?id=124352

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-11-14
Reviewed by Anders Carlsson.

Change WKTR/DRT accessibility related methods to use nullptr.

* DumpRenderTree/atk/AccessibilityControllerAtk.cpp:
(AccessibilityController::AccessibilityController):
(AccessibilityController::elementAtPoint):
(AccessibilityController::removeNotificationListener):
(AccessibilityController::childElementById):
* DumpRenderTree/atk/AccessibilityNotificationHandlerAtk.cpp:
(AccessibilityNotificationHandler::AccessibilityNotificationHandler):
* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::elementAtPoint):
(AccessibilityUIElement::linkedUIElementAtIndex):
(AccessibilityUIElement::getChildAtIndex):
(AccessibilityUIElement::titleUIElement):
(AccessibilityUIElement::parentElement):
(AccessibilityUIElement::subrole):
(AccessibilityUIElement::roleDescription):
(AccessibilityUIElement::orientation):
(AccessibilityUIElement::ariaDropEffects):
(AccessibilityUIElement::uiElementForSearchPredicate):
(AccessibilityUIElement::cellForColumnAndRow):
(AccessibilityUIElement::disclosedRowAtIndex):
(AccessibilityUIElement::ariaOwnsElementAtIndex):
(AccessibilityUIElement::ariaFlowToElementAtIndex):
(AccessibilityUIElement::selectedRowAtIndex):
(AccessibilityUIElement::rowAtIndex):
(AccessibilityUIElement::disclosedByRow):
(AccessibilityUIElement::removeNotificationListener):
(AccessibilityUIElement::classList):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
(WTR::AccessibilityController::logAccessibilityEvents):
(WTR::AccessibilityController::resetToConsistentState):
(WTR::childElementById):
(WTR::AccessibilityController::accessibleElementById):
(WTR::AccessibilityController::removeNotificationListener):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
(WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback):
(WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::AccessibilityUIElement::childAtIndex):
(WTR::AccessibilityUIElement::linkedUIElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):
(WTR::AccessibilityUIElement::disclosedRowAtIndex):
(WTR::AccessibilityUIElement::rowAtIndex):
(WTR::AccessibilityUIElement::selectedChildAtIndex):
(WTR::AccessibilityUIElement::selectedRowAtIndex):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::disclosedByRow):
(WTR::AccessibilityUIElement::uiElementAttributeValue):
(WTR::AccessibilityUIElement::orientation):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):
(WTR::AccessibilityUIElement::cellForColumnAndRow):
(WTR::AccessibilityUIElement::horizontalScrollbar):
(WTR::AccessibilityUIElement::verticalScrollbar):
(WTR::AccessibilityUIElement::removeNotificationListener):
(WTR::AccessibilityUIElement::textMarkerRangeForElement):
(WTR::AccessibilityUIElement::previousTextMarker):
(WTR::AccessibilityUIElement::nextTextMarker):
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForBounds):
(WTR::AccessibilityUIElement::startTextMarkerForBounds):
(WTR::AccessibilityUIElement::textMarkerForPoint):
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):
(WTR::AccessibilityUIElement::textMarkerForIndex):
(WTR::AccessibilityUIElement::supportedActions):
(WTR::AccessibilityUIElement::pathDescription):
(WTR::AccessibilityUIElement::mathPostscriptsDescription):
(WTR::AccessibilityUIElement::mathPrescriptsDescription):
(WTR::AccessibilityUIElement::classList):

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

7 years agoWeb Inspector: Popovers may shrink unnecessarily
graouts@apple.com [Thu, 14 Nov 2013 16:03:30 +0000 (16:03 +0000)]
Web Inspector: Popovers may shrink unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=124350

Reviewed by Timothy Hatcher.

Because we always get the intersection of the preferred frame and the container frame to
ensure the popover fits within its container based on a preferred frame that would place
the arrow within the center of the attachment edge, we get in situations where we may
shrink the popover instead of shifting it to fit within the container frame. We now first
shift the preferred frame before getting its intersection with the container frame to
avoid such situations.

* UserInterface/Popover.js:
(WebInspector.Popover.prototype._bestMetricsForEdge):

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

7 years agorun-perf-tests should warn loudly if you're using a Debug build.
commit-queue@webkit.org [Thu, 14 Nov 2013 15:38:12 +0000 (15:38 +0000)]
run-perf-tests should warn loudly if you're using a Debug build.
https://bugs.webkit.org/show_bug.cgi?id=105236

Patch by Éva Balázsfalvi <balazsfalvi.eva@stud.u-szeged.hu> on 2013-11-14
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner.run):

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

7 years agoUse [ImplementedAs=defaultStatus] for Window.defaultstatus
seokju@webkit.org [Thu, 14 Nov 2013 13:48:09 +0000 (13:48 +0000)]
Use [ImplementedAs=defaultStatus] for Window.defaultstatus
https://bugs.webkit.org/show_bug.cgi?id=124334

Reviewed by Christophe Dumez.

No new tests, this is just refactoring.

Use [ImplementedAs=defaultStatus] for Window.defaultstatus
and remove unnecessary code from DOMWindow.
Because 'defaultstatus' is an alias of defaultStatus.

* page/DOMWindow.h:
* page/DOMWindow.idl:

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

7 years agoFix build for sh4 architectures (broken since r159276).
commit-queue@webkit.org [Thu, 14 Nov 2013 13:28:05 +0000 (13:28 +0000)]
Fix build for sh4 architectures (broken since r159276).
https://bugs.webkit.org/show_bug.cgi?id=124344

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-14
Reviewed by Csaba Osztrogonác.

* offlineasm/sh4.rb: There is no fp alias for r14 register for sh4.

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

7 years agoFix Tools/Scripts/webkitpy/port/factory.py --help to display which configuration...
commit-queue@webkit.org [Thu, 14 Nov 2013 12:50:07 +0000 (12:50 +0000)]
Fix Tools/Scripts/webkitpy/port/factory.py --help to display which configuration is default
https://bugs.webkit.org/show_bug.cgi?id=124143

Patch by Éva Balázsfalvi <balazsfalvi.eva@stud.u-szeged.hu> on 2013-11-14
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/port/factory.py:
(configuration_options):

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

7 years agoGenerate toSVGPolyline|gonElement() to replace static_cast<>
gyuyoung.kim@samsung.com [Thu, 14 Nov 2013 11:25:40 +0000 (11:25 +0000)]
Generate toSVGPolyline|gonElement() to replace static_cast<>
https://bugs.webkit.org/show_bug.cgi?id=124341

Reviewed by Andreas Kling.

toSVGFoo() supports more plenty helper functions. So, toSVGFoo() needs
to be used instead of static_cast<>.

Additionally, cleanup other static_cast<> as well.

No new tests, no behavior changes.

* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromEllipseElement):
(WebCore::updatePathFromLineElement):
(WebCore::updatePathFromPolygonElement):
(WebCore::updatePathFromPolylineElement):
* svg/SVGPolygonElement.h:
* svg/SVGPolylineElement.h:
* svg/svgtags.in: Add *generateTypeHelpers* keyword to polygon, polyline

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

7 years ago[EFL] Layout tests with text areas need to be rebaselined.
commit-queue@webkit.org [Thu, 14 Nov 2013 11:07:25 +0000 (11:07 +0000)]
[EFL] Layout tests with text areas need to be rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=124337

Unreviewed, EFL gatdening.

EFL text areas rebaselined after r129492.

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2013-11-14

* platform/efl/TestExpectations:
* platform/efl/fast/forms/basic-textareas-expected.txt:
* platform/efl/fast/forms/basic-textareas-quirks-expected.txt:

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

7 years agoFontDescription copies should share families list, not duplicate it.
akling@apple.com [Thu, 14 Nov 2013 11:01:42 +0000 (11:01 +0000)]
FontDescription copies should share families list, not duplicate it.
<https://webkit.org/b/124338>

Source/WebCore:

Turn FontDescription::m_families into a RefCountedArray<AtomicString>
instead of a Vector<AtomicString, 1>. This allows FontDescription to
share the families list between copies, instead of each object having
its own Vector.

Also, FontDescription itself shrinks by 16 bytes.

Reviewed by Antti Koivisto.

Source/WTF:

Add RefCountedArray::operator==.

Reviewed by Antti Koivisto.

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

7 years ago[WK2] Move Coordinated Graphics related code out of DrawingAreaProxy
ryuan.choi@samsung.com [Thu, 14 Nov 2013 09:12:12 +0000 (09:12 +0000)]
[WK2] Move Coordinated Graphics related code out of DrawingAreaProxy
https://bugs.webkit.org/show_bug.cgi?id=124328

Reviewed by Andreas Kling.

Refactored for DrawingAreaProxy not to include Coordinated Graphics specific code.

* PlatformEfl.cmake:
* UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: Moved from DrawingAreaProxy.cpp.
(WebKit::CoordinatedDrawingAreaProxy::updateViewport):
(WebKit::CoordinatedDrawingAreaProxy::contentsRect):
* UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: Ditto.
(WebKit::CoordinatedDrawingAreaProxy::coordinatedLayerTreeHostProxy): Refactored to return reference instead of pointer.
(WebKit::CoordinatedDrawingAreaProxy::viewportVisibleRect):
(WebKit::CoordinatedDrawingAreaProxy::page):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
* UIProcess/CoordinatedGraphics/PageViewportController.cpp:
Renamed from Source/WebKit2/UIProcess/PageViewportController.cpp because it depends on Coordinated Graphics.
(WebKit::fuzzyCompare):
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::innerBoundedViewportScale):
(WebKit::PageViewportController::outerBoundedViewportScale):
(WebKit::PageViewportController::deviceScaleFactor):
(WebKit::isIntegral):
(WebKit::PageViewportController::pixelAlignedFloatPoint):
(WebKit::PageViewportController::boundContentsPositionAtScale):
(WebKit::PageViewportController::boundContentsPosition):
(WebKit::PageViewportController::didCommitLoad):
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::pageTransitionViewportReady):
(WebKit::PageViewportController::pageDidRequestScroll):
(WebKit::PageViewportController::didChangeViewportSize):
(WebKit::PageViewportController::didChangeContentsVisibility):
(WebKit::PageViewportController::syncVisibleContents): Added cast to access CoordinatedDrawingAreaProxy method.
(WebKit::PageViewportController::didChangeViewportAttributes):
(WebKit::PageViewportController::visibleContentsSize):
(WebKit::PageViewportController::applyScaleAfterRenderingContents):
(WebKit::PageViewportController::applyPositionAfterRenderingContents):
(WebKit::PageViewportController::updateMinimumScaleToFit):
* UIProcess/CoordinatedGraphics/PageViewportController.h:
Renamed from Source/WebKit2/UIProcess/PageViewportController.cpp because it depends on Coordinated Graphics.
(WebKit::PageViewportController::~PageViewportController):
(WebKit::PageViewportController::hadUserInteraction):
(WebKit::PageViewportController::allowsUserScaling):
(WebKit::PageViewportController::contentsLayoutSize):
(WebKit::PageViewportController::minimumScale):
(WebKit::PageViewportController::maximumScale):
(WebKit::PageViewportController::currentScale):
(WebKit::PageViewportController::setHadUserInteraction):
* UIProcess/CoordinatedGraphics/WebView.cpp: Added some casts to access CoordinatedDrawingAreaProxy methods.
(WebKit::WebView::coordinatedGraphicsScene): Simplified code using reference.
(WebKit::WebView::updateViewportSize):
* UIProcess/DrawingAreaProxy.cpp: Removed Coordinated Graphics macro and related codes.
* UIProcess/DrawingAreaProxy.h: Ditto.

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

7 years agoIntroduce FILTER_TYPE_CASTS for child filter class
gyuyoung.kim@samsung.com [Thu, 14 Nov 2013 09:04:34 +0000 (09:04 +0000)]
Introduce FILTER_TYPE_CASTS for child filter class
https://bugs.webkit.org/show_bug.cgi?id=124332

Reviewed by Andreas Kling.

To use TYPE_CASTS_BASE, define FILTER_TYPE_CASTS macro. Thanks to
it, static_cast<SVGFilter*> can be replaced by toSVGFilter().

No new tests, no behavior changes.

* platform/graphics/filters/Filter.h:
    Add isSVGFilter() to check if casting object is SVGFilter object.
(WebCore::Filter::isSVGFilter):
* rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
(WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::determineAbsolutePaintRect):
(WebCore::FEImage::platformApplySoftware):
* svg/graphics/filters/SVGFilter.h:

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

7 years agoChange callToJavaScript thunk into an offline assembled stub
msaboff@apple.com [Thu, 14 Nov 2013 07:39:30 +0000 (07:39 +0000)]
Change callToJavaScript thunk into an offline assembled stub
https://bugs.webkit.org/show_bug.cgi?id=124251

Reviewed by Geoffrey Garen.

Changed callToJavaScript and throwNotCaught into stubs generated by the offline assembler.
Added popCalleeSaves and pushCalleeSaves pseudo ops to the offline assembler to handle
the saving and restoring of callee save registers.  Fixed callFrameRegister differences
between arm traditional (r11) and arm Thumb2 (r7) in GPRInfo.h.  Also fixed implementation
of pop & push in arm.rb.

Since the offline assembler and therefore the LLInt don't work on Windows, the Windows stubs
are handled as inline assembly in JITStubsX86.h and JITStubsMSVC64.asm.

* dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
* jit/GPRInfo.h:
(JSC::GPRInfo::toIndex):
(JSC::GPRInfo::debugName):
* jit/JITCode.cpp:
(JSC::JITCode::execute):
* jit/JITExceptions.cpp:
(JSC::genericUnwind):
* jit/JITStubs.h:
* jit/JITStubsMSVC64.asm:
* jit/JITStubsX86.h:
* jit/ThunkGenerators.cpp:
* jit/ThunkGenerators.h:
* llint/LLIntThunks.h:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* offlineasm/arm.rb:
* offlineasm/arm64.rb:
* offlineasm/instructions.rb:
* offlineasm/mips.rb:
* offlineasm/registers.rb:
* offlineasm/sh4.rb:
* offlineasm/x86.rb:
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:

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

7 years agoSource/WebCore: Blob constructor accepts a sequence (array-like object) as first...
commit-queue@webkit.org [Thu, 14 Nov 2013 05:46:10 +0000 (05:46 +0000)]
Source/WebCore: Blob constructor accepts a sequence (array-like object) as first arg.
https://bugs.webkit.org/show_bug.cgi?id=124175

Patch by Victor Costan <costan@gmail.com> on 2013-11-13
Reviewed by Christophe Dumez.

Added test cases to fast/files/script-tests/blob-constructor.js.

* bindings/js/JSBlobCustom.cpp: Make the constructor work with sequences.
(WebCore::JSBlobConstructor::constructJSBlob):
* bindings/js/JSDOMBinding.h:
(WebCore::toJSSequence): Slightly better error message when conversion fails.
(WebCore::toJS): Whitespace.
(WebCore::jsArray): Whitespace.

LayoutTests: Blob constructor accepts a sequence (array-like object) as first arg.
https://bugs.webkit.org/show_bug.cgi?id=124175

Patch by Victor Costan <costan@gmail.com> on 2013-11-13
Reviewed by Christophe Dumez.

* crypto/subtle/argument-conversion-expected.txt: Updated sequence error expectations.
* fast/dom/Window/window-postmessage-args-expected.txt: Updated sequence error expectations.
* fast/events/constructors/message-event-constructor-expected.txt: Updated sequence error expectations.
* fast/events/message-port-multi-expected.txt: Updated sequence error expectations.
* fast/files/blob-constructor-expected.txt: Updated error text and added expectations.
* fast/files/script-tests/blob-constructor.js: Added sequence test cases.
* fast/workers/worker-context-multi-port-expected.txt: Updated sequence error expectations.
* fast/workers/worker-multi-port-expected.txt: Updated sequence error expectations.

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

7 years ago[EFL] Layout tests with css3 selectors3 properties need to be rebaselined.
commit-queue@webkit.org [Thu, 14 Nov 2013 05:06:00 +0000 (05:06 +0000)]
[EFL] Layout tests with css3 selectors3 properties need to be rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=124266

Unreviewed, EFL gardening.

EFL css3 rebaselined after r111644.

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2013-11-13

* platform/efl-wk2/TestExpectations:
* platform/efl/css3/selectors3/html/css3-modsel-1-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-1-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-1-expected.txt:

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

7 years agoUnreviewed rollout of r159271, broke Mountain Lion build.
joepeck@webkit.org [Thu, 14 Nov 2013 03:08:27 +0000 (03:08 +0000)]
Unreviewed rollout of r159271, broke Mountain Lion build.

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

* History/WebHistory.h:
* History/WebHistory.mm:

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

7 years agoWeb Inspector: InspectorBackendDispatcher improvements
joepeck@webkit.org [Thu, 14 Nov 2013 03:01:16 +0000 (03:01 +0000)]
Web Inspector: InspectorBackendDispatcher improvements
https://bugs.webkit.org/show_bug.cgi?id=124330

Reviewed by Timothy Hatcher.

* inspector/InspectorBackendDispatcher.cpp:
(WebCore::InspectorBackendDispatcher::sendResponse):
(WebCore::InspectorBackendDispatcher::reportProtocolError):
* inspector/InspectorBackendDispatcher.h:
(WebCore::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):

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

7 years agoDeprecate WebHistory methods that use NSCalendarDate
andersca@apple.com [Thu, 14 Nov 2013 02:58:05 +0000 (02:58 +0000)]
Deprecate WebHistory methods that use NSCalendarDate
https://bugs.webkit.org/show_bug.cgi?id=124329
<rdar://problem/15441122>

Reviewed by Mark Rowe.

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:
Add a shell script phase that uses unifdef to remove the __NSd_10_9 #define from
WebHistory on Mavericks.

Source/WebKit/mac:

* History/WebHistory.h:
Add NS_DEPRECATED_MAC to orderedLastVisitedDays and orderedItemsLastVisitedOnDay:.
In order to not break the Mountain Lion build, define __NSd_10_9 if necessary.

* History/WebHistory.mm:
Ignore deprecation warnings in methods where NSCalendarDate is used.

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

7 years agoUnreviewed Windows Build Fix after r159268.
joepeck@webkit.org [Thu, 14 Nov 2013 02:39:10 +0000 (02:39 +0000)]
Unreviewed Windows Build Fix after r159268.

Missed adding InspectorBackendDispatcher.h and cpp to the Windows build.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:

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

7 years agoRename some ImmutableArray leftovers
commit-queue@webkit.org [Thu, 14 Nov 2013 02:28:24 +0000 (02:28 +0000)]
Rename some ImmutableArray leftovers
https://bugs.webkit.org/show_bug.cgi?id=124320

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-11-13
Reviewed by Anders Carlsson.

ImmutableArray has been renamed to API::Array in r159234.

* Shared/API/c/WKContextMenuItem.cpp:
* Shared/WebContextMenuItem.cpp:
* Shared/WebContextMenuItem.h:
* UIProcess/API/C/WKBackForwardListRef.cpp:
* UIProcess/API/Cocoa/WKBackForwardList.mm:
* UIProcess/API/gtk/WebKitBackForwardList.cpp:
* UIProcess/API/gtk/WebKitWebViewGroup.cpp:
* UIProcess/WebBackForwardList.cpp:
* UIProcess/WebBackForwardList.h:

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

7 years agoWeb Inspector: Generate Individual InspectorBackendDispatchers, add base InspectorBac...
joepeck@webkit.org [Thu, 14 Nov 2013 02:24:46 +0000 (02:24 +0000)]
Web Inspector: Generate Individual InspectorBackendDispatchers, add base InspectorBackendDispatcher
https://bugs.webkit.org/show_bug.cgi?id=124296

Reviewed by Timothy Hatcher.

No new tests, this is just refactoring without changing functionality.
Set of changes made:

  - Add inspector/InspectorBackendDispatcher.{h,cpp}. This used to be almost entirely
    written in the code generator strings file, but make it actual source files
    because there is nothing changing in the code. Also clean this up a bit.
  - Give the base dispatcher a list of domain dispatchers and a way to register.
  - Make InspectorBackendDispatcher::dispatch read the domain of incoming request
    and pass the request on to the domain dispatcher.
  - Create per-domain dispatcher classes named "InspectorFooBackendDispatcher"
  - Convert "InspectorBackendDispatcher::FooCommandHandler" interfaces to
    "InspectorFooBackendDispatcherHandler" interfaces.
  - Convert all "InspectorBackendDispatcherImpl::FooDomain_fooMethod" methods to
    "InspectorFooBackendDispatcher::fooMethod" methods. These can also remove their
    "if (!agent)" checks because that can never be the case anymore.
  - Remove InspectorBackendDispatcherImpl, now that there are base and domain dispatchers.
  - Add ASCIILiteral in many places in generated code where possible.
  - In all agents, create dispatchers in didCreateFrontendAndBackend and clear
    them in willDestroyFrontendAndBackend, right alongside frontend dispatchers.

* inspector/CodeGeneratorInspector.py:
(DomainNameFixes.get_fixed_data.Res):
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
(Generator):
(Generator.go):
(Generator.process_command):
(Generator.generate_send_method):
* inspector/CodeGeneratorInspectorStrings.py:
(void):
(HashMap):
(InspectorBackendDispatchers_h):
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::didCreateFrontendAndBackend):
(WebCore::InspectorAgent::willDestroyFrontendAndBackend):
* inspector/InspectorAgent.h:
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
(WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorBackendDispatcher.cpp: Added.
(WebCore::InspectorBackendDispatcher::CallbackBase::CallbackBase):
(WebCore::InspectorBackendDispatcher::CallbackBase::isActive):
(WebCore::InspectorBackendDispatcher::CallbackBase::sendFailure):
(WebCore::InspectorBackendDispatcher::CallbackBase::sendIfActive):
(WebCore::InspectorBackendDispatcher::create):
(WebCore::InspectorBackendDispatcher::registerDispatcherForDomain):
(WebCore::InspectorBackendDispatcher::dispatch):
(WebCore::InspectorBackendDispatcher::sendResponse):
(WebCore::InspectorBackendDispatcher::reportProtocolError):
(WebCore::InspectorBackendDispatcher::getPropertyValue):
(WebCore::AsMethodBridges::asInt):
(WebCore::AsMethodBridges::asDouble):
(WebCore::AsMethodBridges::asString):
(WebCore::AsMethodBridges::asBoolean):
(WebCore::AsMethodBridges::asObject):
(WebCore::AsMethodBridges::asArray):
(WebCore::InspectorBackendDispatcher::getInt):
(WebCore::InspectorBackendDispatcher::getDouble):
(WebCore::InspectorBackendDispatcher::getString):
(WebCore::InspectorBackendDispatcher::getBoolean):
(WebCore::InspectorBackendDispatcher::getObject):
(WebCore::InspectorBackendDispatcher::getArray):
* inspector/InspectorBackendDispatcher.h: Added.
(WebCore::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
(WebCore::InspectorSupplementalBackendDispatcher::~InspectorSupplementalBackendDispatcher):
(WebCore::InspectorBackendDispatcher::~InspectorBackendDispatcher):
(WebCore::InspectorBackendDispatcher::clearFrontend):
(WebCore::InspectorBackendDispatcher::isActive):
(WebCore::InspectorBackendDispatcher::InspectorBackendDispatcher):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
* inspector/InspectorCanvasAgent.h:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
(WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.cpp:
(WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorHeapProfilerAgent.cpp:
(WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
(WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
* inspector/InspectorIndexedDBAgent.h:
* inspector/InspectorInputAgent.cpp:
(WebCore::InspectorInputAgent::didCreateFrontendAndBackend):
(WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
* inspector/InspectorInputAgent.h:
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
(WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
(WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
* inspector/InspectorMemoryAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorPageAgent::getScriptExecutionStatus):
* inspector/InspectorPageAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
(WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
* inspector/InspectorResourceAgent.h:
* inspector/InspectorRuntimeAgent.h:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
(WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
* inspector/InspectorWorkerAgent.h:
* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
(WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
* inspector/PageRuntimeAgent.h:
* inspector/WorkerRuntimeAgent.cpp:
(WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
(WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
* inspector/WorkerRuntimeAgent.h:

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

7 years agoREGRESSION (r159263): caused 50+ crashes on all mac webkit2 bots
mitz@apple.com [Thu, 14 Nov 2013 01:59:52 +0000 (01:59 +0000)]
REGRESSION (r159263): caused 50+ crashes on all mac webkit2 bots
https://bugs.webkit.org/show_bug.cgi?id=124327

Reviewed by Tim Horton.

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject): Allocate extra memory for the WebError inside the WKNSError.

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

7 years agoLayout Test animations/resume-after-page-cache.html is flaky
timothy_horton@apple.com [Thu, 14 Nov 2013 01:20:57 +0000 (01:20 +0000)]
Layout Test animations/resume-after-page-cache.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=124321

* platform/mac/TestExpectations:

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

7 years agoUse NSCalendarIdentifierGregorian instead of NSGregorianCalendar on OS X 10.9 and iOS
aestes@apple.com [Thu, 14 Nov 2013 01:18:32 +0000 (01:18 +0000)]
Use NSCalendarIdentifierGregorian instead of NSGregorianCalendar on OS X 10.9 and iOS
https://bugs.webkit.org/show_bug.cgi?id=124323

Reviewed by Mark Rowe.

NSGregorianCalendar was deprecated in OS X 10.9 and iOS 7.

* platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::LocaleMac):

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

7 years agoWeb Inspector: Rename InspectorBackendDispatcher.h to InspectorBackendDispatchers.h
joepeck@webkit.org [Thu, 14 Nov 2013 00:53:18 +0000 (00:53 +0000)]
Web Inspector: Rename InspectorBackendDispatcher.h to InspectorBackendDispatchers.h
https://bugs.webkit.org/show_bug.cgi?id=124257

Reviewed by Timothy Hatcher.

Soon each domain will generate its own dispatcher, and the generic
InspectorBackendDispatcher will no longer be generated, it will just
live in WebCore/inspector.

* CMakeLists.txt:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* inspector/CodeGeneratorInspector.py:
* inspector/CodeGeneratorInspectorStrings.py:
(InspectorBackendDispatchers_h):
* inspector/InspectorBaseAgent.h:
* inspector/InspectorController.cpp:
* inspector/InspectorFrontendClientLocal.cpp:
* inspector/WorkerInspectorController.cpp:

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

7 years ago[Cocoa] Add WKNSError
mitz@apple.com [Thu, 14 Nov 2013 00:49:43 +0000 (00:49 +0000)]
[Cocoa] Add WKNSError
https://bugs.webkit.org/show_bug.cgi?id=124295

Reviewed by Anders Carlsson.

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject): Allocate a WKNSError if the object is a WebError.
* Shared/Cocoa/WKNSError.h: Added.
(WebKit::wrapper): Added. Returns a WebError’s wrapper as an NSError.
* Shared/Cocoa/WKNSError.mm: Added.
(-[WKNSError _web_createTarget]): Override this WKObject method to return a copy of the
underlying CFError.
(-[WKNSError copyWithZone:]): Retains self.
* WebKit2.xcodeproj/project.pbxproj: Added new files.

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

7 years agoTweak the property syntax after https://bugs.webkit.org/show_bug.cgi?id=124317
simon.fraser@apple.com [Thu, 14 Nov 2013 00:46:41 +0000 (00:46 +0000)]
Tweak the property syntax after https://bugs.webkit.org/show_bug.cgi?id=124317

Reviewed by Dan Bernstein.

* UIProcess/API/mac/WKViewPrivate.h:

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

7 years agoFix the ARM64 build after recent JavaScriptCore changes
aestes@apple.com [Thu, 14 Nov 2013 00:44:22 +0000 (00:44 +0000)]
Fix the ARM64 build after recent JavaScriptCore changes
https://bugs.webkit.org/show_bug.cgi?id=124315

Reviewed by Michael Saboff.

Based on patches by myself, Filip Pizlo, Benjamin Poulain, and Michael Saboff.

* Configurations/JavaScriptCore.xcconfig: Hid the symbol for
std::bad_function_call.
* JavaScriptCore.xcodeproj/project.pbxproj: Marked
MacroAssemblerARM64.h and ARM64Assembler.h as Private headers.
* assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::executableOffsetFor):
* assembler/MacroAssemblerARM64.h: Removed ARM64's executableCopy(),
which was removed from other assembler backends in r157690.
(JSC::MacroAssemblerARM64::shouldBlindForSpecificArch): Added.
(JSC::MacroAssemblerARM64::lshift64): Added.
(JSC::MacroAssemblerARM64::mul64): Added.
(JSC::MacroAssemblerARM64::rshift64): Added.
(JSC::MacroAssemblerARM64::convertInt64ToDouble): Added.
(JSC::MacroAssemblerARM64::branchMul64): Added.
(JSC::MacroAssemblerARM64::branchNeg64): Added.
(JSC::MacroAssemblerARM64::scratchRegisterForBlinding): Added.
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithDiv): Changed
SpeculateIntegerOperand to SpeculateInt32Operand,
nodeCanIgnoreNegativeZero() to bytecodeCanIgnoreNegativeZero(), and
nodeUsedAsNumber() to bytecodeUsesAsNumber().
(JSC::DFG::SpeculativeJIT::compileArithMod): Changed
nodeCanIgnoreNegativeZero() to bytecodeCanIgnoreNegativeZero().

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

7 years agofullscreen/anonymous-block-merge-crash.html often times out in WebKit1
timothy_horton@apple.com [Wed, 13 Nov 2013 23:57:46 +0000 (23:57 +0000)]
fullscreen/anonymous-block-merge-crash.html often times out in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=124318

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
Mark test as timing out on WebKit1 only.

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

7 years agoMove more state tracking to FrameLoadState
andersca@apple.com [Wed, 13 Nov 2013 23:55:18 +0000 (23:55 +0000)]
Move more state tracking to FrameLoadState
https://bugs.webkit.org/show_bug.cgi?id=124316

Reviewed by Simon Fraser.

* UIProcess/FrameLoadState.cpp:
(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didFailProvisionalLoad):
(WebKit::FrameLoadState::didCommitLoad):
(WebKit::FrameLoadState::didFinishLoad):
(WebKit::FrameLoadState::didFailLoad):
(WebKit::FrameLoadState::didSameDocumentNotification):
(WebKit::FrameLoadState::setUnreachableURL):
* UIProcess/FrameLoadState.h:
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didCommitLoad):
(WebKit::WebFrameProxy::didFinishLoad):
(WebKit::WebFrameProxy::didFailLoad):
(WebKit::WebFrameProxy::didSameDocumentNavigation):
(WebKit::WebFrameProxy::setUnreachableURL):

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

7 years agoExpose a private flag on WKView to indicate whether it's using a remote layer tree...
simon.fraser@apple.com [Wed, 13 Nov 2013 23:53:04 +0000 (23:53 +0000)]
Expose a private flag on WKView to indicate whether it's using a remote layer tree drawing area
https://bugs.webkit.org/show_bug.cgi?id=124317

Reviewed by Anders Carlsson.

Expose isUsingUISideCompositing on WKView in the private header,
which returns YES if the view is using a DrawingAreaTypeRemoteLayerTree.

* UIProcess/API/mac/WKView.mm:
(-[WKView isUsingUISideCompositing]):
* UIProcess/API/mac/WKViewPrivate.h:

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

7 years agoMaybe the last attempt to fix the GTK build.
ossy@webkit.org [Wed, 13 Nov 2013 23:36:22 +0000 (23:36 +0000)]
Maybe the last attempt to fix the GTK build.

* UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
* UIProcess/API/gtk/WebKitContextMenuPrivate.h:

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

7 years agoOne more attempt to fix the GTK build.
ossy@webkit.org [Wed, 13 Nov 2013 23:30:16 +0000 (23:30 +0000)]
One more attempt to fix the GTK build.

* UIProcess/API/gtk/WebKitWebViewPrivate.h:

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

7 years agoRemoved deprecated download delegates.
commit-queue@webkit.org [Wed, 13 Nov 2013 23:20:27 +0000 (23:20 +0000)]
Removed deprecated download delegates.
https://bugs.webkit.org/show_bug.cgi?id=124309
<rdar://problem/13570414>

Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2013-11-13
Reviewed by Anders Carlsson.

* Misc/WebDownload.mm:
(-[WebDownloadInternal respondsToSelector:]):
Removed download:shouldBeginChildDownloadOfSource:delegate and
download:didBeginChildDownload.

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

7 years agoPlug-in processes hang around for 10 sec after Safari quits
andersca@apple.com [Wed, 13 Nov 2013 23:18:08 +0000 (23:18 +0000)]
Plug-in processes hang around for 10 sec after Safari quits
https://bugs.webkit.org/show_bug.cgi?id=124314
<rdar://problem/15460613>

Reviewed by Simon Fraser.

Call stopRunLoop instead of instead of RunLoop::stop().

* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::didClose):

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

7 years agoURTBF after r159234.
ossy@webkit.org [Wed, 13 Nov 2013 23:11:59 +0000 (23:11 +0000)]
URTBF after r159234.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Shared/efl/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebTouchEvent):
* UIProcess/API/C/WKGrammarDetail.cpp:
* UIProcess/API/C/efl/WKEventEfl.cpp:
* UIProcess/API/gtk/WebKitBackForwardList.cpp:
(webkitBackForwardListCreateList):
(webkitBackForwardListChanged):
(webkit_back_forward_list_get_back_list_with_limit):
(webkit_back_forward_list_get_forward_list_with_limit):
* UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
* UIProcess/API/gtk/WebKitContextMenu.cpp:
(webkitContextMenuCreate):
* UIProcess/API/gtk/WebKitContextMenuItem.cpp:
(webkitContextMenuItemCreate):
* UIProcess/API/gtk/WebKitContextMenuPrivate.h:
* UIProcess/API/gtk/WebKitCookieManager.cpp:
(webkitCookieManagerGetDomainsWithCookiesCallback):
* UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
(webkit_file_chooser_request_get_mime_types):
(webkit_file_chooser_request_get_mime_types_filter):
(webkit_file_chooser_request_select_files):
(webkit_file_chooser_request_get_selected_files):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewPopulateContextMenu):
* UIProcess/API/gtk/WebKitWebViewGroup.cpp:
(toImmutableArray):
(webkit_web_view_group_add_user_style_sheet):
* UIProcess/API/gtk/WebKitWebViewPrivate.h:
* UIProcess/WebGrammarDetail.cpp:
(WebKit::WebGrammarDetail::create):
(WebKit::WebGrammarDetail::WebGrammarDetail):
(WebKit::WebGrammarDetail::guesses):
* UIProcess/WebGrammarDetail.h:
* UIProcess/WebTextCheckerClient.cpp:
(WebKit::WebTextCheckerClient::checkGrammarOfString):
(WebKit::WebTextCheckerClient::guessesForWord):
* UIProcess/efl/WebUIPopupMenuClient.cpp:
(WebUIPopupMenuClient::showPopupMenu):

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

7 years agoRemove Document::m_savedRenderView pointer.
akling@apple.com [Wed, 13 Nov 2013 23:10:30 +0000 (23:10 +0000)]
Remove Document::m_savedRenderView pointer.
<https://webkit.org/b/124310>

This pointer held a copy of m_renderView while the document was in
page cache, and null while it wasn't. It was not used for anything.

Reviewed by Anders Carlsson.

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

7 years agoMove setIndexKeys() to the IDBServerConnection
beidson@apple.com [Wed, 13 Nov 2013 23:08:53 +0000 (23:08 +0000)]
Move setIndexKeys() to the IDBServerConnection
https://bugs.webkit.org/show_bug.cgi?id=124301

Reviewed by Anders Carlsson.

This is a big step towards moving knowledge of the backing store out of the frontend.

* Modules/indexeddb/IDBBackingStoreInterface.h:

* Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::setIndexKeys):

* Modules/indexeddb/IDBServerConnection.h:
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
(WebCore::IDBServerConnectionLevelDB::setIndexKeys):
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::PutOperation::perform):

* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:

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

7 years agoWeb Inspector: Extract InspectorFrontendDispatchers from InspectorFrontend
joepeck@webkit.org [Wed, 13 Nov 2013 22:58:16 +0000 (22:58 +0000)]
Web Inspector: Extract InspectorFrontendDispatchers from InspectorFrontend
https://bugs.webkit.org/show_bug.cgi?id=124246

Reviewed by NOBODY (OOPS!).

No new tests, this is just refactoring without changing functionality.
Set of changes made:

  - Remove "class InspectorFrontend" that currently does nothing but hold
    sub-frontend dispatcher classes. Catches some stale code.
  - Generate individual "class InspectorFooFrontendDispatcher" classes for
    domains that have events. Catches some unnecessary classes.
  - Simplify the Base Agent interface from optional set/clearFrontend/register
    to required didCreateFrontendAndBackend/willDestroyFrontendAndBackend.
    New agents must implement this and this will be their cue to setup
    frontend and backend dispatchers.
  - Base Agent no longer needs to be templated or have an Interface class.
  - While we are changing subclass BaseAgent superclass calls, use ASCIILiteral
  - In agents with events, convert "InspectorFrontend::Foo* m_frontend" to
    "unique_ptr<InspectorFooFrontendDispatcher> m_frontendDispatcher" and
    update uses as appropriate within the classes.
  - In agents with events, create dispatchers in didCreateFrontendAndBackend
    and clear them in willDestroyFrontendAndBackend.

* inspector/CodeGeneratorInspector.py:
(Generator):
(Generator.go):
(Generator.process_event):
* inspector/CodeGeneratorInspectorStrings.py:
(InspectorFrontendChannel):
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::addToFrontend):
(WebCore::ConsoleMessage::updateRepeatCountInConsole):
* inspector/ConsoleMessage.h:
* inspector/InjectedScriptHost.h:
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::InspectorAgent):
(WebCore::InspectorAgent::didCreateFrontendAndBackend):
(WebCore::InspectorAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorAgent::enable):
(WebCore::InspectorAgent::evaluateForTestInFrontend):
(WebCore::InspectorAgent::inspect):
* inspector/InspectorAgent.h:
(WebCore::InspectorAgent::hasFrontend):
* inspector/InspectorAgentRegistry.cpp:
(WebCore::InspectorAgentRegistry::append):
(WebCore::InspectorAgentRegistry::didCreateFrontendAndBackend):
(WebCore::InspectorAgentRegistry::willDestroyFrontendAndBackend):
* inspector/InspectorAgentRegistry.h:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
(WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
(WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
(WebCore::InspectorApplicationCacheAgent::networkStateChanged):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorBaseAgent.h:
(WebCore::InspectorBaseAgent::discardAgent):
(WebCore::InspectorBaseAgent::InspectorBaseAgent):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::InspectorCSSAgent):
(WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorCSSAgent::mediaQueryResultChanged):
(WebCore::InspectorCSSAgent::didCreateNamedFlow):
(WebCore::InspectorCSSAgent::willRemoveNamedFlow):
(WebCore::InspectorCSSAgent::regionLayoutUpdated):
(WebCore::InspectorCSSAgent::regionOversetChanged):
(WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement):
(WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
(WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
(WebCore::InspectorCSSAgent::styleSheetChanged):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
(WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
(WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases):
(WebCore::InspectorCanvasAgent::frameNavigated):
* inspector/InspectorCanvasAgent.h:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::enable):
(WebCore::InspectorConsoleAgent::clearMessages):
(WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
(WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorConsoleAgent::addMessageToConsole):
(WebCore::InspectorConsoleAgent::didFinishXHRLoading):
(WebCore::InspectorConsoleAgent::addConsoleMessage):
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::show):
(WebCore::InspectorController::close):
* inspector/InspectorController.h:
(WebCore::InspectorController::hasFrontend):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDOMAgent::setDocument):
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::focusNode):
(WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::didRemoveDOMNode):
(WebCore::InspectorDOMAgent::didModifyDOMAttr):
(WebCore::InspectorDOMAgent::didRemoveDOMAttr):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):
(WebCore::InspectorDOMAgent::characterDataModified):
(WebCore::InspectorDOMAgent::didPushShadowRoot):
(WebCore::InspectorDOMAgent::willPopShadowRoot):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
(WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
(WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.cpp:
(WebCore::InspectorDatabaseAgent::didOpenDatabase):
(WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
(WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDatabaseAgent::enable):
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDatabaseResource.cpp:
(WebCore::InspectorDatabaseResource::bind):
* inspector/InspectorDatabaseResource.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::enable):
(WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDebuggerAgent::addMessageToConsole):
(WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(WebCore::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
(WebCore::InspectorDebuggerAgent::didParseSource):
(WebCore::InspectorDebuggerAgent::failedToParseSource):
(WebCore::InspectorDebuggerAgent::didPause):
(WebCore::InspectorDebuggerAgent::didContinue):
(WebCore::InspectorDebuggerAgent::breakProgram):
(WebCore::InspectorDebuggerAgent::clearBreakDetails):
(WebCore::InspectorDebuggerAgent::reset):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorHeapProfilerAgent.cpp:
(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
(WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
(WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
(WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
(WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
* inspector/InspectorIndexedDBAgent.h:
* inspector/InspectorInputAgent.cpp:
(WebCore::InspectorInputAgent::InspectorInputAgent):
(WebCore::InspectorInputAgent::didCreateFrontendAndBackend):
(WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
* inspector/InspectorInputAgent.h:
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
(WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorLayerTreeAgent::layerTreeDidChange):
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
(WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
* inspector/InspectorMemoryAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
(WebCore::InspectorPageAgent::domContentEventFired):
(WebCore::InspectorPageAgent::loadEventFired):
(WebCore::InspectorPageAgent::frameNavigated):
(WebCore::InspectorPageAgent::frameDetached):
(WebCore::InspectorPageAgent::frameStartedLoading):
(WebCore::InspectorPageAgent::frameStoppedLoading):
(WebCore::InspectorPageAgent::frameScheduledNavigation):
(WebCore::InspectorPageAgent::frameClearedScheduledNavigation):
(WebCore::InspectorPageAgent::willRunJavaScriptDialog):
(WebCore::InspectorPageAgent::didRunJavaScriptDialog):
(WebCore::InspectorPageAgent::scriptsEnabled):
* inspector/InspectorPageAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::addProfile):
(WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
(WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
(WebCore::InspectorProfilerAgent::getHeapSnapshot):
(WebCore::InspectorProfilerAgent::resetFrontendProfiles):
(WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorProfilerAgent::takeHeapSnapshot):
(WebCore::InspectorProfilerAgent::toggleRecordButton):
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
(WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::markResourceAsCached):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didReceiveData):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::didCreateWebSocket):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didCloseWebSocket):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):
(WebCore::InspectorResourceAgent::enable):
(WebCore::InspectorResourceAgent::InspectorResourceAgent):
* inspector/InspectorResourceAgent.h:
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
* inspector/InspectorRuntimeAgent.h:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
(WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorTimelineAgent::start):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::sendEvent):
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
(WebCore::InspectorWorkerAgent::WorkerFrontendChannel::dispatchMessageFromWorker):
(WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
(WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorWorkerAgent::enable):
(WebCore::InspectorWorkerAgent::disable):
(WebCore::InspectorWorkerAgent::didStartWorkerGlobalScope):
(WebCore::InspectorWorkerAgent::workerGlobalScopeTerminated):
(WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
* inspector/InspectorWorkerAgent.h:
* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::PageRuntimeAgent):
(WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
(WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
(WebCore::PageRuntimeAgent::didCreateMainWorldContext):
(WebCore::PageRuntimeAgent::didCreateIsolatedContext):
(WebCore::PageRuntimeAgent::notifyContextCreated):
* inspector/PageRuntimeAgent.h:
* inspector/TimelineRecordFactory.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::connectFrontend):
(WebCore::WorkerInspectorController::disconnectFrontend):
* inspector/WorkerInspectorController.h:
(WebCore::WorkerInspectorController::hasFrontend):
* inspector/WorkerRuntimeAgent.cpp:
(WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
(WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
* inspector/WorkerRuntimeAgent.h:
* inspector/protocol/Input.json:

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

7 years agocompositing/regions/transform-transparent-positioned-video-inside-region.html is...
timothy_horton@apple.com [Wed, 13 Nov 2013 22:25:54 +0000 (22:25 +0000)]
compositing/regions/transform-transparent-positioned-video-inside-region.html is flaky on all bots
https://bugs.webkit.org/show_bug.cgi?id=124311

* platform/mac/TestExpectations:
Mark as flaky image fail.

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

7 years agoRename FrameView's repaintFixedElementsAfterScrolling and updateFixedElementsAfterScr...
simon.fraser@apple.com [Wed, 13 Nov 2013 22:22:14 +0000 (22:22 +0000)]
Rename FrameView's repaintFixedElementsAfterScrolling and updateFixedElementsAfterScrolling
https://bugs.webkit.org/show_bug.cgi?id=124306

Reviewed by Tim Horton.

FrameView::repaintFixedElementsAfterScrolling() didn't do any repainting, and didn't
just apply to fixed elements. Rename it to updateLayerPositionsAfterScrolling().

updateFixedElementsAfterScrolling() was also confusingly named; rename it
to updateCompositingLayersAfterScrolling().

* page/FrameView.cpp:
(WebCore::FrameView::setFixedVisibleContentRect):
(WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
(WebCore::FrameView::updateLayerPositionsAfterScrolling):
(WebCore::FrameView::shouldUpdateCompositingLayersAfterScrolling):
(WebCore::FrameView::updateCompositingLayersAfterScrolling):
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::scrollTo):
* platform/ScrollView.h:
(WebCore::ScrollView::updateLayerPositionsAfterScrolling):
(WebCore::ScrollView::updateCompositingLayersAfterScrolling):

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

7 years agoGenerate casting helpers for SVGPaint and SVGColor.
akling@apple.com [Wed, 13 Nov 2013 22:19:33 +0000 (22:19 +0000)]
Generate casting helpers for SVGPaint and SVGColor.
<https://webkit.org/b/124285>

Use CSS_VALUE_TYPE_CASTS to generate type casting helpers for the
SVGPaint and SVGColor classes.

Reviewed by Anders Carlsson.

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

7 years agoFix build.
andersca@apple.com [Wed, 13 Nov 2013 22:17:54 +0000 (22:17 +0000)]
Fix build.

Not sure why these weren't added.

* Shared/APIArray.cpp: Added.
* Shared/APIArray.h: Added.

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

7 years agoUpdate ResourceHandleCF to use the didReceiveBuffer() callback
benjamin@webkit.org [Wed, 13 Nov 2013 22:06:39 +0000 (22:06 +0000)]
Update ResourceHandleCF to use the didReceiveBuffer() callback
https://bugs.webkit.org/show_bug.cgi?id=124256

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-11-13
Reviewed by Alexey Proskuryakov.

Use didReceiveBuffer() instead of didReceiveData() to pass data back to
the ResourceHandleClient. This unify the update code with the NSURLConnection loader.

* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::didReceiveData):
(WebCore::ResourceHandle::handleDataArray):

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

7 years agoRename ImmutableArray to API::Array
andersca@apple.com [Wed, 13 Nov 2013 22:05:12 +0000 (22:05 +0000)]
Rename ImmutableArray to API::Array
https://bugs.webkit.org/show_bug.cgi?id=124307

Reviewed by Andreas Kling.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(ensureObjectStream):
(-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):
* Shared/API/c/WKArray.cpp:
(WKArrayGetTypeID):
(WKArrayCreate):
(WKArrayCreateAdoptingValues):
* Shared/API/c/WKContextMenuItem.cpp:
* Shared/API/c/WKDictionary.cpp:
(WKDictionaryCopyKeys):
* Shared/API/c/WKMutableArray.cpp:
(WKMutableArrayCreate):
* Shared/API/c/WKRenderObject.cpp:
(WKRenderObjectGetChildren):
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toImpl):
* Shared/API/c/mac/WKWebArchive.cpp:
(WKWebArchiveCopySubresources):
(WKWebArchiveCopySubframeArchives):
* Shared/APIArray.cpp: Renamed from Source/WebKit2/Shared/ImmutableArray.cpp.
(API::Array::create):
(API::Array::createStringArray):
(API::Array::Array):
(API::Array::~Array):
* Shared/APIArray.h: Renamed from Source/WebKit2/Shared/ImmutableArray.h.
* Shared/Cocoa/WKNSArray.h:
(wrapper):
* Shared/Cocoa/WKNSArray.mm:
(-[WKNSArray dealloc]):
(-[WKNSArray count]):
(-[WKNSArray objectAtIndex:]):
(-[WKNSArray API::]):
* Shared/ImmutableDictionary.cpp:
(WebKit::ImmutableDictionary::keys):
* Shared/ImmutableDictionary.h:
* Shared/SecurityOriginData.cpp:
(WebKit::performAPICallbackWithSecurityOriginDataVector):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):
* Shared/WebArchive.cpp:
(WebKit::WebArchive::create):
(WebKit::WebArchive::WebArchive):
(WebKit::WebArchive::subresources):
(WebKit::WebArchive::subframeArchives):
* Shared/WebArchive.h:
* Shared/WebContextMenuItem.cpp:
(WebKit::WebContextMenuItem::create):
(WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
* Shared/WebContextMenuItem.h:
* Shared/WebOpenPanelParameters.cpp:
(WebKit::WebOpenPanelParameters::acceptMIMETypes):
(WebKit::WebOpenPanelParameters::selectedFileNames):
* Shared/WebOpenPanelParameters.h:
* Shared/WebRenderLayer.cpp:
(WebKit::WebRenderLayer::create):
(WebKit::WebRenderLayer::createArrayFromLayerList):
(WebKit::WebRenderLayer::WebRenderLayer):
* Shared/WebRenderLayer.h:
(WebKit::WebRenderLayer::negativeZOrderList):
(WebKit::WebRenderLayer::normalFlowList):
(WebKit::WebRenderLayer::positiveZOrderList):
* Shared/WebRenderObject.cpp:
(WebKit::WebRenderObject::create):
(WebKit::WebRenderObject::WebRenderObject):
(WebKit::WebRenderObject::~WebRenderObject):
* Shared/WebRenderObject.h:
(WebKit::WebRenderObject::children):
(WebKit::WebRenderObject::elementClassNames):
* UIProcess/API/C/WKBackForwardListRef.cpp:
* UIProcess/API/C/WKOpenPanelParameters.cpp:
* UIProcess/API/C/WKPage.cpp:
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextGetInfoForInstalledPlugIns):
* UIProcess/API/Cocoa/WKBackForwardList.mm:
(-[WKBackForwardList backListWithLimit:]):
(-[WKBackForwardList forwardListWithLimit:]):
* UIProcess/API/mac/WKBrowsingContextGroup.mm:
(createWKArray):
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
(WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
(WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
* UIProcess/Notifications/WebNotificationManagerProxy.h:
* UIProcess/Notifications/WebNotificationProvider.cpp:
(WebKit::WebNotificationProvider::clearNotifications):
* UIProcess/Plugins/PlugInAutoStartProvider.cpp:
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsArray):
* UIProcess/Plugins/PlugInAutoStartProvider.h:
* UIProcess/Plugins/WebPluginSiteDataManager.cpp:
(WebKit::WebPluginSiteDataManager::didGetSitesWithData):
(WebKit::WebPluginSiteDataManager::clearSiteData):
* UIProcess/Plugins/WebPluginSiteDataManager.h:
* UIProcess/StatisticsRequest.cpp:
(WebKit::StatisticsRequest::completedRequest):
* UIProcess/WebApplicationCacheManagerProxy.h:
* UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
* UIProcess/WebBackForwardList.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::setPlugInAutoStartOrigins):
(WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
* UIProcess/WebContext.h:
* UIProcess/WebContextClient.cpp:
(WebKit::WebContextClient::plugInInformationBecameAvailable):
* UIProcess/WebContextClient.h:
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
* UIProcess/WebCookieManagerProxy.h:
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
(WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
* UIProcess/WebFindClient.cpp:
(WebKit::WebFindMatchesClient::didFindStringMatches):
* UIProcess/WebFindClient.h:
* UIProcess/WebFrameProxy.h:
* UIProcess/WebKeyValueStorageManager.cpp:
(WebKit::didGetKeyValueStorageOrigins):
* UIProcess/WebKeyValueStorageManager.h:
* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::didChangeBackForwardList):
* UIProcess/WebMediaCacheManagerProxy.cpp:
(WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
* UIProcess/WebMediaCacheManagerProxy.h:
* UIProcess/WebOpenPanelResultListenerProxy.cpp:
(WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
* UIProcess/WebOpenPanelResultListenerProxy.h:
* UIProcess/WebOriginDataManagerProxy.h:
* UIProcess/WebPageContextMenuClient.cpp:
(WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
(WebKit::WebPageContextMenuClient::showContextMenu):
* UIProcess/WebPageGroup.cpp:
(WebKit::toStringVector):
(WebKit::WebPageGroup::addUserStyleSheet):
(WebKit::WebPageGroup::addUserScript):
* UIProcess/WebPageGroup.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::relatedPages):
(WebKit::WebPageProxy::didFindStringMatches):
* UIProcess/WebPageProxy.h:
* UIProcess/WebResourceCacheManagerProxy.cpp:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleCopyOriginsWithApplicationCache):
* WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(contextMenuItems):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::originsWithApplicationCache):
(WebKit::toStringVector):
(WebKit::InjectedBundle::addUserScript):
(WebKit::InjectedBundle::addUserStyleSheet):
* WebProcess/InjectedBundle/InjectedBundle.h:
* WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
(WebKit::InjectedBundleBackForwardListItem::children):
* WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
* WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
(WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
(WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
(WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::findLargestFrameInFrameSet):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::childFrames):
* WebProcess/WebPage/WebFrame.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::trackedRepaintRects):
* WebProcess/WebPage/WebPage.h:

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

7 years agoWeb Inspector: Split Inspector.json into individual domain json files
joepeck@webkit.org [Wed, 13 Nov 2013 21:40:41 +0000 (21:40 +0000)]
Web Inspector: Split Inspector.json into individual domain json files
https://bugs.webkit.org/show_bug.cgi?id=124098

Reviewed by Timothy Hatcher.

Source/WebCore:

Split the Inspector domains into their own json file. Generate a
combined Inspector.json from all of the json files at build time
so that the CodeGenerator is unchanged.

* .gitattributes:
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.xcodeproj/project.pbxproj:
* inspector/CodeGeneratorInspector.py:
(TypeMap.__init__):
* inspector/Inspector.json: Removed.
* inspector/Scripts/generate-combined-inspector-json.py: Added.
* inspector/protocol/ApplicationCache.json: Added.
* inspector/protocol/CSS.json: Added.
* inspector/protocol/Canvas.json: Added.
* inspector/protocol/Console.json: Added.
* inspector/protocol/DOM.json: Added.
* inspector/protocol/DOMDebugger.json: Added.
* inspector/protocol/DOMStorage.json: Added.
* inspector/protocol/Database.json: Added.
* inspector/protocol/Debugger.json: Added.
* inspector/protocol/FileSystem.json: Added.
* inspector/protocol/HeapProfiler.json: Added.
* inspector/protocol/IndexedDB.json: Added.
* inspector/protocol/Input.json: Added.
* inspector/protocol/InspectorDomain.json: Added.
* inspector/protocol/LayerTree.json: Added.
* inspector/protocol/Memory.json: Added.
* inspector/protocol/Network.json: Added.
* inspector/protocol/Page.json: Added.
* inspector/protocol/Profiler.json: Added.
* inspector/protocol/Runtime.json: Added.
* inspector/protocol/Timeline.json: Added.
* inspector/protocol/Worker.json: Added.

Source/WebInspectorUI:

Removed now stale comments referring to the combined Inspector.json.
Make update-InspectorBackendCommands helper script generate a
combined Inspector.json to still work for tip of tree.

* Scripts/update-InspectorBackendCommands.rb:
* UserInterface/ApplicationCacheObserver.js:
* UserInterface/CSSObserver.js:
* UserInterface/CanvasObserver.js:
* UserInterface/ConsoleObserver.js:
* UserInterface/DOMObserver.js:
* UserInterface/DOMStorageObserver.js:
* UserInterface/DatabaseObserver.js:
* UserInterface/DebuggerObserver.js:
* UserInterface/InspectorBackendCommands.js:
* UserInterface/InspectorObserver.js:
* UserInterface/LayerTreeObserver.js:
* UserInterface/NetworkObserver.js:
* UserInterface/PageObserver.js:
* UserInterface/ProfilerObserver.js:
* UserInterface/Resource.js:
* UserInterface/RuntimeObserver.js:
* UserInterface/TimelineObserver.js:

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

7 years agoRemove a crash expectation from a test that seems fixed by r159218.
timothy_horton@apple.com [Wed, 13 Nov 2013 21:33:35 +0000 (21:33 +0000)]
Remove a crash expectation from a test that seems fixed by r159218.

* platform/mac/TestExpectations:

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

7 years agoCode cleanup: change FrameView::doLayoutWithFrameFlattening() to make it more explicit.
zalan@apple.com [Wed, 13 Nov 2013 21:28:55 +0000 (21:28 +0000)]
Code cleanup: change FrameView::doLayoutWithFrameFlattening() to make it more explicit.
https://bugs.webkit.org/show_bug.cgi?id=124238

Reviewed by Simon Fraser.

Rename doLayoutWithFrameFlattening() and change its signature so that it's inline with
what it does.

Covered by existing tests.

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

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

7 years agoModifying RTCSessionDescription object construction to match the spec
commit-queue@webkit.org [Wed, 13 Nov 2013 21:26:48 +0000 (21:26 +0000)]
Modifying RTCSessionDescription object construction to match the spec
https://bugs.webkit.org/show_bug.cgi?id=124212

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-11-13
Reviewed by Eric Carlson.

According to the spec the RTCSessionDescriptionInit parameter in RTCSessionDescription constructor is optional,
which must not be nullable. If the 'type' and/or 'sdp' keys are not present, the string object that stores
them in the RTCSessionDescription class, must be null in those cases. Also, if an object that is not a
Dictionary is passed as argument to the constructor, an exception must be raised.

Source/WebCore:

Existing test was updated.

* GNUmakefile.list.am:
* Modules/mediastream/RTCSessionDescription.cpp:
(WebCore::RTCSessionDescription::create):
* Modules/mediastream/RTCSessionDescription.idl:
* UseJSC.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSRTCSessionDescriptionCustom.cpp: Added.
(WebCore::JSRTCSessionDescriptionConstructor::constructJSRTCSessionDescription):

LayoutTests:

* fast/mediastream/RTCSessionDescription-expected.txt:
* fast/mediastream/RTCSessionDescription.html:

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

7 years ago[GTK] Fix build after r159222
commit-queue@webkit.org [Wed, 13 Nov 2013 21:26:33 +0000 (21:26 +0000)]
[GTK] Fix build after r159222
https://bugs.webkit.org/show_bug.cgi?id=124305

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-11-13
Reviewed by Tim Horton.

WebGraphicsContext and its API has been removed.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Shared/API/c/gtk/WKGraphicsContextGtk.cpp: Removed.
* Shared/API/c/gtk/WKGraphicsContextGtk.h: Removed.

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

7 years agoRemove redundant return after r159173
timothy_horton@apple.com [Wed, 13 Nov 2013 21:22:04 +0000 (21:22 +0000)]
Remove redundant return after r159173
https://bugs.webkit.org/show_bug.cgi?id=124303

Reviewed by Geoff Garen.

* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::loadResourceSynchronously):
Remove redundant return.

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

7 years agoUnreviewed EFL build fix after r159222.
m.pakula@samsung.com [Wed, 13 Nov 2013 20:58:11 +0000 (20:58 +0000)]
Unreviewed EFL build fix after r159222.

* CMakeLists.txt:

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

7 years agoFix release build after r159224.
timothy_horton@apple.com [Wed, 13 Nov 2013 20:54:27 +0000 (20:54 +0000)]
Fix release build after r159224.

* WebCore.exp.in:

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

7 years agoFix debug build.
oliver@apple.com [Wed, 13 Nov 2013 20:44:55 +0000 (20:44 +0000)]
Fix debug build.

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

7 years agoRemove ChromeClient::paintCustomOverhangArea
andersca@apple.com [Wed, 13 Nov 2013 20:44:41 +0000 (20:44 +0000)]
Remove ChromeClient::paintCustomOverhangArea
https://bugs.webkit.org/show_bug.cgi?id=124304

Reviewed by Beth Dakin.

This function always returns false now; get rid of it.

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

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

7 years agoRemove WebGraphicsContext
andersca@apple.com [Wed, 13 Nov 2013 20:29:37 +0000 (20:29 +0000)]
Remove WebGraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=124302

Reviewed by Dan Bernstein.

WebGraphicsContext and its API "object", WKGraphicsContextRef was only used
for the overhang paint callback which has been removed.

* Shared/API/c/WKDeprecatedFunctions.cpp:
(WKGraphicsContextGetCGContext):
* Shared/API/c/WKGraphicsContext.cpp: Removed.
* Shared/API/c/WKGraphicsContext.h: Removed.
* Shared/API/c/cg/WKGraphicsContextCG.cpp: Removed.
* Shared/API/c/cg/WKGraphicsContextCG.h: Removed.
* Shared/APIObject.h:
* Shared/WebGraphicsContext.cpp: Removed.
* Shared/WebGraphicsContext.h: Removed.
* UIProcess/API/C/WebKit2_C.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:

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

7 years ago[MathML] The double bar vertical delimiter does not stretch properly
mrobinson@webkit.org [Wed, 13 Nov 2013 20:23:47 +0000 (20:23 +0000)]
[MathML] The double bar vertical delimiter does not stretch properly
https://bugs.webkit.org/show_bug.cgi?id=123543

Reviewed by Chris Fleizach.

Source/WebCore:

* rendering/mathml/RenderMathMLOperator.cpp: Add stretching support for U+2225, which
is another version of the vertical bar.

LayoutTests:

* mathml/presentation/mo-stretch.html: Add &DoubleVerticalBar; to this test,
which covers the other version of the vertical bar.
* platform/gtk/mathml/presentation/mo-stretch-expected.png:
* platform/gtk/mathml/presentation/mo-stretch-expected.txt:

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

7 years agoASSERTION FAILED: m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer...
simon.fraser@apple.com [Wed, 13 Nov 2013 20:03:53 +0000 (20:03 +0000)]
ASSERTION FAILED: m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint()) after r135816
https://bugs.webkit.org/show_bug.cgi?id=103432

Reviewed by Dave Hyatt.

RenderLayer caches repaint rects in m_repaintRect, and on updating layer
positions after scrolling, asserts that the cached rect is correct. However,
this assertion would sometimes fail if we were scrolling as a result of
doing adjustViewSize() in the middle of layout, because we haven't updated
layer positions post-layout yet.

Fix by having the poorly named FrameView::repaintFixedElementsAfterScrolling()
skip the layer updating if this FrameView is inside of adjusetViewSize() in
layout.

In order to know if we're inside view size adjusting, add a LayoutPhase
member to FrameView, replacing two existing bools that track laying out state.

Investigative work showed that there are many, many ways to re-enter FrameView::layout(),
which makes it hard (but desirable) to more assertions about state changes, but
indicated that saving and restoring the state (via TemporaryChange<LayoutPhase>)
was a good idea.

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::updateCompositingLayersAfterStyleChange):
(WebCore::FrameView::layout):
(WebCore::FrameView::repaintFixedElementsAfterScrolling):
* page/FrameView.h:

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

7 years agoWKArrayIsMutable should not be mangled
andersca@apple.com [Wed, 13 Nov 2013 20:03:43 +0000 (20:03 +0000)]
WKArrayIsMutable should not be mangled
https://bugs.webkit.org/show_bug.cgi?id=124299

Reviewed by Andreas Kling.

* Shared/API/c/WKDeprecatedFunctions.cpp:

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

7 years agor159210 added a period where there previously wasn't one, breaking >100 tests
timothy_horton@apple.com [Wed, 13 Nov 2013 20:01:49 +0000 (20:01 +0000)]
r159210 added a period where there previously wasn't one, breaking >100 tests

Rubber-stamped by Oliver Hunt.

* parser/Parser.cpp:
(JSC::::logError):
Remove the extra period.

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

7 years ago[Windows] Unreviewed gardening of some canvas tests.
roger_fong@apple.com [Wed, 13 Nov 2013 19:54:16 +0000 (19:54 +0000)]
[Windows] Unreviewed gardening of some canvas tests.

* platform/win/fast/canvas/canvas-draw-canvas-on-canvas-shadow-expected.txt:
* platform/win/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt:
* platform/win/fast/canvas/canvas-render-layer-expected.txt:
* platform/win/fast/canvas/canvas-scale-shadowBlur-expected.txt:
* platform/win/fast/canvas/canvas-scale-strokePath-shadow-expected.txt:
* platform/win/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt:
* platform/win/fast/canvas/canvas-strokeRect-alpha-shadow-expected.txt:
* platform/win/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt:
* platform/win/fast/forms/range/slider-mouse-events-expected.txt:

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

7 years agoDelete unused TextPainter function
commit-queue@webkit.org [Wed, 13 Nov 2013 19:44:46 +0000 (19:44 +0000)]
Delete unused TextPainter function
https://bugs.webkit.org/show_bug.cgi?id=124292

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-11-13
Reviewed by Tim Horton.

New tests are unnecessary since there is no behavior change

* rendering/TextPainter.cpp:
(WebCore::TextPainter::paintText):
* rendering/TextPainter.h:

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

7 years agoCheck WebCrypto parameter types when casting
ap@apple.com [Wed, 13 Nov 2013 19:33:15 +0000 (19:33 +0000)]
Check WebCrypto parameter types when casting
https://bugs.webkit.org/show_bug.cgi?id=124297

Reviewed by Sam Weinig.

Also changed existing toCryptoXXX functions to use TYPE_CASTS_BASE mechanism.

* bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
And sure enough, there was a bug caught by the added checks.

* bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
* crypto/CryptoAlgorithmParameters.h:
(WebCore::CryptoAlgorithmParameters::ENUM_CLASS):
(WebCore::CryptoAlgorithmParameters::parametersClass):
* crypto/CryptoKey.h:
* crypto/CryptoKeyData.h:
* crypto/CryptoKeySerialization.h:
* crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
(WebCore::CryptoAlgorithmAES_CBC::generateKey):
* crypto/algorithms/CryptoAlgorithmHMAC.cpp:
(WebCore::CryptoAlgorithmHMAC::generateKey):
(WebCore::CryptoAlgorithmHMAC::importKey):
* crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
* crypto/keys/CryptoKeyAES.h:
* crypto/keys/CryptoKeyDataOctetSequence.h:
(WebCore::isCryptoKeyDataOctetSequence):
* crypto/keys/CryptoKeyDataRSAComponents.h:
(WebCore::isCryptoKeyDataRSAComponents):
* crypto/keys/CryptoKeyHMAC.h:
* crypto/keys/CryptoKeyRSA.h:
* crypto/keys/CryptoKeySerializationRaw.h:
* crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
(WebCore::CryptoAlgorithmAES_CBC::encrypt):
(WebCore::CryptoAlgorithmAES_CBC::decrypt):
* crypto/mac/CryptoAlgorithmHMACMac.cpp:
(WebCore::CryptoAlgorithmHMAC::sign):
(WebCore::CryptoAlgorithmHMAC::verify):
* crypto/parameters/CryptoAlgorithmAesCbcParams.h:
* crypto/parameters/CryptoAlgorithmAesKeyGenParams.h:
* crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
* crypto/parameters/CryptoAlgorithmHmacParams.h:
* crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
* crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h:
* crypto/parameters/CryptoAlgorithmRsaSsaParams.h:

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

7 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Wed, 13 Nov 2013 19:23:01 +0000 (19:23 +0000)]
Unreviewed EFL gardening

Remove failure tests expectations after r159116.

* platform/efl/TestExpectations:

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

7 years agocrypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html is failing on Maverics release bot
ap@apple.com [Wed, 13 Nov 2013 19:19:44 +0000 (19:19 +0000)]
crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html is failing on Maverics release bot
https://bugs.webkit.org/show_bug.cgi?id=124280

Reviewed by Anders Carlsson.

Source/WebCore:

* crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::buildAlgorithmDescription):
Don't be a muppet, initialize your variables.

LayoutTests:

* TestExpectations: Unskip.

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

7 years agoREGRESSION (r158014): Many webpages throw stack overflow exceptions on iOS (because...
oliver@apple.com [Wed, 13 Nov 2013 19:12:37 +0000 (19:12 +0000)]
REGRESSION (r158014): Many webpages throw stack overflow exceptions on iOS (because Parser::parseMemberExpression uses ~130K more stack)
https://bugs.webkit.org/show_bug.cgi?id=124177

Reviewed by Michael Saboff.

This patch pushes error handling into NEVER_INLINE functions to perform
the actual error message construction.  This dramatically reduces the
stack usage of the Parser.  For the large functions (such as parseMemberExpression)
the improvement is on the order of 2.5x reduction in stack usage.  For
smaller functions the reduction is in the order of 5-6x.

* parser/Parser.cpp:
(JSC::::logError):
* parser/Parser.h:

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

7 years agoMove provisional load state handling to FrameLoadState
andersca@apple.com [Wed, 13 Nov 2013 18:51:54 +0000 (18:51 +0000)]
Move provisional load state handling to FrameLoadState
https://bugs.webkit.org/show_bug.cgi?id=124291

Reviewed by Dan Bernstein.

* UIProcess/FrameLoadState.cpp:
(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didFailProvisionalLoad):
* UIProcess/FrameLoadState.h:
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameProxy::didFailProvisionalLoad):

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

7 years agoAdd support for HTMLMediaElement.fastSeek()
jer.noble@apple.com [Wed, 13 Nov 2013 18:30:03 +0000 (18:30 +0000)]
Add support for HTMLMediaElement.fastSeek()
https://bugs.webkit.org/show_bug.cgi?id=124262

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/video-fast-seek.html

Add the fastSeek() method to HTMLMediaElement, and use fastSeek() in
the JavaScript media controls.

Add the new fastSeek() method:
* html/HTMLMediaElement.cpp:
(HTMLMediaElement::fastSeek): Call seekWithTolerance.
(HTMLMediaElement::seek): Call seekWithTolerance with 0 tolerance.
(HTMLMediaElement::seekWithTolerance): Renamed from seek().
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.idl:

Add seekWithTolerance() to MediaPlayer:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::seekWithTolerance): Pass to MediaPlayerPrivate.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::seekWithTolerance): Default implementation which
    calls seek().
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::seek): Call seekWithTolerance with 0 tolerance.
(WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance): Renamed from seek().
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): Take tolerance parameters.

Use the new fastSeek() method while actively scrubbing.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls): Add mouse up and down handlers.
(Controller.prototype.handleTimeUpdate): Only update the timeline when not scrubbing.
(Controller.prototype.handleTimelineChange): Use fastSeek().
(Controller.prototype.handleTimelineMouseDown): Start scrubbing.
(Controller.prototype.handleTimelineMouseUp): Stop scrubbing.

LayoutTests:

* media/video-fast-seek-expected.txt: Added.
* media/video-fast-seek.html: Added.

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

7 years agoGenerate casting helpers for scrolling tree classes.
akling@apple.com [Wed, 13 Nov 2013 18:17:40 +0000 (18:17 +0000)]
Generate casting helpers for scrolling tree classes.
<https://webkit.org/b/124286>

Added SCROLLING_STATE_NODE_TYPE_CASTS and used it to replace the
hand-written toFoo() casts for ScrollingStateNode subclasses.

Reviewed by Anders Carlsson.

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

7 years agoOne more fix after r159197.
ossy@webkit.org [Wed, 13 Nov 2013 17:59:33 +0000 (17:59 +0000)]
One more fix after r159197.

* UIProcess/efl/EwkTouchEvent.h:
* UIProcess/efl/EwkTouchPoint.h:

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

7 years ago[CSS Shapes] Determining if a line is inside of a shape should only happen in one...
hmuller@adobe.com [Wed, 13 Nov 2013 17:47:38 +0000 (17:47 +0000)]
[CSS Shapes] Determining if a line is inside of a shape should only happen in one place
https://bugs.webkit.org/show_bug.cgi?id=121708

Reviewed by Andreas Kling.

The ShapeInfo::lineOverlapsShapeBounds() methods now delegate to the Shape object. The
logic for the Shape overlap test is now the same for ShapeInsideInfo and ShapeOutsideInfo.

No new tests, this is just a refactoring of existing code.

* rendering/shapes/Shape.h:
(WebCore::Shape::lineOverlapsShapeMarginBounds): Apply lineOverlapsLayoutRect() to the shape-margin bounds LayoutRect.
(WebCore::Shape::lineOverlapsShapePaddingBounds): Apply lineOverlapsLayoutRect() to the shape-padding bounds LayoutRect.
(WebCore::Shape::lineOverlapsLayoutRect): The common code for checking if a line and a LayoutRect overlap.
* rendering/shapes/ShapeInsideInfo.h: Use lineOverlapsShapePaddingBounds() for lineOverlapShapeBounds().
* rendering/shapes/ShapeOutsideInfo.h: Use lineOverlapsShapeMarginBounds() for lineOverlapShapeBounds().

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

7 years ago[Gtk][EFL] Fix builds by updating Object::TypeX to Object::Type::X
ossy@webkit.org [Wed, 13 Nov 2013 17:43:13 +0000 (17:43 +0000)]
[Gtk][EFL] Fix builds by updating Object::TypeX to Object::Type::X
https://bugs.webkit.org/show_bug.cgi?id=124289

Patch by Brendan Long <b.long@cablelabs.com> on 2013-11-13
Reviewed by Alexey Proskuryakov.

* Shared/API/c/WKContextMenuItem.cpp:
(WKContextMenuItemGetTypeID):
* Shared/WebBatteryStatus.h:
* Shared/WebNetworkInfo.h:
* UIProcess/API/C/WKGrammarDetail.cpp:
(WKGrammarDetailGetTypeID):
* UIProcess/API/C/WKPluginSiteDataManager.cpp:
(WKPluginSiteDataManagerGetTypeID):
* UIProcess/CoordinatedGraphics/WebView.h:
* UIProcess/WebBatteryManagerProxy.h:
* UIProcess/WebNetworkInfoManagerProxy.h:
* UIProcess/WebTextChecker.h:
* UIProcess/WebVibrationProxy.h:
* UIProcess/WebViewportAttributes.h:
* UIProcess/efl/WebPopupItemEfl.h:
* UIProcess/soup/WebSoupRequestManagerProxy.h:

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

7 years ago[sh4] Protect repatchCompact from flushConstantPool.
commit-queue@webkit.org [Wed, 13 Nov 2013 17:39:43 +0000 (17:39 +0000)]
[sh4] Protect repatchCompact from flushConstantPool.
https://bugs.webkit.org/show_bug.cgi?id=124278

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-13
Reviewed by Michael Saboff.

Random crashes may occur with sh4 architecture, when a flushConstantPool occurs in
movlMemRegCompact. As in this case a branch opcode and the constant pool are put
before the movlMemRegCompact, the branch itself is patched when calling repatchCompact
instead of the mov instruction, which is really bad.

* assembler/SH4Assembler.h:
(JSC::SH4Assembler::repatchCompact): Handle this specific case and add an ASSERT.

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

7 years agoAdd a Vector constructor that takes an std::initializer_list
andersca@apple.com [Wed, 13 Nov 2013 17:35:30 +0000 (17:35 +0000)]
Add a Vector constructor that takes an std::initializer_list
https://bugs.webkit.org/show_bug.cgi?id=124287

Reviewed by Antti Koivisto.

Source/WTF:

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

Tools:

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

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

7 years agoRemove prefixed template class processing from message receiver generator.
commit-queue@webkit.org [Wed, 13 Nov 2013 17:26:54 +0000 (17:26 +0000)]
Remove prefixed template class processing from message receiver generator.
https://bugs.webkit.org/show_bug.cgi?id=123095

Patch by Tamas Gergely <gertom@inf.u-szeged.hu> on 2013-11-13
Reviewed by Anders Carlsson.

There was a FIXME in messages.py to remove unprefixed WTF template classes,
but in the discussion of the bug report we concluded that in the messages.in
files we should follow the C++ naming convention where none of the WTF
classes require the WTF prefix.

* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* Scripts/webkit2/messages.py:
(class_template_headers):
* Scripts/webkit2/messages_unittest.py:
(std):
* UIProcess/Storage/StorageManager.messages.in:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/WebPage.messages.in:

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

7 years agoURTBF after r159199 to make cmake and GTK build happy.
ossy@webkit.org [Wed, 13 Nov 2013 17:13:44 +0000 (17:13 +0000)]
URTBF after r159199 to make cmake and GTK build happy.

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

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

7 years agoAdd WKDeprecatedFunctions.cpp and move WKArrayIsMutable there
andersca@apple.com [Wed, 13 Nov 2013 17:01:27 +0000 (17:01 +0000)]
Add WKDeprecatedFunctions.cpp and move WKArrayIsMutable there
https://bugs.webkit.org/show_bug.cgi?id=124284

Reviewed by Andreas Kling.

* Shared/API/c/WKDeprecatedFunctions.cpp: Copied from Source/WebKit2/Shared/API/c/WKMutableArray.h.
(WKArrayIsMutable):
* Shared/API/c/WKMutableArray.cpp:
* Shared/API/c/WKMutableArray.h:
* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoRestrict UserGestureIndicator to main thread
jochen@chromium.org [Wed, 13 Nov 2013 16:23:14 +0000 (16:23 +0000)]
Restrict UserGestureIndicator to main thread
https://bugs.webkit.org/show_bug.cgi?id=124277

Reviewed by Andreas Kling.

Certain classes that interact with UserGestureIndicators, e.g.
the DOMTimer, can also live on worker threads. Since a
background thread cannot possible get a user gesture in the
first place, and to avoid races, we turn a UserGestureIndicator
on a background thread into a no-op.

* dom/UserGestureIndicator.cpp:
(WebCore::UserGestureIndicator::UserGestureIndicator):
(WebCore::UserGestureIndicator::~UserGestureIndicator):
(WebCore::UserGestureIndicator::processingUserGesture):
* dom/UserGestureIndicator.h:

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

7 years agoAPI::Object::Type should be a strongly typed enum
andersca@apple.com [Wed, 13 Nov 2013 16:19:55 +0000 (16:19 +0000)]
API::Object::Type should be a strongly typed enum
https://bugs.webkit.org/show_bug.cgi?id=124258

Reviewed by Tim Horton.

* Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
(-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
* Shared/APIObject.h:
* Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
* Shared/ImmutableArray.h:
* Shared/ImmutableDictionary.h:
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):
* Shared/WebArchive.h:
* Shared/WebArchiveResource.h:
* Shared/WebBackForwardListItem.h:
* Shared/WebCertificateInfo.h:
* Shared/WebConnection.h:
* Shared/WebContextMenuItem.h:
* Shared/WebData.h:
* Shared/WebError.h:
* Shared/WebGeolocationPosition.h:
* Shared/WebGeometry.h:
* Shared/WebGraphicsContext.h:
* Shared/WebHitTestResult.h:
* Shared/WebImage.h:
* Shared/WebNumber.h:
* Shared/WebOpenPanelParameters.h:
* Shared/WebRenderLayer.h:
* Shared/WebRenderObject.h:
* Shared/WebSecurityOrigin.h:
* Shared/WebSerializedScriptValue.h:
* Shared/WebString.h:
* Shared/WebURL.h:
* Shared/WebURLRequest.h:
* Shared/WebURLResponse.h:
* Shared/WebUserContentURLPattern.h:
* Shared/mac/ObjCObjectGraph.h:
* UIProcess/Authentication/AuthenticationChallengeProxy.h:
* UIProcess/Authentication/AuthenticationDecisionListener.h:
* UIProcess/Authentication/WebCredential.h:
* UIProcess/Authentication/WebProtectionSpace.h:
* UIProcess/Downloads/DownloadProxy.h:
* UIProcess/GeolocationPermissionRequestProxy.h:
* UIProcess/Notifications/NotificationPermissionRequest.h:
* UIProcess/Notifications/WebNotification.h:
* UIProcess/Notifications/WebNotificationManagerProxy.h:
* UIProcess/Plugins/WebPluginSiteDataManager.h:
* UIProcess/WebApplicationCacheManagerProxy.h:
* UIProcess/WebBackForwardList.h:
* UIProcess/WebColorPickerResultListenerProxy.h:
* UIProcess/WebContext.h:
* UIProcess/WebContextUserMessageCoders.h:
(WebKit::WebContextUserMessageEncoder::encode):
(WebKit::WebContextUserMessageDecoder::decode):
* UIProcess/WebCookieManagerProxy.h:
* UIProcess/WebDatabaseManagerProxy.h:
* UIProcess/WebEditCommandProxy.h:
* UIProcess/WebFormSubmissionListenerProxy.h:
* UIProcess/WebFramePolicyListenerProxy.h:
* UIProcess/WebFrameProxy.h:
* UIProcess/WebGeolocationManagerProxy.h:
* UIProcess/WebGrammarDetail.h:
* UIProcess/WebIconDatabase.h:
* UIProcess/WebInspectorProxy.h:
* UIProcess/WebKeyValueStorageManager.h:
* UIProcess/WebMediaCacheManagerProxy.h:
* UIProcess/WebNavigationData.h:
* UIProcess/WebOpenPanelResultListenerProxy.h:
* UIProcess/WebOriginDataManagerProxy.h:
* UIProcess/WebPageGroup.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPreferences.h:
* UIProcess/WebResourceCacheManagerProxy.h:
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
* WebProcess/InjectedBundle/InjectedBundle.h:
* WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
* WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
* WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
* WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
* WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
* WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
(WebKit::InjectedBundleUserMessageEncoder::encode):
(WebKit::InjectedBundleUserMessageDecoder::decode):
* WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
(WebKit::InjectedBundle::load):
* WebProcess/WebPage/PageBanner.h:
* WebProcess/WebPage/PageOverlay.h:
* WebProcess/WebPage/WebFrame.h:
* WebProcess/WebPage/WebInspector.h:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPageGroupProxy.h:
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
(-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):

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

7 years agoRemove custom overhang area painting code
andersca@apple.com [Wed, 13 Nov 2013 16:10:29 +0000 (16:10 +0000)]
Remove custom overhang area painting code
https://bugs.webkit.org/show_bug.cgi?id=124282

Reviewed by Andreas Kling.

This code was only used by the Mac port, to draw the linen background color on Lion.
We now do that on the GPU instead so get rid of this code.

* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
* WebProcess/WebCoreSupport/WebChromeClient.h:

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

7 years agoFactor simple line creation loop to function
antti@apple.com [Wed, 13 Nov 2013 15:34:58 +0000 (15:34 +0000)]
Factor simple line creation loop to function
https://bugs.webkit.org/show_bug.cgi?id=124279

Reviewed by Andreas Kling.

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

    Capture style that affects line layout to a struct.

(WebCore::SimpleLineLayout::textWidth):
(WebCore::SimpleLineLayout::measureWord):
(WebCore::SimpleLineLayout::createLineRuns):

    Factor the line loop here.

(WebCore::SimpleLineLayout::createTextRuns):

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

7 years ago* TestExpectations: Skip crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html
antti@apple.com [Wed, 13 Nov 2013 15:32:16 +0000 (15:32 +0000)]
* TestExpectations: Skip crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html

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

7 years agoSupport overflow-wrap:break-word on simple line path
antti@apple.com [Wed, 13 Nov 2013 13:25:32 +0000 (13:25 +0000)]
Support overflow-wrap:break-word on simple line path
https://bugs.webkit.org/show_bug.cgi?id=124206

Source/WebCore:

Reviewed by Andreas Kling.

Pure text documents are rendered with break-word. It is also common in discussion board type sites.

This also makes many <textarea>'s rendered using the simple line path.

Tests: fast/forms/basic-textareas-quirks-simple-lines.html
       fast/forms/linebox-overflow-in-textarea-padding-simple-lines.html
       fast/forms/negativeLineHeight-simple-lines.html
       fast/forms/textAreaLineHeight-simple-lines.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange):
(WebCore::RenderBlock::markShapeInsideDescendantsForLayout):

    Invalidate the cached line layout mode on shape-inside style change.

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

LayoutTests:

Reviewed by Andreas Kling.

Force these to use line boxes, add ref test versions comparing the paths.

* fast/forms/basic-textareas-quirks-simple-lines-expected.html: Added.
* fast/forms/basic-textareas-quirks-simple-lines.html: Added.
* fast/forms/basic-textareas-quirks.html:
* fast/forms/linebox-overflow-in-textarea-padding-simple-lines-expected.html: Added.
* fast/forms/linebox-overflow-in-textarea-padding-simple-lines.html: Added.
* fast/forms/linebox-overflow-in-textarea-padding.html:
* fast/forms/negativeLineHeight-simple-lines-expected.html: Added.
* fast/forms/negativeLineHeight-simple-lines.html: Added.
* fast/forms/negativeLineHeight.html:
* fast/forms/textAreaLineHeight-simple-lines-expected.html: Added.
* fast/forms/textAreaLineHeight-simple-lines.html: Added.
* fast/forms/textAreaLineHeight.html:
* fast/parser/entity-comment-in-textarea.html: Made this independent of line layout mode.
* fast/replaced/width100percent-textarea.html:
* platform/mac/fast/parser/entity-comment-in-textarea-expected.txt:

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

7 years agoTurn some not-so-rare ElementRareData bits into Node flags.
akling@apple.com [Wed, 13 Nov 2013 13:17:19 +0000 (13:17 +0000)]
Turn some not-so-rare ElementRareData bits into Node flags.
<https://webkit.org/b/124275>

The following 4 bits seem to be the most commonly set:

- childrenAffectedByHover()
- childrenAffectedByFirstChildRules()
- childrenAffectedByLastChildRules()
- childrenAffectedByDirectAdjacentRules()

Turning them into Node flags means we don't have to allocate full
ElementRareData object in many cases. I also took this opportunity
to make Node's flag twiddling functions available to subclasses.

1.38 MB progression on HTML5-8266 locally.

Reviewed by Antti Koivisto.

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

7 years ago[EFL][WK2] Convert some more OwnPtr/PassOwnPtr to std::unique_ptr
commit-queue@webkit.org [Wed, 13 Nov 2013 12:42:45 +0000 (12:42 +0000)]
[EFL][WK2] Convert some more OwnPtr/PassOwnPtr to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=124241

Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-11-13
Reviewed by Gyuyoung Kim.

The modified files are located under UIProcess/{efl,API/efl}.

* UIProcess/API/efl/EwkView.cpp:
* UIProcess/API/efl/EwkView.h:
* UIProcess/API/efl/GestureRecognizer.cpp:
* UIProcess/API/efl/GestureRecognizer.h:
* UIProcess/API/efl/ewk_back_forward_list_private.h:
* UIProcess/API/efl/ewk_color_picker_private.h:
* UIProcess/API/efl/ewk_context.cpp:
* UIProcess/API/efl/ewk_context_menu.cpp:
* UIProcess/API/efl/ewk_context_menu_item.cpp:
* UIProcess/API/efl/ewk_context_menu_item_private.h:
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_cookie_manager.cpp:
* UIProcess/API/efl/ewk_cookie_manager_private.h:
* UIProcess/API/efl/ewk_database_manager_private.h:
* UIProcess/API/efl/ewk_favicon_database_private.h:
* UIProcess/API/efl/ewk_popup_menu.cpp:
* UIProcess/API/efl/ewk_popup_menu_item_private.h:
* UIProcess/API/efl/ewk_popup_menu_private.h:
* UIProcess/API/efl/ewk_settings_private.h:
* UIProcess/API/efl/ewk_storage_manager.cpp:
* UIProcess/API/efl/ewk_storage_manager_private.h:
* UIProcess/API/efl/ewk_view.cpp:
* UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
* UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
* UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
* UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
* UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
* UIProcess/efl/ContextHistoryClientEfl.h:
* UIProcess/efl/ContextMenuClientEfl.h:
* UIProcess/efl/DownloadManagerEfl.h:
* UIProcess/efl/FindClientEfl.h:
* UIProcess/efl/FormClientEfl.h:
* UIProcess/efl/PageLoadClientEfl.h:
* UIProcess/efl/PagePolicyClientEfl.h:
* UIProcess/efl/PageUIClientEfl.h:
* UIProcess/efl/PageViewportControllerClientEfl.h:
* UIProcess/efl/RequestManagerClientEfl.h:
* UIProcess/efl/VibrationClientEfl.cpp:
* UIProcess/efl/VibrationClientEfl.h:
* UIProcess/efl/ViewClientEfl.h:

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

7 years agoThis was supposed to test overflow-wrap:break-word instead of word-break:break-all.
antti@apple.com [Wed, 13 Nov 2013 12:26:55 +0000 (12:26 +0000)]
This was supposed to test overflow-wrap:break-word instead of word-break:break-all.

Rubber-stamped by Andreas Kling.

* Layout/line-layout-simple.html:

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

7 years agoCleanup the build from unused parameters in WebCore
ossy@webkit.org [Wed, 13 Nov 2013 11:59:18 +0000 (11:59 +0000)]
Cleanup the build from unused parameters in WebCore
https://bugs.webkit.org/show_bug.cgi?id=124199.

Patch by Tibor Meszaros <mtibor@inf.u-szeged.hu> on 2013-11-13
Reviewed by Csaba Osztrogonác.

* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::cachedOrPendingImage):
* dom/Document.cpp:
(WebCore::Document::scriptedAnimationControllerSetThrottled):
* fileapi/ThreadableBlobRegistry.cpp:
(WebCore::ThreadableBlobRegistry::registerBlobURL):
* html/HTMLAnchorElement.cpp:
(WebCore::shouldProhibitLinks):
* html/parser/XSSAuditor.cpp:
(WebCore::isSemicolonSeparatedAttribute):
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::addMessageToConsole):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveData):
(WebCore::DocumentThreadableLoader::didFail):
(WebCore::DocumentThreadableLoader::preflightFailure):
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer):
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::animate):
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::animate):
* platform/graphics/WidthIterator.cpp:
(WebCore::applyFontTransforms):
* rendering/RenderView.cpp:
(WebCore::RenderView::setIsInWindow):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout):
(WebCore::RenderStyle::changeRequiresLayerRepaint):
(WebCore::RenderStyle::changeRequiresRecompositeLayer):
* testing/Internals.cpp:
(WebCore::Internals::setHeaderHeight):
(WebCore::Internals::setCaptionsStyleSheetOverride):

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

7 years agoRefalize CSSCursorImageValue.
akling@apple.com [Wed, 13 Nov 2013 11:51:23 +0000 (11:51 +0000)]
Refalize CSSCursorImageValue.
<https://webkit.org/b/124272>

Make CSSCursorImageValue constructor return a PassRef, and have it
take the image CSSValue as a PassRef (and store it internally in a
Ref<CSSValue>.)

Had to add a Ref version of compareCSSValuePtr() to make this work.

Reviewed by Antti Koivisto.

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

7 years agoRenderTableSection: Cell structures don't need allocation padding.
akling@apple.com [Wed, 13 Nov 2013 11:46:51 +0000 (11:46 +0000)]
RenderTableSection: Cell structures don't need allocation padding.
<https://webkit.org/b/124263>

The row structure data gets shrunk-to-fit once we get to layout,
but per-row cell structures get no such luxury. Fortuntely we know
ahead of time how many cells a row needs to accomodate, so we can
just use Vector::resizeToFit() instead of Vector::grow().

1.25 MB progression on HTML5-8266 locally.

Reviewed by Antti Koivisto.

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

7 years agoAvoid unnecessarily padding the FontDescription families vector.
akling@apple.com [Wed, 13 Nov 2013 11:45:47 +0000 (11:45 +0000)]
Avoid unnecessarily padding the FontDescription families vector.
<https://webkit.org/b/124267>

Use a bit of reserveInitialCapacity+uncheckedAppend grease to avoid
jumping all the way to capacity=16 when a style has more than just
a single font-family in it.

130 kB progression on HTML5-8266 locally.

Reviewed by Antti Koivisto.

* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyFontFamily::applyValue):

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

7 years agoMake remaining CSSPrimitiveValue constructors return PassRef.
akling@apple.com [Wed, 13 Nov 2013 11:38:14 +0000 (11:38 +0000)]
Make remaining CSSPrimitiveValue constructors return PassRef.
<https://webkit.org/b/124270>

..and same with the corresponding CSSValuePool functions.

Reviewed by Antti Koivisto.

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

7 years agoRemoving fast/mediastream/constructors.html LayoutTest
commit-queue@webkit.org [Wed, 13 Nov 2013 11:25:43 +0000 (11:25 +0000)]
Removing fast/mediastream/constructors.html LayoutTest
https://bugs.webkit.org/show_bug.cgi?id=124259

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-11-13
Reviewed by Philippe Normand.

Apart from being wrong, it was testing the mediastream WebRTC objects constructors, which are already being
tested in each particular mediastream WebRTC object LayoutTest.

* fast/mediastream/constructors-expected.txt: Removed.
* fast/mediastream/constructors.html: Removed.

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

7 years agoUnreviewed GTK gardening. Updated rebaseline unit tests to include WK2 bot.
mario@webkit.org [Wed, 13 Nov 2013 11:07:57 +0000 (11:07 +0000)]
Unreviewed GTK gardening. Updated rebaseline unit tests to include WK2 bot.

* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineTest.test_baseline_directory): Updated.

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

7 years ago[ATK] Support compilation of EFL/GTK without accessibility
commit-queue@webkit.org [Wed, 13 Nov 2013 10:02:00 +0000 (10:02 +0000)]
[ATK] Support compilation of EFL/GTK without accessibility
https://bugs.webkit.org/show_bug.cgi?id=122448

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-11-13
Reviewed by Chris Fleizach.

Added missing HAVE(ACCESSIBILITY) guards and stubs to ATK's related files,
so that in case of turning off the HAVE_ACCESSIBILITY macro EFL/GTK would compile properly.

* DumpRenderTree/AccessibilityController.h:
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/atk/AccessibilityCallbacks.h:
* DumpRenderTree/atk/AccessibilityNotificationHandlerAtk.cpp:
* DumpRenderTree/atk/AccessibilityNotificationHandlerAtk.h:
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::rootElement):
(WTR::AccessibilityController::focusedElement):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.h:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
* WebKitTestRunner/PlatformEfl.cmake:

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

7 years agoImplement key generation and JWK import for RSASSA-PKCS1-v1_5
ap@apple.com [Wed, 13 Nov 2013 09:31:51 +0000 (09:31 +0000)]
Implement key generation and JWK import for RSASSA-PKCS1-v1_5
https://bugs.webkit.org/show_bug.cgi?id=124236

Reviewed by Sam Weinig.

Source/WebCore:

Tests: crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html
       crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html

* WebCore.xcodeproj/project.pbxproj: Added new files.

* bindings/js/JSCryptoAlgorithmBuilder.cpp:
(WebCore::JSCryptoAlgorithmBuilder::add):
* bindings/js/JSCryptoAlgorithmBuilder.h:
* crypto/CryptoAlgorithmDescriptionBuilder.h:
Added a way to add an Uint8Array, as needed for RSA key.algorithm.publicExponent.

* bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::createAesCbcParams): Removed unneeded JSC prefixes.
(WebCore::createAesKeyGenParams): Ditto.
(WebCore::createHmacParams): Ditto.
(WebCore::createHmacKeyParams): Ditto.
(WebCore::createRsaKeyGenParams): Added.
(WebCore::createRsaSsaKeyParams): Added. WebCrypto currently doesn't specify any
parameters for importKey, so the structure remains blank (unlike with JWK).
(WebCore::createRsaSsaParams): Added (currently unused, will be sued for sign/verify soon).
(WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt): Removed unneeded JSC prefixes.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt): Ditto.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForSign): Added support for RSAES_PKCS1_v1_5.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify): Ditto.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest): Removed unneeded JSC prefixes.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey): Ditto.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey): Ditto.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits): Ditto.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey): Added support for RSAES_PKCS1_v1_5.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey): Removed unneeded JSC prefixes.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForWrapKey): Ditto.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForUnwrapKey): Ditto.

* bindings/js/JSCryptoKeySerializationJWK.h:
* bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::getJSArrayFromJSON): Added.
(WebCore::getBigIntegerVectorFromJSON): Added.
(WebCore::createRSASSAKeyParameters): Create parameters for key import. The key
will remember which algorithm it's allowed to be used with.
(WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm): Added support for
RS256...RS512 (tha is, RSAES_PKCS1_v1_5 with SHA-256...SHA-512).
(WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence): Split out of keyData().
(WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents): Added code to read
RSA key components from JWK.
(WebCore::JSCryptoKeySerializationJWK::keyData): Call one of the above functions.

* crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Added.
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
Placeholders.

* crypto/CryptoKey.h: (WebCore::CryptoKeyClass): Added RSA key class for poor man's RTTI.

* crypto/CryptoKeyData.h: (WebCore::CryptoKeyData::FormatRSAComponents): Added RSAComponents
for poor man's RTTI.

* crypto/algorithms/CryptoAlgorithmAES_CBC.cpp: (WebCore::CryptoAlgorithmAES_CBC::importKey):
* crypto/algorithms/CryptoAlgorithmHMAC.cpp: (WebCore::CryptoAlgorithmHMAC::importKey):
* crypto/keys/CryptoKeyAES.h:
(WebCore::isCryptoKeyAES):
(WebCore::toCryptoKeyAES):
* crypto/keys/CryptoKeyDataOctetSequence.h:
(WebCore::toCryptoKeyDataOctetSequence):
* crypto/keys/CryptoKeyHMAC.h:
(WebCore::isCryptoKeyHMAC):
(WebCore::toCryptoKeyHMAC):
* crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
(WebCore::CryptoAlgorithmAES_CBC::encrypt):
(WebCore::CryptoAlgorithmAES_CBC::decrypt):
* crypto/mac/CryptoAlgorithmHMACMac.cpp:
(WebCore::CryptoAlgorithmHMAC::sign):
(WebCore::CryptoAlgorithmHMAC::verify):
Switched from "as" functions to "is" and "to" ones, as that's more idiomatic.

* crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp: Added.
* crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h: Added.
Glue code for importKey/generateKey for now.

* crypto/keys/CryptoKeyDataRSAComponents.cpp: Added.
(WebCore::CryptoKeyDataRSAComponents::CryptoKeyDataRSAComponents):
(WebCore::CryptoKeyDataRSAComponents::~CryptoKeyDataRSAComponents):
* crypto/keys/CryptoKeyDataRSAComponents.h: Added.
(WebCore::toCryptoKeyDataRSAComponents):
Added a structure to hold RSA key components, extracted from JWK or another format.

* crypto/keys/CryptoKeyRSA.h: Added.
* crypto/mac/CryptoKeyRSAMac.cpp: Added.

* crypto/mac/CryptoAlgorithmRegistryMac.cpp:
(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
Register RSASSA_PKCS1_v1_5.

* crypto/parameters/CryptoAlgorithmHmacKeyParams.h: Added a constructor to make
sure that hasLength is never left uninitialized, even when reading formats that
don't contain a length.

* crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h: Added.
* crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Added.
* crypto/parameters/CryptoAlgorithmRsaSsaParams.h: Added.
Added parameter structures that are needed for RSASSA_PKCS1_v1_5.

LayoutTests:

* crypto/subtle/resources/common.js:
(hexToArrayBuffer): Fixed a typo
(Base64URL.stringify):
(Base64URL.parse):
Added helpers to deal with Base64URL, as needed for JWK.

* crypto/subtle/rsassa-pkcs1-v1_5-generate-key-expected.txt: Added.
* crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html: Added.
* crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-expected.txt: Added.
* crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html: Added.

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