WebKit-https.git
7 years agoVersioning.
lforschler@apple.com [Tue, 19 Nov 2013 03:50:23 +0000 (03:50 +0000)]
Versioning.

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

7 years ago[EFL] Layout tests need to be rebaselined.
commit-queue@webkit.org [Tue, 19 Nov 2013 02:41:31 +0000 (02:41 +0000)]
[EFL] Layout tests need to be rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=124477

Unreviewed, EFL rebaseline.

EFL tests are rebaselined after r126683 and r140149.

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

* platform/efl/fast/block/float/016-expected.txt:
* platform/efl/fast/forms/textAreaLineHeight-expected.txt:

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

7 years agoWeb Inspector: Update WebInspectorUI to use the new "nodeIds" parameter for DOM.perfo...
achicu@adobe.com [Tue, 19 Nov 2013 01:13:38 +0000 (01:13 +0000)]
Web Inspector: Update WebInspectorUI to use the new "nodeIds" parameter for DOM.performSearch
https://bugs.webkit.org/show_bug.cgi?id=124544

Reviewed by Joseph Pecoraro.

Added the new DOM.performSearch "nodeIds" parameter and made the two implementations
of DOMTreeContentView provide the right context node ids.

DOMTreeContentView is just using the id of the document node while ContentFlowDOMTreeContentView
is passing the list of content nodes.

Note that adding an extra optional parameter to DOM.performSearch does not break iOS 6 and 7 compatibility.

* UserInterface/ContentFlowDOMTreeContentView.js:
(WebInspector.ContentFlowDOMTreeContentView.prototype.getSearchContextNodes):
* UserInterface/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView.prototype.performSearch.contextNodesReady):
(WebInspector.DOMTreeContentView.prototype.performSearch):
(WebInspector.DOMTreeContentView.prototype.getSearchContextNodes):
* UserInterface/FrameDOMTreeContentView.js:
(WebInspector.FrameDOMTreeContentView.prototype.getSearchContextNodes):
* UserInterface/InspectorBackendCommands.js:

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

7 years agoLet's try this again.
andersca@apple.com [Tue, 19 Nov 2013 01:00:36 +0000 (01:00 +0000)]
Let's try this again.

* UIProcess/PageLoadState.cpp:

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

7 years agoUnreviewed, rolling out r159430.
commit-queue@webkit.org [Tue, 19 Nov 2013 00:56:12 +0000 (00:56 +0000)]
Unreviewed, rolling out r159430.
http://trac.webkit.org/changeset/159430
https://bugs.webkit.org/show_bug.cgi?id=124548

WebCore can know nothing about nor use files from WebKit/
(Requested by thorton on #webkit).

Source/WebCore:

* DerivedSources.make:

Source/WebKit/win:

* WebView.cpp:
(webKitVersionString):

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

7 years agoDisable assertions in PageLoadState.cpp for now.
andersca@apple.com [Tue, 19 Nov 2013 00:50:21 +0000 (00:50 +0000)]
Disable assertions in PageLoadState.cpp for now.

* UIProcess/PageLoadState.cpp:

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

7 years agoTestWebKitAPI crashes when running under GuardMalloc
andersca@apple.com [Tue, 19 Nov 2013 00:46:39 +0000 (00:46 +0000)]
TestWebKitAPI crashes when running under GuardMalloc
https://bugs.webkit.org/show_bug.cgi?id=124546

Reviewed by Tim Horton.

* UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::downloadFinished):
Grab the download ID before removing the DownloadProxy from the map.

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

7 years agoRemove IDBServerConnection's deprecatedBackingStore()
beidson@apple.com [Tue, 19 Nov 2013 00:45:03 +0000 (00:45 +0000)]
Remove IDBServerConnection's deprecatedBackingStore()
https://bugs.webkit.org/show_bug.cgi?id=124547

Reviewed by Tim Horton.

It is no longer needed, as the front end no longer knows about the backing store.

* Modules/indexeddb/IDBServerConnection.h:

* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

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

7 years agoARM64 CRASH: Debug builds crash in emitPointerValidation()
msaboff@apple.com [Tue, 19 Nov 2013 00:35:15 +0000 (00:35 +0000)]
ARM64 CRASH: Debug builds crash in emitPointerValidation()
https://bugs.webkit.org/show_bug.cgi?id=124545

Reviewed by Filip Pizlo.

Changed emitPointerValidation() to use pushToSave() and popToRestore() as
all macro assemblers have an implementation of these functions.

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

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

7 years agoAX: Add ability to fetch only visible table rows.
samuel_white@apple.com [Tue, 19 Nov 2013 00:32:44 +0000 (00:32 +0000)]
AX: Add ability to fetch only visible table rows.
https://bugs.webkit.org/show_bug.cgi?id=124430

Reviewed by Chris Fleizach.

Source/WebCore:

Adding AccessibilityTable::visibleRows method to support AXVisibleRows attribute mac platform.

Test: platform/mac/accessibility/table-visible-rows.html

* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::columnHeaders):
(WebCore::AccessibilityTable::rowHeaders):
(WebCore::AccessibilityTable::visibleRows):
* accessibility/AccessibilityTable.h:
* accessibility/AccessibilityTableRow.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

Tools:

Adding method to fetch array of AccessibilityUIElements to help with test brevity and test breakage. Specifically, we
have a good deal of churn any time we add or update an element attribute. This happens because the number of tests
that rely on a simple element description text dump to verify a single attribute is non trivial. So any time you
change add an attribute, you have to update all the tests that are now implicitly verifying this new attribute. But
as the test guidelines state, our tests should be more focused and specific about what they test.

* DumpRenderTree/AccessibilityUIElement.cpp:
(uiElementArrayAttributeValueCallback):
(AccessibilityUIElement::uiElementArrayAttributeValue):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::uiElementArrayAttributeValue):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::getUIElementsWithAttribute):
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):

LayoutTests:

Adding test to make sure AXVisibleRows behaves correctly.

* platform/mac/accessibility/table-visible-rows-expected.txt: Added.
* platform/mac/accessibility/table-visible-rows.html: Added.

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

7 years agoWeb Inspector: Update localizedStrings, remove stale string
commit-queue@webkit.org [Tue, 19 Nov 2013 00:17:56 +0000 (00:17 +0000)]
Web Inspector: Update localizedStrings, remove stale string
https://bugs.webkit.org/show_bug.cgi?id=124543

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-11-18
Reviewed by Jessie Berlin.

Remove stale localized strings after r124543 remove the old color picker.

* Localizations/en.lproj/localizedStrings.js:

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

7 years agoARM64: Update getHostCallReturnValue() to use architected frame pointer register
msaboff@apple.com [Tue, 19 Nov 2013 00:07:53 +0000 (00:07 +0000)]
ARM64: Update getHostCallReturnValue() to use architected frame pointer register
https://bugs.webkit.org/show_bug.cgi?id=124520

Reviewed by Filip Pizlo.

Changed from using the prior JSC specific x25 callframe register to the ARM64
architected x29 (fp) register.  This change should have been done as part of
https://bugs.webkit.org/show_bug.cgi?id=123956.

* jit/JITOperations.cpp:

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

7 years agoSimplify and reformat the output of performance tests inside test runners
rniwa@webkit.org [Mon, 18 Nov 2013 23:40:36 +0000 (23:40 +0000)]
Simplify and reformat the output of performance tests inside test runners
https://bugs.webkit.org/show_bug.cgi?id=124496

Reviewed by Antti Koivisto.

PerformanceTests:

As a preparation to support subtests for Dromaeo and DoYouEvenBench, simplify the output performance tests generate.
Also modernize the output to better support "metric" concept we introduced a while ago.

New output on Dromaeo/dom-attr looks like this:
-----------------------------------------------
Running 5 times
getAttribute -> [1105, 1108, 1134, 1137, 1154]
element.property -> [1634, 1655, 1685, 1696, 1723]
setAttribute -> [646.3536463536464, 651, 651, 656.3436563436563, 658]
element.property = value -> [934, 949, 963, 964, 974]
element.expando = value -> [419, 419.5804195804196, 421.57842157842157, 425.57442557442556, 429]
element.expando -> [501, 517, 519.4805194805194, 521.4785214785214, 525]

    1: 117.40644785571585 runs/s
    2: 118.84720469666297 runs/s
    3: 119.80547640905021 runs/s
    4: 120.51886194758805 runs/s
    5: 121.51924380569295 runs/s

:Time -> [117.40644785571585, 118.84720469666297, 119.80547640905021, 120.51886194758805, 121.51924380569295] runs/s
    mean: 119.619446942942 runs/s
    median: 119.80547640905021 runs/s
    stdev: 1.5769040458730506 runs/s
    min: 117.40644785571585 runs/s
    max: 121.51924380569295 runs/s
-----------------------------------------------

* Dromaeo/resources/dromaeorunner.js:
(DRT.progress): Use the new format for subtest reports.
* resources/runner.js:
(.): Declare verboseLogging, which is set to true outside of test runners.
(PerfTestRunner.logInfo): Use verboseLogging instead of directly checking window.testRunner.
(PerfTestRunner.logDetail): Added. Logs informative text with a label such as "mean: 123 s" with 4-space indentation.
(PerfTestRunner.logStatistics): Use logDetail.
(.start): Initialize verboseLogging. Also log "Running 20 times" as an informative log using logDetail.
(.ignoreWarmUpAndLog): Use logDetail for showing the progress. These logs were useless inside test runners anyway
because perftest didn't get to see any output until the test finished running.
(.finish): Call logStatistics with metric name as opposed to a label. Each metric name is now prefixed with ':' to be
distinguishable from subtests, making the new format forward compatible.

Tools:

As a preparation to support subtests for Dromaeo and DoYouEvenBench, simplify the output
performance tests generate. Instead of spitting out noise in PerfTestRunner (runner.js)
and ignoring it in PerfTest._filter_output (perftest.py), simply avoid generating it in
the first place.

Also modernize the output to adopt "metric" concept better and make it forward compatible
with subtests.

With this patch, performance tests written using runner.js only produces empty lines or
lines of the following format inside test runners (DumpRenderTree and WebKitTestRunner):
<subtest name> -> [<value 1>, <value 2>, ...]
:<metric name> -> [<value 1>, <value 2>, ...]

This greatly simplifies the parsing logic inside PerfTest._run_with_driver.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest): Removed a bunch of regular expressions that are no longer used.
(PerfTest._run_with_driver): Just parse the values and description and treat everything
else as errors.

* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(TestPerfTest.test_parse_output): Removed the junk.
(TestPerfTest._assert_failed_on_line): Extracted from test_parse_output_with_failing_line,
which was removed in favor of the tests below.
(TestPerfTest.test_parse_output_with_running_five_times): Added.
(TestPerfTest.test_parse_output_with_detailed_info): Added.
(TestPerfTest.test_parse_output_with_statistics): Added.
(TestPerfTest.test_parse_output_with_description): Removed the junk.
(TestPerfTest.test_parse_output_with_subtests): Ditto.
(TestSingleProcessPerfTest.test_use_only_one_process): Ditto.

* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
(EventTargetWrapperTestData): Ditto.
(SomeParserTestData): Ditto.
(MemoryTestData): Ditto.

LayoutTests:

Rebaseline the expected result now that the output has been simplified.

* fast/harness/perftests/runs-per-second-log-expected.txt:

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

7 years agoUnreviewed build fix attempt on GTK and EFL port after r159461
ryuan.choi@samsung.com [Mon, 18 Nov 2013 23:40:04 +0000 (23:40 +0000)]
Unreviewed build fix attempt on GTK and EFL port after r159461

* CMakeLists.txt: Added APINavigationData.cpp and removed WebNavigationData.cpp
* GNUmakefile.list.am: Ditto.

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

7 years agoAt some scales, opaque compositing layers have garbage pixels around the edges
simon.fraser@apple.com [Mon, 18 Nov 2013 23:33:04 +0000 (23:33 +0000)]
At some scales, opaque compositing layers have garbage pixels around the edges
https://bugs.webkit.org/show_bug.cgi?id=124541

Reviewed by Dean Jackson.

