WebKit-https.git
6 years ago[CSS Regions] Add performance tests for selection with mixed content
rego@igalia.com [Wed, 15 Jan 2014 11:26:33 +0000 (11:26 +0000)]
[CSS Regions] Add performance tests for selection with mixed content
https://bugs.webkit.org/show_bug.cgi?id=126427

Reviewed by Ryosuke Niwa.

Add new performance tests for selection in CSS Regions mixing regular
content with regions. 2 new tests are added, one checking select all
command and another simulating a user selection passing through all the
paragraphs (similar to Layout/RegionsSelection.html).

Test are skipped for now while implementation of selection in CSS
Regions is still evolving.

* Layout/RegionsExtendingSelectionMixedContent.html: Added.
* Layout/RegionsSelectAllMixedContent.html: Added.
* Layout/resources/regions.css:
(.regular):
* Layout/resources/regions.js:
* Skipped:

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

6 years ago[CSS Regions] Hit-testing goes through clipped layer in fast/regions/overflow-first...
abucur@adobe.com [Wed, 15 Jan 2014 10:30:17 +0000 (10:30 +0000)]
[CSS Regions] Hit-testing goes through clipped layer in fast/regions/overflow-first-and-last-regions-in-container-hidden.html
https://bugs.webkit.org/show_bug.cgi?id=126886

Reviewed by Mihnea Ovidenie.

Source/WebCore:

Currently, when hit testing a location inside a flow thread we ignore the clipping rectangle of
the region. This leads to false positives when the location is over the clipped out content of a
flow thread. The patch verifies that the location is inside the clipping rectangle of the region before
forwarding the hit test verification to the flow thread layer.

Test: fast/regions/hover-and-js-in-visual-overflow-hidden.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestFlowThreadIfRegion):

LayoutTests:

Add a test that verifies you can't hover an element flowed inside a region but found inside
the hidden overflow of the region.

* fast/regions/hover-and-js-in-visual-overflow-hidden-expected.html: Added.
* fast/regions/hover-and-js-in-visual-overflow-hidden.html: Added.

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

6 years agoSuspend resource requests during computedStyle
antti@apple.com [Wed, 15 Jan 2014 10:28:52 +0000 (10:28 +0000)]
Suspend resource requests during computedStyle
https://bugs.webkit.org/show_bug.cgi?id=127034

Reviewed by Andreas Kling.

We have some cases where getting computed style leads to crashes in loadPendingImages.
This is probably caused by load callbacks resulting in re-entering WebKit and killing the StyleResolver.

As a speculative fix suspend resource loads (and so callbacks) when getting the computed style.
We do similar suspension during style recalc for the same reason.

* dom/Document.cpp:
(WebCore::Document::styleForElementIgnoringPendingStylesheets):
* loader/ResourceLoadScheduler.h:
(WebCore::ResourceLoadScheduler::Suspender::Suspender):
(WebCore::ResourceLoadScheduler::Suspender::~Suspender):

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

6 years agoDocumentFragment should be constructable.
commit-queue@webkit.org [Wed, 15 Jan 2014 10:14:09 +0000 (10:14 +0000)]
DocumentFragment should be constructable.
https://bugs.webkit.org/show_bug.cgi?id=115641

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-01-15
Reviewed by Ryosuke Niwa.

Source/WebCore:

http://www.w3.org/TR/2013/WD-dom-20131107/#interface-documentfragment
This allows us to do `new DocumentFragment` instead of
`document.createDocumentFragment()`.

Blink: https://chromium.googlesource.com/chromium/blink/+/86855c44a5a127716840fb377281b1c428e5eb2d%5E%21
Test: fast/dom/DocumentFragment/document-fragment-constructor.html

* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::create):
* dom/DocumentFragment.h:
* dom/DocumentFragment.idl:

LayoutTests:

* fast/dom/DocumentFragment/document-fragment-constructor-expected.txt: Added.
* fast/dom/DocumentFragment/document-fragment-constructor.html: Added.
* fast/dom/dom-constructors-expected.txt:
* fast/dom/dom-constructors.html:

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

6 years ago[EFL][WK1] Implement ProgressTrackerClientEfl to fix the crash
ryuan.choi@samsung.com [Wed, 15 Jan 2014 10:01:43 +0000 (10:01 +0000)]
[EFL][WK1] Implement ProgressTrackerClientEfl to fix the crash
https://bugs.webkit.org/show_bug.cgi?id=127031

Reviewed by Gyuyoung Kim.

Source/WebKit:

* PlatformEfl.cmake: Added ProgressTrackerClientEfl.cpp into source lists.

Source/WebKit/efl:

Implmemented and moved ProgressTrackerClient logic from FrameLoaderClientEfl.
ProgressTrackerClient should be indenpendent instance since r162034

* WebCoreSupport/FrameLoaderClientEfl.cpp:
* WebCoreSupport/FrameLoaderClientEfl.h:
* WebCoreSupport/ProgressTrackerClientEfl.cpp:
(WebCore::ProgressTrackerClientEfl::ProgressTrackerClientEfl):
(WebCore::ProgressTrackerClientEfl::progressTrackerDestroyed):
(WebCore::ProgressTrackerClientEfl::progressStarted):
(WebCore::ProgressTrackerClientEfl::progressEstimateChanged):
(WebCore::ProgressTrackerClientEfl::progressFinished):
* WebCoreSupport/ProgressTrackerClientEfl.h: Added.
* ewk/ewk_view.cpp:
(_ewk_view_priv_new):

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

6 years ago[EFL] Change test font installed path to webkitgtk-font-tests
changseok.oh@collabora.com [Wed, 15 Jan 2014 09:55:05 +0000 (09:55 +0000)]
[EFL] Change test font installed path to webkitgtk-font-tests
https://bugs.webkit.org/show_bug.cgi?id=126723

Reviewed by Gyuyoung Kim.

I'd like to change the test fonts installed directory from 'webkitgtk-test-fonts-0.0.3'
to 'webkitgtk-test-fonts'. webkitgtk-test-fonts-0.0.3 doesn't match the path
hard-coded in FontManagement.cpp#105

* DumpRenderTree/PlatformEfl.cmake:
* WebKitTestRunner/PlatformEfl.cmake:
* efl/jhbuild.modules:

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

6 years ago[SOUP] [WK2] - Disable MemoryCache when the DOCUMENT_VIEWER cache model is set
commit-queue@webkit.org [Wed, 15 Jan 2014 09:45:26 +0000 (09:45 +0000)]
[SOUP] [WK2] - Disable MemoryCache when the DOCUMENT_VIEWER cache model is set
https://bugs.webkit.org/show_bug.cgi?id=126577

Patch by Tomas Popela <tpopela@redhat.com> on 2014-01-15
Reviewed by Carlos Garcia Campos.

As in http://trac.webkit.org/changeset/152483, but this time for
WebKit2. When WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER is set we need to
disable the MemoryCache completely to prevent caching of the resources.

* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformSetCacheModel):

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

6 years agoMake DoYouEvenBench runnable by run-perf-tests
rniwa@webkit.org [Wed, 15 Jan 2014 08:01:52 +0000 (08:01 +0000)]
Make DoYouEvenBench runnable by run-perf-tests
https://bugs.webkit.org/show_bug.cgi?id=127030

Reviewed by Andreas Kling.

PerformanceTests:

Added Full.html that runs 5 iterations of DoYouEvenBench. This is the canonical DoYouEvenBench,
which is also runnable by run-perf-tests.

* DoYouEvenBench/Full.html: Added.

* DoYouEvenBench/benchmark.html:
(startTest): Updated the code to account for the fact old measuredValues is pushed down to tests
property and we now have total property so that we don't have to manually compute the total.

* DoYouEvenBench/resources/benchmark-report.js: Added. When we're inside a DRT/WTR, use
PerfTestRunner to output that can be parsed by run-perf-tests. Do the same when the query part
or the fragment part of the current URL is "webkit" for debugging purposes.

* DoYouEvenBench/resources/benchmark-runner.js:
(BenchmarkRunner):
(BenchmarkRunner.prototype._appendFrame): Position the frame at (0, 0) inside DRT and WTR since
we have exactly 800px by 600px inside those two test runners. Also always insert the iframe as
the first child of body to avoid inserting it after the pre inserted by the test runner.
(BenchmarkRunner.prototype.step): Initializes _measuredValues.
(BenchmarkRunner.prototype.runAllSteps): Merged callNextStep in benchmark.html.
(BenchmarkRunner.prototype.runMultipleIterations): Added.
(BenchmarkRunner.prototype._runTestAndRecordResults): Compute the grand total among suites.
Also push down the sync and async time into tests property for consistency.
(BenchmarkRunner.prototype._finalize):

* Dromaeo/resources/dromaeorunner.js:
(DRT.testObject): Renamed dromaeoIterationCount to customIterationCount as this option is also
used by DoYouEvenBench.

* resources/runner.js: Ditto.
(.finish): Spit out the aggregator name.

Tools:

Ignore console messages spit out by DoYouEvenBench and support aggregator names such as
":Total" to appear at the end of a test name. We don't do anything with it for now.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest._metrics_regex): Handle aggregator names such as ":Total". We'll pass it down
to the JSON in a follow up patch for the perf dashboard.
(PerfTest._lines_to_ignore_in_parser_result): Added lines to ignore for DoYouEvenBench.

LayoutTests:

Use customIterationCount as it has been renamed from dromaeoIterationCount.

* fast/harness/perftests/runs-per-second-iterations.html:

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

6 years ago[GTK] UI process crashes when closing the window right after printing with javascript
carlosgc@webkit.org [Wed, 15 Jan 2014 07:56:42 +0000 (07:56 +0000)]
[GTK] UI process crashes when closing the window right after printing with javascript
https://bugs.webkit.org/show_bug.cgi?id=126981

Reviewed by Gustavo Noronha Silva.

The UI process crashes because when the page is closed, the web
view is destroyed before the print operation has actually
finished. Use a weak pointer to make sure the web view pointer is
set to NULL when the it's destroyed and emit the finished callback
always so that the user can clean up the operation even when the
web view has been closed.

* UIProcess/API/gtk/WebKitPrintOperation.cpp:
(drawPagesForPrintingCompleted):

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

