WebKit-https.git
5 years ago[CSS Grid Layout] Support "sparse" in auto-placed items locked to a row/column
rego@igalia.com [Tue, 24 Feb 2015 17:38:04 +0000 (17:38 +0000)]
[CSS Grid Layout] Support "sparse" in auto-placed items locked to a row/column
https://bugs.webkit.org/show_bug.cgi?id=141748

Reviewed by Sergio Villar Senin.

Source/WebCore:

The first step of grid item placement algorithm has been updated in
order to support both "sparse" and "dense" modes. Current code is always
doing a "dense" packing in this case.

See: http://dev.w3.org/csswg/css-grid/#auto-placement-algo

Test: fast/css-grid-layout/grid-item-auto-placement-fixed-row-column.html

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid): Add a cursor
for each row/column and use it to place items in the right position.

LayoutTests:

New test to check "sparse" and "dense" packing mode behavior in
auto-placed items locked to a given row (or column).

* fast/css-grid-layout/grid-item-auto-placement-definite-span.html:
Extract some common styles to resources/grid.css.
* fast/css-grid-layout/grid-item-auto-placement-fixed-row-column-expected.txt: Added.
* fast/css-grid-layout/grid-item-auto-placement-fixed-row-column.html: Added.
* fast/css-grid-layout/resources/grid.css: Modified generic CSS file to
add common styles.

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

5 years ago[GTK] Layout Test accessibility/roles-exposed.html is failing
jdiggs@igalia.com [Tue, 24 Feb 2015 17:20:01 +0000 (17:20 +0000)]
[GTK] Layout Test accessibility/roles-exposed.html is failing
https://bugs.webkit.org/show_bug.cgi?id=141960

Reviewed by Martin Robinson.

Source/WebCore:

The test was failing because Gtk now uses GtkColorChooserDialog for the
color input, making the input field a button which results in the color
chooser dialog appearing. As a side effect of this change, the input now
has an accessible role of ColorWell, which is currently mapped to
ATK_ROLE_COLOR_CHOOSER (which is by definition the dialog which results
upon activating the button input field). Changed the Gtk platform mapping
to ATK_ROLE_BUTTON, leaving the Efl mapping as-is.

No new tests. Instead, updated and unskipped failing test.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):

LayoutTests:

* platform/gtk/TestExpectations: Unskip the failing test.
* platform/gtk/accessibility/roles-exposed-expected.txt: Update the expectations.

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

5 years agoCrash loading local file with WebPageProxy::loadAlternateHTMLString
commit-queue@webkit.org [Tue, 24 Feb 2015 17:11:27 +0000 (17:11 +0000)]
Crash loading local file with WebPageProxy::loadAlternateHTMLString
https://bugs.webkit.org/show_bug.cgi?id=141867

Patch by Michael Catanzaro <mcatanzaro@igalia.com> on 2015-02-24
Reviewed by Anders Carlsson.

Source/WebKit2:

WebPageProxy::loadAlternateHTMLString needs to assume read access to unreachableURL as well
as baseURL, because unreachableURL will get added to the back/forward list, causing us to
crash later on when we notice the unexpected URL received in checkURLReceivedFromWebProcess.

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

Tools:

* TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
(TestWebKitAPI::loadAlternateHTMLString): Split most of this test into a function so it can
be shared with the new test.
(TestWebKitAPI::TEST): Add a cross-platform test for this crash.
* TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp: Add a GTK+ test for this crash.
(testLoadAlternateHTMLForLocalPage):
(beforeAll):

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

5 years agoOur bizarre behavior on Arguments::defineOwnProperty should be deliberate rather...
fpizlo@apple.com [Tue, 24 Feb 2015 17:08:06 +0000 (17:08 +0000)]
Our bizarre behavior on Arguments::defineOwnProperty should be deliberate rather than a spaghetti incident
https://bugs.webkit.org/show_bug.cgi?id=141951

Reviewed by Benjamin Poulain.

This patch has no behavioral change, but it simplifies a bunch of wrong code. The code is
still wrong in exactly the same way, but at least it's obvious what's going on. The wrongness
is covered by this bug: https://bugs.webkit.org/show_bug.cgi?id=141952.

* runtime/Arguments.cpp:
(JSC::Arguments::copyBackingStore): We should only see the arguments token; assert otherwise. This works because if the GC sees the butterfly token it calls the JSObject::copyBackingStore method directly.
(JSC::Arguments::defineOwnProperty): Make our bizarre behavior deliberate rather than an accident of a decade of patches.
* tests/stress/arguments-bizarre-behavior.js: Added.
(foo):
* tests/stress/arguments-bizarre-behaviour-disable-enumerability.js: Added. My choice of spellings of the word "behavio[u]r" is almost as consistent as our implementation of arguments.
(foo):
* tests/stress/arguments-custom-properties-gc.js: Added. I added this test because at first I was unsure if we GCd arguments correctly.
(makeBaseArguments):
(makeArray):
(cons):

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

5 years ago[GTK] Fonts loaded via @font-face look bad
commit-queue@webkit.org [Tue, 24 Feb 2015 17:07:46 +0000 (17:07 +0000)]
[GTK] Fonts loaded via @font-face look bad
https://bugs.webkit.org/show_bug.cgi?id=140994

Patch by Michael Catanzaro <mcatanzaro@igalia.com> on 2015-02-24
Reviewed by Martin Robinson.

We've had several complaints that woff fonts look bad on some websites. This seems to be a
combination of multiple issues. For one, we don't look at Fontconfig settings at all when
creating a web font. This commit changes FontPlatformData::initializeWithFontFace to instead
use sane default settings from Fontconfig when loading a web font, rather than accepting the
default settings from GTK+, which are normally overridden by Fontconfig when loading system
fonts. However, we will hardcode the hinting setting for web fonts to always force use of
the light autohinter, so that we do not use a font's native hints. This avoids compatibility
issues when fonts with poor native hinting are only tested in browsers that do not use the
native hints. It also allows us to sidestep future security vulnerabilities in FreeType's
bytecode interpreter.

The net result of this is that there should be little noticable difference if you have GTK+
set to use slight hinting (which forces use of the autohinter) unless you have customized
Fontconfig configuration, but a dramatic improvement with particular fonts if you use medium
or full hinting. This should reduce complaints about our font rendering on "fancy sites."

No new tests, since the affected fonts we've found are not freely redistributable.

* platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
(WebCore::FontCustomPlatformData::FontCustomPlatformData): Force web fonts to be autohinted.
* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::getDefaultCairoFontOptions): Renamed to disambiguate.
(WebCore::getDefaultFontconfigOptions): Added.
(WebCore::FontPlatformData::initializeWithFontFace): Always call
FontPlatformData::setCairoOptionsFromFontConfigPattern. If the FontPlatformData was not
created with an FcPattern (e.g. because this is a web font), call
getDefaultFontconfigOptions to get a sane default FcPattern.
(WebCore::FontPlatformData::setOrientation): Renamed call to getDefaultCairoFontOptions.
(WebCore::getDefaultFontOptions): Deleted.

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

5 years ago[CSS Grid Layout] Use Ahem in grid-item-order-in-content-sized-columns-resolution...
rego@igalia.com [Tue, 24 Feb 2015 17:07:33 +0000 (17:07 +0000)]
[CSS Grid Layout] Use Ahem in grid-item-order-in-content-sized-columns-resolution.html
https://bugs.webkit.org/show_bug.cgi?id=141970

Reviewed by Sergio Villar Senin.

Without using Ahem we were having different results depending on the
platform.

* fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution-expected.txt:
  Update results to the new values.
* fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution.html:
  Use Ahem.

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

5 years ago[Cocoa] Break internal reference cycle in WebCore::Font.
akling@apple.com [Tue, 24 Feb 2015 16:46:18 +0000 (16:46 +0000)]
[Cocoa] Break internal reference cycle in WebCore::Font.
<https://webkit.org/b/141941>
<rdar://problem/19650570>

Reviewed by Antti Koivisto.

The Cocoa implementation of Font::platformCreateScaledFont() tried to be smart and use the FontCache.
This didn't work out well when scaling a 0pt Font, since scaling 0pt by any factor will return 0pt.

We'd have a 0pt font, scale it by 0.7 to get a small-caps variant, and then cache that small-caps
variant (really "this") in Font::m_derivedData->smallCaps.

Fix this by having Cocoa Font scaling do exactly what other platforms do: create a new Font every time.
This stops us from accumulating tons of abandoned Font objects over time.

* platform/graphics/Font.cpp:
(WebCore::Font::verticalRightOrientationFont):
(WebCore::Font::uprightOrientationFont):
(WebCore::Font::smallCapsFont):
(WebCore::Font::emphasisMarkFont):
(WebCore::Font::brokenIdeographFont):
(WebCore::Font::nonSyntheticItalicFont): Add assertions to guard against reference cycles inside a Font.

* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformCreateScaledFont): Always create a new Font when scaling an existing Font to a different size.

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

5 years ago[iOS] Gardening: Mark svg/canvas/canvas-global-alpha-svg.html as ImageOnlyFailure
ddkilzer@apple.com [Tue, 24 Feb 2015 15:32:32 +0000 (15:32 +0000)]
[iOS] Gardening: Mark svg/canvas/canvas-global-alpha-svg.html as ImageOnlyFailure

* platform/ios-simulator/TestExpectations:

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

5 years ago[Streams API] Reading ReadableStream ready and closed attributes should not always...
youenn.fablet@crf.canon.fr [Tue, 24 Feb 2015 14:48:34 +0000 (14:48 +0000)]
[Streams API] Reading ReadableStream ready and closed attributes should not always create a new promise
https://bugs.webkit.org/show_bug.cgi?id=141650

Reviewed by Benjamin Poulain.

Source/WebCore:

The JSPromiseDeferred objects returned by JSReadableStream::ready and JSReadableStream::closed should be stored somewhere.
This patch stores them as private slots in JSReadableStream.
This is close to the description in https://streams.spec.whatwg.org/#rs-internal-slots.

An alternative would be to have these objects as JSReadableStream class members, thus modifying the binding generator.
That may be the cleanest solution, especially if other APIs express the same need.
Another alternative is to store DeferredWrapper in ReadableStream objects.
But it is currently preferred to keep DeferredWrapper in bindings/js code.

Added new constructor for DeferredWrapper to use these stored values.
Updated ready and closed methods to use that new constructor.
Changes are covered by new test in streams/readablestream-constructor.html.

* bindings/js/JSDOMPromise.cpp:
(WebCore::DeferredWrapper::DeferredWrapper):
* bindings/js/JSDOMPromise.h:
* bindings/js/JSReadableStreamCustom.cpp:
(WebCore::closedPromiseSlotName):
(WebCore::getOrCreatePromiseDeferredFromObject):
(WebCore::readyPromiseSlotName):
(WebCore::JSReadableStream::ready):
(WebCore::JSReadableStream::closed):
* bindings/js/ReadableStreamJSSource.cpp:
(WebCore::setInternalSlotToObject):
(WebCore::getInternalSlotFromObject):
* bindings/js/ReadableStreamJSSource.h:

LayoutTests:

* streams/readablestream-constructor-expected.txt:
* streams/readablestream-constructor.html: Added test to ensure ready and closed always return the same promise object.

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

5 years agoAlways serialize :lang()'s arguments to strings
diorahman@rockybars.com [Tue, 24 Feb 2015 14:21:28 +0000 (14:21 +0000)]
Always serialize :lang()'s arguments to strings
https://bugs.webkit.org/show_bug.cgi?id=141944

Reviewed by Benjamin Poulain.

Source/WebCore:

As specified in [1] :lang()'s arguments are always serialized to strings.

[1] http://dev.w3.org/csswg/cssom/#serializing-selectors

Related tests are updated.

* css/CSSGrammar.y.in:
* css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::setLangArgumentList):
* css/CSSParserValues.h:
(WebCore::CSSParserString::init):
(WebCore::CSSParserString::clear):
(WebCore::CSSParserString::tokenType): Deleted.
(WebCore::CSSParserString::setTokenType): Deleted.
* css/CSSSelector.cpp:
(WebCore::appendLangArgumentList):
(WebCore::CSSSelector::setLangArgumentList):
* css/CSSSelector.h:
(WebCore::CSSSelector::langArgumentList):
* css/SelectorCheckerTestFunctions.h:
(WebCore::matchesLangPseudoClass):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):

LayoutTests:

Some tests results are updated to reflect the always serialize
:lang()'s arguments to strings.

* fast/css/css-lang-selector-with-string-arguments-text-expected.txt:
* fast/css/css-lang-selector-with-string-arguments-text.html:
* fast/css/parsing-css-lang-expected.txt:
* fast/css/parsing-css-lang.html:
* fast/css/css-selector-text-expected.txt:
* fast/css/css-selector-text.html:
* fast/css/css-set-selector-text-expected.txt:
* fast/css/css-set-selector-text.html:
* fast/dom/css-selectorText-expected.txt:

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

5 years ago[iOS] Implement WTR::activateFonts() to fix missing fonts in WebKit2 test runs
ddkilzer@apple.com [Tue, 24 Feb 2015 13:02:16 +0000 (13:02 +0000)]
[iOS] Implement WTR::activateFonts() to fix missing fonts in WebKit2 test runs
<http://webkit.org/b/141900>

Tools:

Reviewed by Myles C. Maxfield.

* WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
(OTHER_LDFLAGS_BASE): Link to CoreText.framework.
* WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm: Rename from Tools/WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm.
- Rename to share code with iOS.
- Add USE(APPKIT) around AppKit-specific headers and code.
- Fix a check-webkit-style warning.
* WebKitTestRunner/InjectedBundle/ios/ActivateFontsIOS.mm: Remove.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- Rename mac/ActivateFonts.mm to cocoa/ActivateFontsCocoa.mm.
- Remove ios/ActivateFontsIOS.mm.
- Fix InjectedBundle/cocoa group to represent the directory on
  disk.  Includes a change to InjectedBundlePageCocoa.mm.

LayoutTests:

Rebaseline ios-simulator-wk2 results after fixing font
registration for WebKitTestRunner.app.

* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
- Shuffle css2.1 test expectations to make tests pass.

* platform/ios-simulator/TestExpectations:
- Shuffle css2.1 test expectations to make tests pass.
- Mark a few ref tests as image-only failures via platform/mac.

* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-height-002-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-height-007-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-height-009-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-max-height-002-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-max-height-007-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-max-height-009-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-001-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-002-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-003-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-004-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-005-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-006-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-007-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-008-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-009-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-010-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-011-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-012-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-013-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-014-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-016-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-017-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-018-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-019-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-020-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-021-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-022-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-023-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-024-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-001-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-004a-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-004b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-004c-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-004d-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-004e-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-004f-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-005a-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-005b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-005c-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-005d-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-007-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-009a-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-009b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-009e-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-009f-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/abspos-replaced-width-margin-000-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/block-non-replaced-height-005-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/block-non-replaced-height-006-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/20110323/block-non-replaced-width-007-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/block-replaced-width-001-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/block-replaced-width-006-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/c543-txt-decor-000-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/empty-inline-002-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/float-non-replaced-width-006-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/float-non-replaced-width-007-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/float-non-replaced-width-008-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/float-non-replaced-width-009-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/float-non-replaced-width-010-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/float-non-replaced-width-011-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/float-non-replaced-width-012-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/inline-block-non-replaced-width-001-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/inline-block-non-replaced-width-002-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/inline-block-non-replaced-width-003-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/inline-block-non-replaced-width-004-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/inline-non-replaced-height-002-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/inline-non-replaced-height-003-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/inline-non-replaced-width-001-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/inline-non-replaced-width-002-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/20110323/replaced-intrinsic-002-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/20110323/replaced-intrinsic-ratio-001-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t040302-c61-ex-len-00-b-a-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t040302-c61-rel-len-00-b-ag-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t040303-c62-percent-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t040306-c63-color-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0801-c412-hz-box-00-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5501-imrgn-t-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5501-mrgn-t-00-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5502-imrgn-r-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5502-imrgn-r-01-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5502-imrgn-r-02-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5502-imrgn-r-03-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5502-imrgn-r-04-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5502-imrgn-r-05-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5502-imrgn-r-06-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5502-mrgn-r-00-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5502-mrgn-r-01-c-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5502-mrgn-r-03-c-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t0803-c5503-imrgn-b-00-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5503-mrgn-b-00-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5504-imrgn-l-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5504-imrgn-l-01-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5504-imrgn-l-02-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5504-imrgn-l-03-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5504-imrgn-l-04-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5504-imrgn-l-05-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5504-imrgn-l-06-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5504-mrgn-l-00-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5504-mrgn-l-01-c-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5504-mrgn-l-03-c-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t0803-c5505-imrgn-00-a-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5505-mrgn-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5505-mrgn-01-e-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0803-c5505-mrgn-03-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5506-ipadn-t-00-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5506-ipadn-t-01-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5506-ipadn-t-02-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5506-padn-t-00-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5507-ipadn-r-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5507-ipadn-r-01-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5507-ipadn-r-02-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5507-ipadn-r-03-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5507-ipadn-r-04-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5507-padn-r-01-c-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5507-padn-r-03-f-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t0804-c5508-ipadn-b-00-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5508-ipadn-b-01-f-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5508-ipadn-b-02-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5508-ipadn-b-03-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5509-ipadn-l-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5509-ipadn-l-01-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5509-ipadn-l-02-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5509-ipadn-l-03-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5509-ipadn-l-04-f-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5509-padn-l-01-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5509-padn-l-03-f-g-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t0804-c5510-ipadn-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5510-padn-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5510-padn-01-e-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0804-c5510-padn-02-f-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t09-c5526c-display-00-e-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t090204-display-change-01-b-ao-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t090402-c42-ibx-pad-00-d-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0905-c5525-fltblck-00-d-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0905-c5525-fltclr-00-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t0905-c5525-fltinln-00-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0905-c5525-fltmrgn-00-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t0905-c5525-fltwidth-03-c-g-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t0905-c5525-fltwrap-00-b-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t0905-c5526-fltclr-00-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t090501-c414-flt-01-b-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t090501-c414-flt-03-b-g-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-01-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-02-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-03-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-04-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-05-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-06-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-07-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-08-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-09-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t100303-c412-blockw-00-d-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t1004-c43-rpl-bbx-00-d-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t1004-c43-rpl-ibx-00-d-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t1008-c44-ln-box-00-d-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t1008-c44-ln-box-01-d-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t1008-c44-ln-box-02-d-ag-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t1008-c44-ln-box-03-d-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t100801-c42-ibx-ht-00-d-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t100801-c544-valgn-00-a-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t100801-c544-valgn-01-d-ag-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t100801-c544-valgn-02-d-agi-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t100801-c544-valgn-03-d-agi-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t100801-c544-valgn-04-d-agi-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t100801-c548-leadin-00-d-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t100801-c548-ln-ht-01-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t100801-c548-ln-ht-02-b-ag-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t100801-c548-ln-ht-03-d-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t100801-c548-ln-ht-04-d-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t1202-counter-08-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1202-counter-13-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1202-counter-14-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1202-counters-08-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1202-counters-13-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1202-counters-14-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1205-c566-list-stl-00-e-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t1205-c566-list-stl-01-c-g-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t140201-c534-bgre-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t140201-c534-bgre-01-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t140201-c534-bgreps-00-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t140201-c534-bgreps-01-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t140201-c534-bgreps-02-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t140201-c534-bgreps-03-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t140201-c534-bgreps-04-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t140201-c534-bgreps-05-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t140201-c536-bgpos-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t140201-c536-bgpos-01-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t140201-c537-bgfxps-00-c-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t1507-c526-font-sz-01-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t1507-c526-font-sz-02-b-a-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t1507-c526-font-sz-03-f-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t1508-c527-font-00-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1508-c527-font-01-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1508-c527-font-02-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1508-c527-font-03-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1508-c527-font-04-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1508-c527-font-05-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1508-c527-font-06-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1508-c527-font-07-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1508-c527-font-08-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1508-c527-font-09-b-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1508-c527-font-10-c-expected.txt: Added.
* platform/ios-simulator-wk2/css2.1/t1601-c547-indent-00-b-a-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t1602-c43-center-00-d-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t1604-c542-letter-sp-00-b-a-expected.txt: Updated.
* platform/ios-simulator-wk2/css2.1/t1604-c542-letter-sp-01-b-a-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t1605-c545-txttrans-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/basic/010-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/basic/min-pref-width-nowrap-floats-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/float/004-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/float/005-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/float/006-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/float/float-not-removed-from-next-sibling3-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/float/float-not-removed-from-next-sibling4-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/lineboxcontain/block-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/lineboxcontain/block-glyphs-replaced-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/lineboxcontain/block-replaced-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/lineboxcontain/font-replaced-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/lineboxcontain/glyphs-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/lineboxcontain/inline-box-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/lineboxcontain/inline-box-replaced-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/lineboxcontain/inline-box-vertical-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/lineboxcontain/inline-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/lineboxcontain/inline-replaced-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/lineboxcontain/none-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/lineboxcontain/parsing-invalid-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/margin-collapse/006-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/margin-collapse/030-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/margin-collapse/031-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/margin-collapse/037-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/margin-collapse/038-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/margin-collapse/055-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/margin-collapse/block-inside-inline/006-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/positioning/002-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/positioning/vertical-lr/002-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/block/positioning/vertical-rl/002-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/compact/002-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/css/font-face-unicode-range-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/css/font-weight-1-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/css/line-after-floating-div-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/dynamic/first-letter-display-change-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/inline-block/002-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/inline/continuation-outlines-with-layers-2-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/inline/justify-emphasis-inline-box-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/line-grid/line-align-left-edges-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/line-grid/line-align-right-edges-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/line-grid/line-grid-contains-value-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/line-grid/line-grid-into-columns-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/multicol/client-rects-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/multicol/client-rects-spanners-complex-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/multicol/client-rects-spanners-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/multicol/newmulticol/client-rects-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/multicol/span/clone-flexbox-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/multicol/span/clone-summary-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/multicol/span/span-as-immediate-columns-child-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/ruby/ruby-base-merge-block-children-crash-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/ruby/select-ruby-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/international/text-spliced-font-expected.txt: Updated.
* platform/ios-simulator-wk2/fast/text/whitespace/002-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/whitespace/003-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/whitespace/004-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/whitespace/005-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/whitespace/006-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/whitespace/007-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/whitespace/008-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/whitespace/009-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/whitespace/010-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/whitespace/011-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/whitespace/012-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/whitespace/015-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/whitespace/016-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/whitespace/018-expected.txt: Removed.
- Add, update or remove platform-specific results as needed.

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

5 years ago[iOS] Gardening: Clean up some failing WK2 tests
ddkilzer@apple.com [Tue, 24 Feb 2015 13:01:54 +0000 (13:01 +0000)]
[iOS] Gardening: Clean up some failing WK2 tests

* platform/ios-simulator/TestExpectations:
- svg/as-image/svg-image-with-data-uri-from-canvas.html: Mark as
  ImageOnlyFailure since it has the same difference of 0.02% on
  every run.

* platform/ios-simulator/fast/attachment/attachment-disabled-rendering-expected.txt: Add.
* platform/ios-simulator/fast/attachment/attachment-rendering-expected.txt: Add.
* platform/ios-simulator/fast/multicol/span/span-as-immediate-columns-child-expected.txt: Update.
- Add or update platform-specific results.

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

5 years agoUnreviewed GTK+ Gardening 24th February
commit-queue@webkit.org [Tue, 24 Feb 2015 12:21:44 +0000 (12:21 +0000)]
Unreviewed GTK+ Gardening 24th February
https://bugs.webkit.org/show_bug.cgi?id=141964

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-02-24

* platform/gtk/TestExpectations:
* platform/gtk/fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution-expected.txt: Added. Rebaselined after r180107. (This revision updates expectations on mac platform but it doesn't do it in any other platform).

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

5 years ago Give TemporaryChange for m_inLoadPendingImages assertion a name so it actually...
antti@apple.com [Tue, 24 Feb 2015 11:38:53 +0000 (11:38 +0000)]
   Give TemporaryChange for m_inLoadPendingImages assertion a name so it actually does something.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingImages):

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

5 years ago[EFL] Add message APIs to communicate between ewk_context and extensions
ryuan.choi@navercorp.com [Tue, 24 Feb 2015 11:02:14 +0000 (11:02 +0000)]
[EFL] Add message APIs to communicate between ewk_context and extensions
https://bugs.webkit.org/show_bug.cgi?id=137660

Reviewed by Gyuyoung Kim.

* PlatformEfl.cmake: Added dependencies for ewk2UnitTestExtensionSample
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
(EwkContext::didReceiveMessageFromInjectedBundle):
(EwkContext::setMessageFromExtensionCallback):
(EwkContext::processReceivedMessageFromInjectedBundle):
(ewk_context_message_post_to_extensions):
(ewk_context_message_from_extensions_callback_set):
(EwkContext::didReceiveSynchronousMessageFromInjectedBundle):
Deleted to split synchronouse message APIs from asynchronuous message APIs.
ewebkit will not support this until there are requirements.
(EwkContext::setMessageFromInjectedBundleCallback): Renamed to setMessageFromExtensionCallback.
(ewk_context_message_post_to_injected_bundle): Renamed to ewk_context_message_post_to_extensions.
(ewk_context_message_from_injected_bundle_callback_set): Renamed to ewk_context_message_from_injected_bundle_callback_set.
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
Improved test case for ewk_context_new_with_extensions_path using the message APIs.
(EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
(EWK2UnitTest::EWK2UnitTestBase::SetUp):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
(EWK2UnitTest::EWK2UnitTestEnvironment::extensionSample): Deleted.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
* UIProcess/API/efl/tests/extensions/extension_sample.cpp:
Improved test case for ewk_context_new_with_extensions_path using the message APIs.
* UIProcess/API/efl/tests/test_ewk2_context.cpp: Ditto.
(EWK2ContextTestWithExtension::messageReceivedCallback):
(EWK2ContextTestWithExtension::EWK2ContextTestWithExtension):
(TEST_F):
* WebProcess/InjectedBundle/API/efl/ewk_extension.cpp:
(toEwkExtendion):
(EwkExtension::EwkExtension):
(EwkExtension::didCreatePage):
(EwkExtension::willDestroyPage):
(EwkExtension::didReceiveMessage):
(EwkExtension::didReceiveMessageToPage):
(ewk_extension_message_post): Implemented to post message to ewk_context.
* WebProcess/InjectedBundle/API/efl/ewk_extension.h:
* WebProcess/InjectedBundle/API/efl/ewk_extension_private.h:
(EwkExtension::bundle):
* WebProcess/efl/ExtensionManagerEfl.cpp:
(WebKit::ExtensionManagerEfl::initialize):
Fixed the bug when there are different shared objects in extension path.
This is spotted while improving test case.

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

5 years agoUnreviewed, EFL daily gardening 24th Feb.
gyuyoung.kim@samsung.com [Tue, 24 Feb 2015 08:57:47 +0000 (08:57 +0000)]
Unreviewed, EFL daily gardening 24th Feb.

* platform/efl/TestExpectations:

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

5 years agoUnreviewed, rolling out r180547 and r180550.
commit-queue@webkit.org [Tue, 24 Feb 2015 07:27:24 +0000 (07:27 +0000)]
Unreviewed, rolling out r180547 and r180550.
https://bugs.webkit.org/show_bug.cgi?id=141957

Broke 10 Windows tests. (Requested by bfulgham_ on #webkit).

Reverted changesets:

"REGRESSION(r179429): Can't type comments in Facebook"
https://bugs.webkit.org/show_bug.cgi?id=141859
http://trac.webkit.org/changeset/180547

"Constructor returning null should construct an object instead
of null"
https://bugs.webkit.org/show_bug.cgi?id=141640
http://trac.webkit.org/changeset/180550

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

5 years agoConstructor returning null should construct an object instead of null
utatane.tea@gmail.com [Tue, 24 Feb 2015 05:47:22 +0000 (05:47 +0000)]
Constructor returning null should construct an object instead of null
https://bugs.webkit.org/show_bug.cgi?id=141640

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

When constructor code doesn't return object, constructor should return `this` object instead.
Since we used `op_is_object` for this check and `op_is_object` is intended to be used for `typeof`,
it allows `null` as an object.
This patch fixes it by introducing an new bytecode `op_is_object_or_null` for `typeof` use cases.
Instead, constructor uses simplified `is_object`.

As a result, `op_is_object` becomes fairly simple. So we introduce optimization for `op_is_object`.

1. LLInt and baseline JIT support `op_is_object` as a fast path.
2. DFG abstract interpreter support `op_is_object`. And recognize its speculated type and read-write effects.
3. DFG introduces inlined asm for `op_is_object` rather than calling a C++ function.
4. FTL lowers DFG's IsObject into LLVM IR.

And at the same time, this patch fixes isString / isObject predicate used for `op_is_object` and others
in LLInt, JIT, DFG and FTL.
Before introducing ES6 Symbol, JSCell is only used for object and string in user observable area.
So in many places, when the cell is not object, we recognize it as a string, and vice versa.
However, now ES6 Symbol is implemented as a JSCell, this assumption is broken.
So this patch stop using !isString as isObject.
To check whether a cell is an object, instead of seeing that structure ID of a cell is not stringStructure,
we examine typeInfo in JSCell.

* JavaScriptCore.order:
* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFor):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitEqualityOp):
(JSC::BytecodeGenerator::emitReturn):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):

IsObject operation only touches JSCell typeInfoType.
And this value would not be changed through structure transition.
As a result, IsObject can report that it doesn't read any information.

* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):

Just like IsString, IsObject is also fixed up.

* dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
* dfg/DFGHeapLocation.h:
* dfg/DFGNodeType.h:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compileStringToUntypedEquality):
(JSC::DFG::SpeculativeJIT::compileStringIdentToNotStringVarEquality):
(JSC::DFG::SpeculativeJIT::compileToStringOnCell):
(JSC::DFG::SpeculativeJIT::speculateObject):
(JSC::DFG::SpeculativeJIT::speculateObjectOrOther):
(JSC::DFG::SpeculativeJIT::speculateString):
(JSC::DFG::SpeculativeJIT::speculateNotStringVar):
(JSC::DFG::SpeculativeJIT::emitSwitchChar):
(JSC::DFG::SpeculativeJIT::emitSwitchString):
(JSC::DFG::SpeculativeJIT::branchIsObject):
(JSC::DFG::SpeculativeJIT::branchNotObject):
(JSC::DFG::SpeculativeJIT::branchIsString):
(JSC::DFG::SpeculativeJIT::branchNotString):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileToString):
(JSC::FTL::LowerDFGToLLVM::compileIsObject):
(JSC::FTL::LowerDFGToLLVM::compileIsObjectOrNull):
(JSC::FTL::LowerDFGToLLVM::speculateTruthyObject):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::isObject):
(JSC::FTL::LowerDFGToLLVM::isNotObject):
(JSC::FTL::LowerDFGToLLVM::isNotString):
(JSC::FTL::LowerDFGToLLVM::speculateNonNullObject):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
* jit/JIT.h:
* jit/JITInlines.h:
(JSC::JIT::emitJumpIfCellObject):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_is_object):
(JSC::JIT::emit_op_to_primitive):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_is_object):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::compileOpStrictEq):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
* runtime/Operations.cpp:
(JSC::jsIsObjectTypeOrNull):
(JSC::jsIsObjectType): Deleted.
* runtime/Operations.h:

LayoutTests:

* js/dfg-to-primitive-pass-symbol-expected.txt: Added.
* js/dfg-to-primitive-pass-symbol.html: Added.
* js/dom/constructor-with-return-masquerades-expected.txt: Added.
* js/dom/constructor-with-return-masquerades.html: Added.
* js/dom/script-tests/constructor-with-return-masquerades.js: Added.
(Constructor):

Follow the old ret_object_or_this semantics.
When constructor returns an object that masquerades as undefined, we see it as an object.

* js/regress/constructor-with-return-expected.txt: Added.
* js/regress/constructor-with-return.html: Added.
* js/regress/script-tests/constructor-with-return.js: Added.
(Test):

When constructor doesn't return an object, `this` should be returned instead.
In this test, we check all primitives. And test object, array and wrappers.

* js/script-tests/dfg-to-primitive-pass-symbol.js: Added.
(toPrimitiveTarget):
(doToPrimitive):

op_to_primitive operation passes Symbol in fast path.

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

5 years agoDisable font loading events until our implementation gets updated to match the latest...
rniwa@webkit.org [Tue, 24 Feb 2015 05:01:15 +0000 (05:01 +0000)]
Disable font loading events until our implementation gets updated to match the latest spec
https://bugs.webkit.org/show_bug.cgi?id=141938

Reviewed by Andreas Kling.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Revert r173531 for now since our implementation is outdated.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

LayoutTests:

* TestExpectations:
* platform/mac/TestExpectations:

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

5 years agoEventHandler references deleted Scrollbar
bfulgham@apple.com [Tue, 24 Feb 2015 04:09:21 +0000 (04:09 +0000)]
EventHandler references deleted Scrollbar
https://bugs.webkit.org/show_bug.cgi?id=141931
<rdar://problem/19915210>

Reviewed by Tim Horton.