Layers get marked as having opaque contents when their background is
known to paint the entire layer. However, this failed to take into
account two reasons why every pixel may not get painted.

First, subpixel layout can result in non-integral RenderLayer
bounds, which will get rounded up to an integral GraphicsLayer
size. When this happens we may not paint edge pixels.

Second, at non-integral scale factors, graphics context scaling
may cause us to not paint edge pixels.

Fix by only marking PlatformCALayers as having opaque contents
when the contentsScale of the layer is integral.

Not testable, because we can't guarantee to get garbage pixels
in a ref test, and layer dumps show GraphicsLayer's notion of
content opaqueness, not the one we set on the PlatformCALayer.

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::isIntegral):
(WebCore::clampedContentsScaleForScale):
(WebCore::GraphicsLayerCA::updateRootRelativeScale):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateContentsOpaque):
(WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
Drive-by typo fix.
(WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):
* platform/graphics/ca/GraphicsLayerCA.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

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

7 years agoput_to_scope[5] should not point to the structure if it's a variable access, but...
fpizlo@apple.com [Mon, 18 Nov 2013 23:19:53 +0000 (23:19 +0000)]
put_to_scope[5] should not point to the structure if it's a variable access, but it should point to the WatchpointSet
https://bugs.webkit.org/show_bug.cgi?id=124539

Reviewed by Mark Hahnenberg.

This is in preparation for getting put_to_scope to directly invalidate the watchpoint set
on stores, which will allow us to run constant inference on all globals.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
* bytecode/Instruction.h:
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* runtime/JSScope.cpp:
(JSC::abstractAccess):
(JSC::JSScope::abstractResolve):
* runtime/JSScope.h:
(JSC::ResolveOp::ResolveOp):
* runtime/SymbolTable.h:
(JSC::SymbolTableEntry::watchpointSet):

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

7 years agoRename WebNavigationData to API::NavigationData
andersca@apple.com [Mon, 18 Nov 2013 23:16:16 +0000 (23:16 +0000)]
Rename WebNavigationData to API::NavigationData
https://bugs.webkit.org/show_bug.cgi?id=124542

Reviewed by Dan Bernstein.

* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/WKNavigationDataRef.cpp:
(WKNavigationDataGetTypeID):
* UIProcess/API/Cocoa/WKNavigationData.mm:
(-[WKNavigationData dealloc]):
(-[WKNavigationData title]):
(-[WKNavigationData originalRequest]):
(-[WKNavigationData destinationURL]):
(-[WKNavigationData response]):
* UIProcess/API/Cocoa/WKNavigationDataInternal.h:
(WebKit::wrapper):
* UIProcess/API/mac/WKProcessGroup.mm:
* UIProcess/APINavigationData.cpp: Renamed from Source/WebKit2/UIProcess/WebNavigationData.cpp.
(API::NavigationData::NavigationData):
(API::NavigationData::~NavigationData):
* UIProcess/APINavigationData.h: Renamed from Source/WebKit2/UIProcess/WebNavigationData.h.
(API::NavigationData::create):
(API::NavigationData::title):
(API::NavigationData::url):
(API::NavigationData::originalRequest):
(API::NavigationData::response):
* UIProcess/WebHistoryClient.cpp:
(WebKit::WebHistoryClient::didNavigateWithNavigationData):
* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoAdd a quirk to not respect center text-align when positioning
hyatt@apple.com [Mon, 18 Nov 2013 23:08:30 +0000 (23:08 +0000)]
Add a quirk to not respect center text-align when positioning

<rdar://problem/15427571>
https://bugs.webkit.org/show_bug.cgi?id=124522

Reviewed by Simon Fraser.

Added fast/block/legacy-text-align-position-quirk.html

Source/WebCore:

* page/Settings.in:
Add the quirk setting.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::startAlignedOffsetForLine):
Don't pay attention to center text-align when the quirk is set.

Source/WebKit/mac:

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences useLegacyTextAlignPositionedElementBehavior]):
(-[WebPreferences setUseLegacyTextAlignPositionedElementBehavior:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesUseLegacyTextAlignPositionedElementBehavior):
(WKPreferencesSetUseLegacyTextAlignPositionedElementBehavior):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

LayoutTests:

* fast/block/legacy-text-align-position-quirk-expected.html: Added.
* fast/block/legacy-text-align-position-quirk.html: Added.

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

7 years agoAPIEntryShims need some love
mhahnenberg@apple.com [Mon, 18 Nov 2013 23:07:03 +0000 (23:07 +0000)]
APIEntryShims need some love
https://bugs.webkit.org/show_bug.cgi?id=124540

Reviewed by Filip Pizlo.

We were missing them in key places which some other hacking revealed. These could have manifested as
race conditions for VMs being used in multithreaded environments.

* API/JSContext.mm:
(-[JSContext setException:]):
(-[JSContext wrapperForObjCObject:]):
(-[JSContext wrapperForJSObject:]):
* API/JSContextRef.cpp:
(JSContextGroupRelease):
(JSGlobalContextRelease):
* API/JSManagedValue.mm:
(-[JSManagedValue initWithValue:]):
(-[JSManagedValue value]):
* API/JSObjectRef.cpp:
(JSObjectIsFunction):
(JSObjectCopyPropertyNames):
* API/JSValue.mm:
(containerValueToObject):
* API/JSWrapperMap.mm:
(tryUnwrapObjcObject):

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

7 years agoAdd State to PageLoadState
andersca@apple.com [Mon, 18 Nov 2013 22:43:06 +0000 (22:43 +0000)]
Add State to PageLoadState
https://bugs.webkit.org/show_bug.cgi?id=124538

Reviewed by Tim Horton.

* UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::PageLoadState):
(WebKit::PageLoadState::didStartProvisionalLoad):
(WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::PageLoadState::didFailProvisionalLoad):
(WebKit::PageLoadState::didCommitLoad):
(WebKit::PageLoadState::didFinishLoad):
(WebKit::PageLoadState::didSameDocumentNavigation):
* UIProcess/PageLoadState.h:

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

7 years agoThe PageLoadState object should keep track of the current URL
andersca@apple.com [Mon, 18 Nov 2013 22:14:41 +0000 (22:14 +0000)]
The PageLoadState object should keep track of the current URL
https://bugs.webkit.org/show_bug.cgi?id=124536

Reviewed by Dan Bernstein.

* UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::didCommitLoad):
(WebKit::PageLoadState::didFinishLoad):
(WebKit::PageLoadState::didFailLoad):
(WebKit::PageLoadState::didSameDocumentNavigation):
* UIProcess/PageLoadState.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):

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

7 years agoConsolidate various frame snapshot capabilities.
commit-queue@webkit.org [Mon, 18 Nov 2013 22:10:33 +0000 (22:10 +0000)]
Consolidate various frame snapshot capabilities.
https://bugs.webkit.org/show_bug.cgi?id=124325

Patch by Brian J. Burg <burg@cs.washington.edu> on 2013-11-18
Reviewed by Timothy Hatcher.

Source/WebCore:

Various snapshot creation methods had duplicated code and were split
between Frame, DragImage, and platform-specific implementationss.
This patch puts WebCore snapshot methods into FrameSnapshotting
and removes platform implementations where possible.

DragImage methods reuse snapshot methods where possible. Inspector
will be able to take snapshots without using drag images.

No new tests, this is a refactoring.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOM.mm:
(-[DOMNode renderedImage]):
(-[DOMRange renderedImageForcingBlackText:]):
* dom/Clipboard.cpp:
(WebCore::Clipboard::createDragImage):
* dom/ClipboardMac.mm:
(WebCore::Clipboard::createDragImage):
* page/DragController.cpp:
(WebCore::DragController::startDrag):
* page/Frame.cpp:
* page/Frame.h:
* page/FrameSnapshotting.cpp: Added.
(WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
(WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
(WebCore::snapshotFrameRect): Move most buffer logic to here.
(WebCore::snapshotSelection): Moved from Frame.
(WebCore::snapshotNode): Moved from Frame.
* page/FrameSnapshotting.h: Added.
* page/mac/FrameMac.mm: Removed.
* page/mac/FrameSnapshottingMac.h: Removed.
* page/mac/FrameSnapshottingMac.mm: Removed.
* page/win/FrameWin.cpp: remove duplicate implementation.
* page/win/FrameWin.h: Fix an incorrect parameter name.
* platform/DragImage.cpp:
(WebCore::ScopedNodeDragState::ScopedNodeDragState):
(WebCore::ScopedNodeDragState::~ScopedNodeDragState):
(WebCore::createDragImageFromSnapshot): Boilerplate buffer conversion.
(WebCore::createDragImageForNode):
(WebCore::createDragImageForSelection):
(WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
(WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
(WebCore::createDragImageForRange): Moved from Frame.
(WebCore::createDragImageForImage): Moved from FrameSnapshottingMac.
(WebCore::createDragImageForLink): use nullptr.

Source/WebKit/ios:

* WebCoreSupport/WebFrameIOS.mm: use new header file.

Source/WebKit/mac:

Use new platform-independent methods instead of Mac methods.

* WebView/WebHTMLView.mm:
(-[WebHTMLView _selectionDraggingImage]):
(-[WebHTMLView selectionImageForcingBlackText:]):

Source/WebKit/win:

* DOMCoreClasses.cpp:
(DOMElement::renderedImage): use createDragImageForNode.

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

7 years ago[GStreamer] Crash when using media source
commit-queue@webkit.org [Mon, 18 Nov 2013 21:49:03 +0000 (21:49 +0000)]
[GStreamer] Crash when using media source
https://bugs.webkit.org/show_bug.cgi?id=124525

Patch by Brendan Long <b.long@cablelabs.com> on 2013-11-18
Reviewed by Philippe Normand.

No new tests because this is already covered by tests in media/media-source (which aren't enabled because the feature isn't done).

* platform/graphics/gstreamer/MediaSourceGStreamer.cpp:
(WebCore::MediaSourceGStreamer::MediaSourceGStreamer): Add missing adoptRef()

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

7 years agoOccasionally, hundreds of tests fail with small text diffs on Mavericks
timothy_horton@apple.com [Mon, 18 Nov 2013 21:48:18 +0000 (21:48 +0000)]
Occasionally, hundreds of tests fail with small text diffs on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=124312

Reviewed by Simon Fraser.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._set_up_run):
* Scripts/webkitpy/port/base.py:
(Port.to.reset_preferences):
* Scripts/webkitpy/port/mac.py:
(MacPort.reset_preferences):
Delete DumpRenderTree and WebKitTestRunner defaults domains before running tests,
returning some of the functionality of 158652 after 159364 removed it.

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

7 years agoURTBF after r159444.
ossy@webkit.org [Mon, 18 Nov 2013 21:44:00 +0000 (21:44 +0000)]
URTBF after r159444.

* GNUmakefile.list.am:

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

7 years agoPageLoadState should keep track of the provisional URL
andersca@apple.com [Mon, 18 Nov 2013 21:28:26 +0000 (21:28 +0000)]
PageLoadState should keep track of the provisional URL
https://bugs.webkit.org/show_bug.cgi?id=124535

Reviewed by Dan Bernstein.

* UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::didStartProvisionalLoad):
(WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::PageLoadState::didCommitLoad):
* UIProcess/PageLoadState.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::didCommitLoadForFrame):

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

7 years agoRemove unneeded BackingStore-related #include from IDBFactoryBackendInterface
beidson@apple.com [Mon, 18 Nov 2013 21:21:48 +0000 (21:21 +0000)]
Remove unneeded BackingStore-related #include from IDBFactoryBackendInterface

Rubberstamped by Beth Dakin.

* Modules/indexeddb/IDBFactoryBackendInterface.h:

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

7 years agoMove m_pendingAPIRequestURL to PageLoadState
andersca@apple.com [Mon, 18 Nov 2013 21:03:17 +0000 (21:03 +0000)]
Move m_pendingAPIRequestURL to PageLoadState
https://bugs.webkit.org/show_bug.cgi?id=124531

Reviewed by Tim Horton.

* UIProcess/API/C/WKPage.cpp:
(WKPageCopyPendingAPIRequestURL):
* UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::pendingAPIRequestURL):
(WebKit::PageLoadState::setPendingAPIRequestURL):
(WebKit::PageLoadState::clearPendingAPIRequestURL):
* UIProcess/PageLoadState.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadURL):
(WebKit::WebPageProxy::loadURLRequest):
(WebKit::WebPageProxy::reload):
(WebKit::WebPageProxy::goForward):
(WebKit::WebPageProxy::goBack):
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::activeURL):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::estimatedProgress):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::pageLoadState):
* UIProcess/cf/WebPageProxyCF.cpp:
(WebKit::WebPageProxy::sessionStateData):
(WebKit::WebPageProxy::restoreFromSessionStateData):

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