6 years ago[GTK] UI process crashes when the web process crashes while printing
carlosgc@webkit.org [Wed, 15 Jan 2014 07:47:47 +0000 (07:47 +0000)]
[GTK] UI process crashes when the web process crashes while printing
https://bugs.webkit.org/show_bug.cgi?id=126977

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

When the web process crashes, the printing callback is
invalidated, so the function is called with a NULL error.

* UIProcess/API/gtk/WebKitPrintOperation.cpp:
(drawPagesForPrintingCompleted): Check wkError is not NULL before
trying to use it.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewPrintFrame): Set the print mode of the operation
before emitting the print signal.

Tools:

Add new test case to check that closing the window right after
printing works. It's skipped for now, because this patch only
fixes the UI process crash, but not the web process one.

* Scripts/run-gtk-tests:
(TestRunner): Skip
/webkit2/WebKitPrintOperation/close-after-print.
* TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp:
(testPrintOperationPrintPrinter):
(findPrintToFilePrinter):
(testPrintOperationPrint):
(testPrintOperationErrors):
(testPrintOperationCloseAfterPrint):
(beforeAll):

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

6 years agoUnreviewed build fix after r161980.
changseok.oh@collabora.com [Wed, 15 Jan 2014 07:41:41 +0000 (07:41 +0000)]
Unreviewed build fix after r161980.

CachedResourcesLoader.h should not belong to the CSS_SHADERS flag since it is used
out of the flag so it causes a compile failure when svg and css shaders are concurrently disabled.

* css/StyleResolver.cpp:

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

6 years agoCrash when multiple WebView instances have different PrivateBrowsing settings
ap@apple.com [Wed, 15 Jan 2014 07:18:40 +0000 (07:18 +0000)]
Crash when multiple WebView instances have different PrivateBrowsing settings
https://bugs.webkit.org/show_bug.cgi?id=127019

Reviewed by Sam Weinig.

* WebView/WebView.mm: (-[WebView _preferencesChanged:]): Don't delete a private
browsing session simply because one preferences object doesn't use private browsing.
There could be others that do.

* WebView/WebPreferences.mm: Track how many WebPreferences objects use private
browsing, and only delete the private session when there are none any more.

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

6 years agoFix the iOS build after r162034.
simon.fraser@apple.com [Wed, 15 Jan 2014 07:00:29 +0000 (07:00 +0000)]
Fix the iOS build after r162034.

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

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

6 years agoPack ResourceResponse harder.
akling@apple.com [Wed, 15 Jan 2014 06:51:34 +0000 (06:51 +0000)]
Pack ResourceResponse harder.
<https://webkit.org/b/127005>

Re-arrange the members of ResourceResponse to reduce padding,
shrinking it by 8 bytes.

This nudges CachedResource and CachedImage into smaller size
classes, yielding a ~700 kB progression on Membuster3.

Reviewed by Anders Carlsson.

* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::ResourceResponseBase):
* platform/network/ResourceResponseBase.h:
* platform/network/cf/ResourceResponse.h:
(WebCore::ResourceResponse::ResourceResponse):

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

6 years agoRemove unnecessary WebkitCSSSVGDocumentValue
krit@webkit.org [Wed, 15 Jan 2014 06:50:13 +0000 (06:50 +0000)]
Remove unnecessary WebkitCSSSVGDocumentValue
https://bugs.webkit.org/show_bug.cgi?id=126997

Reviewed by Andreas Kling.

Source/WebCore:

Removing redundant code path. WebkitCSSSVGDocumentValue
can be expressed by a CSSPrimitiveValue.

No new tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.order:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFilter):
* css/CSSValue.cpp:
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::createFilterOperations):
* css/StyleResolver.h:
* css/WebKitCSSSVGDocumentValue.cpp: Removed.
* css/WebKitCSSSVGDocumentValue.h: Removed.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForFilter):
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::customCSSText):

LayoutTests:

Update results after use of CSSPrimitiveValue.

* css3/filters/filter-property-computed-style-expected.txt:
* css3/filters/filter-property-expected.txt:
* css3/filters/filter-property-parsing-expected.txt:
* css3/filters/script-tests/filter-property-computed-style.js:
* css3/filters/script-tests/filter-property-parsing.js:
* css3/filters/script-tests/filter-property.js:
* fast/filter-image/parse-filter-image-expected.txt:
* fast/filter-image/parse-filter-image.html:

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

6 years ago[CSSRegions] Incorrect repaint of fixed element with transformed parent
mihnea@adobe.com [Wed, 15 Jan 2014 06:43:39 +0000 (06:43 +0000)]
[CSSRegions] Incorrect repaint of fixed element with transformed parent
https://bugs.webkit.org/show_bug.cgi?id=125756

Reviewed by Simon Fraser.

Source/WebCore:

When collecting the layers for fixed positioned elements with named flow
as a containing block, use layers collection at named flow layer level
instead of relying on the positioned elements collection.

With this approach, there are situations with nested named flows laid out in
auto-height regions and thus assuming 2 step layouts, in which is enough to lay
out the inner named flow once instead of twice with a performance gain.
In such situations, the layers lists for the inner named flow are not yet updated
when collectFixedPositionedLayers is called to paint the fixed positioned layers.
Therefore I called updateLayerListsIfNeeded for all named flows layers, via the flow thread controller, before inspecting the named flow layers to avoid hitting the assertions when
accessing the named flows layers lists.

Tests: fast/regions/repaint/fixed-in-named-flow-cb-changed.html
       fast/regions/repaint/fixed-in-named-flow-cb-changed2.html

* rendering/FlowThreadController.cpp:
(WebCore::FlowThreadController::updateNamedFlowsLayerListsIfNeeded):
(WebCore::FlowThreadController::collectFixedPositionedLayers):
* rendering/FlowThreadController.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintFixedLayersInNamedFlows):

LayoutTests:

Add tests for a fixed positioned element with a parent that:
1. dynamically gets a transform, in which case the fixed positioned element should be positioned
relative to its parent
2. dynamically loses its transform, in which case the fixed positioned element should be positioned
relative to the view.

* fast/regions/repaint/fixed-in-named-flow-cb-changed-expected.html: Added.
* fast/regions/repaint/fixed-in-named-flow-cb-changed.html: Added.
* fast/regions/repaint/fixed-in-named-flow-cb-changed2-expected.html: Added.
* fast/regions/repaint/fixed-in-named-flow-cb-changed2.html: Added.

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

6 years agoUnreviewed test fix.
bfulgham@apple.com [Wed, 15 Jan 2014 06:36:26 +0000 (06:36 +0000)]
Unreviewed test fix.

Source/WebCore:

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateCompressedTexDimensions): Emit
error state expected by Khronos test suite.

LayoutTests:

* fast/canvas/webgl/webgl-compressed-texture-size-limit.html: Use same
failure mode as the khronos test suite.

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

6 years agoStop cmp from spewing useless info during postprocess-headers.sh.
mrowe@apple.com [Wed, 15 Jan 2014 06:34:14 +0000 (06:34 +0000)]
Stop cmp from spewing useless info during postprocess-headers.sh.

* postprocess-headers.sh: Pass -s to silence cmp since we only care about the
exit status.

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

6 years agoIDB: create object store support
beidson@apple.com [Wed, 15 Jan 2014 06:31:16 +0000 (06:31 +0000)]
IDB: create object store support
<rdar://problem/15779639> and https://bugs.webkit.org/show_bug.cgi?id=127011

Reviewed by Anders Carlsson.

Source/WebCore:

Split the 3 objects declared in IDBDatabaseMetadata into their own header files:
* Modules/indexeddb/IDBDatabaseMetadata.h:
* Modules/indexeddb/IDBIndexMetadata.h:
(WebCore::IDBIndexMetadata::IDBIndexMetadata):
* Modules/indexeddb/IDBObjectStoreMetadata.h:
(WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):

Add cross thread copying for IDBDatabaseMetadata:
* platform/CrossThreadCopier.cpp:
(WebCore::IDBIndexMetadata>::copy):
(WebCore::IDBObjectStoreMetadata>::copy):
* platform/CrossThreadCopier.h:

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

Add messaging/callback infrastructure for creating object stores:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::createObjectStore):
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::createObjectStore):
(WebKit::WebIDBServerConnection::didCreateObjectStore):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::didChangeDatabaseVersion):
(WebKit::UniqueIDBDatabase::didCreateObjectStore):
(WebKit::UniqueIDBDatabase::didCompleteBoolRequest):
(WebKit::UniqueIDBDatabase::createObjectStore):
(WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:

Add serialization helpers to save/restore an IDBKeyPath to/from disk:
* DatabaseProcess/IndexedDB/IDBSerialization.cpp:
(WebKit::serializeIDBKeyPath):
(WebKit::deserializeIDBKeyPath):
* DatabaseProcess/IndexedDB/IDBSerialization.h:

Add object store metadata to the schema, and save/restore the metadata:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

* Scripts/webkit2/messages.py:
(struct_or_class):
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoOnly use color in make output when it’s going to a terminal.
mitz@apple.com [Wed, 15 Jan 2014 06:10:54 +0000 (06:10 +0000)]
Only use color in make output when it’s going to a terminal.

Reviewed by Mark Rowe.

* Makefile.shared:

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

6 years ago[GTK] Unreviewed build fix after r162034
jae.park@company100.net [Wed, 15 Jan 2014 05:43:58 +0000 (05:43 +0000)]
[GTK] Unreviewed build fix after r162034

* GNUmakefile.list.am:

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

6 years ago[iOS] Crash in NavigatorBase::vendor loading apple.com
commit-queue@webkit.org [Wed, 15 Jan 2014 04:26:14 +0000 (04:26 +0000)]
[iOS] Crash in NavigatorBase::vendor loading apple.com
https://bugs.webkit.org/show_bug.cgi?id=127028

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-01-14
Reviewed by Daniel Bates.

Source/WebCore:

Export function pointers to be filled in with WebKitSystemInterface functions.

* WebCore.exp.in:

Source/WebKit/mac:

Fill in iOS WebKitSystemInterface functions.

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

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

6 years agoUnreviewed build fix for CMake based ports after r162034.
ryuan.choi@samsung.com [Wed, 15 Jan 2014 04:22:30 +0000 (04:22 +0000)]
Unreviewed build fix for CMake based ports after r162034.

* CMakeLists.txt:

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

6 years agoBuild fix after r162034
jpfau@apple.com [Wed, 15 Jan 2014 03:56:02 +0000 (03:56 +0000)]
Build fix after r162034

Rubber-stamped by Benjamin Poulain.

Source/WebCore:

* WebCore.exp.in:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp:

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

6 years agoMerged some subpixel skipped tests. Unreviewed.
zalan@apple.com [Wed, 15 Jan 2014 03:39:31 +0000 (03:39 +0000)]
Merged some subpixel skipped tests. Unreviewed.

webkit.org/b/126893 is a duplicate of webkit.org/b/126892

* platform/mac/TestExpectations:

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

6 years agoWeb Inspector: Resource finish time is sometimes earlier than response received time.
timothy@apple.com [Wed, 15 Jan 2014 03:08:43 +0000 (03:08 +0000)]
Web Inspector: Resource finish time is sometimes earlier than response received time.

https://bugs.webkit.org/show_bug.cgi?id=127027

Reviewed by Joseph Pecoraro.

* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didFinishLoading): Use currentTime() and not the
passed in finishTime.

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