Tested by scrollbars/overflow-custom-scrollbar-crash.html

Update the EventHandler class to use a WeakPtr to reference the
last used Scrollbar, rather than retaining the Scrollbar and
artificially extending its life. This keeps the EventHandler
state in proper sync with the state of the render tree, and
avoids cases where we have destroyed a ScrollableArea (and
Scrollbar) but are still sending messages to a fake zombie
version of the element.

* page/EventHandler.cpp:
(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::updateMouseEventTargetNode):
(WebCore::EventHandler::updateLastScrollbarUnderMouse):
* page/EventHandler.h:
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::Scrollbar): Initialize WeakPtrFactory.
* platform/Scrollbar.h:
(WebCore::Scrollbar::createWeakPtr): Added,

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

5 years agoREGRESSION(r179429): Can't type comments in Facebook
utatane.tea@gmail.com [Tue, 24 Feb 2015 03:47:29 +0000 (03:47 +0000)]
REGRESSION(r179429): Can't type comments in Facebook
https://bugs.webkit.org/show_bug.cgi?id=141859

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

When window.Symbol is exposed to user-space pages,
Facebook's JavaScript use it (maybe, for immutable-js and React.js's unique key).
However, to work with Symbols completely, it also requires
1) Object.getOwnPropertySymbols (for mixin including Symbols)
2) the latest ES6 Iterator interface that uses Iterator.next and it returns { done: boolean, value: value }.
Since they are not landed yet, comments in Facebook don't work.

This patch introduces RuntimeFlags for JavaScriptCore.
Specifying SymbolEnabled flag under test runner and inspector to continue to work with Symbol.
And drop JavaScriptExperimentsEnabled flag
because it is no longer used and use case of this is duplicated to runtime flags.

* JavaScriptCore.order:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* jsc.cpp:
(GlobalObject::javaScriptRuntimeFlags):
(GlobalObject::javaScriptExperimentsEnabled): Deleted.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::init):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::finishCreation):
(JSC::JSGlobalObject::javaScriptRuntimeFlags):
(JSC::JSGlobalObject::javaScriptExperimentsEnabled): Deleted.
* runtime/RuntimeFlags.h: Added.
(JSC::RuntimeFlags::RuntimeFlags):
(JSC::RuntimeFlags::createAllEnabled):

Source/WebCore:

Enable SymbolEnabled runtime flag in inspector context.

* ForwardingHeaders/runtime/RuntimeFlags.h: Added.
* WebCore.order:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
(WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled): Deleted.
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags):
(WebCore::JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled): Deleted.
* bindings/js/JSWorkerGlobalScopeBase.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
* page/Settings.h:
* page/Settings.in:

Source/WebKit/mac:

Introduce SymbolEnabled and drop javaScriptExperimentsEnabled.
Private API, javaScriptExperimentsEnabled is dropped.

* Misc/WebNSDictionaryExtras.h:
* Misc/WebNSDictionaryExtras.m:
(-[NSMutableDictionary _webkit_setUnsignedInt:forKey:]):
* WebKit.order:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences _setUnsignedIntValue:forKey:]):
(-[WebPreferences javaScriptRuntimeFlags]):
(-[WebPreferences setJavaScriptRuntimeFlags:]):
(-[WebPreferences setJavaScriptExperimentsEnabled:]): Deleted.
(-[WebPreferences javaScriptExperimentsEnabled]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

Enable SymbolEnabled in inspector context.

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetJavaScriptRuntimeFlags):
(WKPreferencesGetJavaScriptRuntimeFlags):
(WKPreferencesSetJavaScriptExperimentsEnabled): Deleted.
(WKPreferencesGetJavaScriptExperimentsEnabled): Deleted.
* UIProcess/API/C/WKPreferencesRef.h:
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _javaScriptRuntimeFlags]):
(-[WKPreferences _setJavaScriptRuntimeFlags:]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* mac/WebKit2.order:

Tools:

Drop javaScriptExperimentsEnabled and specify JavaScriptRuntimeFlagsAllEnabled as KJavaScriptRuntimeFlags.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):

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

5 years agoSet the semantic origin of delayed SetLocal to the Bytecode that originated it
benjamin@webkit.org [Tue, 24 Feb 2015 03:33:01 +0000 (03:33 +0000)]
Set the semantic origin of delayed SetLocal to the Bytecode that originated it
https://bugs.webkit.org/show_bug.cgi?id=141727

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-23
Reviewed by Filip Pizlo.

Previously, delayed SetLocals would have the NodeOrigin of the next
bytecode. This was because delayed SetLocal are...delayed... and
currentCodeOrigin() is the one where the node is emitted.

This made debugging a little awkward since the OSR exits on SetLocal
were reported for the next bytecode. This patch changes the semantic
origin to keep the original bytecode.

From benchmarks, this looks like it could be a tiny bit faster
but it likely just noise.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::setDirect):
(JSC::DFG::ByteCodeParser::setLocal):
(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::currentNodeOrigin):
(JSC::DFG::ByteCodeParser::addToGraph):
(JSC::DFG::ByteCodeParser::DelayedSetLocal::DelayedSetLocal):
(JSC::DFG::ByteCodeParser::DelayedSetLocal::execute):

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

5 years agoRemove DFGNode::predictHeap()
benjamin@webkit.org [Tue, 24 Feb 2015 03:32:03 +0000 (03:32 +0000)]
Remove DFGNode::predictHeap()
https://bugs.webkit.org/show_bug.cgi?id=141864

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-23
Reviewed by Geoffrey Garen.

* dfg/DFGNode.h:
(JSC::DFG::Node::predictHeap): Deleted.
Unused code.

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

5 years agoCSS JIT: add support for case-insensitive attribute matching
benjamin@webkit.org [Tue, 24 Feb 2015 03:31:08 +0000 (03:31 +0000)]
CSS JIT: add support for case-insensitive attribute matching
https://bugs.webkit.org/show_bug.cgi?id=141880

Reviewed by Andreas Kling.

Source/WebCore:

The value matching now has 3 cases:
1) Case-sensitive.
2) Case-insensitive.
3) Legacy HTML Case-insensitive.

The information to determine the case is split over 2 source:
-To know if explicit case-insensitive is needed, we need to ask the selector
 for attributeValueMatchingIsCaseInsensitive().
-To know if the legacy HTML behavior is needed, we need to test the attribute
 name filter with HTMLDocument::isCaseSensitiveAttribute().

I decided to perform all those checks at the fragment creation step.
This makes the register requirements and code generation more explicit.

From there, everything is easy: switch() on the type of matching needed,
and generate the code. The new case-insensitive case is a simplified version
of the legacy HTML behavior without runtime check for the element type.

Tests: fast/css/implicitly-case-insensitive-attribute-with-svg.html
       fast/selectors/case-insensitive-attribute-register-requirement-1.html
       fast/selectors/case-insensitive-attribute-register-requirement-2.html
       fast/selectors/querySelector-explicit-case-insensitive-attribute-match-with-svg.html

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::attributeSelectorCaseSensitivity):
(WebCore::SelectorCompiler::AttributeMatchingInfo::AttributeMatchingInfo):
(WebCore::SelectorCompiler::AttributeMatchingInfo::attributeCaseSensitivity):
(WebCore::SelectorCompiler::AttributeMatchingInfo::canDefaultToCaseSensitiveValueMatch): Deleted.
(WebCore::SelectorCompiler::constructFragmentsInternal):
Compute the type of value matching and store it on the AttributeMatchingInfo
when creating the fragment.

(WebCore::SelectorCompiler::minimumRegisterRequirements):
(WebCore::SelectorCompiler::attributeValueTestingRequiresExtraRegister):
(WebCore::SelectorCompiler::attributeValueTestingRequiresCaseFoldingRegister): Deleted.
In general, AttributeCaseSensitivity::CaseInsensitive does not require an extra
register. I have made an exception for generateElementAttributeValueExactMatching()
for simplicity. I use that register to load the StringImpl of the attribute
being tested, that way I can use WTF::equalIgnoringCaseNonNull() directly.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueExactMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching):
Matching itself is just function calls. Unlike AttributeCaseSensitivity::HTMLLegacyCaseInsensitive,
the behavior is consistent between XML and HTML.

LayoutTests:

* fast/css/case-insensitive-attribute-with-svg-expected.html:
* fast/css/case-insensitive-attribute-with-svg.html:
* fast/css/implicitly-case-insensitive-attribute-with-svg-expected.html: Copied from LayoutTests/fast/css/case-insensitive-attribute-with-svg-expected.html.
* fast/css/implicitly-case-insensitive-attribute-with-svg.html: Copied from LayoutTests/fast/css/case-insensitive-attribute-with-svg.html.

I renamed the HTML legacy case-insensitive behavior to separate
it from the new selector.

* fast/selectors/querySelector-explicit-case-insensitive-attribute-match-with-svg-expected.txt: Added.
* fast/selectors/querySelector-explicit-case-insensitive-attribute-match-with-svg.html: Added.
Mixing explicit case-insensitive with implicit.

* fast/selectors/case-insensitive-attribute-register-requirement-1-expected.txt: Added.
* fast/selectors/case-insensitive-attribute-register-requirement-1.html: Added.
* fast/selectors/case-insensitive-attribute-register-requirement-2-expected.txt: Added.
* fast/selectors/case-insensitive-attribute-register-requirement-2.html: Added.
The usual register allocation stress tests.

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

5 years agoWeb Inspector: Remove unused console-object-preview styles - replaced by ObjectPrevie...
commit-queue@webkit.org [Tue, 24 Feb 2015 03:25:26 +0000 (03:25 +0000)]
Web Inspector: Remove unused console-object-preview styles - replaced by ObjectPreviewView
https://bugs.webkit.org/show_bug.cgi?id=141945

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-02-23
Reviewed by Timothy Hatcher.

* UserInterface/Views/LogContentView.css:
(.console-object-preview): Deleted.
(.expanded .console-object-preview): Deleted.
(.console-object-preview .name): Deleted.
(.expanded .console-object-preview > .console-object-preview-body): Deleted.
(.console-object-preview > .console-object-preview-name.console-object-preview-name-Object): Deleted.
(.console-object-preview-body .console-object-preview-name.console-object-preview-name-Object): Deleted.
(.expanded .console-object-preview > .console-object-preview-name.console-object-preview-name-Object): Deleted.

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

5 years ago[EFL] fix eo errors
hyuki.kim@samsung.com [Tue, 24 Feb 2015 03:11:48 +0000 (03:11 +0000)]
[EFL] fix eo errors
https://bugs.webkit.org/show_bug.cgi?id=141909

Reviewed by Gyuyoung Kim.

Fix eo errors that occur whenever minibrowser is launched.
- elm_obj_entry_text_style_user_push can only be applied for elm_entry
- elm_obj_win_resize_object_add's first parameter should be elm_win

* MiniBrowser/efl/main.c:
(window_create):

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

5 years ago[WinCairo] Unreviewed build fix after r180532
achristensen@apple.com [Tue, 24 Feb 2015 02:53:40 +0000 (02:53 +0000)]
[WinCairo] Unreviewed build fix after r180532

* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::buffered):
Fixed typo.

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

5 years agoUnreviewed build fix after r180535. Removed the test case that wasn't compiling.
rniwa@webkit.org [Tue, 24 Feb 2015 02:34:08 +0000 (02:34 +0000)]
Unreviewed build fix after r180535. Removed the test case that wasn't compiling.

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

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

5 years ago[iOS WK2] The WebProcess keep scrolling pages based on the last velocity after scroll...
benjamin@webkit.org [Tue, 24 Feb 2015 02:07:33 +0000 (02:07 +0000)]
[iOS WK2] The WebProcess keep scrolling pages based on the last velocity after scrolling has been interrupted
https://bugs.webkit.org/show_bug.cgi?id=141933
rdar://problem/18746673
rdar://problem/19711490

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-23
Reviewed by Simon Fraser.

The bug happened like this:
1) The user scroll the page. WKContentView tracks the velocity and send
   the update rect + velocity to the WebProcess.
2) The user interupts the scrolling but does not commit to either scrolling
   again or cancelling the scrolling.
   Since we were not notified of this state, the WebProcess still believed
   the velocity is stable.
3) With any paint update, the WebProcess would account for the last velocity
   and try to guess the best repaint area. This would drift endlessly out
   of the view since the view is not really moving.

This patch fixes the issue by adding special handling for interrupted scrolling.

Kudos to Kurt Revis for providing us the required APIs.

* Shared/VisibleContentRectUpdateInfo.h:
(WebKit::operator==):
We can no longer filter VisibleContentRectUpdateInfo ignoring the velocity.

Typically, UIScrollView would call -scrollViewDidScroll: before being interrupted.
If we filter based on the VisibleContentRectUpdateInfo, we have two identical
states differing only by the velocity. If we filter the second update, the WebProcess
would never know the velocity should be zero.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _scrollViewDidInterruptDecelerating:]):
We get this callback when scrolling is interrupted. We just need to clear
the velocity and re-send a new update for the current state.

(-[WKWebView _updateVisibleContentRects]):
Do not consider an interrupted scroll as a stable state. We don't know if scrolling
will resume or will stop.

* UIProcess/ios/WKContentView.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView didInterruptScrolling]):

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

5 years agoUnreviewed, EFL gardening. Mark webgl tests to crash.
gyuyoung.kim@samsung.com [Tue, 24 Feb 2015 01:43:36 +0000 (01:43 +0000)]
Unreviewed, EFL gardening. Mark webgl tests to crash.
Skip khmer-lao-font.html because EFL port doesn't support it.

* platform/efl/TestExpectations:

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

5 years agoWTF::WeakPtr should rename 'forgot' to 'clear' and support nullptr assignment
bfulgham@apple.com [Tue, 24 Feb 2015 01:03:58 +0000 (01:03 +0000)]
WTF::WeakPtr should rename 'forgot' to 'clear' and support nullptr assignment
https://bugs.webkit.org/show_bug.cgi?id=141935

Reviewed by Myles C. Maxfield.

Source/WTF:

* wtf/WeakPtr.h:
(WTF::WeakPtr::operator=): Added 'nullptr_t' overload.
(WTF::WeakPtr::clear): Renamed from 'forget'
(WTF::WeakPtr::forget): Deleted.

Tools:

* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::TEST): Updated for 'clear' method rename, and added a few
tests for assigning from nullptr.

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

5 years agoLog using diagnostic logging which ActiveDOMObjects prevent using the PageCache
cdumez@apple.com [Tue, 24 Feb 2015 00:55:53 +0000 (00:55 +0000)]
Log using diagnostic logging which ActiveDOMObjects prevent using the PageCache
https://bugs.webkit.org/show_bug.cgi?id=141922
<rdar://problem/19923085>

Reviewed by Andreas Kling.

Log using diagnostic logging which ActiveDOMObjects prevent using the
PageCache.

* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):
* page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::unsuspendableDOMObjectKey):
* page/DiagnosticLoggingKeys.h:

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

5 years agoMove GeoNotifier class to its own file
cdumez@apple.com [Tue, 24 Feb 2015 00:49:49 +0000 (00:49 +0000)]
Move GeoNotifier class to its own file
https://bugs.webkit.org/show_bug.cgi?id=141918

Reviewed by Andreas Kling.

Move GeoNotifier class to its own file to make Geolocation class less
crowded.

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

5 years agoRemove unnecessary PlatformTimeRanges::create()
gyuyoung.kim@samsung.com [Tue, 24 Feb 2015 00:24:48 +0000 (00:24 +0000)]
Remove unnecessary PlatformTimeRanges::create()
https://bugs.webkit.org/show_bug.cgi?id=141901

Reviewed by Filip Pizlo.

PlatformTimeRanges::create() functions have just created an instance of PlatformTimeRanges.
This functionality can be replaced with std::make_unique<> use directly.

No new tests, no behavior changes.

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::buffered):
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::bufferedAccountingForEndOfStream):
* platform/graphics/MediaPlayer.cpp:
(WebCore::NullMediaPlayerPrivate::buffered):
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::seekable):
* platform/graphics/PlatformTimeRanges.cpp:
(WebCore::PlatformTimeRanges::create): Deleted.
* platform/graphics/PlatformTimeRanges.h:
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::buffered):
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformBufferedTimeRanges):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::buffered):
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::buffered):
* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::buffered):
* platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::MockMediaPlayerMediaSource::buffered):

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

5 years agoPartial clean up OwnPtr and PassOwnPtr in WebCore/platform
gyuyoung.kim@samsung.com [Tue, 24 Feb 2015 00:22:01 +0000 (00:22 +0000)]
Partial clean up OwnPtr and PassOwnPtr in WebCore/platform
https://bugs.webkit.org/show_bug.cgi?id=141888

Reviewed by Filip Pizlo.