7 years agoAllow the FTL debug dumps to include the new size field
fpizlo@apple.com [Mon, 18 Nov 2013 20:52:25 +0000 (20:52 +0000)]
Allow the FTL debug dumps to include the new size field
https://bugs.webkit.org/show_bug.cgi?id=124479

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

* ftl/FTLStackMaps.cpp:
(JSC::FTL::StackMaps::Location::parse):
(JSC::FTL::StackMaps::Location::dump):
* ftl/FTLStackMaps.h:

Source/WTF:

* wtf/PrintStream.cpp:
(WTF::printInternal):
* wtf/PrintStream.h:

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

7 years agoChange mediasource and mediastream modules to use nullptr
commit-queue@webkit.org [Mon, 18 Nov 2013 20:42:37 +0000 (20:42 +0000)]
Change mediasource and mediastream modules to use nullptr
https://bugs.webkit.org/show_bug.cgi?id=124530

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

No new tests needed, no behavior change.

* Modules/mediasource/MediaSource.cpp:
* Modules/mediasource/SourceBuffer.cpp:
* Modules/mediastream/MediaStream.cpp:
* Modules/mediastream/RTCDTMFSender.cpp:
* Modules/mediastream/RTCDataChannel.cpp:
* Modules/mediastream/RTCIceCandidate.cpp:
* Modules/mediastream/RTCPeerConnection.cpp:
* Modules/mediastream/RTCSessionDescription.cpp:
* Modules/mediastream/RTCStatsResponse.cpp:
* Modules/mediastream/UserMediaRequest.cpp:

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

7 years agoUnreviewed EFL build fix after r159444
m.pakula@samsung.com [Mon, 18 Nov 2013 20:32:22 +0000 (20:32 +0000)]
Unreviewed EFL build fix after r159444

* CMakeLists.txt: Added PageLoadState.cpp.

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

7 years agoMove execution of IDBCursorBackendOperations to the IDBServerConnection
beidson@apple.com [Mon, 18 Nov 2013 20:01:03 +0000 (20:01 +0000)]
Move execution of IDBCursorBackendOperations to the IDBServerConnection
https://bugs.webkit.org/show_bug.cgi?id=124463

Reviewed by Tim Horton.

This almost entirely removes knowledge of the backing store from the front end.

The primary change here is to give cursors a unique ID.

This way the IDBCursorBackend can reference itself by ID, while the
IDBServerConnection can handle mapping that ID to a backing store.

* Modules/indexeddb/IDBBackingStoreCursorInterface.h:

* Modules/indexeddb/IDBBackingStoreInterface.h:

* Modules/indexeddb/IDBCursorBackend.cpp:
(WebCore::IDBCursorBackend::IDBCursorBackend):
(WebCore::IDBCursorBackend::deleteFunction):
(WebCore::IDBCursorBackend::prefetchReset):
(WebCore::IDBCursorBackend::close):
(WebCore::IDBCursorBackend::updateCursorData):
(WebCore::IDBCursorBackend::clearCursorData):
* Modules/indexeddb/IDBCursorBackend.h:
(WebCore::IDBCursorBackend::create):
(WebCore::IDBCursorBackend::key):
(WebCore::IDBCursorBackend::primaryKey):
(WebCore::IDBCursorBackend::value):
(WebCore::IDBCursorBackend::id):
(WebCore::IDBCursorBackend::transaction):
(WebCore::IDBCursorBackend::setSavedCursorID):

* Modules/indexeddb/IDBCursorBackendOperations.cpp:
(WebCore::CursorAdvanceOperation::perform):
(WebCore::CursorIterationOperation::perform):
(WebCore::CursorPrefetchIterationOperation::perform):
* Modules/indexeddb/IDBCursorBackendOperations.h:
(WebCore::CursorIterationOperation::key):
(WebCore::CursorIterationOperation::callbacks):
(WebCore::CursorAdvanceOperation::count):
(WebCore::CursorAdvanceOperation::callbacks):
(WebCore::CursorPrefetchIterationOperation::numberToFetch):
(WebCore::CursorPrefetchIterationOperation::callbacks):

* Modules/indexeddb/IDBServerConnection.h:

* Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:
(WebCore::IDBBackingStoreCursorLevelDB::IDBBackingStoreCursorLevelDB):

* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::ObjectStoreKeyCursorImpl::create):
(WebCore::ObjectStoreKeyCursorImpl::clone):
(WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
(WebCore::ObjectStoreCursorImpl::create):
(WebCore::ObjectStoreCursorImpl::clone):
(WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexCursor):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:

* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
(WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
(WebCore::IDBServerConnectionLevelDB::setIndexKeys):
(WebCore::IDBServerConnectionLevelDB::createObjectStore):
(WebCore::IDBServerConnectionLevelDB::createIndex):
(WebCore::IDBServerConnectionLevelDB::deleteIndex):
(WebCore::IDBServerConnectionLevelDB::get):
(WebCore::IDBServerConnectionLevelDB::put):
(WebCore::IDBServerConnectionLevelDB::openCursor):
(WebCore::IDBServerConnectionLevelDB::count):
(WebCore::IDBServerConnectionLevelDB::deleteRange):
(WebCore::IDBServerConnectionLevelDB::clearObjectStore):
(WebCore::IDBServerConnectionLevelDB::deleteObjectStore):
(WebCore::IDBServerConnectionLevelDB::changeDatabaseVersion):
(WebCore::IDBServerConnectionLevelDB::cursorAdvance):
(WebCore::IDBServerConnectionLevelDB::cursorIterate):
(WebCore::IDBServerConnectionLevelDB::cursorPrefetchIteration):
(WebCore::IDBServerConnectionLevelDB::cursorPrefetchReset):
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

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

7 years agoAdd PageLoadState class
andersca@apple.com [Mon, 18 Nov 2013 20:00:11 +0000 (20:00 +0000)]
Add PageLoadState class
https://bugs.webkit.org/show_bug.cgi?id=124528

Reviewed by Dan Bernstein.

Trying to use the main frame load state as the page load state was a bad idea,
add a new PageLoadState and use it instead. Ultimately the long term plan is to
transition away from FrameLoadState entirely.

* UIProcess/PageLoadState.cpp: Added.
(WebKit::PageLoadState::PageLoadState):
(WebKit::PageLoadState::~PageLoadState):
(WebKit::PageLoadState::didStartProvisionalLoad):
* UIProcess/PageLoadState.h: Added.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
* UIProcess/WebPageProxy.h:
* WebKit2.xcodeproj/project.pbxproj:

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

7 years ago[WTF] Media time should not have a constructor which accepts a single int or float.
jer.noble@apple.com [Mon, 18 Nov 2013 19:59:42 +0000 (19:59 +0000)]
[WTF] Media time should not have a constructor which accepts a single int or float.
https://bugs.webkit.org/show_bug.cgi?id=124470

Source/WebCore:

Reviewed by Eric Carlson.

Fix the compile error exposed by removing the default parameter in the MediaTime constructor.

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::setTimestampOffset):

Source/WTF:

Having a constructor taking a single number value, as it's very easy to accidentially mis-
initialize a MediaTime with a double (automatically casted to a int64_t).

Reviewed by Eric Carlson.

* wtf/MediaTime.h:

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

7 years agoChange webaudio to use nullptr for null pointers
commit-queue@webkit.org [Mon, 18 Nov 2013 19:53:06 +0000 (19:53 +0000)]
Change webaudio to use nullptr for null pointers
https://bugs.webkit.org/show_bug.cgi?id=124526

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

No new tests needed, no behavior change.

* Modules/webaudio/AudioBuffer.cpp:
* Modules/webaudio/AudioContext.cpp:
* Modules/webaudio/AudioNode.cpp:
* Modules/webaudio/ChannelMergerNode.cpp:
* Modules/webaudio/ChannelSplitterNode.cpp:
* Modules/webaudio/MediaStreamAudioSource.cpp:
* Modules/webaudio/OfflineAudioContext.cpp:
* Modules/webaudio/PeriodicWave.cpp:
* Modules/webaudio/ScriptProcessorNode.cpp:

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

7 years ago[ASAN] WebKit2: Remove calls to dead DownloadAuthenticationClient code
dfarler@apple.com [Mon, 18 Nov 2013 19:44:31 +0000 (19:44 +0000)]
[ASAN] WebKit2: Remove calls to dead DownloadAuthenticationClient code
https://bugs.webkit.org/show_bug.cgi?id=124367

Reviewed by Alexey Proskuryakov.

* Shared/Downloads/DownloadAuthenticationClient.cpp:
(WebKit::DownloadAuthenticationClient::receivedCredential):
(WebKit::DownloadAuthenticationClient::receivedRequestToContinueWithoutCredential):
(WebKit::DownloadAuthenticationClient::receivedCancellation):
Remove calls to nowhere:
WebKit::Download::cancelAuthenticationChallenge(WebCore::AuthenticationChallenge const&)
WebKit::Download::continueWithoutCredential(WebCore::AuthenticationChallenge const&)
WebKit::Download::useCredential(WebCore::AuthenticationChallenge const&, WebCore::Credential const&)

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

7 years agoCheckmarks are shifted down on iPhone at build.webkit.org/dashboard
timothy_horton@apple.com [Mon, 18 Nov 2013 19:34:21 +0000 (19:34 +0000)]
Checkmarks are shifted down on iPhone at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122909

Reviewed by Alexey Proskuryakov.

Put the checkmark SVG in the CSS file as a data URI so it loads immediately.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:
(.status-line .bubble):
(.status-line.good .bubble.pictogram):

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

7 years agoUse a strong enum for frame load states
andersca@apple.com [Mon, 18 Nov 2013 19:10:14 +0000 (19:10 +0000)]
Use a strong enum for frame load states
https://bugs.webkit.org/show_bug.cgi?id=124524

Reviewed by Dan Bernstein.

* UIProcess/API/C/WKFrame.cpp:
(WKFrameGetFrameLoadState):
* UIProcess/FrameLoadState.cpp:
(WebKit::FrameLoadState::FrameLoadState):
(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didFailProvisionalLoad):
(WebKit::FrameLoadState::didCommitLoad):
(WebKit::FrameLoadState::didFinishLoad):
(WebKit::FrameLoadState::didFailLoad):
* UIProcess/FrameLoadState.h:
* UIProcess/WebFrameProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::activeURL):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::loadStateAtProcessExit):

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

7 years agoURTBF after r159432 to make WinCairo build happy.
ossy@webkit.org [Mon, 18 Nov 2013 19:00:59 +0000 (19:00 +0000)]
URTBF after r159432 to make WinCairo build happy.

* wtf/text/WTFString.h:

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

7 years agoRemove unnecessary COMPILER(CLANG) #ifdefs in Mac-only code
andersca@apple.com [Mon, 18 Nov 2013 18:54:21 +0000 (18:54 +0000)]
Remove unnecessary COMPILER(CLANG) #ifdefs in Mac-only code
https://bugs.webkit.org/show_bug.cgi?id=124523

Reviewed by Dan Bernstein.

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
(WebKit::NetscapePluginHostManager::didCreateWindow):
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::makeCurrentProcessFrontProcess):
(WebKit::NetscapePluginHostProxy::makePluginHostProcessFrontProcess):
(WebKit::NetscapePluginHostProxy::isPluginHostProcessFrontProcess):