6 years agoFollow up build fix attempt.
andersca@apple.com [Wed, 15 Jan 2014 03:04:06 +0000 (03:04 +0000)]
Follow up build fix attempt.

* WebCore.exp.in:

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

6 years agoAdd support for handling WebGL load policies.
roger_fong@apple.com [Wed, 15 Jan 2014 02:58:58 +0000 (02:58 +0000)]
Add support for handling WebGL load policies.
https://bugs.webkit.org/show_bug.cgi?id=126935
<rdar://problem/15790448>.

Reviewed by Brent Fulgham.

* WebCore.xcodeproj/project.pbxproj: Copy over HTMLCanvasElement.h to the private headers directory.
* html/HTMLCanvasElement.cpp: Show the policy dialog and retrieve policies as necessary.
(WebCore::HTMLCanvasElement::getContext): Make sure that WebGL is allowed on the site.
                                          If it isn't, be sure to notify the frame loader client that
                                          the site is trying to create a WebGL context.
* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::webGLPolicyForHost): Used to get the WebGL load policy for a site.
* loader/FrameLoaderTypes.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::webGLContextCreated): Called when a site is creating a WebGL context.

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

6 years agoCreate separate progress tracker clients
andersca@apple.com [Wed, 15 Jan 2014 02:43:31 +0000 (02:43 +0000)]
Create separate progress tracker clients
https://bugs.webkit.org/show_bug.cgi?id=127025

Reviewed by Sam Weinig.

Source/WebCore:

* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::~ProgressTracker):
* loader/ProgressTrackerClient.h:

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebCoreSupport/WebProgressTrackerClient.h: Copied from Source/WebCore/loader/ProgressTrackerClient.h.
* WebCoreSupport/WebProgressTrackerClient.mm: Added.
(WebProgressTrackerClient::WebProgressTrackerClient):
(WebProgressTrackerClient::progressTrackerDestroyed):
(WebProgressTrackerClient::willChangeEstimatedProgress):
(WebProgressTrackerClient::didChangeEstimatedProgress):
(WebProgressTrackerClient::progressStarted):
(WebProgressTrackerClient::progressEstimateChanged):
(WebProgressTrackerClient::progressFinished):
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

Source/WebKit2:

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp: Copied from Source/WebCore/loader/ProgressTrackerClient.h.
(WebKit::WebProgressTrackerClient::WebProgressTrackerClient):
(WebKit::WebProgressTrackerClient::progressTrackerDestroyed):
(WebKit::WebProgressTrackerClient::progressStarted):
(WebKit::WebProgressTrackerClient::progressEstimateChanged):
(WebKit::WebProgressTrackerClient::progressFinished):
* WebProcess/WebCoreSupport/WebProgressTrackerClient.h: Copied from Source/WebCore/loader/ProgressTrackerClient.h.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):

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

6 years agoAnd yet another build fix.
andersca@apple.com [Wed, 15 Jan 2014 02:26:33 +0000 (02:26 +0000)]
And yet another build fix.

* wtf/SizeLimits.cpp:

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

6 years agoAnother build fix.
andersca@apple.com [Wed, 15 Jan 2014 02:21:34 +0000 (02:21 +0000)]
Another build fix.

* wtf/SizeLimits.cpp:

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

6 years ago[WebGL] WebGLRenderingContext::validateCompressedTexDimensions improperly calculates...
bfulgham@apple.com [Wed, 15 Jan 2014 02:03:49 +0000 (02:03 +0000)]
[WebGL] WebGLRenderingContext::validateCompressedTexDimensions improperly calculates values
https://bugs.webkit.org/show_bug.cgi?id=126926

Reviewed by Dean Jackson.

Test coverage in fast/canvas/webgl/webgl-compressed-texture-size-limit.html

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::compressedTexImage2D): Pass target to
validation function.
(WebCore::WebGLRenderingContext::validateCompressedTexDimensions): Revise
calculation to also confirm size is in bounds.
(WebCore::WebGLRenderingContext::validateCompressedTexSubDimensions): Pass
       target to validation function.
* html/canvas/WebGLRenderingContext.h: Modify signature.

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

6 years agoOn iOS, we never want to make scrollbar layers
simon.fraser@apple.com [Wed, 15 Jan 2014 01:58:23 +0000 (01:58 +0000)]
On iOS, we never want to make scrollbar layers
https://bugs.webkit.org/show_bug.cgi?id=127024
<rdar://problem/15745768>

Reviewed by Dean Jackson.

On platforms that delegate scrolling, don't try to make layers
for scrollbars.

This fixes a crash in RenderLayerCompositor::updateOverflowControlsLayers()
where m_overflowControlsHostLayer is null.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::shouldCompositeOverflowControls):

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

6 years agoCorrect grave mistake in updating the pbxproj file rather than xcconfig.
dino@apple.com [Wed, 15 Jan 2014 01:39:54 +0000 (01:39 +0000)]
Correct grave mistake in updating the pbxproj file rather than xcconfig.

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

* Configurations/WebKit.xcconfig:

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

6 years ago[WK2] Make WebPageProxy's setUserAgent private
benjamin@webkit.org [Wed, 15 Jan 2014 01:35:27 +0000 (01:35 +0000)]
[WK2] Make WebPageProxy's setUserAgent private
https://bugs.webkit.org/show_bug.cgi?id=127013

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-01-14
Reviewed by Anders Carlsson.

* UIProcess/WebPageProxy.h:
The API to modify the user agent already has 3 "setters":
-standardUserAgent
-setApplicationNameForUserAgent
-setCustomUserAgent

The method WebPageProxy::setUserAgent() is supposed to be internal, not used directly.
Using it directly would cause unexpected behaviors, for example:
-Set the user agent with setUserAgent.
-Set CustomUserAgent.
-Reset CustomUserAgent.
->The user agent is now standardUserAgent instead of the user agent defined initially.

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

6 years agoSource/WebCore: Avoid PLATFORM() macros in exported headers.
simon.fraser@apple.com [Wed, 15 Jan 2014 00:52:02 +0000 (00:52 +0000)]
Source/WebCore: Avoid PLATFORM() macros in exported headers.

* platform/ios/WebEvent.h:

Source/WebKit/ios: Avoid PLATFORM() macros in exported headers.

* WebView/WebPDFViewPlaceholder.h:

Source/WebKit/mac: #define ENABLE_DASHBOARD_SUPPORT for iOS.

* WebView/WebViewPrivate.h:

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

6 years ago[iOS] Build fix for 32-bit simulator and device
dbates@webkit.org [Wed, 15 Jan 2014 00:46:02 +0000 (00:46 +0000)]
[iOS] Build fix for 32-bit simulator and device

CGFloat is defined to be float, double for 32-bit, and 64-bit devices respectively.
Because WebCore::createCGColorWithDeviceWhite() takes CGFloat arguments we need to
list both the float and double-variants of this symbol in WebCore.exp.in. Currently
we only list the version whose arguments are of type double.

* WebCore.exp.in:

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

6 years agoAttempt to fix 32-bit Mac build.
dino@apple.com [Wed, 15 Jan 2014 00:28:27 +0000 (00:28 +0000)]
Attempt to fix 32-bit Mac build.

* WebKit.xcodeproj/project.pbxproj:

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

6 years agoSource/WebCore: Clean up exports and headers for iOS.
simon.fraser@apple.com [Wed, 15 Jan 2014 00:17:13 +0000 (00:17 +0000)]
Source/WebCore: Clean up exports and headers for iOS.

Don't use ENABLE() macro in an exported header.

* platform/ios/wak/WAKResponder.h:

Source/WebKit/ios: Clean up exports and headers for iOS.

* Misc/WebNSStringDrawing.h: Don't use PLATFORM() macro in an exported header.
* WebCoreSupport/WebFrameIOS.h: Ditto.
* WebCoreSupport/WebSelectionRect.h: Ditto.

Source/WebKit/mac: Clean up exports and headers for iOS.

Need to export WebArchivePboardType on Mac and iOS.

* WebKit.exp:
* WebKit.mac.exp:

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

6 years ago[iOS] Move symbol __ZN7WebCore34registerQLPreviewConverterIfNeededEP5NSURLP8NSStringP...
dbates@webkit.org [Wed, 15 Jan 2014 00:13:10 +0000 (00:13 +0000)]
[iOS] Move symbol __ZN7WebCore34registerQLPreviewConverterIfNeededEP5NSURLP8NSStringP6NSData to
section USE(QUICK_LOOK)

* WebCore.exp.in:

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

6 years agoClean up DNSResolveQueue
andersca@apple.com [Wed, 15 Jan 2014 00:07:19 +0000 (00:07 +0000)]
Clean up DNSResolveQueue
https://bugs.webkit.org/show_bug.cgi?id=127007

Reviewed by Geoffrey Garen.

Move the shared() getter out of line and make it use NeverDestroyed.
Add a Timer member variable instead of inheriting from TimerBase.
Use std::atomic<int> for the m_requestsInFlight member variable.