Use std::unique_ptr<> and std::make_unique<>. Besides this patch removes
unnecessary OwnPtr.h|PasSOwnPtr.h includes.

No new tests, no behavior changes.

* platform/SharedBuffer.h:
* platform/Supplementable.h:
* platform/audio/gstreamer/AudioSourceProviderGStreamer.h:
(WebCore::AudioSourceProviderGStreamer::create): Deleted.
* platform/graphics/ImageBuffer.h:
* platform/graphics/TiledBackingStoreBackend.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
* platform/gtk/GamepadsGtk.cpp:

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

5 years agoDefault value of HTMLSelectElement size IDL attribute should be 0.
shiva.jm@samsung.com [Tue, 24 Feb 2015 00:17:17 +0000 (00:17 +0000)]
Default value of HTMLSelectElement size IDL attribute should be 0.
https://bugs.webkit.org/show_bug.cgi?id=141795

Reviewed by Andreas Kling.

Source/WebCore:

Default value of HTMLSelectElement size IDL attribute should be 0.
As in spec: http://www.w3.org/html/wg/drafts/html/master/forms.html#the-select-element, also this matches the behavior of Chrome, IE and
Gecko.

Test: fast/dom/select-size.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::parseAttribute):

LayoutTests:

* fast/dom/select-size-expected.txt: Added.
* fast/dom/select-size.html: Added.

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

5 years agoGet rid of JSLexicalEnvironment::argumentsGetter
fpizlo@apple.com [Mon, 23 Feb 2015 23:50:01 +0000 (23:50 +0000)]
Get rid of JSLexicalEnvironment::argumentsGetter
https://bugs.webkit.org/show_bug.cgi?id=141930

Reviewed by Mark Lam.

This function is unused, and the way it's written is bizarre - it's a return statement that
dominates a bunch of dead code.

* runtime/JSLexicalEnvironment.cpp:
(JSC::JSLexicalEnvironment::argumentsGetter): Deleted.
* runtime/JSLexicalEnvironment.h:

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

5 years agoSource/WTF:
bfulgham@apple.com [Mon, 23 Feb 2015 23:44:02 +0000 (23:44 +0000)]
Source/WTF:
WTF::WeakPtr should have a 'forget' method
https://bugs.webkit.org/show_bug.cgi?id=141923

Reviewed by Myles C. Maxfield.

* wtf/WeakPtr.h:
(WTF::WeakPtr::forget): Added.

Tools:
WTF::WeakPtr should have a 'forget' method.
https://bugs.webkit.org/show_bug.cgi?id=141923

Reviewed by Myles C. Maxfield.

* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::TEST): Added 'Forget' tests case.

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

5 years agoRemove unused activationCount and allTheThingsCount variable declarations.
fpizlo@apple.com [Mon, 23 Feb 2015 23:26:04 +0000 (23:26 +0000)]
Remove unused activationCount and allTheThingsCount variable declarations.

Rubber stamped by Mark Lam and Michael Saboff.

* runtime/JSLexicalEnvironment.h:

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

5 years agoWeb Inspector: BasicBlockAnnotator ranges should be inclusive of both the start and...
saambarati1@gmail.com [Mon, 23 Feb 2015 23:18:29 +0000 (23:18 +0000)]
Web Inspector: BasicBlockAnnotator ranges should be inclusive of both the start and end offset
https://bugs.webkit.org/show_bug.cgi?id=141334

Reviewed by Timothy Hatcher.

* UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor.prototype.addStyleToTextRange):

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

5 years agobuild.webkit.org/dashboard CrashOnly queues should not show two green bubbles
ap@apple.com [Mon, 23 Feb 2015 23:09:31 +0000 (23:09 +0000)]
build.webkit.org/dashboard CrashOnly queues should not show two green bubbles
https://bugs.webkit.org/show_bug.cgi?id=141920

Reviewed by Tim Horton.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):
Do the same thing as we do for regular green bubbles.

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

5 years agoBot watcher's dashboard doesn't show a popover for commit history when all commits...
ap@apple.com [Mon, 23 Feb 2015 23:06:32 +0000 (23:06 +0000)]
Bot watcher's dashboard doesn't show a popover for commit history when all commits were to another branch
https://bugs.webkit.org/show_bug.cgi?id=141925

Reviewed by Tim Horton.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView.prototype._presentPopoverForRevisionRange):

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

5 years agoDrawing an SVG image into a canvas using drawImage() ignores globalAlpha.
said@apple.com [Mon, 23 Feb 2015 23:04:53 +0000 (23:04 +0000)]
Drawing an SVG image into a canvas using drawImage() ignores globalAlpha.
https://bugs.webkit.org/show_bug.cgi?id=141729.

Reviewed by Daniel Bates.

Fix a build break which is caused by http://trac.webkit.org/changeset/180511/trunk.
Two functions of GraphicsContext were made inline but they were kept WEBCORE_EXPORT.

* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::paintingDisabled):
(WebCore::GraphicsContext::updatingControlTints):

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

5 years ago[iOS] Max canvas size is lower than expected
dino@apple.com [Mon, 23 Feb 2015 22:42:15 +0000 (22:42 +0000)]
[iOS] Max canvas size is lower than expected
https://bugs.webkit.org/show_bug.cgi?id=141886
<rdar://problem/19729246>

Reviewed by Tim Horton.

Use the same maximum canvas area for all ports,
which bumps the iOS limit up from 4580 * 1145
to 16k * 16k.

* html/HTMLCanvasElement.cpp: Update MaxCanvasArea.

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

5 years agoAdd API for fetching website data records to _WKWebsiteDataStore
andersca@apple.com [Mon, 23 Feb 2015 22:29:37 +0000 (22:29 +0000)]
Add API for fetching website data records to _WKWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=141926

Reviewed by Beth Dakin.

Source/WebKit2:

* UIProcess/API/APIWebsiteDataRecord.cpp:
(API::WebsiteDataRecord::create):
(API::WebsiteDataRecord::WebsiteDataRecord):
* UIProcess/API/APIWebsiteDataRecord.h:
Update to take a WebsiteDataRecord parameter.

* UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
* UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
(-[_WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
Call down to the WebsiteDataStore.

* UIProcess/WebsiteData/WebsiteDataRecord.h: Added.
This will be the data-container part of WebsiteDataRecord, but it's currently empty.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
Just dispatch the completion handler for now.

* UIProcess/WebsiteData/WebsiteDataStore.h:
Add new member.

* WebKit2.xcodeproj/project.pbxproj:
Add new files.

Tools:

* MiniBrowser/mac/MainMenu.xib:
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController fetchWebsiteData:]):
Add menu item to fetch and dump website data.

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

5 years agoAdjust the ranges of basic block statements in JSC's control flow profiler to be...
saambarati1@gmail.com [Mon, 23 Feb 2015 22:10:51 +0000 (22:10 +0000)]
Adjust the ranges of basic block statements in JSC's control flow profiler to be mutually exclusive
https://bugs.webkit.org/show_bug.cgi?id=141095

Reviewed by Mark Lam.

Suppose the control flow of a program forms basic block A with successor block
B. A's end offset will be the *same* as B's start offset in the current architecture
of the control flow profiler. This makes reasoning about the text offsets of
the control flow profiler unsound. To make reasoning about offsets sound, all
basic block ranges should be mutually exclusive.  All calls to emitProfileControlFlow
now pass in the *start* of a basic block as the text offset argument. This simplifies
all calls to emitProfileControlFlow because the previous implementation had a
lot of edge cases for getting the desired basic block text boundaries.

This patch also ensures that the basic block boundary of a block statement
is the exactly the block's open and close brace offsets (inclusive). For example,
in if/for/while statements. This also has the consequence that for statements
like "if (cond) foo();", the whitespace preceding "foo()" is not part of
the "foo()" basic block, but instead is part of the "if (cond) " basic block.
This is okay because these text offsets aren't meant to be human readable.
Instead, they reflect the text offsets of JSC's AST nodes. The Web Inspector
is the only client of this API and user of these text offsets and it is
not negatively effected by this new behavior.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::insertBasicBlockBoundariesForControlFlowProfiler):
When computing basic block boundaries in CodeBlock, we ensure that every
block's end offset is one less than its successor's start offset to
maintain that boundaries' ranges should be mutually exclusive.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
Because the control flow profiler needs to know which functions
have executed, we can't lazily create functions. This was a bug
from before that was hidden because the Type Profiler was always
enabled when the control flow profiler was enabled when profiling
was turned on from the Web Inspector. But, JSC allows for Control
Flow profiling to be turned on without Type Profiling, so we need
to ensure the Control Flow profiler has all the data it needs.

* bytecompiler/NodesCodegen.cpp:
(JSC::ConditionalNode::emitBytecode):
(JSC::IfElseNode::emitBytecode):
(JSC::WhileNode::emitBytecode):
(JSC::ForNode::emitBytecode):
(JSC::ForInNode::emitMultiLoopBytecode):
(JSC::ForOfNode::emitBytecode):
(JSC::TryNode::emitBytecode):
* jsc.cpp:
(functionHasBasicBlockExecuted):
We now assert that the substring argument is indeed a substring
of the function argument's text because subtle bugs could be
introduced otherwise.

* parser/ASTBuilder.h:
(JSC::ASTBuilder::setStartOffset):
* parser/Nodes.h:
(JSC::Node::setStartOffset):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseBlockStatement):
(JSC::Parser<LexerType>::parseStatement):
(JSC::Parser<LexerType>::parseMemberExpression):
For the various function call AST nodes, their m_position member
variable is now the start of the entire function call expression
and not at the start of the open paren of the arguments list.

* runtime/BasicBlockLocation.cpp:
(JSC::BasicBlockLocation::getExecutedRanges):
* runtime/ControlFlowProfiler.cpp:
(JSC::ControlFlowProfiler::getBasicBlocksForSourceID):
Function ranges inserted as gaps should follow the same criteria
that the bytecode generator uses to ensure that basic blocks
start and end offsets are mutually exclusive.

* tests/controlFlowProfiler/brace-location.js: Added.
(foo):
(bar):
(baz):
(testIf):
(testForRegular):
(testForIn):
(testForOf):
(testWhile):
(testIfNoBraces):
(testForRegularNoBraces):
(testForInNoBraces):
(testForOfNoBraces):
(testWhileNoBraces):
* tests/controlFlowProfiler/conditional-expression.js: Added.
(foo):
(bar):
(baz):
(testConditionalBasic):
(testConditionalFunctionCall):
* tests/controlFlowProfiler/driver/driver.js:
(checkBasicBlock):

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

5 years agoAdd support for diagnostic logging messages sampling
cdumez@apple.com [Mon, 23 Feb 2015 22:08:45 +0000 (22:08 +0000)]
Add support for diagnostic logging messages sampling
https://bugs.webkit.org/show_bug.cgi?id=141823
<rdar://problem/19899030>

Reviewed by Andreas Kling.

Add support for diagnostic logging messages sampling to decrease the
impact of diagnostic logging on CPU usage, while still getting useful
overall results. This patch adds a ShouldSample argument to
logDiagnosticMessage*() functions and logs 5% of the messages when
sampling. Sampling is turned on for keys that are known to be verbose
(e.g. per resource load logging).

On the page load test I am tracking, CPU usage caused by diagnostic
logging went down to 0.3% of UIProcess from 2.8% with this change.

Source/WebCore:

* history/PageCache.cpp:
(WebCore::logPageCacheFailureDiagnosticMessage):
(WebCore::logCanCachePageDecision):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* loader/EmptyClients.h:
* loader/FrameLoader.cpp:
(WebCore::logNavigation):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
* loader/ResourceLoader.cpp:
(WebCore::logResourceResponseSource):
* loader/SubframeLoader.cpp:
(WebCore::logPluginRequest):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequest):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::logResourceLoaded):
* loader/cache/CachedResource.cpp:
(WebCore::logResourceRevalidationReason):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::logMemoryCacheResourceRequest):
* page/DiagnosticLoggingClient.h:

Source/WebKit2:

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::logDiagnosticMessage):
(WebKit::NetworkProcess::logDiagnosticMessageWithResult):
(WebKit::NetworkProcess::logDiagnosticMessageWithValue):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm:
(WebKit::NetworkCacheStatistics::recordNotUsingCacheForRequest):
(WebKit::NetworkCacheStatistics::recordRetrievalFailure):
(WebKit::NetworkCacheStatistics::recordRetrievedCachedEntry):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::logDiagnosticMessage):
(WebKit::NetworkProcessProxy::logDiagnosticMessageWithResult):
(WebKit::NetworkProcessProxy::logDiagnosticMessageWithValue):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* UIProcess/WebPageProxy.cpp:
(WebKit::shouldLogDiagnosticMessage):
(WebKit::WebPageProxy::logDiagnosticMessage):
(WebKit::WebPageProxy::logDiagnosticMessageWithResult):
(WebKit::WebPageProxy::logDiagnosticMessageWithValue):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue):
* WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::willStartUserTriggeredZooming):

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

5 years agor9 is volatile on ARMv7 for iOS 3 and up.
mmirman@apple.com [Mon, 23 Feb 2015 22:08:41 +0000 (22:08 +0000)]
r9 is volatile on ARMv7 for iOS 3 and up.
https://bugs.webkit.org/show_bug.cgi?id=141489
rdar://problem/19432916

Reviewed by Michael Saboff.

* jit/RegisterSet.cpp:
(JSC::RegisterSet::calleeSaveRegisters): removed r9 from the list of ARMv7 callee save registers.
* tests/stress/regress-141489.js: Added.
(foo):

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

5 years ago[ARM] Add the necessary setupArgumentsWithExecState after bug141915
ossy@webkit.org [Mon, 23 Feb 2015 21:56:54 +0000 (21:56 +0000)]
[ARM] Add the necessary setupArgumentsWithExecState after bug141915
https://bugs.webkit.org/show_bug.cgi?id=141921

Reviewed by Michael Saboff.

* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):

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

5 years agoScopes should always be created with a previously-created symbol table rather than...
fpizlo@apple.com [Mon, 23 Feb 2015 21:54:15 +0000 (21:54 +0000)]
Scopes should always be created with a previously-created symbol table rather than creating one on the fly
https://bugs.webkit.org/show_bug.cgi?id=141915

Reviewed by Mark Lam.

The main effect of this change is that pushing name scopes no longer requires creating symbol
tables on the fly.

This also makes it so that JSEnvironmentRecords must always have an a priori symbol table.

JSSegmentedVariableObject still does a hack where it creates a blank symbol table on-demand.
This is needed because that's what JSGlobalObject and all of its many subclasses want. That's
harmless; I mainly needed a prior symbol tables for JSEnvironmentRecords anyway.

* bytecode/BytecodeList.json:
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
(JSC::BytecodeGenerator::emitPushCatchScope):
* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
* jit/JIT.h:
* jit/JITInlines.h:
(JSC::JIT::callOperation):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_push_name_scope):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_push_name_scope):
* jit/JITOperations.cpp:
(JSC::pushNameScope):
* jit/JITOperations.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter.asm:
* runtime/Executable.cpp:
(JSC::ScriptExecutable::newCodeBlockFor):
* runtime/JSCatchScope.h:
(JSC::JSCatchScope::JSCatchScope):
(JSC::JSCatchScope::create):
* runtime/JSEnvironmentRecord.h:
(JSC::JSEnvironmentRecord::JSEnvironmentRecord):
* runtime/JSFunctionNameScope.h:
(JSC::JSFunctionNameScope::JSFunctionNameScope):
(JSC::JSFunctionNameScope::create):
* runtime/JSNameScope.cpp:
(JSC::JSNameScope::create):
* runtime/JSNameScope.h:
(JSC::JSNameScope::create):
(JSC::JSNameScope::finishCreation):
(JSC::JSNameScope::JSNameScope):
* runtime/JSSegmentedVariableObject.h:
(JSC::JSSegmentedVariableObject::finishCreation):
* runtime/JSSymbolTableObject.h:
(JSC::JSSymbolTableObject::JSSymbolTableObject):
(JSC::JSSymbolTableObject::finishCreation): Deleted.
* runtime/SymbolTable.h:
(JSC::SymbolTable::createNameScopeTable):

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

5 years agoAdd a stubbed out _WKWebsiteDataRecord class
andersca@apple.com [Mon, 23 Feb 2015 21:26:15 +0000 (21:26 +0000)]
Add a stubbed out _WKWebsiteDataRecord class
https://bugs.webkit.org/show_bug.cgi?id=141919

Reviewed by Beth Dakin.

Also add the corresponding API::WebsiteDataRecord C++ class. A website data record is going to represent
a set of associated websites and the types of website data that exist for said websites.

