WebKit-https.git
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

7 years agoUnreviewed, gtest project file cleanup.
roger_fong@apple.com [Sat, 16 Nov 2013 01:32:38 +0000 (01:32 +0000)]
Unreviewed, gtest project file cleanup.

* gtest/msvc/gtest-md.vcxproj:

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

7 years agoMake results.html more sane
simon.fraser@apple.com [Sat, 16 Nov 2013 01:28:22 +0000 (01:28 +0000)]
Make results.html more sane
https://bugs.webkit.org/show_bug.cgi?id=124446

Reviewed by Sam Weinig.

Fix various issues with results.html:
    * make it use page scrolling, not overflow scrolling
    * remove -webkit-flex stuff that wasn't doing anything
    * prettify the floating overlay for flagged tests
    * pull some markup out of the JS and into the HTML
    * remove the self-testing, which provides very little reward.

* fast/harness/resources/results-test.js: Removed.
* fast/harness/results-expected.txt:
* fast/harness/results.html:

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

7 years agoMove IDBCursorBackend operations into their own files
beidson@apple.com [Sat, 16 Nov 2013 01:16:28 +0000 (01:16 +0000)]
Move IDBCursorBackend operations into their own files
https://bugs.webkit.org/show_bug.cgi?id=124444

Reviewed by Tim Horton.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBCursorBackend.cpp:
* Modules/indexeddb/IDBCursorBackend.h:
(WebCore::IDBCursorBackend::cursorType):
(WebCore::IDBCursorBackend::deprecatedBackingStoreCursor):
(WebCore::IDBCursorBackend::deprecatedSetBackingStoreCursor):
(WebCore::IDBCursorBackend::deprecatedSetSavedBackingStoreCursor):

* Modules/indexeddb/IDBCursorBackendOperations.cpp: Added.
(WebCore::CallOnDestruct::CallOnDestruct):
(WebCore::CallOnDestruct::~CallOnDestruct):
(WebCore::CursorAdvanceOperation::perform):
(WebCore::CursorIterationOperation::perform):
(WebCore::CursorPrefetchIterationOperation::perform):
* Modules/indexeddb/IDBCursorBackendOperations.h: Added.
(WebCore::CursorIterationOperation::create):
(WebCore::CursorIterationOperation::CursorIterationOperation):
(WebCore::CursorAdvanceOperation::create):
(WebCore::CursorAdvanceOperation::CursorAdvanceOperation):
(WebCore::CursorPrefetchIterationOperation::create):
(WebCore::CursorPrefetchIterationOperation::CursorPrefetchIterationOperation):

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

7 years agoresults.html should have a link to historical results for a test/all failing tests
timothy_horton@apple.com [Sat, 16 Nov 2013 01:10:19 +0000 (01:10 +0000)]
results.html should have a link to historical results for a test/all failing tests
https://bugs.webkit.org/show_bug.cgi?id=124402

Reviewed by Simon Fraser.

* fast/harness/results.html:
* fast/harness/resources/results-test.js:
Add the link to timeout/crash results too.

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

7 years agoUnreviewed EFL build fix after r159358.
ryuan.choi@samsung.com [Sat, 16 Nov 2013 00:55:33 +0000 (00:55 +0000)]
Unreviewed EFL build fix after r159358.

* UIProcess/efl/PagePolicyClientEfl.cpp:
(WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
* UIProcess/efl/PagePolicyClientEfl.h:

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

7 years agohttp/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html is slow, freque...
timothy_horton@apple.com [Sat, 16 Nov 2013 00:22:24 +0000 (00:22 +0000)]
http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html is slow, frequently > 30 second timeout
https://bugs.webkit.org/show_bug.cgi?id=124373

* platform/mac/TestExpectations:
Mark test as timeout as well, since that happens sometimes too.

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

7 years agoCopy ASAN flag settings to WebCore and JavaScriptCore intermediate build tools
dfarler@apple.com [Sat, 16 Nov 2013 00:11:12 +0000 (00:11 +0000)]
Copy ASAN flag settings to WebCore and JavaScriptCore intermediate build tools
https://bugs.webkit.org/show_bug.cgi?id=124362

Reviewed by David Kilzer.

Source/JavaScriptCore:

* Configurations/ToolExecutable.xcconfig:
Use ASAN_C*FLAGS.

Source/WebCore:

No new tests needed.

* WebCore.xcodeproj/project.pbxproj:
Use ASAN_C*FLAGS for WebCoreExportFileGenerator.

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

7 years ago[Mac][AVF] Allow video and audio tracks to be initialized with an AVAssetTrack.
jer.noble@apple.com [Sat, 16 Nov 2013 00:01:39 +0000 (00:01 +0000)]
[Mac][AVF] Allow video and audio tracks to be initialized with an AVAssetTrack.
https://bugs.webkit.org/show_bug.cgi?id=124421

Reviewed by Eric Carlson.

Currently, VideoTrackPrivateAVFObjC and AudioTrackPrivateAVFObjC are initialized with an
AVPlayerItemTrack, but most of its methods use the AVAssetTrack wrapped by the
AVPlayerItemTrack. Allow these objects to be alternatively initialized with an AVAssetTrack.

Add factory methods taking an AVAssetTrack:
* platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:
(WebCore::AudioTrackPrivateAVFObjC::create):
* platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
(WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC):
(WebCore::AudioTrackPrivateAVFObjC::setAssetTrack):
(WebCore::AudioTrackPrivateAVFObjC::assetTrack):
* platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:
(WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC):
(WebCore::VideoTrackPrivateAVFObjC::setAssetTrack):
(WebCore::VideoTrackPrivateAVFObjC::assetTrack):
* platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:

Use m_assetTrack instead of [m_playerItemTrack assetTrack]:
* platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h:
(WebCore::AVTrackPrivateAVFObjCImpl::assetTrack):
* platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
(WebCore::AVTrackPrivateAVFObjCImpl::AVTrackPrivateAVFObjCImpl):
(WebCore::AVTrackPrivateAVFObjCImpl::enabled):
(WebCore::AVTrackPrivateAVFObjCImpl::setEnabled):
(WebCore::AVTrackPrivateAVFObjCImpl::audioKind):
(WebCore::AVTrackPrivateAVFObjCImpl::videoKind):
(WebCore::AVTrackPrivateAVFObjCImpl::id):
(WebCore::AVTrackPrivateAVFObjCImpl::label):
(WebCore::AVTrackPrivateAVFObjCImpl::language):
(WebCore::AVTrackPrivateAVFObjCImpl::trackID):

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

7 years agoUnreviewed Win build fix; setCurrentTime() no longer takes an exception parameter.
jer.noble@apple.com [Fri, 15 Nov 2013 23:50:26 +0000 (23:50 +0000)]
Unreviewed Win build fix; setCurrentTime() no longer takes an exception parameter.

* FullscreenVideoController.cpp:
(FullscreenVideoController::setCurrentTime):

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

7 years agoRemove JSChunk
mhahnenberg@apple.com [Fri, 15 Nov 2013 23:47:12 +0000 (23:47 +0000)]
Remove JSChunk
https://bugs.webkit.org/show_bug.cgi?id=124435

Reviewed by Geoffrey Garen.

It's empty and has been since it was added 3 years ago.

* CMakeLists.txt:
* runtime/JSChunk.cpp: Removed.
* runtime/JSChunk.h: Removed.

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

7 years agoLet IDBDatabaseBackend create IDBTransactionBackend's directly
beidson@apple.com [Fri, 15 Nov 2013 23:44:24 +0000 (23:44 +0000)]
Let IDBDatabaseBackend create IDBTransactionBackend's directly
https://bugs.webkit.org/show_bug.cgi?id=124438

Reviewed by Beth Dakin.

Source/WebCore:

Create IDBTransactionBackends directly:
* Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::createTransaction):
* Modules/indexeddb/IDBDatabaseBackend.h:

Remove maybeCreateTransactionBackend():
* Modules/indexeddb/IDBFactoryBackendInterface.h:
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:

Source/WebKit2:

Remove maybeCreateTransactionBackend():
* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

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

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

Reviewed by Alexey Proskuryakov.

Try reverting the part of r158652 that deleted all of the persistent
defaults, in the thought that there might be some sort of race between
processes causing some settings to be left in the wrong state.

* DumpRenderTree/mac/DumpRenderTree.mm:
(setDefaultsToConsistentValuesForTesting):
* WebKitTestRunner/mac/main.mm:
(setDefaultsToConsistentValuesForTesting):

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

7 years agoHTMLMediaElement should not throw an exception from setCurrentTime or fastSeek.
jer.noble@apple.com [Fri, 15 Nov 2013 23:38:48 +0000 (23:38 +0000)]
HTMLMediaElement should not throw an exception from setCurrentTime or fastSeek.
https://bugs.webkit.org/show_bug.cgi?id=124294

Reviewed by Eric Carlson.

Source/WebCore:

Update the seek logic to match the current specification. This means removing exception
throwing from both the .idl and the implementation.

Remove the ExceptionCode parameter from setCurrentTime and fastSeek:
* html/HTMLMediaElement.cpp:
(HTMLMediaElement::fastSeek):
(HTMLMediaElement::seek):
(HTMLMediaElement::seekWithTolerance):
(HTMLMediaElement::setCurrentTime):
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.idl:
* html/MediaController.cpp:
(MediaController::setCurrentTime):
* html/MediaController.h:
* html/MediaController.idl:
* html/MediaControllerInterface.h:

Do not pass in an ExceptionCode placeholder when calling seek:
* html/HTMLMediaElement.cpp:
(HTMLMediaElement::rewind):
(HTMLMediaElement::returnToRealtime):
(HTMLMediaElement::finishSeek):
(HTMLMediaElement::playInternal):
(HTMLMediaElement::mediaPlayerTimeChanged):
(HTMLMediaElement::mediaPlayerDurationChanged):
(HTMLMediaElement::applyMediaFragmentURI):
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.idl:
* html/MediaController.cpp:
(MediaController::bringElementUpToSpeed):
* html/MediaController.h:
* html/MediaController.idl:
* html/MediaControllerInterface.h:
* html/shadow/MediaControlElementTypes.cpp:
(WebCore::MediaControlSeekButtonElement::seekTimerFired):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlRewindButtonElement::defaultEventHandler):
(WebCore::MediaControlTimelineElement::defaultEventHandler):
* platform/mac/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindowController setCurrentTime:]):

LayoutTests:

* media/video-seek-no-src-exception-expected.txt: Removed.
* media/video-seek-no-src-exception.html: Removed.

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

7 years agoRemove last vestiges of IDBBackingStore* from IDBTransactionBackend.
beidson@apple.com [Fri, 15 Nov 2013 23:22:13 +0000 (23:22 +0000)]
Remove last vestiges of IDBBackingStore* from IDBTransactionBackend.
https://bugs.webkit.org/show_bug.cgi?id=124436

Reviewed by Tim Horton.

Source/WebCore:

* Modules/indexeddb/IDBFactoryBackendInterface.h: Removed createCursorBackend.
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Removed createCursorBackend.
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Removed createCursorBackend.

* Modules/indexeddb/IDBCursorBackend.h:

* Modules/indexeddb/IDBTransactionBackend.cpp:
* Modules/indexeddb/IDBTransactionBackend.h:

* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
(WebCore::IDBServerConnectionLevelDB::openCursor):

Source/WebKit2:

* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Removed createCursorBackend.
* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

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

7 years agoLayout Test editing/selection/5057506.html frequently times out on Mac WK2
timothy_horton@apple.com [Fri, 15 Nov 2013 23:21:53 +0000 (23:21 +0000)]
Layout Test editing/selection/5057506.html frequently times out on Mac WK2
https://bugs.webkit.org/show_bug.cgi?id=124437

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

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

7 years agoRemove VTableSpectrum
mhahnenberg@apple.com [Fri, 15 Nov 2013 22:47:50 +0000 (22:47 +0000)]
Remove VTableSpectrum
https://bugs.webkit.org/show_bug.cgi?id=124427

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/Heap.cpp:
(JSC::Heap::lastChanceToFinalize):
* heap/Heap.h:
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::callDestructor):
* heap/SlotVisitor.cpp:
(JSC::visitChildren):
* heap/SlotVisitor.h:
* heap/VTableSpectrum.cpp: Removed.
* heap/VTableSpectrum.h: Removed.

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataEnableFeatures.in:

Source/WTF:

* wtf/Platform.h:

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

7 years agoMake IDBIndexWriter a LevelDB specific concept
beidson@apple.com [Fri, 15 Nov 2013 22:24:14 +0000 (22:24 +0000)]
Make IDBIndexWriter a LevelDB specific concept
https://bugs.webkit.org/show_bug.cgi?id=124434

Reviewed by Tim Horton.

This includes renaming the class and moving it into the leveldb subdirectory.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBBackingStoreInterface.h:
* Modules/indexeddb/IDBTransactionBackendOperations.cpp:

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

* Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBIndexWriter.cpp.
(WebCore::IDBIndexWriterLevelDB::IDBIndexWriterLevelDB):
(WebCore::IDBIndexWriterLevelDB::writeIndexKeys):
(WebCore::IDBIndexWriterLevelDB::verifyIndexKeys):
(WebCore::IDBIndexWriterLevelDB::addingKeyAllowed):
* Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBIndexWriter.h.
(WebCore::IDBIndexWriterLevelDB::create):

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

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

7 years agoGive the policy client the originating frame of a navigation action
mitz@apple.com [Fri, 15 Nov 2013 22:22:30 +0000 (22:22 +0000)]
Give the policy client the originating frame of a navigation action
https://bugs.webkit.org/show_bug.cgi?id=124431

Reviewed by Anders Carlsson.

Source/WebKit2:

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

* Shared/APIClientTraits.cpp: Defined API traits for WKPagePolicyClient, which now has two
versions.
* Shared/APIClientTraits.h: Declared APIClientTraits<WKPagePolicyClient>.

* UIProcess/API/C/WKPage.h: Added an originatingFrame parameter to
WKPageDecidePolicyForNavigationActionCallback and deprecated the old version. Bumped the
policy client version to 1.

* UIProcess/API/mac/WKBrowsingContextController.mm:
(setUpPagePolicyClient): Include the originating frame’s URL under the a new key in the
action information dictionary.
* UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared
WKActionOriginatingFrameURLKey.

* UIProcess/WebInspectorProxy.cpp:
(WebKit::decidePolicyForNavigationAction): Added originatingFrame parameter.
(WebKit::WebInspectorProxy::createInspectorPage): Updated to the new version of the policy
client interface.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction): Added originatingFrameID parameter
and passing the originating frame to the policy client.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in: Added originatingFrameID paremeter to
DecidePolicyForNavigationAction.

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

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Determine the
originating frame for link activation and form submission actions and send its ID in the
DecidePolicyForNavigationAction message.

Tools:

* MiniBrowser/mac/WK2BrowserWindowController.m:
(decidePolicyForNavigationAction): Added originatingFrame parameter.
(-[WK2BrowserWindowController awakeFromNib]): Updated for the new version of the policy
client.

* TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp:
(TestWebKitAPI::decidePolicyForNavigationAction): Added originatingFrame parameter.
(TestWebKitAPI::setPagePolicyClient): Updated for the new version of the policy client.

* TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:
(TestWebKitAPI::decidePolicyForNavigationAction): Added originatingFrame parameter.
(TestWebKitAPI::TEST): Updated for the new version of the policy client.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions): Updated for the new version of the policy
client.
(WTR::TestController::decidePolicyForNavigationAction): Added originatingFrame parameter.
* WebKitTestRunner/TestController.h:

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

7 years agoWeb Inspector: DOM.performSearch should accept a list of context nodes
achicu@adobe.com [Fri, 15 Nov 2013 22:08:13 +0000 (22:08 +0000)]
Web Inspector: DOM.performSearch should accept a list of context nodes
https://bugs.webkit.org/show_bug.cgi?id=124390

Reviewed by Timothy Hatcher.

Source/WebCore:

Extracted the code in InspectorDOMAgent::performSearch into its own helper class
called InspectorNodeFinder. Also added a new array parameter called "nodeIds"
that can be used to limit the search results to just partial subtrees.

Tests: inspector-protocol/dom/dom-search-crash.html
       inspector-protocol/dom/dom-search-with-context.html
       inspector-protocol/dom/dom-search.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* inspector/protocol/DOM.json:
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::performSearch):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorNodeFinder.cpp: Added.
(WebCore::stripCharacters):
(WebCore::InspectorNodeFinder::InspectorNodeFinder):
(WebCore::InspectorNodeFinder::performSearch):
(WebCore::InspectorNodeFinder::searchUsingDOMTreeTraversal):
(WebCore::InspectorNodeFinder::matchesAttribute):
(WebCore::InspectorNodeFinder::matchesElement):
(WebCore::InspectorNodeFinder::searchUsingXPath):
(WebCore::InspectorNodeFinder::searchUsingCSSSelectors):
* inspector/InspectorNodeFinder.h: Added.
(WebCore::InspectorNodeFinder::results):

LayoutTests:

Added new inspector-protocol tests to check for the DOM.performSearch implementation.
Also, ported an existing test from the old "inspector" format.

* http/tests/inspector-protocol/resources/InspectorDOMListener.js: Added boilerplate code that
can be used to track node ids and class names.
(createDOMListener.createNodeAttributesMap):
(createDOMListener.collectNode):
(createDOMListener.onSetChildNodes):
(createDOMListener.onChildNodeRemoved):
(createDOMListener.onChildNodeInserted):
(createDOMListener.return.getNodeById):
(createDOMListener.return.getNodeIdentifier):
* http/tests/inspector-protocol/resources/InspectorTest.js:
(InspectorFrontendAPI.dispatchMessageAsync): Added a way to catch all the messages received in the inspector.
It is useful for debugging the test file.
(InspectorTest.addEventListener): Helper method to register multiple handlers for the same event.
* inspector-protocol/dom/dom-search-crash-expected.txt: Added.
* inspector-protocol/dom/dom-search-crash.html: Added.
* inspector-protocol/dom/dom-search-expected.txt: Added.
* inspector-protocol/dom/dom-search-with-context-expected.txt: Added.
* inspector-protocol/dom/dom-search-with-context.html: Added.
* inspector-protocol/dom/dom-search.html: Added.
* inspector-protocol/dom/resources/dom-search-crash-iframe.html: Cloned from inspector/dom/resources/dom-search-crash-iframe.html
* inspector-protocol/dom/resources/dom-search-iframe.html: Added.
* inspector-protocol/dom/resources/dom-search-queries.js: Added.

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

7 years agoMake lint-test-expectations pass for platform/win
timothy_horton@apple.com [Fri, 15 Nov 2013 22:07:39 +0000 (22:07 +0000)]
Make lint-test-expectations pass for platform/win

* platform/win/TestExpectations:
I always kept the stronger expectation in the case of duplicates.

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

7 years agoRemove IDBBackingStoreInterface.h includes that are no longer needed
beidson@apple.com [Fri, 15 Nov 2013 21:59:36 +0000 (21:59 +0000)]
Remove IDBBackingStoreInterface.h includes that are no longer needed
https://bugs.webkit.org/show_bug.cgi?id=124433