* platform/network/DNSResolveQueue.cpp:
(WebCore::DNSResolveQueue::shared):
(WebCore::DNSResolveQueue::DNSResolveQueue):
(WebCore::DNSResolveQueue::add):
(WebCore::DNSResolveQueue::timerFired):
* platform/network/DNSResolveQueue.h:
(WebCore::DNSResolveQueue::decrementRequestCount):

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

6 years agoFix header availability checks on iOS
simon.fraser@apple.com [Wed, 15 Jan 2014 00:00:47 +0000 (00:00 +0000)]
Fix header availability checks on iOS
https://bugs.webkit.org/show_bug.cgi?id=127016

Reviewed by Andy Estes.

Make DOMTouch* and DOMGesture* headers public headers on iOS,
and fix MigrateHeaders.make to skip availability checks when
building for iOS.

* MigrateHeaders.make:

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

6 years agoTwo more exports for iOS.
simon.fraser@apple.com [Wed, 15 Jan 2014 00:00:45 +0000 (00:00 +0000)]
Two more exports for iOS.

* WebCore.exp.in:

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

6 years agoNeed to #import <WebCore/QuickLook.h>.
simon.fraser@apple.com [Tue, 14 Jan 2014 23:22:08 +0000 (23:22 +0000)]
Need to #import <WebCore/QuickLook.h>.

* WebView/WebDataSource.mm:

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

6 years ago[iOS] Enable WTF_USE_UIKIT_EDITING
dbates@webkit.org [Tue, 14 Jan 2014 23:05:04 +0000 (23:05 +0000)]
[iOS] Enable WTF_USE_UIKIT_EDITING

* wtf/Platform.h:

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

6 years agoCopying should be generational
mhahnenberg@apple.com [Tue, 14 Jan 2014 23:03:01 +0000 (23:03 +0000)]
Copying should be generational
https://bugs.webkit.org/show_bug.cgi?id=126555

Reviewed by Geoffrey Garen.

This patch adds support for copying to our generational collector. Eden collections
always trigger copying. Full collections use our normal fragmentation-based heuristics.

The way this works is that the CopiedSpace now has the notion of an old generation set of CopiedBlocks
and a new generation of CopiedBlocks. During each mutator cycle new CopiedSpace allocations reside
in the new generation. When a collection occurs, those blocks are moved to the old generation.

One key thing to remember is that both new and old generation objects in the MarkedSpace can
refer to old or new generation allocations in CopiedSpace. This is why we must fire write barriers
when assigning to an old (MarkedSpace) object's Butterfly.

* heap/CopiedAllocator.h:
(JSC::CopiedAllocator::tryAllocateDuringCopying):
* heap/CopiedBlock.h:
(JSC::CopiedBlock::CopiedBlock):
(JSC::CopiedBlock::didEvacuateBytes):
(JSC::CopiedBlock::isOld):
(JSC::CopiedBlock::didPromote):
* heap/CopiedBlockInlines.h:
(JSC::CopiedBlock::reportLiveBytes):
(JSC::CopiedBlock::reportLiveBytesDuringCopying):
* heap/CopiedSpace.cpp:
(JSC::CopiedSpace::CopiedSpace):
(JSC::CopiedSpace::~CopiedSpace):
(JSC::CopiedSpace::init):
(JSC::CopiedSpace::tryAllocateOversize):
(JSC::CopiedSpace::tryReallocateOversize):
(JSC::CopiedSpace::doneFillingBlock):
(JSC::CopiedSpace::didStartFullCollection):
(JSC::CopiedSpace::doneCopying):
(JSC::CopiedSpace::size):
(JSC::CopiedSpace::capacity):
(JSC::CopiedSpace::isPagedOut):
* heap/CopiedSpace.h:
(JSC::CopiedSpace::CopiedGeneration::CopiedGeneration):
* heap/CopiedSpaceInlines.h:
(JSC::CopiedSpace::contains):
(JSC::CopiedSpace::recycleEvacuatedBlock):
(JSC::CopiedSpace::allocateBlock):
(JSC::CopiedSpace::startedCopying):
* heap/CopyVisitor.cpp:
(JSC::CopyVisitor::copyFromShared):
* heap/CopyVisitorInlines.h:
(JSC::CopyVisitor::allocateNewSpace):
(JSC::CopyVisitor::allocateNewSpaceSlow):
* heap/GCThreadSharedData.cpp:
(JSC::GCThreadSharedData::didStartCopying):
* heap/Heap.cpp:
(JSC::Heap::copyBackingStores):
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::copyLater):
* heap/TinyBloomFilter.h:
(JSC::TinyBloomFilter::add):

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

6 years ago[iOS] Enable QuickLook
dbates@webkit.org [Tue, 14 Jan 2014 23:01:33 +0000 (23:01 +0000)]
[iOS] Enable QuickLook
https://bugs.webkit.org/show_bug.cgi?id=126954

Reviewed by David Kilzer.

Source/WebKit/mac:

Remove empty implementation for quickLookContentForURL: since we always enable QuickLook on iOS.

* WebView/WebView.mm:
(-[WebView quickLookContentForURL:]):

Source/WTF:

* wtf/Platform.h:

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

6 years agoSource/WebKit/ios: Remove .objc_class_name_WebInspectorXPCWrapper from export on...
dino@apple.com [Tue, 14 Jan 2014 22:56:58 +0000 (22:56 +0000)]
Source/WebKit/ios: Remove .objc_class_name_WebInspectorXPCWrapper from export on iOS build.

* WebKit.iOS.exp:

Source/WebKit/mac: Move some Mac-only exports to WebKit.mac.exp for iOS build.

* WebKit.exp:
* WebKit.mac.exp:

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

6 years agoMove some Mac-only exports to WebKit.mac.exp for iOS build.
simon.fraser@apple.com [Tue, 14 Jan 2014 22:44:57 +0000 (22:44 +0000)]
Move some Mac-only exports to WebKit.mac.exp for iOS build.

* WebKit.exp:
* WebKit.mac.exp:

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

6 years agoOne more buildfix after r161999.
ossy@webkit.org [Tue, 14 Jan 2014 22:38:18 +0000 (22:38 +0000)]
One more buildfix after r161999.

* Modules/webaudio/MediaStreamAudioSource.h:

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

6 years agoSource/WebCore: Export __ZN7WebCore11FileChooser16chooseMediaFilesERKN3WTF6VectorINS1...
simon.fraser@apple.com [Tue, 14 Jan 2014 22:34:11 +0000 (22:34 +0000)]
Source/WebCore: Export __ZN7WebCore11FileChooser16chooseMediaFilesERKN3WTF6VectorINS1_6StringELm0ENS1_15CrashOnOverflowEEERKS3_PNS_4IconE
to fix WK1 iOS linking.

* WebCore.exp.in:

Source/WebKit/ios: Fix WK1 iOS build: need implementations of these functions in WebInspectorClientIOS.

* WebCoreSupport/WebInspectorClientIOS.mm:
(WebInspectorClient::indicate):
(WebInspectorClient::hideIndication):

Source/WebKit/mac: Fix iOS WK1 linking.

* Configurations/WebKit.xcconfig: We do need WebOpenPanelResultListener
on iOS.
* WebCoreSupport/WebOpenPanelResultListener.mm: Need <WebCore/Icon.h>

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

6 years ago[WIN] Set MSBuild environment variable to avoid long-lived processes locking log...
bfulgham@apple.com [Tue, 14 Jan 2014 22:33:56 +0000 (22:33 +0000)]
[WIN] Set MSBuild environment variable to avoid long-lived processes locking log files
https://bugs.webkit.org/show_bug.cgi?id=127002

Reviewed by David Kilzer.

* Scripts/webkitdirs.pm:
(setupAppleWinEnv): Export MSBUILDDISABLENODEREUSE=1 to the environment.

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

6 years agoSource/WebCore: iOS build fixing: export required by iOS WebKit1.
simon.fraser@apple.com [Tue, 14 Jan 2014 22:20:04 +0000 (22:20 +0000)]
Source/WebCore: iOS build fixing: export required by iOS WebKit1.

* WebCore.exp.in:

Source/WebKit/mac: iOS build fixing: link WebKit against Security.framework on iOS.

* Configurations/WebKit.xcconfig:

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

6 years ago[WK1] Allow generated export files on iOS
dino@apple.com [Tue, 14 Jan 2014 22:18:16 +0000 (22:18 +0000)]
[WK1] Allow generated export files on iOS
https://bugs.webkit.org/show_bug.cgi?id=127008

Reviewed by Simon Fraser.

Source/WebKit:

Modify the export file generation rule to read from
a shared and platform-specific input file.

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Add a new Mac-only symbol file.

* WebKit.exp: To begin, move the WebIcon* into the Mac-specific exports.
* WebKit.mac.exp: Added. New file holds Mac-only symbols.

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

6 years agoUnreviewed, rolling out r162000.
commit-queue@webkit.org [Tue, 14 Jan 2014 22:13:33 +0000 (22:13 +0000)]
Unreviewed, rolling out r162000.
http://trac.webkit.org/changeset/162000
https://bugs.webkit.org/show_bug.cgi?id=127009

API versioning is wrong (Requested by rfong on #webkit).

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
* loader/FrameLoaderClient.h:
* loader/FrameLoaderTypes.h:
* page/ChromeClient.h:

Source/WebKit2:

* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/WKPageLoaderClient.h:
* UIProcess/API/C/WKPageUIClient.h:
* UIProcess/WebLoaderClient.cpp:
* UIProcess/WebLoaderClient.h:
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebUIClient.cpp:
* UIProcess/WebUIClient.h:
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:

Tools:

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):

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

6 years agoASSERTION FAILED: !hasError() in JSC::Parser<LexerType>::createSavePoint().
mark.lam@apple.com [Tue, 14 Jan 2014 22:11:43 +0000 (22:11 +0000)]
ASSERTION FAILED: !hasError() in JSC::Parser<LexerType>::createSavePoint().
https://bugs.webkit.org/show_bug.cgi?id=126990.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseConstDeclarationList):
- We were missing an error check after attempting to parse an initializer
  expression. This is now fixed.

LayoutTests:

* js/dom/parse-syntax-error-in-initializer-expected.txt: Added.
* js/dom/parse-syntax-error-in-initializer.html: Added.
* js/resources/parse-syntax-error-in-initializer.js: Added.
- Added bug test case as a regression test.

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