* Shared/API/APIObject.h:
* UIProcess/API/APIWebsiteDataRecord.cpp: Added.
* UIProcess/API/APIWebsiteDataRecord.h: Added.
* UIProcess/API/Cocoa/_WKWebsiteDataRecord.h: Added.
* UIProcess/API/Cocoa/_WKWebsiteDataRecord.mm: Added.
* UIProcess/API/Cocoa/_WKWebsiteDataRecordInternal.h: Added.
* UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
* WebKit2.xcodeproj/project.pbxproj:

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

5 years agoReproducible crash in ViewGestureController::removeSwipeSnapshot()
timothy_horton@apple.com [Mon, 23 Feb 2015 21:05:28 +0000 (21:05 +0000)]
Reproducible crash in ViewGestureController::removeSwipeSnapshot()
https://bugs.webkit.org/show_bug.cgi?id=141917
<rdar://problem/19918590>

Reviewed by Brian Weinstein.

* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::removeSwipeSnapshot):
If the snapshot was purged and we're showing a white snapshot, we won't
be able to mark the (null) snapshot surface as volatile. Add a null check.

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

5 years agoDrawing an SVG image into a canvas using drawImage() ignores globalAlpha.
commit-queue@webkit.org [Mon, 23 Feb 2015 20:31:04 +0000 (20:31 +0000)]
Drawing an SVG image into a canvas using drawImage() ignores globalAlpha.
https://bugs.webkit.org/show_bug.cgi?id=141729.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-02-23
Reviewed by Simon Fraser.

Source/WebCore:

When drawing an SVG image and the drawing context is set to be transparent,
make sure this transparency is applied to the compositing layer.

Test: svg/canvas/canvas-global-alpha-svg.html

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setAlpha): Make setAlpha() calls the platform
function and sets 'm_state.alpha' to the input value.

(WebCore::GraphicsContext::alpha): Add a new function 'alpha()' which
returns the value of the global alpha.

* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContextState::GraphicsContextState): Add a new member
'alpha' to the context state since the getter function CGContextGetAlpha
is defined only in a private header file. Also move single line functions
from the source file to the header file.

* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setPlatformAlpha):
(WebCore::GraphicsContext::setAlpha): Deleted.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setPlatformAlpha):
(WebCore::GraphicsContext::setAlpha): Deleted.
Rename setAlpha() to setPlatformAlpha() in the platform files. Add setAlpha()
to the core file. setAlpha() will set the value of 'm_state.alpha' and call
setPlatformAlpha().

* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::draw): If the drawing context is transparent, apply its
global alpha value to the compositing layer.

LayoutTests:

Add a new test which draws an SVG image on a canvas after setting its
globalAlpha to a value less than 1.

* svg/canvas/canvas-global-alpha-svg-expected.html: Added.
* svg/canvas/canvas-global-alpha-svg.html: Added.

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

5 years agoOccasional crash in MediaPlayer::setPrivateBrowsingMode
eric.carlson@apple.com [Mon, 23 Feb 2015 19:27:36 +0000 (19:27 +0000)]
Occasional crash in MediaPlayer::setPrivateBrowsingMode
https://bugs.webkit.org/show_bug.cgi?id=141910

Reviewed by Jer Noble.

No new tests, I was unable to reproduce the crash.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::stopPeriodicTimers): Use EveryDelayedAction instead of -1.
(WebCore::HTMLMediaElement::stop): Call clearMediaPlayer instead of just setting m_player
    to NULL.
* html/HTMLMediaElement.h: Define EveryDelayedAction.

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

5 years ago[iOS] run-webkit-tests --leaks is broken because IOSSimulatorPort has no is_snowleopa...
ddkilzer@apple.com [Mon, 23 Feb 2015 18:53:06 +0000 (18:53 +0000)]
[iOS] run-webkit-tests --leaks is broken because IOSSimulatorPort has no is_snowleopard attribute
<http://webkit.org/b/141884>

Reviewed by Alexey Proskuryakov.

* Scripts/webkitpy/port/leakdetector.py:
(LeakDetector._callstacks_to_exclude_from_leaks): Remove
snowleopard, lion and older leaks.  Add known leak for
mavericks, but check Port.operating_system before calling
Port.is_mavericks.
* Scripts/webkitpy/port/mac.py:
(MacPort.is_snowleopard): Delete.
(MacPort.is_lion): Delete.
(MacPort.is_mavericks): Add.

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

5 years agoReplace another straight-up cast with a toImpl call
andersca@apple.com [Mon, 23 Feb 2015 18:45:45 +0000 (18:45 +0000)]
Replace another straight-up cast with a toImpl call
https://bugs.webkit.org/show_bug.cgi?id=141914
rdar://problem/19913016

Reviewed by Andreas Kling.

This fixes a problem where Mail would not display message bodies.

* UIProcess/API/Cocoa/WKConnection.mm:
(didReceiveMessage):

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

5 years agoAdd a comment to clarify that the test was taken from the bug report, in response to
fpizlo@apple.com [Mon, 23 Feb 2015 18:17:41 +0000 (18:17 +0000)]
Add a comment to clarify that the test was taken from the bug report, in response to
feedback from Michael Saboff and Benjamin Poulain.

* tests/stress/regress-141883.js:

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

5 years agoFunction name scope is only created on the function instance that triggered parsing...
fpizlo@apple.com [Mon, 23 Feb 2015 18:13:41 +0000 (18:13 +0000)]
Function name scope is only created on the function instance that triggered parsing rather than on every function instance that needs it
https://bugs.webkit.org/show_bug.cgi?id=141881

Reviewed by Michael Saboff.

Previously we only created the function name scope in a way that made it visible to the
function that triggered parsing/linking of the executable/codeBlock, and to the linker for
that code block. This was sort of the bare minimum for the feature to appear to work right to
synthetic tests.

There are two valid "times" to create the function name scope. Either it's created for each
JSFunction instance that needs a name scope, or it's created for each execution of such a
JSFunction. This change chooses the latter, because it happens to be the easiest to implement
with what we have right now. I opened a bug for optimizing this if we ever need to:
https://bugs.webkit.org/show_bug.cgi?id=141887.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
* jit/JITOperations.cpp:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setUpCall):
* runtime/ArrayPrototype.cpp:
(JSC::isNumericCompareFunction):
* runtime/Executable.cpp:
(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::ScriptExecutable::prepareForExecutionImpl):
(JSC::FunctionExecutable::FunctionExecutable):
* runtime/Executable.h:
(JSC::ScriptExecutable::prepareForExecution):
* runtime/JSFunction.cpp:
(JSC::JSFunction::addNameScopeIfNeeded): Deleted.
* runtime/JSFunction.h:
* tests/stress/function-name-scope.js: Added.
(check.verify):
(check):

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

5 years agoCrash in DFGFrozenValue
fpizlo@apple.com [Mon, 23 Feb 2015 18:03:49 +0000 (18:03 +0000)]
Crash in DFGFrozenValue
https://bugs.webkit.org/show_bug.cgi?id=141883

Reviewed by Benjamin Poulain.

If a value might be a cell, then we have to have Graph freeze it rather than trying to
create the FrozenValue directly. Creating it directly is just an optimization for when you
know for sure that it cannot be a cell.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* tests/stress/regress-141883.js: Added. Hacked the original test to be faster while still crashing before this fix.

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

5 years agobuild.webkit.org/dashboard should filter out commits to other branches
ap@apple.com [Mon, 23 Feb 2015 17:42:36 +0000 (17:42 +0000)]
build.webkit.org/dashboard should filter out commits to other branches
https://bugs.webkit.org/show_bug.cgi?id=140362

Reviewed by Tim Horton.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView.prototype._presentPopoverForPendingCommits):
(BuildbotQueueView.prototype._presentPopoverForRevisionRange):
(BuildbotQueueView.prototype._revisionContentWithPopoverForIteration):
(BuildbotQueueView.prototype.revisionContentForIteration):
(BuildbotQueueView.prototype._appendPendingRevisionCount): Deleted.
(BuildbotQueueView.prototype._popoverLinesForCommitRange): Deleted.
(BuildbotQueueView.prototype._revisionPopoverContentForIteration): Deleted.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
(Trac.prototype.get oldestRecordedRevisionNumber):
(Trac.prototype.commitsOnBranch):
(Trac.prototype._xmlTimelineURL):
(Trac.prototype._convertCommitInfoElementToObject):
(Trac.prototype._update):
(Trac.prototype.startPeriodicUpdates):
(Trac.prototype.loadMoreHistoricalData):
(Trac.prototype.update): Deleted.

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

5 years ago[GStreamer] Redundant track language notifications
philn@webkit.org [Mon, 23 Feb 2015 16:43:41 +0000 (16:43 +0000)]
[GStreamer] Redundant track language notifications
https://bugs.webkit.org/show_bug.cgi?id=141908

Reviewed by Žan Doberšek.

Invoke languageChanged only if the language code actually
changed.

* platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):

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

5 years ago[GTK] Fails to compile with cmake 3.2.x
commit-queue@webkit.org [Mon, 23 Feb 2015 16:06:02 +0000 (16:06 +0000)]
[GTK] Fails to compile with cmake 3.2.x
https://bugs.webkit.org/show_bug.cgi?id=141796

With cmake 3.2.x we have to explicitly ask for X11 otherwise the
X11_X11_LIB variable won't be set thus the X11 linker flags won't be
added and the build will fail.

Patch by Tomas Popela <tpopela@redhat.com> on 2015-02-23
Reviewed by Martin Robinson.

* Source/cmake/OptionsGTK.cmake:

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

5 years ago[WinCairo] Crash when media player is destroyed.
commit-queue@webkit.org [Mon, 23 Feb 2015 15:21:59 +0000 (15:21 +0000)]
[WinCairo] Crash when media player is destroyed.
https://bugs.webkit.org/show_bug.cgi?id=141248

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-02-23
Reviewed by Darin Adler.

A COM smart pointer is both released, and set to null.
This means that the COM Release method is called twice, causing a crash.

* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::endSession):

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

5 years ago[CSS Grid Layout] Remove old FIXME in RenderGrid::placeItemsOnGrid()
rego@igalia.com [Mon, 23 Feb 2015 10:28:47 +0000 (10:28 +0000)]
[CSS Grid Layout] Remove old FIXME in RenderGrid::placeItemsOnGrid()
https://bugs.webkit.org/show_bug.cgi?id=141899

Reviewed by Sergio Villar Senin.

There was a FIXME about not re-resolving positions if the grid is grown during
auto-placement. But as the spec has changed [1] and you can only refer to the
explicit grid (even if you use for example grid-column: 1 / -1). It seems that
we can get rid of this FIXME as it's not a causing a problem anymore.

[1] http://dev.w3.org/csswg/css-grid/#grid-placement-int

No new tests (no change in behavior).

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::placeItemsOnGrid): Remove FIXME.

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

5 years agoUnreviewed EFL gardening. Mark tests of css3 overflow, border to ImageOnlyFailure.
gyuyoung.kim@samsung.com [Mon, 23 Feb 2015 08:42:57 +0000 (08:42 +0000)]
Unreviewed EFL gardening. Mark tests of css3 overflow, border to ImageOnlyFailure.

* platform/efl/TestExpectations:

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

5 years agoUnreviewed EFL gardening. Add new failure tests related to attachment, editing, and...
gyuyoung.kim@samsung.com [Mon, 23 Feb 2015 08:21:18 +0000 (08:21 +0000)]
Unreviewed EFL gardening. Add new failure tests related to attachment, editing, and compositing.

* platform/efl/TestExpectations:

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

5 years agoUnreviewed, EFL gardening. Mark sub-pixel and disk cache tests to failure.
gyuyoung.kim@samsung.com [Mon, 23 Feb 2015 07:45:52 +0000 (07:45 +0000)]
Unreviewed, EFL gardening. Mark sub-pixel and disk cache tests to failure.

* platform/efl/TestExpectations:

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

5 years agoMove std::unique_ptr<>|make_unique<> to WebCore/page/scrolling
gyuyoung.kim@samsung.com [Mon, 23 Feb 2015 02:38:20 +0000 (02:38 +0000)]
Move std::unique_ptr<>|make_unique<> to WebCore/page/scrolling
https://bugs.webkit.org/show_bug.cgi?id=137877

Reviewed by Sam Weinig.

Clean up unnecessary OwnPtr.h|PassOwnPtr.h includes as well as
change OwnPtr with std::unique_ptr<>|make_unique<>.

No new tests, no behavior changes.

* page/scrolling/AsyncScrollingCoordinator.h:
* page/scrolling/ScrollingStateFixedNode.cpp:
* page/scrolling/ScrollingStateFrameScrollingNode.cpp:
* page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::appendChild):
* page/scrolling/ScrollingStateNode.h:
* page/scrolling/ScrollingStateOverflowScrollingNode.cpp:
* page/scrolling/ScrollingStateScrollingNode.cpp:
* page/scrolling/ScrollingStateStickyNode.cpp:
* page/scrolling/ScrollingTree.h:
* page/scrolling/ScrollingTreeNode.cpp:
(WebCore::ScrollingTreeNode::appendChild):
* page/scrolling/ScrollingTreeNode.h:
* page/scrolling/ScrollingTreeScrollingNode.h:

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

5 years agoPrint a console warning when HTMLCanvasElement exceeds the maximum size
dino@apple.com [Mon, 23 Feb 2015 01:55:56 +0000 (01:55 +0000)]
Print a console warning when HTMLCanvasElement exceeds the maximum size
https://bugs.webkit.org/show_bug.cgi?id=141861
<rdar://problem/19729145>

Reviewed by Simon Fraser.

Source/WebCore:

Add a warning if we ever try to create a canvas that is
too big.

No test because:
1. We can't ref-test against console messages.
2. The output is platform specific.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer):

LayoutTests:

Add error message to expected results.

* fast/canvas/canvas-toDataURL-crash-expected.txt:
* fast/canvas/pattern-too-large-to-create-expected.txt:

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

5 years agoUpdate results for Mac Yosemite.
weinig@apple.com [Mon, 23 Feb 2015 01:34:00 +0000 (01:34 +0000)]
Update results for Mac Yosemite.

* platform/mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:

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

5 years agoConvert the caps lock indicator to be implemented using the shadow DOM
weinig@apple.com [Sun, 22 Feb 2015 23:33:21 +0000 (23:33 +0000)]
Convert the caps lock indicator to be implemented using the shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=141868

Reviewed by Dan Bernstein.

Source/WebCore:

- Re-adds 'caps-lock-indicator' as a valid -webkit-appearance value. It was removed
  in r74099 to work around a site bug, that should not be a problem anymore.
- Converts the caps lock indicator to be implemented as part of the shadow DOM rather
  than a paint time effect. This gives the proper overflow behavior (it now clips) and
  behaves correctly in RTL.

* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
Make 'caps-lock-indicator' a valid -webkit-appearance value.

* css/CSSValueKeywords.in:
Remove comment that indicated that caps-lock-indicator was not a valid
-webkit-appearance value.

* css/html.css:
(input::-webkit-caps-lock-indicator):
Add new default style for the new -webkit-caps-lock-indicator pseudo-element. The
trick employed here is to use a content: image to both implement the painting of
the caps lock indicator, and to get the sizing right (shrink-to-fit, height: 100%).

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::capsLockIndicatorElement):
(WebCore::HTMLInputElement::capsLockStateMayHaveChanged):
* html/HTMLInputElement.h:
* html/InputType.cpp:
(WebCore::InputType::capsLockStateMayHaveChanged):
* html/InputType.h:
(WebCore::InputType::capsLockIndicatorElement):
Pipe notification of changes in the caps locks state to the <input> element
rather than the RenderTextControlSingleLine. Also add an accessor for the caps
lock indicator element in the shadow DOM.

* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::shouldHaveCapsLockIndicator):
(WebCore::TextFieldInputType::createShadowSubtree):
(WebCore::TextFieldInputType::capsLockIndicatorElement):
(WebCore::TextFieldInputType::destroyShadowSubtree):
(WebCore::TextFieldInputType::shouldDrawCapsLockIndicator):
(WebCore::TextFieldInputType::capsLockStateMayHaveChanged):
* html/TextFieldInputType.h:
Add a new element to the text field shadow DOM to act as the caps lock indicator.
Give it a pseudo-element ID of -webkit-caps-lock-indicator so it can be referenced
from CSS. The element is always in the DOM for a password field. It toggles between
display: none and display: block depending on the state of the caps lock key.

* page/EventHandler.cpp:
(WebCore::EventHandler::capsLockStateMayHaveChanged):
Pipe notification of changes in the caps locks state to the <input> element
rather than the RenderTextControlSingleLine.

* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::paint): Deleted.
(WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged): Deleted.
* rendering/RenderTextControlSingleLine.h:
Remove logic for drawing the caps lock indicator.

* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintMeter):
(WebCore::RenderTheme::adjustCapsLockIndicatorStyle):
(WebCore::RenderTheme::paintCapsLockIndicator):
(WebCore::RenderTheme::shouldHaveCapsLockIndicator):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintCapsLockIndicator): Deleted.
* rendering/RenderThemeIOS.h:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::shouldHaveCapsLockIndicator):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::shouldHaveCapsLockIndicator):
(WebCore::RenderThemeMac::paintCapsLockIndicator): Deleted.
Now that the caps lock indicator is implemented like other aspects of form controls,
the theme code can be converted to be similar as well.

LayoutTests:

* fast/css/appearance-caps-lock-indicator-expected.txt:
* fast/css/appearance-caps-lock-indicator.html:
* platform/mac/fast/css/text-overflow-input-expected.txt:
* platform/mac/fast/forms/basic-inputs-expected.txt:
* platform/mac/fast/forms/input-appearance-height-expected.txt:
* platform/mac/fast/forms/input-value-expected.txt:
* platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
* platform/mac/fast/forms/validation-message-appearance-expected.txt:

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

5 years ago[iOS] Gardening: Clean up timeout test for ios-simulator-{wk1,wk2}
ddkilzer@apple.com [Sun, 22 Feb 2015 20:22:09 +0000 (20:22 +0000)]
[iOS] Gardening: Clean up timeout test for ios-simulator-{wk1,wk2}

Changes for WK1 results:
* inspector/css/stylesheet-with-mutations.html
- Skip for both WK1 and WK2.  Already marked as Skip on mac.
* fast/events/dispatch-message-string-data.html
- Marked as Slow for both WK1 and WK2.  Previously marked as
  Skip via override on WK2 and marked as Failure on both.

Changes for WK2:
* inspector/css/selector-dynamic-specificity.html
- Skip on WK1 and WK2.  Already marked as Skip on mac and win.
  Updated bug number for win TestExpectations.
* inspector/css/stylesheet-with-mutations.html
- See above.
* fast/dynamic/window-resize-scrollbars-test.html
- Skip on WK1 and WK2 since iOS does not support window
  resizing and test always times out.  Remove old test results.
* fast/images/animated-gif-window-resizing.html
- Skip on WK1 and WK2 since iOS does not support window
  resizing and test always times out. Previously skipped on WK1
  only.
* fast/events/autoscroll-should-not-stop-on-keypress.html
- Skip on WK1 and WK2 due to always timing out.  Previously
  skipped on WK1 only.
* http/tests/cache/history-navigation-no-resource-revalidation.html
- Skip on WK2 due to always timing out.  Does not timeout on
  WK1.
* http/tests/navigation/target-blank-opener-post.html
- Ditto.
* svg/animations/use-animate-width-and-height.html
- Ditto.

* platform/ios-sim-deprecated/fast/dynamic/window-resize-scrollbars-test-expected.txt: Removed.
* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:
* platform/win/TestExpectations:

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

5 years ago[iOS] Gardening: Add missing results for WK2 tests
ddkilzer@apple.com [Sun, 22 Feb 2015 18:01:29 +0000 (18:01 +0000)]
[iOS] Gardening: Add missing results for WK2 tests

In all cases, WK1 and WK2 results were the same.

* platform/ios-simulator/fast/block/positioning/vertical-rl/001-expected.txt: Rename from LayoutTests/platform/ios-sim-deprecated/fast/block/positioning/vertical-rl/001-expected.txt.
* platform/ios-simulator/fast/body-propagation/background-color/001-xhtml-expected.txt: Rename from LayoutTests/platform/ios-sim-deprecated/fast/body-propagation/background-color/001-xhtml-expected.txt.
* platform/ios-simulator/fast/body-propagation/background-image/001-xhtml-expected.txt: Rename from LayoutTests/platform/ios-sim-deprecated/fast/body-propagation/background-image/001-xhtml-expected.txt.
* platform/ios-simulator/fast/body-propagation/overflow/001-xhtml-expected.txt: Rename from LayoutTests/platform/ios-sim-deprecated/fast/body-propagation/overflow/001-xhtml-expected.txt.
* platform/ios-simulator/fast/repaint/body-background-image-expected.txt: Rename from LayoutTests/platform/ios-sim-deprecated/fast/repaint/body-background-image-expected.txt.

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

5 years ago[iOS] Gardening: Add missing results for WK1 tests
ddkilzer@apple.com [Sun, 22 Feb 2015 17:26:38 +0000 (17:26 +0000)]
[iOS] Gardening: Add missing results for WK1 tests

* platform/ios-simulator/fast/css/css2-system-fonts-expected.txt: Rename from LayoutTests/platform/ios-simulator-wk2/fast/css/css2-system-fonts-expected.txt.
- Platform-specific results are the same for WK1 and WK2.
  Regressed in r179196: shared ios-simulator results should not
  have been removed.
* platform/ios-simulator/fast/css/focus-ring-exists-for-search-field-expected.txt: Add.
- Platform-specific results were missing for both WK1 and WK2.
  Regressed in r179796: no ios-simulator results landed.

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

5 years agoWeb Inspector: Lazily Create GeneralTreeElement Status Elements
commit-queue@webkit.org [Sun, 22 Feb 2015 16:49:13 +0000 (16:49 +0000)]
Web Inspector: Lazily Create GeneralTreeElement Status Elements
https://bugs.webkit.org/show_bug.cgi?id=141873

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-02-22
Reviewed by Timothy Hatcher.

* UserInterface/Views/GeneralTreeElement.js:
(WebInspector.GeneralTreeElement.prototype.set status):
(WebInspector.GeneralTreeElement.prototype.onattach):
(WebInspector.GeneralTreeElement.prototype._createElementsIfNeeded):
(WebInspector.GeneralTreeElement.prototype._updateStatusElement):
Lazily create and attach the status element container if
"this.status" is actually used by a GeneralTreeElement subclass.

* UserInterface/Views/ResourceTreeElement.js:
(WebInspector.ResourceTreeElement.prototype._updateStatus):
Set to the empty string instead of null to avoid inadvertently
creating status elements for no reason.

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

5 years agoWeb Inspector: Give ObjectPreviewView a showTitle/showPreview toggle
commit-queue@webkit.org [Sun, 22 Feb 2015 16:47:54 +0000 (16:47 +0000)]
Web Inspector: Give ObjectPreviewView a showTitle/showPreview toggle
https://bugs.webkit.org/show_bug.cgi?id=141874

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-02-22
Reviewed by Timothy Hatcher.

Refactor ObjectTree/ObjectPreview a bit to make it easier
to use expanding/collapsing previews in other places.

* UserInterface/Views/ObjectPreviewView.js:
(WebInspector.ObjectPreviewView):
(WebInspector.ObjectPreviewView.prototype.showTitle):
(WebInspector.ObjectPreviewView.prototype.showPreview):
Maintain both a titleElement and previewElement. Show only
one at a time based on showTitle/showPreview APIs.

* UserInterface/Views/ObjectTreeView.css:
(.object-tree.expanded .object-preview):
* UserInterface/Views/ObjectTreeView.js:
(WebInspector.ObjectTreeView):
(WebInspector.ObjectTreeView.prototype.expand):
(WebInspector.ObjectTreeView.prototype.collapse):
If we have a preview, let PreviewView handle toggling
between a title and preview display.

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

5 years agoWeb Inspector: Make Console UI icons / lines slightly larger
commit-queue@webkit.org [Sun, 22 Feb 2015 16:43:32 +0000 (16:43 +0000)]
Web Inspector: Make Console UI icons / lines slightly larger
https://bugs.webkit.org/show_bug.cgi?id=141876

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-02-22
Reviewed by Timothy Hatcher.

In preparation for a new ObjectTree design with larger icons,
increase the size of existing output in the Console / Log
so they don't look so small in comparison. This:

  - bumps minimum height of lines from 16px to 21px
  - 10x10 icons to be 12x12
  - recenters icons to match console prompt
  - realigns icons with console log / object output

* UserInterface/Views/LogContentView.css:
(.console-user-command-result.console-log-level::before):
(.console-message, .console-user-command):
(.console-item::before):
(.console-user-command::before):
(:matches(.console-warning-level, .console-error-level, .console-log-level).console-message):
(:matches(.console-warning-level, .console-error-level, .console-log-level)::before):
(.outline-disclosure li):
(.outline-disclosure .expanded li):
Fix a case breaking single-line message height.
Only add padding to expanded trees, not collapsed trees.

* UserInterface/Views/QuickConsole.css:
(.quick-console > .console-prompt::before):

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

5 years agoWeb Inspector: Generate Previews more often for RemoteObject interaction
commit-queue@webkit.org [Sun, 22 Feb 2015 03:50:34 +0000 (03:50 +0000)]
Web Inspector: Generate Previews more often for RemoteObject interaction
https://bugs.webkit.org/show_bug.cgi?id=141875

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-02-21
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* inspector/protocol/Runtime.json:
Add generatePreview to getProperties.

* inspector/InjectedScript.cpp:
(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getInternalProperties):
* inspector/InjectedScript.h:
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::getProperties):
* inspector/agents/InspectorRuntimeAgent.h:
Plumb the generatePreview boolean through to the injected script.

* inspector/InjectedScriptSource.js:
Add generatePreview for getProperties.
Fix callFunctionOn to generatePreviews if asked.

Source/WebInspectorUI:

* UserInterface/Models/PropertyDescriptor.js:
(WebInspector.PropertyDescriptor.fromPayload):
Fix InternalPropertyDescriptor ingestion. There was no ".internal"
property on these objects, so take a flag.

* UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject.prototype._getPropertyDescriptors):
Fix InternalPropertyDescriptor ingestion by specifying during
importing the internal properties. Also, get previews.

(WebInspector.RemoteObject.prototype.callFunction):
Always get previews when using callFunctionOn.

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

5 years ago[iOS] Fix build failure after including CoreMediaSoftLink.h in WebVideoFullscreenInte...
ddkilzer@apple.com [Sun, 22 Feb 2015 01:56:39 +0000 (01:56 +0000)]
[iOS] Fix build failure after including CoreMediaSoftLink.h in WebVideoFullscreenInterfaceAVKit.mm
<http://webkit.org/b/141816>

Attempt to fix the following build failure:

    WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:68:1: error: call to 'CoreMediaLibrary' is ambiguous
    SOFT_LINK(CoreMedia, CMTimeRangeContainsTime, Boolean, (CMTimeRange range, CMTime time), (range, time))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
    In file included from WebCore/platform/cf/CoreMediaSoftLink.h:32:
    WebCore/platform/mac/SoftLinking.h:107:79: note: expanded from macro 'SOFT_LINK'
    <scratch space>:58:1: note: expanded from here
    CoreMediaLibrary
    ^~~~~~~~~~~~~~~~
    In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
    WebCore/platform/cf/CoreMediaSoftLink.h:35:1: note: candidate function
    SOFT_LINK_FRAMEWORK_HEADER(WebCore, CoreMedia)
    ^
    In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
    In file included from WebCore/platform/cf/CoreMediaSoftLink.h:32:
    WebCore/platform/mac/SoftLinking.h:298:18: note: expanded from macro 'SOFT_LINK_FRAMEWORK_HEADER'
    <scratch space>:42:1: note: expanded from here
    CoreMediaLibrary
    ^
    WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:67:1: note: candidate function
    SOFT_LINK_FRAMEWORK(CoreMedia)
    ^
    In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
    In file included from WebCore/platform/cf/CoreMediaSoftLink.h:32:
    WebCore/platform/mac/SoftLinking.h:46:18: note: expanded from macro 'SOFT_LINK_FRAMEWORK'
    <scratch space>:51:1: note: expanded from here
    CoreMediaLibrary
    ^

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Remove the
SOFT_LINK_FRAMEWORK(CoreMedia) macro since the remaining
SOFT_LINK() and SOFT_LINK_CONSTANT() macros can use the
CoreMediaLibrary() method exposed by CoreMediaSoftLink.h.

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

5 years agoAdd SOFT_LINK_CONSTANT_SOURCE() cross-platform macro and start using it
ddkilzer@apple.com [Sat, 21 Feb 2015 21:49:57 +0000 (21:49 +0000)]
Add SOFT_LINK_CONSTANT_SOURCE() cross-platform macro and start using it
<http://webkit.org/b/141816>

Reviewed by Alexey Proskuryakov.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
- Remove CoreMediaSoftLinking.h.

* platform/cf/CoreMediaSoftLink.cpp:
- Add kCMTimeZero constant.
* platform/cf/CoreMediaSoftLink.h:
- Add SOFT_LINK_FRAMEWORK_HEADER() macro for CoreMedia.
- Add kCMTimeZero constant.

* platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: Remove.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
- Remove reference to CoreMediaSoftLinking.h and update comment.
(WebCore::MediaPlayerPrivateAVFoundationCF::isAvailable):
- Switch to using new method to check if a framework is
  available.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
- Remove all local soft-linking macros for CoreMedia.
  CoreMediaSoftLink.h handles everything now.
(WebCore::MediaPlayerPrivateAVFoundationObjC::isAvailable):
- Switch to using new method to check if a framework is
  available.

* platform/mac/SoftLinking.h:
(SOFT_LINK_FRAMEWORK_HEADER): Add.  Defines
is_Name_FrameworkAvailable() macro.
(SOFT_LINK_FRAMEWORK_SOURCE): Update to make it work with
optional framework checks without a separate macro.
(SOFT_LINK_CONSTANT_HEADER): Add.
(SOFT_LINK_CONSTANT_SOURCE): Add.
- Support soft-links to constants.

* platform/win/SoftLinking.h:
(SOFT_LINK_FRAMEWORK_HELPER): Add.  Copied from
SOFT_LINK_LIBRARY_HELPER, with addition of namespace and
non-static function.
(SOFT_LINK_FRAMEWORK): Add.  Copied from SOFT_LINK_LIBRARY.
(SOFT_LINK_DEBUG_FRAMEWORK): Add.  Copied from
SOFT_LINK_DEBUG_LIBRARY.
(SOFT_LINK_FRAMEWORK_HEADER): Add.  Defines
is_Name_FrameworkAvailable() macro.
(SOFT_LINK_FRAMEWORK_SOURCE): Redefine in terms of
SOFT_LINK_FRAMEWORK/SOFT_LINK_DEBUG_FRAMEWORK.
(SOFT_LINK_CONSTANT_HEADER): Add.
(SOFT_LINK_CONSTANT_SOURCE): Add.
- Support soft-links to constants.

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

5 years agoTests don't work on some bots: Failed to stop wptwk
youenn.fablet@crf.canon.fr [Sat, 21 Feb 2015 20:22:07 +0000 (20:22 +0000)]
Tests don't work on some bots: Failed to stop wptwk
https://bugs.webkit.org/show_bug.cgi?id=141235

Reviewed by Ryosuke Niwa.

Tools:

Logging of server subprocesses in launcher script.
Killing of server subprocesses when stopping/before starting.
Removed empty __init.py__ file creation as importer now ensures these files cannot be empty anymore.

* Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
(main): Removed empty __init.py__ file creation as importer now ensures these files cannot be empty anymore. Added logging in a file of server subprocesses to clean them in case of abnormal shutdown.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer.__init__):
(WebPlatformTestServer._stop_running_subservers): Kill server subprocesses based on file created by wpt launcher.
(WebPlatformTestServer):
(WebPlatformTestServer.stop): Overriden to ensure killing subprocesses in case of orphaned process.
(WebPlatformTestServer._stop_running_server): Killing of wpt launcher process after regular shutdown.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server_unittest.py:
(TestWebPlatformTestServer.test_server_closes_previously_spawned_instance): Reworked the test to call start/stop with an existing pid file.
(TestWebPlatformTestServer.test_import_web_platform_test_modules): No change.
(TestWebPlatformTestServer):
(TestWebPlatformTestServer.test_corrupted_subserver_files): Checked that server subprocess cleaning does not throw in case of bad server pid file.

LayoutTests:

* TestExpectations: Marking web-platform-tests as failed or passed until wpt server proves to be stable.

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

5 years agoFlaky media tests due to various CoreMedia issues.
ap@apple.com [Sat, 21 Feb 2015 08:01:29 +0000 (08:01 +0000)]
Flaky media tests due to various CoreMedia issues.
https://bugs.webkit.org/show_bug.cgi?id=141534

* platform/mac/TestExpectations: Added media/video-load-networkState.html.

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

5 years agoMake namespace configurable for SOFT_LINK_*_{HEADER,SOURCE}() macros
ddkilzer@apple.com [Sat, 21 Feb 2015 04:09:02 +0000 (04:09 +0000)]
Make namespace configurable for SOFT_LINK_*_{HEADER,SOURCE}() macros
<http://webkit.org/b/141849>