Reviewed by Tim Horton.

* Modules/indexeddb/IDBCursorBackend.cpp:
* Modules/indexeddb/IDBCursorBackend.h:
* Modules/indexeddb/IDBFactoryBackendInterface.h:
* Modules/indexeddb/IDBTransactionBackend.h:

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

7 years agoMove BreakingContext and LineBreaker into their own files
zoltan@webkit.org [Fri, 15 Nov 2013 21:40:59 +0000 (21:40 +0000)]
Move BreakingContext and LineBreaker into their own files
<https://webkit.org/b/124336>

Reviewed by David Hyatt.

In this change I introduced 'line' subdirectory inside 'rendering', this directory will contain all the classes
which have been refactored from RenderBlockLineLayout.cpp. This change contains the separation of BreakingContext,
and the separation of LineBreaker classes. Since I wanted to keep the helper functions organized, I also added a
new file called LineInlineHeaders.h, which contains the functions which used in LineBreaker.h and BreakingContext.h.
I moved LineInfo class into line directory. It was necessary this time, since I added a cpp for it. I'll move the
rest of the line layout related helper classes later. (I wanted to minimize merge conflicts.)

No new tests, no behavior change.

* CMakeLists.txt:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCoreCommon.props:
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::createRun):
* rendering/line/BreakingContextInlineHeaders.h: Added.
(WebCore::WordMeasurement::WordMeasurement):
(WebCore::TrailingObjects::TrailingObjects):
(WebCore::TrailingObjects::setTrailingWhitespace):
(WebCore::TrailingObjects::clear):
(WebCore::TrailingObjects::appendBoxIfNeeded):
(WebCore::deprecatedAddMidpoint):
(WebCore::startIgnoringSpaces):
(WebCore::stopIgnoringSpaces):
(WebCore::ensureLineBoxInsideIgnoredSpaces):
(WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
(WebCore::BreakingContext::BreakingContext):
(WebCore::BreakingContext::currentObject):
(WebCore::BreakingContext::lineBreak):
(WebCore::BreakingContext::lineBreakRef):
(WebCore::BreakingContext::lineWidth):
(WebCore::BreakingContext::atEnd):
(WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
(WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
(WebCore::BreakingContext::initializeForCurrentObject):
(WebCore::BreakingContext::increment):
(WebCore::BreakingContext::handleBR):
(WebCore::borderPaddingMarginStart):
(WebCore::borderPaddingMarginEnd):
(WebCore::shouldAddBorderPaddingMargin):
(WebCore::previousInFlowSibling):
(WebCore::inlineLogicalWidth):
(WebCore::BreakingContext::handleOutOfFlowPositioned):
(WebCore::BreakingContext::handleFloat):
(WebCore::shouldSkipWhitespaceAfterStartObject):
(WebCore::BreakingContext::handleEmptyInline):
(WebCore::BreakingContext::handleReplaced):
(WebCore::firstPositiveWidth):
(WebCore::updateSegmentsForShapes):
(WebCore::iteratorIsBeyondEndOfRenderCombineText):
(WebCore::nextCharacter):
(WebCore::updateCounterIfNeeded):
(WebCore::measureHyphenWidth):
(WebCore::textWidth):
(WebCore::ensureCharacterGetsLineBox):
(WebCore::tryHyphenating):
(WebCore::BreakingContext::handleText):
(WebCore::textBeginsWithBreakablePosition):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
(WebCore::checkMidpoints):
(WebCore::BreakingContext::handleEndOfLine):
* rendering/line/LineBreaker.cpp: Added.
(WebCore::LineBreaker::reset):
(WebCore::LineBreaker::skipTrailingWhitespace):
(WebCore::LineBreaker::skipLeadingWhitespace):
* rendering/line/LineBreaker.h: Added.
(WebCore::LineBreaker::LineBreaker):
(WebCore::LineBreaker::lineWasHyphenated):
(WebCore::LineBreaker::positionedObjects):
(WebCore::LineBreaker::clear):
* rendering/line/LineInfo.cpp: Added.
(WebCore::LineInfo::setEmpty):
* rendering/line/LineInfo.h: Renamed from Source/WebCore/rendering/LineInfo.h.
(WebCore::LineInfo::LineInfo):
(WebCore::LineInfo::isFirstLine):
(WebCore::LineInfo::isLastLine):
(WebCore::LineInfo::isEmpty):
(WebCore::LineInfo::previousLineBrokeCleanly):
(WebCore::LineInfo::floatPaginationStrut):
(WebCore::LineInfo::runsFromLeadingWhitespace):
(WebCore::LineInfo::resetRunsFromLeadingWhitespace):
(WebCore::LineInfo::incrementRunsFromLeadingWhitespace):
(WebCore::LineInfo::setFirstLine):
(WebCore::LineInfo::setLastLine):
(WebCore::LineInfo::setPreviousLineBrokeCleanly):
(WebCore::LineInfo::setFloatPaginationStrut):
* rendering/line/LineInlineHeaders.h: Added.
(WebCore::hasInlineDirectionBordersPaddingOrMargin):
(WebCore::lineStyle):
(WebCore::requiresLineBoxForContent):
(WebCore::shouldCollapseWhiteSpace):
(WebCore::skipNonBreakingSpace):
(WebCore::alwaysRequiresLineBox):
(WebCore::requiresLineBox):
(WebCore::setStaticPositions):

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

7 years agoMove execution of IDBTransactionBackendOperations to the IDBServerConnection
beidson@apple.com [Fri, 15 Nov 2013 20:57:35 +0000 (20:57 +0000)]
Move execution of IDBTransactionBackendOperations to the IDBServerConnection
https://bugs.webkit.org/show_bug.cgi?id=124385

Reviewed by Tim Horton.

Source/WebCore:

Each IDBOperation has it’s ::perform() moved to a method on IDBServerConnection.
This almost removes all knowledge of the backing stores from the front end.

* Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::clearObjectStore):
(WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):
* Modules/indexeddb/IDBDatabaseBackend.h:

* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::clear):

Add methods to reflect each transaction backend operation:
* Modules/indexeddb/IDBServerConnection.h:

Schedule certain operations with callbacks:
* Modules/indexeddb/IDBTransactionBackend.cpp:
(WebCore::IDBTransactionBackend::scheduleVersionChangeOperation):
(WebCore::IDBTransactionBackend::schedulePutOperation):
(WebCore::IDBTransactionBackend::scheduleOpenCursorOperation):
(WebCore::IDBTransactionBackend::scheduleCountOperation):
(WebCore::IDBTransactionBackend::scheduleDeleteRangeOperation):
(WebCore::IDBTransactionBackend::scheduleClearObjectStoreOperation):
* Modules/indexeddb/IDBTransactionBackend.h:

Make each operation’s perform() method defer to the IDBServerConnection (with a callback):
* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::CreateObjectStoreOperation::perform):
(WebCore::CreateIndexOperation::perform):
(WebCore::CreateIndexAbortOperation::perform):
(WebCore::DeleteIndexOperation::perform):
(WebCore::DeleteIndexAbortOperation::perform):
(WebCore::GetOperation::perform):
(WebCore::PutOperation::perform):
(WebCore::SetIndexesReadyOperation::perform):
(WebCore::OpenCursorOperation::perform):
(WebCore::CountOperation::perform):
(WebCore::DeleteRangeOperation::perform):
(WebCore::ClearObjectStoreOperation::perform):
(WebCore::DeleteObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
(WebCore::CreateObjectStoreAbortOperation::perform):

Add accessors to each operation’s data members so the IDBServerConnection has everything it needs:
* Modules/indexeddb/IDBTransactionBackendOperations.h:
(WebCore::CreateObjectStoreOperation::objectStoreMetadata):
(WebCore::DeleteObjectStoreOperation::objectStoreMetadata):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::create):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::version):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::callbacks):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::databaseCallbacks):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::VersionChangeOperation):
(WebCore::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
(WebCore::CreateIndexOperation::objectStoreID):
(WebCore::CreateIndexOperation::idbIndexMetadata):
(WebCore::CreateIndexOperation::CreateIndexOperation):
(WebCore::CreateIndexAbortOperation::CreateIndexAbortOperation):
(WebCore::DeleteIndexOperation::objectStoreID):
(WebCore::DeleteIndexOperation::idbIndexMetadata):
(WebCore::DeleteIndexOperation::DeleteIndexOperation):
(WebCore::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
(WebCore::GetOperation::objectStoreID):
(WebCore::GetOperation::indexID):
(WebCore::GetOperation::cursorType):
(WebCore::GetOperation::keyRange):
(WebCore::GetOperation::callbacks):
(WebCore::GetOperation::autoIncrement):
(WebCore::GetOperation::keyPath):
(WebCore::GetOperation::GetOperation):
(WebCore::PutOperation::create):
(WebCore::PutOperation::putMode):
(WebCore::PutOperation::objectStore):
(WebCore::PutOperation::key):
(WebCore::PutOperation::indexIDs):
(WebCore::PutOperation::indexKeys):
(WebCore::PutOperation::callbacks):
(WebCore::PutOperation::value):
(WebCore::PutOperation::PutOperation):
(WebCore::OpenCursorOperation::create):
(WebCore::OpenCursorOperation::objectStoreID):
(WebCore::OpenCursorOperation::indexID):
(WebCore::OpenCursorOperation::direction):
(WebCore::OpenCursorOperation::cursorType):
(WebCore::OpenCursorOperation::taskType):
(WebCore::OpenCursorOperation::keyRange):
(WebCore::OpenCursorOperation::cursorDirection):
(WebCore::OpenCursorOperation::callbacks):
(WebCore::OpenCursorOperation::OpenCursorOperation):
(WebCore::CountOperation::create):
(WebCore::CountOperation::objectStoreID):
(WebCore::CountOperation::indexID):
(WebCore::CountOperation::keyRange):
(WebCore::CountOperation::callbacks):
(WebCore::CountOperation::CountOperation):
(WebCore::DeleteRangeOperation::create):
(WebCore::DeleteRangeOperation::objectStoreID):
(WebCore::DeleteRangeOperation::callbacks):
(WebCore::DeleteRangeOperation::keyRange):
(WebCore::DeleteRangeOperation::DeleteRangeOperation):
(WebCore::ClearObjectStoreOperation::create):
(WebCore::ClearObjectStoreOperation::objectStoreID):
(WebCore::ClearObjectStoreOperation::callbacks):
(WebCore::ClearObjectStoreOperation::ClearObjectStoreOperation):

Implement each operation in terms of the appropriate backing store, then perform the callback:
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
(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):
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

* WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

* WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:

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

7 years agobuild.webkit.org/dashboard should provide a way to focus on a subset of bots
timothy_horton@apple.com [Fri, 15 Nov 2013 20:28:08 +0000 (20:28 +0000)]
build.webkit.org/dashboard should provide a way to focus on a subset of bots
https://bugs.webkit.org/show_bug.cgi?id=122676

Reviewed by Timothy Hatcher.

Add a small 'hide' button next to every platform logo, and a 'show all'
button which only appears when at least one platform is hidden. Hidden
platforms persist using localStorage.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
(updateHiddenPlatforms):
(documentReady.unhideButton):
(documentReady.hideButton):
(documentReady):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js: Added.
(Settings.prototype.setObject):
(Settings.prototype.getObject):
(Settings.prototype.addSettingListener):
(Settings.prototype.fireSettingListener):
(Settings.prototype.toggleHiddenPlatform):
(Settings.prototype.clearHiddenPlatforms):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(div.cellButton):
(div.cellButton.hide):
(.hidden):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:

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

7 years ago-dealloc callbacks from wrapped Objective-C objects can happen at bad times
mhahnenberg@apple.com [Fri, 15 Nov 2013 19:53:30 +0000 (19:53 +0000)]
-dealloc callbacks from wrapped Objective-C objects can happen at bad times
https://bugs.webkit.org/show_bug.cgi?id=123821

Reviewed by Darin Adler.

Currently with the JSC Obj-C API, JS wrappers for client Obj-C objects retain their associated Obj-C
object. When they are swept, they release their Obj-C objects which can trigger a call to that
object's -dealloc method. These -dealloc methods can then call back into the same VM, which is not
allowed during sweeping or VM shutdown.

We can handle this case by creating our own pool of Obj-C objects to be released when it is safe to do so.
This is accomplished by using DelayedReleaseScope, an RAII-style object that will retain all objects
that are unsafe to release until the end of the DelayedReleaseScope.

* API/APIShims.h:
(JSC::APICallbackShim::APICallbackShim):
(JSC::APICallbackShim::vmForDropAllLocks):
(JSC::APICallbackShim::execForDropAllLocks):
* API/JSAPIWrapperObject.mm:
(JSAPIWrapperObjectHandleOwner::finalize):
* API/ObjCCallbackFunction.mm:
(JSC::ObjCCallbackFunctionImpl::destroy):
(JSC::ObjCCallbackFunction::destroy):
* API/tests/testapi.mm:
(-[TinyDOMNode initWithVirtualMachine:]):
(-[TinyDOMNode dealloc]):
(-[TinyDOMNode appendChild:]):
(-[TinyDOMNode removeChildAtIndex:]):
(-[EvilAllocationObject initWithContext:]):
(-[EvilAllocationObject dealloc]):
(-[EvilAllocationObject doEvilThingsWithContext:]):
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/DelayedReleaseScope.h: Added.
(JSC::DelayedReleaseScope::DelayedReleaseScope):
(JSC::DelayedReleaseScope::~DelayedReleaseScope):
(JSC::DelayedReleaseScope::releaseSoon):
(JSC::MarkedSpace::releaseSoon):
* heap/Heap.cpp:
(JSC::Heap::collectAllGarbage):
* heap/Heap.h:
(JSC::Heap::releaseSoon):
* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::allocateSlowCase):
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::lastChanceToFinalize):
(JSC::MarkedSpace::sweep):
* heap/MarkedSpace.h:

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