6 years agoSpeculative buildfix after r161999.
ossy@webkit.org [Tue, 14 Jan 2014 22:10:40 +0000 (22:10 +0000)]
Speculative buildfix after r161999.

* Shared/APIObject.h:

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

6 years agoSkip some tests that now fail after r162000.
roger_fong@apple.com [Tue, 14 Jan 2014 21:46:26 +0000 (21:46 +0000)]
Skip some tests that now fail after r162000.
https://bugs.webkit.org/show_bug.cgi?id=127000.

* platform/mac/TestExpectations:

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

6 years ago[CSS Shapes] Move CSSPrimitiveValue <-> LayoutBox Conversion to CSSPrimitiveValueMappings
betravis@adobe.com [Tue, 14 Jan 2014 21:42:03 +0000 (21:42 +0000)]
[CSS Shapes] Move CSSPrimitiveValue <-> LayoutBox Conversion to CSSPrimitiveValueMappings
https://bugs.webkit.org/show_bug.cgi?id=126719

Reviewed by Dirk Schulze.

The standard location for conversions to/from CSSPrimitiveValues is CSSPrimitiveValueMappings.
This patch moves the conversion for LayoutBoxes from BasicShapeFunctions to
CSSPrimitiveValueMappings.h.

Refactoring, no new tests.

* css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape):
(WebCore::basicShapeForValue):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator LayoutBox):
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyClipPath::applyValue):
(WebCore::ApplyPropertyShape::applyValue):

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

6 years agoAdd support for handling WebGL load policies.
roger_fong@apple.com [Tue, 14 Jan 2014 21:41:04 +0000 (21:41 +0000)]
Add support for handling WebGL load policies.
https://bugs.webkit.org/show_bug.cgi?id=126935
<rdar://problem/15790448>.

Reviewed by Brent Fulgham.

* WebCore.xcodeproj/project.pbxproj: Copy over HTMLCanvasElement.h to the private headers directory.
* html/HTMLCanvasElement.cpp: Show the policy dialog and retrieve policies as necessary.
(WebCore::HTMLCanvasElement::getContext): Make sure that WebGL is allowed on the site.
                                          If it isn't, be sure to notify the frame loader client that
                                          the site is trying to create a WebGL context.

Boiler plate code for sending messages to and from the UI and Web Process.

* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::webGLPolicyForHost): Used to get the WebGL load policy for a site.
* loader/FrameLoaderTypes.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::webGLContextCreated): Called when a site is creating a WebGL context.
* UIProcess/API/C/WKAPICast.h:
(WebKit::toWebGLLoadPolicy):
* UIProcess/API/C/WKPageLoaderClient.h:
* UIProcess/API/C/WKPageUIClient.h:
* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::webGLLoadPolicy):
* UIProcess/WebLoaderClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::webGLContextCreated):
(WebKit::WebPageProxy::webGLPolicyForHost):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::webGLContextCreated):
* UIProcess/WebUIClient.h:
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::webGLContextCreated):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::webGLPolicyForHost):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebPage/WebPage.cpp: A sendSync is used here to get the webGLPolicyForHost message sent between the Web and UI process.
                                  In the future this will be replaced with a strategy is non-blocking.
(WebKit::WebPage::getWebGLPolicyForHost):
* WebProcess/WebPage/WebPage.h:
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):

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

6 years agoGet rid of ThreadRestrictionVerifier
andersca@apple.com [Tue, 14 Jan 2014 21:38:38 +0000 (21:38 +0000)]
Get rid of ThreadRestrictionVerifier
https://bugs.webkit.org/show_bug.cgi?id=127004

Reviewed by Sam Weinig.

Source/WebCore:

Remove now unneeded calls.

* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::defaultIcon):
(WebCore::IconDatabase::setIconDataForIconURL):
(WebCore::IconDatabase::getOrCreateIconRecord):
(WebCore::IconDatabase::readFromDatabase):

Source/WTF:

The ThreadRestrictionVerifier mechanism has been turned off for a while
since it doesn't really have a good solution for objects that are passed between threads.
Instead of having dead code in the tree, just get rid of it.

* GNUmakefile.list.am:
* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/RefCounted.h:
(WTF::RefCountedBase::ref):
(WTF::RefCountedBase::hasOneRef):
(WTF::RefCountedBase::refCount):
(WTF::RefCountedBase::derefBase):
* wtf/ThreadRestrictionVerifier.h: Removed.

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

6 years agoWebKit2 leaks sudden termination assertions when a page with unload handlers is closed.
mrowe@apple.com [Tue, 14 Jan 2014 21:19:12 +0000 (21:19 +0000)]
WebKit2 leaks sudden termination assertions when a page with unload handlers is closed.
<https://webkit.org/b/126974> / <rdar://problem/15812954>

When a page with an unload handler is loaded, the web process tells the UI process that it
should disable sudden termination. However, when the page is closed the connection between
the web and UI process is torn down before the web content has a chance to tell the UI
process to reenable sudden termination.

Reviewed by Anders Carlsson.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::~WebProcessProxy): Balance any outstanding disableSuddenTermination calls.
(WebKit::WebProcessProxy::enableSuddenTermination): Decrement the count.
(WebKit::WebProcessProxy::disableSuddenTermination): Increment the count.
* UIProcess/WebProcessProxy.h:

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

6 years ago[iOS] Directly allocate NSMutableDictionary in QLPreviewConverterDictionary() and...
dbates@webkit.org [Tue, 14 Jan 2014 20:59:26 +0000 (20:59 +0000)]
[iOS] Directly allocate NSMutableDictionary in QLPreviewConverterDictionary() and QLContentDictionary()
https://bugs.webkit.org/show_bug.cgi?id=126999
<rdar://problem/15810305>

Reviewed by Joseph Pecoraro.

Fixes an issue where we may crash when subsequently accessing WebCore::QLPreviewConverterDictionary()
or WebCore::QLContentDictionary(). Currently neither of these functions retain'ed the NSMutable dictionary
returned by [NSMutableDictionary dictionary]. Instead, we should allocate and initialize NSMutableDictionary
directly to ensure that the dictionary is retained.

* platform/network/ios/QuickLook.mm:
(QLPreviewConverterDictionary):
(QLContentDictionary):

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

6 years agoSource/WebCore: [WebGL] Invalid range checking in WebGLRenderingContext::validateTexF...
bfulgham@apple.com [Tue, 14 Jan 2014 20:52:50 +0000 (20:52 +0000)]
Source/WebCore: [WebGL] Invalid range checking in WebGLRenderingContext::validateTexFuncLevel
https://bugs.webkit.org/show_bug.cgi?id=126925

Reviewed by Dean Jackson.

Added fast/canvas/webgl/webgl-compressed-texture-size-limit.html.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateTexFuncLevel): Avoid off-by-one error

LayoutTests: [WebGL] Invalid range checking in WebGLRenderContext::validateTexFunctionLevel
https://bugs.webkit.org/show_bug.cgi?id=126925

Reviewed by Dean Jackson.

* fast/canvas/webgl/resources/webgl-test-utils.js:
(WebGLTestUtils): Add missing 'waitForComposite' implementatino.
* fast/canvas/webgl/webgl-compressed-texture-size-limit-expected.txt: Added.
* fast/canvas/webgl/webgl-compressed-texture-size-limit.html: Added.

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

6 years agoWebCore icon database appears to leak sudden termination assertions
mrowe@apple.com [Tue, 14 Jan 2014 20:28:23 +0000 (20:28 +0000)]
WebCore icon database appears to leak sudden termination assertions
<https://webkit.org/b/126971> / <rdar://problem/15808797>

Introduce an RAII wrapper around disableSuddenTermination / enableSuddenTermination
and adopt it in IconDatabase to address the incorrect management of sudden termination.

IconDatabase now owns up to two SuddenTerminationDisabler objects. One ensures that
sudden termination is disabled while we're waiting on the sync timer to fire. The second
ensures that sudden termination is disabled while we're waiting on the sync thread to
process any pending work.

Reviewed by Alexey Proskuryakov.

* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::IconDatabase):
(WebCore::IconDatabase::wakeSyncThread): Disable sudden termination until the sync thread
has finished this unit of work.
(WebCore::IconDatabase::scheduleOrDeferSyncTimer): Disable sudden termination until the
sync timer has fired.
(WebCore::IconDatabase::syncTimerFired): Clear the member variable to reenable sudden termination.
(WebCore::IconDatabase::syncThreadMainLoop): Taken ownership of the SuddenTerminationDisabler
instance when we start processing a unit of work. Discard the object when our work is complete.
* loader/icon/IconDatabase.h:
* platform/SuddenTermination.h:
(WebCore::SuddenTerminationDisabler::SuddenTerminationDisabler): Disable sudden termination when created.
(WebCore::SuddenTerminationDisabler::~SuddenTerminationDisabler): Enable it when destroyed.

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

6 years agoWeb Inspector: For Remote Inspection link WebProcess's to their parent UIProcess
commit-queue@webkit.org [Tue, 14 Jan 2014 20:23:41 +0000 (20:23 +0000)]
Web Inspector: For Remote Inspection link WebProcess's to their parent UIProcess
https://bugs.webkit.org/show_bug.cgi?id=126995

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

Source/JavaScriptCore:

* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::listingForDebuggable):
For each WebView, list the parent process. Listing the parent per WebView
is already supported back when we supported processes that could host WebViews
for multiple applications.

* inspector/remote/RemoteInspectorConstants.h:
Add a separate key for the bundle identifier, separate from application identifier.

* inspector/remote/RemoteInspectorDebuggable.cpp:
(Inspector::RemoteInspectorDebuggable::info):
* inspector/remote/RemoteInspectorDebuggable.h:
(Inspector::RemoteInspectorDebuggableInfo::RemoteInspectorDebuggableInfo):
(Inspector::RemoteInspectorDebuggableInfo::hasParentProcess):
If a RemoteInspectorDebuggable has a non-zero parent process identifier
it is a proxy for the parent process.

Source/WebCore:

* inspector/InspectorClient.h:
(WebCore::InspectorClient::parentProcessIdentifier):
Client method intended for WebKit2 so a WebProcess can link to its UIProcess.

* page/PageDebuggable.h:
* page/PageDebuggable.cpp:
(WebCore::PageDebuggable::parentProcessIdentifier):
Provide parent process identifier if there is one.