Source/WebKit2:

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::beginModal):
* PluginProcess/mac/PluginProcessShim.mm:
* Shared/Plugins/Netscape/NetscapePluginModule.cpp:
(WebKit::NetscapePluginModule::tryLoad):
* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
(WebKit::PluginProcessProxy::makePluginProcessTheFrontProcess):
(WebKit::PluginProcessProxy::makeUIProcessTheFrontProcess):
(WebKit::PluginProcessProxy::exitFullscreen):

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

7 years ago[Win] Optimization, no need to erase background before paint.
commit-queue@webkit.org [Mon, 18 Nov 2013 18:46:11 +0000 (18:46 +0000)]
[Win] Optimization, no need to erase background before paint.
https://bugs.webkit.org/show_bug.cgi?id=124453

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

As the paint will blit a bitmap onto the invalid area (no alpha),
there is no need to erase the background first, as this will be overwritten by the blit.

* WebView.cpp:
(WebView::WebViewWndProc): Avoid erasing background before paint.

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

7 years ago[Curl] Basic authentication is not reused.
commit-queue@webkit.org [Mon, 18 Nov 2013 18:45:15 +0000 (18:45 +0000)]
[Curl] Basic authentication is not reused.
https://bugs.webkit.org/show_bug.cgi?id=124452

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

After a successful basic authentication, the credentials are not reused for later requests.
In the CFNetwork port, this is solved by trying basic authentication first, if credentials exists.
Also, when a 401 response is received, the first thing the CFNetwork port does, is to use
m_user/m_pass as credentials in the following request if they are set.
This can be done the same way for the Curl version.

* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Try using m_user/m_pass as credentials first, if they are set.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::applyAuthenticationToRequest): Try basic authentication first, if credentials exists.

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

7 years agoIgnore deprecation warnings for now.
andersca@apple.com [Mon, 18 Nov 2013 18:42:34 +0000 (18:42 +0000)]
Ignore deprecation warnings for now.

* History/WebHistory.h:

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

7 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Mon, 18 Nov 2013 18:35:41 +0000 (18:35 +0000)]
Unreviewed EFL gardening

* platform/efl/TestExpectations: Add failure expectations for CSS filters layout tests.

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

7 years ago[curl] Add file cache
commit-queue@webkit.org [Mon, 18 Nov 2013 18:35:10 +0000 (18:35 +0000)]
[curl] Add file cache
https://bugs.webkit.org/show_bug.cgi?id=123333

Patch by Mátyás Mustoha <mmatyas@inf.u-szeged.hu> on 2013-11-18
Reviewed by Brent Fulgham.

Implementation of on disc file cache
for the curl network backend.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* platform/network/curl/CurlCacheEntry.cpp: Added.
(WebCore::CurlCacheEntry::CurlCacheEntry):
(WebCore::CurlCacheEntry::~CurlCacheEntry):
(WebCore::CurlCacheEntry::isCached):
(WebCore::CurlCacheEntry::requestHeaders):
(WebCore::CurlCacheEntry::saveCachedData):
(WebCore::CurlCacheEntry::loadCachedData):
(WebCore::CurlCacheEntry::saveResponseHeaders):
(WebCore::CurlCacheEntry::loadResponseHeaders):
(WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
(WebCore::CurlCacheEntry::didFail):
(WebCore::CurlCacheEntry::didFinishLoading):
(WebCore::CurlCacheEntry::generateBaseFilename):
(WebCore::CurlCacheEntry::loadFileToBuffer):
(WebCore::CurlCacheEntry::invalidate):
(WebCore::CurlCacheEntry::parseResponseHeaders):
* platform/network/curl/CurlCacheEntry.h: Added.
(WebCore::CurlCacheEntry::isInMemory):
* platform/network/curl/CurlCacheManager.cpp: Added.
(WebCore::CurlCacheManager::getInstance):
(WebCore::CurlCacheManager::CurlCacheManager):
(WebCore::CurlCacheManager::~CurlCacheManager):
(WebCore::CurlCacheManager::setCacheDirectory):
(WebCore::CurlCacheManager::loadIndex):
(WebCore::CurlCacheManager::saveIndex):
(WebCore::CurlCacheManager::didReceiveResponse):
(WebCore::CurlCacheManager::didFinishLoading):
(WebCore::CurlCacheManager::isCached):
(WebCore::CurlCacheManager::requestHeaders):
(WebCore::CurlCacheManager::didReceiveData):
(WebCore::CurlCacheManager::saveResponseHeaders):
(WebCore::CurlCacheManager::invalidateCacheEntry):
(WebCore::CurlCacheManager::didFail):
(WebCore::CurlCacheManager::loadCachedData):
* platform/network/curl/CurlCacheManager.h: Added.
(WebCore::CurlCacheManager::getCacheDirectory):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::writeCallback):
(WebCore::headerCallback):
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::initializeHandle):

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

7 years ago[Win] Link fails when DFG JIT is enabled.
commit-queue@webkit.org [Mon, 18 Nov 2013 18:30:16 +0000 (18:30 +0000)]
[Win] Link fails when DFG JIT is enabled.
https://bugs.webkit.org/show_bug.cgi?id=123614

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Added new files.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.

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

7 years ago[Win] WebKit version in user agent string is incorrect.
commit-queue@webkit.org [Mon, 18 Nov 2013 18:25:31 +0000 (18:25 +0000)]
[Win] WebKit version in user agent string is incorrect.
https://bugs.webkit.org/show_bug.cgi?id=124454

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

Source/WebCore:

* DerivedSources.make: Generate WebKitVersion.h

Source/WebKit/win:

* WebView.cpp:
(webKitVersionString): Create WebKit version string from WebKitVersion.h.

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

7 years ago[sh4] Add missing implementation in MacroAssembler to fix build (broken since r159395).
commit-queue@webkit.org [Mon, 18 Nov 2013 18:22:39 +0000 (18:22 +0000)]
[sh4] Add missing implementation in MacroAssembler to fix build (broken since r159395).
https://bugs.webkit.org/show_bug.cgi?id=124484

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

* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::load8):
(JSC::MacroAssemblerSH4::branch8):

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

7 years agoARM64 CRASH: Improper offset in getHostCallReturnValue() to access callerFrame in...
msaboff@apple.com [Mon, 18 Nov 2013 18:19:23 +0000 (18:19 +0000)]
ARM64 CRASH: Improper offset in getHostCallReturnValue() to access callerFrame in CallFrame
https://bugs.webkit.org/show_bug.cgi?id=124481

Reviewed by Mark Lam.

Fixed the offset to access CallerFrame in the ARM64 version of getHostCallReturnValue() to be 0
to correspond with the change in CallFrame layout done in r158315.

* jit/JITOperations.cpp:

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

7 years agoCrash in virtualForThunkGenerator generated code on ARM64
msaboff@apple.com [Mon, 18 Nov 2013 17:56:27 +0000 (17:56 +0000)]
Crash in virtualForThunkGenerator generated code on ARM64
https://bugs.webkit.org/show_bug.cgi?id=124447

Reviewed by Geoffrey Garen.

The baseline JIT generates slow path call code with the caller in regT0.  The DFG
generates call code with the caller in nonArgGPR0.  The virtualForThunkGenerator
generates code with the caller in nonArgGPR0.  For X86 and X86_64, regT0 and nonArgGPR0
are the same CPU register, eax.  For other platforms this isn't the case.  The same
issue exists for JSVALUE32_64 ports as well, where there also is an issue with the callee
tag registers being regT1 and nonArgGPR1 in the various locations.

Changed nonArgGPR0, nonArgGPR1 and nonArgGPR2 for X86 and X86_64 to not match up with
regT0-2.  Changing these registers will cause a crash on all ports should we have a
similar problem in the future.  Changed the DFG call generating code to use regT0 and
regT1.  Now all slow path call code is generated using regT0 and for JSVALUE32_64 regT1.
Added r12 to X86_64 as a new temp register (regT9) and moved r13 down to regT10.
The new temp register decreases the likelihood of inadvertant register overlap.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* jit/GPRInfo.h:
(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toIndex):
* jit/ThunkGenerators.cpp:
(JSC::virtualForThunkGenerator):

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

7 years agoAdd missing load8/branch8 with AbsoluteAddress parameter to MIPS port.
commit-queue@webkit.org [Mon, 18 Nov 2013 16:58:05 +0000 (16:58 +0000)]
Add missing load8/branch8 with AbsoluteAddress parameter to MIPS port.

[MIPS] Build fails since r159395.
https://bugs.webkit.org/show_bug.cgi?id=124491

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-11-18
Reviewed by Michael Saboff.

* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::load8):
(JSC::MacroAssemblerMIPS::branch8):

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 18 Nov 2013 16:54:03 +0000 (16:54 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Adding failure expectations for the current set
of untriaged failures on the 64-bit WK2 builder.

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

7 years agoREGRESSION(r159351): It made zillion tests assert on !CF platforms
ossy@webkit.org [Mon, 18 Nov 2013 16:35:19 +0000 (16:35 +0000)]
REGRESSION(r159351): It made zillion tests assert on !CF platforms
https://bugs.webkit.org/show_bug.cgi?id=124490

Reviewed by Mark Hahnenberg.

* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::sweep):

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

7 years agoRemove architecture specific code in LowLevelInterpreter.
commit-queue@webkit.org [Mon, 18 Nov 2013 16:01:17 +0000 (16:01 +0000)]
Remove architecture specific code in LowLevelInterpreter.
https://bugs.webkit.org/show_bug.cgi?id=124501

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

* llint/LowLevelInterpreter.asm: Use generic path instead of sh4 specific code.
* llint/LowLevelInterpreter32_64.asm: Merge sh4/mips path with arm path. The
"move t0, a0" is not needed for arm because t0 == a0 with this architecture.
* offlineasm/sh4.rb: Handle move opcode with pr register.

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

7 years ago[Performance tests] Interactive/SelectAll.html throws an exception
rniwa@webkit.org [Mon, 18 Nov 2013 15:28:47 +0000 (15:28 +0000)]
[Performance tests] Interactive/SelectAll.html throws an exception
https://bugs.webkit.org/show_bug.cgi?id=124495

Reviewed by Antti Koivisto

Return a boolean indicating whether more values are needed or not in
PerfTestRunner.measureValueAsync so that runTest can terminate gracefully.

* Interactive/SelectAll.html:
(runTest): Don't schedule a timer for runTest if we've got enough values.
* resources/runner.js:
(PerfTestRunner.measureValueAsync): Returns true iff more values are needed.

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

7 years agoUnreviewed. Update NEWS and Versions.m4 for 2.3.2 release.
carlosgc@webkit.org [Mon, 18 Nov 2013 14:52:13 +0000 (14:52 +0000)]
Unreviewed. Update NEWS and Versions.m4 for 2.3.2 release.

.:

* Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

* NEWS: Added release notes for 2.3.2.

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

7 years agoUnreviewed. Fix make distcheck.
carlosgc@webkit.org [Mon, 18 Nov 2013 14:49:28 +0000 (14:49 +0000)]
Unreviewed. Fix make distcheck.

Source/WebCore:

* GNUmakefile.am: Add inspector json files to EXTRA_DIST and
remove maketokenizer from EXTRA_DIST.
* GNUmakefile.list.am: Add missing header files.

Source/WTF:

* GNUmakefile.list.am: Add missing header file.

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

7 years agoRemove _lines_to_ignore_in_stderr, which was only used in Chromium port
rniwa@webkit.org [Mon, 18 Nov 2013 14:42:55 +0000 (14:42 +0000)]
Remove _lines_to_ignore_in_stderr, which was only used in Chromium port
https://bugs.webkit.org/show_bug.cgi?id=124499

Reviewed by Csaba Osztrogonác.

Removed the code. I didn't like this hack back when it was added, and I don't like it today.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest._should_ignore_line):
* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(TestPerfTest): Removed the unit test.

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

7 years agoGenerate toHTMLDataList|Html|EmbedElement
gyuyoung.kim@samsung.com [Mon, 18 Nov 2013 12:23:29 +0000 (12:23 +0000)]
Generate toHTMLDataList|Html|EmbedElement
https://bugs.webkit.org/show_bug.cgi?id=124482

Reviewed by Tim Horton.

To clean up static_cast<HTMLFoo*>, toHTMLEmbedElement, toHTMLHtmlElement, toHTMLDataListElement
are generated.