7 years agoLayout Test fast/dom/Geolocation/notimer-after-unload.html is flaky and crashy on...
timothy_horton@apple.com [Fri, 15 Nov 2013 19:51:26 +0000 (19:51 +0000)]
Layout Test fast/dom/Geolocation/notimer-after-unload.html is flaky and crashy on Mac WK2
https://bugs.webkit.org/show_bug.cgi?id=124425

* platform/mac-wk2/TestExpectations:
Mark as crash/pass/fail, since it does all three :(

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

7 years agoModifying RTCIceCandidate object construction to match the spec
commit-queue@webkit.org [Fri, 15 Nov 2013 19:34:16 +0000 (19:34 +0000)]
Modifying RTCIceCandidate object construction to match the spec
https://bugs.webkit.org/show_bug.cgi?id=124369

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

According to the spec the RTCIceCandidateInit parameter in RTCSessionDescription constructor is optional,
which must not be nullable, and, if passed, must be a valid Dictionary. If the keys are not present, the string
object that stores them in the RTCIceCandidate class, must be null in those cases. Also, if a key is present
and its value is not valid an exception must be raised.

Source/WebCore:

Existing test was updated.

* GNUmakefile.list.am:
* Modules/mediastream/RTCIceCandidate.cpp:
(WebCore::RTCIceCandidate::create):
* Modules/mediastream/RTCIceCandidate.idl:
* UseJSC.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSRTCIceCandidateCustom.cpp: Added.
(WebCore::JSRTCIceCandidateConstructor::constructJSRTCIceCandidate):

LayoutTests:

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

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

7 years agoLayout Test webgl/1.0.2/conformance/ogles/GL/tan/tan_001_to_006.html fails on Intel
timothy_horton@apple.com [Fri, 15 Nov 2013 19:30:57 +0000 (19:30 +0000)]
Layout Test webgl/1.0.2/conformance/ogles/GL/tan/tan_001_to_006.html fails on Intel
https://bugs.webkit.org/show_bug.cgi?id=124424

* platform/mac/TestExpectations:
Mark as flaky everywhere, since I have no way to mark it as failing on Intel
and passing elsewhere.

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

7 years agoUnreviewed, rolling out r159337.
commit-queue@webkit.org [Fri, 15 Nov 2013 19:21:23 +0000 (19:21 +0000)]
Unreviewed, rolling out r159337.
http://trac.webkit.org/changeset/159337
https://bugs.webkit.org/show_bug.cgi?id=124423

broke a bunch of fast/regions tests on EFL/GTK (Requested by
philn on #webkit).

Source/WebCore:

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::setLayoutOverflow):
(WebCore::InlineFlowBox::setVisualOverflow):
* rendering/InlineFlowBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addOverflowFromChildren):
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::estimateRegionRangeForBoxChild):
(WebCore::RenderBlock::updateRegionRangeForBoxChild):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::hasNextPage):
(WebCore::RenderBlockFlow::relayoutForPagination):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::positionNewFloatOnLine):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::borderBoxRectInRegion):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addVisualOverflow):
(WebCore::RenderBox::isUnsplittableForPagination):
(WebCore::RenderBox::overflowRectForPaintRejection):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderBoxModelObject.h:
* rendering/RenderBoxRegionInfo.h:
(WebCore::RenderBoxRegionInfo::createOverflow):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::checkRegionsWithStyling):
(WebCore::RenderFlowThread::mapFromLocalToFlowThread):
(WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):
(WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
* rendering/RenderFlowThread.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::parentClipRects):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::intersectsDamageRect):
(WebCore::RenderLayer::repaintIncludingDescendants):
* rendering/RenderLayer.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::addOverflowFromChildren):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
(WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
* rendering/RenderMultiColumnSet.h:
* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::createStyle):
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderOverflow.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::flowThreadPortionOverflowRect):
(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
(WebCore::shouldPaintRegionContentsInPhase):
(WebCore::RenderRegion::paintObject):
(WebCore::RenderRegion::hitTestContents):
(WebCore::RenderRegion::computeOverflowFromFlowThread):
(WebCore::RenderRegion::repaintFlowThreadContent):
(WebCore::RenderRegion::repaintFlowThreadContentRectangle):
(WebCore::RenderRegion::insertedIntoTree):
(WebCore::RenderRegion::ensureOverflowForBox):
(WebCore::RenderRegion::rectFlowPortionForBox):
(WebCore::RenderRegion::addLayoutOverflowForBox):
(WebCore::RenderRegion::addVisualOverflowForBox):
(WebCore::RenderRegion::layoutOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
* rendering/RenderRegion.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::shouldPaint):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::paint):

LayoutTests:

* fast/regions/bottom-overflow-out-of-first-region-expected.html:
* fast/regions/bottom-overflow-out-of-first-region.html:
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html:
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html:
* fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt:
* fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt:
* fast/regions/element-inflow-fixed-from-outflow-static-expected.txt:
* fast/regions/element-outflow-static-from-inflow-fixed-expected.txt:
* fast/regions/float-pushed-width-change-2-expected.html:
* fast/regions/float-pushed-width-change-2.html:
* fast/regions/float-pushed-width-change-expected.html:
* fast/regions/float-pushed-width-change.html:
* fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Removed.
* fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Removed.
* fast/regions/layers/regions-promoted-to-layers-expected.txt: Removed.
* fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Removed.
* fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Removed.
* fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Removed.
* fast/regions/outline-sides-in-region-expected.html:
* fast/regions/outline-sides-in-region.html:
* fast/regions/overflow-first-and-last-regions-expected.html: Removed.
* fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html: Removed.
* fast/regions/overflow-first-and-last-regions-in-container-hidden.html: Removed.
* fast/regions/overflow-first-and-last-regions.html: Removed.
* fast/regions/overflow-last-region-expected.html: Added.
* fast/regions/overflow-last-region.html: Added.
* fast/regions/overflow-nested-regions-expected.html: Removed.
* fast/regions/overflow-nested-regions.html: Removed.
* fast/regions/overflow-region-float-expected.html: Removed.
* fast/regions/overflow-region-float.html: Removed.
* fast/regions/overflow-region-inline-expected.html: Removed.
* fast/regions/overflow-region-inline.html: Removed.
* fast/regions/overflow-region-transform-expected.html: Removed.
* fast/regions/overflow-region-transform.html: Removed.
* fast/regions/overflow-scrollable-rotated-fragment-expected.html:
* fast/regions/overflow-scrollable-rotated-fragment.html:
* fast/regions/top-overflow-out-of-second-region-expected.html: Removed.
* fast/regions/top-overflow-out-of-second-region.html:
* fast/regions/webkit-flow-float-unable-to-push-expected.html:
* fast/regions/webkit-flow-float-unable-to-push.html:
* fast/repaint/increasing-region-content-height-expected.txt:
* fast/repaint/increasing-region-content-height.html:
* platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt: Added.
* platform/mac-wk2/TestExpectations:
* platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png: Added.
* platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt: Added.

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

7 years agoREGRESSION (r158586): callToJavaScript needs to save return PC to Sentinel frame
msaboff@apple.com [Fri, 15 Nov 2013 19:07:01 +0000 (19:07 +0000)]
REGRESSION (r158586): callToJavaScript needs to save return PC to Sentinel frame
https://bugs.webkit.org/show_bug.cgi?id=124420

Reviewed by Filip Pizlo.

Save the return PC into the sentinel frame.

* jit/JITStubsMSVC64.asm:
* jit/JITStubsX86.h:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:

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

7 years agoHovering over text using simple line path should not cause switch to line boxes
antti@apple.com [Fri, 15 Nov 2013 18:32:34 +0000 (18:32 +0000)]
Hovering over text using simple line path should not cause switch to line boxes
https://bugs.webkit.org/show_bug.cgi?id=124418

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/text/simple-lines-hover.html

* rendering/RenderText.cpp:
(WebCore::RenderText::absoluteRects):
(WebCore::RenderText::absoluteQuadsClippedToEllipsis):
(WebCore::RenderText::absoluteQuads):

    Collect quads and rects directly from simple lines without requiring the line box switch.

* rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::collectTextAbsoluteRects):
(WebCore::SimpleLineLayout::collectTextAbsoluteQuads):

    Add these.

* rendering/SimpleLineLayoutFunctions.h:
* rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::RunResolver::Run::start):
(WebCore::SimpleLineLayout::RunResolver::Run::end):

    For future use.

LayoutTests:

* fast/text/simple-lines-hover-expected.html: Added.
* fast/text/simple-lines-hover.html: Added.

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

7 years ago[CSS Shapes][CSS Regions] Simplify shape-inside-on-multiple-regions-with-negative...
zoltan@webkit.org [Fri, 15 Nov 2013 18:06:11 +0000 (18:06 +0000)]
[CSS Shapes][CSS Regions] Simplify shape-inside-on-multiple-regions-with-negative-shape-top.html
https://bugs.webkit.org/show_bug.cgi?id=123808

Reviewed by Mihnea Ovidenie.

Use a rectangle instead of a complex polygon in the test.

* fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top-expected.html:
* fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html:

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

7 years agoMediaTime addition and subtraction operators have errors when the rhs is infinite.
jer.noble@apple.com [Fri, 15 Nov 2013 18:03:47 +0000 (18:03 +0000)]
MediaTime addition and subtraction operators have errors when the rhs is infinite.
https://bugs.webkit.org/show_bug.cgi?id=124413

Reviewed by Eric Carlson.

Source/WTF:

Correctly account for infinities that can occur on the right-hand side of addition or
subtraction operators.

* wtf/MediaTime.cpp:
(WTF::MediaTime::operator+):
(WTF::MediaTime::operator-):

Tools:

Add a test for operator+ and operator- where an infinite value appears
on the right-hand side:
* TestWebKitAPI/Tests/WTF/MediaTime.cpp:
(TestWebKitAPI::TEST):

Add a LLDB summary provider for MediaTime which displays the rational
time as well as the value in seconds:
* lldb/lldb_webkit.py:
(__lldb_init_module):
(WTFMediaTime_SummaryProvider):
(WTFHashTableProvider.has_children):
(WTFMediaTimeProvider):
(WTFMediaTimeProvider.__init__):
(WTFMediaTimeProvider.timeValue):
(WTFMediaTimeProvider.timeScale):
(WTFMediaTimeProvider.isInvalid):
(WTFMediaTimeProvider.isPositiveInfinity):
(WTFMediaTimeProvider.isNegativeInfinity):
(WTFMediaTimeProvider.isIndefinite):

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

7 years agoMake it possible to select revision numbers on build.webkit.org/dashboard
timothy_horton@apple.com [Fri, 15 Nov 2013 17:47:10 +0000 (17:47 +0000)]
Make it possible to select revision numbers on build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=124400

Reviewed by Timothy Hatcher.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView.prototype.revisionLinksForIteration):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(.selectable):
Add a child span to the trac link, which has '-webkit-user-select: all' on it.
This way, a Dashboard user can highlight revision numbers for easy copying,
and doesn't even have to be precise about the selection.

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

7 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Fri, 15 Nov 2013 17:44:11 +0000 (17:44 +0000)]
Unreviewed EFL gardening

Add failure test expectations for failing tests.

* platform/efl/TestExpectations:

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

7 years agoresults.html should have a link to historical results for a test/all failing tests
timothy_horton@apple.com [Fri, 15 Nov 2013 17:42:14 +0000 (17:42 +0000)]
results.html should have a link to historical results for a test/all failing tests
https://bugs.webkit.org/show_bug.cgi?id=124402

Reviewed by Simon Fraser.

* fast/harness/results.html:
Add a new rightmost column, 'history'.
Clicking on the column header will open the flakiness dashboard
for the entire set of failing tests; clicking on the link
in a particular test's row will open it just for that single test.

* fast/harness/resources/results-test.js:
Update the harness test to expect the new number of columns.

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

7 years agoAdjust and add retina versions of EFL and GTK build.webkit.org/dashboard icons
timothy_horton@apple.com [Fri, 15 Nov 2013 17:32:14 +0000 (17:32 +0000)]
Adjust and add retina versions of EFL and GTK build.webkit.org/dashboard icons
https://bugs.webkit.org/show_bug.cgi?id=124399

Reviewed by Gustavo Noronha Silva.

Add new EFL and GTK icons (derived from Wikipedia's SVGs) to make new 1x and 2x icons,
with the icons adjusted to have solid backgrounds, to not be squished, and to not
intersect the ring, similar to the Mac icons.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/EFL.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/EFL@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/GTK.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/GTK@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
(documentReady.hideButton):
(documentReady):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(table.queue-grid tr.platform.linux-gtk img.logo):
(table.queue-grid tr.platform.linux-efl img.logo):

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

7 years agoFixed incorrectly placed NETWORK_PROCESS guard in NetworkConnectionToWebProcess.cpp
commit-queue@webkit.org [Fri, 15 Nov 2013 16:15:34 +0000 (16:15 +0000)]
Fixed incorrectly placed NETWORK_PROCESS guard in NetworkConnectionToWebProcess.cpp
https://bugs.webkit.org/show_bug.cgi?id=124398

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-11-15
Reviewed by Brady Eidson.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:

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

7 years ago[CSS Regions] Implement visual overflow for first & last regions
stavila@adobe.com [Fri, 15 Nov 2013 15:34:21 +0000 (15:34 +0000)]
[CSS Regions] Implement visual overflow for first & last regions
https://bugs.webkit.org/show_bug.cgi?id=118665

Source/WebCore:

In order to properly propagate the visual overflow of elements flowed inside regions,
the responsiblity of painting and hit-testing content inside flow threads has been
moved to the flow thread layer's level.
Each region keeps the associated overflow with each box in the RenderBoxRegionInfo
structure, including one for the flow thread itself. This data is used during
painting and hit-testing.

Reviewed by David Hyatt.

Tests: fast/regions/overflow-first-and-last-regions-in-container-hidden.html
       fast/regions/overflow-first-and-last-regions.html
       fast/regions/overflow-nested-regions.html
       fast/regions/overflow-region-float.html
       fast/regions/overflow-region-inline.html
       fast/regions/overflow-region-transform.html

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::setLayoutOverflow):
(WebCore::InlineFlowBox::setVisualOverflow):
* rendering/InlineFlowBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addOverflowFromChildren):
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::estimateRegionRangeForBoxChild):
(WebCore::RenderBlock::updateRegionRangeForBoxChild):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::hasNextPage):
(WebCore::RenderBlockFlow::relayoutForPagination):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::positionNewFloatOnLine):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::borderBoxRectInRegion):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addVisualOverflow):
(WebCore::RenderBox::isUnsplittableForPagination):
(WebCore::RenderBox::overflowRectForPaintRejection):
* rendering/RenderBox.h:
(WebCore::RenderBox::canHaveOutsideRegionRange):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderBoxModelObject.h:
* rendering/RenderBoxRegionInfo.h:
(WebCore::RenderBoxRegionInfo::createOverflow):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
(WebCore::RenderFlowThread::mapFromLocalToFlowThread):
(WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
(WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
(WebCore::RenderFlowThread::flipForWritingModeLocalCoordinates):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):
(WebCore::RenderFlowThread::addRegionsVisualOverflow):
(WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
* rendering/RenderFlowThread.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::expandClipRectForRegionAndReflection):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::parentClipRects):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::intersectsDamageRect):
(WebCore::RenderLayer::updateDescendantsLayerListsIfNeeded):
(WebCore::RenderLayer::repaintIncludingDescendants):
(WebCore::RenderLayer::paintNamedFlowThreadInsideRegion):
(WebCore::RenderLayer::paintFlowThreadIfRegion):
(WebCore::RenderLayer::hitTestFlowThreadIfRegion):
* rendering/RenderLayer.h:
(WebCore::ClipRect::inflateX):
(WebCore::ClipRect::inflateY):
(WebCore::ClipRect::inflate):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::addOverflowFromChildren):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
(WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
* rendering/RenderMultiColumnSet.h:
* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::createStyle):
(WebCore::RenderNamedFlowFragment::namedFlowThread):
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderOverflow.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::flowThreadPortionOverflowRect):
(WebCore::RenderRegion::flowThreadPortionLocation):
(WebCore::RenderRegion::regionContainerLayer):
(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
(WebCore::RenderRegion::computeOverflowFromFlowThread):
(WebCore::RenderRegion::repaintFlowThreadContent):
(WebCore::RenderRegion::repaintFlowThreadContentRectangle):
(WebCore::RenderRegion::insertedIntoTree):
(WebCore::RenderRegion::ensureOverflowForBox):
(WebCore::RenderRegion::rectFlowPortionForBox):
(WebCore::RenderRegion::addLayoutOverflowForBox):
(WebCore::RenderRegion::addVisualOverflowForBox):
(WebCore::RenderRegion::layoutOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
* rendering/RenderRegion.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::shouldPaint):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::paint):