Source/WebKit2:

* WebProcess/WebCoreSupport/WebInspectorClient.h:
* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::parentProcessIdentifier):
WebProcesses are proxies for a parent UIProcess.

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

6 years agoEnable the experimental selector code generator by default
benjamin@webkit.org [Tue, 14 Jan 2014 20:17:13 +0000 (20:17 +0000)]
Enable the experimental selector code generator by default
https://bugs.webkit.org/show_bug.cgi?id=126953

Reviewed by Gavin Barraclough.

* wtf/Platform.h:
Enable CSS_SELECTOR_JIT on OS X x86_64 by default.
The feature is not ready to ship but it is stable enough to enable
for the bots and nightly.

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

6 years agoiOS WebKit2 build fixes, part 3
timothy_horton@apple.com [Tue, 14 Jan 2014 20:14:58 +0000 (20:14 +0000)]
iOS WebKit2 build fixes, part 3

* WebKit2.xcodeproj/project.pbxproj:
Remove some files from the 'All' target that should never have been a part of it.

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

6 years agoiOS WebKit2 build fixes, part 2
timothy_horton@apple.com [Tue, 14 Jan 2014 20:07:50 +0000 (20:07 +0000)]
iOS WebKit2 build fixes, part 2

* WebKit2.xcodeproj/project.pbxproj:
Add some missing files.

* WebCore.exp.in:
Export some more symbols.

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

6 years ago[GTK] Skip FontConfig initialization in WebKitTestRunner if requested
zandobersek@gmail.com [Tue, 14 Jan 2014 19:50:08 +0000 (19:50 +0000)]
[GTK] Skip FontConfig initialization in WebKitTestRunner if requested
https://bugs.webkit.org/show_bug.cgi?id=120110

Reviewed by Martin Robinson.

Skip the FontConfig settings initialization in WebKitTestRunner if the
WEBKIT_SKIP_WEBKITTESTRUNNER_FONTCONFIG_INITIALIZATION environment variable is set.
This is useful when profiling the WebKitTestRunner execution, where at the startup
this step takes considerable amount of time and disturbs the profiling output.

* WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
(WTR::initializeFontConfigSetting):

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

6 years agoAdd ENABLE(WEB_REPLAY) feature flag to the build system
commit-queue@webkit.org [Tue, 14 Jan 2014 19:21:29 +0000 (19:21 +0000)]
Add ENABLE(WEB_REPLAY) feature flag to the build system
https://bugs.webkit.org/show_bug.cgi?id=126949

Patch by Brian J. Burg <burg@cs.washington.edu> on 2014-01-14
Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/FeatureDefines.h: for now, disable the flag by default.

Tools:

* Scripts/webkitperl/FeatureList.pm:

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

6 years agoCrash in WebCore::MediaSourcePrivateAVFObjC::hasAudio const + 13
jer.noble@apple.com [Tue, 14 Jan 2014 19:19:44 +0000 (19:19 +0000)]
Crash in WebCore::MediaSourcePrivateAVFObjC::hasAudio const + 13
https://bugs.webkit.org/show_bug.cgi?id=126768

Reviewed by Eric Carlson.

Null-check m_mediaSourcePrivate before calling.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasVideo):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAudio):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):

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

6 years agoREGRESSION (r160085): check-webkit-style: utf8' codec can't decode byte 0x89 in posit...
commit-queue@webkit.org [Tue, 14 Jan 2014 19:13:51 +0000 (19:13 +0000)]
REGRESSION (r160085): check-webkit-style: utf8' codec can't decode byte 0x89 in position 0: invalid start byte.
https://bugs.webkit.org/show_bug.cgi?id=126702

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-01-14
Reviewed by Alexey Proskuryakov.

Resolve regression and remove a FIXME comment that is already fixed.

* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.open_text_file_for_reading):
* Scripts/webkitpy/common/system/filesystem_unittest.py:
(RealFileSystemTest.test_read_and_write_file):
* Scripts/webkitpy/style/filereader.py:
(TextFileReader._read_lines):
* Scripts/webkitpy/style/filereader_unittest.py:
(TextFileReaderTest.test_count_delete_only_file):
(TextFileReaderTest):
(TextFileReaderTest.test_process_malformed_file):

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

6 years agoMove WKView.mm to WKViewIOS.mm as 161950 was supposed to do.
timothy_horton@apple.com [Tue, 14 Jan 2014 18:59:15 +0000 (18:59 +0000)]
Move WKView.mm to WKViewIOS.mm as 161950 was supposed to do.

* UIProcess/API/ios/WKView.mm: Removed.
* UIProcess/API/ios/WKViewIOS.mm: Copied from UIProcess/API/ios/WKView.mm.

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

6 years ago[GStreamer] Playback rate is not set when pipeline is not ready.
commit-queue@webkit.org [Tue, 14 Jan 2014 18:59:07 +0000 (18:59 +0000)]
[GStreamer] Playback rate is not set when pipeline is not ready.
https://bugs.webkit.org/show_bug.cgi?id=126692

Patch by Piotr Grad <p.grad@samsung.com> on 2014-01-14
Reviewed by Philippe Normand.

No new tests. Covered by existing tests.

Added new method updatePlaybackRate which is called when playback rate change is possible.
Added m_lastPlaybackRate in order to retrieve last correct playback rate and notify upper
layers about that setting playback rate failed.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
(WebCore::MediaPlayerPrivateGStreamer::setRate):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

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

6 years ago[Win] Application name in user agent string is truncated.
commit-queue@webkit.org [Tue, 14 Jan 2014 18:42:20 +0000 (18:42 +0000)]
[Win] Application name in user agent string is truncated.
https://bugs.webkit.org/show_bug.cgi?id=126810

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-01-14
Reviewed by Anders Carlsson.

* wtf/text/StringConcatenate.h:
(WTF::tryMakeString): Add missing 8 bit check for last argument.

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

6 years agoUnreviewed, rolling out r161978.
commit-queue@webkit.org [Tue, 14 Jan 2014 18:39:19 +0000 (18:39 +0000)]
Unreviewed, rolling out r161978.
http://trac.webkit.org/changeset/161978
https://bugs.webkit.org/show_bug.cgi?id=126992

Test case causes crash on some hardware (Requested by bfulgham
on #webkit).

Source/WebCore:

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateTexFuncLevel):

LayoutTests:

* fast/canvas/webgl/resources/webgl-test-utils.js:
(WebGLTestUtils):
* fast/canvas/webgl/webgl-compressed-texture-size-limit-expected.txt: Removed.
* fast/canvas/webgl/webgl-compressed-texture-size-limit.html: Removed.

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

6 years agoUnreviewed, rolling out r161964 and r161965.
commit-queue@webkit.org [Tue, 14 Jan 2014 18:19:25 +0000 (18:19 +0000)]
Unreviewed, rolling out r161964 and r161965.
http://trac.webkit.org/changeset/161964
http://trac.webkit.org/changeset/161965
https://bugs.webkit.org/show_bug.cgi?id=126988

Tests do not pass on the bots because of slight color
differences. The tests should be redone with squared results
and blending that leads to stable colors. (Requested by krit_
on #webkit).

Source/WebCore:

* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::draw):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawPatternForContainer):
* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageForContainer.cpp:
(WebCore::SVGImageForContainer::drawPattern):

LayoutTests:

* css3/compositing/background-blend-mode-crossfade-image-expected.html: Removed.
* css3/compositing/background-blend-mode-crossfade-image.html: Removed.
* css3/compositing/background-blend-mode-data-uri-svg-image-expected.html: Removed.
* css3/compositing/background-blend-mode-data-uri-svg-image.html: Removed.

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

6 years ago[CSS Shapes] Shape images are now <image> types, not just URIs
hmuller@adobe.com [Tue, 14 Jan 2014 18:16:42 +0000 (18:16 +0000)]
[CSS Shapes] Shape images are now <image> types, not just URIs
https://bugs.webkit.org/show_bug.cgi?id=125224

Reviewed by Andreas Kling.

Source/WebCore:

Added support for image-set valued shapes. Added an optional ResourceLoaderOptions
parameter to CSSImageSetValue::cachedImageSet() to enable CORS-enabled fetch of
image-set images. This change is based on a similar patch for ordinary shape image values:
https://bugs.webkit.org/show_bug.cgi?id=123114.

Tests: fast/shapes/shape-inside/shape-inside-image-set.html
       fast/shapes/shape-outside-floats/shape-outside-image-set.html

* css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::cachedImageSet):
* css/CSSImageSetValue.h:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseShapeProperty):
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyShape::applyValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingImage):
(WebCore::StyleResolver::loadPendingShapeImage):
* css/StyleResolver.h:
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape):

LayoutTests:

* fast/shapes/shape-inside/shape-inside-image-set-expected.html: Added.
* fast/shapes/shape-inside/shape-inside-image-set.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-image-set-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-image-set.html: Added.

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

6 years agoAX: Modernize AccessibilityChildrenVector loops
cfleizach@apple.com [Tue, 14 Jan 2014 18:09:51 +0000 (18:09 +0000)]
AX: Modernize AccessibilityChildrenVector loops
https://bugs.webkit.org/show_bug.cgi?id=126915

Reviewed by Anders Carlsson.