No new tests, no behavior changes.

* html/HTMLDataListElement.h:
* html/HTMLEmbedElement.h:
* html/HTMLHtmlElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::dataList):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::ownerDataListElement):
* html/HTMLTagNames.in:
* html/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure):
* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::MediaDocument::replaceMediaElementTimerFired):
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintSliderTicks):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):

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

7 years agoClean up static_cast<HTMLFoo*> usage
gyuyoung.kim@samsung.com [Mon, 18 Nov 2013 11:48:06 +0000 (11:48 +0000)]
Clean up static_cast<HTMLFoo*> usage
https://bugs.webkit.org/show_bug.cgi?id=124480

Reviewed by Tim Horton.

Though there are toHTMLFoo(), some places are still using static_cast<>.
Additionally, toHTMLBodyElement() is supported from now.

No new tests, no behavior changes.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isRequired):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isDataTable):
* bindings/js/JSHTMLFrameSetElementCustom.cpp:
(WebCore::JSHTMLFrameSetElement::nameGetter):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginInstance):
* dom/Document.cpp:
(WebCore::Document::openSearchDescriptionURL):
(WebCore::Document::iconURLs):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
* editing/ios/EditorIOS.mm:
(WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
* html/HTMLBodyElement.h:
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::bgColor):
(WebCore::HTMLDocument::setBgColor):
(WebCore::HTMLDocument::fgColor):
(WebCore::HTMLDocument::setFgColor):
(WebCore::HTMLDocument::alinkColor):
(WebCore::HTMLDocument::setAlinkColor):
(WebCore::HTMLDocument::linkColor):
(WebCore::HTMLDocument::setLinkColor):
(WebCore::HTMLDocument::vlinkColor):
(WebCore::HTMLDocument::setVlinkColor):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::rendererIsNeeded):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::updateAncestorDisabledState):
(WebCore::HTMLFormControlElement::enclosingFormControlElement):
* html/HTMLFormElement.cpp:
(WebCore::submitElementFromEvent):
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::notifyFinished):
* html/HTMLLegendElement.cpp:
(WebCore::HTMLLegendElement::virtualForm):
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):

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

7 years ago[arm] Add missing implementation in MacroAssembler to fix build (broken since r159395).
commit-queue@webkit.org [Mon, 18 Nov 2013 11:37:21 +0000 (11:37 +0000)]
[arm] Add missing implementation in MacroAssembler to fix build (broken since r159395).
https://bugs.webkit.org/show_bug.cgi?id=124488

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-18
Reviewed by Zoltan Herczeg.

* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::branch8):

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

7 years ago[EFL] Add EWebKitConfig.cmake and EWebKit2Config.cmake
ryuan.choi@samsung.com [Mon, 18 Nov 2013 11:31:51 +0000 (11:31 +0000)]
[EFL] Add EWebKitConfig.cmake and EWebKit2Config.cmake
https://bugs.webkit.org/show_bug.cgi?id=124478

Reviewed by Gyuyoung Kim.

EWebKit is built using CMake but applications use *.pc to use it.
This patch provides EWebKitConfig.cmake and EWebKit2Config.cmake
for applications which use EWebkit and is compiled by CMake.

Source/WebKit:

* PlatformEfl.cmake:
Configure and install EWebKitConfig.cmake and EWebKitConfigVersion.cmake

Source/WebKit/efl:

* EWebKitConfig.cmake.in: Added.
* EWebKitConfigVersion.cmake.in: Added.

Source/WebKit2:

* PlatformEfl.cmake:
Configure and install EWebKit2Config.cmake and EWebKit2ConfigVersion.cmake
* efl/EWebKit2Config.cmake.in: Added.
* efl/EWebKit2ConfigVersion.cmake.in: Added.

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

7 years agoUnreviewed. Update GObject DOM symbols file after r158760.
carlosgc@webkit.org [Mon, 18 Nov 2013 11:22:57 +0000 (11:22 +0000)]
Unreviewed. Update GObject DOM symbols file after r158760.

* bindings/gobject/webkitdom.symbols: Add
webkit_dom_text_track_get_id prototype.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 18 Nov 2013 11:19:25 +0000 (11:19 +0000)]
Unreviewed GTK gardening.
Cleaning up expectations for unexpectedly passing tests, either removing or updating them
to reflect the current status of the test.

* platform/gtk-wk1/TestExpectations:
* platform/gtk-wk2/TestExpectations:
* platform/gtk/TestExpectations:

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

7 years agoREGRESSION(r158821): [GTK] API break due to removed properties in GObject DOM bindings
carlosgc@webkit.org [Mon, 18 Nov 2013 11:05:47 +0000 (11:05 +0000)]
REGRESSION(r158821): [GTK] API break due to removed properties in GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=124489

Reviewed by Philippe Normand.

In r158821, several properties were changed from readonly to
CustomSetter. The GObject DOM bindings currently skips any
attribute having a custom getter or setter, and those properties
are not generated anymore. We should add support for generating
attributes having a custom getter or setter in GObject DOM
bindings generator, but to fix the ABI break now we bring the old
implementatiom back as custom implementation. This fixes the ABI
compatibility, but not the API since the GObject properties are
not generated.

* bindings/gobject/WebKitDOMCustom.cpp:
(webkit_dom_audio_track_get_kind):
(webkit_dom_audio_track_get_language):
(webkit_dom_text_track_get_kind):
(webkit_dom_text_track_get_language):
(webkit_dom_video_track_get_kind):
(webkit_dom_video_track_get_language):
* bindings/gobject/WebKitDOMCustom.h:
* bindings/gobject/WebKitDOMCustom.symbols:

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

7 years agoUnreviewed. Update GObject DOM symbols file after r158662.
carlosgc@webkit.org [Mon, 18 Nov 2013 10:22:11 +0000 (10:22 +0000)]
Unreviewed. Update GObject DOM symbols file after r158662.

* bindings/gobject/webkitdom.symbols: Add missing prototypes.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 18 Nov 2013 10:19:43 +0000 (10:19 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Addressing the current set of timing-out tests. Timeout expectations
are added where appropriate, with one js/regress/ test speculatively marked as slow.

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

7 years agoUnreviewed. Update GObject DOM symbols file after r159208 and r159363.
carlosgc@webkit.org [Mon, 18 Nov 2013 10:01:58 +0000 (10:01 +0000)]
Unreviewed. Update GObject DOM symbols file after r159208 and r159363.

* bindings/gobject/webkitdom.symbols: Add
webkit_dom_html_media_element_fast_seek prototype.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 18 Nov 2013 09:52:51 +0000 (09:52 +0000)]
Unreviewed GTK gardening.

Update the global constructors' attibutes baseline for the WK2 flavor of the GTK port.
Update baselines for tests under media/.

* platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/media/W3C/video/canPlayType/canPlayType_codecs_order_1-expected.txt:
* platform/gtk/media/W3C/video/canPlayType/canPlayType_supported_but_no_codecs_parameter_1-expected.txt:
* platform/gtk/media/W3C/video/canPlayType/canPlayType_two_implies_one_1-expected.txt:
* platform/gtk/media/W3C/video/canPlayType/canPlayType_two_implies_one_2-expected.txt:
* platform/gtk/media/media-can-play-ogg-expected.txt:
* platform/gtk/media/video-controls-captions-trackmenu-localized-expected.txt:
* platform/gtk/media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles-expected.txt: Added.
* platform/gtk/media/video-controls-captions-trackmenu-sorted-expected.txt:
* platform/gtk/media/volume-bar-empty-when-muted-expected.txt: Added.

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

7 years agoREGRESSION(r159363): [GTK] API break in webkit_dom_html_media_element_set_current_time
carlosgc@webkit.org [Mon, 18 Nov 2013 09:51:54 +0000 (09:51 +0000)]
REGRESSION(r159363): [GTK] API break in webkit_dom_html_media_element_set_current_time
https://bugs.webkit.org/show_bug.cgi?id=124485

Reviewed by Philippe Normand.

In r159363 currentTime attribute was changed to not raise
exceptions. This breaks the API of GObject DOM bindings because we
use a GError parameter for exceptions that has been removed.

* bindings/gobject/WebKitDOMCustom.cpp:
(webkit_dom_html_media_element_set_current_time): Custom
implementation that receives a GError for backwards
compatibility.
* bindings/gobject/WebKitDOMCustom.h:
* bindings/gobject/WebKitDOMCustom.symbols: Add
webkit_dom_html_media_element_set_current_time prototype.
* bindings/scripts/CodeGeneratorGObject.pm:
(SkipFunction): Skip
webkit_dom_html_media_element_set_current_time since we are adding
a custom implementation.

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

7 years agoUnreviewed GTK gardening. Updating GTK-specific baselines for tests under editing...
zandobersek@gmail.com [Mon, 18 Nov 2013 09:20:13 +0000 (09:20 +0000)]
Unreviewed GTK gardening. Updating GTK-specific baselines for tests under editing/, scrollingcoordinator/ and tables/.

* platform/gtk/editing/deleting/smart-delete-003-expected.txt:
* platform/gtk/editing/deleting/smart-delete-004-expected.txt:
* platform/gtk/editing/spelling/centering-misspelling-dots-expected.png: Added.
* platform/gtk/editing/spelling/centering-misspelling-dots-expected.txt: Added.
* platform/gtk/editing/spelling/misspelling-dots-dont-extend-beyond-words-expected.png: Added.
* platform/gtk/editing/spelling/misspelling-dots-dont-extend-beyond-words-expected.txt: Added.
* platform/gtk/editing/unsupported-content/table-delete-001-expected.txt:
* platform/gtk/editing/unsupported-content/table-delete-003-expected.txt:
* platform/gtk/scrollingcoordinator: Added.
* platform/gtk/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png: Added.
* platform/gtk/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt: Added.
* platform/gtk/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png: Added.
* platform/gtk/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt: Added.
* platform/gtk/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:

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

7 years agoUnreviewed GTK gardening. Rebaselining various tests under fast/.
zandobersek@gmail.com [Mon, 18 Nov 2013 08:51:07 +0000 (08:51 +0000)]
Unreviewed GTK gardening. Rebaselining various tests under fast/.

* platform/gtk/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
* platform/gtk/fast/backgrounds/size/contain-and-cover-zoomed-expected.txt: Added.
* platform/gtk/fast/block/float/016-expected.png:
* platform/gtk/fast/block/float/016-expected.txt:
* platform/gtk/fast/block/lineboxcontain/block-with-ideographs-expected.png: Added.
* platform/gtk/fast/block/lineboxcontain/block-with-ideographs-expected.txt:
* platform/gtk/fast/css/empty-pseudo-class-expected.txt:
* platform/gtk/fast/css/fieldset-display-row-expected.png:
* platform/gtk/fast/css/fieldset-display-row-expected.txt:
* platform/gtk/fast/css/first-child-pseudo-class-expected.txt:
* platform/gtk/fast/css/last-child-pseudo-class-expected.txt:
* platform/gtk/fast/css/only-child-pseudo-class-expected.txt:
* platform/gtk/fast/forms/basic-textareas-expected.png:
* platform/gtk/fast/forms/basic-textareas-expected.txt:
* platform/gtk/fast/forms/basic-textareas-quirks-expected.png:
* platform/gtk/fast/forms/basic-textareas-quirks-expected.txt:
* platform/gtk/fast/forms/textAreaLineHeight-expected.png:
* platform/gtk/fast/forms/textAreaLineHeight-expected.txt:
* platform/gtk/fast/parser/entity-comment-in-textarea-expected.png:
* platform/gtk/fast/parser/entity-comment-in-textarea-expected.txt:
* platform/gtk/fast/repaint/increasing-region-content-height-expected.txt: Added.

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

7 years agoSupport exporting public RSASSA-PKCS1-v1_5 keys
ap@apple.com [Mon, 18 Nov 2013 08:42:41 +0000 (08:42 +0000)]
Support exporting public RSASSA-PKCS1-v1_5 keys
https://bugs.webkit.org/show_bug.cgi?id=124475

Reviewed by Sam Weinig.

Source/WebCore:

Test: crypto/subtle/rsa-export-key.html