LayoutTests:

Rebased some tests due to regions layers changes.
Updated some tests to increase clarity. Some of them were only passing because two
regions were close together and the fact that an element was being painted
inside the wrong region was not visible. Floats are now also unsplittable.
        - bottom-overflow-out-of-first-region
        - float-pushed-width-change-2
        - float-pushed-width-change
        - webkit-flow-float-unable-to-push

Changed top-overflow-out-of-second-region to reftest.

Added new tests for testing the visual overflow in different situations
(transformed, inline, opacity, floating).

Reviewed by David Hyatt.

* fast/regions/bottom-overflow-out-of-first-region-expected.html:
* fast/regions/bottom-overflow-out-of-first-region.html:
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html:
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html:
* fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt:
* fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt:
* fast/regions/element-inflow-fixed-from-outflow-static-expected.txt:
* fast/regions/element-outflow-static-from-inflow-fixed-expected.txt:
* fast/regions/float-pushed-width-change-2-expected.html:
* fast/regions/float-pushed-width-change-2.html:
* fast/regions/float-pushed-width-change-expected.html:
* fast/regions/float-pushed-width-change.html:
* fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Added.
* fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Added.
* fast/regions/layers/regions-promoted-to-layers-expected.txt: Added.
* fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Added.
* fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Added.
* fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Added.
* fast/regions/outline-sides-in-region-expected.html:
* fast/regions/outline-sides-in-region.html:
* fast/regions/overflow-first-and-last-regions-expected.html: Added.
* fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html: Added.
* fast/regions/overflow-first-and-last-regions-in-container-hidden.html: Added.
* fast/regions/overflow-first-and-last-regions.html: Added.
* fast/regions/overflow-last-region-expected.html: Removed.
* fast/regions/overflow-last-region.html: Removed.
* fast/regions/overflow-nested-regions-expected.html: Added.
* fast/regions/overflow-nested-regions.html: Added.
* fast/regions/overflow-region-float-expected.html: Added.
* fast/regions/overflow-region-float.html: Added.
* fast/regions/overflow-region-inline-expected.html: Added.
* fast/regions/overflow-region-inline.html: Added.
* fast/regions/overflow-region-transform-expected.html: Added.
* fast/regions/overflow-region-transform.html: Added.
* fast/regions/overflow-scrollable-rotated-fragment-expected.html:
* fast/regions/overflow-scrollable-rotated-fragment.html:
* fast/regions/top-overflow-out-of-second-region-expected.html: Copied from LayoutTests/fast/regions/top-overflow-out-of-second-region.html.
* fast/regions/top-overflow-out-of-second-region.html:
* fast/regions/webkit-flow-float-unable-to-push-expected.html:
* fast/regions/webkit-flow-float-unable-to-push.html:
* platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt: Removed.
* platform/mac-wk2/TestExpectations:
* platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png: Removed.
* platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt: Removed.

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

7 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Fri, 15 Nov 2013 15:31:47 +0000 (15:31 +0000)]
Unreviewed EFL gardening

Update TestExpectations files with failing tests.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

7 years ago[GStreamer] Add support for Media Source API
commit-queue@webkit.org [Fri, 15 Nov 2013 15:05:48 +0000 (15:05 +0000)]
[GStreamer] Add support for Media Source API
https://bugs.webkit.org/show_bug.cgi?id=99065

Source/WebCore:

The patch integrate a Media Source player for the GStreamer backend. The implementented architecture is:
- MediaPlayerPrivateGStreamer engine is modified to support Media Source URIs (change blob:// to mediasourceblob://), in addition to the existing support for web (http/https/blob) URIs
- Similar to the existing WebKitWebSrc gstreamer element that handles web URIs, a new gstreamer element named WebKitMediaSrc is implemented to handle Media Source URIs
- WebKitMediaSrc registers its URI protocol handler, allowing uridecodebin to dynamically create the appropriate source element.
- The WebKitMediaSrc element creates a bin with 2 appsrc: One for Audio and One for Video. Pads are dynamically linked at the reception of first video and audio buffers.

Patch by Stephane Jadaud <sjadaud@sii.fr> on 2013-11-15
Reviewed by Philippe Normand.

Tests: Activate http/tests/media/media-source and media/media-source tests

* GNUmakefile.am:
* GNUmakefile.list.am:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::initializeGStreamerAndRegisterWebKitElements):
(WebCore::MediaPlayerPrivateGStreamer::load):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gstreamer/MediaSourceGStreamer.cpp: Added.
(WebCore::MediaSourceGStreamer::open):
(WebCore::MediaSourceGStreamer::MediaSourceGStreamer):
(WebCore::MediaSourceGStreamer::~MediaSourceGStreamer):
(WebCore::MediaSourceGStreamer::addSourceBuffer):
(WebCore::MediaSourceGStreamer::setDuration):
(WebCore::MediaSourceGStreamer::markEndOfStream):
(WebCore::MediaSourceGStreamer::unmarkEndOfStream):
* platform/graphics/gstreamer/MediaSourceGStreamer.h: Added.
* platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp: Added.
(WebCore::SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer):
(WebCore::SourceBufferPrivateGStreamer::append):
(WebCore::SourceBufferPrivateGStreamer::abort):
(WebCore::SourceBufferPrivateGStreamer::removedFromMediaSource):
* platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h: Added.
* platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp: Added.
(webKitMediaSrcAddSrc):
(webkit_media_src_init):
(webKitMediaSrcFinalize):
(webKitMediaSrcSetProperty):
(webKitMediaSrcGetProperty):
(webKitMediaVideoSrcStop):
(webKitMediaAudioSrcStop):
(webKitMediaVideoSrcStart):
(webKitMediaAudioSrcStart):
(webKitMediaSrcChangeState):
(webKitMediaSrcQueryWithParent):
(webKitMediaSrcUriGetType):
(webKitMediaSrcGetProtocols):
(webKitMediaSrcGetUri):
(webKitMediaSrcSetUri):
(webKitMediaSrcUriHandlerInit):
(webKitMediaVideoSrcNeedDataMainCb):
(webKitMediaAudioSrcNeedDataMainCb):
(webKitMediaVideoSrcNeedDataCb):
(webKitMediaAudioSrcNeedDataCb):
(webKitMediaVideoSrcEnoughDataMainCb):
(webKitMediaAudioSrcEnoughDataMainCb):
(webKitMediaVideoSrcEnoughDataCb):
(webKitMediaAudioSrcEnoughDataCb):
(webKitMediaVideoSrcSeekMainCb):
(webKitMediaAudioSrcSeekMainCb):
(webKitMediaVideoSrcSeekDataCb):
(webKitMediaAudioSrcSeekDataCb):
(webKitMediaSrcSetMediaPlayer):
(webKitMediaSrcSetPlayBin):
(MediaSourceClientGstreamer::MediaSourceClientGstreamer):
(MediaSourceClientGstreamer::~MediaSourceClientGstreamer):
(MediaSourceClientGstreamer::didReceiveDuration):
(MediaSourceClientGstreamer::didReceiveData):
(MediaSourceClientGstreamer::didFinishLoading):
(MediaSourceClientGstreamer::didFail):
* platform/graphics/gstreamer/WebKitMediaSourceGStreamer.h: Added.

Tools:

Patch by Stephane Jadaud <sjadaud@sii.fr> on 2013-11-15
Reviewed by Philippe Normand.

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Patch by Stephane Jadaud <sjadaud@sii.fr> on 2013-11-15
Reviewed by Philippe Normand.

* platform/gtk/TestExpectations:

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