Change appropriate for loops to use the new style.
Use auto where appropriate.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::focusedImageMapUIElement):
* accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::addRowDescendant):
* accessibility/AccessibilityARIAGridCell.cpp:
(WebCore::AccessibilityARIAGridCell::rowIndexRange):
* accessibility/AccessibilityARIAGridRow.cpp:
(WebCore::AccessibilityARIAGridRow::disclosedRows):
(WebCore::AccessibilityARIAGridRow::disclosedByRow):
(WebCore::AccessibilityARIAGridRow::parentTable):
(WebCore::AccessibilityARIAGridRow::headerObject):
* accessibility/AccessibilityListBox.cpp:
(WebCore::AccessibilityListBox::addChildren):
(WebCore::AccessibilityListBox::setSelectedChildren):
(WebCore::AccessibilityListBox::selectedChildren):
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::listBoxOptionIndex):
* accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::didUpdateActiveOption):
* accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::addChildren):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::insertChild):
(WebCore::AccessibilityNodeObject::selectedRadioButton):
(WebCore::AccessibilityNodeObject::selectedTabItem):
(WebCore::AccessibilityNodeObject::ariaLabeledByText):
* accessibility/AccessibilityObject.cpp:
(WebCore::appendChildrenToArray):
(WebCore::AccessibilityObject::clearChildren):
(WebCore::AccessibilityObject::ariaTreeRows):
(WebCore::AccessibilityObject::ariaTreeItemContent):
(WebCore::AccessibilityObject::ariaTreeItemDisclosedRows):
(WebCore::AccessibilityObject::elementAccessibilityHitTest):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
(WebCore::AccessibilityRenderObject::ariaFlowToElements):
(WebCore::AccessibilityRenderObject::isTabItemSelected):
(WebCore::AccessibilityRenderObject::setSelectedRows):
(WebCore::AccessibilityRenderObject::ariaOwnsElements):
(WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
(WebCore::AccessibilityRenderObject::addRemoteSVGChildren):
(WebCore::AccessibilityRenderObject::updateAttachmentViewParents):
(WebCore::AccessibilityRenderObject::addHiddenChildren):
(WebCore::AccessibilityRenderObject::ariaSelectedRows):
(WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
(WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
(WebCore::AccessibilityRenderObject::tabChildren):
(WebCore::AccessibilityRenderObject::mathRadicandObject):
(WebCore::AccessibilityRenderObject::mathRootIndexObject):
(WebCore::AccessibilityRenderObject::mathNumeratorObject):
(WebCore::AccessibilityRenderObject::mathDenominatorObject):
(WebCore::AccessibilityRenderObject::mathUnderObject):
(WebCore::AccessibilityRenderObject::mathOverObject):
(WebCore::AccessibilityRenderObject::mathBaseObject):
(WebCore::AccessibilityRenderObject::mathSubscriptObject):
(WebCore::AccessibilityRenderObject::mathSuperscriptObject):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::columnHeaders):
(WebCore::AccessibilityTable::rowHeaders):
(WebCore::AccessibilityTable::visibleRows):
(WebCore::AccessibilityTable::cells):
(WebCore::AccessibilityTable::cellForColumnAndRow):
* accessibility/AccessibilityTableColumn.cpp:
(WebCore::AccessibilityTableColumn::headerObject):
* accessibility/AccessibilityTableHeaderContainer.cpp:
(WebCore::AccessibilityTableHeaderContainer::addChildren):
* accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::headerObject):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
(-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):
(-[WebAccessibilityObjectWrapper containsUnnaturallySegmentedChildren]):
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(convertMathPairsToNSArray):
(-[WebAccessibilityObjectWrapperBase accessibilityTitle]):
(-[WebAccessibilityObjectWrapperBase accessibilityDescription]):
(-[WebAccessibilityObjectWrapperBase accessibilityHelpText]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(convertToNSArray):
(convertStringsToNSArray):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityIndexOfChild:]):
(-[WebAccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
(-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):

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

6 years agoSource/WebCore: [WebGL] Invalid range checking in WebGLRenderingContext::validateTexF...
bfulgham@apple.com [Tue, 14 Jan 2014 17:53:14 +0000 (17:53 +0000)]
Source/WebCore: [WebGL] Invalid range checking in WebGLRenderingContext::validateTexFuncLevel
https://bugs.webkit.org/show_bug.cgi?id=126925

Reviewed by Dean Jackson.

Added fast/canvas/webgl/webgl-compressed-texture-size-limit.html.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateTexFuncLevel): Avoid off-by-one error

LayoutTests: [WebGL] Invalid range checking in WebGLRenderContext::validateTexFunctionLevel
https://bugs.webkit.org/show_bug.cgi?id=126925

Reviewed by Dean Jackson.

* fast/canvas/webgl/resources/webgl-test-utils.js:
(WebGLTestUtils): Add missing 'waitForComposite' implementatino.
* fast/canvas/webgl/webgl-compressed-texture-size-limit-expected.txt: Added.
* fast/canvas/webgl/webgl-compressed-texture-size-limit.html: Added.

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

6 years agoUnreviewed Mac TestExpectations update.
zalan@apple.com [Tue, 14 Jan 2014 17:41:15 +0000 (17:41 +0000)]
Unreviewed Mac TestExpectations update.

<https://webkit.org/b/126890> is duplicate of <https://webkit.org/b/126889>

* platform/mac/TestExpectations: Mark it as such.

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

6 years ago[GTK] Test /webkit2/WebKitWebContext/languages crashes with network process enabled
carlosgc@webkit.org [Tue, 14 Jan 2014 17:30:21 +0000 (17:30 +0000)]
[GTK] Test /webkit2/WebKitWebContext/languages crashes with network process enabled
https://bugs.webkit.org/show_bug.cgi?id=126130

Reviewed by Anders Carlsson.

We need to notify the network process when the user preferred
languages have changed to update the SoupSession accordingly.

* NetworkProcess/NetworkProcess.h: Add
userPreferredLanguagesChanged when using soup network backend.
* NetworkProcess/NetworkProcess.messages.in: Add
UserPreferredLanguagesChanged message when using soup network
backend.
* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::userPreferredLanguagesChanged): Update
the SoupSession to use the given languages.
(WebKit::NetworkProcess::platformInitializeNetworkProcess): Call
userPreferredLanguagesChanged() when initialization parameters
contain languages.
(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
Remove unnedded WebCore prefix.
(WebKit::NetworkProcess::clearCacheForAllOrigins): Simplify using
a single line.
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode): Encode the
languages vector.
(WebKit::NetworkProcessCreationParameters::decode): Decode the
languages vector.
* Shared/Network/NetworkProcessCreationParameters.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::languageChanged): Send a message also to the
network process.
* UIProcess/soup/WebContextSoup.cpp:
(WebKit::WebContext::platformInitializeNetworkProcess): Set
languages initial parameter.

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

6 years ago[SOUP] SoupNetworkSession::setAcceptLanguages should receive a const reference
carlosgc@webkit.org [Tue, 14 Jan 2014 17:02:24 +0000 (17:02 +0000)]
[SOUP] SoupNetworkSession::setAcceptLanguages should receive a const reference
https://bugs.webkit.org/show_bug.cgi?id=126966

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

We don't really need to modify the Vector just to ignore the C
locale.

* platform/network/soup/SoupNetworkSession.cpp:
(WebCore::buildAcceptLanguages): Rework it to not modify the
passed vector to ignore the C locale when it's present.
(WebCore::SoupNetworkSession::setAcceptLanguages): Use const Vector<String>&.
* platform/network/soup/SoupNetworkSession.h:

Source/WebKit2:

* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::setSoupSessionAcceptLanguage): Use const Vector<String>&.

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

6 years agoHTMLMediaElement::potentiallyPlaying can be more simple.
commit-queue@webkit.org [Tue, 14 Jan 2014 16:41:48 +0000 (16:41 +0000)]
HTMLMediaElement::potentiallyPlaying can be more simple.
https://bugs.webkit.org/show_bug.cgi?id=111

Patch by Piotr Grad <p.grad@samsung.com> on 2014-01-14
Reviewed by Eric Carlson.

Tests: No new tests, just refactorings.

Expression is simplified because the first 'if' statement depends on the same condition
as pausedToBuffer value.

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

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

6 years agoRemove deprecated DeferrableOneShotTimer constructor.
akling@apple.com [Tue, 14 Jan 2014 16:29:51 +0000 (16:29 +0000)]
Remove deprecated DeferrableOneShotTimer constructor.
<https://webkit.org/b/126984>

Source/WebCore:

Remove the deprecated constructor for callback functions that take
the timer by pointer instead of by reference.

This shrinks DeferrableOneShotTimer by 8 bytes.

Reviewed by Anders Carlsson.

* platform/Timer.h:
(WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer):

Source/WebKit2:

Reviewed by Anders Carlsson.

* WebProcess/Plugins/PluginView.h:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pluginSnapshotTimerFired):

    Take the timer by reference so we can use the new constructor.

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

6 years agoMake CachedSVGDocument independent of CSS Filters
krit@webkit.org [Tue, 14 Jan 2014 15:58:22 +0000 (15:58 +0000)]
Make CachedSVGDocument independent of CSS Filters
https://bugs.webkit.org/show_bug.cgi?id=126133

Reviewed by Antti Koivisto.

Clean-up the pendingSVGDocuments code in StyleResolver.
CachedSVGDocumentReference is responsible for requesting the
SVG document instead of WebKitCSSSVGDocumentValue.
CachedSVGDocumentReference can be used by other SVG resource like
clip-path and mask now so that these may load external resources
as well.
WebKitCSSSVGDocumentValue does not provide any further value
and will be removed in the next patch.