* bindings/js/JSCryptoKeySerializationJWK.h:
* bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::JSCryptoKeySerializationJWK::buildJSONForRSAComponents):
(WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
(WebCore::JSCryptoKeySerializationJWK::serialize):
Added said support (this part works with private keys too).

* crypto/keys/CryptoKeyRSA.h:
* crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::CryptoKeyRSA::getPublicKeyComponents): Moved the logic for getting a
public key from private one here for reuse in keySizeInBits().
(WebCore::CryptoKeyRSA::isRestrictedToHash):
(WebCore::CryptoKeyRSA::keySizeInBits):
(WebCore::CryptoKeyRSA::exportData):
Exposed information necessary for JWK serialization.

LayoutTests:

* crypto/subtle/rsa-export-key-expected.txt: Added.
* crypto/subtle/rsa-export-key.html: Added.

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

7 years agoUnreviewed GTK gardening. Rebaselining CSS tests' expectations.
zandobersek@gmail.com [Mon, 18 Nov 2013 08:27:52 +0000 (08:27 +0000)]
Unreviewed GTK gardening. Rebaselining CSS tests' expectations.

* platform/gtk/css1/box_properties/margin_right-expected.png:
* platform/gtk/css1/box_properties/margin_right-expected.txt:
* platform/gtk/css1/box_properties/padding-expected.png:
* platform/gtk/css1/box_properties/padding-expected.txt:
* platform/gtk/css1/box_properties/padding_left-expected.png:
* platform/gtk/css1/box_properties/padding_left-expected.txt:
* platform/gtk/css1/box_properties/padding_right-expected.png:
* platform/gtk/css1/box_properties/padding_right-expected.txt:
* platform/gtk/css1/box_properties/padding_top-expected.png:
* platform/gtk/css1/box_properties/padding_top-expected.txt:
* platform/gtk/css1/formatting_model/vertical_formatting-expected.png:
* platform/gtk/css1/formatting_model/vertical_formatting-expected.txt:
* platform/gtk/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
* platform/gtk/css2.1/t0804-c5507-padn-r-00-c-ag-expected.png:
* platform/gtk/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt:
* platform/gtk/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt:
* platform/gtk/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
* platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.png:
* platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:

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

7 years ago[EFL][WK2] Process single tap using mouse move, down and up event.
commit-queue@webkit.org [Mon, 18 Nov 2013 08:25:09 +0000 (08:25 +0000)]
[EFL][WK2] Process single tap using mouse move, down and up event.
https://bugs.webkit.org/show_bug.cgi?id=106864

Patch by Eunmi Lee <eunmi15.lee@samsung.com> on 2013-11-18
Reviewed by Christophe Dumez.

Send mouse events to the web process to perform the clicking when
single tap gesture is recognized.
Additionally, add WKViewSendMouseDownEvent(), WKViewSendMouseUpEvent()
and WKViewSendMouseMoveEvent() to avoid using WK2 internals in the EFL
API implementation.

* UIProcess/API/C/efl/WKViewEfl.cpp:
(WKViewSendMouseDownEvent):
(WKViewSendMouseUpEvent):
(WKViewSendMouseMoveEvent):
* UIProcess/API/C/efl/WKViewEfl.h:
* UIProcess/API/efl/GestureRecognizer.cpp:
(WebKit::GestureHandler::handleSingleTap):
* UIProcess/efl/WebViewEfl.cpp:
(WebKit::WebViewEfl::sendMouseEvent):
* UIProcess/efl/WebViewEfl.h:

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

7 years ago[sh4] Fix revertJumpReplacementToBranchPtrWithPatch in MacroAssembler.
commit-queue@webkit.org [Mon, 18 Nov 2013 07:51:26 +0000 (07:51 +0000)]
[sh4] Fix revertJumpReplacementToBranchPtrWithPatch in MacroAssembler.
https://bugs.webkit.org/show_bug.cgi?id=124468

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

Current implementation of revertJumpReplacementToBranchPtrWithPatch is wrong in
the sh4 MacroAssembler part, leading to random instabilities. This patch fixes it
and also renames the bad-named revertJumpToMove to revertJumpReplacementToBranchPtrWithPatch
in the SH4Assembler.

* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::revertJumpReplacementToBranchPtrWithPatch):
* assembler/SH4Assembler.h:
(JSC::SH4Assembler::replaceWithJump):
(JSC::SH4Assembler::revertJumpReplacementToBranchPtrWithPatch):

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

7 years agoUpdate binary drops to include atrick's "Ran out of registers" fix in r194942.
fpizlo@apple.com [Mon, 18 Nov 2013 07:37:12 +0000 (07:37 +0000)]
Update binary drops to include atrick's "Ran out of registers" fix in r194942.

* LLVMIncludesMountainLion.tar.bz2:
* LLVMLibrariesMountainLion.tar.bz2:

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

7 years agoUnreviewed, fix this script for older Rubies where Pathname doesn't coerce to String
fpizlo@apple.com [Mon, 18 Nov 2013 07:06:14 +0000 (07:06 +0000)]
Unreviewed, fix this script for older Rubies where Pathname doesn't coerce to String
quite as easily.

With help from Andy Trick.

* Scripts/export-llvm-build:

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

7 years agoUnreviewed EFL gardening. Add webgl crash tests because webgl is not supported
gyuyoung.kim@samsung.com [Mon, 18 Nov 2013 05:42:18 +0000 (05:42 +0000)]
Unreviewed EFL gardening. Add webgl crash tests because webgl is not supported
by EFL WK2 fully yet as well as not fully supported by Intel and AMD hardware.

* platform/efl-wk2/TestExpectations:

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

7 years agoLayout Test platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization-multiple...
timothy_horton@apple.com [Mon, 18 Nov 2013 04:18:23 +0000 (04:18 +0000)]
Layout Test platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization-multiple.html is extremely flaky on Mac WK2 bots, especially debug
https://bugs.webkit.org/show_bug.cgi?id=124476

* platform/mac-wk2/TestExpectations:
Mark test as flaky.

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

7 years agoSimplify WatchpointSet state tracking
fpizlo@apple.com [Mon, 18 Nov 2013 02:10:42 +0000 (02:10 +0000)]
Simplify WatchpointSet state tracking
https://bugs.webkit.org/show_bug.cgi?id=124465

Reviewed by Sam Weinig.

We previously represented the state of watchpoint sets using two booleans. But that
makes it awkward to case over the state.

We also previously supported a watchpoint set being both watched and invalidated. We
never used that capability, and its presence was just purely confusing.

This turns the whole thing into an enum.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::branch8):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::branch8):
* assembler/MacroAssemblerX86.h:
(JSC::MacroAssemblerX86::branch8):
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::branch8):
* bytecode/Watchpoint.cpp:
(JSC::WatchpointSet::WatchpointSet):
(JSC::WatchpointSet::add):
(JSC::WatchpointSet::notifyWriteSlow):
(JSC::InlineWatchpointSet::inflateSlow):
* bytecode/Watchpoint.h:
(JSC::WatchpointSet::state):
(JSC::WatchpointSet::isStillValid):
(JSC::WatchpointSet::startWatching):
(JSC::WatchpointSet::notifyWrite):
(JSC::WatchpointSet::addressOfState):
(JSC::InlineWatchpointSet::InlineWatchpointSet):
(JSC::InlineWatchpointSet::hasBeenInvalidated):
(JSC::InlineWatchpointSet::startWatching):
(JSC::InlineWatchpointSet::notifyWrite):
(JSC::InlineWatchpointSet::decodeState):
(JSC::InlineWatchpointSet::encodeState):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitVarInjectionCheck):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emitVarInjectionCheck):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/JSFunction.cpp:
(JSC::JSFunction::JSFunction):
* runtime/JSFunctionInlines.h:
(JSC::JSFunction::JSFunction):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
* runtime/Structure.cpp:
(JSC::Structure::Structure):
* runtime/SymbolTable.cpp:
(JSC::SymbolTableEntry::attemptToWatch):
* runtime/SymbolTable.h:

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

7 years agoFTL should have an explicit notion of bytecode liveness
fpizlo@apple.com [Mon, 18 Nov 2013 01:46:48 +0000 (01:46 +0000)]
FTL should have an explicit notion of bytecode liveness
https://bugs.webkit.org/show_bug.cgi?id=124181

Source/JavaScriptCore:

Reviewed by Sam Weinig.

This makes FTL OSR exit use bytecode liveness analysis to determine which variables
to include values for. The decision of how to get the values of variables is based on
forward propagation of MovHints and SetLocals.

This fixes a bunch of bugs (like https://bugs.webkit.org/show_bug.cgi?id=124138 but
also others that I noticed when I started writing more targetted tests) and allows us
to remove some sketchy code.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/BytecodeBasicBlock.h:
* bytecode/BytecodeLivenessAnalysis.cpp:
(JSC::isValidRegisterForLiveness):
(JSC::setForOperand):
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
(JSC::stepOverInstruction):
(JSC::computeLocalLivenessForBytecodeOffset):
(JSC::BytecodeLivenessAnalysis::runLivenessFixpoint):
(JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset):
(JSC::getLivenessInfo):
(JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset):
(JSC::BytecodeLivenessAnalysis::computeFullLiveness):
* bytecode/BytecodeLivenessAnalysis.h:
* bytecode/BytecodeLivenessAnalysisInlines.h: Added.
(JSC::operandIsAlwaysLive):
(JSC::operandThatIsNotAlwaysLiveIsLive):
(JSC::operandIsLive):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::captureCount):
(JSC::CodeBlock::captureStart):
(JSC::CodeBlock::captureEnd):
* bytecode/CodeOrigin.cpp:
(JSC::InlineCallFrame::dumpInContext):
* bytecode/FullBytecodeLiveness.h: Added.
(JSC::FullBytecodeLiveness::FullBytecodeLiveness):
(JSC::FullBytecodeLiveness::getOut):
(JSC::FullBytecodeLiveness::operandIsLive):
(JSC::FullBytecodeLiveness::getLiveness):
* dfg/DFGAvailability.cpp: Added.
(JSC::DFG::Availability::dump):
(JSC::DFG::Availability::dumpInContext):
* dfg/DFGAvailability.h: Added.
(JSC::DFG::Availability::Availability):
(JSC::DFG::Availability::unavailable):
(JSC::DFG::Availability::withFlush):
(JSC::DFG::Availability::withNode):
(JSC::DFG::Availability::withUnavailableNode):
(JSC::DFG::Availability::nodeIsUndecided):
(JSC::DFG::Availability::nodeIsUnavailable):
(JSC::DFG::Availability::hasNode):
(JSC::DFG::Availability::node):
(JSC::DFG::Availability::flushedAt):
(JSC::DFG::Availability::operator!):
(JSC::DFG::Availability::operator==):
(JSC::DFG::Availability::merge):
(JSC::DFG::Availability::mergeNodes):
(JSC::DFG::Availability::unavailableMarker):
* dfg/DFGBasicBlock.h:
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGDisassembler.cpp:
(JSC::DFG::Disassembler::Disassembler):
* dfg/DFGFlushFormat.cpp:
(WTF::printInternal):
* dfg/DFGFlushFormat.h:
(JSC::DFG::resultFor):
(JSC::DFG::useKindFor):
(JSC::DFG::dataFormatFor):
* dfg/DFGFlushedAt.cpp:
(JSC::DFG::FlushedAt::dump):
* dfg/DFGFlushedAt.h:
(JSC::DFG::FlushedAt::FlushedAt):
(JSC::DFG::FlushedAt::merge):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::livenessFor):
(JSC::DFG::Graph::isLiveInBytecode):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::baselineCodeBlockFor):
* dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
* dfg/DFGOSRAvailabilityAnalysisPhase.h:
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
* dfg/DFGResurrectionForValidationPhase.cpp: Added.
(JSC::DFG::ResurrectionForValidationPhase::ResurrectionForValidationPhase):
(JSC::DFG::ResurrectionForValidationPhase::run):
(JSC::DFG::performResurrectionForValidation):
* dfg/DFGResurrectionForValidationPhase.h: Added.
* dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
* dfg/DFGValueSource.h:
(JSC::DFG::ValueSource::forFlushFormat):
* dfg/DFGVariableAccessData.h:
* ftl/FTLExitValue.cpp:
(JSC::FTL::ExitValue::dumpInContext):
* ftl/FTLInlineCacheSize.cpp:
(JSC::FTL::sizeOfGetById):
* ftl/FTLLocation.cpp:
(JSC::FTL::Location::gpr):
(JSC::FTL::Location::fpr):
(JSC::FTL::Location::directGPR):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::compileBlock):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileSetLocal):
(JSC::FTL::LowerDFGToLLVM::compileZombieHint):
(JSC::FTL::LowerDFGToLLVM::compilePutById):
(JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::LowerDFGToLLVM::initializeOSRExitStateForBlock):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::LowerDFGToLLVM::addExitArgumentForNode):
(JSC::FTL::LowerDFGToLLVM::observeMovHint):
* ftl/FTLOutput.h:
(JSC::FTL::Output::alloca):
* ftl/FTLValueSource.cpp: Removed.
* ftl/FTLValueSource.h: Removed.
* llvm/LLVMAPIFunctions.h:
* runtime/DumpContext.cpp:
(JSC::DumpContext::DumpContext):
* runtime/DumpContext.h:
* runtime/Options.h:
* runtime/SymbolTable.h:
(JSC::SharedSymbolTable::captureStart):
(JSC::SharedSymbolTable::captureEnd):
(JSC::SharedSymbolTable::captureCount):