Reviewed by Brent Fulgham.

This patch does the following:
- Add namespace argument to the SOFT_LINK_*_{HEADER,SOURCE}()
  macros for reuse in other projects.
- Adds SOFT_LINK_FRAMEWORK_SOURCE() macro in preparation for Bug
  141816.
- Adds back framework argument to SOFT_LINK_FUNCTION_HEADER()
  and includes framework name in generated function names.  This
  adds more entropy to the names in case there are two functions
  with the same name in different frameworks.

* platform/cf/CoreMediaSoftLink.cpp:
- Add FIXME about USE(COREMEDIA).
- Switch from SOFT_LINK_FRAMEWORK() to
  SOFT_LINK_FRAMEWORK_SOURCE().
* platform/cf/CoreMediaSoftLink.h:
- Add FIXME about USE(COREMEDIA).
- Add back framework argument to SOFT_LINK_FUNCTION_HEADER()
  macros.

* platform/mac/SoftLinking.h:
- Add missing header guards.
- Add pragmas for different macro groups.
(SOFT_LINK_FRAMEWORK_SOURCE): Add.
(SOFT_LINK_FUNCTION_HEADER): Move. Add back framework argument.
(SOFT_LINK_FUNCTION_SOURCE): Move.
- Add framework name to generated function names.
- Incorporates namespace so that it doesn't have to be listed in
  the *SoftLink.{cpp,h} file.

* platform/win/SoftLinking.h:
- Add pragmas for different macro groups.
(SOFT_LINK_FRAMEWORK_SOURCE): Add.
(SOFT_LINK_FUNCTION_HEADER): Move. Add back framework argument.
(SOFT_LINK_FUNCTION_SOURCE): Move.
- Add framework name to generated function names.
- Incorporates namespace so that it doesn't have to be listed in
  the *SoftLink.{cpp,h} file.

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

5 years ago[Gtk] Unreviewed build fix.
bfulgham@apple.com [Sat, 21 Feb 2015 03:44:33 +0000 (03:44 +0000)]
[Gtk] Unreviewed build fix.

* platform/ScrollAnimatorNone.cpp:
(WebCore::ScrollAnimatorNone::ScrollAnimatorNone): Forget to update two
uses of ScrollableArea.

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

5 years agoScrollbars and ScrollAnimators must always have a ScrollableArea
bfulgham@apple.com [Sat, 21 Feb 2015 03:34:09 +0000 (03:34 +0000)]
Scrollbars and ScrollAnimators must always have a ScrollableArea
https://bugs.webkit.org/show_bug.cgi?id=141855

Reviewed by Simon Fraser.
Source/WebCore:

No change in functionality.

Change users of the scrollAnimator() method to expect a reference instead of a pointer. Also get rid of
a number of unnecessary nullptr checks.

* accessibility/AccessibilityScrollbar.cpp:
(WebCore::AccessibilityScrollbar::setValue):
* css/SelectorCheckerTestFunctions.h:
(WebCore::scrollbarMatchesCornerPresentPseudoClass):
* page/FrameView.cpp:
(WebCore::FrameView::createScrollbar):
(WebCore::FrameView::setFixedVisibleContentRect):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::handleWheelEventPhase):
* platform/PopupMenuClient.h:
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::ScrollAnimator):
(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::handleWheelEvent):
(WebCore::ScrollAnimator::notifyPositionChanged):
(WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers):
* platform/ScrollAnimator.h:
(WebCore::ScrollAnimator::ScrollAnimator::scrollableArea):
* platform/ScrollAnimatorNone.cpp:
* platform/ScrollAnimatorNone.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::createScrollbar):
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollAnimator):
(WebCore::ScrollableArea::scroll):
(WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
(WebCore::ScrollableArea::notifyScrollPositionChanged):
(WebCore::ScrollableArea::scrollPositionChanged):
(WebCore::ScrollableArea::handleWheelEvent):
(WebCore::ScrollableArea::handleTouchEvent):
(WebCore::ScrollableArea::mouseEnteredScrollbar):
(WebCore::ScrollableArea::mouseExitedScrollbar):
(WebCore::ScrollableArea::didAddScrollbar):
(WebCore::ScrollableArea::willRemoveScrollbar):
(WebCore::ScrollableArea::verticalScrollbarLayerDidChange):
(WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
* platform/ScrollableArea.h:
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::createNativeScrollbar):
(WebCore::Scrollbar::Scrollbar):
(WebCore::Scrollbar::scrollbarOverlayStyle):
(WebCore::Scrollbar::isScrollableAreaActive):
(WebCore::Scrollbar::offsetDidChange):
(WebCore::Scrollbar::autoscrollPressedPart):
(WebCore::Scrollbar::moveThumb):
(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseEntered):
(WebCore::Scrollbar::mouseExited):
(WebCore::Scrollbar::mouseUp):
(WebCore::Scrollbar::shouldParticipateInHitTesting):
(WebCore::Scrollbar::isWindowActive):
(WebCore::Scrollbar::invalidateRect):
(WebCore::Scrollbar::convertToContainingView):
(WebCore::Scrollbar::convertFromContainingView):
(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
* platform/Scrollbar.h:
(WebCore::Scrollbar::scrollableArea):
(WebCore::Scrollbar::disconnectFromScrollableArea): Deleted.
* platform/ios/ScrollAnimatorIOS.mm:
(WebCore::ScrollAnimatorIOS::handleTouchEvent):
(WebCore::ScrollAnimatorIOS::determineScrollableAreaForTouchSequence):
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/ScrollAnimatorMac.mm:
(-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
(-[WebScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
(-[WebScrollbarPainterDelegate scrollAnimator]):
(-[WebScrollbarPainterDelegate layer]):
(-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
(-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:animateAlphaTo:duration:]):
(WebCore::ScrollAnimator::create):
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::scroll):
(WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
(WebCore::ScrollAnimatorMac::adjustScrollPositionToBoundsIfNecessary):
(WebCore::ScrollAnimatorMac::immediateScrollTo):
(WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::verticalScrollbarLayerDidChange):
(WebCore::ScrollAnimatorMac::horizontalScrollbarLayerDidChange):
(WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
(WebCore::ScrollAnimatorMac::pinnedInDirection):
(WebCore::ScrollAnimatorMac::isAlreadyPinnedInDirectionOfGesture):
(WebCore::ScrollAnimatorMac::allowsVerticalStretching):
(WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
(WebCore::ScrollAnimatorMac::stretchAmount):
(WebCore::ScrollAnimatorMac::canScrollHorizontally):
(WebCore::ScrollAnimatorMac::canScrollVertically):
(WebCore::ScrollAnimatorMac::absoluteScrollPosition):
(WebCore::ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints):
(WebCore::ScrollAnimatorMac::updateScrollerStyle):
(WebCore::ScrollAnimatorMac::setVisibleScrollerThumbRect):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::createScrollbar):
(WebCore::RenderLayer::destroyScrollbar):
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::createScrollbar):
(WebCore::RenderListBox::destroyScrollbar):
* rendering/RenderMenuList.cpp:
(RenderMenuList::createScrollbar):
* rendering/RenderMenuList.h:
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::createCustomScrollbar):
(WebCore::RenderScrollbar::RenderScrollbar):
* rendering/RenderScrollbar.h:
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::createScrollbar):
* rendering/RenderSearchField.h:

Source/WebKit2:

Change users of the scrollAnimator() method to expect a reference instead of a pointer.

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::createScrollbar):
(WebKit::PDFPlugin::destroyScrollbar):

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

5 years agoBuild fix after r180465.
jberlin@webkit.org [Sat, 21 Feb 2015 02:55:35 +0000 (02:55 +0000)]
Build fix after r180465.

* UIProcess/mac/PageClientImpl.h:

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

5 years agoCommit the erroneously reverted change.
rniwa@webkit.org [Sat, 21 Feb 2015 01:48:00 +0000 (01:48 +0000)]
Commit the erroneously reverted change.

* public/api/runs.php:
(RunsGenerator::results):

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

5 years ago[GTK] Unreviewed build fix after r180449.
clopez@igalia.com [Sat, 21 Feb 2015 01:44:55 +0000 (01:44 +0000)]
[GTK] Unreviewed build fix after r180449.

* UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
(webkit_file_chooser_request_get_selected_files):

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

5 years agoLoading the perf dashboard takes multiple seconds
rniwa@webkit.org [Sat, 21 Feb 2015 01:28:34 +0000 (01:28 +0000)]
Loading the perf dashboard takes multiple seconds
https://bugs.webkit.org/show_bug.cgi?id=141860

Reviewed by Andreas Kling.

This patch introduces the caches of JSON files returned by /api/ in /data/ directory. It also records
the last time test_runs rows associated with the requested platforms and metrics are inserted, updated,
or removed in the caches as well as the manifest JSON files ("last modified time"). Because the manifest
is regenerated each time a new test result is reported, the front end can compare last modified time in
the manifest file with that in a /api/runs JSON cache to detect the stale-ness.

More concretely, the front end first optimistically fetches the JSON in /data/. If the cache doesn't exit
or the last modified time in the cache doesn't match with that in the manifest file, it would fetch it
again via /api/runs. In the case the cache did exist, we render the charts based on the cache meanwhile.
This dramatically reduces the perceived latency for the page load since charts are drawn immediately using
the cache and we would only re-render the charts as new up-to-date JSON comes in.

This patch also changes the format of runs JSONs by pushing the exiting properties into 'configurations'
and adding 'lastModified' and 'elapsedTime' at the top level.

* init-database.sql: Added config_runs_last_modified to test_configurations table as well as a trigger to
auto-update this column upon changes to test_runs table.

* public/admin/test-configurations.php:
(add_run): Regenerate the manifest file to invalidate the /api/runs JSON cache.
(delete_run): Ditto.

* public/api/runs.php:
(main): Fetch all columns of test_configurations table including config_runs_last_modified. Also generate
the cache in /data/ directory.
(RunsGenerator::__construct): Compute the last modified time for this (platform, metric) pair.
(RunsGenerator::results): Put the old content in 'configurations' property and include 'lastModified' and
'elapsedTime' properties. 'elapsedTime' is added for debugging purposes.
(RunsGenerator::add_runs):
(RunsGenerator::parse_revisions_array):

* public/include/db.php:
(CONFIG_DIR): Added.
(generate_data_file): Added based on ManifestGenerator::store.
(Database::to_js_time): Extracted from RunsGenerator::add_runs to share code.

* public/include/json-header.php:
(echo_success): Renamed from success_json. Return the serialized JSON instead of echo'ing it so that we can
generate caches in /api/runs/.
(exit_with_success):

* public/include/manifest.php:
(ManifestGenerator::generate): Added 'elapsedTime' property for the time taken to generate the manifest.
It seems like we're generating it in 200-300ms for now so that's good.
(ManifestGenerator::store): Uses generate_data_file.
(ManifestGenerator::platforms): Added 'lastModified' array to each platform entry. This array contains the
last modified time for each (platform, metric) pair.

* public/index.html:
(fetchTest): Updated per the format change in runs JSON.

* public/v2/app.js:
(App.Pane._fetch): Fetch the cached JSON first. Refetch the uncached version if instructed as such.
(App.Pane._updateChartData): Extracted from App.Pane._fetch.
(App.Pane._handleFetchErrors): Ditto.

* public/v2/data.js:
(RunsData.fetchRuns): Takes the fourth argument indicating whether we should fetch the cached version or not.
The cached JSON is located in /data/ with the same filename. When fetching a cached JSON results in 404,
fulfill the promise with null as the result instead of rejecting it. The only client of this function which
sets useCache to true is App.Manifest.fetchRunsWithPlatformAndMetric, and it handles this special case.

* public/v2/manifest.js:
(App.DateArrayTransform): Added. Handles the array of last modified dates in platform objects.
(App.Platform.lastModifiedTimeForMetric): Added. Returns the last modified date in the manifest JSON.
(App.Manifest.fetchRunsWithPlatformAndMetric): Takes "useCache" like RunsData.fetchRuns. Set shouldRefetch
to true if response is null (the cache didn't exit) or the cache is out-of-date.
(App.Manifest._formatFetchedData): Extracted from App.Manifest.fetchRunsWithPlatformAndMetric.

* run-tests.js:
(initializeDatabase): Avoid splitting function definitions in the middle.

* tests/api-report.js: Added tests to verify that reporting new test results updates the last modified time
in test_configurations.

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

5 years agoRefactor JSWrapperMap.mm to defer creation of the ObjC JSValue until the latest possi...
mark.lam@apple.com [Sat, 21 Feb 2015 00:36:27 +0000 (00:36 +0000)]
Refactor JSWrapperMap.mm to defer creation of the ObjC JSValue until the latest possible moment.
<https://webkit.org/b/141856>

Reviewed by Geoffrey Garen.

1. Make JSObjCClassInfo's -constructor and -wrapperForObject return a
   JSC::JSObject* just like -prototype.
2. Defer the creation of the ObjC JSValue from JSC::JSObject* until
   the latest moment when it is needed.  This allows us to not have to
   keep converting back to a JSC::JSObject* in intermediate code.

* API/JSWrapperMap.mm:
(makeWrapper):
(objectWithCustomBrand):
(constructorWithCustomBrand):
(allocateConstructorForCustomClass):
(-[JSObjCClassInfo allocateConstructorAndPrototype]):
(-[JSObjCClassInfo wrapperForObject:]):
(-[JSObjCClassInfo constructor]):
(-[JSWrapperMap jsWrapperForObject:]):

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

5 years agoREGRESSION(r180333): Analysis tasks can't be associated with bugs
rniwa@webkit.org [Sat, 21 Feb 2015 00:35:18 +0000 (00:35 +0000)]
REGRESSION(r180333): Analysis tasks can't be associated with bugs
https://bugs.webkit.org/show_bug.cgi?id=141858

Reviewed by Andreas Kling.

Added back the erroneously removed table to associate bugs. Also moved "details-table-container" div outside
of the chart-details partial template as it needs to wrap associate bugs in analysis task pages.

* public/v2/chart-pane.css:
* public/v2/index.html:

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

5 years ago[WK2] Add support for font panel on OS X.
enrica@apple.com [Sat, 21 Feb 2015 00:09:48 +0000 (00:09 +0000)]
[WK2] Add support for font panel on OS X.
https://bugs.webkit.org/show_bug.cgi?id=141777

Reviewed by Tim Horton.

Source/WebCore:

This patch adds the necessary hooks to the Editor class to support
the font panel.

* editing/Editor.h:
* editing/mac/EditorMac.mm:
(WebCore::Editor::applyFontStyles):

Source/WebKit2:

This patch adds the necessary hooks to WKView to support
the font panel. It also includes refactoring of WebPage::editorState
and WebPageProxy::editorStateChanged to separate the different platform
specific tasks.

* Shared/EditorState.cpp:
(WebKit::EditorState::encode):
(WebKit::EditorState::decode):
* Shared/EditorState.h:
(WebKit::EditorState::EditorState):
* UIProcess/API/mac/WKView.mm:
(-[WKView _selectionChanged]):
(-[WKView changeFont:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::editorStateChanged): Deleted.
* UIProcess/WebPageProxy.h:
* UIProcess/efl/WebPageProxyEfl.cpp:
(WebKit::WebPageProxy::editorStateChanged):
* UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::editorStateChanged):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::editorStateChanged):
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::selectionDidChange):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::setFont):
(WebKit::WebPageProxy::editorStateChanged):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/efl/WebPageEfl.cpp:
(WebKit::WebPage::platformEditorState):
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformEditorState):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::platformEditorState):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::platformEditorState):
(WebKit::WebPage::setFont):

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

5 years agoInvalid assert in CompositeEditCommand::insertNodeAfter/insertNodeBefore
zalan@apple.com [Fri, 20 Feb 2015 23:27:39 +0000 (23:27 +0000)]
Invalid assert in CompositeEditCommand::insertNodeAfter/insertNodeBefore
https://bugs.webkit.org/show_bug.cgi?id=141854

Reviewed by Ryosuke Niwa.

Inserting content before/after the body as the result of editing is a valid operation.
This assert was originally introduced to cover cases where edited content would get moved
out of body. However, asserting such operation properly is not possible atm.

Source/WebCore:

Test: editing/inserting/insert-as-body-sibling.html

* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::insertNodeBefore):
(WebCore::CompositeEditCommand::insertNodeAfter):

LayoutTests:

* editing/inserting/insert-as-body-sibling-expected.txt: Added.
* editing/inserting/insert-as-body-sibling.html: Added.

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