Refactoring, no new test cases.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingSVGDocuments):
(WebCore::StyleResolver::createFilterOperations):
* css/StyleResolver.h: Replace Map with a Set.
(WebCore::StyleResolver::State::pendingSVGDocuments): Use the Set from now on.
* loader/cache/CachedSVGDocumentReference.cpp:
(WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
(WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
(WebCore::CachedSVGDocumentReference::load):
* loader/cache/CachedSVGDocumentReference.h: Is responsible for
    requesting the SVG document.
(WebCore::CachedSVGDocumentReference::create):
(WebCore::CachedSVGDocumentReference::loadRequested):
* platform/graphics/filters/FilterOperation.cpp:
(WebCore::ReferenceFilterOperation::createCachedSVGDocumentReference):
* platform/graphics/filters/FilterOperation.h:

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

6 years ago[ATK] AXChildrenChanged notification handling is a performance black hole
mario.prada@samsung.com [Tue, 14 Jan 2014 15:45:32 +0000 (15:45 +0000)]
[ATK] AXChildrenChanged notification handling is a performance black hole
https://bugs.webkit.org/show_bug.cgi?id=126970

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Remove code that is causing a huge performance problem when
loading big pages, just to be able to emit the children-changed:add
signal at the exact time a child is added.

This removal does not imply that the signal won't be ever emitted,
just that it will be emitted a bit later (when the new child is
asynchronously added to the tree), which should be good enough
anyway for Accessible Technologies, without impacting perfformance
in such a negative way.

* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::postPlatformNotification): Removed
extremely expensive referring loop when AXChildrenChanged is received.

LayoutTests:

Because of the removal of the referring test when
AXChildrenChanged is received, the children-changed:add signal is
now emitted later, so we need to reorder the expectations.

* accessibility/children-changed-sends-notification-expected.txt: Updated.

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

6 years agoSource/WebCore: [CSS Background Blending] Background layer with -webkit-cross-fade...
commit-queue@webkit.org [Tue, 14 Jan 2014 15:41:32 +0000 (15:41 +0000)]
Source/WebCore: [CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
when having -webkit-background-blending applied. Turns out the problem was
the blending parameter not being passed to WebCore::CrossfadeGeneratedImage::draw

https://bugs.webkit.org/show_bug.cgi?id=126887

Patch by Mihai Tica <mitica@adobe.com> on 2014-01-14
Reviewed by Dirk Schulze.

Test: css3/compositing/background-blend-mode-crossfade-image.html

* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::draw): set blendMode on context.

LayoutTests: [CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
when having -webkit-background-blending applied.

https://bugs.webkit.org/show_bug.cgi?id=126887
Patch by Mihai Tica <mitica@adobe.com> on 2014-01-14
Reviewed by Dirk Schulze.

* css3/compositing/background-blend-mode-crossfade-image-expected.html: Added.
* css3/compositing/background-blend-mode-crossfade-image.html: Added.

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

6 years agoSource/WebCore: Background-blend-mode doesn't work for an element with an
commit-queue@webkit.org [Tue, 14 Jan 2014 15:38:26 +0000 (15:38 +0000)]
Source/WebCore: Background-blend-mode doesn't work for an element with an
SVG image as background and border-style or padding set.
The problem consisted in the drawing path using the default
blending parameter at all times.
https://bugs.webkit.org/show_bug.cgi?id=118894

Patch by Mihai Tica <mitica@adobe.com> on 2014-01-14
Reviewed by Dirk Schulze.

Test: css3/compositing/background-blend-mode-data-uri-svg-image.html

* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawPatternForContainer): Pass blendMode to Image::drawPattern.
* svg/graphics/SVGImage.h: Add a blendMode parameter to drawPatternForContainer.
* svg/graphics/SVGImageForContainer.cpp:
(WebCore::SVGImageForContainer::drawPattern): Pass blendMode to drawPatternForContainer call.

LayoutTests: Background-blend-mode doesn't work for an element with an
SVG image as background and border-style or padding set.
https://bugs.webkit.org/show_bug.cgi?id=118894

Patch by Mihai Tica <mitica@adobe.com> on 2014-01-14
Reviewed by Dirk Schulze.

* css3/compositing/background-blend-mode-data-uri-svg-image-expected.html: Added.
* css3/compositing/background-blend-mode-data-uri-svg-image.html: Added.

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

6 years agoRemove accidentally added PLATFORM(QT) from Source/WebCore/editing/EditorCommand...
commit-queue@webkit.org [Tue, 14 Jan 2014 15:35:49 +0000 (15:35 +0000)]
Remove accidentally added PLATFORM(QT) from Source/WebCore/editing/EditorCommand.cpp after r161638
https://bugs.webkit.org/show_bug.cgi?id=126980

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-01-14
Reviewed by Andreas Kling.

* editing/EditorCommand.cpp:
(WebCore::createCommandMap):

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

6 years ago[EFL] FTL buildfix, add missing includes
commit-queue@webkit.org [Tue, 14 Jan 2014 15:20:19 +0000 (15:20 +0000)]
[EFL] FTL buildfix, add missing includes
https://bugs.webkit.org/show_bug.cgi?id=126641

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-01-14
Reviewed by Csaba Osztrogonác.

* ftl/FTLOSREntry.cpp:
* ftl/FTLOSRExitCompiler.cpp:

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

6 years ago[CSSRegions] Test dynamic change of position for fixed element in named flow
mihnea@adobe.com [Tue, 14 Jan 2014 15:13:13 +0000 (15:13 +0000)]
[CSSRegions] Test dynamic change of position for fixed element in named flow
https://bugs.webkit.org/show_bug.cgi?id=126807

Reviewed by Dirk Schulze.

* fast/regions/fixed-in-named-flow-position-changed-expected.html: Added.
* fast/regions/fixed-in-named-flow-position-changed.html: Added.

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

6 years ago[CSSRegions] The list of fixed positioned layers in named flows should be sorted...
mihnea@adobe.com [Tue, 14 Jan 2014 14:51:03 +0000 (14:51 +0000)]
[CSSRegions] The list of fixed positioned layers in named flows should be sorted by z-index
https://bugs.webkit.org/show_bug.cgi?id=126978

Reviewed by Antti Koivisto.

Return the list of fixed positioned layers sorted by z-index from
FlowThreadController::collectFixedPositionedLayers instead of manually sort it
every time we need it (RenderLayer::paintFixedLayersInNamedFlows, RenderLayer::hitTestFixedLayersInNamedFlows).
Refactoring covered by existing regions tests.

* rendering/FlowThreadController.cpp:
(WebCore::compareZIndex):
(WebCore::FlowThreadController::collectFixedPositionedLayers):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintFixedLayersInNamedFlows):
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):

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

6 years agoUnreviewed GTK gardening.
rego@igalia.com [Tue, 14 Jan 2014 14:20:22 +0000 (14:20 +0000)]
Unreviewed GTK gardening.

Added missing baselines for some regions tests.

* platform/gtk/TestExpectations: Unskip tests as new baselines have been added.
* platform/gtk/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt: Added.
* platform/gtk/fast/regions/region-dynamic-after-before-expected.txt: Added.
* platform/gtk/fast/regions/region-generated-content-before-after-expected.txt: Added.
* platform/gtk/fast/regions/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Added.
* platform/gtk/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt: Added.
* platform/gtk/fast/regions/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt: Added.
* platform/gtk/fast/regions/repaint/region-painting-invalidation-expected.txt: Added.
* platform/gtk/fast/regions/repaint/region-painting-via-layout-expected.txt: Added.
* platform/gtk/fast/regions/text-region-split-small-pagination-expected.txt: Added.

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

6 years agoPack ResourceLoaderOptions harder.
akling@apple.com [Tue, 14 Jan 2014 13:26:19 +0000 (13:26 +0000)]
Pack ResourceLoaderOptions harder.
<https://webkit.org/b/126972>

Make all ResourceLoaderOptions members bitfields to reduce padding,
shrinking it from 28 to 4 bytes.

Reviewed by Antti Koivisto.

* loader/ResourceLoaderOptions.h:

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

6 years agoUnreviewed GTK gardening.
rego@igalia.com [Tue, 14 Jan 2014 13:14:31 +0000 (13:14 +0000)]
Unreviewed GTK gardening.

Added missing baselines for some regions tests.

* platform/gtk/fast/regions/auto-size/autoheight-regions-mark-expected.txt: Added.
* platform/gtk/fast/regions/flows-dependency-dynamic-remove-expected.txt: Added.
* platform/gtk/fast/regions/flows-dependency-same-flow-expected.txt: Added.
* platform/gtk/fast/regions/iframe-html-collected-expected.txt: Added.

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

6 years ago[GTK] Parse Valgrind xml leak files
brian.holt@samsung.com [Tue, 14 Jan 2014 11:51:22 +0000 (11:51 +0000)]
[GTK] Parse Valgrind xml leak files
https://bugs.webkit.org/show_bug.cgi?id=119446

Reviewed by Alejandro G. Castro.

Parse the xml files generated by Valgrind to yield useful
information about the memory leaks.

* Scripts/webkitpy/port/gtk.py:
(GtkPort.__init__):
(GtkPort.setup_test_run): Clear the previous output files before new
run.
(GtkPort.print_leaks_summary):

* Scripts/webkitpy/port/leakdetector_valgrind.py: Added.
Parse the xml files generated by Valgrind and summarise leaks
into an easily understandable list.
(get_text_of):
(get_CDATA_of):
(gather_frames):
(ValgrindError):
(ValgrindError.__init__):
(ValgrindError.__str__):
(ValgrindError.unique_string):
(ValgrindError.error_hash):
(ValgrindError.__hash__):
(ValgrindError.__eq__):
(LeakDetectorValgrind):
(LeakDetectorValgrind.__init__):
(LeakDetectorValgrind._parse_leaks_output):
(LeakDetectorValgrind.leaks_files_in_results_directory):
(LeakDetectorValgrind.clean_leaks_files_from_results_directory):
(LeakDetectorValgrind.parse_and_print_leaks_detail):

* Scripts/webkitpy/port/leakdetector_valgrind_unittest.py: Added.
(make_mock_valgrind_output):
(make_mock_incomplete_valgrind_output):
(make_mock_valgrind_results):
(make_mock_valgrind_results_incomplete):
(make_mock_valgrind_results_empty):
(make_mock_valgrind_results_misformatted):
(mock_run_cppfilt_command):
(LeakDetectorValgrindTest):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_pass):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_incomplete):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_empty):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_misformatted):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_pass):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_incomplete):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_empty):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_misformatted):

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

6 years agoPack ResourceError harder.
akling@apple.com [Tue, 14 Jan 2014 10:39:08 +0000 (10:39 +0000)]
Pack ResourceError harder.
<https://webkit.org/b/126969>

Re-arrange the members of ResourceError to reduce padding,
shrinking it by 8 bytes.

Reviewed by Antti Koivisto.

* platform/network/ResourceErrorBase.h:
(WebCore::ResourceErrorBase::ResourceErrorBase):

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

6 years agoPack RenderLayer harder.
akling@apple.com [Tue, 14 Jan 2014 10:35:35 +0000 (10:35 +0000)]
Pack RenderLayer harder.
<https://webkit.org/b/126967>

Re-arrange the members of ScrollableArea a bit so that RenderLayer
can combine its bitfields with the ones in ScrollableArea.
This makes RenderLayer fit into a snugger size class, saving 32 bytes
per layer.

296 kB progression on Membuster3.

Reviewed by Antti Koivisto.

* platform/ScrollableArea.cpp:
* platform/ScrollableArea.h:

    Put bitfield members at the end of ScrollableArea so inheriting
    classes can synergize with the padding.

* rendering/RenderLayer.h:

    Make m_blendMode a bitfield to avoid bloating the class.

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