Tools:

Reviewed by Mark Hahnenberg.

* Scripts/run-jsc-stress-tests:

LayoutTests:

Reviewed by Mark Hahnenberg or Sam Weinig.

I totally added this test after the rest of the patch was r+'d. Under the right tier-up
modes this triggers one of the bugs that the rest of the patch is trying to avoid.

* js/regress/script-tests/weird-inlining-const-prop.js: Added.
(foo):
(bar):
(fuzz):
(testImpl):
(test):
* js/regress/weird-inlining-const-prop-expected.txt: Added.
* js/regress/weird-inlining-const-prop.html: Added.

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

7 years agoRSASSA-PKCS1-v1_5 JWK import doesn't check key size
ap@apple.com [Mon, 18 Nov 2013 01:18:43 +0000 (01:18 +0000)]
RSASSA-PKCS1-v1_5 JWK import doesn't check key size
https://bugs.webkit.org/show_bug.cgi?id=124472

Reviewed by Sam Weinig.

Source/WebCore:

Test: crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-small-key.html

* bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::JSCryptoKeySerializationJWK::keySizeIsValid): Added the checks.
(WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents): Check key size when
importing.
(WebCore::JSCryptoKeySerializationJWK::serialize): Updated a comment.

* crypto/keys/CryptoKeySerializationRaw.cpp: (WebCore::CryptoKeySerializationRaw::serialize):
Updated a comment.

LayoutTests:

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

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

7 years agoJWK crypto key export result is a DOM string instead of an array buffer
ap@apple.com [Mon, 18 Nov 2013 01:17:09 +0000 (01:17 +0000)]
JWK crypto key export result is a DOM string instead of an array buffer
https://bugs.webkit.org/show_bug.cgi?id=124473

Reviewed by Sam Weinig.

Source/WebCore:

* bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::exportKey):
Fix it.

LayoutTests:

* crypto/subtle/aes-export-key.html:
* crypto/subtle/hmac-export-key.html:

* crypto/subtle/resources/common.js: (bytesToASCIIString): Added a function that
converts an ArrayBuffer to a string, assuming it's all ASCII.

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

7 years agoLayoutStateMaintainer should use references where possible
weinig@apple.com [Mon, 18 Nov 2013 01:12:17 +0000 (01:12 +0000)]
LayoutStateMaintainer should use references where possible
https://bugs.webkit.org/show_bug.cgi?id=124471

Reviewed by Dan Bernstein.

* page/FrameView.cpp:
(WebCore::FrameView::layout):
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/LayoutState.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::simplifiedLayout):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutBlock):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::layout):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::layout):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::pushFlowThreadLayoutState):
* rendering/RenderFlowThread.h:
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::layout):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layout):
(WebCore::RenderTableSection::layoutRows):
* rendering/RenderTextTrackCue.cpp:
(WebCore::RenderTextTrackCue::layout):
* rendering/RenderView.cpp:
(WebCore::RenderView::pushLayoutState):
(WebCore::RenderView::pushLayoutStateForCurrentFlowThread):
* rendering/RenderView.h:
(WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
(WebCore::LayoutStateMaintainer::push):
(WebCore::LayoutStateMaintainer::pop):

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

7 years agoUse uint8_t vectors for WebCrypto data
ap@apple.com [Sun, 17 Nov 2013 21:41:46 +0000 (21:41 +0000)]
Use uint8_t vectors for WebCrypto data
https://bugs.webkit.org/show_bug.cgi?id=124466

Reviewed by Sam Weinig.

Source/WebCore:

Using Vector<char> for crypto key data is somewhat non-idiomatic, and it gets simply
dangerous for bignums, because signed arithmetic is not appropriate for bignum digits.

* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::generateSecWebSocketKey):
(WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
No longer need to cast data to char* here.

* bindings/js/JSCryptoKeySerializationJWK.cpp:
* bindings/js/JSCryptoKeySerializationJWK.h:
* crypto/CryptoDigest.h:
* crypto/CryptoKey.h:
* crypto/keys/CryptoKeyAES.cpp:
* crypto/keys/CryptoKeyAES.h:
* crypto/keys/CryptoKeyDataOctetSequence.h:
* crypto/keys/CryptoKeyDataRSAComponents.cpp:
* crypto/keys/CryptoKeyDataRSAComponents.h:
* crypto/keys/CryptoKeyHMAC.cpp:
* crypto/keys/CryptoKeyHMAC.h:
* crypto/keys/CryptoKeyRSA.h:
* crypto/keys/CryptoKeySerializationRaw.cpp:
* crypto/keys/CryptoKeySerializationRaw.h:
* crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
* crypto/mac/CryptoAlgorithmHMACMac.cpp:
* crypto/mac/CryptoDigestMac.cpp:
* crypto/mac/CryptoKeyMac.cpp:
* crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
Switched to Vector<uint8_t>.

* crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::getPublicKeyComponents): Extracted from buildAlgorithmDescription() and simplified.
(WebCore::CryptoKeyRSA::create): Switched to Vector<uint8_t>.
(WebCore::CryptoKeyRSA::buildAlgorithmDescription): No longer need to copy data just
to change type from Vector<char> to Vector<unsigned char>.
(WebCore::bigIntegerToUInt32): Ditto. No longer need to cast types when dealing with the bignum.
(WebCore::CryptoKeyRSA::generatePair): Improved an error message a little.

* fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::convertToDataURL):
* inspector/DOMPatchSupport.cpp: (WebCore::DOMPatchSupport::createDigest):
* inspector/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::archive):
* platform/graphics/cg/ImageBufferCG.cpp: (WebCore::CGImageToDataURL):
No longer need to cast data to char* here.

Source/WTF:

Binary data can be UTF-8, in which case "char*" is idiomatic, or it can be arbitrary
binary data, in which case "uint8_t*" is more common.

Changed encode functions that took "const char *" to "const void*", and decode
functions that took "Vector<char>&" now take an adapter class.

The adapter relies on Vector<char> and Vector<uint8_t> classes having an identical layout.

* wtf/text/Base64.cpp:
(WTF::base64Encode):
(WTF::base64URLEncode):
(WTF::base64DecodeInternal):
(WTF::base64Decode):
(WTF::base64URLDecode):
* wtf/text/Base64.h:
(WTF::SignedOrUnsignedCharVectorAdapter):
(WTF::ConstSignedOrUnsignedCharVectorAdapter):
(WTF::base64Encode):
(WTF::base64URLEncode):

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

7 years agoREGRESSION (r158774): Iteration over element children is broken
antti@apple.com [Sun, 17 Nov 2013 21:37:25 +0000 (21:37 +0000)]
REGRESSION (r158774): Iteration over element children is broken
https://bugs.webkit.org/show_bug.cgi?id=124145

Source/WebCore:

Reviewed by Anders Carlsson.

Mutation during traversal invalidates the position cache. After the mid-point we start
traversing backwards as it the shortest path. However backward traversal of children-only
HTMLCollection was wrong and would end up going to descendants.

Reduction by yannick.poirier@inverto.tv.

Test: fast/dom/htmlcollection-children-mutation.html

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

    Traverse direct children only when m_shouldOnlyIncludeDirectChildren bit is set.

LayoutTests:

Reviewed by Anders Carlsson.

* fast/dom/htmlcollection-children-mutation-expected.txt: Added.
* fast/dom/htmlcollection-children-mutation.html: Added.

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

7 years agoTry to fix the EFL build.
mitz@apple.com [Sun, 17 Nov 2013 21:00:28 +0000 (21:00 +0000)]
Try to fix the EFL build.

* UIProcess/efl/PagePolicyClientEfl.cpp:
(WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback): No need to call
WKFrameCanShowMIMEType now that this information is passed in as a parameter.

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

7 years agoNo way for policy client to determine if a the response’s MIME type can be shown
mitz@apple.com [Sun, 17 Nov 2013 20:30:43 +0000 (20:30 +0000)]
No way for policy client to determine if a the response’s MIME type can be shown
https://bugs.webkit.org/show_bug.cgi?id=124445

Reviewed by Sam Weinig.

Source/WebKit2:

* Platform/CoreIPC/HandleMessage.h:
(CoreIPC::callMemberFunction): Added a fifth message parameter to this template.

* UIProcess/API/C/WKPage.h: Added a canShowMIMEType parameter to
WKPageDecidePolicyForResponseCallback and deprecated the old version.

* UIProcess/API/mac/WKBrowsingContextController.mm:
(setUpPagePolicyClient): Include whether the response MIME type can be shown under a new key
in the action information dictionary.
* UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared
WKActionCanShowMIMETypeKey.

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage): Updated for changes in the policy client.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForResponse): Added canShowMIMEType parameter, which is
passed to the policy client.
(WebKit::WebPageProxy::decidePolicyForResponseSync): Added canShowMIMEType parameter, which
is passed to the above function.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in: Added canShowMIMEType paramter to
DecidePolicyForResponseSync.

* UIProcess/WebPolicyClient.cpp:
(WebKit::WebPolicyClient::decidePolicyForResponse): Added canShowMIMEType parameter, which
is passed to the client callback.
* UIProcess/WebPolicyClient.h:

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Determine if the response
MIME type can be shown and pass this information along in the message to the UI process.

Tools:

* MiniBrowser/mac/WK2BrowserWindowController.m:
(decidePolicyForResponse): Added canShowMIMEType parameter.
(-[WK2BrowserWindowController awakeFromNib]): Updated for changes in the policy client.

* TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:
(TestWebKitAPI::decidePolicyForResponse): Added canShowMIMEType parameter.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions): Updated for changes in the policy client.
(WTR::TestController::decidePolicyForResponse): Added canShowMIMEType parameter.
* WebKitTestRunner/TestController.h:

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

7 years agoMove LineLayoutState.h into rendering/line
zoltan@webkit.org [Sun, 17 Nov 2013 18:25:34 +0000 (18:25 +0000)]
Move LineLayoutState.h into rendering/line
<https://webkit.org/b/124458>

Reviewed by Mihnea Ovidenie.

LineLayoutState is a helper class of RenderBlockLineLayout, so I'm moving it into line subdirectory.

No new tests, no behavior change.

* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/line/LineLayoutState.h: Renamed from Source/WebCore/rendering/LineLayoutState.h.
(WebCore::FloatWithRect::FloatWithRect):
(WebCore::LineLayoutState::LineLayoutState):
(WebCore::LineLayoutState::lineInfo):
(WebCore::LineLayoutState::endLineLogicalTop):
(WebCore::LineLayoutState::setEndLineLogicalTop):
(WebCore::LineLayoutState::endLine):
(WebCore::LineLayoutState::setEndLine):
(WebCore::LineLayoutState::lastFloat):
(WebCore::LineLayoutState::setLastFloat):
(WebCore::LineLayoutState::floats):
(WebCore::LineLayoutState::floatIndex):
(WebCore::LineLayoutState::setFloatIndex):
(WebCore::LineLayoutState::adjustedLogicalLineTop):
(WebCore::LineLayoutState::setAdjustedLogicalLineTop):
(WebCore::LineLayoutState::flowThread):
(WebCore::LineLayoutState::setFlowThread):
(WebCore::LineLayoutState::endLineMatched):
(WebCore::LineLayoutState::setEndLineMatched):
(WebCore::LineLayoutState::checkForFloatsFromLastLine):
(WebCore::LineLayoutState::setCheckForFloatsFromLastLine):
(WebCore::LineLayoutState::markForFullLayout):
(WebCore::LineLayoutState::isFullLayout):
(WebCore::LineLayoutState::usesRepaintBounds):
(WebCore::LineLayoutState::setRepaintRange):
(WebCore::LineLayoutState::updateRepaintRangeFromBox):

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

7 years agoSimple line path does not respect visibility:hidden
antti@apple.com [Sun, 17 Nov 2013 17:29:29 +0000 (17:29 +0000)]
Simple line path does not respect visibility:hidden
https://bugs.webkit.org/show_bug.cgi?id=124467

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/text/text-visibility.html

* rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintFlow):

LayoutTests:

* fast/text/text-visibility-expected.html: Added.
* fast/text/text-visibility.html: Added.

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

7 years agoFix indentation of JSActivation.h.
fpizlo@apple.com [Sun, 17 Nov 2013 03:49:42 +0000 (03:49 +0000)]
Fix indentation of JSActivation.h.

Rubber stamped by Mark Hahnenberg.

* runtime/JSActivation.h:

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

7 years agoFix indentation of JSVariableObject.h.
fpizlo@apple.com [Sun, 17 Nov 2013 03:41:19 +0000 (03:41 +0000)]
Fix indentation of JSVariableObject.h.

Rubber stamped by Mark Hahnenberg.

I'm about to do some damage to this file. I wanted to give it some sanity first.

* runtime/JSVariableObject.h:

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

7 years agoCheckmarks are shifted down on iPhone at build.webkit.org/dashboard
timothy_horton@apple.com [Sat, 16 Nov 2013 23:19:24 +0000 (23:19 +0000)]
Checkmarks are shifted down on iPhone at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122909

Reviewed by Timothy Hatcher.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/checkmark.svg: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/StatusLineView.js:
(StatusLineView.prototype.set repeatCount):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:
(.status-line.good .bubble.pictogram):
Use an SVG image instead of an obscure font for the checkboxes so they
render identically on all platforms.

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

7 years ago[sh4] Fix build (broken since r159346).
commit-queue@webkit.org [Sat, 16 Nov 2013 22:28:27 +0000 (22:28 +0000)]
[sh4] Fix build (broken since r159346).
https://bugs.webkit.org/show_bug.cgi?id=124455

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-16
Reviewed by Oliver Hunt.

Fix LLINT implementation for sh4 architecture to handle properly load and store operations with pr register.

* offlineasm/sh4.rb:

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

7 years agoWebCrypto no longer uses sequences of ArrayBuffers
ap@apple.com [Sat, 16 Nov 2013 19:14:14 +0000 (19:14 +0000)]
WebCrypto no longer uses sequences of ArrayBuffers
https://bugs.webkit.org/show_bug.cgi?id=124451

Build fix.

* crypto/mac/CryptoAlgorithmHMACMac.cpp: (WebCore::calculateSignature):
Now that the function became shorter, clang realized that a variable was used
uninitialized in an impossible code path.

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

7 years agoWebCrypto no longer uses sequences of ArrayBuffers
ap@apple.com [Sat, 16 Nov 2013 18:58:39 +0000 (18:58 +0000)]
WebCrypto no longer uses sequences of ArrayBuffers
https://bugs.webkit.org/show_bug.cgi?id=124451

Reviewed by Sam Weinig.

Source/WebCore:

Covered by existing tests.

Changed all operations to take single CryptoOperationData objects.

* bindings/js/JSCryptoOperationData.cpp:
* bindings/js/JSCryptoOperationData.h:
* bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::JSSubtleCrypto::encrypt):
(WebCore::JSSubtleCrypto::decrypt):
(WebCore::JSSubtleCrypto::sign):
(WebCore::JSSubtleCrypto::verify):
(WebCore::JSSubtleCrypto::digest):
* crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::encrypt):
(WebCore::CryptoAlgorithm::decrypt):
(WebCore::CryptoAlgorithm::sign):
(WebCore::CryptoAlgorithm::verify):
(WebCore::CryptoAlgorithm::digest):
* crypto/CryptoAlgorithm.h:
* crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
* crypto/algorithms/CryptoAlgorithmAES_CBC.h:
* crypto/algorithms/CryptoAlgorithmHMAC.h:
* crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
* crypto/algorithms/CryptoAlgorithmSHA1.cpp:
(WebCore::CryptoAlgorithmSHA1::digest):
* crypto/algorithms/CryptoAlgorithmSHA1.h:
* crypto/algorithms/CryptoAlgorithmSHA224.cpp:
(WebCore::CryptoAlgorithmSHA224::digest):
* crypto/algorithms/CryptoAlgorithmSHA224.h:
* crypto/algorithms/CryptoAlgorithmSHA256.cpp:
(WebCore::CryptoAlgorithmSHA256::digest):
* crypto/algorithms/CryptoAlgorithmSHA256.h:
* crypto/algorithms/CryptoAlgorithmSHA384.cpp:
(WebCore::CryptoAlgorithmSHA384::digest):
* crypto/algorithms/CryptoAlgorithmSHA384.h:
* crypto/algorithms/CryptoAlgorithmSHA512.cpp:
(WebCore::CryptoAlgorithmSHA512::digest):
* crypto/algorithms/CryptoAlgorithmSHA512.h:
* crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
(WebCore::transformAES_CBC):
(WebCore::CryptoAlgorithmAES_CBC::encrypt):
(WebCore::CryptoAlgorithmAES_CBC::decrypt):
* crypto/mac/CryptoAlgorithmHMACMac.cpp:
(WebCore::calculateSignature):
(WebCore::CryptoAlgorithmHMAC::sign):
(WebCore::CryptoAlgorithmHMAC::verify):
* crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:

LayoutTests:

Updated tests accordingly.

* crypto/subtle/aes-cbc-192-encrypt-decrypt.html:
* crypto/subtle/aes-cbc-256-encrypt-decrypt.html:
* crypto/subtle/aes-cbc-encrypt-decrypt-expected.txt:
* crypto/subtle/aes-cbc-encrypt-decrypt-with-padding.html:
* crypto/subtle/aes-cbc-encrypt-decrypt.html:
* crypto/subtle/aes-cbc-import-jwk.html:
* crypto/subtle/aes-cbc-wrong-key-class-expected.txt:
* crypto/subtle/aes-cbc-wrong-key-class.html:
* crypto/subtle/argument-conversion-expected.txt:
* crypto/subtle/argument-conversion.html:
* crypto/subtle/hmac-import-jwk.html:
* crypto/subtle/hmac-sign-verify-empty-key.html:
* crypto/subtle/hmac-sign-verify.html:
* crypto/subtle/rsassa-pkcs1-v1_5-sign-verify.html:
* crypto/subtle/sha-1-expected.txt:
* crypto/subtle/sha-1.html:
* crypto/subtle/sha-224-expected.txt:
* crypto/subtle/sha-224.html:
* crypto/subtle/sha-256-expected.txt:
* crypto/subtle/sha-256.html:
* crypto/subtle/sha-384-expected.txt:
* crypto/subtle/sha-384.html:
* crypto/subtle/sha-512-expected.txt:
* crypto/subtle/sha-512.html:

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

7 years agoRemove the include of LineWidth.h from SimpleLineLayoutFunctions.cpp
zoltan@webkit.org [Sat, 16 Nov 2013 10:08:52 +0000 (10:08 +0000)]
Remove the include of LineWidth.h from SimpleLineLayoutFunctions.cpp
<https://webkit.org/b/124449>

Reviewed by Antti Koivisto.

I removed the include of LineWidth, since SimpleLineLayoutFunctions.cpp doesn't use it.

No new tests, no behavior change.

* rendering/SimpleLineLayoutFunctions.cpp:

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

7 years agoSupport exporting symmetric keys as JWK
ap@apple.com [Sat, 16 Nov 2013 07:10:31 +0000 (07:10 +0000)]
Support exporting symmetric keys as JWK
https://bugs.webkit.org/show_bug.cgi?id=124442

Reviewed by Sam Weinig.

Source/JavaScriptCore:

* runtime/JSONObject.h: Export JSONStringify.

Source/WebCore:

Error handling is not consistent yet - some errors cause exceptions, and others
result in rejected promises. This part of spec is incomplete, so I basically did
what was most straightforward in each case.

* bindings/js/JSCryptoKeySerializationJWK.h:
* bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::JSCryptoKeySerializationJWK::reconcileUsages): Updated a comment with a better link.
(WebCore::JSCryptoKeySerializationJWK::buildJSONForOctetSequence): A helper to building JWK.
(WebCore::JSCryptoKeySerializationJWK::addToJSON): Ditto.
(WebCore::JSCryptoKeySerializationJWK::addBoolToJSON): Ditto.
(WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON): Ditto. The code for
mapping is my best guess, this all needs to be specified.
(WebCore::JSCryptoKeySerializationJWK::addJWKUseToJSON): A helper to building JWK.
(WebCore::JSCryptoKeySerializationJWK::serialize): Build a JSON string for the key.

* bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::JSSubtleCrypto::importKey): Updated a comment.
(WebCore::JSSubtleCrypto::exportKey): Use CryptoKeySerialization (also for raw keys,
for consistency).

* crypto/CryptoKey.h:
(WebCore::CryptoKey::algorithmIdentifier):
(WebCore::CryptoKey::usagesBitmap):
Exposed data needed for building JWK (it used to be only exposed in a form suitable
for DOM accessors).

* crypto/keys/CryptoKeyHMAC.h: Ditto, added an accessor for JWK.

* crypto/keys/CryptoKeySerializationRaw.cpp: (WebCore::CryptoKeySerializationRaw::serialize):
* crypto/keys/CryptoKeySerializationRaw.h:
Moved from JSSubtleCryptoCustom.cpp for consistency.

Source/WTF:

Base64URL encoding doesn't use '=' padding, and doesn't need any other options.
Added this mode for encode, and removed policy arguments from exposed functions.

* wtf/text/Base64.cpp:
(WTF::base64EncodeInternal):
(WTF::base64URLEncode):
(WTF::base64URLDecode):
* wtf/text/Base64.h:
(WTF::base64URLEncode):

LayoutTests:

* crypto/subtle/aes-export-key-expected.txt:
* crypto/subtle/aes-export-key.html:
* crypto/subtle/hmac-export-key-expected.txt:
* crypto/subtle/hmac-export-key.html:

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

7 years ago[Win] JavaScript crashes on 64-bit with JIT enabled.
commit-queue@webkit.org [Sat, 16 Nov 2013 03:25:45 +0000 (03:25 +0000)]
[Win] JavaScript crashes on 64-bit with JIT enabled.
https://bugs.webkit.org/show_bug.cgi?id=124409

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-15
Reviewed by Michael Saboff.

These are issues found with JIT on 64-bit:
- The registers rsi and rdi in callToJavaScript needs to be saved and restored. This is required by the Windows 64-bit ABI.
- The getHostCallReturnValue function needs to be updated according to it's GCC counterpart.
- The poke argument offset needs to be 20h, because Windows 64-bit ABI requires stack space allocated for the 4 argument registers.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Re-added JITStubsMSVC64.asm to project.
* jit/CCallHelpers.h: Set poke argument offset.
(JSC::CCallHelpers::setupArguments): Compile fix, added needed method.
* jit/JITStubsMSVC64.asm: Save and restore registers rsi and rdi.
                          Update getHostCallReturnValue according to the GCC version.

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