7 years ago[EFL] Leak in ewk_frame_certificate_status_get()
berto@igalia.com [Fri, 15 Nov 2013 14:08:00 +0000 (14:08 +0000)]
[EFL] Leak in ewk_frame_certificate_status_get()
https://bugs.webkit.org/show_bug.cgi?id=124401

Reviewed by Carlos Garcia Campos.

The SoupMessage object is being leaked. In in this case that
object is not even necessary since ResourceRequest already
provides a way to get the soup flags directly.

* ewk/ewk_frame.cpp:
(ewk_frame_certificate_status_get):

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

7 years agoCleanup the build from unused parameters in WebKit2
ossy@webkit.org [Fri, 15 Nov 2013 13:09:28 +0000 (13:09 +0000)]
Cleanup the build from unused parameters in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=124201

Patch by Tibor Meszaros <mtibor@inf.u-szeged.hu> on 2013-11-15
Reviewed by Darin Adler.

* Shared/Plugins/Netscape/PluginInformation.cpp:
(WebKit::getPluginModuleInformation):
* UIProcess/API/C/WKBatteryManager.cpp:
(WKBatteryManagerSetProvider):
(WKBatteryManagerProviderDidChangeBatteryStatus):
(WKBatteryManagerProviderUpdateBatteryStatus):
* UIProcess/API/C/WKBatteryStatus.cpp:
(WKBatteryStatusCreate):
* UIProcess/API/C/WKColorPickerResultListener.cpp:
(WKColorPickerResultListenerSetColor):
* UIProcess/API/C/WKContext.cpp:
(WKContextGetBatteryManager):
(WKContextGetDatabaseManager):
(WKContextGetNetworkInfoManager):
* UIProcess/API/C/WKDatabaseManager.cpp:
(WKDatabaseManagerSetClient):
(WKDatabaseManagerGetDatabasesByOrigin):
(WKDatabaseManagerGetDatabaseOrigins):
(WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
(WKDatabaseManagerDeleteDatabasesForOrigin):
(WKDatabaseManagerDeleteAllDatabases):
(WKDatabaseManagerSetQuotaForOrigin):
* UIProcess/API/C/WKNetworkInfo.cpp:
(WKNetworkInfoCreate):
* UIProcess/API/C/WKNetworkInfoManager.cpp:
(WKNetworkInfoManagerSetProvider):
(WKNetworkInfoManagerProviderDidChangeNetworkInformation):
* UIProcess/API/C/WKOpenPanelParameters.cpp:
(WKOpenPanelParametersCopyCapture):
* UIProcess/API/C/WKVibration.cpp:
(WKVibrationSetProvider):
* UIProcess/API/efl/EwkView.cpp:
(EwkView::createNewPage):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setVisibilityState):
(WebKit::WebPageProxy::unavailablePluginButtonClicked):
* UIProcess/efl/ViewClientEfl.cpp:
(WebKit::ViewClientEfl::didChangeContentsPosition):
(WebKit::ViewClientEfl::didRenderFrame):
(WebKit::ViewClientEfl::didChangeViewportAttributes):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setDatabaseQuota):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow):

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

7 years agoWeb Inspector: New color picker
graouts@apple.com [Fri, 15 Nov 2013 11:03:03 +0000 (11:03 +0000)]
Web Inspector: New color picker
https://bugs.webkit.org/show_bug.cgi?id=124354

Reviewed by Timothy Hatcher.

Beginning of a new color picker. The focus of this new picker is to let you pick from
a color wheel as the primary mean of color picking, with additional slider controls for
the brightness and the opacity, better matching the default OS X color picker. This is the
basis for a color picker that will evolve to support the following:

- editable CSS value label (http://webkit.org/b/124356)
- picking a color anywhere on screen (http://webkit.org/b/124357)
- swatches based on other colors in page (http://webkit.org/b/124358)

Note also that the color wheel has not been tested on Retina displays
(see http://webkit.org/b/124355).

* UserInterface/CSSColorPicker.css: Removed.
* UserInterface/CSSColorPicker.js: Removed.
Previous color picker, now removed in favor of the new ColorPicker class.

* UserInterface/CSSStyleDeclarationTextEditor.js:
Adopt new class name for the color picker, add a little padding to the popover
target frame and set the base color after the picker has been presented.

* UserInterface/Color.js:
(WebInspector.Color.prototype._hslToRGB):
Simplified math.

(WebInspector.Color.rgb2hsv):
(WebInspector.Color.hsv2rgb):
New utilities to deal with HSV colors used in the ColorWheel.

* UserInterface/ColorPicker.css: Added.

* UserInterface/ColorPicker.js: Added.
(WebInspector.ColorPicker):
(WebInspector.ColorPicker.prototype.get element):
(WebInspector.ColorPicker.prototype.set brightness):
(WebInspector.ColorPicker.prototype.set opacity):
(WebInspector.ColorPicker.prototype.get color):

(WebInspector.ColorPicker.prototype.set color):
We set the _dontUpdateColor flag here such that we don't attempt to
notify about a color change at this point in case the selected color
is too saturated to be represented accurately on the color wheel and
we would end up changing the color by virtue of presenting the popover.

(WebInspector.ColorPicker.prototype.colorWheelColorDidChange):
(WebInspector.ColorPicker.prototype.sliderValueDidChange):
(WebInspector.ColorPicker.prototype._updateColor):
(WebInspector.ColorPicker.prototype._updateSliders):

* UserInterface/ColorWheel.css: Added.

* UserInterface/ColorWheel.js: Added.
The ColorWheel makes use of three different <canvas> elements to draw itself.
The "raw" canvas is used to draw the raw, un-tinted color wheel with poor
aliasing. The "raw" canvas is only drawn when the dimension is changed.
The "tinted" canvas is used to draw the "raw" canvas with a black overlay
based on the brightness set on the wheel. The "final" canvas, the only <canvas>
element attached to the DOM, is used to draw the "tinted" canvas into a circle
clip of a slightly narrower radius so that the drawn image is visually more pleasing
and can be displayed above virtually any background color.

We use color math to generate the color wheel, courtesy of Dean Jackson, and also to
figure out where to position the crosshair for the provided base color as well as
the opposite operation where we get the color under the mouse pointer.

The color wheel fires a single delegate method call colorWheelColorDidChange(colorWheel),
the colors themselves being retrieved via the public properties tintedColor and rawColor.

(WebInspector.ColorWheel):
(WebInspector.ColorWheel.prototype.set dimension):
(WebInspector.ColorWheel.prototype.get element):
(WebInspector.ColorWheel.prototype.get brightness):
(WebInspector.ColorWheel.prototype.set brightness):
(WebInspector.ColorWheel.prototype.get tintedColor):
(WebInspector.ColorWheel.prototype.set tintedColor):
(WebInspector.ColorWheel.prototype.get rawColor):
(WebInspector.ColorWheel.prototype.handleEvent):
(WebInspector.ColorWheel.prototype._handleMousedown):
(WebInspector.ColorWheel.prototype._handleMousemove):
(WebInspector.ColorWheel.prototype._handleMouseup):
(WebInspector.ColorWheel.prototype._pointInCircleForEvent):
(WebInspector.ColorWheel.prototype._pointInCircleForEvent.angleFromCenterToPoint):
(WebInspector.ColorWheel.prototype._pointInCircleForEvent.pointOnCircumference):
(WebInspector.ColorWheel.prototype._updateColorForMouseEvent):
(WebInspector.ColorWheel.prototype._setCrosshairPosition):
(WebInspector.ColorWheel.prototype._tintedColorToPointAndBrightness):
(WebInspector.ColorWheel.prototype._drawRawCanvas):
(WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
(WebInspector.ColorWheel.prototype._drawTintedCanvas):
(WebInspector.ColorWheel.prototype._draw):

* UserInterface/Images/SliderThumb.png: Added.
* UserInterface/Images/SliderThumb@2x.png: Added.
* UserInterface/Images/SliderThumbPressed.png: Added.
* UserInterface/Images/SliderThumbPressed@2x.png: Added.
Supporting artwork for the new Slider class.

* UserInterface/Main.html:
Remove the previous color picker class and add the new one, as well as the new Slider class.

* UserInterface/Slider.css: Added.

* UserInterface/Slider.js: Added.
New slider to match the look of the sliders used in the native OS X color picker. The most
interesting feature of these sliders is that they can be transformed using CSS in any way
and will still operate correctly due to always converting the mouse coordinates in the page
coordinate system to the coordinate system local to the backing element. For instance, the
color picker uses two sliders transformed to be displayed vertically.

As it stands these slides only support values between 0 and 1 and fire a single delegate
method call sliderValueDidChange(slider, newValue).

(WebInspector.Slider):
(WebInspector.Slider.prototype.get element):
(WebInspector.Slider.prototype.get value):
(WebInspector.Slider.prototype.set value):
(WebInspector.Slider.prototype.handleEvent):
(WebInspector.Slider.prototype._handleMousedown):
(WebInspector.Slider.prototype._handleMousemove):
(WebInspector.Slider.prototype._handleMouseup):
(WebInspector.Slider.prototype._localPointForEvent):
(WebInspector.Slider.prototype.get _maxX):

* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
Update file names for the new color picker.

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

7 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Fri, 15 Nov 2013 10:35:35 +0000 (10:35 +0000)]
Unreviewed EFL gardening

Mark flaky and incorrectly passing tests.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
* platform/efl/ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box-expected.txt: Removed wrong test expectation.

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

7 years ago[GTK] Bumping GStreamer version to 1.2.1 for the dependencies
calvaris@igalia.com [Fri, 15 Nov 2013 10:23:43 +0000 (10:23 +0000)]
[GTK] Bumping GStreamer version to 1.2.1 for the dependencies
https://bugs.webkit.org/show_bug.cgi?id=124360

Reviewed by Philippe Normand.

Tools:

* gtk/jhbuild.modules: Bumped GStreamer version up to 1.2.1

LayoutTests:

* platform/gtk/TestExpectations: Flagged
media/video-canvas-drawing-output.html

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

7 years ago[EFL] Layout tests with international text properties need to be rebaselined.
commit-queue@webkit.org [Fri, 15 Nov 2013 09:21:52 +0000 (09:21 +0000)]
[EFL] Layout tests with international text properties need to be rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=124389

Unreviewed, EFL rabaseline.

EFL international text rebaselined after r147668.
Move some expectation files to efl common place because those files in wk1 are
in exact accordance with files in wk2, and then delete the files in wk1 and wk2.

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

* platform/efl-wk1/fast/text/international/003-expected.txt: Removed.
* platform/efl-wk1/fast/text/international/bidi-layout-across-linebreak-expected.txt: Removed.
* platform/efl-wk2/TestExpectations:
* platform/efl/fast/text/international/002-expected.txt:
* platform/efl/fast/text/international/003-expected.txt:
Renamed from LayoutTests/platform/efl-wk2/fast/text/international/003-expected.txt.
* platform/efl/fast/text/international/bidi-layout-across-linebreak-expected.txt:
Renamed from LayoutTests/platform/efl-wk2/fast/text/international/bidi-layout-across-linebreak-expected.txt.

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

7 years ago[Win] Improve support for command line builds of 64-bit JSC
bfulgham@apple.com [Fri, 15 Nov 2013 04:58:12 +0000 (04:58 +0000)]
[Win] Improve support for command line builds of 64-bit JSC
https://bugs.webkit.org/show_bug.cgi?id=124380

Patch by Brent Fulgham <bfulgham@apple.com> on 2013-11-14
Reviewed by David Kilzer.

* Scripts/webkitdirs.pm:
(argumentsForConfiguration): Recognize all flavors of Debug and Release (i.e., 'Debug',
'Debug|Win32', 'Debug|x64') when passing arguments to child processes.
(determinePassedConfiguration): Don't suffix configuration with "|Win32" or "|x64". That's
what the "$configurationForVisualStudio" value is for.

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

7 years agoUpdate WebCrypto tests
ap@apple.com [Fri, 15 Nov 2013 02:50:37 +0000 (02:50 +0000)]
Update WebCrypto tests
https://bugs.webkit.org/show_bug.cgi?id=124388

Reviewed by Anders Carlsson.

Updated tests for newer common.js. Changed some tests from just dumping results
to comparing them to known expected ones. Fixed a syntax error in
aes-cbc-invalid-length.html, so it now actually runs.

* crypto/subtle/resources/common.js: Update to a new version from Blink, because
it's much nicer than the old one, and it's good to be compatible at test level.
Moved crypto.subtle definition from webkitSubtle here to avoid repeating it in all
tests. Added a quick and dirty Promise.all implementation.

* crypto/subtle/aes-cbc-192-encrypt-decrypt-expected.txt:
* crypto/subtle/aes-cbc-192-encrypt-decrypt.html:
* crypto/subtle/aes-cbc-256-encrypt-decrypt-expected.txt:
* crypto/subtle/aes-cbc-256-encrypt-decrypt.html:
* crypto/subtle/aes-cbc-encrypt-decrypt-expected.txt:
* crypto/subtle/aes-cbc-encrypt-decrypt-with-padding-expected.txt:
* crypto/subtle/aes-cbc-encrypt-decrypt-with-padding.html:
* crypto/subtle/aes-cbc-encrypt-decrypt.html:
* crypto/subtle/aes-cbc-generate-key.html:
* crypto/subtle/aes-cbc-import-jwk-expected.txt:
* crypto/subtle/aes-cbc-import-jwk.html:
* crypto/subtle/aes-cbc-invalid-length-expected.txt:
* crypto/subtle/aes-cbc-invalid-length.html:
* crypto/subtle/aes-cbc-wrong-key-class.html:
* crypto/subtle/aes-export-key-expected.txt:
* crypto/subtle/aes-export-key.html:
* crypto/subtle/argument-conversion-expected.txt:
* crypto/subtle/argument-conversion.html:
* crypto/subtle/hmac-export-key-expected.txt:
* crypto/subtle/hmac-export-key.html:
* crypto/subtle/hmac-generate-key.html:
* crypto/subtle/hmac-import-jwk-expected.txt:
* crypto/subtle/hmac-import-jwk.html:
* crypto/subtle/hmac-sign-verify-empty-key-expected.txt:
* crypto/subtle/hmac-sign-verify-empty-key.html:
* crypto/subtle/hmac-sign-verify-expected.txt:
* crypto/subtle/hmac-sign-verify.html:
* crypto/subtle/import-jwk-expected.txt:
* crypto/subtle/import-jwk.html:
* crypto/subtle/rsassa-pkcs1-v1_5-generate-key-expected.txt:
* crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html:
* crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-expected.txt:
* crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html:
* crypto/subtle/rsassa-pkcs1-v1_5-sign-verify-expected.txt:
* 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@159327 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoXMLSerializer escapes < > & correctly inside <script> and <style> tags.
commit-queue@webkit.org [Fri, 15 Nov 2013 02:27:59 +0000 (02:27 +0000)]
XMLSerializer escapes < > & correctly inside <script> and <style> tags.
https://bugs.webkit.org/show_bug.cgi?id=123914

Patch by Victor Costan <costan@gmail.com> on 2013-11-14
Reviewed by Darin Adler.

Source/WebCore:

Test: fast/dom/XMLSerializer-entities.html

* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::serializeNodesWithNamespaces): vim removed some whitespace.
(WebCore::MarkupAccumulator::entityMaskForText): Fixed the returned value for <script> etc in XML.

LayoutTests:

* fast/dom/SelectorAPI/resig-SelectorsAPI-test-expected.txt: fix incorrect expectations.
* fast/dom/SelectorAPI/resig-SelectorsAPI-test.xhtml: use CDATA consistently.
* fast/dom/XMLSerializer-entities-expected.txt: Added.
* fast/dom/XMLSerializer-entities.html: Added.

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

7 years agoASSERTION FAILED: rangesIntersect(m_renderer.pixelSnappedLogicalTopForFloat(floatingO...
bjonesbe@adobe.com [Fri, 15 Nov 2013 01:34:50 +0000 (01:34 +0000)]
ASSERTION FAILED: rangesIntersect(m_renderer.pixelSnappedLogicalTopForFloat(floatingObject), m_renderer.pixelSnappedLogicalBottomForFloat(floatingObject), m_lineTop, m_lineBottom) ../../Source/WebCore/rendering/FloatingObjects.cpp(463)
https://bugs.webkit.org/show_bug.cgi?id=124375

Reviewed by Alexandru Chiculita.

When moving the placed floats tree over to LayoutUnit, I forgot to
update these asserts, which causes issues on ports with subpixel
layout enabled.

No new tests, no behavior change.

* rendering/FloatingObjects.cpp:
(WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
(WebCore::::collectIfNeeded):

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

7 years agoClean up sequence handling in Blob constructor
commit-queue@webkit.org [Fri, 15 Nov 2013 00:55:45 +0000 (00:55 +0000)]
Clean up sequence handling in Blob constructor
https://bugs.webkit.org/show_bug.cgi?id=124343

Patch by Victor Costan <costan@gmail.com> on 2013-11-14
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Added test case to LayoutTests/fast/files/blob-constructor.html

* bindings/js/JSBlobCustom.cpp:
(WebCore::JSBlobConstructor::constructJSBlob):
    Handle exceptions in sequences, eliminate double type-checking for
    ArrayBuffer, ArrayBufferView and Blob parts.

LayoutTests:

* fast/files/blob-constructor-expected.txt:
* fast/files/script-tests/blob-constructor.js:
    Add test with sequence that throws an error on property access.
(get Object):

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

7 years ago[Cocoa] WKBrowsingContextController's policy client implementation over-releases...
mitz@apple.com [Fri, 15 Nov 2013 00:28:38 +0000 (00:28 +0000)]
[Cocoa] WKBrowsingContextController's policy client implementation over-releases WKURLRequests and WKURLResponses
https://bugs.webkit.org/show_bug.cgi?id=124386

Reviewed by Sam Weinig.

* UIProcess/API/mac/WKBrowsingContextController.mm:
(setUpPagePolicyClient): Changed to release the Cocoa objects we copy out of the WK objects
passed into the client callbacks, but not the WK objects themselves, which are not owned by
the callbacks.

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

7 years agoMake CLoop easier to build, and make it work
oliver@apple.com [Fri, 15 Nov 2013 00:12:51 +0000 (00:12 +0000)]
Make CLoop easier to build, and make it work
https://bugs.webkit.org/show_bug.cgi?id=124359

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add --cloop to build-jsc, build-webkit and friends.

Also make CLoop build and work again - This meant adding a
couple of missing ENABLE(DFG_JIT) blocks, and fixing a few
other references.

* Configurations/FeatureDefines.xcconfig:
* bytecode/BytecodeLivenessAnalysis.cpp:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/DFGExitProfile.cpp:
* dfg/DFGCapabilities.cpp:
* dfg/DFGCompilationKey.cpp:
* dfg/DFGCompilationMode.cpp:
* jit/JITExceptions.cpp:
(JSC::genericUnwind):

Source/WebCore:

Add cloop configuration info to WebCore FeatureDefines
so that it's consistent with JSC

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

Make building with the CLoop forcibly enabled manually
disable the JITs

* wtf/Platform.h:

Tools:

Add --cloop support to forcibly enable to CLoop build

* Scripts/build-jsc:
* Scripts/build-webkit:

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