5 years agosvg/animations/animateMotion-additive-2a.svg and svg/animations/animateMotion-additiv...
ap@apple.com [Fri, 20 Feb 2015 23:09:34 +0000 (23:09 +0000)]
svg/animations/animateMotion-additive-2a.svg and svg/animations/animateMotion-additive-2b.svg
sometimes fail with a very small difference
https://bugs.webkit.org/show_bug.cgi?id=139828

* platform/mac-wk2/TestExpectations: Adding a test expectation.

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

5 years agoBuild fix for gcc.
fpizlo@apple.com [Fri, 20 Feb 2015 22:57:01 +0000 (22:57 +0000)]
Build fix for gcc.

* runtime/JSNameScope.cpp:
(JSC::JSNameScope::create):

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

5 years agoGet rid of JSNameScope::m_type
fpizlo@apple.com [Fri, 20 Feb 2015 22:54:31 +0000 (22:54 +0000)]
Get rid of JSNameScope::m_type
https://bugs.webkit.org/show_bug.cgi?id=141851

Reviewed by Geoffrey Garen.

This is a big step towards getting rid of JSEnvironmentRecord::m_registers. To do it we need
to ensure that subclasses of JSEnvironmentRecord never have additional C++ fields, so that
JSEnvironmentRecord can always place "registers" right after the end of itself.

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::isCatchScope):
(JSC::DebuggerScope::isFunctionNameScope):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
* jit/JITOperations.cpp:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* runtime/JSCatchScope.cpp: Added.
* runtime/JSCatchScope.h: Added.
(JSC::JSCatchScope::JSCatchScope):
(JSC::JSCatchScope::create):
(JSC::JSCatchScope::createStructure):
* runtime/JSFunction.cpp:
(JSC::JSFunction::addNameScopeIfNeeded):
* runtime/JSFunctionNameScope.cpp: Added.
* runtime/JSFunctionNameScope.h: Added.
(JSC::JSFunctionNameScope::JSFunctionNameScope):
(JSC::JSFunctionNameScope::create):
(JSC::JSFunctionNameScope::createStructure):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::catchScopeStructure):
(JSC::JSGlobalObject::functionNameScopeStructure):
(JSC::JSGlobalObject::nameScopeStructure): Deleted.
* runtime/JSNameScope.cpp:
(JSC::JSNameScope::create):
* runtime/JSNameScope.h:
(JSC::JSNameScope::create):
(JSC::JSNameScope::JSNameScope):
(JSC::JSNameScope::createStructure): Deleted.
(JSC::JSNameScope::isFunctionNameScope): Deleted.
(JSC::JSNameScope::isCatchScope): Deleted.
* runtime/JSObject.cpp:
(JSC::JSObject::isCatchScopeObject):
(JSC::JSObject::isFunctionNameScopeObject):
* runtime/JSObject.h:

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

5 years agoRemove TCMalloc
ggaren@apple.com [Fri, 20 Feb 2015 22:28:23 +0000 (22:28 +0000)]
Remove TCMalloc
https://bugs.webkit.org/show_bug.cgi?id=141844

Reviewed by Andreas Kling.

It's unused.

* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/FastMalloc.cpp:
(WTF::EntropySource<4>::value): Deleted.
(WTF::EntropySource<8>::value): Deleted.
(WTF::internalEntropyValue): Deleted.
(WTF::freedObjectStartPoison): Deleted.
(WTF::freedObjectEndPoison): Deleted.
(WTF::ClassIndex): Deleted.
(WTF::HardenedSLL::create): Deleted.
(WTF::HardenedSLL::null): Deleted.
(WTF::HardenedSLL::setValue): Deleted.
(WTF::HardenedSLL::value): Deleted.
(WTF::HardenedSLL::operator!): Deleted.
(WTF::HardenedSLL::operator UnspecifiedBoolType): Deleted.
(WTF::HardenedSLL::operator!=): Deleted.
(WTF::HardenedSLL::operator==): Deleted.
(WTF::LgFloor): Deleted.
(WTF::SLL_Next): Deleted.
(WTF::SLL_SetNext): Deleted.
(WTF::SLL_Push): Deleted.
(WTF::SLL_Pop): Deleted.
(WTF::SLL_PopRange): Deleted.
(WTF::SLL_PushRange): Deleted.
(WTF::SizeClass): Deleted.
(WTF::ByteSizeForClass): Deleted.
(WTF::NumMoveSize): Deleted.
(WTF::InitSizeClasses): Deleted.
(WTF::MetaDataAlloc): Deleted.
(WTF::PageHeapAllocator::Init): Deleted.
(WTF::PageHeapAllocator::New): Deleted.
(WTF::PageHeapAllocator::Delete): Deleted.
(WTF::PageHeapAllocator::inuse): Deleted.
(WTF::pages): Deleted.
(WTF::AllocationSize): Deleted.
(WTF::spanInitializerCookie): Deleted.
(WTF::Span::next): Deleted.
(WTF::Span::remoteNext): Deleted.
(WTF::Span::prev): Deleted.
(WTF::Span::setNext): Deleted.
(WTF::Span::setPrev): Deleted.
(WTF::Span::initCookie): Deleted.
(WTF::Span::clearCookie): Deleted.
(WTF::Span::isValid): Deleted.
(WTF::Event): Deleted.
(WTF::NewSpan): Deleted.
(WTF::DeleteSpan): Deleted.
(WTF::DLL_Init): Deleted.
(WTF::DLL_Remove): Deleted.
(WTF::DLL_IsEmpty): Deleted.
(WTF::DLL_Length): Deleted.
(WTF::DLL_Print): Deleted.
(WTF::DLL_Prepend): Deleted.
(WTF::TCMalloc_Central_FreeList::length): Deleted.
(WTF::TCMalloc_Central_FreeList::tc_length): Deleted.
(WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): Deleted.
(WTF::TCMalloc_Central_FreeList::entropy): Deleted.
(WTF::FastMallocZone::goodSize): Deleted.
(WTF::FastMallocZone::check): Deleted.
(WTF::FastMallocZone::print): Deleted.
(WTF::FastMallocZone::log): Deleted.
(WTF::FastMallocZone::forceLock): Deleted.
(WTF::FastMallocZone::forceUnlock): Deleted.
(WTF::FastMallocZone::statistics): Deleted.
(WTF::FastMallocZone::zoneValloc): Deleted.
(WTF::FastMallocZone::zoneDestroy): Deleted.
(WTF::MallocHook::record): Deleted.
(WTF::MallocHook::recordAllocation): Deleted.
(WTF::MallocHook::recordDeallocation): Deleted.
(WTF::MallocHook::init): Deleted.
(WTF::MallocHook::InvokeNewHook): Deleted.
(WTF::MallocHook::InvokeDeleteHook): Deleted.
(WTF::KernelSupportsTLS): Deleted.
(WTF::CheckIfKernelSupportsTLS): Deleted.
(WTF::TCMalloc_PageHeap::GetDescriptor): Deleted.
(WTF::TCMalloc_PageHeap::GetDescriptorEnsureSafe): Deleted.
(WTF::TCMalloc_PageHeap::SystemBytes): Deleted.
(WTF::TCMalloc_PageHeap::FreeBytes): Deleted.
(WTF::TCMalloc_PageHeap::GetSizeClassIfCached): Deleted.
(WTF::TCMalloc_PageHeap::CacheSizeClass): Deleted.
(WTF::TCMalloc_PageHeap::RecordSpan): Deleted.
(WTF::TCMalloc_PageHeap::init): Deleted.
(WTF::TCMalloc_PageHeap::initializeScavenger): Deleted.
(WTF::TCMalloc_PageHeap::isScavengerSuspended): Deleted.
(WTF::TCMalloc_PageHeap::scheduleScavenger): Deleted.
(WTF::TCMalloc_PageHeap::rescheduleScavenger): Deleted.
(WTF::TCMalloc_PageHeap::suspendScavenger): Deleted.
(WTF::TCMalloc_PageHeap::scavengerTimerFired): Deleted.
(WTF::TCMalloc_PageHeap::runScavengerThread): Deleted.
(WTF::TCMalloc_PageHeap::signalScavenger): Deleted.
(WTF::TCMalloc_PageHeap::scavenge): Deleted.
(WTF::TCMalloc_PageHeap::shouldScavenge): Deleted.
(WTF::TCMalloc_PageHeap::New): Deleted.
(WTF::TCMalloc_PageHeap::AllocLarge): Deleted.
(WTF::TCMalloc_PageHeap::Split): Deleted.
(WTF::TCMalloc_PageHeap::Carve): Deleted.
(WTF::mergeDecommittedStates): Deleted.
(WTF::TCMalloc_PageHeap::Delete): Deleted.
(WTF::TCMalloc_PageHeap::IncrementalScavenge): Deleted.
(WTF::TCMalloc_PageHeap::RegisterSizeClass): Deleted.
(WTF::TCMalloc_PageHeap::ReturnedBytes): Deleted.
(WTF::PagesToMB): Deleted.
(WTF::TCMalloc_PageHeap::Dump): Deleted.
(WTF::TCMalloc_PageHeap::GrowHeap): Deleted.
(WTF::TCMalloc_PageHeap::Check): Deleted.
(WTF::TCMalloc_PageHeap::CheckList): Deleted.
(WTF::TCMalloc_PageHeap::ReleaseFreeList): Deleted.
(WTF::TCMalloc_PageHeap::ReleaseFreePages): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::Init): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::length): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::empty): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::lowwatermark): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::clear_lowwatermark): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::Push): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::PushRange): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::PopRange): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::Pop): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::Validate): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects): Deleted.
(WTF::TCMalloc_ThreadCache::freelist_length): Deleted.
(WTF::TCMalloc_ThreadCache::Size): Deleted.
(WTF::TCMalloc_ThreadCache::enumerateFreeObjects): Deleted.
(WTF::getPageHeap): Deleted.
(WTF::fastMallocGoodSize): Deleted.
(WTF::TCMalloc_PageHeap::periodicScavenge): Deleted.
(WTF::TCMalloc_PageHeap::scavengerThread): Deleted.
(WTF::setThreadHeap): Deleted.
(WTF::TCMalloc_Central_FreeList::Init): Deleted.
(WTF::TCMalloc_Central_FreeList::ReleaseListToSpans): Deleted.
(WTF::TCMalloc_Central_FreeList::ReleaseToSpans): Deleted.
(WTF::TCMalloc_Central_FreeList::EvictRandomSizeClass): Deleted.
(WTF::TCMalloc_Central_FreeList::MakeCacheSpace): Deleted.
(WTF::TCMalloc_Central_FreeList::ShrinkCache): Deleted.
(WTF::TCMalloc_Central_FreeList::InsertRange): Deleted.
(WTF::TCMalloc_Central_FreeList::RemoveRange): Deleted.
(WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe): Deleted.
(WTF::TCMalloc_Central_FreeList::FetchFromSpans): Deleted.
(WTF::TCMalloc_Central_FreeList::Populate): Deleted.
(WTF::TCMalloc_ThreadCache::SampleAllocation): Deleted.
(WTF::TCMalloc_ThreadCache::Init): Deleted.
(WTF::TCMalloc_ThreadCache::Cleanup): Deleted.
(WTF::TCMalloc_ThreadCache::Allocate): Deleted.
(WTF::TCMalloc_ThreadCache::Deallocate): Deleted.
(WTF::TCMalloc_ThreadCache::FetchFromCentralCache): Deleted.
(WTF::TCMalloc_ThreadCache::ReleaseToCentralCache): Deleted.
(WTF::TCMalloc_ThreadCache::Scavenge): Deleted.
(WTF::TCMalloc_ThreadCache::PickNextSample): Deleted.
(WTF::TCMalloc_ThreadCache::InitModule): Deleted.
(WTF::TCMalloc_ThreadCache::NewHeap): Deleted.
(WTF::TCMalloc_ThreadCache::GetThreadHeap): Deleted.
(WTF::TCMalloc_ThreadCache::GetCache): Deleted.
(WTF::TCMalloc_ThreadCache::GetCacheIfPresent): Deleted.
(WTF::TCMalloc_ThreadCache::InitTSD): Deleted.
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): Deleted.
* wtf/TCPackedCache.h: Removed.
* wtf/TCPageMap.h: Removed.
* wtf/TCSystemAlloc.cpp: Removed.
* wtf/TCSystemAlloc.h: Removed.

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

5 years ago[WK2] Add more detailed diagnostic logging for measuring network cache efficacy
cdumez@apple.com [Fri, 20 Feb 2015 22:25:50 +0000 (22:25 +0000)]
[WK2] Add more detailed diagnostic logging for measuring network cache efficacy
https://bugs.webkit.org/show_bug.cgi?id=141803
<rdar://problem/19632080>

Reviewed by Antti Koivisto.

Source/WebCore:

Add more diagnostic logging keys for the network cache.

* page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::missingValidatorFieldsKey):
(WebCore::DiagnosticLoggingKeys::noLongerInCacheKey):
(WebCore::DiagnosticLoggingKeys::isReloadIgnoringCacheDataKey):
(WebCore::DiagnosticLoggingKeys::isAttachmentKey):
(WebCore::DiagnosticLoggingKeys::isConditionalRequestKey):
(WebCore::DiagnosticLoggingKeys::cacheControlNoStoreKey):
(WebCore::DiagnosticLoggingKeys::uncacheableStatusCodeKey):
(WebCore::DiagnosticLoggingKeys::unsupportedHTTPMethodKey):
(WebCore::DiagnosticLoggingKeys::unusableCachedEntryKey):
(WebCore::DiagnosticLoggingKeys::varyingHeaderMismatchKey):
(WebCore::WebCore::DiagnosticLoggingKeys::notHTTPFamilyKey):
(WebCore::DiagnosticLoggingKeys::notInCacheKey):
(WebCore::DiagnosticLoggingKeys::noLongerInCacheFailureKey): Deleted.
(WebCore::DiagnosticLoggingKeys::unhandledRequestFailureKey): Deleted.
(WebCore::DiagnosticLoggingKeys::unusableCachedEntryFailureKey): Deleted.
* page/DiagnosticLoggingKeys.h:

Source/WebKit2:

Add more detailed diagnostic logging for measuring network cache
efficacy.

We want to know the reason the network cache is being by-passed, why
the network cache decided not to cache a response and why it cannot
reuse a cache entry.

This patch adds a new "UncachedReason" table to the SQLite database
to store the reason the network cache is deciding not to cache a
given response. This information is used later, when the resource is
requested again to log the reason why the request cannot be satistied
by the cache.

* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::decodeStorageEntry):
(WebKit::canRetrieve):
(WebKit::NetworkCache::retrieve):
(WebKit::canStore):
(WebKit::NetworkCache::store):
* NetworkProcess/cache/NetworkCache.h:
* NetworkProcess/cache/NetworkCacheStatistics.h:
* NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm:
(WebKit::NetworkCacheStatistics::initialize):
(WebKit::NetworkCacheStatistics::recordNotCachingResponse):
(WebKit::retrieveDecisionToDiagnosticKey):
(WebKit::NetworkCacheStatistics::recordNotUsingCacheForRequest):
(WebKit::storeDecisionToDiagnosticKey):
(WebKit::NetworkCacheStatistics::recordRetrievalFailure):
(WebKit::cachedEntryReuseFailureToDiagnosticKey):
(WebKit::NetworkCacheStatistics::recordRetrievedCachedEntry):
(WebKit::NetworkCacheStatistics::queryWasEverRequested):
(WebKit::NetworkCacheStatistics::clear):

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

5 years ago<attachment> turns the wrong blue when you highlight it
timothy_horton@apple.com [Fri, 20 Feb 2015 22:24:31 +0000 (22:24 +0000)]
<attachment> turns the wrong blue when you highlight it
https://bugs.webkit.org/show_bug.cgi?id=141853

Reviewed by Simon Fraser.

* rendering/RenderAttachment.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::shouldDrawSelectionTint):
(WebCore::RenderReplaced::paint):
* rendering/RenderReplaced.h:
Don't draw the selection tint for RenderAttachment.

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

5 years agoAllow <attachment> elements to be focused
timothy_horton@apple.com [Fri, 20 Feb 2015 22:23:53 +0000 (22:23 +0000)]
Allow <attachment> elements to be focused
https://bugs.webkit.org/show_bug.cgi?id=141847

Reviewed by Enrica Casucci.

* css/html.css:
(attachment:focus):
Disable focus rings for <attachment>.

* html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::setFocus):
* html/HTMLAttachmentElement.h:
Allow HTMLAttachmentElement to get editing focus.
Let RenderAttachment know when focus changes.

* rendering/RenderAttachment.cpp:
(WebCore::RenderAttachment::paintReplaced):
Paint the background in cyan when we are inside the selection or have focus.
Otherwise, it will be gray.

(WebCore::RenderAttachment::focusChanged):
When focus changes, repaint.

* rendering/RenderAttachment.h:

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