Timeline



Jan 10, 2015:

3:29 PM Changeset in webkit [178243] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

build-webkit: silence output of 'which'
https://bugs.webkit.org/show_bug.cgi?id=140278

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-10
Reviewed by Daniel Bates.

Use a more elegent test for the existance of ninja and eclipse.

  • Scripts/webkitdirs.pm:

(commandExists): Don't assume the command supports --version
(canUseNinja): Use commandExists()
(canUseEclipse): Use commandExists()

2:02 PM Changeset in webkit [178242] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix. Removed the stale code.

  • public/admin/triggerables.php:
1:57 PM Changeset in webkit [178241] by mitz@apple.com
  • 2 edits in trunk

[Xcode, iOS] Files are recompiled when alternating between using make and the Xcode IDE
https://bugs.webkit.org/show_bug.cgi?id=140339

Reviewed by Mark Rowe.

  • Makefile.shared: Run xcodebuild with the same PATH with which the Xcode IDE runs. This

prevents unnecessary rebuilding due to PATH differences.

10:59 AM Changeset in webkit [178240] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Unreviewed buildfix for !ENABLE(INSPECTOR) builds after r178201.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willReceiveResourceResponse):

6:57 AM Changeset in webkit [178239] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

[WinCairo] Accelerated compositing has stopped working.
https://bugs.webkit.org/show_bug.cgi?id=140334

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-01-10
Reviewed by Brent Fulgham.

The method GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly()
is not updating the backingstore anymore, we need to call the new method
GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers().

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::flushPendingLayerChanges):
(AcceleratedCompositingContext::flushAndRenderLayers):

4:07 AM Changeset in webkit [178238] by yoon@igalia.com
  • 3 edits in trunk/Source/WebKit2

[ThreadedCompositor] Prevent excessive rendering call.
https://bugs.webkit.org/show_bug.cgi?id=140297

Reviewed by Žan Doberšek.

Not to waste CPU time on waiting V-Sync interval, the update timer of
compositing thread should be throttled.

In case of updating scene state, this update timer should be called as
soon as possible. However, when CoordinatedGraphicsScene requests update
viewport to advance the animations, this call should be scheduled for
a next frame.

No new tests. No change in functionality.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::CompositingRunLoop::CompositingRunLoop):
(WebKit::CompositingRunLoop::setUpdateTimer):
(WebKit::CompositingRunLoop::updateTimerFired):
(WebKit::ThreadedCompositor::setNeedsDisplay):
(WebKit::ThreadedCompositor::updateViewport):
(WebKit::ThreadedCompositor::scheduleDisplayImmediately):
(WebKit::ThreadedCompositor::didChangeVisibleRect):
(WebKit::ThreadedCompositor::scheduleDisplayIfNeeded): Deleted.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
12:49 AM Changeset in webkit [178237] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Move 'kerning' / 'paint-order' / 'stroke-dasharray' SVG CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140327

Reviewed by Sam Weinig.

Move 'kerning' / 'paint-order' / 'stroke-dasharray' SVG CSS properties
to the new StyleBuilder by introducing the necessary converters in
StyleBuilderConverter.

  • css/CSSPropertyNames.in:
  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertSVGLength):
(WebCore::StyleBuilderConverter::convertSVGLengthVector):
(WebCore::StyleBuilderConverter::convertStrokeDashArray):
(WebCore::StyleBuilderConverter::convertPaintOrder):

  • svg/SVGLength.cpp:

(WebCore::SVGLength::fromCSSPrimitiveValue):

  • svg/SVGLength.h:
12:01 AM Changeset in webkit [178236] by weinig@apple.com
  • 3 edits in trunk/Tools

Update the output format for run-api-tests
https://bugs.webkit.org/show_bug.cgi?id=140332

Reviewed by Dan Bernstein.

Changes the output format for run-api-tests be a bit simpler (no longer
indented based on suite, as we were not really using suite very well) but
also include details in the case of failure.

Changes verbose mode to no longer spew out the gtest default printer output,
as the custom printer now includes the failure information.

  • Scripts/run-api-tests:

(runTestsBySuite):
(runTest):
Augment the custom gtest printer by replacing the tokens "PASS" and "FAIL"
with colorized variants and strip out leaks spew (the leaks can be added back using
the new --show-leaks argument).

  • TestWebKitAPI/TestsController.cpp:

(TestWebKitAPI::Printer::OnTestPartResult):
(TestWebKitAPI::Printer::OnTestEnd):
(TestWebKitAPI::TestsController::run):
Implement a custom result printer that just prints out the information we want.

Jan 9, 2015:

9:48 PM Changeset in webkit [178235] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the GTK and EFL builds.

  • CMakeLists.txt:
9:26 PM Changeset in webkit [178234] by rniwa@webkit.org
  • 13 edits
    7 adds in trunk/Websites/perf.webkit.org

Perf dashboard should have the ability to post A/B testing builds
https://bugs.webkit.org/show_bug.cgi?id=140317

Rubber-stamped by Simon Fraser.

This patch adds the support for triggering A/B testing from the perf dashboard.

We add a few new tables to the database. "build_triggerables", which represents a set of builders
that accept A/B testing. "triggerable_repositories" associates each "triggerable" with a fixed set
of repositories for which an arbitrary revision can be specified for A/B testing.
"triggerable_configurations" specifies a triggerable available on a given test on a given platform.
"roots" table which specifies the revision used in a given root set in each repository.

  • init-database.sql: Added "build_triggerables", "triggerable_repositories",

"triggerable_configurations", and "roots" tables. Added references to "build_triggerables",
"platforms", and "tests" tables as well as columns to store status, status url, and creation time
to build_requests table. Also made each test group's name unique in a given analysis task as it
would be confusing to have multiple test groups of the same name.

  • public/admin/tests.php: Added the UI and the code to associate a test with a triggerable.
  • public/admin/triggerables.php: Added. Manages the list of triggerables as well as repositories

for which a specific revision can be set in an A/B testing on a given triggerable.

  • public/api/build-requests.php: Added. Returns the list of open build requests on a specified

triggerable. Also updates the status' and the status urls of specified build requests when
buildRequestUpdates is provided in the raw POST data.
(main):

  • public/api/runs.php:

(fetch_runs_for_config): Don't include results associated with a build request, meaning they are
results of an A/B testing.

  • public/api/test-groups.php:

(main): Use the newly added BuildRequestsFetcher. Also merged fetch_test_groups_for_task back.

  • public/api/triggerables.php: Added.

(main): Returns a list of triggerables or a triggerable associated with a given analysis task.

  • public/include/admin-header.php:
  • public/include/build-requests-fetcher.php: Added. Extracted from public/api/test-groups.php.

(BuildRequestsFetcher): This class abstracts the process of fetching a list of builds requests
and root sets used in those requests.D
(BuildRequestsFetcher::construct):
(BuildRequestsFetcher::fetch_for_task):
(BuildRequestsFetcher::fetch_for_group):
(BuildRequestsFetcher::fetch_incomplete_requests_for_triggerable):
(BuildRequestsFetcher::has_results):
(BuildRequestsFetcher::results):
(BuildRequestsFetcher::results_with_resolved_ids):
(BuildRequestsFetcher::results_internal):
(BuildRequestsFetcher::root_sets):
(BuildRequestsFetcher::fetch_roots_for_set):

  • public/include/db.php:

(Database::prefixed_column_names): Don't return "$prefix_" when there are no columns.
(Database::insert_row): Support taking an empty array for values. This is useful in "root_sets"
table since it only has the primary key, id, column.
(Database::select_or_insert_row):
(Database::update_or_insert_row):
(Database::update_row): Added.
(Database::_select_update_or_insert_row): Takes an extra argument specifying whether a new row
should be inserted when no row matches the specified criteria. This is used while updating
build_requests' status and url in public/api/build-requests.php since we shouldn't be inserting
new build requests in that API.
(Database::select_rows): Also use "1 == 1" in the select query when the query criteria is empty.
This is used in public/api/triggerables.php when no analysis task is specified.

  • public/include/json-header.php:

(find_triggerable_for_task): Added. Finds a triggerable available on a given test. We return the
triggerable associated with the closest ancestor of the test. Since issuing a new query for each
ancestor test is expensive, we retrieve triggerable for all ancestor tests at once and manually
find the closest ancestor with a triggerable.

  • public/include/report-processor.php:

(ReportProcessor::process):
(ReportProcessor::resolve_build_id): Associate a build request with the newly created build
if jobId or buildRequest is specified.

  • public/include/test-name-resolver.php:

(TestNameResolver::map_metrics_to_tests): Store the entire metric row instead of its name so that
test_exists_on_platform can use it. The last diff in public/admin/tests.php adopts this change.
(TestNameResolver::test_exists_on_platform): Added. Returns true iff the test has ever run on
a given platform.

  • public/include/test-path-resolver.php: Added.

(TestPathResolver): This class abstracts the ancestor chains of a test. It retrieves the entire
"tests" table to do this since there could be arbitrary number of ancestors for a given test.
This class is a lot more lightweight than TestNameResolver, which retrieves a whole bunch of tables
in order to compute full test metric names.
(TestPathResolver::construct):
(TestPathResolver::ancestors_for_test): Returns the ordered list of ancestors from the closest to
the highest (a test without a parent).
(TestPathResolver::path_for_test): Returns a test "path", the ordered list of test names from
the highest ancestor to the test itself.
(TestPathResolver::ensure_id_to_test_map): Fetches "tests" table to construct id_to_test_map.

  • public/privileged-api/create-test-group.php: Added. An API to create A/B testing groups.

(main):
(commit_sets_from_root_sets): Given a dictionary of repository names to a pair of revisions
for sets A and B respectively, returns a pair of arrays, each of which contains the corresponding
set of "commits" for sets A and B respectively. e.g. {"WebKit": [1, 2], "Safari": [3, 4]} will
result in WebKit commit at r1, Safari commit at r3], [WebKit commit at r2, Safari commit at r4?.

  • public/v2/analysis.js:

(App.AnalysisTask.testGroups): Takes arguments so that set('testGroups') will invalidate the cache.
(App.AnalysisTask.triggerable): Added. Retrieves the triggerable associated with the task lazily.
(App.TestGroup.rootSets): Added. Returns the list of root set ids used in this A/B testing group.
(App.TestGroup.create): Added. Creates a new A/B testing group.
(App.Triggerable): Added.
(App.TriggerableAdapter): Added.
(App.TriggerableAdapter.buildURL): Added.
(App.BuildRequest.testGroup): Renamed from group.
(App.BuildRequest.orderLabel): Added. One-based index to be used in labels.
(App.BuildRequest.config): Added. Returns either 'A' or 'B' depending on the configuration used
in this build request.
(App.BuildRequest.status): Added.
(App.BuildRequest.statusLabel): Added. Returns a human friendly label for the current status.
(App.BuildRequest): Removed buildNumber, buildBuilder, as well as buildTime as they're unused.

  • public/v2/app.js:

(App.AnalysisTaskController.testGroups): Added.
(App.AnalysisTaskController.possibleRepetitionCounts): Added.
(App.AnalysisTaskController.updateRoots): Renamed from roots. This is also no longer a property
but an observer that updates "roots" property. Filter out the repositories that are not accepted
by the associated triggerable as they will be ignored.
(App.AnalysisTaskController.actions.createTestGroup): Added.

  • public/v2/index.html: Updated the UI, and added a form element to trigger createTestGroup action.
  • tools/sync-with-buildbot.py: Added. This scripts posts new builds on buildbot and reports back

the status of those builds to the perf dashboard. A similar script can be written to support
other continuous builds systems.
(main): Fetches the list of pending builds as well as currently running or completed builds from
a buildbot, and report new statuses of builds requests to the perf dashboard. It will then schedule
a single new build on each builder with no pending builds, and marks the set of open build requests
that have been scheduled to run on the buildbot but not found in the first step as stale.
(load_config): Loads a JSON that contains the configurations for each builder. e.g.
[

{

"platform": "mac-mavericks",
"test": ["Parser", "html5-full-render.html"],
"builder": "Trunk Syrah Production Perf AB Tests",
"arguments": {

"forcescheduler": "force-mac-mavericks-release-perf",
"webkit_revision": "$WebKit",
"jobid": "$buildRequest"

}

}

]

(find_request_updates): Return a list of build request status updates to make based on the pending
builds as well as in-progress and completed builds on each builder on the buildbot. When a build is
completed, we use the special status "failedIfNotCompleted" which results in "failed" status only
if the build request had not been completed. This is necessary because a failed build will not
report its failed-ness back to the perf dashboard in some cases; e.g. lost slave or svn up failure.
(update_and_fetch_build_requests): Submit the build request status updates and retrieve the list
of open requests the perf dashboard has.
(find_stale_request_updates): Compute the list of build requests that have been scheduled on the
buildbot but not found in find_request_updates. These build requests are lost. e.g. a master reboot
or human canceling a build may trigger such a state.
(schedule_request): Schedules a build with the arguments specified in the configuration JSON after
replacing repository names with their revisions and buildRequest with the build request id.
(config_for_request): Finds a builder for the test and the platform of a build request.
(fetch_json): Fetches a JSON from the specified URL, optionally with BasicAuth.
(property_value_from_build): Returns the value of a specific property in a buildbot build.
(request_id_from_build): Returns the build request id of a given buildbot build if there is one.

7:53 PM Changeset in webkit [178233] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

CTTE: GeolocationController always has a client.
<https://webkit.org/b/140330>

Reviewed by Anders Carlsson.

Change GeolocationController::m_client to be a reference and remove
a whole bunch of unnecessary null checks.

  • Modules/geolocation/GeolocationController.cpp:

(WebCore::GeolocationController::GeolocationController):
(WebCore::GeolocationController::~GeolocationController):
(WebCore::GeolocationController::addObserver):
(WebCore::GeolocationController::removeObserver):
(WebCore::GeolocationController::requestPermission):
(WebCore::GeolocationController::cancelPermissionRequest):
(WebCore::GeolocationController::lastPosition):
(WebCore::GeolocationController::viewStateDidChange):
(WebCore::provideGeolocationTo):

  • Modules/geolocation/GeolocationController.h:

(WebCore::GeolocationController::client):

6:44 PM Changeset in webkit [178232] by msaboff@apple.com
  • 3 edits
    4 adds in trunk

Breakpoint doesn't fire in this HTML5 game
https://bugs.webkit.org/show_bug.cgi?id=140269

Reviewed by Mark Lam.

Source/JavaScriptCore:

When parsing a single line cached function, use the lineStartOffset of the
location where we found the cached function instead of the cached lineStartOffset.
The cache location's lineStartOffset has not been adjusted for any possible
containing functions.

This change is not needed for multi-line cached functions. Consider the
single line source:

function outer(){function inner1(){doStuff();}; (function inner2() {doMoreStuff()})()}

The first parser pass, we parse and cache inner1() and inner2() with a lineStartOffset
of 0. Later when we parse outer() and find inner1() in the cache, SourceCode start
character is at outer()'s outermost open brace. That is what we should use for
lineStartOffset for inner1(). When done parsing inner1() we set the parsing token
to the saved location for inner1(), including the lineStartOffset of 0. We need
to use the value of lineStartOffset before we started parsing inner1(). That is
what the fix does. When we parse inner2() the lineStartOffset will be correct.

For a multi-line function, the close brace is guaranteed to be on a different line
than the open brace. Hence, its lineStartOffset will not change with the change of
the SourceCode start character

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseFunctionInfo):

LayoutTests:

New tests that set breakpoints in functions with various line split
combinations.

  • inspector/debugger/breakpoint-columns-expected.txt: Added.
  • inspector/debugger/breakpoint-columns.html: Added.
  • inspector/debugger/resources/column-breakpoints-1.js: Added.

(columnTest1.x):
(columnTest1):
(columnTest2.x):
(columnTest2.f):
(columnTest3.x):
(columnTest3.f):
(runColumnTest1):
(runColumnTest2):
(runColumnTest3):

  • inspector/debugger/resources/column-breakpoints-2.js: Added.

(columnTest4.x):
(columnTest4.f):
(columnTest5.x):
(columnTest5):
(runColumnTest4):
(runColumnTest5):

6:12 PM Changeset in webkit [178231] by Alan Bujtas
  • 4 edits
    2 adds in trunk

Calling clearSelection on a detached RenderObject leads to segfault.
https://bugs.webkit.org/show_bug.cgi?id=140275

Reviewed by Simon Fraser.

We collect selection rects and compute selection gaps in order to
paint/clear selection. With certain content, we need to be able
to walk the tree up to a particular container to compute the selection rect.
However this container might not be available when the selection is part of a detached tree.
This is a null-check fix to ensure we don't crash in such cases, but in the long run
selection gaps and rect should be cached between two layouts so that we don't need to
keep collecting/recomputing them. Tracked here: webkit.org/b/140321

Source/WebCore:

Test: editing/selection/clearselection-on-detached-subtree-crash.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::containingBlockLogicalWidthForContent):
(WebCore::RenderBox::containingBlockLogicalHeightForContent):

  • rendering/RenderView.cpp:

(WebCore::RenderView::clearSelection):

LayoutTests:

  • editing/selection/clearselection-on-detached-subtree-crash-expected.txt: Added.
  • editing/selection/clearselection-on-detached-subtree-crash.html: Added.
6:00 PM Changeset in webkit [178230] by andersca@apple.com
  • 10 edits in trunk/Source/WebCore

Remove more sync database code
https://bugs.webkit.org/show_bug.cgi?id=140328

Reviewed by Sam Weinig.

  • Modules/webdatabase/AbstractDatabaseServer.h:
  • Modules/webdatabase/DatabaseBackend.cpp:

(WebCore::DatabaseBackend::DatabaseBackend):

  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::DatabaseBackendBase::DatabaseBackendBase):

  • Modules/webdatabase/DatabaseBackendBase.h:

(WebCore::DatabaseBackendBase::isSyncDatabase): Deleted.

  • Modules/webdatabase/DatabaseBasicTypes.h:
  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::openDatabaseBackend):
(WebCore::DatabaseManager::openDatabase):

  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseServer.cpp:

(WebCore::DatabaseServer::openDatabase):
(WebCore::DatabaseServer::createDatabase):

  • Modules/webdatabase/DatabaseServer.h:
5:50 PM Changeset in webkit [178229] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix the iOS build after <http://trac.webkit.org/changeset/178213>
(https://bugs.webkit.org/show_bug.cgi?id=140310)

Patch by Daniel Bates <dabates@apple.com> on 2015-01-09

  • platform/spi/cocoa/CoreTextSPI.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::systemFont):

5:48 PM Changeset in webkit [178228] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Get rid of legacy StyleBuilder switch in StyleResolver.cpp
https://bugs.webkit.org/show_bug.cgi?id=140315

Reviewed by Sam Weinig.

Get rid of legacy StyleBuilder switch in StyleResolver.cpp now that most
properties have been ported to the new generated StyleBuilder in previous
patches. The properties that remained in this switch were shorthand
properties or other properties that do not require any handling in the
StyleBuilder.

To achieve this, this patch introduces 2 parameters in
CSSPropertyNames.in:

  • SkipBuilder: Indicates that no StyleBuilder code should be generated for this property.
  • Shorthand: Indicates that this is a shorthand property, which therefore does not use the StyleBuilder. makeprop.pl will merely generate assertions for such properties, to validate that this is a shorthand property and that the StyleBuilder code is never reached.
  • css/CSSPropertyNames.in:
  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • css/makeprop.pl:
5:40 PM Changeset in webkit [178227] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.3.17

New tag.

5:29 PM Changeset in webkit [178226] by weinig@apple.com
  • 2 edits in trunk/Tools

TestWebKitAPI should print out the lists that fail at the end
https://bugs.webkit.org/show_bug.cgi?id=140329

Reviewed by Tim Horton.

  • Scripts/run-api-tests:

(runTestsBySuite):
Print out failures and timeouts in all modes, not just verbose.

5:15 PM Changeset in webkit [178225] by Brent Fulgham
  • 6 edits in trunk/Source

[Win] Build fix after r178219.

Source/WebCore:

  • WebCore.vcxproj/WebCore.vcxproj: Remove PaintHooks.asm references in project file.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.

Source/WebKit:

Update the project file settings to understand how to process assembly files.
Also tidy up the plugin code in the project hieararchy.

  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
5:04 PM Changeset in webkit [178224] by Joseph Pecoraro
  • 3 edits
    3 adds in trunk

Web Inspector: Uncaught Exception in ProbeManager deleting breakpoint
https://bugs.webkit.org/show_bug.cgi?id=140279
rdar://problem/19422299

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

  • runtime/MapData.cpp:

(JSC::MapData::replaceAndPackBackingStore):
The cell table also needs to have its values fixed.

LayoutTests:

  • js/map-repack-with-object-keys-expected.txt: Added.
  • js/map-repack-with-object-keys.html: Added.
  • js/script-tests/map-repack-with-object-keys.js: Added.
4:43 PM Changeset in webkit [178223] by akling@apple.com
  • 35 edits in trunk/Source/WebCore

Log which ActiveDOMObject(s) can't be suspended for PageCache.
<https://webkit.org/b/139697>

Reviewed by Chris Dumez.

Give ActiveDOMObject a pure virtual activeDOMObjectName() so we can
find their names.

Dump the names of all the ActiveDOMObjects that fail to suspend when
we're trying to put a page into PageCache.

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/geolocation/Geolocation.h:
  • Modules/indexeddb/IDBDatabase.h:
  • Modules/indexeddb/IDBRequest.h:
  • Modules/indexeddb/IDBTransaction.h:
  • Modules/mediasource/MediaSource.h:
  • Modules/mediasource/SourceBuffer.h:
  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/RTCDTMFSender.h:
  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
  • Modules/mediastream/RTCStatsRequestImpl.h:
  • Modules/mediastream/RTCVoidRequestImpl.h:
  • Modules/notifications/Notification.h:
  • Modules/notifications/NotificationCenter.h:
  • Modules/webaudio/AudioContext.h:
  • Modules/webdatabase/DatabaseContext.h:
  • Modules/websockets/WebSocket.h:
  • WebCore.exp.in:
  • css/FontLoader.h:
  • dom/ActiveDOMObject.h:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):

  • dom/ScriptExecutionContext.h:
  • fileapi/FileReader.h:
  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):

  • html/HTMLMarqueeElement.h:
  • html/HTMLMediaElement.h:
  • html/PublicURLManager.h:
  • html/canvas/WebGLRenderingContext.h:
  • page/EventSource.h:
  • page/SuspendableTimer.h:
  • workers/AbstractWorker.h:
  • xml/XMLHttpRequest.h:
4:34 PM Changeset in webkit [178222] by andersca@apple.com
  • 19 edits
    2 deletes in trunk/Source

Get rid of the database strategy
https://bugs.webkit.org/show_bug.cgi?id=140322

Reviewed by Sam Weinig.

Source/WebCore:

  • CMakeLists.txt:
  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
(WebCore::DatabaseManager::DatabaseManager):

  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/DatabaseStrategy.cpp: Removed.
  • platform/DatabaseStrategy.h: Removed.
  • platform/PlatformStrategies.h:

(WebCore::PlatformStrategies::PlatformStrategies):
(WebCore::PlatformStrategies::databaseStrategy): Deleted.

Source/WebKit/mac:

  • WebCoreSupport/WebPlatformStrategies.h:
  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::createDatabaseStrategy): Deleted.

Source/WebKit/win:

  • WebCoreSupport/WebPlatformStrategies.cpp:

(WebPlatformStrategies::createDatabaseStrategy): Deleted.

  • WebCoreSupport/WebPlatformStrategies.h:

Source/WebKit2:

  • NetworkProcess/NetworkProcessPlatformStrategies.cpp:

(WebKit::NetworkProcessPlatformStrategies::createDatabaseStrategy): Deleted.

  • NetworkProcess/NetworkProcessPlatformStrategies.h:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::createDatabaseStrategy): Deleted.
(WebKit::WebPlatformStrategies::getDatabaseServer): Deleted.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
4:30 PM Changeset in webkit [178221] by ggaren@apple.com
  • 2 edits in trunk/Tools

Make bmalloc work with ASan
https://bugs.webkit.org/show_bug.cgi?id=140194

Reviewed by Mark Lam.

  • asan/asan.xcconfig: No need to disable FastMalloc; bmalloc supports

ASan automatically (by forwarding to system malloc at runtime).

4:20 PM Changeset in webkit [178220] by mitz@apple.com
  • 3 edits
    1 delete in trunk/Source/WebKit2

[Cocoa] Remove deprecated WKRenderingProgressEvents
https://bugs.webkit.org/show_bug.cgi?id=140325

Reviewed by Anders Carlsson.

  • Shared/API/Cocoa/WKRenderingProgressEvents.h: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
4:16 PM Changeset in webkit [178219] by andersca@apple.com
  • 18 edits
    6 copies
    12 moves
    1 add
    1 delete in trunk/Source

Move the Windows only plug-in code to WebKit/win
https://bugs.webkit.org/show_bug.cgi?id=140133

Reviewed by Darin Adler.

Source/WebCore:

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:

Source/WebKit:

  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:

Source/WebKit/win:

  • Plugins/PaintHooks.asm: Renamed from Source/WebCore/plugins/win/PaintHooks.asm.
  • Plugins/PluginDatabase.cpp: Renamed from Source/WebCore/plugins/PluginDatabase.cpp.

(WebCore::persistentPluginMetadataCachePath):
(WebCore::PluginDatabase::PluginDatabase):
(WebCore::PluginDatabase::installedPlugins):
(WebCore::PluginDatabase::isMIMETypeRegistered):
(WebCore::PluginDatabase::addExtraPluginDirectory):
(WebCore::PluginDatabase::refresh):
(WebCore::PluginDatabase::plugins):
(WebCore::PluginDatabase::preferredPluginCompare):
(WebCore::PluginDatabase::pluginForMIMEType):
(WebCore::PluginDatabase::MIMETypeForExtension):
(WebCore::PluginDatabase::findPlugin):
(WebCore::PluginDatabase::setPreferredPluginForMIMEType):
(WebCore::PluginDatabase::fileExistsAndIsNotDisabled):
(WebCore::PluginDatabase::getDeletedPlugins):
(WebCore::PluginDatabase::add):
(WebCore::PluginDatabase::remove):
(WebCore::PluginDatabase::clear):
(WebCore::PluginDatabase::removeDisabledPluginFile):
(WebCore::PluginDatabase::addDisabledPluginFile):
(WebCore::PluginDatabase::defaultPluginDirectories):
(WebCore::PluginDatabase::isPreferredPluginDirectory):
(WebCore::PluginDatabase::getPluginPathsInDirectories):
(WebCore::fillBufferWithContentsOfFile):
(WebCore::readUTF8String):
(WebCore::readTime):
(WebCore::PluginDatabase::loadPersistentMetadataCache):
(WebCore::writeUTF8String):
(WebCore::writeTime):
(WebCore::PluginDatabase::updatePersistentMetadataCache):
(WebCore::PluginDatabase::isPersistentMetadataCacheEnabled):
(WebCore::PluginDatabase::setPersistentMetadataCacheEnabled):
(WebCore::PluginDatabase::persistentMetadataCachePath):
(WebCore::PluginDatabase::setPersistentMetadataCachePath):

  • Plugins/PluginDatabase.h: Renamed from Source/WebCore/plugins/PluginDatabase.h.

(WebCore::PluginDatabase::setPluginDirectories):
(WebCore::PluginDatabase::pluginDirectories):

  • Plugins/PluginDatabaseWin.cpp: Renamed from Source/WebCore/plugins/win/PluginDatabaseWin.cpp.

(WebCore::addPluginPathsFromRegistry):
(WebCore::PluginDatabase::getPluginPathsInDirectories):
(WebCore::parseVersionString):
(WebCore::compareVersions):
(WebCore::addMozillaPluginDirectories):
(WebCore::addWindowsMediaPlayerPluginDirectory):
(WebCore::addAdobeAcrobatPluginDirectory):
(WebCore::addJavaPluginDirectory):
(WebCore::safariPluginsDirectory):
(WebCore::addMacromediaPluginDirectories):
(WebCore::PluginDatabase::defaultPluginDirectories):
(WebCore::PluginDatabase::isPreferredPluginDirectory):

  • Plugins/PluginDebug.cpp: Renamed from Source/WebCore/plugins/PluginDebug.cpp.

(WebCore::prettyNameForNPError):
(WebCore::prettyNameForDrawingModel):
(WebCore::prettyNameForEventModel):
(WebCore::prettyNameForNPNVariable):
(WebCore::prettyNameForNPPVariable):
(WebCore::prettyNameForNPNURLVariable):

  • Plugins/PluginDebug.h: Renamed from Source/WebCore/plugins/PluginDebug.h.
  • Plugins/PluginMessageThrottlerWin.cpp: Renamed from Source/WebCore/plugins/win/PluginMessageThrottlerWin.cpp.

(WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin):
(WebCore::PluginMessageThrottlerWin::~PluginMessageThrottlerWin):
(WebCore::PluginMessageThrottlerWin::appendMessage):
(WebCore::PluginMessageThrottlerWin::processQueuedMessage):
(WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
(WebCore::PluginMessageThrottlerWin::allocateMessage):
(WebCore::PluginMessageThrottlerWin::isInlineMessage):
(WebCore::PluginMessageThrottlerWin::freeMessage):

  • Plugins/PluginMessageThrottlerWin.h: Renamed from Source/WebCore/plugins/win/PluginMessageThrottlerWin.h.
  • Plugins/PluginPackage.cpp: Renamed from Source/WebCore/plugins/PluginPackage.cpp.

(WebCore::PluginPackage::~PluginPackage):
(WebCore::PluginPackage::freeLibrarySoon):
(WebCore::PluginPackage::freeLibraryTimerFired):
(WebCore::PluginPackage::compare):
(WebCore::PluginPackage::PluginPackage):
(WebCore::PluginPackage::unload):
(WebCore::PluginPackage::unloadWithoutShutdown):
(WebCore::PluginPackage::setEnabled):
(WebCore::PluginPackage::createPackage):
(WebCore::PluginPackage::createPackageFromCache):
(WebCore::PluginPackage::determineQuirks):
(WebCore::PluginPackage::determineModuleVersionFromDescription):
(WebCore::getListFromVariantArgs):
(WebCore::makeSource):
(WebCore::NPN_Evaluate):
(WebCore::NPN_Invoke):
(WebCore::PluginPackage::initializeBrowserFuncs):
(WebCore::PluginPackage::hash):
(WebCore::PluginPackage::equal):
(WebCore::PluginPackage::compareFileVersion):
(WebCore::PluginPackage::ensurePluginLoaded):

  • Plugins/PluginPackage.h: Renamed from Source/WebCore/plugins/PluginPackage.h.

(WebCore::PluginPackage::name):
(WebCore::PluginPackage::description):
(WebCore::PluginPackage::path):
(WebCore::PluginPackage::fileName):
(WebCore::PluginPackage::parentDirectory):
(WebCore::PluginPackage::module):
(WebCore::PluginPackage::lastModified):
(WebCore::PluginPackage::mimeToDescriptions):
(WebCore::PluginPackage::mimeToExtensions):
(WebCore::PluginPackage::isEnabled):
(WebCore::PluginPackage::pluginFuncs):
(WebCore::PluginPackage::quirks):
(WebCore::PluginPackage::version):
(WebCore::PluginPackage::fullMIMEDescription):
(WebCore::PluginPackageHash::hash):
(WebCore::PluginPackageHash::equal):

  • Plugins/PluginPackageWin.cpp: Renamed from Source/WebCore/plugins/win/PluginPackageWin.cpp.

(WebCore::getVersionInfo):
(WebCore::PluginPackage::isPluginBlacklisted):
(WebCore::PluginPackage::determineQuirks):
(WebCore::PluginPackage::fetchInfo):
(WebCore::PluginPackage::load):
(WebCore::PluginPackage::hash):
(WebCore::PluginPackage::equal):
(WebCore::PluginPackage::NPVersion):

  • Plugins/PluginQuirkSet.h: Renamed from Source/WebCore/plugins/PluginQuirkSet.h.

(WebCore::PluginQuirkSet::PluginQuirkSet):
(WebCore::PluginQuirkSet::add):
(WebCore::PluginQuirkSet::contains):

  • Plugins/PluginStream.cpp: Renamed from Source/WebCore/plugins/PluginStream.cpp.

(WebCore::streams):
(WebCore::PluginStream::PluginStream):
(WebCore::PluginStream::~PluginStream):
(WebCore::PluginStream::start):
(WebCore::PluginStream::stop):
(WebCore::lastModifiedDate):
(WebCore::PluginStream::startStream):
(WebCore::PluginStream::ownerForStream):
(WebCore::PluginStream::cancelAndDestroyStream):
(WebCore::PluginStream::destroyStream):
(WebCore::PluginStream::delayDeliveryTimerFired):
(WebCore::PluginStream::deliverData):
(WebCore::PluginStream::sendJavaScriptStream):
(WebCore::PluginStream::didReceiveResponse):
(WebCore::PluginStream::didReceiveData):
(WebCore::PluginStream::didFail):
(WebCore::PluginStream::didFinishLoading):
(WebCore::PluginStream::wantsAllStreams):

  • Plugins/PluginStream.h: Renamed from Source/WebCore/plugins/PluginStream.h.

(WebCore::PluginStreamClient::~PluginStreamClient):
(WebCore::PluginStreamClient::streamDidFinishLoading):
(WebCore::PluginStream::create):
(WebCore::PluginStream::setLoadManually):

  • Plugins/PluginView.cpp: Renamed from Source/WebCore/plugins/PluginView.cpp.

(WebCore::instanceMap):
(WebCore::scriptStringIfJavaScriptURL):
(WebCore::PluginView::popPopupsStateTimerFired):
(WebCore::PluginView::windowClipRect):
(WebCore::PluginView::setFrameRect):
(WebCore::PluginView::frameRectsChanged):
(WebCore::PluginView::clipRectChanged):
(WebCore::PluginView::handleEvent):
(WebCore::PluginView::init):
(WebCore::PluginView::startOrAddToUnstartedList):
(WebCore::PluginView::start):
(WebCore::PluginView::mediaCanStart):
(WebCore::PluginView::~PluginView):
(WebCore::PluginView::stop):
(WebCore::PluginView::setCurrentPluginView):
(WebCore::PluginView::currentPluginView):
(WebCore::createUTF8String):
(WebCore::PluginView::performRequest):
(WebCore::PluginView::requestTimerFired):
(WebCore::PluginView::scheduleRequest):
(WebCore::PluginView::load):
(WebCore::makeURL):
(WebCore::PluginView::getURLNotify):
(WebCore::PluginView::getURL):
(WebCore::PluginView::postURLNotify):
(WebCore::PluginView::postURL):
(WebCore::PluginView::newStream):
(WebCore::PluginView::write):
(WebCore::PluginView::destroyStream):
(WebCore::PluginView::status):
(WebCore::PluginView::setValue):
(WebCore::PluginView::invalidateTimerFired):
(WebCore::PluginView::pushPopupsEnabledState):
(WebCore::PluginView::popPopupsEnabledState):
(WebCore::PluginView::arePopupsAllowed):
(WebCore::PluginView::setJavaScriptPaused):
(WebCore::PluginView::npObject):
(WebCore::PluginView::bindingInstance):
(WebCore::PluginView::disconnectStream):
(WebCore::PluginView::setParameters):
(WebCore::PluginView::PluginView):
(WebCore::PluginView::focusPluginElement):
(WebCore::PluginView::didReceiveResponse):
(WebCore::PluginView::didReceiveData):
(WebCore::PluginView::didFinishLoading):
(WebCore::PluginView::didFail):
(WebCore::PluginView::setCallingPlugin):
(WebCore::PluginView::isCallingPlugin):
(WebCore::PluginView::create):
(WebCore::PluginView::freeStringArray):
(WebCore::startsWithBlankLine):
(WebCore::locationAfterFirstBlankLine):
(WebCore::findEOL):
(WebCore::capitalizeRFC822HeaderFieldName):
(WebCore::parseRFC822HeaderFields):
(WebCore::PluginView::handlePost):
(WebCore::PluginView::invalidateWindowlessPluginRect):
(WebCore::PluginView::paintMissingPluginIcon):
(WebCore::PluginView::userAgent):
(WebCore::PluginView::userAgentStatic):
(WebCore::PluginView::lifeSupportTimerFired):
(WebCore::PluginView::keepAlive):
(WebCore::PluginView::getValueStatic):
(WebCore::PluginView::getValue):
(WebCore::getFrame):
(WebCore::PluginView::getValueForURL):
(WebCore::PluginView::setValueForURL):
(WebCore::PluginView::getAuthenticationInfo):
(WebCore::PluginView::privateBrowsingStateChanged):

  • Plugins/PluginView.h: Renamed from Source/WebCore/plugins/PluginView.h.

(WebCore::PluginRequest::PluginRequest):
(WebCore::PluginRequest::frameLoadRequest):
(WebCore::PluginRequest::notifyData):
(WebCore::PluginRequest::sendNotification):
(WebCore::PluginRequest::shouldAllowPopups):
(WebCore::PluginManualLoader::~PluginManualLoader):
(WebCore::PluginView::plugin):
(WebCore::PluginView::instance):
(WebCore::PluginView::status):
(WebCore::PluginView::streamDidFinishLoading):
(WebCore::PluginView::parentFrame):
(WebCore::PluginView::pluginsPage):
(WebCore::PluginView::mimeType):
(WebCore::PluginView::url):
(WebCore::PluginView::pluginWndProc):
(WebCore::PluginView::platformPluginWidget):
(WebCore::PluginView::setPlatformPluginWidget):
(WebCore::toPluginView):

  • Plugins/PluginViewWin.cpp: Renamed from Source/WebCore/plugins/win/PluginViewWin.cpp.

(windowHandleForPageClient):
(WebCore::PluginView::hookedBeginPaint):
(WebCore::PluginView::hookedEndPaint):
(WebCore::hook):
(WebCore::setUpOffscreenPaintingHooks):
(WebCore::registerPluginView):
(WebCore::PluginView::PluginViewWndProc):
(WebCore::isWindowsMessageUserGesture):
(WebCore::contentsToNativeWindow):
(WebCore::PluginView::wndProc):
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::setFocus):
(WebCore::PluginView::show):
(WebCore::PluginView::hide):
(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::paintIntoTransformedContext):
(WebCore::PluginView::paintWindowedPluginIntoContext):
(WebCore::PluginView::paint):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setParent):
(WebCore::PluginView::setParentVisible):
(WebCore::PluginView::setNPWindowRect):
(WebCore::PluginView::handlePostReadFile):
(WebCore::PluginView::platformGetValueStatic):
(WebCore::PluginView::platformGetValue):
(WebCore::PluginView::invalidateRect):
(WebCore::PluginView::invalidateRegion):
(WebCore::PluginView::forceRedraw):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::platformDestroy):
(WebCore::PluginView::snapshot):

  • Plugins/npapi.cpp: Renamed from Source/WebCore/plugins/npapi.cpp.

(pluginViewForInstance):
(NPN_MemAlloc):
(NPN_MemFree):
(NPN_MemFlush):
(NPN_ReloadPlugins):
(NPN_RequestRead):
(NPN_GetURLNotify):
(NPN_GetURL):
(NPN_PostURLNotify):
(NPN_PostURL):
(NPN_NewStream):
(NPN_Write):
(NPN_DestroyStream):
(NPN_UserAgent):
(NPN_Status):
(NPN_InvalidateRect):
(NPN_InvalidateRegion):
(NPN_ForceRedraw):
(NPN_GetValue):
(NPN_SetValue):
(NPN_GetJavaEnv):
(NPN_GetJavaPeer):
(NPN_PushPopupsEnabledState):
(NPN_PopPopupsEnabledState):
(NPN_PluginThreadAsyncCall):
(NPN_GetValueForURL):
(NPN_SetValueForURL):
(NPN_GetAuthenticationInfo):
(NPN_PopUpContextMenu):

4:09 PM Changeset in webkit [178218] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.14.1

New tag.

4:00 PM Changeset in webkit [178217] by weinig@apple.com
  • 14 edits
    2 adds in trunk/Source/WebKit2

Move Navigation creation out of the Cocoa layer and down into the WebPageProxy level
https://bugs.webkit.org/show_bug.cgi?id=140319

Reviewed by Anders Carlsson.

  • Adds WebNavigationState, a class at the WebPageProxy level to handle the creation and storage of Navigations. Starts moving some of the functionality from NavigationState there.
  • UIProcess/API/APINavigation.cpp:

(API::Navigation::Navigation):

  • UIProcess/API/APINavigation.h:

(API::Navigation::create):
(API::Navigation::navigationID):
Have each Navigation store its navigationID and generate it via the WebNavigationState
that is passed to the constructor.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView loadRequest:]):
(-[WKWebView loadFileURL:allowingReadAccessToURL:]):
(-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]):
(-[WKWebView goToBackForwardListItem:]):
(-[WKWebView goBack]):
(-[WKWebView goForward]):
(-[WKWebView reload]):
(-[WKWebView reloadFromOrigin]):
(-[WKWebView _restoreFromSessionStateData:]):
(-[WKWebView _restoreSessionState:andNavigate:]):
Update for WebPageProxy functions returning the Navigations directly, rather than
the navigationID.

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
Remove creation of the load request navigation which is now handled by the WebPageProxy.

(WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didCommitLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didSameDocumentNavigationForFrame):
(WebKit::NavigationState::LoaderClient::didDestroyNavigation):
(WebKit::NavigationState::LoaderClient::processDidCrash):
Change to get/take/remove Navigations from the WebPageProxy's WebNavigationState

(WebKit::NavigationState::createLoadRequestNavigation): Deleted.
(WebKit::NavigationState::createBackForwardNavigation): Deleted.
(WebKit::NavigationState::createReloadNavigation): Deleted.
(WebKit::NavigationState::createLoadDataNavigation): Deleted.
Move Navigation creation to WebNavigationState.

  • UIProcess/WebFrameListenerProxy.cpp:

(WebKit::WebFrameListenerProxy::WebFrameListenerProxy):
(WebKit::WebFrameListenerProxy::receivedPolicyDecision):

  • UIProcess/WebFrameListenerProxy.h:

(WebKit::WebFrameListenerProxy::navigation):
(WebKit::WebFrameListenerProxy::setNavigation):
(WebKit::WebFrameListenerProxy::navigationID): Deleted.
(WebKit::WebFrameListenerProxy::setNavigationID): Deleted.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::receivedPolicyDecision):

  • UIProcess/WebFrameProxy.h:

Store a Navigation rather than a navigationID on the WebFrameListenerProxy.

  • UIProcess/WebNavigationState.cpp: Added.

(WebKit::WebNavigationState::WebNavigationState):
(WebKit::WebNavigationState::~WebNavigationState):
(WebKit::WebNavigationState::createLoadRequestNavigation):
(WebKit::WebNavigationState::createBackForwardNavigation):
(WebKit::WebNavigationState::createReloadNavigation):
(WebKit::WebNavigationState::createLoadDataNavigation):
(WebKit::WebNavigationState::navigation):
(WebKit::WebNavigationState::takeNavigation):
(WebKit::WebNavigationState::didDestroyNavigation):
(WebKit::WebNavigationState::clearAllNavigations):

  • UIProcess/WebNavigationState.h: Added.

(WebKit::WebNavigationState::generateNavigationID):
New class to manage navigations.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcessForReload):
(WebKit::WebPageProxy::reattachToWebProcessWithItem):
(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::loadData):
(WebKit::WebPageProxy::loadHTMLString):
(WebKit::WebPageProxy::reload):
(WebKit::WebPageProxy::goForward):
(WebKit::WebPageProxy::goBack):
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::restoreFromSessionState):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::generateNavigationID): Deleted.
Create navigations directly rather than generating a navigation ID and letting
the API level create Navigation.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::navigationState):
Add WebNavigationState member and accessor.

  • WebKit2.xcodeproj/project.pbxproj:

Add WebNavigationState.h/cpp

3:57 PM Changeset in webkit [178216] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Another Windows build fix.

  • DerivedSources.cpp:
3:41 PM Changeset in webkit [178215] by Chris Dumez
  • 2 edits in trunk/LayoutTests

plugins/crash-restoring-plugin-page-from-page-cache.html and plugins/netscape-plugin-page-cache-works.html timing out on Intel Debug WebKit2 testers
https://bugs.webkit.org/show_bug.cgi?id=81392

Reviewed by Alexey Proskuryakov.

Unskip those 2 plugins / page cache tests as they seem to be passing on
WK2 nowadays.

  • platform/wk2/TestExpectations:
3:40 PM Changeset in webkit [178214] by dbates@webkit.org
  • 4 edits in trunk

[iOS] Make DumpRenderTree build with public SDK
https://bugs.webkit.org/show_bug.cgi?id=140311

Reviewed by Sam Weinig.

Source/WebKit2:

Add more SPI declarations.

  • Platform/spi/ios/UIKitSPI.h:

Tools:

Use CGRound() instead of the obsolete macro function _ROUNDF_ (defined in
header UIKit/UIMath.h), and std::max() instead of the macro function MAX.
Additionally, remove unused header CoreGraphics/CGFontDB.h.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(-[ScrollViewResizerDelegate view:didSetFrame:oldFrame:asResultOfZoom:]):

3:36 PM Changeset in webkit [178213] by enrica@apple.com
  • 8 edits in trunk

[iOS] Support additional text styles.
https://bugs.webkit.org/show_bug.cgi?id=140310
rdar://problem/18568864

Reviewed by Joseph Pecoraro.

Source/WebCore:

Add support for three new text styles.

  • css/CSSValueKeywords.in:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::systemFont):

Source/WebInspectorUI:

Add support for three new text styles.

  • UserInterface/Models/CSSKeywordCompletions.js:

LayoutTests:

Updates the existing test to include the new text styles.

  • platform/ios-simulator/ios/fast/text/opticalFontWithTextStyle-expected.txt:
  • platform/ios-simulator/ios/fast/text/opticalFontWithTextStyle.html:
3:35 PM Changeset in webkit [178212] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix Windows build.

  • bindings/js/JSBindingsAllInOne.cpp:
3:28 PM Changeset in webkit [178211] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Remove more worker database code
https://bugs.webkit.org/show_bug.cgi?id=140320

Reviewed by Tim Horton.

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::stop):

3:16 PM Changeset in webkit [178210] by eric.carlson@apple.com
  • 2 edits in trunk/LayoutTests

After updating tests to use kerning, ligatures, and printer fonts, some tests fail
https://bugs.webkit.org/show_bug.cgi?id=139968

  • platform/mac/TestExpectations: Add more flaky tests.
3:15 PM Changeset in webkit [178209] by andersca@apple.com
  • 11 edits
    15 deletes in trunk/Source/WebCore

Remove more sync database code
https://bugs.webkit.org/show_bug.cgi?id=140318

Reviewed by Sam Weinig.

  • CMakeLists.txt:
  • DerivedSources.make:
  • Modules/webdatabase/DatabaseBackendSync.cpp: Removed.
  • Modules/webdatabase/DatabaseBackendSync.h: Removed.
  • Modules/webdatabase/DatabaseCallback.h:
  • Modules/webdatabase/DatabaseCallback.idl:
  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::openDatabaseSync): Deleted.

  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseServer.cpp:

(WebCore::DatabaseServer::createDatabase):

  • Modules/webdatabase/DatabaseSync.cpp: Removed.
  • Modules/webdatabase/DatabaseSync.h: Removed.
  • Modules/webdatabase/DatabaseSync.idl: Removed.
  • Modules/webdatabase/SQLStatementSync.cpp: Removed.
  • Modules/webdatabase/SQLStatementSync.h: Removed.
  • Modules/webdatabase/SQLTransactionBackendSync.cpp: Removed.
  • Modules/webdatabase/SQLTransactionBackendSync.h: Removed.
  • Modules/webdatabase/SQLTransactionSync.cpp: Removed.
  • Modules/webdatabase/SQLTransactionSync.h: Removed.
  • Modules/webdatabase/SQLTransactionSync.idl: Removed.
  • Modules/webdatabase/SQLTransactionSyncCallback.h: Removed.
  • Modules/webdatabase/SQLTransactionSyncCallback.idl: Removed.
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSSQLTransactionSyncCustom.cpp: Removed.
2:39 PM Changeset in webkit [178208] by rniwa@webkit.org
  • 6 edits in trunk/Websites/perf.webkit.org

Cache-control should be set only on api/runs
https://bugs.webkit.org/show_bug.cgi?id=140312

Reviewed by Andreas Kling.

Some JSON APIs such as api/analysis-tasks can't be cached even for a short period of time (e.g. a few minutes)
since they can be modified by the user on demand. Since only api/runs.php takes a long time to generate JSONs,
just set cache-control there instead of json-header.php which is used by other JSON APIs.

Also set date_default_timezone_set in db.php since we never use non-UTC timezone in our scripts.

  • public/api/analysis-tasks.php:
  • public/api/runs.php: Set the cache control headers.
  • public/api/test-groups.php:
  • public/include/db.php: Set the default timezone to UTC.
  • public/include/json-header.php: Don't set the cache control headers.
2:34 PM Changeset in webkit [178207] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r176441. rdar://problem/19409536

2:33 PM Changeset in webkit [178206] by bshafiei@apple.com
  • 4 edits
    1 copy in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r174742. rdar://problem/19286019

2:32 PM Changeset in webkit [178205] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r174299. rdar://problem/19286019

2:30 PM Changeset in webkit [178204] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r174081. rdar://problem/19286019

2:28 PM Changeset in webkit [178203] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r173975. rdar://problem/19286019

2:26 PM Changeset in webkit [178202] by bshafiei@apple.com
  • 6 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r177163. rdar://problem/19273192

2:26 PM Changeset in webkit [178201] by commit-queue@webkit.org
  • 19 edits in trunk/Source

Web Inspector: Remove or use TimelineAgent Resource related event types
https://bugs.webkit.org/show_bug.cgi?id=140155

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-09
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Remove unused / stale Timeline event types.

  • inspector/protocol/Timeline.json:

Source/WebCore:

Remove unused timeline events. The frontend was ignoring these events
and was often already getting nearly identical data from the Network domain.

  • WebCore.exp.in:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willSendRequestImpl):
(WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
(WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
(WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
(WebCore::InspectorInstrumentation::didFinishLoadingImpl):
(WebCore::InspectorInstrumentation::didFailLoadingImpl):
(WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl): Deleted.
(WebCore::InspectorInstrumentation::willReceiveResourceDataImpl): Deleted.
(WebCore::InspectorInstrumentation::didReceiveResourceDataImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willReceiveResourceResponse):
(WebCore::InspectorInstrumentation::didScheduleResourceRequest): Deleted.
(WebCore::InspectorInstrumentation::willReceiveResourceData): Deleted.
(WebCore::InspectorInstrumentation::didReceiveResourceData): Deleted.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::didScheduleResourceRequest): Deleted.
(WebCore::InspectorTimelineAgent::willSendResourceRequest): Deleted.
(WebCore::InspectorTimelineAgent::willReceiveResourceData): Deleted.
(WebCore::InspectorTimelineAgent::didReceiveResourceData): Deleted.
(WebCore::InspectorTimelineAgent::willReceiveResourceResponse): Deleted.
(WebCore::InspectorTimelineAgent::didReceiveResourceResponse): Deleted.
(WebCore::InspectorTimelineAgent::didFinishLoadingResource): Deleted.

  • inspector/InspectorTimelineAgent.h:
  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createScheduleResourceRequestData): Deleted.
(WebCore::TimelineRecordFactory::createResourceSendRequestData): Deleted.
(WebCore::TimelineRecordFactory::createResourceReceiveResponseData): Deleted.
(WebCore::TimelineRecordFactory::createResourceFinishData): Deleted.
(WebCore::TimelineRecordFactory::createReceiveResourceData): Deleted.

  • inspector/TimelineRecordFactory.h:
  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::didReceiveResponse):

  • loader/ResourceLoadNotifier.cpp:

(WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):

  • loader/ResourceLoadScheduler.cpp:

(WebCore::ResourceLoadScheduler::scheduleLoad):
(WebCore::ResourceLoadScheduler::notifyDidScheduleResourceRequest): Deleted.

  • loader/ResourceLoadScheduler.h:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::didReceiveData):
(WebCore::ResourceLoader::didReceiveBuffer):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::didReceiveResponse):

  • loader/mac/ResourceLoaderMac.mm:

(WebCore::ResourceLoader::didReceiveDataArray):

Source/WebKit2:

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleLoad):

2:25 PM Changeset in webkit [178200] by rniwa@webkit.org
  • 5 edits in trunk/Websites/perf.webkit.org

api/report-commit should authenticate with a slave name and password
https://bugs.webkit.org/show_bug.cgi?id=140308

Reviewed by Benjamin Poulain.

Use a slave name and a password to authenticate new commit reports.

  • public/api/report-commits.php:

(main):

  • public/include/json-header.php:

(verify_slave): Renamed and repurposed from verify_builder in report-commits.php. Now authenticates with
a slave name and a password instead of a builder name and a password.

  • tests/api-report-commits.js: Updated tests.
  • tools/pull-svn.py:

(main): Renamed variables.
(submit_commits): Submits slaveName and slavePassword instead of builderName and builderPassword.

2:24 PM Changeset in webkit [178199] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS] Fix the WebKit2 build with the public SDK

Forward declare class WebView.

  • Platform/spi/ios/UIKitSPI.h:
2:15 PM Changeset in webkit [178198] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Update r177745, one of the review comments was not integrated

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-09

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesLangPseudoClass):
I cq+ before Dhi could make an update and this was left out.

2:14 PM Changeset in webkit [178197] by dbates@webkit.org
  • 3 edits
    6 copies
    290 adds
    2 deletes in trunk/LayoutTests

[iOS] Add iOS-specific tests and consolidate iOS-specific accessibility tests

Copied iOS-specific tests from directory LayoutTests/platform/ios-sim-deprecated/iphone
to LayoutTests/platform/ios-simulator/ios and fixed references to external JavaScript
scripts and external style sheets. Moved iOS-specific tests in directories LayoutTests/platform/ios-sim/accessibility
and LayoutTests/platform/ios-simulator/ios-accessibility into LayoutTests/platform/ios-simulator/ios/accessibility.

I will remove directory LayoutTests/platform/ios-sim-deprecated, including
LayoutTests/platform/ios-sim-deprecated/iphone, in a subsequent commit.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/ios-simulator/ios/accessibility/press-fires-touch-events-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios-accessibility/press-fires-touch-events-expected.txt.
  • platform/ios-simulator/ios/accessibility/press-fires-touch-events.html: Renamed from LayoutTests/platform/ios-simulator/ios-accessibility/press-fires-touch-events.html.
  • platform/ios-simulator/ios/accessibility/set-value-expected.txt: Copied from LayoutTests/platform/ios-sim/accessibility/set-value-expected.txt.
  • platform/ios-simulator/ios/accessibility/set-value.html: Renamed from LayoutTests/platform/ios-sim/accessibility/set-value.html.
  • platform/ios-simulator/ios/compositing/overlap-page-scale-expected.txt: Added.

[...]

2:13 PM Changeset in webkit [178196] by akling@apple.com
  • 2 edits in trunk/LayoutTests

Mark css3/background/background-repeat-space-content.html as ImgaeOnlyFailure

This test is failing with a subtle pixel difference, need to figure out what's
going on, but results are not visually wrong.

2:00 PM Changeset in webkit [178195] by bshafiei@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Versioning.

1:57 PM Changeset in webkit [178194] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix error handling of ContentExtensionsManager when the top level input is unusable
https://bugs.webkit.org/show_bug.cgi?id=140284

Reviewed by Andreas Kling.

There are a couple of ways the WebProcess would crash if the input
is really really bad:
-If the JSON is unreadable, we can have an exception or decodedRules can be null.
-On any of the error, we cannot return immediately or we will skip vm.clear().

This patch adds a branch to fix the first issue.

For the second issue, a new function, loadEncodedRules(), encapsulate all the early
returns to make sure we execute the end of loadExtension().

  • contentextensions/ContentExtensionsManager.cpp:

(WebCore::ContentExtensions::ExtensionsManager::loadEncodedRules):
(WebCore::ContentExtensions::ExtensionsManager::loadExtension):

1:25 PM Changeset in webkit [178193] by Bem Jones-Bey
  • 2 edits in trunk/Source/WebCore

Simplify LineWidth::wrapNextToShapeOutside()
https://bugs.webkit.org/show_bug.cgi?id=140304

Reviewed by Zoltan Horvath.

This function used to manually check to see if the entire height of
the line would have enough space next to the float. However, the code
to compute the offsets will do this automatically (and probably a lot
faster), if the line height is passed in. This patch does just that.

No new tests, no behavior change.

  • rendering/line/LineWidth.cpp:

(WebCore::availableWidthAtOffset): Remove now unused override, allow

passing in lineHeight.

(WebCore::LineWidth::wrapNextToShapeOutside): Pass the lineHeight

when computing the available width, so we don't need to check
isWholeLineFit anymore.

(WebCore::isWholeLineFit): Deleted.

1:01 PM Changeset in webkit [178192] by Bem Jones-Bey
  • 3 edits
    2 adds in trunk

[CSS Shapes] content inside second shape area when two floats interact
https://bugs.webkit.org/show_bug.cgi?id=137702

Reviewed by Zalan Bujtas.

Source/WebCore:

If a float has a shape-outside, we cannot assume that it has a uniform
width for the height of the float, so we cannot use simple line
layout.

Test: fast/shapes/shape-outside-floats/shape-outside-text-overlap-float.html

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor): Don't use simple line layout

if we have shape-outside. Also, rename floatRenderer to
floatingObject, since the variable doesn't contain a renderer.

LayoutTests:

  • fast/shapes/shape-outside-floats/shape-outside-text-overlap-float-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-text-overlap-float.html: Added.
12:59 PM Changeset in webkit [178191] by Chris Dumez
  • 3 edits
    4 adds in trunk

Allow HTTPS + 'Cache-control: no-store' sub-frames into the page cache
https://bugs.webkit.org/show_bug.cgi?id=140302

Reviewed by Andreas Kling.

Source/WebCore:

Allow HTTPS + 'Cache-control: no-store' sub-frames into the page cache.
We already restore 'no-store' sub-resources on history navigation from
the memory cache so there is no reason for our page cache policy to be
more restrictive.

We should align our memory cache / history navigation policy with our
page cache policy.

For now, 'no-store' main resources are not restored from either cache
(memory cache / page cache) on history navigation though. This behavior
does not change.

Test: http/tests/navigation/https-no-store-subframe-in-page-cache.html

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):

LayoutTests:

Add a layout test to make sure a page is restored from the page cache
on history navigation, even though its has an HTTPS sub-frame with
"cache-control: no-cache".

  • http/tests/navigation/https-no-store-subframe-in-page-cache-expected.txt: Added.
  • http/tests/navigation/https-no-store-subframe-in-page-cache.html: Added.
  • http/tests/navigation/resources/https-no-store-subframe-in-page-cache.html: Added.
  • http/tests/navigation/resources/no-store-frame.php: Added.
12:57 PM Changeset in webkit [178190] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Try to trigger a rebuild of generated JS bindings.

  • bindings/scripts/CodeGeneratorJS.pm:
12:32 PM Changeset in webkit [178189] by Chris Dumez
  • 8 edits
    1 delete in trunk/Source/WebCore

Add support for SVG CSS Properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140277

Reviewed by Andreas Kling.

Update the new StyleBuilder generator to add support for SVG CSS
Properties whose methods are on SVGRenderStyle instead of RenderStyle.

A new "SVG" parameter is now supported by makeprop.pl to correctly
generate such properties.

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSPropertyNames.in:
  • css/SVGCSSPropertyNames.in: Removed.

Merged SVG CSS properties into CSSPropertyNames.in. I personally don't
think having a separate file for SVG CSS properties is really helpful.

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):
Drop legacy StyleBuilder code for several SVG properties and generate
them instead. Those are trivial and do not require any custom code or
converter.

  • css/StyleResolver.cpp:

Update the id of the first low-priority property.

  • css/makeprop.pl:

Add support for SVG CSS Properties whose methods are on SVGRenderStyle
instead of RenderStyle.

12:30 PM Changeset in webkit [178188] by andersca@apple.com
  • 7 edits
    8 deletes in trunk

Start removing Web Database support from workers
https://bugs.webkit.org/show_bug.cgi?id=140271

Reviewed by Sam Weinig.

Source/WebCore:

Remove WorkerGlobalScopeWebDatabase which is the entry point for web database in workers.

  • CMakeLists.txt:
  • DerivedSources.make:
  • Modules/webdatabase/WorkerGlobalScopeWebDatabase.cpp: Removed.
  • Modules/webdatabase/WorkerGlobalScopeWebDatabase.h: Removed.
  • Modules/webdatabase/WorkerGlobalScopeWebDatabase.idl: Removed.
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

LayoutTests:

Remove Web Database worker tests.

  • fast/workers/storage/change-version-handle-reuse-sync-expected.txt: Removed.
  • fast/workers/storage/change-version-handle-reuse-sync.html: Removed.
  • fast/workers/storage/change-version-handle-reuse-worker-expected.txt: Removed.
  • fast/workers/storage/change-version-handle-reuse-worker.html: Removed.
  • fast/workers/storage/change-version-sync-expected.txt: Removed.
  • fast/workers/storage/change-version-sync.html: Removed.
  • fast/workers/storage/empty-statement-sync-expected.txt: Removed.
  • fast/workers/storage/empty-statement-sync.html: Removed.
  • fast/workers/storage/execute-sql-args-sync-expected.txt: Removed.
  • fast/workers/storage/execute-sql-args-sync.html: Removed.
  • fast/workers/storage/execute-sql-args-worker-expected.txt: Removed.
  • fast/workers/storage/execute-sql-args-worker.html: Removed.
  • fast/workers/storage/executesql-accepts-only-one-statement-sync-expected.txt: Removed.
  • fast/workers/storage/executesql-accepts-only-one-statement-sync.html: Removed.
  • fast/workers/storage/interrupt-database-expected.txt: Removed.
  • fast/workers/storage/interrupt-database-sync-expected.txt: Removed.
  • fast/workers/storage/interrupt-database-sync.html-disabled: Removed.
  • fast/workers/storage/interrupt-database.html: Removed.
  • fast/workers/storage/multiple-databases-garbage-collection-expected.txt: Removed.
  • fast/workers/storage/multiple-databases-garbage-collection.html: Removed.
  • fast/workers/storage/multiple-transactions-expected.txt: Removed.
  • fast/workers/storage/multiple-transactions-on-different-handles-expected.txt: Removed.
  • fast/workers/storage/multiple-transactions-on-different-handles-sync-expected.txt: Removed.
  • fast/workers/storage/multiple-transactions-on-different-handles-sync.html: Removed.
  • fast/workers/storage/multiple-transactions-on-different-handles.html: Removed.
  • fast/workers/storage/multiple-transactions.html: Removed.
  • fast/workers/storage/open-database-creation-callback-sync-expected.txt: Removed.
  • fast/workers/storage/open-database-creation-callback-sync.html: Removed.
  • fast/workers/storage/open-database-empty-version-sync-expected.txt: Removed.
  • fast/workers/storage/open-database-empty-version-sync.html: Removed.
  • fast/workers/storage/open-database-inputs-sync-expected.txt: Removed.
  • fast/workers/storage/open-database-inputs-sync.html: Removed.
  • fast/workers/storage/open-database-set-empty-version-sync-expected.txt: Removed.
  • fast/workers/storage/open-database-set-empty-version-sync.html: Removed.
  • fast/workers/storage/open-database-while-transaction-in-progress-expected.txt: Removed.
  • fast/workers/storage/open-database-while-transaction-in-progress-sync-expected.txt: Removed.
  • fast/workers/storage/open-database-while-transaction-in-progress-sync.html: Removed.
  • fast/workers/storage/open-database-while-transaction-in-progress.html: Removed.
  • fast/workers/storage/read-and-write-transactions-dont-run-together-expected.txt: Removed.
  • fast/workers/storage/read-and-write-transactions-dont-run-together.html: Removed.
  • fast/workers/storage/resources/change-version-handle-reuse-sync.js: Removed.
  • fast/workers/storage/resources/change-version-sync-1.js: Removed.
  • fast/workers/storage/resources/change-version-sync-2.js: Removed.
  • fast/workers/storage/resources/database-worker-controller.js: Removed.
  • fast/workers/storage/resources/database-worker.js: Removed.
  • fast/workers/storage/resources/empty-statement-sync.js: Removed.
  • fast/workers/storage/resources/execute-sql-args-sync.js: Removed.
  • fast/workers/storage/resources/executesql-accepts-only-one-statement-sync.js: Removed.
  • fast/workers/storage/resources/interrupt-database-sync.js: Removed.
  • fast/workers/storage/resources/interrupt-database.js: Removed.
  • fast/workers/storage/resources/multiple-transactions-on-different-handles-sync.js: Removed.
  • fast/workers/storage/resources/multiple-transactions-sync.js: Removed.
  • fast/workers/storage/resources/open-database-creation-callback-sync.js: Removed.
  • fast/workers/storage/resources/open-database-empty-version-sync.js: Removed.
  • fast/workers/storage/resources/open-database-inputs-sync.js: Removed.
  • fast/workers/storage/resources/open-database-set-empty-version-sync.js: Removed.
  • fast/workers/storage/resources/open-database-while-transaction-in-progress-sync.js: Removed.
  • fast/workers/storage/resources/sql-data-types-sync.js: Removed.
  • fast/workers/storage/resources/sql-exception-codes-sync.js: Removed.
  • fast/workers/storage/resources/test-authorizer-sync.js: Removed.
  • fast/workers/storage/resources/test-inputs-common.js: Removed.
  • fast/workers/storage/resources/transaction-in-transaction-sync.js: Removed.
  • fast/workers/storage/resources/use-same-database-in-page-and-workers.js: Removed.
  • fast/workers/storage/sql-data-types-sync-expected.txt: Removed.
  • fast/workers/storage/sql-data-types-sync.html: Removed.
  • fast/workers/storage/sql-exception-codes-sync-expected.txt: Removed.
  • fast/workers/storage/sql-exception-codes-sync.html: Removed.
  • fast/workers/storage/test-authorizer-expected.txt: Removed.
  • fast/workers/storage/test-authorizer-sync-expected.txt: Removed.
  • fast/workers/storage/test-authorizer-sync.html: Removed.
  • fast/workers/storage/test-authorizer.html: Removed.
  • fast/workers/storage/transaction-in-transaction-sync-expected.txt: Removed.
  • fast/workers/storage/transaction-in-transaction-sync.html: Removed.
  • fast/workers/storage/use-same-database-in-page-and-workers-expected.txt: Removed.
  • fast/workers/storage/use-same-database-in-page-and-workers.html: Removed.
  • http/tests/security/cross-origin-worker-websql-allowed-expected.txt: Removed.
  • http/tests/security/cross-origin-worker-websql-allowed.html: Removed.
  • http/tests/security/cross-origin-worker-websql-expected.txt: Removed.
  • http/tests/security/cross-origin-worker-websql.html: Removed.
12:19 PM Changeset in webkit [178187] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed test gardening.

  • platform/win/TestExpectations: Unskip fast/canvas/canvas-path-addPath.html now

that it doesn't crash anymore.

12:17 PM Changeset in webkit [178186] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Layout Test fast/canvas/canvas-path-addPath.html is failing
https://bugs.webkit.org/show_bug.cgi?id=140303
<rdar://problem/19428865>

Reviewed by Simon Fraser.

Although the code clearly states that CG doesn't allow adding a path to itself,
and branches to handle this case, it simply uses the branch to try adding the
path to itself (ignoring the copy it just made)!

Fix this copy/paste bug so that we use the copy and avoid violating the CG
API contract.

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::addPath): Fix path used.

12:10 PM Changeset in webkit [178185] by weinig@apple.com
  • 9 edits
    2 adds in trunk/Source/WebKit2

Make WKNavigation bridged to API::Navigation (Take 2)
https://bugs.webkit.org/show_bug.cgi?id=140272

Reviewed by Dan Bernstein.

  • Shared/API/APIObject.h:

Add Navigation.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):
Bridge to WKNavigation.

  • UIProcess/API/APINavigation.cpp: Added.

(API::Navigation::Navigation):
(API::Navigation::~Navigation):

  • UIProcess/API/APINavigation.h: Added.

(API::Navigation::create):
(API::Navigation::request):
Add initial implementation.

  • UIProcess/API/Cocoa/WKNavigation.mm:

(-[WKNavigation dealloc]):
(-[WKNavigation _request]):
(-[WKNavigation _apiObject]):

  • UIProcess/API/Cocoa/WKNavigationInternal.h:

(API::wrapper):
Implement bridging to API::Navigation and get the request from the underlying object.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView loadRequest:]):
(-[WKWebView loadFileURL:allowingReadAccessToURL:]):
(-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]):
(-[WKWebView goToBackForwardListItem:]):
(-[WKWebView goBack]):
(-[WKWebView goForward]):
(-[WKWebView reload]):
(-[WKWebView reloadFromOrigin]):
(-[WKWebView _restoreSessionState:andNavigate:]):

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::createLoadRequestNavigation):
(WebKit::NavigationState::createBackForwardNavigation):
(WebKit::NavigationState::createReloadNavigation):
(WebKit::NavigationState::createLoadDataNavigation):
(WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didCommitLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didSameDocumentNavigationForFrame):
Switch to storing API::Navigations.

  • WebKit2.xcodeproj/project.pbxproj:

Add the new files.

12:08 PM Changeset in webkit [178184] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION: Navigation sidebar can show blank next to the Console view
https://bugs.webkit.org/show_bug.cgi?id=140291

Reviewed by Joseph Pecoraro.

  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded): Don't restore collapsed false if selectedSidebarPanel is null.
(WebInspector._sidebarCollapsedStateDidChange): Support a _ignoreNavigationSidebarPanelCollapsedEvent flag
to avoid setting _navigationSidebarCollapsedSetting.
(WebInspector._navigationSidebarPanelSelected): Force collapsed if selectedSidebarPanel is null.
(WebInspector._contentBrowserCurrentContentViewDidChange): Set _ignoreNavigationSidebarPanelCollapsedEvent
when forcing the collapsed state to avoid setting _navigationSidebarCollapsedSetting and calling
_updateContentViewForCurrentNavigationSidebar.

12:07 PM Changeset in webkit [178183] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[Cocoa] Make decoded image data purgeable ASAP.
<https://webkit.org/b/140298>

Reviewed by Antti Koivisto.

Mark decoded images as "transient" which makes CoreGraphics mark
the backing stores as purgeable shortly after they're used.

The decoded representation will remain in CoreGraphics's caches
indefinitely unless the kernel gets starved and needs the pages.

Most resources will now reach a state where the encoded data is
mmap'ed from disk cache (once the entire resource is downloaded)
and the decoded data is purgeable.

This also has the side effect of making the MemoryCache more
palatial since the decoded data cost can be deducted for images,
allowing us to cache more resources.

Note that the worst case for this new behavior would be something
like hovering below 100% memory utilization and constantly having
to drop and re-decode images. While churny, it still beats
crashing the process, plus there's tiling to remove many of the
reasons we'd need the decoded data.

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::createFrameAtIndex):

11:55 AM Changeset in webkit [178182] by yoon@igalia.com
  • 16 edits
    2 moves in trunk/Source

Rename GraphicsLayerAnimation to TextureMapperAnimation
https://bugs.webkit.org/show_bug.cgi?id=140296

Reviewed by Martin Robinson.

Source/WebCore:

GraphicsLayerAnimation is only used by TextureMapper and CoordinatedGraphics.
This should be placed in the platform/graphics/texmap.
And this patch also changes its name to TextureMapperAnimation to remove ambiguity.

No new tests because this is a simply refactoring.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::addAnimation):
(WebCore::GraphicsLayerTextureMapper::setAnimations):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/graphics/texmap/TextureMapperAnimation.cpp: Renamed from Source/WebCore/platform/graphics/GraphicsLayerAnimation.cpp.
  • platform/graphics/texmap/TextureMapperAnimation.h: Renamed from Source/WebCore/platform/graphics/GraphicsLayerAnimation.h.
  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::setAnimations):

  • platform/graphics/texmap/TextureMapperLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::addAnimation):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:

Source/WebKit2:

GraphicsLayerAnimation is changed to TextureMapperAnimation

  • Scripts/webkit/messages.py:

(headers_for_type):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(IPC::ArgumentCoder<TextureMapperAnimation>::encode):
(IPC::ArgumentCoder<TextureMapperAnimation>::decode):
(IPC::ArgumentCoder<TextureMapperAnimations>::encode):
(IPC::ArgumentCoder<TextureMapperAnimations>::decode):
(IPC::ArgumentCoder<GraphicsLayerAnimation>::encode): Deleted.
(IPC::ArgumentCoder<GraphicsLayerAnimation>::decode): Deleted.
(IPC::ArgumentCoder<GraphicsLayerAnimations>::encode): Deleted.
(IPC::ArgumentCoder<GraphicsLayerAnimations>::decode): Deleted.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
11:41 AM Changeset in webkit [178181] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Temporarily disable all media tests.

  • platform/win/TestExpectations:
11:33 AM Changeset in webkit [178180] by Antti Koivisto
  • 11 edits in trunk/Source/WebCore

FontCache should only deal with SimpleFontData
https://bugs.webkit.org/show_bug.cgi?id=140293

Reviewed by Andreas Kling.

FontCache::fontForFamilyAtIndex hands out FontData objects and calls to FontSelector. That sort
of code does not belong to the cache layer. Move the functionality up to FontGlyphs.

  • platform/graphics/Font.cpp:

(WebCore::Font::operator==):
(WebCore::Font::drawText):
(WebCore::Font::drawEmphasisMarks):
(WebCore::Font::isLoadingCustomFonts):

  • platform/graphics/Font.h:

(WebCore::Font::loadingCustomFonts): Deleted.

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::similarFontPlatformData):

Generic null implementation to reduce #ifs.

(WebCore::FontCache::fontForFamilyAtIndex): Deleted.

  • platform/graphics/FontCache.h:

Unfriend FontGlyphs.

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::isLoadingCustomFonts):

We can figure thus out cheaply without caching a bit.

(WebCore::realizeNextFamily):
(WebCore::FontGlyphs::realizeFontDataAt):

Reorganize a bit to make the logic clearer.
Get rid of the strange cAllFamiliesScanned constant.

(WebCore::FontGlyphs::glyphDataForVariant):
(WebCore::FontGlyphs::glyphDataForNormalVariant):

Loop until null, that always works.

  • platform/graphics/FontGlyphs.h:

(WebCore::FontGlyphs::loadingCustomFonts): Deleted.

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::similarFontPlatformData):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::similarFontPlatformData):

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::dashesForIntersectionsWithRect):

11:29 AM Changeset in webkit [178179] by ap@apple.com
  • 3 edits in trunk/Tools

platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html fails on Retina machines
https://bugs.webkit.org/show_bug.cgi?id=140300

Reviewed by Simon Fraser.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createOtherPage):
(WTR::TestController::updateWindowScaleForTest):
(WTR::TestController::configureViewForTest):

  • WebKitTestRunner/TestController.h:
11:29 AM Changeset in webkit [178178] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update expectations for fast/text/atsui-rtl-override-selection.html, which also
fails on Mountain Lion after enabling kerning and ligatures.

  • platform/mac/TestExpectations:
11:27 AM Changeset in webkit [178177] by Csaba Osztrogonác
  • 6 edits in trunk/Source

REGRESSION(r177925): It broke the !ENABLE(INSPECTOR) build
https://bugs.webkit.org/show_bug.cgi?id=140098

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/InspectorBackendDispatcher.h: Missing ENABLE(INSPECTOR) guard added.

Source/WebCore:

  • inspector/InspectorInstrumentationCookie.cpp: Removed ENABLE(INSPECTOR) guard,

becaue InspectorInstrumentationCookie is used everywhere unconditionally.

  • inspector/InspectorInstrumentationCookie.h: Removed ENABLE(INSPECTOR) guard.
  • loader/appcache/ApplicationCacheGroup.h: Removed ENABLE(INSPECTOR) guard around

m_currentResourceIdentifier, because it is used unconditionally in the cpp.

10:58 AM Changeset in webkit [178176] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] Fix crash introduced in r178029
https://bugs.webkit.org/show_bug.cgi?id=140289

Patch by Byungseon Shin <sun.shin@lge.com> on 2015-01-09
Reviewed by Martin Robinson.

Clearing childClippingMaskLayer of CoordinatedGraphics should be called
before clearing childClippingLayer.

No new tests, covered by existing tests.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::~RenderLayerBacking):

10:31 AM Changeset in webkit [178175] by enrica@apple.com
  • 6 edits in trunk/Source

[iOS] Cannot paste an image URL in a plain text field in a page.
https://bugs.webkit.org/show_bug.cgi?id=140274
rdar://problem/18590809

Reviewed by Alexey Proskuryakov.

Source/WebCore:

When we want to get plain text from the pasteboard, we
should also try kUTTypeURL if there is no kUTTypeText available.

  • WebCore.exp.in:
  • platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::read):

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::readString):

Source/WebKit2:

supportedPasteboardTypesForCurrentSelection should include kUTTypeURL for plain
text controls and WebArchivePboardType for rich text controls.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView supportedPasteboardTypesForCurrentSelection]): Remove obsolete and
incorrect FIXME.

9:50 AM Changeset in webkit [178174] by commit-queue@webkit.org
  • 9 edits
    2 deletes in trunk/Source/WebKit2

Unreviewed, rolling out r178141.
https://bugs.webkit.org/show_bug.cgi?id=140294

Broke multiple API tests (Requested by ap on #webkit).

Reverted changeset:

"Make WKNavigation bridged to API::Navigation"
https://bugs.webkit.org/show_bug.cgi?id=140272
http://trac.webkit.org/changeset/178141

9:44 AM Changeset in webkit [178173] by commit-queue@webkit.org
  • 30 edits in trunk/Source

Unreviewed, rolling out r178154, r178163, and r178164.
https://bugs.webkit.org/show_bug.cgi?id=140292

Still multiple assertion failures on tests (Requested by ap on
#webkit).

Reverted changesets:

"Modernize and streamline HTMLTokenizer"
https://bugs.webkit.org/show_bug.cgi?id=140166
http://trac.webkit.org/changeset/178154

"Unreviewed speculative buildfix after r178154."
http://trac.webkit.org/changeset/178163

"One more unreviewed speculative buildfix after r178154."
http://trac.webkit.org/changeset/178164

9:16 AM Changeset in webkit [178172] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

[MSE] Implement Append Window support.
https://bugs.webkit.org/show_bug.cgi?id=139861

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-01-09
Reviewed by Jer Noble.

Source/WebCore:

Implement Append Windows support for SourceBuffer as per spec.
Also change order in idl to match spec order.

Test: media/media-source/media-source-append-buffer-with-append-window.html

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::appendWindowStart):
(WebCore::SourceBuffer::setAppendWindowStart):
(WebCore::SourceBuffer::appendWindowEnd):
(WebCore::SourceBuffer::setAppendWindowEnd):
(WebCore::SourceBuffer::abort):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

  • Modules/mediasource/SourceBuffer.h:
  • Modules/mediasource/SourceBuffer.idl:

LayoutTests:

Added test which checks whether correct samples from contiguous range of samples are added
when manipulating appendWindow.

  • media/media-source/media-source-append-buffer-with-append-window-expected.txt: Added.
  • media/media-source/media-source-append-buffer-with-append-window.html: Added.
7:29 AM Changeset in webkit [178171] by Chris Fleizach
  • 5 edits in trunk/Source/WebCore

AX: Crash at -[WebAccessibilityObjectWrapperBase accessibilityTitle] + 31
https://bugs.webkit.org/show_bug.cgi?id=140286

Reviewed by Mario Sanchez Prada.

This is crashing because AppKit is checking if certain method names like "accessibilityTitle" exist,
and then it bypasses accessibilityAttributeValue: to call directly into those methods.

That bypasses are safety checks. I think a safe way to avoid this is rename our methods.

No new tests, problem only occurs when triggered through AppKit.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityLabel]):
(-[WebAccessibilityObjectWrapper accessibilityHint]):

  • accessibility/mac/WebAccessibilityObjectWrapperBase.h:
  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(-[WebAccessibilityObjectWrapperBase baseAccessibilityTitle]):
(-[WebAccessibilityObjectWrapperBase baseAccessibilityDescription]):
(-[WebAccessibilityObjectWrapperBase baseAccessibilityHelpText]):
(-[WebAccessibilityObjectWrapperBase accessibilityTitle]): Deleted.
(-[WebAccessibilityObjectWrapperBase accessibilityDescription]): Deleted.
(-[WebAccessibilityObjectWrapperBase accessibilityHelpText]): Deleted.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

5:50 AM Changeset in webkit [178170] by mtibor@inf.u-szeged.hu
  • 2 edits in trunk/Tools

Unreviewed. Moving myself to the committer section.

  • Scripts/webkitpy/common/config/contributors.json:
5:33 AM Changeset in webkit [178169] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[GStreamer][MSE] ASSERT in MediaSourceClientGStreamer::addSourceBuffer
https://bugs.webkit.org/show_bug.cgi?id=140119

Reviewed by Carlos Garcia Campos.

  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:

(WebCore::MediaSourceClientGStreamer::addSourceBuffer): Use a raw
pointer for the ghost pad, its reference is then taken once attached
to the parent element.

5:26 AM Changeset in webkit [178168] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

After r178166, ANGLE's EGL/GLES/GLES2 headers are included before the
system-default headers because the Source/ThirdParty/ANGLE/include
directory is searched through. This shouldn't be the case for ports
which want to use system-default headers and are searching for them
explicitly. To avoid that, OPENGL_INCLUDE_DIR or OPENGLES2_INCLUDE_DIR
should be added to WebCore_INCLUDE_DIRECTORIES before ANGLE directories.

Rubber-stamped by Carlos Garcia Campos.

  • CMakeLists.txt:
3:48 AM Changeset in webkit [178167] by Carlos Garcia Campos
  • 1 edit
    1 add in trunk/Tools

Add a script to check for platform layering violations
https://bugs.webkit.org/show_bug.cgi?id=140248

Reviewed by Darin Adler.

It prints all the cases where files inside platform include
headers that are not in platform directory.

  • Scripts/check-for-platform-layering-violations: Added.

(get_platform_headers):
(check_source_file):

3:46 AM Changeset in webkit [178166] by Carlos Garcia Campos
  • 16 edits in trunk/Source/WebCore

Use angle-bracket form to include external headers in WebCore
https://bugs.webkit.org/show_bug.cgi?id=140288

Reviewed by Žan Doberšek.

  • CMakeLists.txt:
  • platform/graphics/GraphicsContext.cpp:
  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:
  • platform/graphics/harfbuzz/HarfBuzzFace.cpp:
  • platform/graphics/harfbuzz/HarfBuzzFaceCoreText.cpp:
  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
  • platform/graphics/mac/GraphicsContext3DMac.mm:
  • platform/graphics/opengl/Extensions3DOpenGL.cpp:
  • platform/graphics/win/GraphicsContext3DWin.cpp:
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
  • platform/image-decoders/png/PNGImageDecoder.cpp:
  • platform/image-decoders/webp/WEBPImageDecoder.cpp:
  • platform/image-encoders/JPEGImageEncoder.cpp:
  • platform/image-encoders/PNGImageEncoder.cpp:
  • platform/text/TextEncodingDetectorICU.cpp:
12:07 AM Changeset in webkit [178165] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

12:06 AM Changeset in webkit [178164] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

One more unreviewed speculative buildfix after r178154.

  • xml/parser/CharacterReferenceParserInlines.h:

(WebCore::consumeCharacterReference): Remove highestValidCharacter too, it became unused after r178163.

12:01 AM Changeset in webkit [178163] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Unreviewed speculative buildfix after r178154.

  • xml/parser/CharacterReferenceParserInlines.h:

(WebCore::consumeCharacterReference): Remove unused overflow variable.

Jan 8, 2015:

11:51 PM Changeset in webkit [178162] by bshafiei@apple.com
  • 1 copy in branches/safari-600.1.4.15-branch

New Branch.

11:34 PM Changeset in webkit [178161] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.14-branch/Source/WebKit2

Merged r173450. rdar://problem/18296733

10:46 PM Changeset in webkit [178160] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.14-branch/Source

Versioning.

10:43 PM Changeset in webkit [178159] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.13-branch/Source

Versioning.

10:42 PM Changeset in webkit [178158] by bshafiei@apple.com
  • 1 copy in branches/safari-600.1.4.14-branch

New Branch.

9:29 PM Changeset in webkit [178157] by Darin Adler
  • 6 edits in trunk/Source/WebCore

Remove strange CharacterData::dataImpl function
https://bugs.webkit.org/show_bug.cgi?id=140115

Reviewed by Anders Carlsson.

Every call site could just use the data function instead.

  • dom/CharacterData.h:

(WebCore::CharacterData::dataImpl): Deleted.

  • dom/Text.cpp:

(WebCore::Text::splitText): Use data instead of dataImpl.
(WebCore::Text::createTextRenderer): Ditto.

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::RenderCombineText): Updated to take
const String&. We missed this class when RenderText changed.

  • rendering/RenderCombineText.h: Ditto.
  • style/StyleResolveTree.cpp:

(WebCore::Style::updateTextRendererAfterContentChange): Use data.

9:29 PM Changeset in webkit [178156] by Chris Dumez
  • 4 edits
    2 adds in trunk

ASSERTION FAILED: !valueWithCalculation.calculation() in WebCore::CSSParser::validateCalculationUnit
https://bugs.webkit.org/show_bug.cgi?id=140251

Reviewed by Darin Adler.

Source/WebCore:

Using a calculated value for text-shadow's blur-radius was hitting an
assertion in CSSParser::validateCalculationUnit() because validUnit()
is called twice, first with 'FLength' unit, then more stricly with
'FLength|FNonNeg' if parsing the blur-radius as it cannot be negative
as per the specification:

On the second call, the ValueWithCalculation's m_calculation member
was already initialized and the code did not handle this. This patch
updates validateCalculationUnit() to teach it to reuse the previously
parsed calculation in this case. All it needs to do is to update the
existing CSSCalcValue's range to allow negative values or not.

When writing the layout test for this, I also noticed that the CSS
parser was not rejecting negative calculated values for blur-radius
(only negative non-calculated ones). This is because
validateCalculationUnit() was ignoring FNonNeg if the calculated
value is a Length. This patch also addresses the issue.

Test: fast/css/text-shadow-calc-value.html

  • css/CSSCalculationValue.h:

(WebCore::CSSCalcValue::setPermittedValueRange):
Add a setter to update the CSSCalculationValue's permitted value range
so that the CSS parser does not need to fully reparse the calculation
only to update the permitted value range.

  • css/CSSParser.cpp:

(WebCore::CSSParser::validateCalculationUnit):

  • Teach the code to reuse the previously parsed calculation value.
  • Do the FNonNeg check for Length calculations as well.

LayoutTests:

Add a layout test to check that using calculated values for
'text-shadow' CSS doesn't crash and works as intended. Also check
that the CSS parser is correctly validating the blur-radius, which
is supposed to be non-negative, as per the specification:

  • fast/css/text-shadow-calc-value-expected.txt: Added.
  • fast/css/text-shadow-calc-value.html: Added.
9:18 PM Changeset in webkit [178155] by commit-queue@webkit.org
  • 15 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION Showing debugger sidebar shouldn't change selected JS file
https://bugs.webkit.org/show_bug.cgi?id=139526

Patch by Nikita Vasilyev <Nikita Vasilyev> on 2015-01-08
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

(WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar):
When switching to Debugger, show last selected JS or HTML resource.

(WebInspector.showSplitConsole):
(WebInspector.showFullHeightConsole):
(WebInspector.toggleConsoleView):
(WebInspector._sidebarCollapsedStateDidChange):
(WebInspector._updateContentViewForCurrentNavigationSidebar):
(WebInspector._navigationSidebarPanelSelected):
(WebInspector._contentBrowserCurrentContentViewDidChange):
(WebInspector._updateNavigationSidebarForCurrentContentView): Deleted.

  • UserInterface/Views/ApplicationCacheFrameContentView.js:

(WebInspector.ApplicationCacheFrameContentView.prototype.get allowedNavigationSidebarPanels):

  • UserInterface/Views/CookieStorageContentView.js:

(WebInspector.CookieStorageContentView.prototype.get allowedNavigationSidebarPanels):

  • UserInterface/Views/DOMStorageContentView.js:

(WebInspector.DOMStorageContentView.prototype.get allowedNavigationSidebarPanels):

  • UserInterface/Views/DOMTreeContentView.js:

(WebInspector.DOMTreeContentView.prototype.get allowedNavigationSidebarPanels):

  • UserInterface/Views/DatabaseContentView.js:

(WebInspector.DatabaseContentView.prototype.get allowedNavigationSidebarPanels):

  • UserInterface/Views/DatabaseTableContentView.js:

(WebInspector.DatabaseTableContentView.prototype.get allowedNavigationSidebarPanels):

  • UserInterface/Views/FontResourceContentView.js:

(WebInspector.FontResourceContentView.prototype.get allowedNavigationSidebarPanels):

  • UserInterface/Views/FrameDOMTreeContentView.js:

(WebInspector.FrameDOMTreeContentView.prototype.get allowedNavigationSidebarPanels):

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype.get allowedNavigationSidebarPanels):

  • UserInterface/Views/ResourceClusterContentView.js:

(WebInspector.ResourceClusterContentView.prototype.get allowedNavigationSidebarPanels):

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
(WebInspector.ResourceSidebarPanel.prototype.showMainFrame):

  • UserInterface/Views/Sidebar.js:

(WebInspector.Sidebar.prototype.removeSidebarPanel):

  • UserInterface/Views/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype.get allowedNavigationSidebarPanels):

9:07 PM Changeset in webkit [178154] by Darin Adler
  • 30 edits in trunk/Source

Modernize and streamline HTMLTokenizer
https://bugs.webkit.org/show_bug.cgi?id=140166

Reviewed by Sam Weinig.

Source/WebCore:

  • html/parser/AtomicHTMLToken.h:

(WebCore::AtomicHTMLToken::initializeAttributes): Removed unneeded assertions
based on fields I removed.

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::HTMLDocumentParser): Change to use updateStateFor
to set the initial state when parsing a fragment, since it implements the same
rule taht the tokenizerStateForContextElement function did.
(WebCore::HTMLDocumentParser::pumpTokenizer): Updated to use the revised
interfaces for HTMLSourceTracker and HTMLTokenizer.
(WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Changed to take a
TokenPtr instead of an HTMLToken, so we can clear out the TokenPtr earlier
for non-character tokens, and let them get cleared later for character tokens.
(WebCore::HTMLDocumentParser::insert): Pass references.
(WebCore::HTMLDocumentParser::append): Ditto.
(WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan): Ditto.

  • html/parser/HTMLDocumentParser.h: Updated argument type for constructTreeFromHTMLToken

and removed now-unneeded m_token data members.

  • html/parser/HTMLEntityParser.cpp: Removed unneeded uses of the inline keyword.

(WebCore::HTMLEntityParser::consumeNamedEntity): Replaced two uses of
advanceAndASSERT with just plain advance; there's really no need to assert the
character is the one we just got out of the string.

  • html/parser/HTMLInputStream.h: Moved the include of TextPosition.h here from

its old location since this class has two data members that are OrdinalNumber.

  • html/parser/HTMLMetaCharsetParser.cpp:

(WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser): Removed most of the
initialization, since it's now done by defaults.
(WebCore::extractCharset): Rewrote this to be a non-member function, and to
use a for loop, and to handle quote marks in a simpler way. Also changed it
to return a StringView so we don't have to allocate a new string.
(WebCore::HTMLMetaCharsetParser::processMeta): Use a modern for loop, and
also take a token argument since it's no longer a data member.
(WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes): Use a modern for
loop, StringView instead of string, and don't bother naming the local enum.
(WebCore::HTMLMetaCharsetParser::checkForMetaCharset): Updated for the new
way of getting tokens from the tokenizer.

  • html/parser/HTMLMetaCharsetParser.h: Got rid of some data members and

tightened up the formatting a little. Don't bother allocating the tokenizer
on the heap.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::TokenPreloadScanner): Removed unneeded
initialization.
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner): Ditto.
(WebCore::HTMLPreloadScanner::scan): Changed to take a reference.

  • html/parser/HTMLPreloadScanner.h: Removed unneeded includes, typedefs,

and forward declarations. Removed explicit declaration of the destructor,
since the default one works. Removed unused createCheckpoint and rewindTo
functions. Gave initial values for various data members. Marked the device
scale factor const beacuse it's set in the constructor and never changed.
Also removed the unneeded isSafeToSendToAnotherThread.

  • html/parser/HTMLResourcePreloader.cpp:

(WebCore::PreloadRequest::isSafeToSendToAnotherThread): Deleted.

  • html/parser/HTMLResourcePreloader.h:

(WebCore::PreloadRequest::PreloadRequest): Removed unneeded calls to
isolatedCopy. Also removed isSafeToSendToAnotherThread.

  • html/parser/HTMLSourceTracker.cpp:

(WebCore::HTMLSourceTracker::startToken): Renamed. Changed to keep state

in the source tracker itself, not the token.

(WebCore::HTMLSourceTracker::endToken): Ditto.
(WebCore::HTMLSourceTracker::source): Renamed. Changed to use the state
from the source tracker.

  • html/parser/HTMLSourceTracker.h: Removed unneeded include of HTMLToken.h.

Renamed functions, removed now-unneeded comment.

  • html/parser/HTMLToken.h: Cut down on the fields used by the source tracker.

It only needs to know the start and end of each attribute, not each part of
each attribute. Removed setBaseOffset, setEndOffset, length, addNewAttribute,
beginAttributeName, endAttributeName, beginAttributeValue, endAttributeValue,
m_baseOffset and m_length. Added beginAttribute and endAttribute.
(WebCore::HTMLToken::clear): No need to zero m_length or m_baseOffset any more.
(WebCore::HTMLToken::length): Deleted.
(WebCore::HTMLToken::setBaseOffset): Deleted.
(WebCore::HTMLToken::setEndOffset): Deleted.
(WebCore::HTMLToken::beginStartTag): Only null out m_currentAttribute if we
are compiling in assertions.
(WebCore::HTMLToken::beginEndTag): Ditto.
(WebCore::HTMLToken::addNewAttribute): Deleted.
(WebCore::HTMLToken::beginAttribute): Moved the code from addNewAttribute in
here and set the start offset.
(WebCore::HTMLToken::beginAttributeName): Deleted.
(WebCore::HTMLToken::endAttributeName): Deleted.
(WebCore::HTMLToken::beginAttributeValue): Deleted.
(WebCore::HTMLToken::endAttributeValue): Deleted.

  • html/parser/HTMLTokenizer.cpp:

(WebCore::HTMLToken::endAttribute): Added. Sets the end offset.
(WebCore::HTMLToken::appendToAttributeName): Updated assertion.
(WebCore::HTMLToken::appendToAttributeValue): Ditto.
(WebCore::convertASCIIAlphaToLower): Renamed from toLowerCase and changed
so it's legal to call on lower case letters too.
(WebCore::vectorEqualsString): Changed to take a string literal rather than
a WTF::String.
(WebCore::HTMLTokenizer::inEndTagBufferingState): Made this a member function.
(WebCore::HTMLTokenizer::HTMLTokenizer): Updated for data member changes.
(WebCore::HTMLTokenizer::bufferASCIICharacter): Added. Optimized version of
bufferCharacter for the common case where we know the character is ASCII.
(WebCore::HTMLTokenizer::bufferCharacter): Moved this function here from the
header since it's only used inside the class.
(WebCore::HTMLTokenizer::emitAndResumeInDataState): Moved this here, renamed
it and removed the state argument.
(WebCore::HTMLTokenizer::emitAndReconsumeInDataState): Ditto.
(WebCore::HTMLTokenizer::emitEndOfFile): More of the same.
(WebCore::HTMLTokenizer::saveEndTagNameIfNeeded): Ditto.
(WebCore::HTMLTokenizer::haveBufferedCharacterToken): Ditto.
(WebCore::HTMLTokenizer::flushBufferedEndTag): Updated since m_token is now
the actual token, not just a pointer.
(WebCore::HTMLTokenizer::flushEmitAndResumeInDataState): Renamed this and
removed the state argument.
(WebCore::HTMLTokenizer::processToken): This function, formerly nextToken,
is now the internal function used by nextToken. Updated its contents to use
simpler macros, changed code to set m_state when returning, rather than
constantly setting it when cycling through states, switched style to use
early return/goto rather than lots of else statements, took out unneeded
braces now that BEGIN/END_STATE handles the braces, collapsed upper and
lower case letter handling in many states, changed lookAhead call sites to
use the new advancePast function instead.
(WebCore::HTMLTokenizer::updateStateFor): Set m_state directly instead of
calling a setstate function.
(WebCore::HTMLTokenizer::appendToTemporaryBuffer): Moved here from header.
(WebCore::HTMLTokenizer::temporaryBufferIs): Changed argument type to
a literal instead of a WTF::String.
(WebCore::HTMLTokenizer::appendToPossibleEndTag): Renamed and changed type
to be a UChar instead of LChar, although all characters will be ASCII.
(WebCore::HTMLTokenizer::isAppropriateEndTag): Marked const, and changed
type from size_t to unsigned.

  • html/parser/HTMLTokenizer.h: Changed interface of nextToken so it returns

a TokenPtr so code doesn't have to understand special rules about when to
work with an HTMLToken and when to clear it. Made most functions private,
and made the State enum private as well. Replaced the state and setState
functions with more specific functions for the few states we need to deal
with outside the class. Moved function bodies outside the class definition
so it's easier to read the class definition.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processStartTagForInBody): Updated to use the
new set state functions instead of setState.
(WebCore::HTMLTreeBuilder::processEndTag): Ditto.
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processScriptStartTag): Ditto.

  • html/parser/InputStreamPreprocessor.h: Marked the constructor explicit,

and mde it take a reference rather than a pointer.

  • html/parser/TextDocumentParser.cpp:

(WebCore::TextDocumentParser::insertFakePreElement): Updated to use the
new set state functions instead of setState.

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::decodedSnippetForName): Updated for name change.
(WebCore::XSSAuditor::decodedSnippetForAttribute): Updated for changes to
attribute range tracking.
(WebCore::XSSAuditor::decodedSnippetForJavaScript): Updated for name change.
(WebCore::XSSAuditor::isSafeToSendToAnotherThread): Deleted.

  • html/parser/XSSAuditor.h: Deleted isSafeToSendToAnotherThread.
  • html/track/WebVTTTokenizer.cpp: Removed the local state variable from

WEBVTT_ADVANCE_TO; there is no need for it.
(WebCore::WebVTTTokenizer::WebVTTTokenizer): Use a reference instead of a
pointer for the preprocessor.
(WebCore::WebVTTTokenizer::nextToken): Ditto. Also removed the state local
variable and the switch statement, replacing with labels instead since we
go between states with goto.

  • platform/text/SegmentedString.cpp:

(WebCore::SegmentedString::operator=): Changed the return type to be non-const
to match normal C++ design rules.
(WebCore::SegmentedString::pushBack): Renamed from prepend since this is not a
general purpose prepend function. Also fixed assertions to not use the strangely
named "escaped" function, since we are deleting it.
(WebCore::SegmentedString::append): Ditto.
(WebCore::SegmentedString::advancePastNonNewlines): Renamed from advance, since
the function only works for non-newlines.
(WebCore::SegmentedString::currentColumn): Got rid of unneeded local variable.
(WebCore::SegmentedString::advancePastSlowCase): Moved here from header and
renamed. This function now consumes the characters if they match.

  • platform/text/SegmentedString.h: Made the changes mentioned above.

(WebCore::SegmentedString::excludeLineNumbers): Deleted.
(WebCore::SegmentedString::advancePast): Renamed from lookAhead. Also changed
behavior so the characters are consumed.
(WebCore::SegmentedString::advancePastIgnoringCase): Ditto.
(WebCore::SegmentedString::advanceAndASSERT): Deleted.
(WebCore::SegmentedString::advanceAndASSERTIgnoringCase): Deleted.
(WebCore::SegmentedString::escaped): Deleted.

  • xml/parser/CharacterReferenceParserInlines.h:

(WebCore::isHexDigit): Deleted.
(WebCore::unconsumeCharacters): Updated for name change.
(WebCore::consumeCharacterReference): Removed unneeded name for local enum,
renamed local variable "cc" to character. Changed code to use helpers like
isASCIIAlpha and toASCIIHexValue. Removed unneeded use of advanceAndASSERT,
since we don't really need to assert the character we just extracted.

  • xml/parser/MarkupTokenizerInlines.h:

(WebCore::isTokenizerWhitespace): Renamed argument to character.
(WebCore::advanceStringAndASSERTIgnoringCase): Deleted.
(WebCore::advanceStringAndASSERT): Deleted.
Changed all the macro implementations so they set m_state only when
returning from the function and just use goto inside the state machine.

Source/WTF:

  • wtf/Forward.h: Removed PassRef, added OrdinalNumber and TextPosition.
8:25 PM Changeset in webkit [178153] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Phantom breakpoint appears on empty line after reload of minified file with a breakpoint
https://bugs.webkit.org/show_bug.cgi?id=140276

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-08
Reviewed by Timothy Hatcher.

Styles being set on lines (e.g. breakpoint styles) before content loaded can
carry forward with the empty line. It is safe for us to just remove all
the styles from the intial empty line before we load the initial content.

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor.prototype.set string.update):
(WebInspector.TextEditor.prototype.set string):

6:19 PM Changeset in webkit [178152] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix after r178151

  • contentextensions/DFA.cpp:

(WebCore::ContentExtensions::DFA::actions):

5:56 PM Changeset in webkit [178151] by benjamin@webkit.org
  • 14 edits
    18 adds in trunk/Source

[WK2] Start a prototype for declarative site specific extensions
https://bugs.webkit.org/show_bug.cgi?id=140160

Reviewed by Andreas Kling.

Source/WebCore:

Currently, clients have various ways to execute custom code for certain URLs.
Each of those mechanism implies messaging the UIProcess, executing some code
calling back to the WebProcess, then actually load the resource.
All this back and forth introduces delays before we actually load resources.

Since the set of actions is done per site is actually simple and limited,
it may be possible to do everything in WebCore and shortcut the defered loading.

This patch provides the starting point for this idea. The "rules" (currently just blocking)
are be passed to WebCore in a JSON format. In WebCore, we create a state
machine to match the rules and we execute the action when the state machine tells
us to.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • contentextensions/ContentExtensionRule.cpp: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.

(WebCore::ContentExtensions::ContentExtensionRule::ContentExtensionRule):

  • contentextensions/ContentExtensionRule.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.

(WebCore::ContentExtensions::ContentExtensionRule::trigger):
(WebCore::ContentExtensions::ContentExtensionRule::action):

  • contentextensions/ContentExtensionsBackend.cpp: Added.

(WebCore::ContentExtensions::ContentExtensionsBackend::sharedInstance):
(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
(WebCore::ContentExtensions::ContentExtensionsBackend::removeRuleList):
(WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL):

  • contentextensions/ContentExtensionsBackend.h: Added.
  • contentextensions/ContentExtensionsInterface.cpp: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.

(WebCore::ContentExtensions::shouldBlockURL):

  • contentextensions/ContentExtensionsInterface.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
  • contentextensions/ContentExtensionsManager.cpp: Added.

(WebCore::ContentExtensions::ExtensionsManager::loadTrigger):
(WebCore::ContentExtensions::ExtensionsManager::loadAction):
(WebCore::ContentExtensions::ExtensionsManager::loadRule):
(WebCore::ContentExtensions::ExtensionsManager::loadExtension):

  • contentextensions/ContentExtensionsManager.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
  • contentextensions/DFA.cpp: Added.

(WebCore::ContentExtensions::DFA::DFA):
(WebCore::ContentExtensions::DFA::operator=):
(WebCore::ContentExtensions::DFA::nextState):
(WebCore::ContentExtensions::DFA::actions):
(WebCore::ContentExtensions::DFA::debugPrintDot):

  • contentextensions/DFA.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.

(WebCore::ContentExtensions::DFA::root):

  • contentextensions/DFANode.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
  • contentextensions/NFA.cpp: Added.

(WebCore::ContentExtensions::NFA::NFA):
(WebCore::ContentExtensions::NFA::createNode):
(WebCore::ContentExtensions::NFA::addTransition):
(WebCore::ContentExtensions::NFA::addEpsilonTransition):
(WebCore::ContentExtensions::NFA::setFinal):
(WebCore::ContentExtensions::NFA::debugPrintDot):

  • contentextensions/NFA.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.

(WebCore::ContentExtensions::NFA::root):

  • contentextensions/NFANode.cpp: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.

(WebCore::ContentExtensions::NFANode::NFANode):

  • contentextensions/NFANode.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
  • contentextensions/NFAToDFA.cpp: Added.

(WebCore::ContentExtensions::epsilonClosure):
(WebCore::ContentExtensions::setTransitionsExcludingEpsilon):
(WebCore::ContentExtensions::HashableNodeIdSet::HashableNodeIdSet):
(WebCore::ContentExtensions::HashableNodeIdSet::operator=):
(WebCore::ContentExtensions::HashableNodeIdSet::isEmptyValue):
(WebCore::ContentExtensions::HashableNodeIdSet::isDeletedValue):
(WebCore::ContentExtensions::HashableNodeIdSet::nodeIdSet):
(WebCore::ContentExtensions::HashableNodeIdSetHash::hash):
(WebCore::ContentExtensions::HashableNodeIdSetHash::equal):
(WebCore::ContentExtensions::addDFAState):
(WebCore::ContentExtensions::NFAToDFA::convert):

  • contentextensions/NFAToDFA.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

Source/WebKit2:

Provide a small SPI for OS X. This will likely move
to a better place.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _loadContentExtensionWithIdentifier:serializedRules:successCompletionHandler:errorCompletionHandler:]):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::loadContentExtension):

  • UIProcess/WebProcessPool.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::loadContentExtension):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:

Source/WTF:

  • wtf/FeatureDefines.h:
5:50 PM Changeset in webkit [178150] by benjamin@webkit.org
  • 3 edits
    8 adds in trunk

Make better use of the stack when compiling selectors
https://bugs.webkit.org/show_bug.cgi?id=139615
rdar://problem/19226482

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-08
Reviewed by Andreas Kling.

Source/WebCore:

Selectors used to be only on one level. To avoid memory allocations, we were allocating
a lot of stack upfront and we were using that to create all the intermediary objects
used by the code generator.

Then, selectors became multilevel. We now support arbitrary nesting of selector lists.

We did not adapt any of the structures and the creation of the intermediary object is recursive.
This resulted in over 1k of stack allocation at every level, quickly accumulating to unreasonable
numbers.

This patch fixes this problem by making each stack frame of the recursion much lighter.
We no longer allocate the big objects (SelectorFragment and SelectorFragmentList) on the stack.

In each case where we would have used a Stack allocated SelectorFragment or SelectorFragmentList,
we now allocate the memory directly into the target vector.

In the cases where the object should not be on the vector, we simply remove it. Those are uncommon
cases so that should not be too bad.

Tests: fast/selectors/matches-selector-list-ending-with-never-matching-selectors.html

fast/selectors/not-selector-list-ending-with-never-matching-selectors.html
fast/selectors/nth-child-of-selector-list-ending-with-never-matching-selectors.html
fast/selectors/nth-last-child-of-selector-list-ending-with-never-matching-selectors.html

  • cssjit/SelectorCompiler.cpp:

SelectorFragmentList is also used for nested lists. Keeping 32 SelectorFragment preallocated
for each nested list is way too big.

(WebCore::SelectorCompiler::addPseudoClassType):
There are three cases of nested selector lists supported by the compiler: :matches(), :not()
and :nth-child(). For those 3 cases, use the target vector memory instead of the stack.

(WebCore::SelectorCompiler::constructFragmentsInternal):
(WebCore::SelectorCompiler::constructFragments):
Make sure we do not modify the input list on failure since it may be reused.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesMatchesPseudoClass):
I changed the handling of :nth-child(An+B of selectorList) to not generate empty filters.
With that we can generalize the assertion to generateElementMatchesSelectorList() and simplify
the flow of selector lists a bit.

LayoutTests:

Those tests are checking the tail behavior of the various loop, just in case.

  • fast/selectors/matches-selector-list-ending-with-never-matching-selectors-expected.txt: Added.
  • fast/selectors/matches-selector-list-ending-with-never-matching-selectors.html: Added.
  • fast/selectors/not-selector-list-ending-with-never-matching-selectors-expected.txt: Added.
  • fast/selectors/not-selector-list-ending-with-never-matching-selectors.html: Added.
  • fast/selectors/nth-child-of-selector-list-ending-with-never-matching-selectors-expected.txt: Added.
  • fast/selectors/nth-child-of-selector-list-ending-with-never-matching-selectors.html: Added.
  • fast/selectors/nth-last-child-of-selector-list-ending-with-never-matching-selectors-expected.txt: Added.
  • fast/selectors/nth-last-child-of-selector-list-ending-with-never-matching-selectors.html: Added.
5:42 PM Changeset in webkit [178149] by Chris Dumez
  • 7 edits in trunk/Source/WebCore

Move '-webkit-font-feature-settings' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140267

Reviewed by Andreas Kling.

Move '-webkit-font-feature-settings' CSS property to the new
StyleBuilder.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertFontFeatureSettings):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInitialWebkitFontFeatureSettings):
(WebCore::StyleBuilderCustom::applyInheritWebkitFontFeatureSettings):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • platform/graphics/FontDescription.cpp:

(WebCore::FontDescription::makeNormalFeatureSettings): Deleted.

  • platform/graphics/FontDescription.h:
5:13 PM Changeset in webkit [178148] by dino@apple.com
  • 5 edits in trunk/Source/WebKit2

Text not drawn or white-on-white for "Close Page"/"Go Back" button on safe browsing warning page
https://bugs.webkit.org/show_bug.cgi?id=140232

Yet another attempt to get the Safari 7/8 build to work. I've moved the
stubs back into a place where they can be seen (both definition and implementation).
I also removed the previous workaround.

  • Shared/API/c/WKDeprecatedFunctions.cpp:

(WKPreferencesSetApplicationChromeModeEnabled): Deleted.
(WKPreferencesGetApplicationChromeModeEnabled): Deleted.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetApplicationChromeModeEnabled):
(WKPreferencesGetApplicationChromeModeEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
5:13 PM Changeset in webkit [178147] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Further twek the results for kerning and ligature related failures:

  1. Added Mavericks+ to all expectations, because Mountain Kion is fine.
  2. Changed some expectations from [ Failure ] to [ Pass Failure ] to silence annoying

"unexpectedly passed" output. We need to do more of this.

  1. Added a few tests that failed locally.
  • platform/mac/TestExpectations:
4:54 PM Changeset in webkit [178146] by ap@apple.com
  • 2 edits in trunk/Tools

[Mac WK2] Test snapshots are 1600x1200 on Retina devices
https://bugs.webkit.org/show_bug.cgi?id=139884

Reviewed by Tim Horton.

  • WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::windowSnapshotImage):

Tell CGWindowListCreateImage to use the correct resolution. I don't really understand
what the "nominal resolution" is, but this appears to work in practice.

4:49 PM Changeset in webkit [178145] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Argument object created by "Function dot arguments" should use a clone of the argument values.
<https://webkit.org/b/140093>

Reviewed by Geoffrey Garen.

After the change in <https://webkit.org/b/139827>, the dfg-tear-off-arguments-not-activation.js
test will crash. The relevant code which manifests the issue is as follows:

function bar() {

return foo.arguments;

}

function foo(p) {

var x = 42;
if (p)

return (function() { return x; });

else

return bar();

}

In this case, foo() has no knowledge of bar() needing its LexicalEnvironment and
has dead code eliminated the SetLocal that stores it into its designated local.
In bar(), the factory for the Arguments object (for creating foo.arguments) tries
to read foo's LexicalEnvironment from its designated lexicalEnvironment local,
but instead, finds it to be uninitialized. This results in a null pointer access
which causes a crash.

This can be resolved by having bar() instantiate a clone of the Arguments object
instead, and populate its elements with values fetched directly from foo's frame.
There's no need to reference foo's LexicalEnvironment (whether present or not).

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::createArguments):

  • runtime/Arguments.h:

(JSC::Arguments::finishCreation):

4:41 PM Changeset in webkit [178144] by ggaren@apple.com
  • 3 edits in trunk/Source/bmalloc

Make bmalloc work with ASan
https://bugs.webkit.org/show_bug.cgi?id=140194

Reviewed by Mark Lam.

  • bmalloc/BPlatform.h: Added a way to detect Darwin OSes, since we need

an OS-specific API to test for loaded runtime libraries.

  • bmalloc/Environment.cpp:

(bmalloc::isASanEnabled):
(bmalloc::Environment::computeIsBmallocEnabled): Disabled bmalloc if
ASan is enabled, since system malloc has the Asan hooks we need.

You could check for the ASan compile-time flag instead, but doing this
check at runtime prepares bmalloc for a world where it is a dynamic
library that might be loaded into projects it did not compile with.

4:10 PM Changeset in webkit [178143] by mark.lam@apple.com
  • 18 edits in trunk/Source/JavaScriptCore

Make the LLINT and Baseline JIT's op_create_arguments and op_get_argument_by_val use their lexicalEnvironment operand.
<https://webkit.org/b/140236>

Reviewed by Geoffrey Garen.

Will change the DFG to use the operand on a subsequent pass. For now,
the DFG uses a temporary thunk (operationCreateArgumentsForDFG()) to
retain the old behavior of getting the lexicalEnviroment from the
ExecState.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitGetArgumentByVal):
(JSC::BytecodeGenerator::createArgumentsIfNecessary):

  • When the lexicalEnvironment is not available, pass the invalid VirtualRegister instead of an empty JSValue as the lexicalEnvironment operand.
  • dfg/DFGOperations.cpp:
  • Use the lexicalEnvironment from the ExecState for now.
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • Use the operationCreateArgumentsForDFG() thunk for now.
  • interpreter/CallFrame.cpp:

(JSC::CallFrame::lexicalEnvironmentOrNullptr):

  • interpreter/CallFrame.h:
  • Added this convenience function to return either the lexicalEnvironment or a nullptr so that we don't need to do a conditional check on codeBlock->needsActivation() at multiple sites.
  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::createArguments):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_create_arguments):
(JSC::JIT::emitSlow_op_get_argument_by_val):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_create_arguments):
(JSC::JIT::emitSlow_op_get_argument_by_val):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Arguments.h:

(JSC::Arguments::create):
(JSC::Arguments::finishCreation):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/JSLexicalEnvironment.cpp:

(JSC::JSLexicalEnvironment::argumentsGetter):

3:51 PM Changeset in webkit [178142] by Brent Fulgham
  • 5 edits in trunk/Source/WebCore

[Win] Build fix after r178133.

  • platform/graphics/FontCache.h: Correct declaration of fontDataFromDescriptionAndLogFont
  • platform/graphics/SimpleFontData.h: We still need 'platformDestroy'
  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformDestroy): Add stub back to prevent build break.

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::fontDataFromDescriptionAndLogFont): Correct signature.
(WebCore::FontCache::lastResortFallbackFont): Correct '::' syntax.
(WebCore::FontCache:lastResortFallbackFont): Deleted.

3:48 PM Changeset in webkit [178141] by weinig@apple.com
  • 9 edits
    2 adds in trunk/Source/WebKit2

Make WKNavigation bridged to API::Navigation
https://bugs.webkit.org/show_bug.cgi?id=140272

Reviewed by Anders Carlsson.

  • Shared/API/APIObject.h:

Add Navigation.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):
Bridge to WKNavigation.

  • UIProcess/API/APINavigation.cpp: Added.

(API::Navigation::Navigation):
(API::Navigation::~Navigation):

  • UIProcess/API/APINavigation.h: Added.

(API::Navigation::create):
(API::Navigation::request):
Add initial implementation.

  • UIProcess/API/Cocoa/WKNavigation.mm:

(-[WKNavigation dealloc]):
(-[WKNavigation _request]):
(-[WKNavigation _apiObject]):

  • UIProcess/API/Cocoa/WKNavigationInternal.h:

(API::wrapper):
Implement bridging to API::Navigation and get the request from the underlying object.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView loadRequest:]):
(-[WKWebView loadFileURL:allowingReadAccessToURL:]):
(-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]):
(-[WKWebView goToBackForwardListItem:]):
(-[WKWebView goBack]):
(-[WKWebView goForward]):
(-[WKWebView reload]):
(-[WKWebView reloadFromOrigin]):
(-[WKWebView _restoreSessionState:andNavigate:]):

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::createLoadRequestNavigation):
(WebKit::NavigationState::createBackForwardNavigation):
(WebKit::NavigationState::createReloadNavigation):
(WebKit::NavigationState::createLoadDataNavigation):
(WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didCommitLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didSameDocumentNavigationForFrame):
Switch to storing API::Navigations.

  • WebKit2.xcodeproj/project.pbxproj:

Add the new files.

3:47 PM Changeset in webkit [178140] by dino@apple.com
  • 2 edits in trunk/Source/WebKit2

Text not drawn or white-on-white for "Close Page"/"Go Back" button on safe browsing warning page
https://bugs.webkit.org/show_bug.cgi?id=140232

Unreviewed followup to try to get the Mavericks Safari to build.

  • Shared/WebPreferencesDefinitions.h: Add the application chrome mode definition.
3:34 PM Changeset in webkit [178139] by Brent Fulgham
  • 5 edits in trunk

Tools:
[Win] DumpRenderTree is always using 800x600 size, even if tests need other size.
https://bugs.webkit.org/show_bug.cgi?id=140256

Reviewed by Anders Carlsson.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues): Drive-by fix of a buffer overrun found while
running with heap validation checks.
(sizeWebViewForCurrentTest): Check both path separators ('/' and '
') when checking for
the "svg
W3C-SVG-1.1" test directory.
(removeFontFallbackIfPresent): Use nullptr instead of 0.

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::clearPersistentUserStyleSheet): Ditto.

LayoutTests:
[Win] DumpRenderTree always using 800x600 size even if test needs other size
https://bugs.webkit.org/show_bug.cgi?id=140256

Reviewed by Anders Carlsson.

  • platform/win/TestExpectations: Take out the skips now that this works properly.
3:28 PM Changeset in webkit [178138] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

3:16 PM Changeset in webkit [178137] by Joseph Pecoraro
  • 13 edits
    5 adds in trunk

Web Inspector: Pause Reason Improvements (Breakpoint, Debugger Statement, Pause on Next Statement)
https://bugs.webkit.org/show_bug.cgi?id=138991

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • debugger/Debugger.cpp:

(JSC::Debugger::Debugger):
(JSC::Debugger::pauseIfNeeded):
(JSC::Debugger::didReachBreakpoint):
When actually pausing, if we hit a breakpoint ensure the reason
is PausedForBreakpoint, otherwise use the current reason.

  • debugger/Debugger.h:

Make pause reason and pausing breakpoint ID public.

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::buildAssertPauseReason):
(Inspector::buildCSPViolationPauseReason):
(Inspector::InspectorDebuggerAgent::buildBreakpointPauseReason):
(Inspector::InspectorDebuggerAgent::buildExceptionPauseReason):
(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::buildObjectForBreakpointCookie):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::removeBreakpoint):
(Inspector::InspectorDebuggerAgent::resolveBreakpoint):
(Inspector::InspectorDebuggerAgent::pause):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
(Inspector::InspectorDebuggerAgent::currentCallFrames):
(Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState):
Clean up creation of pause reason objects and other cleanup
of PassRefPtr use and InjectedScript use.

(Inspector::InspectorDebuggerAgent::didPause):
Clean up so that we first check for an Exception, and then fall
back to including a Pause Reason derived from the Debugger.

  • inspector/protocol/Debugger.json:

Add new DebuggerStatement, Breakpoint, and PauseOnNextStatement reasons.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:

New UI strings for Pause Reasons.

  • UserInterface/Controllers/DebuggerManager.js:

(WebInspector.DebuggerManager.prototype.breakpointForIdentifier):
Provide a way to get the breakpoint with an identifier.

  • UserInterface/Images/PausedBreakpoint.svg: Added.
  • UserInterface/Images/gtk/PausedBreakpoint.svg: Added.

Copy PseudoElement.svg icon and give it a new name.

  • UserInterface/Views/BreakpointTreeElement.css:

(.breakpoint-paused-icon .icon):
New icon for a breakpoint causing a pause.

  • UserInterface/Views/BreakpointTreeElement.js:

(WebInspector.BreakpointTreeElement.prototype.removeStatusImage):
(WebInspector.BreakpointTreeElement.prototype._updateStatus):
Give API to remove the breakpoint status icon from a BreakpointTreeElement.

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype.get hasSelectedElement):
(WebInspector.DebuggerSidebarPanel.prototype.deselectBreakpointContentTreeElements):
(WebInspector.DebuggerSidebarPanel.prototype.deselectPauseReasonContentTreeElements):
(WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
Give DebuggerSidebarPanel an optional pause reason tree outline. When available
include it in the pattern of ensuring a single exclusive selection.

(WebInspector.DebuggerSidebarPanel.prototype._breakpointRemoved):
When a breakpoint is removed, check if we should update the pause reason tree outline.

(WebInspector.DebuggerSidebarPanel.prototype._updatePauseReason):
(WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
Update Pause Reason section contents depending on the reason.

(WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonGotoArrow):
Always try to include a goto arrow to jump to the original pause location
if it is available at the time of pausing.

LayoutTests:

Test that the frontend receives expected pause reasons for different kinds of pauses.

  • inspector/debugger/pause-reason-expected.txt: Added.
  • inspector/debugger/pause-reason.html: Added.
  • inspector/debugger/resources/pause-reasons.js: Added.

(triggerBreakpoint):
(triggerException):
(triggerDebuggerStatement):
(triggerAssert):

3:11 PM Changeset in webkit [178136] by matthew_hanson@apple.com
  • 1 copy in branches/safari-600.5-branch

New Branch.

2:56 PM Changeset in webkit [178135] by Lucas Forschler
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

2:52 PM Changeset in webkit [178134] by Lucas Forschler
  • 1 copy in tags/Safari-600.4.1

New Tag.

2:30 PM Changeset in webkit [178133] by Antti Koivisto
  • 20 edits in trunk/Source

Remove the concept of "retained" font
https://bugs.webkit.org/show_bug.cgi?id=140246

Reviewed by Darin Adler.

FontCache currently maintains a secondary refcount for SimpleFontDatas. This is used to decide whether
a font is considered inactive and is eligible for purging. This is confusing and complex.

The new scheme in this patch considers fonts in font cache inactive if their refcount is 1 (they are
owned by the cache only). This simplifies the code and gives similar behavior. Types that "retained" the
font this way always also ref it.

We also avoid unnecessarily removing fonts that wouldn't get deleted from the cache.

Also modernized some names and code.

  • WebCore.exp.in:
  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::getFontData):

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::getFontData):
(WebCore::CSSFontSelector::getFallbackFontData):

  • platform/graphics/FontCache.cpp:

(WebCore::fontPlatformDataCache):
(WebCore::FontCache::getCachedFontPlatformData):
(WebCore::cachedFonts):
(WebCore::FontCache::fontForFamily):
(WebCore::FontCache::fontDataForPlatformData):
(WebCore::FontCache::purgeInactiveFontDataIfNeeded):
(WebCore::FontCache::purgeInactiveFontData):
(WebCore::FontCache::fontDataCount):
(WebCore::FontCache::inactiveFontDataCount):
(WebCore::FontCache::fontForFamilyAtIndex):
(WebCore::FontCache::invalidate):
(WebCore::FontCache::getCachedFontData): Deleted.
(WebCore::FontCache::getNonRetainedLastResortFallbackFont): Deleted.
(WebCore::FontCache::releaseFontData): Deleted.
(WebCore::FontCache::getFontData): Deleted.

  • platform/graphics/FontCache.h:
  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::~FontGlyphs):
(WebCore::FontGlyphs::realizeFontDataAt):
(WebCore::FontGlyphs::releaseFontData): Deleted.

  • platform/graphics/FontGlyphs.h:

(WebCore::FontGlyphs::~FontGlyphs): Deleted.

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::~SimpleFontData):

  • platform/graphics/SimpleFontData.h:
  • platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore::SimpleFontData::platformDestroy): Deleted.

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::FontCache::similarFontPlatformData):
(WebCore::FontCache::lastResortFallbackFont):
(WebCore::FontCache::getLastResortFallbackFont): Deleted.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformCreateScaledFontData):
(WebCore::SimpleFontData::platformDestroy): Deleted.

2:11 PM Changeset in webkit [178132] by andersca@apple.com
  • 7 edits
    1 delete in trunk/Source/WebCore

Remove AbstractSQLTransaction
https://bugs.webkit.org/show_bug.cgi?id=140265

Reviewed by Tim Horton.

  • Modules/webdatabase/AbstractSQLTransaction.h: Removed.
  • Modules/webdatabase/DatabaseBackend.cpp:
  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::~SQLTransaction):

  • Modules/webdatabase/SQLTransaction.h:
  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::create):
(WebCore::SQLTransactionBackend::SQLTransactionBackend):

  • Modules/webdatabase/SQLTransactionBackend.h:
  • WebCore.xcodeproj/project.pbxproj:
1:55 PM Changeset in webkit [178131] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix after r178124.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove symbol that

is no longer part of WebCore.

1:29 PM Changeset in webkit [178130] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r178124.

Remove uses of the removed applicationChromeMode method.

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::getThemeData):
(WebCore::RenderThemeWin::paintMenuList):

1:13 PM Changeset in webkit [178129] by andersca@apple.com
  • 6 edits
    1 delete in trunk/Source/WebCore

Remove AbstractSQLTransactionBackend
https://bugs.webkit.org/show_bug.cgi?id=140227

Reviewed by Darin Adler.

  • Modules/webdatabase/AbstractSQLTransaction.h:
  • Modules/webdatabase/AbstractSQLTransactionBackend.h: Removed.
  • Modules/webdatabase/SQLStatementBackend.cpp:
  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::setBackend):

  • Modules/webdatabase/SQLTransaction.h:
  • Modules/webdatabase/SQLTransactionBackend.h:
  • WebCore.xcodeproj/project.pbxproj:
1:12 PM Changeset in webkit [178128] by Darin Adler
  • 4 edits
    2 adds in trunk

ASSERTION FAILED: character != kEndOfFileMarker in WebCore::HTMLTokenizer::bufferCharacter
https://bugs.webkit.org/show_bug.cgi?id=140179

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/parser/numeric-entities.html

  • html/parser/HTMLEntityParser.cpp:

(WebCore::HTMLEntityParser::legalEntityFor): Merged adjustEntity logic in here.
Since the type UChar32 is a signed integer, need to check for <= 0, not just 0.
This <= change alone would have fixed the bug.

  • xml/parser/CharacterReferenceParserInlines.h:

(WebCore::consumeCharacterReference): Added overflow checking when parsing hex
and decimal character references. This change alone would also have fixed the
bug, but in addition it makes overflow cases reliably generate replacement
characters rather than ignoring the overflow and producing seemingly random
characters. Test cases cover the original reported bug and other overflow cases.

LayoutTests:

  • fast/parser/numeric-entities-expected.txt: Added.
  • fast/parser/numeric-entities.html: Added.
1:03 PM Changeset in webkit [178127] by Joseph Pecoraro
  • 5 edits in trunk/Source/JavaScriptCore

Web Inspector: Type check NSArray's in ObjC Interfaces have the right object types
https://bugs.webkit.org/show_bug.cgi?id=140209

Reviewed by Timothy Hatcher.

Check the types of objects in NSArrays for all interfaces (commands, events, types)
when the user can set an array of objects. Previously we were only type checking
they were RWIJSONObjects, now we add an explicit check for the exact object type.

  • inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:

(ObjCConfigurationImplementationGenerator._generate_success_block_for_command):

  • inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:

(ObjCFrontendDispatcherImplementationGenerator._generate_event):

  • inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:

(ObjCProtocolTypesImplementationGenerator._generate_init_method_for_required_members):
(ObjCProtocolTypesImplementationGenerator._generate_setter_for_member):

  • inspector/scripts/codegen/objc_generator.py:

(ObjCGenerator.objc_class_for_array_type):
(ObjCGenerator):

12:59 PM Changeset in webkit [178126] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Can't use DataDetectors after immediate action preparation
https://bugs.webkit.org/show_bug.cgi?id=140263
<rdar://problem/19412705>

Reviewed by Beth Dakin.

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WebImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
To match WebKit2, only call shouldUseActions if the animation is actually
going to begin, not when preparing for it. This way, we're guaranteed
to get a didCancel or didComplete.

12:54 PM Changeset in webkit [178125] by eric.carlson@apple.com
  • 2 edits in trunk/LayoutTests

After updating tests to use kerning, ligatures, and printer fonts, some tests fail
https://bugs.webkit.org/show_bug.cgi?id=139968

  • platform/mac/TestExpectations: Mark Mavericks-only failures as Mavericks+ because some of them

also fail Yosemite. Add more tests that are sometimes flaky after r177774.

12:24 PM Changeset in webkit [178124] by dino@apple.com
  • 18 edits in trunk/Source

Text not drawn or white-on-white for "Close Page"/"Go Back" button on safe browsing warning page
https://bugs.webkit.org/show_bug.cgi?id=140232
<rdar://problem/19371010>

Reviewed by Anders Carlsson.

Source/WebCore:

We need to support default button styling even when application chrome
mode is not enabled (it was a bit weird that this was exposed as a Setting
anyway). We should render as a default button whenever content sets
the proprietary -webkit-appearance. This means we don't need the
applicationChromeMode setting.

For normal Web content there should be no change in behavior.

  • page/Settings.in: Remove applicationChromeMode
  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::isDefault): Don't test for the setting.

Source/WebKit/mac:

Remove the applicationChromeMode setting, but leave stubs in to make
sure existing binaries don't break.

  • WebCoreSupport/WebInspectorClient.mm:

(-[WebInspectorWindowController init]):

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences applicationChromeModeEnabled]):
(-[WebPreferences setApplicationChromeModeEnabled:]):

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit/win:

Remove the applicationChromeMode setting, but leave stubs in to make
sure existing binaries don't break.

  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::inApplicationChromeMode):
(WebPreferences::setApplicationChromeMode):

  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Source/WebKit2:

Remove the applicationChromeMode setting, but leave stubs in to make
sure existing binaries don't break.

  • Shared/API/c/WKDeprecatedFunctions.cpp:

(WKPreferencesSetApplicationChromeModeEnabled):
(WKPreferencesGetApplicationChromeModeEnabled):

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetApplicationChromeModeEnabled): Deleted.
(WKPreferencesGetApplicationChromeModeEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorPageGroups::createInspectorPageGroup):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

12:05 PM Changeset in webkit [178123] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Unfriend StyleResolver and StyleBuilderCustom
https://bugs.webkit.org/show_bug.cgi?id=140247

Reviewed by Darin Adler.

Stop marking StyleBuilderCustom as a friend of StyleResolver by
refactoring the code a bit.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueFont):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyFont):

  • css/StyleResolver.h:

(WebCore::StyleResolver::documentSettings):

11:24 AM Changeset in webkit [178122] by Brent Fulgham
  • 6 edits
    10 adds in trunk/LayoutTests

[Win] Unreviewed Win gardening to get bots green.

Provide new baselines for a number of tests, and add new expectations for a number of bugs I've filed
documenting failures on the Windows platform.

  • platform/win/TestExpectations:
  • platform/win/fast/forms/search-vertical-alignment-expected.txt:
  • platform/win/fast/forms/textfield-overflow-by-value-update-expected.txt:
  • platform/win/fast/regions: Added.
  • platform/win/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt: Added.
  • platform/win/fast/regions/region-dynamic-after-before-expected.txt: Added.
  • platform/win/fast/regions/region-generated-content-before-after-expected.txt: Added.
  • platform/win/fast/regions/repaint: Added.
  • platform/win/fast/regions/repaint/region-painting-invalidation-expected.txt: Added.
  • platform/win/fast/regions/text-region-split-small-pagination-expected.txt: Added.
  • platform/win/fast/text/international/danda-space-expected.txt:
  • platform/win/fast/text/international/thai-baht-space-expected.txt:
  • platform/win/media/audio-constructor-preload-expected.txt: Added.
  • platform/win/media/encrypted-media: Added.
  • platform/win/media/encrypted-media/encrypted-media-can-play-type-expected.txt: Added.
10:47 AM Changeset in webkit [178121] by clopez@igalia.com
  • 2 edits
    4 adds in trunk/LayoutTests

[GTK] Unreviewed GTK gardening after r178115.

  • platform/gtk/TestExpectations: Update expected failures.
  • platform/gtk/fast/ruby/bopomofo-expected.png: Added. Add image baseline as expected (generated before r177637).
  • platform/gtk/fast/ruby/bopomofo-letter-spacing-expected.png: Added. Add image baseline as expected (generated before r177637).
  • platform/gtk/fast/ruby/bopomofo-rl-expected.png: Added. Add image baseline as expected (generated before r177637).
  • platform/gtk/fast/text/khmer-lao-font-expected.png: Added. Add image baseline as expected (generated before r177637).
10:11 AM Changeset in webkit [178120] by yoon@igalia.com
  • 4 edits in trunk/Source/WebKit2

[ThreadedCompositor] Update active animations without interrupting the main-thread
https://bugs.webkit.org/show_bug.cgi?id=140245

Reviewed by Martin Robinson.

In the Threaded Compositor, CoordinatedGraphicsScene can directly
request updateViewport to the compositing thread if it has any active
animation.

To keep current behavior of CoordinatedGraphics, this patch modifies
CoordinatedGraphicsScene to remember the constructed thread as a
clientRunLoop, and dispatch updateViewport calls to clientRunLoop.

No new tests. No change in functionality.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::dispatchOnClientRunLoop):
(WebKit::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
(WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebKit::CoordinatedGraphicsScene::updateViewport):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::ThreadedCompositor):
(WebKit::ThreadedCompositor::runCompositingThread):

10:03 AM Changeset in webkit [178119] by yoon@igalia.com
  • 2 edits in trunk/Source/WebCore

[CoordinatedGraphics] Update fixedVisibleContentRect only it is actually changed
https://bugs.webkit.org/show_bug.cgi?id=140244

Reviewed by Martin Robinson.

CompositingCoordinator::setVisibleContentsRect already knows whether the
rect has been changed. Therefore, there is no need to call
FrameView::setFixedVisibleContentRect every time.

No new tests, covered by existing tests.

  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:

(WebCore::CompositingCoordinator::setVisibleContentsRect):

10:02 AM Changeset in webkit [178118] by ap@apple.com
  • 3 edits in trunk/Tools

Follow-up to: When WebProcess is slow to respond to IPC, that's mistakenly reported as crash
https://bugs.webkit.org/show_bug.cgi?id=140218

  • Scripts/webkitpy/port/driver.py: (Driver._check_for_driver_crash_or_unresponsiveness):

Undone an accidental change - check for self.has_crashed() again. This code path
is for ports that don't have a signal handler printing #CRASHED when main process
crashes.

  • Scripts/webkitpy/port/driver_unittest.py:

(DriverTest.test_check_for_driver_crash.assert_crash):
(DriverTest.test_check_for_driver_crash):
Updated the tests, all changes are expected.

9:11 AM Changeset in webkit [178117] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Two tests, which include data uri images, need to be changed and rebaselined since the expected results are incorrect
https://bugs.webkit.org/show_bug.cgi?id=140199

Revert unneeded changes landed in this patch, and update results on Mavericks
to make bots green

  • fast/forms/basic-buttons.html:
9:10 AM Changeset in webkit [178116] by ap@apple.com
  • 5 edits in trunk/Tools

When WebProcess is slow to respond to IPC, that's mistakenly reported as crash
https://bugs.webkit.org/show_bug.cgi?id=140218

Reviewed by Darin Adler.

  • Scripts/webkitpy/port/driver.py:

(Driver.init): Removed _subprocess_was_unresponsive that was a modifier for
"process crashed" condition. These don't make sense together - it's either a crash
or a timeout, and we should detect those properly at a much lower level.
(Driver.run_test): Ditto.
(Driver._check_for_driver_crash_or_unresponsiveness): Split crash and unresponsiveness
cases.

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::webProcessName):
(WTR::TestController::processDidCrash):
Factored out hardcoded child process names, as we now use these in two places.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::dumpWebProcessUnresponsiveness): Dump an accurate child
process name, so that it can be sampled (fixes sampling on Mavericks and above).

8:47 AM Changeset in webkit [178115] by Carlos Garcia Campos
  • 4 edits in trunk

REGRESSION(r177637) [HarfBuzz][GTK][EFL] It made 3 performance tests crash and +24 layout tests crashes/failures
https://bugs.webkit.org/show_bug.cgi?id=139905

Reviewed by Antti Koivisto.

Source/WebCore:

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::collectHarfBuzzRuns): Fallback to
primary font data for missing glyphs.

LayoutTests:

  • platform/gtk/TestExpectations: Remove crashing/failing tests

that should pass now.

8:14 AM Changeset in webkit [178114] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

Borders inside box-decoration-break: clone after a br do not contribute to line breaking
https://bugs.webkit.org/show_bug.cgi?id=140238

Reviewed by Darin Adler.

Source/WebCore:

When we iterate through renderers for line breaking, we determine which of the renderers
is responsible for inserting its parent's border width. However, this determination didn't
take a <br> and box-decoration-break: clone into account.

Test: fast/box-decoration-break/box-decoration-break-clone-line-break.html

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::shouldAddBorderPaddingMargin):
(WebCore::previousInFlowSibling): Clean up to use a do / while block.

LayoutTests:

  • fast/box-decoration-break/box-decoration-break-clone-line-break-expected.html: Added.
  • fast/box-decoration-break/box-decoration-break-clone-line-break.html: Added.
  • platform/mac/TestExpectations:
7:55 AM Changeset in webkit [178113] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Reorder my list of email addresses, keeping the Bugzilla address at the
top since Bugzilla and other webkitpy scripts rely on that ordering.

  • Scripts/webkitpy/common/config/contributors.json:
7:00 AM Changeset in webkit [178112] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Clean typos in tests expectations after r177492.
https://bugs.webkit.org/show_bug.cgi?id=140242.

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-01-08
Reviewed by Csaba Osztrogonác.

There were few missing spaces, which made expectations not correctly recognized as tokens.

  • platform/efl/TestExpectations:
5:29 AM Changeset in webkit [178111] by yoon@igalia.com
  • 5 edits in trunk/Source

[GTK] Seperate updateBackingStore from flushCompositingState.
https://bugs.webkit.org/show_bug.cgi?id=136887

Reviewed by Žan Doberšek.

Source/WebCore:

When LayerTreeHostGtk flushes pending layer changes, it updates backing
stores using same loop. This makes requesting layer flush during
flushing in certain condition which causes a assertion failure.

Animated GIF's animations are drived by the painting cycle,
GraphicsLayerTextureMapper::updateBackingStoreIfNeeded would request
scheduleLayerFlush during flushing layers, if animated GIF needs to
advance its frame immediately. It doesn't mean the advanced frame should
be painted in this painting phase. This frame advancing happens after
painting a current frame to the backing store. It means the advanced
frame should be painted ASAP without using its frame timer.

This patch seperates updateBackingStore from flushCompositingState
to avoid above behavior.

No new tests. The bug is timing-dependent.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::toGraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:

Source/WebKit2:

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::flushPendingLayerChanges):
Modified to call GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers

3:43 AM Changeset in webkit [178110] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Expected UserAgent styles to be crossed-out if overridden
https://bugs.webkit.org/show_bug.cgi?id=140154

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-08
Reviewed by Timothy Hatcher.

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload):
Add a comment about anonymous styles. The getter is no longer used, and it is not
clear if we really care about this state, or if "anonymous" is an appropriate name.

(WebInspector.DOMNodeStyles.prototype._markOverriddenProperties):
Allow browser styles (user agent / html attributes) to be overridden.

(WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
When refreshing styles after changes, the Style object backing HTML attributes
was being completely replaced. Allow it to be remembered by a unique key.

2:37 AM Changeset in webkit [178109] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Moving myself to the reviewers section and updating
the list of my email addresses.

  • Scripts/webkitpy/common/config/contributors.json:
2:13 AM WebKitGTK/2.4.x edited by tpopela@redhat.com
(diff)
2:03 AM WebKitGTK/2.4.x edited by tpopela@redhat.com
(diff)

Jan 7, 2015:

11:55 PM Changeset in webkit [178108] by Chris Dumez
  • 9 edits in trunk/Source/WebCore

Move -webkit-tap-highlight-color / -webkit-overflow-scrolling / -webkit-touch-callout to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140219

Reviewed by Darin Adler.

Move -webkit-tap-highlight-color / -webkit-overflow-scrolling /
-webkit-touch-callout to the new StyleBuilder.

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::gradientWithStylesResolved):

  • css/CSSPropertyNames.in:
  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertTouchCallout):
(WebCore::StyleBuilderConverter::convertTapHighlightColor):
(WebCore::StyleBuilderConverter::convertOverflowScrolling):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::colorFromPrimitiveValueIsDerivedFromElement):
(WebCore::StyleResolver::colorFromPrimitiveValue):
(WebCore::StyleResolver::createFilterOperations):

  • css/StyleResolver.h:
11:33 PM Changeset in webkit [178107] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

10:20 PM Changeset in webkit [178106] by mark.lam@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Add the lexicalEnvironment as an operand to op_get_argument_by_val.
<https://webkit.org/b/140233>

Reviewed by Filip Pizlo.

This patch only adds the operand to the bytecode. It is not in use yet.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitGetArgumentByVal):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
10:19 PM Changeset in webkit [178105] by Brian Burg
  • 2 edits in trunk/Source/WebCore

Web Inspector: Editing Inline Styles Not Working
https://bugs.webkit.org/show_bug.cgi?id=140239

Reviewed by Joseph Pecoraro.

Fix a regression introduced in r178060, where we no longer set
m_ordinal in InspectorCSSId. The original refactoring should have
passed m_ordinal. Fix this and introduce a sensible default value.

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorCSSId::InspectorCSSId):

10:07 PM Changeset in webkit [178104] by dbates@webkit.org
  • 2 edits in trunk/Source/WTF

[iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
https://bugs.webkit.org/show_bug.cgi?id=137371

As pointed out by Tim Horton, use C-style comment instead of C++-style comment as
wtf/Compiler.h is included in the sandbox profile and the sandbox profile compiler
doesn't understand C++-style comments.

  • wtf/Compiler.h:
10:00 PM Changeset in webkit [178103] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Build gtk-doc without gtkdoc-mktmpl
https://bugs.webkit.org/show_bug.cgi?id=140225

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-07
Reviewed by Darin Adler.

Stop calling gtkdoc-mktmpl. It's being removed upstream, and since we
don't modify the tmpl files that it generates, it's not doing anything
for us.

  • gtk/gtkdoc.py:

(GTKDoc.generate):
(GTKDoc._run_gtkdoc_scangobj):
(GTKDoc._run_gtkdoc_mktmpl): Deleted.

9:56 PM Changeset in webkit [178102] by Chris Dumez
  • 4 edits
    2 adds in trunk

Assert should never be reached hit in WebCore::CSSCalcPrimitiveValue::doubleValue
https://bugs.webkit.org/show_bug.cgi?id=140180

Reviewed by Darin Adler.

Source/WebCore:

Add support for using floating-point angles with 'turn' unit, as per the
specification:
http://dev.w3.org/csswg/css-values-3/#angles

Previously, we only supported integer values for the 'turn' unit even
though other angle units (e.g. 'deg') handle floating-point values just
fine. Trying to use a floating-point value with 'turn' unit would cause
us to hit an assertion in CSSCalcPrimitiveValue::doubleValue().

Also fix the support for angles in calc().
CSSPrimitiveValue::computeDegrees() was accessing m_primitiveUnitType
member directly, which would be incorrect in the case of calculated
values. This patch switches to calling CSSPrimitiveValue::primitiveType()
which handles calculated values.

Test: fast/css/turn-angle-double.html

  • css/CSSCalculationValue.cpp:

(WebCore::hasDoubleValue):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeDegrees):

LayoutTests:

Add a layout test to make sure that using float-point angles with 'turn' unit
does not crash and behaves as intended. Also cover the case where calc() is
used.

  • fast/css/turn-angle-double-expected.txt: Added.
  • fast/css/turn-angle-double.html: Added.
9:36 PM Changeset in webkit [178101] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Move 'font' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140181

Reviewed by Darin Adler.

Move 'font' CSS property to the new StyleBuilder.

9:33 PM Changeset in webkit [178100] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move '-webkit-dashboard-region' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140204

Reviewed by Darin Adler.

Move '-webkit-dashboard-region' CSS property to the new StyleBuilder.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderCustom.h:

(WebCore::convertToIntLength):
(WebCore::StyleBuilderCustom::applyValueWebkitDashboardRegion):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
(WebCore::convertToIntLength): Deleted.

9:18 PM Changeset in webkit [178099] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

The ASCII decoding for non ASCII character is incorrect if this character comes after going through the fast decoding code path and before the end of the text by less than a machine word size of characters.
https://bugs.webkit.org/show_bug.cgi?id=140173.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-01-07
Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/encoding/char-after-fast-path-ascii-decoding.html.

  • platform/text/TextCodecLatin1.cpp:

(WebCore::TextCodecLatin1::decode):
This function has a bug when it goes through the fast decoding code path. After copying
one or more all ASCII MachineWords from source to the destination, the following byte
is copied as is from the source to the destination even if it is non ASCII byte. This
causes the decoded bytes to be incorrect. The fix is to ensure that the current byte
is still ASCII after exiting the fast decoding code path.

LayoutTests:

  • fast/encoding/char-after-fast-path-ascii-decoding-expected.txt: Added.
  • fast/encoding/char-after-fast-path-ascii-decoding.html: Added.

Ensures when an non ASCII character comes after a machine word, whose bytes are all
ASCII characters, is decoded correctly.

9:09 PM Changeset in webkit [178098] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Investigate the character type of repeated string instead of checking is8Bit flag
https://bugs.webkit.org/show_bug.cgi?id=140139

Reviewed by Darin Adler.

Instead of checking is8Bit flag of the repeated string, investigate
the actual value of the repeated character since i8Bit flag give a false negative case.

  • runtime/StringPrototype.cpp:

(JSC::repeatCharacter):
(JSC::stringProtoFuncRepeat):
(JSC::repeatSmallString): Deleted.

8:55 PM Changeset in webkit [178097] by commit-queue@webkit.org
  • 15 edits
    4 adds in trunk

HTMLSelectElement and HTMLOptionsCollection add() method should support index as second argument.
https://bugs.webkit.org/show_bug.cgi?id=139179

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-07
Reviewed by Darin Adler.

Source/WebCore:

HTMLSelectElement and HTMLOptionsCollection add() method should support index as second argument as per specification
http://www.w3.org/html/wg/drafts/html/master/forms.html#the-select-element.
Also this matches the behavior of Chrome and FireFox.

Tests: fast/dom/HTMLSelectElement/add.html

fast/dom/HTMLSelectElement/options-collection-add.html

  • bindings/js/JSHTMLOptionsCollectionCustom.cpp:

(WebCore::JSHTMLOptionsCollection::add): Deleted.

  • html/HTMLOptionsCollection.cpp:

(WebCore::HTMLOptionsCollection::add):

  • html/HTMLOptionsCollection.h:
  • html/HTMLOptionsCollection.idl:
  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::add):

  • html/HTMLSelectElement.h:
  • html/HTMLSelectElement.idl:

LayoutTests:

  • fast/dom/HTMLSelectElement/add-expected.txt: Added.
  • fast/dom/HTMLSelectElement/add.html: Added.
  • fast/dom/HTMLSelectElement/options-collection-add-expected.txt: Added.
  • fast/dom/HTMLSelectElement/options-collection-add.html: Added.
  • fast/dom/HTMLSelectElement/select-add-optgroup-expected.txt:
  • fast/dom/HTMLSelectElement/select-add-optgroup.html:
  • fast/dom/incompatible-operations-expected.txt:
  • fast/dom/incompatible-operations.html:
  • js/dom/script-tests/select-options-add.js:
  • js/dom/select-options-add-expected.txt:
8:37 PM Changeset in webkit [178096] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Do not create rulesMap entries for rules without identifiers
https://bugs.webkit.org/show_bug.cgi?id=140237

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-07
Reviewed by Timothy Hatcher.

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype._parseRulePayload):
We were accidentally converting a null into a string with a loose string
concatenation. Only do this if the mapKey is not-null.

8:29 PM Changeset in webkit [178095] by yoon@igalia.com
  • 33 edits
    2 adds in trunk

[GTK][ThreadedCompositor] Add support for threaded compositor.
https://bugs.webkit.org/show_bug.cgi?id=118265

Reviewed by Martin Robinson.

.:

Added the ENABLE_THREADED_COMPOSITOR feature flag to the cmake and
autotools build systems. The feature is disabled by default.
And remove deprecated the WTF_USE_TILED_BACKING_STORE feature flag
from the feature flags.

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/WebCore:

  • PlatformGTK.cmake:

Adds CoodinatedGraphics and threaded compositor related classes to
support threaded compositor

  • platform/graphics/texmap/coordinated/CoordinatedTile.cpp:
  • platform/graphics/texmap/coordinated/CoordinatedTile.h:

This class should be guarded by COORDINATED_GRAPHICS instead of
TILED_BACKING_STORE

Source/WebKit2:

This patch introduces a threaded compositor for WebKitGTK+.
It is disabled as a default because it is a initial implementation.
The threaded compositor can be enabled using --threaded-compositor
option at compile time.

No new tests, this is an experimental feature.

  • PlatformGTK.cmake:

Adds CoodinatedGraphics and threaded compositor related classes to
support threaded compositor

  • Shared/DrawingAreaInfo.h:

Use DrawingAreaImpl for threaded compositor

  • UIProcess/API/gtk/WebKitSettings.cpp:

(_WebKitSettingsPrivate::_WebKitSettingsPrivate):
Modified to use forceCompositingMode when the threaded compositor used.
If we does not set this mode here, it cannot draw the root content layer.

  • WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp: Added.
  • WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: Added.

(WebKit::ThreadedCoordinatedLayerTreeHost::rootLayer):
Implements ThreadedCoordinatedLayerTreeHost to use the threaded
compositor. It is basically similar with CoordinatedLayerTreeHost but it uses ThreadedCompositor instead of IPC.

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::contentsSizeChanged):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::create):
(WebKit::DrawingArea::DrawingArea):

  • WebProcess/WebPage/DrawingArea.h:

COORDINATED_GRAPHICS_MULTIPROCESS is introduced to classify IPC specific codes
from Coordinated Graphics.
And COORDINATED_GRAPHICS_THREADED is used to guard the threaded
compositor specific codes.

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::DrawingAreaImpl):
Modified to use forceCompositingMode when the threaded compositor used.
If we does not set this mode here, it will crash because of PageOverlay.
(WebKit::DrawingAreaImpl::mainFrameContentSizeChanged):
(WebKit::DrawingAreaImpl::updateBackingStoreState):
Modified to handle contents / viewport size changes for threaded compositor.
(WebKit::DrawingAreaImpl::attachViewOverlayGraphicsLayer):
Added to support Overlay layer in the threaded compositor.
(WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
Push the surface handle for compositing to the threaded compositor.

  • WebProcess/WebPage/DrawingAreaImpl.h: Use COORDINATED_GRAPIHCS_THREADED to guard the threaded compositor related codes.
  • WebProcess/WebPage/LayerTreeHost.cpp: Ditto.
  • WebProcess/WebPage/LayerTreeHost.h: Ditto.
  • WebProcess/WebPage/WebPage.cpp: Ditto.
  • WebProcess/WebPage/WebPage.h: Ditto.
  • WebProcess/WebPage/WebPage.messages.in: Ditto.
  • WebProcess/gtk/WebProcessMainGtk.cpp:

Modified to call XInitThreads to use thread-safe xlib.

Tools:

Added the ENABLE_THREADED_COMPOSITOR feature flag to the cmake and
autotools build systems. The feature is disabled by default.
And remove deprecated the WTF_USE_TILED_BACKING_STORE feature flag
from the feature flags.

  • Scripts/webkitperl/FeatureList.pm:
8:17 PM Changeset in webkit [178094] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebCore

Merged r178065. rdar://problems/19317526

8:17 PM Changeset in webkit [178093] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.4-branch/Source

Merged r178056. rdar://problems/19300492

8:17 PM Changeset in webkit [178092] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r178003. rdar://problems/19255417

8:17 PM Changeset in webkit [178091] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.4-branch/Source

Merged r177970. rdar://problems/19383425

8:17 PM Changeset in webkit [178090] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r177928. rdar://problems/19298391

8:17 PM Changeset in webkit [178089] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r177754. rdar://problems/19343307

8:17 PM Changeset in webkit [178088] by matthew_hanson@apple.com
  • 7 edits in branches/safari-600.4-branch/Source

Merged r177705. rdar://problems/19333076

8:17 PM Changeset in webkit [178087] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r177704. rdar://problems/19333075

8:17 PM Changeset in webkit [178086] by matthew_hanson@apple.com
  • 6 edits
    4 deletes in branches/safari-600.4-branch/Source/WebKit2

Merge r177702. rdar://problem/19333074

8:17 PM Changeset in webkit [178085] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.4-branch/Source/WebCore

Merged r177656. rdar://problems/19311017

8:17 PM Changeset in webkit [178084] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebCore

Merged r177641. rdar://problems/19283300

8:17 PM Changeset in webkit [178083] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r177604. rdar://problems/19312111

8:17 PM Changeset in webkit [178082] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r177601. rdar://problems/19301470

8:17 PM Changeset in webkit [178081] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r177600. rdar://problems/19312111

8:16 PM Changeset in webkit [178080] by dbates@webkit.org
  • 57 edits
    6 copies
    1 move
    4 adds in trunk

[iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
https://bugs.webkit.org/show_bug.cgi?id=137371

Reviewed by David Kilzer.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/GraphicsServicesSPI.h: Added.
  • platform/spi/cocoa/QuartzCoreSPI.h: Add CALayer SPI property hitTestsAsOpaque.
  • platform/spi/cocoa/ServersSPI.h: Added.

Source/WebKit/mac:

Use SPI wrapper headers instead of directly references private SPI headers.

  • Plugins/Hosted/NetscapePluginHostManager.mm:

Source/WebKit2:

  • Configurations/BaseTarget.xcconfig: Append directory $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks to

the list of directories to search for frameworks so that we the linker can find and link against iOS private
frameworks (e.g. AssertionServices).

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::willCacheResponseAsync): Add PLATFORM(IOS)-guard around call to NetworkDiskCacheMonitor::monitorFileBackingStoreCreation().

  • Platform/IPC/mac/ConnectionMac.mm: Add header sys/mman.h.
  • Platform/spi/ios/BKSProcessAssertionSPI.h: Added.
  • Platform/spi/ios/CorePDFSPI.h: Added.
  • Platform/spi/ios/DataDetectorsUISPI.h: Added.
  • Platform/spi/ios/ManagedConfigurationSPI.h: Added.
  • Platform/spi/ios/TCCSPI.h: Added.
  • Platform/spi/ios/TextInputSPI.h: Added.
  • Platform/spi/ios/UIKitSPI.h: Added.
  • Shared/Downloads/ios/DownloadIOS.mm: Add USE(CFNETWORK)-guard around CFNetwork-specific code and conditionally

include header CFNetwork/CFURLDownload.h.
(WebKit::Download::startWithHandle): Ditto.

  • Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: Include header ServersSPI.h instead

of directly including private headers.

  • Shared/ios/NativeWebTouchEventIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
  • Shared/mac/SandboxUtilities.cpp: Include header sys/param.h.
  • UIProcess/API/Cocoa/WKWebView.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Ditto.
  • UIProcess/API/Cocoa/WKWebViewInternal.h: Ditto.
  • UIProcess/API/ios/WKViewIOS.mm: Ditto.
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: Include header ServersSPI.h instead of directly including private headers.
  • UIProcess/ios/PageClientImplIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/ProcessAssertionIOS.mm: Include header BKSProcessAssertionSPI.h instead of directly including private headers.
  • UIProcess/ios/SmartMagnificationController.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/ViewGestureControllerIOS.mm: Ditto.
  • UIProcess/ios/WKActionSheet.mm: Ditto.
  • UIProcess/ios/WKActionSheetAssistant.h: Include header DataDetectorsUISPI.h instead of directly including private headers.
  • UIProcess/ios/WKActionSheetAssistant.mm: Include headers TCCSPI.h and UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKContentView.mm: Include header UIKitSPI.h instead of directly including private headers. Also, move CALayer SPI

forward declarations to QuartzCoreSPI.h

  • UIProcess/ios/WKContentViewInteraction.h: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKContentViewInteraction.mm: Ditto. Also, include headers CoreGraphicsSPI.h, CoreText/CTFont.h, DataDetectorsUISPI.h,

ManagedConfigurationSPI.h, TextInputSPI.h.

  • UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKPDFPageNumberIndicator.mm: Ditto.
  • UIProcess/ios/WKPDFView.h: Include header CorePDFSPI.h instead of directly including private headers.
  • UIProcess/ios/WKPDFView.mm: Ditto. Also, remove header _UIHighlightViewSPI.h and include UIKitSPI.h.
  • UIProcess/ios/WKScrollView.h: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKSyntheticClickTapGestureRecognizer.h: Ditto.
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm: Ditto.
  • UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Ditto.
  • UIProcess/ios/forms/WKFileUploadPanel.mm: Ditto.
  • UIProcess/ios/forms/WKFormInputControl.mm: Ditto.
  • UIProcess/ios/forms/WKFormPopover.mm: Ditto.
  • UIProcess/ios/forms/WKFormSelectControl.h: Ditto.
  • UIProcess/ios/forms/WKFormSelectControl.mm: Ditto.
  • UIProcess/ios/forms/WKFormSelectPicker.mm: Ditto.
  • UIProcess/ios/forms/WKFormSelectPopover.mm: Ditto.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Include headers ServersSPI.h and GraphicsServicesSPI.h instead of

directly including private headers. Also, ignore deprecated declaration for bootstrap_register2().

  • WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: Include header GraphicsServicesSPI.h instead of directly

including private headers.

  • config.h: Moved EXTERN_C_BEGIN and EXTERN_C_END macros from here to file wtf/Compiler.h and renamed them to WTF_EXTERN_C_BEGIN

and WTF_EXTERN_C_END, respectively, so that we can make use of them in SPI wrapper headers (e.g. UIKitSPI.h).

Source/WTF:

Move EXTERN_C_BEGIN and EXTERN_C_END macros from file WebKit2/config.h to here and
rename them to WTF_EXTERN_C_BEGIN and WTF_EXTERN_C_END, respectively, so that we
can make use of these macros in SPI wrapper headers (e.g. UIKitSPI.h).

I'll look to transition existing code to WTF_EXTERN_C_BEGIN/WTF_EXTERN_C_END and
remove EXTERN_C in a subsequent commit(s).

  • wtf/Compiler.h:

Tools:

Use SPI wrapper headers instead of directly referencing private SPI headers.

  • DumpRenderTree/ios/DumpRenderTreeBrowserView.h:
  • DumpRenderTree/ios/PixelDumpSupportIOS.mm:
  • DumpRenderTree/mac/Configurations/Base.xcconfig: Append directory Source/WebKit2/Platform/spi/ios

to the list of iOS header search directories so that we can include header UIKitSPI.h.

  • DumpRenderTree/mac/DumpRenderTree.mm:
  • DumpRenderTree/mac/DumpRenderTreeWindow.h:
  • DumpRenderTree/mac/EventSendingController.mm:
  • DumpRenderTree/mac/TestRunnerMac.mm:
7:00 PM Changeset in webkit [178079] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Make WebKitAcceleratedDrawingEnabled into a "debug" pref, so that it's read without page group prefixes
https://bugs.webkit.org/show_bug.cgi?id=140221

Reviewed by Sam Weinig.

Applications should not be toggling WebKitAcceleratedDrawingEnabled; it's really only
useful to toggle for debugging, so make it a debug pref.

  • Shared/WebPreferencesDefinitions.h:
6:17 PM Changeset in webkit [178078] by commit-queue@webkit.org
  • 8 edits in trunk/LayoutTests

Two tests, which include data uri images, need to be changed and rebaselined since the expected results are incorrect.
https://bugs.webkit.org/show_bug.cgi?id=140199.

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

  • compositing/tiling/huge-layer-img-expected.txt:
  • compositing/tiling/huge-layer-img.html:
  • platform/mac/compositing/tiling/huge-layer-img-expected.txt:

This test draws a huge image on a canvas and then gets the data uri from the canvas and
set it as the source of an <img> tag. We need to rebaseline the expected results since
the original ones were incorrect. The test was getting the layer tree too early. Before
the image data was loaded, a tiled layer was created. After the image data is loaded, we
could have figured out that the image is a simple one and we could have removed the tiling.
The fix is to change the test to delay capturing the layer tree only after making sure
that the image data is loaded.

  • fast/forms/basic-buttons.html:
  • platform/mac-mountainlion/fast/forms/basic-buttons-expected.txt:
  • platform/mac/fast/forms/basic-buttons-expected.png:
  • platform/mac/fast/forms/basic-buttons-expected.txt:

This test includes a data uri image just to not include a file for the image by itself.
We need to rebaseline the expected results since the original ones were incorrect. The
test was assuming that after the <img> tag is added to the HTML body, the image size can
be retrieved immediately. Because this assumption is incorrect in general, we were getting
empty sizes for all the the data uri images. The fix is to change the test such that it
prints the sizes of the images only after making sure that all the images are loaded.

6:04 PM Changeset in webkit [178077] by commit-queue@webkit.org
  • 57 edits
    1 copy
    3 deletes in trunk

Unreviewed, rolling out r178068.
https://bugs.webkit.org/show_bug.cgi?id=140235

Breaks the iOS build (Requested by enrica on #webkit).

Reverted changeset:

"[iOS] Make WebKit2 build with public iOS SDK and more build
fixes for DRT"
https://bugs.webkit.org/show_bug.cgi?id=137371
http://trac.webkit.org/changeset/178068

6:01 PM Changeset in webkit [178076] by Brent Fulgham
  • 3 edits
    19 adds
    2 deletes in trunk/LayoutTests

[Win] Rebaseline windows fast/text tests.

Most of these work properly, but have different DRT output because the font rendering
on Windows is different than Mac.

  • platform/win/TestExpectations:
  • platform/win/fast/text/atsui-pointoffset-calls-cg-expected.txt: Added.
  • platform/win/fast/text/bidi-embedding-pop-and-push-same-expected.txt: Added.
  • platform/win/fast/text/cg-vs-atsui-expected.txt: Added.
  • platform/win/fast/text/complex-text-opacity-expected.txt: Added.
  • platform/win/fast/text/international/001-expected.txt: Added.
  • platform/win/fast/text/international/bidi-linebreak-001-expected.txt: Added.
  • platform/win/fast/text/international/bidi-linebreak-002-expected.txt: Added.
  • platform/win/fast/text/international/bidi-linebreak-003-expected.txt: Added.
  • platform/win/fast/text/international/bidi-listbox-atsui-expected.txt: Added.
  • platform/win/fast/text/international/bidi-listbox-expected.txt: Added.
  • platform/win/fast/text/international/bidi-menulist-expected.txt:
  • platform/win/fast/text/international/danda-space-expected.txt: Added.
  • platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.png: Removed.
  • platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.txt: Removed.
  • platform/win/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt: Added.
  • platform/win/fast/text/international/synthesized-italic-vertical-latin-expected.txt: Added.
  • platform/win/fast/text/international/thai-baht-space-expected.txt: Added.
  • platform/win/fast/text/shaping: Added.
  • platform/win/fast/text/shaping/shaping-script-order-expected.txt: Added.
  • platform/win/fast/text/shaping/shaping-selection-rect-expected.txt: Added.
  • platform/win/fast/text/updateNewFont-expected.txt: Added.
  • platform/win/fast/text/vertical-rl-rtl-linebreak-expected.txt: Added.
5:59 PM Changeset in webkit [178075] by commit-queue@webkit.org
  • 14 edits in trunk/Source/JavaScriptCore

Web Inspector: ObjC Generate types from the GenericTypes domain
https://bugs.webkit.org/show_bug.cgi?id=140229

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-07
Reviewed by Timothy Hatcher.

Generate types from the GenericTypes domain, as they are expected
by other domains (like Page domain). Also, don't include the @protocol
forward declaration for a domain if it doesn't have any commands.

  • inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:

(ObjCBackendDispatcherHeaderGenerator._generate_objc_forward_declarations):
(ObjCBackendDispatcherHeaderGenerator): Deleted.
(ObjCBackendDispatcherHeaderGenerator._generate_objc_forward_declarations_for_domains): Deleted.

  • inspector/scripts/codegen/objc_generator.py:

(ObjCGenerator):

  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
5:49 PM Changeset in webkit [178074] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Web Inspector: Remove unnecessary copyRef for paramsObject in generated dispatchers
https://bugs.webkit.org/show_bug.cgi?id=140228

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-07
Reviewed by Timothy Hatcher.

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:

(CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):

  • inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:

(ObjCFrontendDispatcherImplementationGenerator._generate_event_out_parameters):

  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
5:22 PM Changeset in webkit [178073] by saambarati1@gmail.com
  • 8 edits in trunk/Source/JavaScriptCore

interpret op_profile_type in the LLInt instead of unconditionally calling into the slow path
https://bugs.webkit.org/show_bug.cgi?id=140165

Reviewed by Michael Saboff.

Inlining the functionality of TypeProfilerLog::recordTypeInformationForLocation
into the LLInt speeds up type profiling.

  • llint/LLIntOffsetsExtractor.cpp:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
  • runtime/TypeProfilerLog.h:

(JSC::TypeProfilerLog::recordTypeInformationForLocation): Deleted.

5:17 PM Changeset in webkit [178072] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Can't copy URL for images and paste it into plain text fields.
https://bugs.webkit.org/show_bug.cgi?id=140230
rdar://problem/18736680

Reviewed by Dan Bernstein.

The incorrect objective C type was being written to the pasteboard.

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::write):

5:11 PM Changeset in webkit [178071] by matthew_hanson@apple.com
  • 1 copy in branches/safari-600.4-branch

New Branch.

5:02 PM Changeset in webkit [178070] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.13/Source/WebKit/mac

Merged r178046. rdar://problem/19398825

4:52 PM Changeset in webkit [178069] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build.

  • Modules/webdatabase/SQLStatementBackend.cpp:
4:35 PM Changeset in webkit [178068] by dbates@webkit.org
  • 57 edits
    6 copies
    1 move
    4 adds in trunk

[iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
https://bugs.webkit.org/show_bug.cgi?id=137371

Reviewed by David Kilzer.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/GraphicsServicesSPI.h: Added.
  • platform/spi/cocoa/QuartzCoreSPI.h: Add CALayer SPI property hitTestsAsOpaque.
  • platform/spi/cocoa/ServersSPI.h: Added.

Source/WebKit/mac:

Use SPI wrapper headers instead of directly references private SPI headers.

  • Plugins/Hosted/NetscapePluginHostManager.mm:

Source/WebKit2:

  • Configurations/BaseTarget.xcconfig: Append directory $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks to

the list of directories to search for frameworks so that we the linker can find and link against iOS private
frameworks (e.g. AssertionServices).

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::willCacheResponseAsync): Add PLATFORM(IOS)-guard around call to NetworkDiskCacheMonitor::monitorFileBackingStoreCreation().

  • Platform/IPC/mac/ConnectionMac.mm: Add header sys/mman.h.
  • Platform/spi/ios/BKSProcessAssertionSPI.h: Added.
  • Platform/spi/ios/CorePDFSPI.h: Added.
  • Platform/spi/ios/DataDetectorsUISPI.h: Added.
  • Platform/spi/ios/ManagedConfigurationSPI.h: Added.
  • Platform/spi/ios/TCCSPI.h: Added.
  • Platform/spi/ios/TextInputSPI.h: Added.
  • Platform/spi/ios/UIKitSPI.h: Added.
  • Shared/Downloads/ios/DownloadIOS.mm: Add USE(CFNETWORK)-guard around CFNetwork-specific code and conditionally

include header CFNetwork/CFURLDownload.h.
(WebKit::Download::startWithHandle): Ditto.

  • Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: Include header ServersSPI.h instead

of directly including private headers.

  • Shared/ios/NativeWebTouchEventIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
  • Shared/mac/SandboxUtilities.cpp: Include header sys/param.h.
  • UIProcess/API/Cocoa/WKWebView.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Ditto.
  • UIProcess/API/Cocoa/WKWebViewInternal.h: Ditto.
  • UIProcess/API/ios/WKViewIOS.mm: Ditto.
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: Include header ServersSPI.h instead of directly including private headers.
  • UIProcess/ios/PageClientImplIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/ProcessAssertionIOS.mm: Include header BKSProcessAssertionSPI.h instead of directly including private headers.
  • UIProcess/ios/SmartMagnificationController.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/ViewGestureControllerIOS.mm: Ditto.
  • UIProcess/ios/WKActionSheet.mm: Ditto.
  • UIProcess/ios/WKActionSheetAssistant.h: Include header DataDetectorsUISPI.h instead of directly including private headers.
  • UIProcess/ios/WKActionSheetAssistant.mm: Include headers TCCSPI.h and UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKContentView.mm: Include header UIKitSPI.h instead of directly including private headers. Also, move CALayer SPI

forward declarations to QuartzCoreSPI.h

  • UIProcess/ios/WKContentViewInteraction.h: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKContentViewInteraction.mm: Ditto. Also, include headers CoreGraphicsSPI.h, CoreText/CTFont.h, DataDetectorsUISPI.h,

ManagedConfigurationSPI.h, TextInputSPI.h.

  • UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKPDFPageNumberIndicator.mm: Ditto.
  • UIProcess/ios/WKPDFView.h: Include header CorePDFSPI.h instead of directly including private headers.
  • UIProcess/ios/WKPDFView.mm: Ditto. Also, remove header _UIHighlightViewSPI.h and include UIKitSPI.h.
  • UIProcess/ios/WKScrollView.h: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKSyntheticClickTapGestureRecognizer.h: Ditto.
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm: Ditto.
  • UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Ditto.
  • UIProcess/ios/forms/WKFileUploadPanel.mm: Ditto.
  • UIProcess/ios/forms/WKFormInputControl.mm: Ditto.
  • UIProcess/ios/forms/WKFormPopover.mm: Ditto.
  • UIProcess/ios/forms/WKFormSelectControl.h: Ditto.
  • UIProcess/ios/forms/WKFormSelectControl.mm: Ditto.
  • UIProcess/ios/forms/WKFormSelectPicker.mm: Ditto.
  • UIProcess/ios/forms/WKFormSelectPopover.mm: Ditto.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Include headers ServersSPI.h and GraphicsServicesSPI.h instead of

directly including private headers.

  • WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: Include header GraphicsServicesSPI.h instead of directly

including private headers.

  • config.h: Moved EXTERN_C_BEGIN and EXTERN_C_END macros from here to file wtf/Compiler.h and renamed them to WTF_EXTERN_C_BEGIN

and WTF_EXTERN_C_END, respectively, so that we can make use of them in SPI wrapper headers (e.g. UIKitSPI.h).

Source/WTF:

Move EXTERN_C_BEGIN and EXTERN_C_END macros from file WebKit2/config.h to here and
rename them to WTF_EXTERN_C_BEGIN and WTF_EXTERN_C_END, respectively, so that we
can make use of these macros in SPI wrapper headers (e.g. UIKitSPI.h).

I'll look to transition existing code to WTF_EXTERN_C_BEGIN/WTF_EXTERN_C_END and
remove EXTERN_C in a subsequent commit(s).

  • wtf/Compiler.h:

Tools:

Use SPI wrapper headers instead of directly referencing private SPI headers.

  • DumpRenderTree/ios/DumpRenderTreeBrowserView.h:
  • DumpRenderTree/ios/PixelDumpSupportIOS.mm:
  • DumpRenderTree/mac/Configurations/Base.xcconfig: Append directory Source/WebKit2/Platform/spi/ios

to the list of header search directories so that we can include header UIKitSPI.h.

  • DumpRenderTree/mac/DumpRenderTree.mm:
  • DumpRenderTree/mac/DumpRenderTreeWindow.h:
  • DumpRenderTree/mac/EventSendingController.mm:
  • DumpRenderTree/mac/TestRunnerMac.mm:
4:30 PM Changeset in webkit [178067] by ljaehun.lim@samsung.com
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: !lengthOrPercentageValue.isUndefined() in WebCore::ApplyPropertyTextIndent::applyValue
https://bugs.webkit.org/show_bug.cgi?id=130341

Reviewed by Chris Dumez.

Replace ASSERT() with 'if' statement because 'ex' unit length in <title> is not defined.

Source/WebCore:

Test: fast/css3-text/css3-text-indent/text-indent-crash-in-title.html

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueTextIndent): Change ASSERT() to 'if' statement.

LayoutTests:

  • fast/css3-text/css3-text-indent/text-indent-crash-in-title-expected.txt: Added.
  • fast/css3-text/css3-text-indent/text-indent-crash-in-title.html: Added.
4:22 PM Changeset in webkit [178066] by andersca@apple.com
  • 11 edits
    1 delete in trunk/Source/WebCore

Remove AbstractSQLStatement
https://bugs.webkit.org/show_bug.cgi?id=140223

Reviewed by Sam Weinig.

  • Modules/webdatabase/AbstractSQLStatement.h: Removed.
  • Modules/webdatabase/AbstractSQLTransactionBackend.h:
  • Modules/webdatabase/SQLStatement.h:
  • Modules/webdatabase/SQLStatementBackend.cpp:

(WebCore::SQLStatementBackend::create):
(WebCore::SQLStatementBackend::SQLStatementBackend):
(WebCore::SQLStatementBackend::frontend):

  • Modules/webdatabase/SQLStatementBackend.h:
  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::deliverStatementCallback):

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::currentStatement):
(WebCore::SQLTransactionBackend::executeSQL):

  • Modules/webdatabase/SQLTransactionBackend.h:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
4:16 PM Changeset in webkit [178065] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Manually-animated TextIndicator fades out blue selection if you click inside it
https://bugs.webkit.org/show_bug.cgi?id=140224
<rdar://problem/19317526>

Reviewed by Beth Dakin.

  • page/mac/TextIndicatorWindow.mm:

(-[WebTextIndicatorView hasCompletedAnimation]):
(WebCore::TextIndicatorWindow::~TextIndicatorWindow):
Avoid fading out the TextIndicator if the animation hadn't completed.
Also, use wantsManualAnimation instead of duplicating the switch here.

3:59 PM Changeset in webkit [178064] by Bem Jones-Bey
  • 1 edit
    6 adds in trunk/LayoutTests

[CSS Shapes] Add a vertical-rl test for shapes affecting a box that shrinks to avoid the float
https://bugs.webkit.org/show_bug.cgi?id=140189

Reviewed by David Hyatt.

These are just straightforward vertical writing mode versions of the
existing tests.

  • fast/shapes/shape-outside-floats/shape-overflow-hidden-left-margin-vertical-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-left-margin-vertical.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-right-margin-vertical-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-right-margin-vertical.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-vertical-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-vertical.html: Added.
3:56 PM Changeset in webkit [178063] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update css3/flexbox/auto-margins.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=139975

Patch by Myles C. Maxfield <litherum@gmail.com> on 2015-01-07
Reviewed by Darin Adler.

This is a subpixel problem. Flexbox uses SimpleLineLayout for the entire
box and therefore does all its math in floating point, while the
-expected uses the regular renderer hierarchy and therefore fixed-point
math. This patch updates the test to use Ahem so that the character
widths divide the same way in both cases.

  • css3/flexbox/auto-margins-expected.html:
  • css3/flexbox/auto-margins.html:
  • platform/mac/TestExpectations:
3:50 PM Changeset in webkit [178062] by andersca@apple.com
  • 9 edits
    1 delete in trunk/Source/WebCore

Remove AbstractSQLStatementBackend
https://bugs.webkit.org/show_bug.cgi?id=140222

Reviewed by Sam Weinig.

We're unlikely to fully take advantage of the SQL implementation being abstract anyway, so let's just simplify the code instead.

  • Modules/webdatabase/AbstractSQLStatement.h:
  • Modules/webdatabase/AbstractSQLStatementBackend.h: Removed.
  • Modules/webdatabase/SQLStatement.cpp:

(WebCore::SQLStatement::setBackend):

  • Modules/webdatabase/SQLStatement.h:
  • Modules/webdatabase/SQLStatementBackend.cpp:

(WebCore::SQLStatementBackend::~SQLStatementBackend):

  • Modules/webdatabase/SQLStatementBackend.h:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
3:41 PM Changeset in webkit [178061] by Brent Fulgham
  • 4 edits in trunk/LayoutTests

[Win] Unreviewed test gardening (writing-mode).

Rebaseline some of the writing-mode tests based on current WebKit behavior.

  • platform/win/TestExpectations:
  • platform/win/fast/writing-mode/fallback-orientation-expected.txt:
  • platform/win/fast/writing-mode/vertical-font-fallback-expected.txt:
3:29 PM Changeset in webkit [178060] by Joseph Pecoraro
  • 127 edits in trunk/Source

Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects
https://bugs.webkit.org/show_bug.cgi?id=140053

Patch by Brian J. Burg <Brian Burg> on 2015-01-07
Reviewed by Andreas Kling.

Source/JavaScriptCore:

This patch replaces uses of PassRefPtr with uses of RefPtr&& and WTF::move() in code
related to Web Inspector. It also converts many uses of RefPtr to Ref where
references are always non-null. These two refactorings have been combined since
they tend to require similar changes to the code.

Creation methods for subclasses of InspectorValue now return a Ref, and callsites
have been updated to take a Ref instead of RefPtr.

Builders for typed protocol objects now return a Ref. Since there is no implicit
call to operator&, callsites now must explicitly call .release() to convert a
builder object into the corresponding protocol object once required fields are set.
Update callsites and use auto to eliminate repetition of longwinded protocol types.

Tests for inspector protocol and replay inputs have been rebaselined.

  • bindings/ScriptValue.cpp:

(Deprecated::jsToInspectorValue):
(Deprecated::ScriptValue::toInspectorValue):

  • bindings/ScriptValue.h:
  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::addToFrontend):

  • inspector/ContentSearchUtilities.cpp:

(Inspector::ContentSearchUtilities::buildObjectForSearchMatch):
(Inspector::ContentSearchUtilities::searchInTextByLines):

  • inspector/ContentSearchUtilities.h:
  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getInternalProperties):
(Inspector::InjectedScript::wrapCallFrames):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):

  • inspector/InjectedScript.h:
  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::makeEvalCall): Split the early exits.

  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::InspectorBackendDispatcher::CallbackBase::CallbackBase):
(Inspector::InspectorBackendDispatcher::CallbackBase::sendIfActive):
(Inspector::InspectorBackendDispatcher::create):
(Inspector::InspectorBackendDispatcher::dispatch):
(Inspector::InspectorBackendDispatcher::sendResponse):
(Inspector::InspectorBackendDispatcher::reportProtocolError):
(Inspector::getPropertyValue): Add a comment to clarify what this clever code does.
(Inspector::InspectorBackendDispatcher::getInteger):
(Inspector::InspectorBackendDispatcher::getDouble):
(Inspector::InspectorBackendDispatcher::getString):
(Inspector::InspectorBackendDispatcher::getBoolean):
(Inspector::InspectorBackendDispatcher::getObject):
(Inspector::InspectorBackendDispatcher::getArray):
(Inspector::InspectorBackendDispatcher::getValue):

  • inspector/InspectorBackendDispatcher.h: Use a typed protocol object to collect

protocol error strings.
(Inspector::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
Convert the supplemental dispatcher's reference to Ref since it is never null.

  • inspector/InspectorEnvironment.h:
  • inspector/InspectorProtocolTypes.h: Get rid of ArrayItemHelper and

StructItemTraits. Add more versions of addItem to handle pushing various types.
(Inspector::Protocol::Array::openAccessors):
(Inspector::Protocol::Array::addItem):
(Inspector::Protocol::Array::create):
(Inspector::Protocol::StructItemTraits::push):
(Inspector::Protocol::BindingTraits<Protocol::Array<T>>::runtimeCast): Assert argument.
(Inspector::Protocol::StructItemTraits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<String>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<int>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<double>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<bool>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorValue>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorObject>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorArray>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<Protocol::Array<T>>::Traits::pushRefPtr): Deleted.

  • inspector/InspectorValues.cpp: Straighten out getArray and getObject to have

the same call signature as other getters. Use Ref where possible.
(Inspector::InspectorObjectBase::getBoolean):
(Inspector::InspectorObjectBase::getString):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::getValue):
(Inspector::InspectorObjectBase::writeJSON):
(Inspector::InspectorArrayBase::get):
(Inspector::InspectorObject::create):
(Inspector::InspectorArray::create):
(Inspector::InspectorValue::null):
(Inspector::InspectorString::create):
(Inspector::InspectorBasicValue::create):
(Inspector::InspectorObjectBase::get): Deleted.

  • inspector/InspectorValues.h:

(Inspector::InspectorObjectBase::setValue):
(Inspector::InspectorObjectBase::setObject):
(Inspector::InspectorObjectBase::setArray):
(Inspector::InspectorArrayBase::pushValue):
(Inspector::InspectorArrayBase::pushObject):
(Inspector::InspectorArrayBase::pushArray):

  • inspector/JSGlobalObjectConsoleClient.cpp:

(Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel):
(Inspector::JSGlobalObjectConsoleClient::count):
(Inspector::JSGlobalObjectConsoleClient::timeEnd):
(Inspector::JSGlobalObjectConsoleClient::timeStamp):

  • inspector/JSGlobalObjectConsoleClient.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::executionStopwatch):

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/ScriptCallFrame.cpp:

(Inspector::ScriptCallFrame::buildInspectorObject):

  • inspector/ScriptCallFrame.h:
  • inspector/ScriptCallStack.cpp:

(Inspector::ScriptCallStack::create):
(Inspector::ScriptCallStack::buildInspectorArray):

  • inspector/ScriptCallStack.h:
  • inspector/agents/InspectorAgent.cpp:

(Inspector::InspectorAgent::enable):
(Inspector::InspectorAgent::inspect):
(Inspector::InspectorAgent::activateExtraDomain):

  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::buildObjectForBreakpointCookie):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::resolveBreakpoint):
(Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
(Inspector::InspectorDebuggerAgent::currentCallFrames):
(Inspector::InspectorDebuggerAgent::didParseSource):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):
(Inspector::InspectorDebuggerAgent::breakProgram):

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::buildErrorRangeObject):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
(Inspector::InspectorRuntimeAgent::getBasicBlocks):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/scripts/codegen/cpp_generator.py:

(CppGenerator.cpp_type_for_unchecked_formal_in_parameter):
(CppGenerator.cpp_type_for_type_with_name):
(CppGenerator.cpp_type_for_formal_async_parameter):
(CppGenerator.should_use_references_for_type):
(CppGenerator):

  • inspector/scripts/codegen/cpp_generator_templates.py:
  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:

(CppBackendDispatcherHeaderGenerator.generate_output):
(CppBackendDispatcherHeaderGenerator._generate_async_handler_declaration_for_command):

  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:

(CppBackendDispatcherImplementationGenerator._generate_small_dispatcher_switch_implementation_for_domain):
(CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py:

(CppFrontendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:

(CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):

  • inspector/scripts/codegen/generate_cpp_protocol_types_header.py:

(CppProtocolTypesHeaderGenerator.generate_output):
(_generate_class_for_object_declaration):
(_generate_unchecked_setter_for_member):
(_generate_forward_declarations_for_binding_traits):

  • inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:

(ObjCConfigurationImplementationGenerator._generate_success_block_for_command):

  • inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:

(ObjCFrontendDispatcherImplementationGenerator._generate_event):
(ObjCFrontendDispatcherImplementationGenerator._generate_event_out_parameters):

  • inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:

(ObjCProtocolTypesImplementationGenerator.generate_output):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • replay/EncodedValue.cpp:

(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::EncodedValue::put<EncodedValue>):
(JSC::EncodedValue::append<EncodedValue>):
(JSC::EncodedValue::get<EncodedValue>):

  • replay/EncodedValue.h:
  • replay/scripts/CodeGeneratorReplayInputs.py:

(Type.borrow_type):
(Type.argument_type):
(Generator.generate_member_move_expression):

  • runtime/ConsoleClient.cpp:

(JSC::ConsoleClient::printConsoleMessageWithArguments):
(JSC::ConsoleClient::internalMessageWithTypeAndLevel):
(JSC::ConsoleClient::logWithLevel):
(JSC::ConsoleClient::clear):
(JSC::ConsoleClient::dir):
(JSC::ConsoleClient::dirXML):
(JSC::ConsoleClient::table):
(JSC::ConsoleClient::trace):
(JSC::ConsoleClient::assertCondition):
(JSC::ConsoleClient::group):
(JSC::ConsoleClient::groupCollapsed):
(JSC::ConsoleClient::groupEnd):

  • runtime/ConsoleClient.h:
  • runtime/TypeSet.cpp:

(JSC::TypeSet::allStructureRepresentations):
(JSC::TypeSet::inspectorTypeSet):
(JSC::StructureShape::inspectorRepresentation):

  • runtime/TypeSet.h:

Source/WebCore:

This patch replaces uses of PassRefPtr with uses of RefPtr&& and WTF::move() in code
related to Web Inspector. It also converts many uses of RefPtr to Ref where
references are always non-null. These two refactorings have been combined since
they tend to require similar changes to the code.

No new tests, no behavior changed.

  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::openDatabase):

  • dom/Document.cpp:

(WebCore::Document::logExceptionToConsole):
(WebCore::Document::addMessage):

  • dom/Document.h:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::reportException):

  • dom/ScriptExecutionContext.h:
  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSAuditorDelegate::generateViolationReport):

  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::inspectImpl):

  • inspector/CommandLineAPIHost.h:
  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):

  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::setStyleText):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::forcePseudoState):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
(WebCore::InspectorInstrumentation::consoleTimeStamp):
(WebCore::InspectorInstrumentation::stopProfiling):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::buildObjectForHighlightedNode):
(WebCore::InspectorController::executionStopwatch):

  • inspector/InspectorController.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::parseColor):
(WebCore::parseConfigColor):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::setInspectModeEnabled):
(WebCore::InspectorDOMAgent::highlightRect):
(WebCore::InspectorDOMAgent::highlightQuad):
(WebCore::InspectorDOMAgent::innerHighlightQuad):
(WebCore::InspectorDOMAgent::highlightNode):
(WebCore::InspectorDOMAgent::highlightFrame):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::processAccessibilityChildren):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):
(WebCore::InspectorDOMAgent::resolveNode):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
(WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):

  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::findStorageArea):

  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp: Use Ref for all callbacks since they are

not nullable.
(WebCore::InspectorDatabaseAgent::executeSQL):

  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseInstrumentation.h:

(WebCore::InspectorInstrumentation::didOpenDatabase):

  • inspector/InspectorDatabaseResource.cpp:

(WebCore::InspectorDatabaseResource::create):
(WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
(WebCore::InspectorDatabaseResource::bind):

  • inspector/InspectorDatabaseResource.h:

(WebCore::InspectorDatabaseResource::setDatabase):

  • inspector/InspectorFrontendHost.h:

(WebCore::InspectorFrontendHost::create):

  • inspector/InspectorIndexedDBAgent.cpp: Use Ref for all callbacks since they are

not nullable.
(WebCore::InspectorIndexedDBAgent::requestDatabaseNames):
(WebCore::InspectorIndexedDBAgent::requestDatabase):
(WebCore::InspectorIndexedDBAgent::requestData):
(WebCore::ClearObjectStoreListener::create):
(WebCore::ClearObjectStoreListener::ClearObjectStoreListener):
(WebCore::ClearObjectStore::create):
(WebCore::ClearObjectStore::ClearObjectStore):
(WebCore::InspectorIndexedDBAgent::clearObjectStore):

  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willLoadXHRImpl):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::consoleCountImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleTimeStampImpl):
(WebCore::InspectorInstrumentation::stopProfilingImpl):
(WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
(WebCore::InspectorInstrumentation::sessionCreatedImpl):
(WebCore::InspectorInstrumentation::sessionLoadedImpl):
(WebCore::InspectorInstrumentation::sessionModifiedImpl):
(WebCore::InspectorInstrumentation::segmentCreatedImpl):
(WebCore::InspectorInstrumentation::segmentCompletedImpl):
(WebCore::InspectorInstrumentation::segmentLoadedImpl):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl): Deleted.
(WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl): Deleted.
(WebCore::InspectorInstrumentation::startProfilingImpl): Deleted.
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl): Deleted.
(WebCore::InspectorInstrumentation::willEvaluateWorkerScript): Deleted.
(WebCore::InspectorInstrumentation::captureStoppedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackStartedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackPausedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackHitPositionImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackFinishedImpl): Deleted.
(WebCore::InspectorInstrumentation::networkStateChangedImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willLoadXHR):
(WebCore::InspectorInstrumentation::sessionCreated):
(WebCore::InspectorInstrumentation::sessionLoaded):
(WebCore::InspectorInstrumentation::sessionModified):
(WebCore::InspectorInstrumentation::segmentCreated):
(WebCore::InspectorInstrumentation::segmentCompleted):
(WebCore::InspectorInstrumentation::segmentLoaded):
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorInstrumentation::didSendWebSocketFrame): Deleted.

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):

  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForPoint):
(WebCore::buildObjectForRect):
(WebCore::buildArrayForQuad):
(WebCore::buildObjectForHighlight):
(WebCore::buildObjectForRegionHighlight):
(WebCore::buildObjectForCSSRegionsHighlight):
(WebCore::buildObjectForSize):
(WebCore::buildObjectForCSSRegionContentClip):
(WebCore::InspectorOverlay::drawPaintRects):
(WebCore::buildObjectForRendererFragments):
(WebCore::buildObjectForShapeOutside):
(WebCore::buildObjectForElementInfo):
(WebCore::InspectorOverlay::buildObjectForHighlightedNode):
(WebCore::InspectorOverlay::reset):
(WebCore::InspectorOverlay::evaluateInOverlay):

  • inspector/InspectorOverlay.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::createXHRTextDecoder):
(WebCore::buildObjectForCookie):
(WebCore::buildArrayForCookies):
(WebCore::buildObjectForSearchResult):
(WebCore::InspectorPageAgent::buildObjectForFrame):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::buildInspectorObjectForPosition):
(WebCore::buildInspectorObjectForInput):
(WebCore::buildInspectorObjectForSession):
(WebCore::buildInspectorObjectForSegment):
(WebCore::InspectorReplayAgent::replayToPosition):
(WebCore::InspectorReplayAgent::getSessionData):
(WebCore::InspectorReplayAgent::getSegmentData):

  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForHeaders):
(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willLoadXHR):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
(WebCore::InspectorResourceAgent::loadResource):
(WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorResourceAgent::didScheduleStyleRecalculation): Deleted.
(WebCore::InspectorResourceAgent::disable): Deleted.
(WebCore::InspectorResourceAgent::setCacheDisabled): Deleted.

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.cpp:

(ParsedStyleSheet::ruleSourceDataAt):
(WebCore::buildSourceRangeObject):
(WebCore::buildMediaObject):
(WebCore::asCSSRuleList):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::create):
(WebCore::InspectorStyle::InspectorStyle):
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::InspectorStyle::extractSourceData):
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
(WebCore::buildObjectForSelectorHelper):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelector):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::toggleProperty):
(WebCore::InspectorStyleSheet::inspectorStyleForId):
(WebCore::InspectorStyleSheet::rememberInspectorStyle):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheet::collectFlatRules):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
(WebCore::InspectorStyleSheetForInlineStyle::inspectorStyleForId):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorCSSId::InspectorCSSId):
(WebCore::InspectorCSSId::asProtocolValue):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::didCompleteRecordEntry):
(WebCore::InspectorTimelineAgent::appendRecord):
(WebCore::InspectorTimelineAgent::sendEvent):
(WebCore::InspectorTimelineAgent::createRecordEntry):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):

  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:

(WebCore::InspectorWorkerAgent::sendMessageToWorker):

  • inspector/InspectorWorkerAgent.h:
  • inspector/NetworkResourcesData.cpp:

(WebCore::XHRReplayData::create):
(WebCore::XHRReplayData::XHRReplayData):

  • inspector/NetworkResourcesData.h:

(WebCore::NetworkResourcesData::ResourceData::decoder):
(WebCore::NetworkResourcesData::ResourceData::setDecoder):
(WebCore::NetworkResourcesData::ResourceData::buffer):
(WebCore::NetworkResourcesData::ResourceData::setBuffer):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createGenericRecord):
(WebCore::TimelineRecordFactory::createBackgroundRecord):
(WebCore::TimelineRecordFactory::createGCEventData):
(WebCore::TimelineRecordFactory::createFunctionCallData):
(WebCore::TimelineRecordFactory::createConsoleProfileData):
(WebCore::TimelineRecordFactory::createProbeSampleData):
(WebCore::TimelineRecordFactory::createEventDispatchData):
(WebCore::TimelineRecordFactory::createGenericTimerData):
(WebCore::TimelineRecordFactory::createTimerInstallData):
(WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
(WebCore::TimelineRecordFactory::createXHRLoadData):
(WebCore::TimelineRecordFactory::createEvaluateScriptData):
(WebCore::TimelineRecordFactory::createTimeStampData):
(WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
(WebCore::TimelineRecordFactory::createResourceSendRequestData):
(WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
(WebCore::TimelineRecordFactory::createResourceFinishData):
(WebCore::TimelineRecordFactory::createReceiveResourceData):
(WebCore::TimelineRecordFactory::createLayoutData):
(WebCore::TimelineRecordFactory::createDecodeImageData):
(WebCore::TimelineRecordFactory::createResizeImageData):
(WebCore::TimelineRecordFactory::createMarkData):
(WebCore::TimelineRecordFactory::createParseHTMLData):
(WebCore::TimelineRecordFactory::createAnimationFrameData):
(WebCore::createQuad):
(WebCore::TimelineRecordFactory::createPaintData):
(WebCore::buildInspectorObject):
(WebCore::buildProfileInspectorObject):
(WebCore::TimelineRecordFactory::appendProfile):

  • inspector/TimelineRecordFactory.h:

(WebCore::TimelineRecordFactory::createWebSocketCreateData):
(WebCore::TimelineRecordFactory::createGenericWebSocketData):

  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::executionStopwatch):

  • inspector/WorkerInspectorController.h:
  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::addMessage):
(WebCore::PageConsoleClient::messageWithTypeAndLevel):
(WebCore::PageConsoleClient::count):
(WebCore::PageConsoleClient::profileEnd):
(WebCore::PageConsoleClient::timeEnd):
(WebCore::PageConsoleClient::timeStamp):

  • page/PageConsoleClient.h:
  • replay/ReplayController.cpp:

(WebCore::ReplayController::switchSession):
(WebCore::ReplayController::createSegment):
(WebCore::ReplayController::completeSegment):
(WebCore::ReplayController::loadSegmentAtIndex):

  • replay/ReplayInputCreationMethods.cpp:

(WebCore::InitialNavigation::createFromPage):

  • workers/SharedWorkerGlobalScope.cpp:

(WebCore::SharedWorkerGlobalScope::logExceptionToConsole):

  • workers/SharedWorkerGlobalScope.h:
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::logExceptionToConsole):
(WebCore::WorkerGlobalScope::addMessage):
(WebCore::WorkerGlobalScope::addMessageToWorkerConsole):

  • workers/WorkerGlobalScope.h:

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: update symbol.

Source/WTF:

  • wtf/Stopwatch.h:

(WTF::Stopwatch::create): Return a Ref.

3:05 PM Changeset in webkit [178059] by eric.carlson@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test http/tests/navigation/forward-and-cancel.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=140217

  • platform/mac-wk2/TestExpectations: Mark it as flaky.
3:01 PM Changeset in webkit [178058] by andersca@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Add a radar link to the ChangeLog.

2:59 PM Changeset in webkit [178057] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Annotate properties that start with "new" so they'll work under ARC
https://bugs.webkit.org/show_bug.cgi?id=140215

Reviewed by Geoffrey Garen.

When encountering attributes that start with "new", also generate an additional getter method declaration that
has an NS_RETURNS_NOT_RETAINED annotation so ARC will know not to overrelease the property value.

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateHeader):

2:48 PM Changeset in webkit [178056] by Beth Dakin
  • 6 edits in trunk/Source

Adopt delegate callbacks so that standardQuickLookMenuItem does not obscure the
link
https://bugs.webkit.org/show_bug.cgi?id=140206
-and corresponding-
rdar://problem/19300492

Reviewed by Tim Horton.

Source/WebCore:

More delegate methods.

  • platform/spi/mac/QuickLookMacSPI.h:

Source/WebKit/mac:

Providing and item frame will ensure that the original link is not obscured.

  • WebView/WebImmediateActionController.mm:

(elementBoundingBoxInWindowCoordinatesFromNode):
(-[WebImmediateActionController menuItem:itemFrameForPoint:]):

For now use a max size that is smaller than the WebView, with the screen’s aspect
ratio, and scaled down.
(-[WebImmediateActionController menuItem:maxSizeForPoint:]):

Source/WebKit2:

Providing and item frame will ensure that the original link is not obscured.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController menuItem:itemFrameForPoint:]):

For now use a max size that is smaller than the WKView, with the screen’s aspect
ratio, and scaled down.
(-[WKImmediateActionController menuItem:maxSizeForPoint:]):

2:46 PM Changeset in webkit [178055] by Brent Fulgham
  • 2 edits
    2 adds in trunk/LayoutTests

[Win] Unreviewed test gardening.

Provide a correct baseline for the one failing XSL test.

  • platform/win/TestExpectations: Clean up the XSL declarations.
  • platform/win/fast/xsl: Added.
  • platform/win/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt: Added.
2:30 PM Changeset in webkit [178054] by Bem Jones-Bey
  • 4 edits
    2 adds in trunk

[CSS Shapes] Negative raster shape height leads to crash
https://bugs.webkit.org/show_bug.cgi?id=136087

Reviewed by Zoltan Horvath.

Source/WebCore:

This patch clamps the size of the margin box rect used to compute the
raster shape on a float so the width and height cannot be negative.
This makes it safe to use that rect to determine the size of the shape
intervals data structure.

Test: fast/shapes/shape-outside-floats/shape-outside-negative-height-crash.html

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createRasterShape): Add an assert to be explict about

the precondition.

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::getShapeImageMarginRect): Clamp the marginRect's size.

LayoutTests:

  • fast/shapes/shape-outside-floats/shape-outside-negative-height-crash-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-negative-height-crash.html: Added.
2:26 PM Changeset in webkit [178053] by Chris Dumez
  • 1 edit
    4 adds in trunk/LayoutTests

Add layout test for animated GIFs in iframes moved in and out of the viewport using -webkit-transform
https://bugs.webkit.org/show_bug.cgi?id=139701

Reviewed by Simon Fraser.

Add layout test for animated GIFs in iframes moved in and out of the
viewport using '-webkit-transform' CSS property.

  • fast/images/animated-gif-iframe-webkit-transform-expected.txt: Added.
  • fast/images/animated-gif-iframe-webkit-transform.html: Added.
  • fast/images/resources/iframe-with-animated-gif.html: Added.
  • fast/images/resources/iframe-with-animated-gif2.html: Added.
2:16 PM Changeset in webkit [178052] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed test change to improve run reproducibility

  • Scripts/webkitpy/port/win.py:

(WinPort.default_child_processes): Run a single DRT instance to help
identify failures caused by earlier test runs.

2:12 PM Changeset in webkit [178051] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Test gardening. Clean up lint errors on Windows file.

  • platform/win/TestExpectations:
1:24 PM Changeset in webkit [178050] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

Myles C. Maxfield is a reviewer now
https://bugs.webkit.org/show_bug.cgi?id=140196

Reviewed by Dean Jackson.

  • Scripts/webkitpy/common/config/contributors.json:
1:20 PM Changeset in webkit [178049] by mmaxfield@apple.com
  • 3 edits in trunk/Tools

Make webkit-patch try harder to find keychain credentials
https://bugs.webkit.org/show_bug.cgi?id=140170

Reviewed by Ryosuke Niwa.

When the user manually enters a password into webkit-patch, we hand that off to the
Keyring Python module. However, that module creates a generic password entry instead
of an internet password entry. We should look for both kinds.

  • Scripts/webkitpy/common/net/credentials.py:

(Credentials._run_security_tool):
(Credentials._credentials_from_keychain):

  • Scripts/webkitpy/common/net/credentials_unittest.py:

(test_security_output_parse_entry_not_found):
(_assert_security_call):

12:56 PM Changeset in webkit [178048] by weinig@apple.com
  • 165 edits in trunk/Source/WebCore

Modernize the SVGElement and MathMLElement factories
https://bugs.webkit.org/show_bug.cgi?id=140163

Reviewed by Dan Bernstein.

  • dom/Element.cpp:

(WebCore::Element::create):

  • dom/Element.h:

Change to return a Ref rather than a RefPtr.

  • dom/make_names.pl:

(printConstructorSignature):
(printFactoryCppFile):
(printFactoryHeaderFile):
Change to unconditionally use Ref as the return type for element factories
now that HTML is not special cased.

  • SVG and MathML element files elided *

Changed all SVG and MathML element's create functions to return a Ref.

12:50 PM Changeset in webkit [178047] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r178028): iOS build broken due to unused parameters in GlyphPage::mayUseMixedFontDataWhenFilling()

Fixes the following build errors:

WebCore/platform/graphics/mac/GlyphPageMac.cpp:58:61: error: unused parameter 'buffer' [-Werror,-Wunused-parameter]
bool GlyphPage::mayUseMixedFontDataWhenFilling(const UChar* buffer, unsigned bufferLength, const SimpleFontData* fontData)


WebCore/platform/graphics/mac/GlyphPageMac.cpp:58:78: error: unused parameter 'bufferLength' [-Werror,-Wunused-parameter]
bool GlyphPage::mayUseMixedFontDataWhenFilling(const UChar* buffer, unsigned bufferLength, const SimpleFontData* fontData)


WebCore/platform/graphics/mac/GlyphPageMac.cpp:58:114: error: unused parameter 'fontData' [-Werror,-Wunused-parameter]
bool GlyphPage::mayUseMixedFontDataWhenFilling(const UChar* buffer, unsigned bufferLength, const SimpleFontData* fontData)


3 errors generated.

  • platform/graphics/mac/GlyphPageMac.cpp:

(WebCore::GlyphPage::mayUseMixedFontDataWhenFilling): Add
UNUSED_PARAM() as needed.

12:40 PM Changeset in webkit [178046] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Give simple HTML documents a database provider
https://bugs.webkit.org/show_bug.cgi?id=140192
rdar://problem/19398825

Reviewed by Tim Horton.

  • WebView/WebView.mm:

(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

12:13 PM Changeset in webkit [178045] by Bem Jones-Bey
  • 3 edits
    6 adds in trunk

[CSS Shapes] Content does not wrap with overflow: hidden and reference box different from margin-box
https://bugs.webkit.org/show_bug.cgi?id=138139

Reviewed by David Hyatt.

Source/WebCore:

To determine how much an box needs to shink to avoid a float, the code
was only taking into account the first line of the box. This doesn't
work when the float has a shape, as it can make it seem like there is
more space on the line than there actually is. This patch changes the
calculations to take into account the entire height of the box that
needs to be shrunk, and thus computes the correct amount of space
available.

Test: fast/shapes/shape-outside-floats/shape-overflow-hidden-left-margin.html

fast/shapes/shape-outside-floats/shape-overflow-hidden-right-margin.html
fast/shapes/shape-outside-floats/shape-overflow-hidden.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):

LayoutTests:

  • fast/shapes/shape-outside-floats/shape-overflow-hidden-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-left-margin-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-left-margin.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-right-margin-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-right-margin.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden.html: Added.
11:49 AM Changeset in webkit [178044] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Release build fix.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:
11:48 AM Changeset in webkit [178043] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] Secondary WebKit processes get re-exec'ed twice when running under ASan
https://bugs.webkit.org/show_bug.cgi?id=140175

Reviewed by Sam Weinig.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::addDYLDEnvironmentAdditions):

If the main process is ASanified, add the ASan dynamic library to DYLD_INSERT_LIBRARIES.
This avoids an extra re-exec, which is very annoying when debugging.
The library is linked in using @rpath, so the only reliable way to find its location
is by examining binary images loaded into the current process.

11:32 AM Changeset in webkit [178042] by commit-queue@webkit.org
  • 126 edits in trunk/Source

Unreviewed, rolling out r178039.
https://bugs.webkit.org/show_bug.cgi?id=140187

Breaks ObjC Inspector Protocol (Requested by JoePeck on
#webkit).

Reverted changeset:

"Web Inspector: purge PassRefPtr from Inspector code and use
Ref for typed and untyped protocol objects"
https://bugs.webkit.org/show_bug.cgi?id=140053
http://trac.webkit.org/changeset/178039

10:33 AM Changeset in webkit [178041] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit/win

[Win] WindowCloseTimer is an ActiveDOMObject and must call suspendIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=140184
<rdar://problem/19399740>

Reviewed by Jer Noble.

This bug was found in fast/loader/stateobjects/popstate-fires-with-page-cache.html

  • WebView.cpp:

(WindowCloseTimer::create): Modify to ensure a call to suspendIfNeeded is made
during the creation process.

9:36 AM Changeset in webkit [178040] by eric.carlson@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

mathml/mathml-in-dashboard.html results are different on mac-mountainlion.

  • platform/mac-mountainlion/mathml/mathml-in-dashboard-expected.png: Added.
  • platform/mac-mountainlion/mathml/mathml-in-dashboard-expected.txt: Added.
9:32 AM Changeset in webkit [178039] by Brian Burg
  • 126 edits in trunk/Source

Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects
https://bugs.webkit.org/show_bug.cgi?id=140053

Reviewed by Andreas Kling.

Source/JavaScriptCore:

This patch replaces uses of PassRefPtr with uses of RefPtr&& and WTF::move() in code
related to Web Inspector. It also converts many uses of RefPtr to Ref where
references are always non-null. These two refactorings have been combined since
they tend to require similar changes to the code.

Creation methods for subclasses of InspectorValue now return a Ref, and callsites
have been updated to take a Ref instead of RefPtr.

Builders for typed protocol objects now return a Ref. Since there is no implicit
call to operator&, callsites now must explicitly call .release() to convert a
builder object into the corresponding protocol object once required fields are set.
Update callsites and use auto to eliminate repetition of longwinded protocol types.

Tests for inspector protocol and replay inputs have been rebaselined.

  • bindings/ScriptValue.cpp:

(Deprecated::jsToInspectorValue):
(Deprecated::ScriptValue::toInspectorValue):

  • bindings/ScriptValue.h:
  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::addToFrontend):

  • inspector/ContentSearchUtilities.cpp:

(Inspector::ContentSearchUtilities::buildObjectForSearchMatch):
(Inspector::ContentSearchUtilities::searchInTextByLines):

  • inspector/ContentSearchUtilities.h:
  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getInternalProperties):
(Inspector::InjectedScript::wrapCallFrames):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):

  • inspector/InjectedScript.h:
  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::makeEvalCall): Split the early exits.

  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::InspectorBackendDispatcher::CallbackBase::CallbackBase):
(Inspector::InspectorBackendDispatcher::CallbackBase::sendIfActive):
(Inspector::InspectorBackendDispatcher::create):
(Inspector::InspectorBackendDispatcher::dispatch):
(Inspector::InspectorBackendDispatcher::sendResponse):
(Inspector::InspectorBackendDispatcher::reportProtocolError):
(Inspector::getPropertyValue): Add a comment to clarify what this clever code does.
(Inspector::InspectorBackendDispatcher::getInteger):
(Inspector::InspectorBackendDispatcher::getDouble):
(Inspector::InspectorBackendDispatcher::getString):
(Inspector::InspectorBackendDispatcher::getBoolean):
(Inspector::InspectorBackendDispatcher::getObject):
(Inspector::InspectorBackendDispatcher::getArray):
(Inspector::InspectorBackendDispatcher::getValue):

  • inspector/InspectorBackendDispatcher.h: Use a typed protocol object to collect

protocol error strings.
(Inspector::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
Convert the supplemental dispatcher's reference to Ref since it is never null.

  • inspector/InspectorEnvironment.h:
  • inspector/InspectorProtocolTypes.h: Get rid of ArrayItemHelper and

StructItemTraits. Add more versions of addItem to handle pushing various types.
(Inspector::Protocol::Array::openAccessors):
(Inspector::Protocol::Array::addItem):
(Inspector::Protocol::Array::create):
(Inspector::Protocol::StructItemTraits::push):
(Inspector::Protocol::BindingTraits<Protocol::Array<T>>::runtimeCast): Assert argument.
(Inspector::Protocol::StructItemTraits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<String>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<int>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<double>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<bool>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorValue>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorObject>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorArray>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<Protocol::Array<T>>::Traits::pushRefPtr): Deleted.

  • inspector/InspectorValues.cpp: Straighten out getArray and getObject to have

the same call signature as other getters. Use Ref where possible.
(Inspector::InspectorObjectBase::getBoolean):
(Inspector::InspectorObjectBase::getString):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::getValue):
(Inspector::InspectorObjectBase::writeJSON):
(Inspector::InspectorArrayBase::get):
(Inspector::InspectorObject::create):
(Inspector::InspectorArray::create):
(Inspector::InspectorValue::null):
(Inspector::InspectorString::create):
(Inspector::InspectorBasicValue::create):
(Inspector::InspectorObjectBase::get): Deleted.

  • inspector/InspectorValues.h:

(Inspector::InspectorObjectBase::setValue):
(Inspector::InspectorObjectBase::setObject):
(Inspector::InspectorObjectBase::setArray):
(Inspector::InspectorArrayBase::pushValue):
(Inspector::InspectorArrayBase::pushObject):
(Inspector::InspectorArrayBase::pushArray):

  • inspector/JSGlobalObjectConsoleClient.cpp:

(Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel):
(Inspector::JSGlobalObjectConsoleClient::count):
(Inspector::JSGlobalObjectConsoleClient::timeEnd):
(Inspector::JSGlobalObjectConsoleClient::timeStamp):

  • inspector/JSGlobalObjectConsoleClient.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::executionStopwatch):

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/ScriptCallFrame.cpp:

(Inspector::ScriptCallFrame::buildInspectorObject):

  • inspector/ScriptCallFrame.h:
  • inspector/ScriptCallStack.cpp:

(Inspector::ScriptCallStack::create):
(Inspector::ScriptCallStack::buildInspectorArray):

  • inspector/ScriptCallStack.h:
  • inspector/agents/InspectorAgent.cpp:

(Inspector::InspectorAgent::enable):
(Inspector::InspectorAgent::inspect):
(Inspector::InspectorAgent::activateExtraDomain):

  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::buildObjectForBreakpointCookie):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::resolveBreakpoint):
(Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
(Inspector::InspectorDebuggerAgent::currentCallFrames):
(Inspector::InspectorDebuggerAgent::didParseSource):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):
(Inspector::InspectorDebuggerAgent::breakProgram):

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::buildErrorRangeObject):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
(Inspector::InspectorRuntimeAgent::getBasicBlocks):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/scripts/codegen/cpp_generator.py:

(CppGenerator.cpp_type_for_unchecked_formal_in_parameter):
(CppGenerator.cpp_type_for_type_with_name):
(CppGenerator.cpp_type_for_formal_async_parameter):
(CppGenerator.should_use_references_for_type):
(CppGenerator):

  • inspector/scripts/codegen/cpp_generator_templates.py:
  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:

(CppBackendDispatcherHeaderGenerator.generate_output):
(CppBackendDispatcherHeaderGenerator._generate_async_handler_declaration_for_command):

  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:

(CppBackendDispatcherImplementationGenerator._generate_small_dispatcher_switch_implementation_for_domain):
(CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py:

(CppFrontendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:

(CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):

  • inspector/scripts/codegen/generate_cpp_protocol_types_header.py:

(CppProtocolTypesHeaderGenerator.generate_output):
(_generate_class_for_object_declaration):
(_generate_unchecked_setter_for_member):
(_generate_forward_declarations_for_binding_traits):

  • inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:

(ObjCConfigurationImplementationGenerator._generate_success_block_for_command):

  • inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:

(ObjCFrontendDispatcherImplementationGenerator._generate_event):
(ObjCFrontendDispatcherImplementationGenerator._generate_event_out_parameters):

  • inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:

(ObjCProtocolTypesImplementationGenerator.generate_output):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • replay/EncodedValue.cpp:

(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::EncodedValue::put<EncodedValue>):
(JSC::EncodedValue::append<EncodedValue>):
(JSC::EncodedValue::get<EncodedValue>):

  • replay/EncodedValue.h:
  • replay/scripts/CodeGeneratorReplayInputs.py:

(Type.borrow_type):
(Type.argument_type):
(Generator.generate_member_move_expression):

  • runtime/ConsoleClient.cpp:

(JSC::ConsoleClient::printConsoleMessageWithArguments):
(JSC::ConsoleClient::internalMessageWithTypeAndLevel):
(JSC::ConsoleClient::logWithLevel):
(JSC::ConsoleClient::clear):
(JSC::ConsoleClient::dir):
(JSC::ConsoleClient::dirXML):
(JSC::ConsoleClient::table):
(JSC::ConsoleClient::trace):
(JSC::ConsoleClient::assertCondition):
(JSC::ConsoleClient::group):
(JSC::ConsoleClient::groupCollapsed):
(JSC::ConsoleClient::groupEnd):

  • runtime/ConsoleClient.h:
  • runtime/TypeSet.cpp:

(JSC::TypeSet::allStructureRepresentations):
(JSC::TypeSet::inspectorTypeSet):
(JSC::StructureShape::inspectorRepresentation):

  • runtime/TypeSet.h:

Source/WebCore:

This patch replaces uses of PassRefPtr with uses of RefPtr&& and WTF::move() in code
related to Web Inspector. It also converts many uses of RefPtr to Ref where
references are always non-null. These two refactorings have been combined since
they tend to require similar changes to the code.

No new tests, no behavior changed.

  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::openDatabase):

  • dom/Document.cpp:

(WebCore::Document::logExceptionToConsole):
(WebCore::Document::addMessage):

  • dom/Document.h:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::reportException):

  • dom/ScriptExecutionContext.h:
  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSAuditorDelegate::generateViolationReport):

  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::inspectImpl):

  • inspector/CommandLineAPIHost.h:
  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):

  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::setStyleText):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::forcePseudoState):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
(WebCore::InspectorInstrumentation::consoleTimeStamp):
(WebCore::InspectorInstrumentation::stopProfiling):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::buildObjectForHighlightedNode):
(WebCore::InspectorController::executionStopwatch):

  • inspector/InspectorController.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::parseColor):
(WebCore::parseConfigColor):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::setInspectModeEnabled):
(WebCore::InspectorDOMAgent::highlightRect):
(WebCore::InspectorDOMAgent::highlightQuad):
(WebCore::InspectorDOMAgent::innerHighlightQuad):
(WebCore::InspectorDOMAgent::highlightNode):
(WebCore::InspectorDOMAgent::highlightFrame):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::processAccessibilityChildren):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):
(WebCore::InspectorDOMAgent::resolveNode):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
(WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):

  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::findStorageArea):

  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp: Use Ref for all callbacks since they are

not nullable.
(WebCore::InspectorDatabaseAgent::executeSQL):

  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseInstrumentation.h:

(WebCore::InspectorInstrumentation::didOpenDatabase):

  • inspector/InspectorDatabaseResource.cpp:

(WebCore::InspectorDatabaseResource::create):
(WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
(WebCore::InspectorDatabaseResource::bind):

  • inspector/InspectorDatabaseResource.h:

(WebCore::InspectorDatabaseResource::setDatabase):

  • inspector/InspectorFrontendHost.h:

(WebCore::InspectorFrontendHost::create):

  • inspector/InspectorIndexedDBAgent.cpp: Use Ref for all callbacks since they are

not nullable.
(WebCore::InspectorIndexedDBAgent::requestDatabaseNames):
(WebCore::InspectorIndexedDBAgent::requestDatabase):
(WebCore::InspectorIndexedDBAgent::requestData):
(WebCore::ClearObjectStoreListener::create):
(WebCore::ClearObjectStoreListener::ClearObjectStoreListener):
(WebCore::ClearObjectStore::create):
(WebCore::ClearObjectStore::ClearObjectStore):
(WebCore::InspectorIndexedDBAgent::clearObjectStore):

  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willLoadXHRImpl):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::consoleCountImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleTimeStampImpl):
(WebCore::InspectorInstrumentation::stopProfilingImpl):
(WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
(WebCore::InspectorInstrumentation::sessionCreatedImpl):
(WebCore::InspectorInstrumentation::sessionLoadedImpl):
(WebCore::InspectorInstrumentation::sessionModifiedImpl):
(WebCore::InspectorInstrumentation::segmentCreatedImpl):
(WebCore::InspectorInstrumentation::segmentCompletedImpl):
(WebCore::InspectorInstrumentation::segmentLoadedImpl):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl): Deleted.
(WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl): Deleted.
(WebCore::InspectorInstrumentation::startProfilingImpl): Deleted.
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl): Deleted.
(WebCore::InspectorInstrumentation::willEvaluateWorkerScript): Deleted.
(WebCore::InspectorInstrumentation::captureStoppedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackStartedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackPausedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackHitPositionImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackFinishedImpl): Deleted.
(WebCore::InspectorInstrumentation::networkStateChangedImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willLoadXHR):
(WebCore::InspectorInstrumentation::sessionCreated):
(WebCore::InspectorInstrumentation::sessionLoaded):
(WebCore::InspectorInstrumentation::sessionModified):
(WebCore::InspectorInstrumentation::segmentCreated):
(WebCore::InspectorInstrumentation::segmentCompleted):
(WebCore::InspectorInstrumentation::segmentLoaded):
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorInstrumentation::didSendWebSocketFrame): Deleted.

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):

  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForPoint):
(WebCore::buildObjectForRect):
(WebCore::buildArrayForQuad):
(WebCore::buildObjectForHighlight):
(WebCore::buildObjectForRegionHighlight):
(WebCore::buildObjectForCSSRegionsHighlight):
(WebCore::buildObjectForSize):
(WebCore::buildObjectForCSSRegionContentClip):
(WebCore::InspectorOverlay::drawPaintRects):
(WebCore::buildObjectForRendererFragments):
(WebCore::buildObjectForShapeOutside):
(WebCore::buildObjectForElementInfo):
(WebCore::InspectorOverlay::buildObjectForHighlightedNode):
(WebCore::InspectorOverlay::reset):
(WebCore::InspectorOverlay::evaluateInOverlay):

  • inspector/InspectorOverlay.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::createXHRTextDecoder):
(WebCore::buildObjectForCookie):
(WebCore::buildArrayForCookies):
(WebCore::buildObjectForSearchResult):
(WebCore::InspectorPageAgent::buildObjectForFrame):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::buildInspectorObjectForPosition):
(WebCore::buildInspectorObjectForInput):
(WebCore::buildInspectorObjectForSession):
(WebCore::buildInspectorObjectForSegment):
(WebCore::InspectorReplayAgent::replayToPosition):
(WebCore::InspectorReplayAgent::getSessionData):
(WebCore::InspectorReplayAgent::getSegmentData):

  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForHeaders):
(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willLoadXHR):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
(WebCore::InspectorResourceAgent::loadResource):
(WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorResourceAgent::didScheduleStyleRecalculation): Deleted.
(WebCore::InspectorResourceAgent::disable): Deleted.
(WebCore::InspectorResourceAgent::setCacheDisabled): Deleted.

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.cpp:

(ParsedStyleSheet::ruleSourceDataAt):
(WebCore::buildSourceRangeObject):
(WebCore::buildMediaObject):
(WebCore::asCSSRuleList):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::create):
(WebCore::InspectorStyle::InspectorStyle):
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::InspectorStyle::extractSourceData):
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
(WebCore::buildObjectForSelectorHelper):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelector):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::toggleProperty):
(WebCore::InspectorStyleSheet::inspectorStyleForId):
(WebCore::InspectorStyleSheet::rememberInspectorStyle):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheet::collectFlatRules):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
(WebCore::InspectorStyleSheetForInlineStyle::inspectorStyleForId):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorCSSId::InspectorCSSId):
(WebCore::InspectorCSSId::asProtocolValue):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::didCompleteRecordEntry):
(WebCore::InspectorTimelineAgent::appendRecord):
(WebCore::InspectorTimelineAgent::sendEvent):
(WebCore::InspectorTimelineAgent::createRecordEntry):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):

  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:

(WebCore::InspectorWorkerAgent::sendMessageToWorker):

  • inspector/InspectorWorkerAgent.h:
  • inspector/NetworkResourcesData.cpp:

(WebCore::XHRReplayData::create):
(WebCore::XHRReplayData::XHRReplayData):

  • inspector/NetworkResourcesData.h:

(WebCore::NetworkResourcesData::ResourceData::decoder):
(WebCore::NetworkResourcesData::ResourceData::setDecoder):
(WebCore::NetworkResourcesData::ResourceData::buffer):
(WebCore::NetworkResourcesData::ResourceData::setBuffer):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createGenericRecord):
(WebCore::TimelineRecordFactory::createBackgroundRecord):
(WebCore::TimelineRecordFactory::createGCEventData):
(WebCore::TimelineRecordFactory::createFunctionCallData):
(WebCore::TimelineRecordFactory::createConsoleProfileData):
(WebCore::TimelineRecordFactory::createProbeSampleData):
(WebCore::TimelineRecordFactory::createEventDispatchData):
(WebCore::TimelineRecordFactory::createGenericTimerData):
(WebCore::TimelineRecordFactory::createTimerInstallData):
(WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
(WebCore::TimelineRecordFactory::createXHRLoadData):
(WebCore::TimelineRecordFactory::createEvaluateScriptData):
(WebCore::TimelineRecordFactory::createTimeStampData):
(WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
(WebCore::TimelineRecordFactory::createResourceSendRequestData):
(WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
(WebCore::TimelineRecordFactory::createResourceFinishData):
(WebCore::TimelineRecordFactory::createReceiveResourceData):
(WebCore::TimelineRecordFactory::createLayoutData):
(WebCore::TimelineRecordFactory::createDecodeImageData):
(WebCore::TimelineRecordFactory::createResizeImageData):
(WebCore::TimelineRecordFactory::createMarkData):
(WebCore::TimelineRecordFactory::createParseHTMLData):
(WebCore::TimelineRecordFactory::createAnimationFrameData):
(WebCore::createQuad):
(WebCore::TimelineRecordFactory::createPaintData):
(WebCore::buildInspectorObject):
(WebCore::buildProfileInspectorObject):
(WebCore::TimelineRecordFactory::appendProfile):

  • inspector/TimelineRecordFactory.h:

(WebCore::TimelineRecordFactory::createWebSocketCreateData):
(WebCore::TimelineRecordFactory::createGenericWebSocketData):

  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::executionStopwatch):

  • inspector/WorkerInspectorController.h:
  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::addMessage):
(WebCore::PageConsoleClient::messageWithTypeAndLevel):
(WebCore::PageConsoleClient::count):
(WebCore::PageConsoleClient::profileEnd):
(WebCore::PageConsoleClient::timeEnd):
(WebCore::PageConsoleClient::timeStamp):

  • page/PageConsoleClient.h:
  • replay/ReplayController.cpp:

(WebCore::ReplayController::switchSession):
(WebCore::ReplayController::createSegment):
(WebCore::ReplayController::completeSegment):
(WebCore::ReplayController::loadSegmentAtIndex):

  • replay/ReplayInputCreationMethods.cpp:

(WebCore::InitialNavigation::createFromPage):

  • workers/SharedWorkerGlobalScope.cpp:

(WebCore::SharedWorkerGlobalScope::logExceptionToConsole):

  • workers/SharedWorkerGlobalScope.h:
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::logExceptionToConsole):
(WebCore::WorkerGlobalScope::addMessage):
(WebCore::WorkerGlobalScope::addMessageToWorkerConsole):

  • workers/WorkerGlobalScope.h:

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: update symbol.

Source/WTF:

  • wtf/Stopwatch.h:

(WTF::Stopwatch::create): Return a Ref.

8:55 AM Changeset in webkit [178038] by Chris Fleizach
  • 5 edits
    5 adds in trunk

AX: Crash: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::AXObjectCache::clearTextMarkerNodesInUse + 149
https://bugs.webkit.org/show_bug.cgi?id=139929

Reviewed by Darin Adler.

Source/WebCore:

When a frame is replaced, there were instances when it was not clearing its associated nodes in the accessibility text marker -> Node cache.
This caused dead Nodes to be left in the cache which would eventually be accessed when the cache was cleaned out at a later time.

To fix this we should be clearing out the cache in Document::prepareForDestruction, instead of Frame::disconnectOwnerElement.

While working on this, it also exposed a problem where when a frame goes away, it doesn't inform its parent to update its children,
which causes an ASSERT to be hit with this test as well.

Tests: accessibility/frame-disconnect-textmarker-cache-crash.html

  • dom/Document.cpp:

(WebCore::Document::prepareForDestruction):

  • page/Frame.cpp:

(WebCore::Frame::disconnectOwnerElement):

Remove cache management from here since it is superceded by code in Document::prepareForDestruction

  • page/FrameView.cpp:

(WebCore::FrameView::removeFromAXObjectCache):

LayoutTests:

  • accessibility/frame-disconnect-textmarker-cache-crash-expected.txt: Added.
  • accessibility/frame-disconnect-textmarker-cache-crash.html: Added.
  • accessibility/resources/frameset.html: Added.
  • accessibility/resources/inform-parent-of-load.html: Added.
  • accessibility/resources/text.html: Added.
8:44 AM Changeset in webkit [178037] by clopez@igalia.com
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening after r177637.

  • platform/gtk/TestExpectations: Mark new crashing/failing tests after r177637.
8:09 AM Changeset in webkit [178036] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Unreviewed fix for the CoordinatedGraphics builds after r178034.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::setChildren): Add back the setChildren()
variant that receives a reference to the Vector of TextureMapperLayer
objects. This is still used by the CoordinatedGraphics code that still
constructs a separate Vector object each time the layer's children change.

  • platform/graphics/texmap/TextureMapperLayer.h:
5:19 AM Changeset in webkit [178035] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[TexMap] Use std::sort instead of qsort in TextureMapperLayer::sortByZOrder()
https://bugs.webkit.org/show_bug.cgi?id=136212

Reviewed by Darin Adler.

Use std::sort() instead of qsort() to sort the TextureMapperLayer objects
by their z-order. A lambda expression can be used to compare the m_centerZ
member variables of any two TextureMapperLayers.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::sortByZOrder):
(WebCore::TextureMapperLayer::compareGraphicsLayersZValue): Deleted.

  • platform/graphics/texmap/TextureMapperLayer.h:
5:14 AM Changeset in webkit [178034] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebCore

[TexMap] Avoid constructing Vector when setting new children of TextureMapperLayer
https://bugs.webkit.org/show_bug.cgi?id=137265

Reviewed by Brent Fulgham.

Instead of constructing a vector object and populating it with TextureMapperLayers
every time the children of a GraphicsLayer change, the children vector is now passed
directly to TextureMapperLayer::setChildren(), which properly downcasts GraphicsLayers
and adds the new TextureMapperLayer children.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::toTextureMapperLayerVector): Deleted.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::setChildren):

  • platform/graphics/texmap/TextureMapperLayer.h:
4:49 AM Changeset in webkit [178033] by zandobersek@gmail.com
  • 7 edits in trunk/Source

[TexMap] m_layer member in GraphicsLayerTextureMapper is always non-null
https://bugs.webkit.org/show_bug.cgi?id=140135

Reviewed by Darin Adler.

Source/WebCore:

Since the TextureMapperLayer member in the GraphicsLayerTextureMapper class
is always non-null, we don't need to keep it in a std::unique_ptr<>.

GraphicsLayerTextureMapper::layer() now returns a reference to the m_layer member.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::toTextureMapperLayerVector):
(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::GraphicsLayerTextureMapper::flushCompositingState):
(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
(WebCore::GraphicsLayerTextureMapper::setFilters):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:

Source/WebKit/win:

GraphicsLayerTextureMapper::layer() now returns a reference,
so the call sites are updated.

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::initialize):
(AcceleratedCompositingContext::startedAnimation):
(AcceleratedCompositingContext::compositeLayersToContext):

Source/WebKit2:

GraphicsLayerTextureMapper::layer() now returns a reference,
so the call sites are updated.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::initialize):
(WebKit::LayerTreeHostGtk::layerFlushTimerFired):
(WebKit::LayerTreeHostGtk::compositeLayersToContext):

4:12 AM Changeset in webkit [178032] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.4.8

WebKitGTK+ 2.4.8

2:45 AM Changeset in webkit [178031] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Unreviewed. Update NEWS and Versions.m4 for 2.4.8 release.

.:

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

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.4.8.
2:34 AM Changeset in webkit [178030] by saambarati1@gmail.com
  • 4 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: Abstract common functions from TypeTokenAnnotator into a parent class and introduce an AnnotatorManager
https://bugs.webkit.org/show_bug.cgi?id=139426

Reviewed by Timothy Hatcher.

This patch creates a parent class, Annotator, that TypeTokenAnnotator
inherits from. Annotator defines a common set of functionality
that a text editor annotator can use to mark up UI. This
is in preparation other classes that will inherit from Annotator.

This patch also introduces AnnotatorManager which controls a
set of Annotators and provides a single interface for
controlling them.

  • UserInterface/Controllers/Annotator.js: Added.

(WebInspector.Annotator):
(WebInspector.Annotator.prototype.get sourceCodeTextEditor):
(WebInspector.Annotator.prototype.get isActive):
(WebInspector.Annotator.prototype.pause):
(WebInspector.Annotator.prototype.resume):
(WebInspector.Annotator.prototype.refresh):
(WebInspector.Annotator.prototype.reset):
(WebInspector.Annotator.prototype.clear):
(WebInspector.Annotator.prototype.insertAnnotations):
(WebInspector.Annotator.prototype.clearAnnotations):
(WebInspector.Annotator.prototype._clearTimeoutIfNeeded):

  • UserInterface/Controllers/AnnotatorManager.js: Added.

(WebInspector.AnnotatorManager):
(WebInspector.AnnotatorManager.prototype.addAnnotator):
(WebInspector.AnnotatorManager.prototype.isAnnotatorActive):
(WebInspector.AnnotatorManager.prototype.pauseAll):
(WebInspector.AnnotatorManager.prototype.resumeAll):
(WebInspector.AnnotatorManager.prototype.refreshAllIfActive):
(WebInspector.AnnotatorManager.prototype.resetAllIfActive):
(WebInspector.AnnotatorManager.prototype.clearAll):
(WebInspector.AnnotatorManager.prototype.removeAllAnnotators):
(WebInspector.AnnotatorManager.prototype._getAnnotators):

  • UserInterface/Controllers/TypeTokenAnnotator.js:

(WebInspector.TypeTokenAnnotator):
(WebInspector.TypeTokenAnnotator.prototype.insertAnnotations.):
(WebInspector.TypeTokenAnnotator.prototype.clearAnnotations):
(WebInspector.TypeTokenAnnotator.prototype._insertToken):
(WebInspector.TypeTokenAnnotator.prototype.get isActive): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.get sourceCodeTextEditor): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.pause): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.resume): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.refresh): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.reset): Deleted.
(WebInspector.TypeTokenAnnotator.prototype._insertAnnotations.): Deleted.
(WebInspector.TypeTokenAnnotator.prototype._clearTimeoutIfNeeded): Deleted.

  • UserInterface/Main.html:
  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype.shown):
(WebInspector.SourceCodeTextEditor.prototype.hidden):
(WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
(WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
(WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
(WebInspector.SourceCodeTextEditor.prototype._getAssociatedScript):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):

2:22 AM Changeset in webkit [178029] by commit-queue@webkit.org
  • 15 edits in trunk/Source/WebCore

Fix Border-radius clipping issue on a composited descendants
https://bugs.webkit.org/show_bug.cgi?id=138551

Patch by Byungseon Shin <sun.shin@lge.com> on 2015-01-07
Reviewed by Simon Fraser.

Fix clipping compositing descendants of an accelerated layer having
border radius and clip overflow issue by using layer corner-radius
or a CAShapeLayer mask on Mac, and setting up a separate mask layer
on the childContainmentLayer on other platforms.

This patch is extracted from following Blink revisions:
<http://src.chromium.org/viewvc/blink?view=revision&revision=162463>
<http://src.chromium.org/viewvc/blink?view=revision&revision=158258>
by <Ion Rosca>

Clip accelerated descendants of an accelerated layer having border radius and clip overflow.
Large canvas does not honor containing div's border radius.

and <http://src.chromium.org/viewvc/blink?view=revision&revision=160578>
by <junov@chromium.org>

Fix for CSS clip-path with accelerated 2D canvas.

  • WebCore.exp.in:
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::dumpProperties):

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::applyClippingBorder):
(WebCore::GraphicsLayer::clearClippingBorder):
(WebCore::GraphicsLayer::needsClippingMaskLayer):

  • platform/graphics/GraphicsLayerClient.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::applyClippingBorder):
(WebCore::GraphicsLayerCA::clearClippingBorder):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/PaintPhase.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintObject):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintClippingMask):

  • rendering/RenderBox.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintChildClippingMaskForFragments):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::~RenderLayerBacking):
(WebCore::RenderLayerBacking::destroyGraphicsLayers):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::updateChildClippingStrategy):
(WebCore::RenderLayerBacking::setContentsNeedDisplay):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):
(WebCore::RenderLayerBacking::backingStoreMemoryEstimate):

  • rendering/RenderLayerBacking.h:
1:51 AM Changeset in webkit [178028] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Use HashMap instead of CFDictionary for composite font reference map
https://bugs.webkit.org/show_bug.cgi?id=140150

Reviewed by Geoff Garen.

Use WebKit types. Also use USE(APPKIT) consistently for this feature.

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):

The whole desctructor gets handled implicitly.

  • platform/graphics/SimpleFontData.h:
  • platform/graphics/mac/GlyphPageMac.cpp:

(WebCore::GlyphPage::mayUseMixedFontDataWhenFilling):
(WebCore::GlyphPage::fill):

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::compositeFontReferenceFontData):
(WebCore::SimpleFontData::getCompositeFontReferenceFontData): Deleted.

1:27 AM Changeset in webkit [178027] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

1:25 AM Changeset in webkit [178026] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.13

New tag.

12:19 AM Changeset in webkit [178025] by mihnea@adobe.com
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: rareData->m_flowThreadContainingBlock.value() == RenderBox::locateFlowThreadContainingBlock() in WebCore::RenderBlock::locateFlowThreadContainingBlock
https://bugs.webkit.org/show_bug.cgi?id=139390

Reviewed by Andrei Bucur.

Source/WebCore:

When a block level element is inserted into an inline element, the inline element is split
in order to make sure that all the inline element children are properly wrapped inside
anonymous block elements. If the inline element is inside a pagination context, we have
to invalidate the cached flow thread containing block for the split inline element and its descendants.

Test: fast/multicol/newmulticol/block-split-inline-in-multicol.html

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::splitInlines):

LayoutTests:

  • fast/multicol/newmulticol/block-split-inline-in-multicol-expected.txt: Added.
  • fast/multicol/newmulticol/block-split-inline-in-multicol.html: Added.

Jan 6, 2015:

11:18 PM Changeset in webkit [178024] by yoon@igalia.com
  • 3 edits in trunk/Source/WebKit2

Remove the remaining uses of OwnPtr in threaded compositor.
https://bugs.webkit.org/show_bug.cgi?id=140172

Reviewed by Sam Weinig.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::runCompositingThread):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
11:16 PM Changeset in webkit [178023] by ap@apple.com
  • 2 edits in trunk/LayoutTests

mathml/mathml-in-dashboard.html fails on WebKit2 testers.

  • platform/wk2/TestExpectations: Skip the test, setUseDashboardCompatibilityMode

is not implemented in WebKitTestRunner.

11:13 PM Changeset in webkit [178022] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'content' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140169

Reviewed by Sam Weinig.

Move 'content' CSS property to the new StyleBuilder.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInitialContent):
(WebCore::StyleBuilderCustom::applyInheritContent):
(WebCore::StyleBuilderCustom::applyValueContent):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

11:03 PM Changeset in webkit [178021] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Do not style implicit CSS properties in the Style Rules section
https://bugs.webkit.org/show_bug.cgi?id=140161

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-06
Reviewed by Timothy Hatcher.

Previously, implicit properties being transparent in the Rules section
was confusing and not useful. Lets simplify what transparency means:

  • Rules: transparency means a non-inheritable property in an inherited rule
  • Computed: transparency means an implicit value
  • UserInterface/Views/CSSStyleDeclarationTextEditor.css:

(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.not-inherited):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.implicit, .not-inherited)): Deleted.

10:35 PM Changeset in webkit [178020] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Move 'webkit-mask-image' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140168

Reviewed by Sam Weinig.

Move 'webkit-mask-image' CSS property to the new StyleBuilder.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertMaskImageOperations):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInitialWebkitMaskImage):
(WebCore::StyleBuilderCustom::applyInheritWebkitMaskImage):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::createMaskImageOperations): Deleted.

  • css/StyleResolver.h:
7:23 PM Changeset in webkit [178019] by Chris Dumez
  • 9 edits in trunk/Source

Drop ResourceResponseBase::connectionID and connectionReused members
https://bugs.webkit.org/show_bug.cgi?id=140158

Reviewed by Sam Weinig.

Drop ResourceResponseBase::connectionID and connectionReused members.
Those were needed by the Chromium port but are no longer used.

Source/JavaScriptCore:

  • inspector/protocol/Network.json:

Source/WebCore:

  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForResourceResponse):

  • page/PerformanceResourceTiming.cpp:

(WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
(WebCore::PerformanceResourceTiming::connectStart):
(WebCore::PerformanceResourceTiming::connectEnd):

  • page/PerformanceResourceTiming.h:
  • page/PerformanceTiming.cpp:

(WebCore::PerformanceTiming::connectStart):
(WebCore::PerformanceTiming::connectEnd):

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::ResourceResponseBase):
(WebCore::ResourceResponseBase::connectionReused): Deleted.
(WebCore::ResourceResponseBase::setConnectionReused): Deleted.
(WebCore::ResourceResponseBase::connectionID): Deleted.
(WebCore::ResourceResponseBase::setConnectionID): Deleted.

  • platform/network/ResourceResponseBase.h:

(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):

6:56 PM Changeset in webkit [178018] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exception when dismissing Go To Line dialog
https://bugs.webkit.org/show_bug.cgi?id=139663

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-06
Reviewed by Timothy Hatcher.

Calling removeChild would trigger the blur event handler and do a
nested call of dismiss(), re-entering and removing while in the middle
of removing. Avoid re-entrancy to avoid the exception.

  • UserInterface/Views/GoToLineDialog.js:

(WebInspector.GoToLineDialog):
(WebInspector.GoToLineDialog.prototype.dismiss):

6:36 PM Changeset in webkit [178017] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Move the 'alt' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140129

Reviewed by Darin Adler.

Move the 'alt' CSS property to the new StyleBuilder.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueAlt):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • rendering/style/RenderStyle.h:
6:23 PM Changeset in webkit [178016] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move '-webkit-text-size-adjust' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140157

Reviewed by Darin Adler.

Move '-webkit-text-size-adjust' CSS property to the new StyleBuilder.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderCustom.h:

(WebCore::applyValueWebkitTextSizeAdjust):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

6:22 PM Changeset in webkit [178015] by Bem Jones-Bey
  • 3 edits
    2 adds in trunk

[CSS Masking][CSS Shapes] Large corner radii use with inset() clip-path are not properly constrained
https://bugs.webkit.org/show_bug.cgi?id=140127

Reviewed by Darin Adler.

Source/WebCore:

Constrain large corner radii for inset() clip-path in the same way
that border-radii are constrained.

Test: fast/masking/clip-path-inset-large-radii.html

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShapeInset::path): Add radii constraint. Also reformat

code a little to shut the style bot up.

LayoutTests:

  • fast/masking/clip-path-inset-large-radii-expected.html: Added.
  • fast/masking/clip-path-inset-large-radii.html: Added.
6:08 PM Changeset in webkit [178014] by Chris Dumez
  • 5 edits
    2 adds in trunk

Only throttle DOM timers if they change CSS properties that cannot cause non-descendant elements to become visible
https://bugs.webkit.org/show_bug.cgi?id=140142

Reviewed by Darin Adler.

Source/WebCore:

Only throttle DOM timers if they change CSS properties that cannot cause
non-descendant elements to become visible. For example, a DOM timer may
change the height of an element that is outside the viewport. However,
changing its height may causes elements inside the viewport to move. As
such, we should NOT throttle such DOM timer.

With this patch, we only mark a repeating timer as candidate for
throttling if it is updating one of the following CSS properties:
left, right, top, bottom, webkit-transform, opacity.

Test: fast/dom/timer-height-change-no-throttling.html

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::propertyChangeMayRepaintNonDescendants):
(WebCore::JSCSSStyleDeclaration::putDelegate):

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::scriptDidCauseElementRepaint):

  • page/DOMTimer.h:

LayoutTests:

Add a layout test to make sure that a DOM timer changing the 'height'
property of an element outside the viewport does not get throttled.

  • fast/dom/timer-height-change-no-throttling-expected.txt: Added.
  • fast/dom/timer-height-change-no-throttling.html: Added.
6:06 PM Changeset in webkit [178013] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Add utility method on FrameView that resumes animated images and unthrottles DOM timers
https://bugs.webkit.org/show_bug.cgi?id=140151

Reviewed by Darin Adler.

Add utility method on FrameView that resumes animated images and
unthrottles DOM timers.

  • dom/Document.cpp:

(WebCore::Document::recalcStyle):

  • page/FrameView.cpp:

(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::viewportContentsChanged):
(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::performPostLayoutTasks):

  • page/FrameView.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo):

5:59 PM Changeset in webkit [178012] by Chris Dumez
  • 10 edits
    1 copy
    1 move
    3 adds
    1 delete in trunk

Do not attempt to revalidate cached main resource on back/forward navigation
https://bugs.webkit.org/show_bug.cgi?id=139263

Reviewed by Darin Adler.

Source/WebCore:

Do not attempt to revalidate cached main resource on back/forward
navigation, as allowed by RFC2616 & newer RFC7234 which distinguish
history mechanisms and caches, stating:

The freshness model (Section 4.2) does not necessarily apply to
history mechanisms. That is, a history mechanism can display a
previous representation even if it has expired.

Previously, we would bypass revalidation on back/forward navigation
only for sub-resources. This patch extends this policy to the main
resource as well.

This behavior is also consistent with IE10+ and Chrome. It makes it more
likely we return cached content to the user on back/forward navigation
and avoids making network requests in this case.

Test: http/tests/cache/history-navigation-no-resource-revalidation.html

  • loader/cache/CacheValidation.cpp:

(WebCore::redirectChainAllowsReuse):

  • loader/cache/CacheValidation.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::redirectChainAllowsReuse):
Add a "ReuseExpiredRedirectionOrNot" flag argument because in the case
of an HistoryBuffer navigation, we don't mind reuse an expired
redirection. However, we still need to make sure that the redirection
is actually cached before reusing it.

  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::determineRevalidationPolicy):

  • Do the redirectChainAllowsReuse() check *before* checking if the cache policy is CachePolicyHistoryBuffer. This is needed because redirectChainAllowsReuse() will return false if the redirection is not cached. Loading from the cache in this case will cause us to load the wrong resource (the one before the redirection). This case is covered by http/tests/navigation/redirect-on-reload-updates-history-item.html.
  • Do not use the cached main resource if it has "cache-control: no-store", even if it is a history navigation (cachePolicy is CachePolicyHistoryBuffer). This maintains the previous behavior, and some layout tests rely on this. We now have to be explicit about it because cachePolicy() can now return CachePolicyHistoryBuffer for the main resource (not just sub-resources). This difference in behavior on history navigation for the main resource and sub-resources is not great. However, I chose to maintain this pre-existing behavior in this patch to do one behavior change at a time. We can harmonize this later.

Previously, the order was not an issue because the main resource was
always revalidated on back/forward navigation.

(WebCore::CachedResourceLoader::cachePolicy):
Return CachePolicyHistoryBuffer for the main resource in case of
history navigation, instead of CachePolicyVerify so that we don't
attempt to revalidate.

LayoutTests:

Add layout test to make sure we don't attempt to revalidate a cached
main resource on back/forward navigation.

  • http/tests/cache/history-navigation-no-resource-revalidation-expected.txt: Added.
  • http/tests/cache/history-navigation-no-resource-revalidation.html: Added.
  • http/tests/cache/resources/history-back.html: Renamed from LayoutTests/http/tests/cache/resources/no-store-resource-forward.html.
  • http/tests/cache/resources/max-age-resource-forward.html: Removed.
  • http/tests/cache/resources/max-age-resource.html:
  • http/tests/cache/resources/no-cache-main-resource-next.php: Added.
  • http/tests/cache/resources/no-cache-main-resource.php: Copied from LayoutTests/http/tests/cache/resources/no-store-resource.html.
5:57 PM Changeset in webkit [178011] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r177988.
https://bugs.webkit.org/show_bug.cgi?id=140159

mysteriously broke 2 tests (Requested by kling on #webkit).

Reverted changeset:

"Pack WebCore::RuleData better."
https://bugs.webkit.org/show_bug.cgi?id=140109
http://trac.webkit.org/changeset/177988

5:54 PM Changeset in webkit [178010] by Chris Dumez
  • 5 edits in trunk

Setting '-webkit-filter' to 'brightness(calc(10% * 2))' does not work
https://bugs.webkit.org/show_bug.cgi?id=140149

Reviewed by Darin Adler.

Source/WebCore:

Setting '-webkit-filter' to 'brightness(calc(10% * 2))' was not working
because the CSS parser did not handle calculated values inside
brightness(). This patch addresses the issue.

Test: fast/css/webkit-filter-calc.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseBuiltinFilterArguments):

LayoutTests:

Update the -webkit-filter calculated value test to cover brightness()
function as well.

  • fast/css/webkit-filter-calc-expected.txt:
  • fast/css/webkit-filter-calc.html:
5:22 PM Changeset in webkit [178009] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Assertion in RenderGeometryMap::mapToContainer with LayoutUnit overflow.
https://bugs.webkit.org/show_bug.cgi?id=108619
rdar://problem/19391214

Use only FloatQuad in RenderGeometryMap::mapToContainer.

Due to the difference in the internal representation of FloatRect and FloatQuad,
with certain float values, converting FloatRect to FloatQuad and back
to FloatRect could produce a slightly different rect.

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/block/geometry-map-assertion-with-tall-content.html

  • rendering/RenderGeometryMap.cpp:

(WebCore::RenderGeometryMap::mapToContainer):

LayoutTests:

  • fast/block/geometry-map-assertion-with-tall-content-expected.txt: Added.
  • fast/block/geometry-map-assertion-with-tall-content.html: Added.
5:03 PM Changeset in webkit [178008] by mark.lam@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Add the lexicalEnvironment as an operand to op_create_arguments.
<https://webkit.org/b/140148>

Reviewed by Geoffrey Garen.

This patch only adds the operand to the bytecode. It is not in use yet.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::createArgumentsIfNecessary):

  • Adds the lexicalEnvironment register (if present) as an operand to op_create_arguments. Else, adds a constant empty JSValue.
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
4:45 PM Changeset in webkit [178007] by andersca@apple.com
  • 2 edits in trunk/Tools

Try to fix the Mountain Lion build.

  • TestWebKitAPI/Tests/WebKit2/FindMatches.mm:

(TestWebKitAPI::didGetImageForMatchResult):

4:34 PM Changeset in webkit [178006] by weinig@apple.com
  • 3 edits
    3 adds in trunk

Allow MathML in dashboard compatibility mode
https://bugs.webkit.org/show_bug.cgi?id=140153

Reviewed by Alexey Proskuryakov.

Source/WebCore:

In what seems like an accident due to the way we used to disable SVG in
dashboard, MathML has been disable in dashboard compatibility mode. There
does not seem to be any reason to keep this accidental quirk.

Test: mathml/mathml-in-dashboard.html

  • dom/make_names.pl:

(printFactoryCppFile):

LayoutTests:

  • mathml/mathml-in-dashboard-expected.txt: Added.
  • mathml/mathml-in-dashboard.html: Added.
  • platform/mac/mathml/mathml-in-dashboard-expected.png: Added.
4:26 PM Changeset in webkit [178005] by ap@apple.com
  • 2 edits in trunk/Tools

Debug ASan builds frequently crash in Register::jsValue under DFG::prepareOSREntry
https://bugs.webkit.org/show_bug.cgi?id=140095

Reviewed by Anders Carlsson.

  • asan/webkit-asan-ignore.txt: Blacklist a function that gets inlined in release

builds, but not in debug ones.

4:20 PM Changeset in webkit [178004] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Fix this test to wait for the load event before dumping. Expected image
changes.

  • compositing/images/content-image-change.html:
  • platform/mac/compositing/images/content-image-change-expected.png:
4:18 PM Changeset in webkit [178003] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

View state change callbacks are sometimes dropped on the floor
https://bugs.webkit.org/show_bug.cgi?id=140156
<rdar://problem/19255417>

Reviewed by Anders Carlsson.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::dispatchViewStateChange):
Always send SetViewState to the Web process if we have any
registered view state change callbacks. Otherwise, if nothing changed,
we can end up never calling the callback.

4:08 PM Changeset in webkit [178002] by Simon Fraser
  • 9 edits in trunk

Some composting reflections tests are broken
https://bugs.webkit.org/show_bug.cgi?id=139889

Reviewed by Tim Horton.

Source/WebCore:

When creating layer clones for reflections, we'd clobber the layer background
color via resetting the custom appearance on the clone. Fix by having
PlatformCALayerMac::updateCustomAppearance() only do work when the appearance changes.

Some other drive-by nullptr changes, and include layer IDs in debug layer names.

Covered by existing pixel tests.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setName):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):

  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::updateCustomAppearance):
(PlatformCALayerMac::tiledBacking):

LayoutTests:

New image baselines.

  • platform/mac/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/mac/compositing/reflections/compositing-change-inside-reflection-expected.png:
  • platform/mac/compositing/reflections/masked-reflection-on-composited-expected.png:
  • platform/mac/compositing/reflections/reflection-opacity-expected.png:
  • platform/mac/compositing/reflections/transform-inside-reflection-expected.png:
3:40 PM Changeset in webkit [178001] by Brent Fulgham
  • 7 edits in trunk/Tools

[Win] Extend WinLauncher with support for Page Zoom
https://bugs.webkit.org/show_bug.cgi?id=140152

Reviewed by Anders Carlsson.

  • WinLauncher/Common.cpp:

(WndProc):

  • WinLauncher/WinLauncher.cpp:

(WinLauncher::resetZoom):
(WinLauncher::zoomIn):
(WinLauncher::zoomOut):

  • WinLauncher/WinLauncher.h:
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc:
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h:
  • win/DLLLauncher/DLLLauncherMain.cpp:

(wWinMain):

3:16 PM Changeset in webkit [178000] by dburkart@apple.com
  • 1 copy in tags/Safari-600.3.16

Tagging.

3:03 PM Changeset in webkit [177999] by Simon Fraser
  • 37 edits
    18 deletes in trunk/LayoutTests

Replace some pixel results that were generated on Linux with no alpha with images
having alpha, generated on Mac, since the canonical expected image format should have alpha.

  • compositing/absolute-position-changed-in-composited-layer-expected.png:
  • compositing/absolute-position-changed-with-composited-parent-layer-expected.png:
  • compositing/backface-visibility/backface-visibility-image-expected.png:
  • compositing/backface-visibility/backface-visibility-simple-expected.png:
  • compositing/backface-visibility/backface-visibility-webgl-expected.png:
  • compositing/checkerboard-expected.png:
  • compositing/clip-change-expected.png: Removed.
  • compositing/culling/clear-fixed-iframe-expected.png:
  • compositing/culling/filter-occlusion-alpha-expected.png:
  • compositing/culling/filter-occlusion-alpha-large-expected.png:
  • compositing/culling/scrolled-within-boxshadow-expected.png:
  • compositing/culling/tile-occlusion-boundaries-expected.png:
  • compositing/culling/translated-boxshadow-expected.png:
  • compositing/culling/unscrolled-within-boxshadow-expected.png:
  • compositing/fixed-position-changed-in-composited-layer-expected.png:
  • compositing/fixed-position-changed-within-composited-parent-layer-expected.png:
  • compositing/geometry/foreground-offset-change-expected.png: Removed.
  • compositing/iframes/fixed-position-iframe-expected.png: Removed.
  • compositing/iframes/invisible-iframe-expected.png:
  • compositing/iframes/invisible-nested-iframe-expected.png:
  • compositing/iframes/nested-composited-iframe-expected.png:
  • compositing/iframes/scroll-grandchild-iframe-expected.png: Removed.
  • compositing/layer-creation/overlap-child-layer-expected.png:
  • compositing/layer-creation/overlap-transformed-layer-expected.png:
  • compositing/overflow/image-load-overflow-scrollbars-expected.png:
  • compositing/overflow/scrollbars-with-clipped-owner-expected.png:
  • compositing/overflow/transform-in-empty-container-expected.png:
  • compositing/preserve-3d-toggle-expected.png:
  • compositing/repaint/page-scale-repaint-expected.png: Removed.
  • compositing/repaint/shrink-layer-expected.png: Removed.
  • compositing/repaint/transform-style-change-expected.png: Removed.
  • compositing/rtl/rtl-absolute-expected.png:
  • compositing/rtl/rtl-absolute-overflow-expected.png:
  • compositing/rtl/rtl-absolute-overflow-scrolled-expected.png: Removed.
  • compositing/rtl/rtl-fixed-expected.png:
  • compositing/rtl/rtl-fixed-overflow-expected.png:
  • compositing/rtl/rtl-fixed-overflow-scrolled-expected.png: Removed.
  • compositing/rtl/rtl-iframe-absolute-expected.png:
  • compositing/rtl/rtl-iframe-absolute-overflow-expected.png:
  • compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.png: Removed.
  • compositing/rtl/rtl-iframe-fixed-expected.png: Removed.
  • compositing/rtl/rtl-iframe-fixed-overflow-expected.png: Removed.
  • compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.png: Removed.
  • compositing/rtl/rtl-iframe-relative-expected.png: Removed.
  • compositing/rtl/rtl-overflow-invalidation-expected.png: Removed.
  • compositing/rtl/rtl-overflow-scrolling-expected.png: Removed.
  • compositing/rtl/rtl-relative-expected.png: Removed.
  • compositing/scrollbar-painting-expected.png:
  • compositing/tiling/huge-layer-img-expected.png:
  • compositing/video-page-visibility-expected.png: Removed.
  • compositing/video/video-reflection-expected.png:
  • compositing/visibility/visibility-composited-animation-expected.png:
  • compositing/webgl/webgl-repaint-expected.png:
  • platform/mac/compositing/video/video-controls-layer-creation-expected.png:
3:03 PM Changeset in webkit [177998] by Simon Fraser
  • 72 edits
    12 adds in trunk/LayoutTests

Update pixel results for some compositing tests.

  • compositing/images/direct-pdf-image-expected.png:
  • compositing/layer-creation/fixed-position-and-transform-expected.png:
  • compositing/layer-creation/fixed-position-under-transform-expected.png:
  • compositing/overflow/clip-content-under-overflow-controls-expected.png:
  • platform/mac/compositing/animation/state-at-end-event-transform-layer-expected.png:
  • platform/mac/compositing/color-matching/image-color-matching-expected.png:
  • platform/mac/compositing/color-matching/pdf-image-match-expected.png:
  • platform/mac/compositing/compositing-visible-descendant-expected.png:
  • platform/mac/compositing/culling/filter-occlusion-blur-expected.png: Added.
  • platform/mac/compositing/culling/filter-occlusion-blur-large-expected.png: Added.
  • platform/mac/compositing/direct-image-compositing-expected.png:
  • platform/mac/compositing/fixed-position-scroll-offset-history-restore-expected.png: Added.
  • platform/mac/compositing/generated-content-expected.png:
  • platform/mac/compositing/geometry/abs-position-inside-opacity-expected.png:
  • platform/mac/compositing/geometry/clipping-foreground-expected.png:
  • platform/mac/compositing/geometry/composited-html-size-expected.png:
  • platform/mac/compositing/geometry/fixed-in-composited-expected.png:
  • platform/mac/compositing/geometry/fixed-position-expected.png:
  • platform/mac/compositing/geometry/foreground-layer-expected.png:
  • platform/mac/compositing/geometry/layer-due-to-layer-children-deep-expected.png:
  • platform/mac/compositing/geometry/layer-due-to-layer-children-expected.png:
  • platform/mac/compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.png: Added.
  • platform/mac/compositing/geometry/outline-change-expected.png:
  • platform/mac/compositing/geometry/partial-layout-update-expected.png:
  • platform/mac/compositing/geometry/root-layer-update-expected.png:
  • platform/mac/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.png:
  • platform/mac/compositing/geometry/video-fixed-scrolling-expected.png:
  • platform/mac/compositing/geometry/video-opacity-overlay-expected.png:
  • platform/mac/compositing/iframes/composited-iframe-alignment-expected.png:
  • platform/mac/compositing/iframes/iframe-copy-on-scroll-expected.png:
  • platform/mac/compositing/images/direct-image-background-color-expected.png:
  • platform/mac/compositing/layers-inside-overflow-scroll-expected.png:
  • platform/mac/compositing/masks/direct-image-mask-expected.png:
  • platform/mac/compositing/masks/masked-ancestor-expected.png:
  • platform/mac/compositing/masks/multiple-masks-expected.png:
  • platform/mac/compositing/masks/simple-composited-mask-expected.png:
  • platform/mac/compositing/overflow/ancestor-overflow-expected.png:
  • platform/mac/compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor-expected.png: Added.
  • platform/mac/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/mac/compositing/overflow/fixed-position-ancestor-clip-expected.png:
  • platform/mac/compositing/overflow/nested-scrolling-expected.png: Added.
  • platform/mac/compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor-expected.png: Added.
  • platform/mac/compositing/overflow/overflow-compositing-descendant-expected.png:
  • platform/mac/compositing/overflow/overflow-positioning-expected.png:
  • platform/mac/compositing/overflow/overflow-scroll-expected.png:
  • platform/mac/compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.png: Added.
  • platform/mac/compositing/overflow/parent-overflow-expected.png:
  • platform/mac/compositing/overflow/remove-overflow-crash2-expected.png: Added.
  • platform/mac/compositing/overflow/scroll-ancestor-update-expected.png:
  • platform/mac/compositing/overflow/scrollbar-painting-expected.png:
  • platform/mac/compositing/plugins/composited-plugin-expected.png:
  • platform/mac/compositing/reflections/deeply-nested-reflections-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-anchor-point-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-animated-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-mask-change-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-opacity-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-size-change-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-transformed-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-transformed2-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-transition-expected.png:
  • platform/mac/compositing/reflections/reflection-in-composited-expected.png:
  • platform/mac/compositing/reflections/reflection-on-composited-expected.png:
  • platform/mac/compositing/reflections/reflection-ordering-expected.png:
  • platform/mac/compositing/reflections/reflection-positioning-expected.png:
  • platform/mac/compositing/reflections/reflection-positioning2-expected.png:
  • platform/mac/compositing/reflections/simple-composited-reflections-expected.png:
  • platform/mac/compositing/repaint/become-overlay-composited-layer-expected.png:
  • platform/mac/compositing/repaint/composited-document-element-expected.png:
  • platform/mac/compositing/repaint/layer-repaint-expected.png:
  • platform/mac/compositing/repaint/layer-repaint-rects-expected.png:
  • platform/mac/compositing/repaint/opacity-between-absolute-expected.png:
  • platform/mac/compositing/repaint/opacity-between-absolute2-expected.png:
  • platform/mac/compositing/repaint/repaint-on-layer-grouping-change-expected.png: Added.
  • platform/mac/compositing/self-painting-layers-expected.png:
  • platform/mac/compositing/shadows/shadow-drawing-expected.png:
  • platform/mac/compositing/sibling-positioning-expected.png:
  • platform/mac/compositing/text-on-large-layer-expected.png:
  • platform/mac/compositing/transitions/scale-transition-no-start-expected.png:
  • platform/mac/compositing/transitions/singular-scale-transition-expected.png:
  • platform/mac/compositing/webgl/webgl-background-color-expected.png:
  • platform/mac/compositing/webgl/webgl-no-alpha-expected.png:
2:47 PM Changeset in webkit [177997] by andersca@apple.com
  • 4 edits in trunk/Tools

Fix API tests that are broken under HiDPI
https://bugs.webkit.org/show_bug.cgi?id=140146

Reviewed by Tim Horton.

  • TestWebKitAPI/Tests/WebKit2/FindMatches.mm:

(TestWebKitAPI::didGetImageForMatchResult):
NSImages are measured in points, so grab the underlying bitmap image and get its size in pixels.

  • TestWebKitAPI/Tests/mac/DeviceScaleFactorOnBack.mm:

(TestWebKitAPI::DeviceScaleFactorOnBack::runTest):
Don't assume that a web view not in a window has a backing scale factor of 1. Instead, always have web views start
out in a window that has a backing scale factor of 1.

  • TestWebKitAPI/Tests/mac/DynamicDeviceScaleFactor.mm:

(TestWebKitAPI::DynamicDeviceScaleFactor::runTest):
Ditto.

2:32 PM Changeset in webkit [177996] by weinig@apple.com
  • 144 edits in trunk/Source/WebCore

Modernize the HTMLElement factory
https://bugs.webkit.org/show_bug.cgi?id=140063

Reviewed by Darin Adler.

Make the HTMLElement (and derived classes) create functions
and HTMLElementFactory return Refs rather than RefPtr/PassRefPtr.

  • Files elided *
2:24 PM Changeset in webkit [177995] by ap@apple.com
  • 12 edits in trunk

ADDRESS_SANITIZER macro is overloaded
https://bugs.webkit.org/show_bug.cgi?id=140130

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • interpreter/JSStack.cpp: (JSC::JSStack::sanitizeStack): Use the new macro.

This code is nearly unused (only compiled in when JIT is disabled at build time),
however I've been told that it's best to keep it.

Source/WebCore:

  • platform/RefCountedSupplement.h:
  • platform/Supplementable.h:

Change the conditional to ENABLE(SECURITY_ASSERTIONS). These checks will be used
in debug builds, and also when one explicitly passes -DENABLE_SECURITY_ASSERTIONS.

Source/WTF:

  • wtf/Compiler.h: Added an ASAN_ENABLED macro. The abbreviation should become well

known - we already use it in tools.

  • wtf/Assertions.h:
  • wtf/RefCounted.h:
  • wtf/SizeLimits.cpp:

Change the conditional to ENABLE(SECURITY_ASSERTIONS). These checks will be used
in debug builds, and also when one explicitly passes -DENABLE_SECURITY_ASSERTIONS.

Tools:

  • WebKitTestRunner/TestController.cpp: Use the new macro.
1:58 PM Changeset in webkit [177994] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix Use details for op_create_arguments.
<https://webkit.org/b/140110>

Rubber stamped by Filip Pizlo.

The previous patch was wrong about op_create_arguments not using its 1st operand.
It does read from it (hence, used) to check if the Arguments object has already
been created or not. This patch reverts the change for op_create_arguments.

  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):

1:45 PM Changeset in webkit [177993] by Brian Burg
  • 22 edits in trunk/Source/WebCore

Web Inspector: pass parameters to inspector agents by reference where possible
https://bugs.webkit.org/show_bug.cgi?id=140002

Reviewed by Andreas Kling.

Pass parameters by-reference from inspector instrumentation entry
points to inspector agents. If the event doesn't make sense with null
arguments, perform null checks before calling agent methods.

No new tests, no behavior changed.

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::didCreateNamedFlow):
(WebCore::InspectorCSSAgent::willRemoveNamedFlow):
(WebCore::InspectorCSSAgent::didChangeRegionOverset):
(WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement):
(WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
(WebCore::InspectorCSSAgent::forcePseudoState):

  • inspector/InspectorCSSAgent.h: Reorder methods to match instrumentation.
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::handleTouchEvent):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::didRemoveDOMNode):
(WebCore::InspectorDOMAgent::willModifyDOMAttr):
(WebCore::InspectorDOMAgent::didModifyDOMAttr):
(WebCore::InspectorDOMAgent::didRemoveDOMAttr):
(WebCore::InspectorDOMAgent::characterDataModified):
(WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMAgent::didPushShadowRoot):
(WebCore::InspectorDOMAgent::willPopShadowRoot):

  • inspector/InspectorDOMAgent.h: Reorder methods to match instrumentation.
  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMDebuggerAgent::didInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::didRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):

  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
(WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
(WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
(WebCore::InspectorInstrumentation::didPushShadowRootImpl):
(WebCore::InspectorInstrumentation::willPopShadowRootImpl):
(WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): Add null check.
(WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl): Add null check.
(WebCore::InspectorInstrumentation::didChangeRegionOversetImpl):
(WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl):
(WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl):
(WebCore::InspectorInstrumentation::handleTouchEventImpl):
(WebCore::InspectorInstrumentation::forcePseudoStateImpl):
(WebCore::InspectorInstrumentation::characterDataModifiedImpl):
(WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
(WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
(WebCore::InspectorInstrumentation::didInvalidateLayoutImpl):
(WebCore::InspectorInstrumentation::willLayoutImpl):
(WebCore::InspectorInstrumentation::willPaintImpl):
(WebCore::InspectorInstrumentation::willScrollLayerImpl):
(WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
(WebCore::InspectorInstrumentation::applyEmulatedMediaImpl):
(WebCore::InspectorInstrumentation::willSendRequestImpl): Add null check.
(WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): Add null checks.
(WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl): Add null check.
(WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
(WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl): Add null check.
(WebCore::InspectorInstrumentation::didFinishLoadingImpl): Add null check.
(WebCore::InspectorInstrumentation::didFailLoadingImpl): Add null check.
(WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
(WebCore::InspectorInstrumentation::loadEventFiredImpl): Add null check.
(WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl): Add null checks.
(WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl):
(WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl):
(WebCore::InspectorInstrumentation::startConsoleTimingImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleTimeStampImpl):
(WebCore::InspectorInstrumentation::didCreateWebSocketImpl): Add null check.
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl): Add null check.
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl): Add null check.
(WebCore::InspectorInstrumentation::didCloseWebSocketImpl): Add null check.
(WebCore::InspectorInstrumentation::renderLayerDestroyedImpl):
(WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
(WebCore::InspectorInstrumentation::scriptsEnabledImpl): Deleted.
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl): Deleted.
(WebCore::InspectorInstrumentation::frameStartedLoadingImpl): Deleted.
(WebCore::InspectorInstrumentation::willWriteHTMLImpl): Deleted.
(WebCore::InspectorInstrumentation::startProfilingImpl): Deleted.

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::renderLayerDestroyed):
(WebCore::InspectorLayerTreeAgent::pseudoElementDestroyed):

  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::frameDetached):
(WebCore::InspectorPageAgent::loaderDetachedFromFrame):
(WebCore::InspectorPageAgent::applyEmulatedMedia):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::InspectorReplayAgent::frameDetached):

  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::willDestroyCachedResource):
(WebCore::InspectorResourceAgent::didScheduleStyleRecalculation):
(WebCore::InspectorResourceAgent::mainFrameNavigated):

  • inspector/InspectorResourceAgent.h: Reorder methods to match instrumentation.
  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didInvalidateLayout):
(WebCore::InspectorTimelineAgent::willLayout):
(WebCore::InspectorTimelineAgent::willPaint):
(WebCore::InspectorTimelineAgent::willScroll):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::didEvaluateScript):
(WebCore::InspectorTimelineAgent::didTimeStamp):
(WebCore::InspectorTimelineAgent::time):
(WebCore::InspectorTimelineAgent::timeEnd):
(WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
(WebCore::InspectorTimelineAgent::didMarkLoadEvent):

  • inspector/InspectorTimelineAgent.h: Reorder methods to match instrumentation.
  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::didCreateMainWorldContext):
(WebCore::PageRuntimeAgent::didCreateIsolatedContext): Deleted. It has no callers.

  • inspector/PageRuntimeAgent.h:
  • replay/ReplayController.cpp:

(WebCore::ReplayController::frameDetached):

  • replay/ReplayController.h:
1:38 PM Changeset in webkit [177992] by bshafiei@apple.com
  • 28 edits
    35 deletes in tags/Safari-601.1.12.1.41

Merged r177169. rdar://problem/19224979

1:37 PM Changeset in webkit [177991] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Remove an old workaround for an old unsupported plug-in
https://bugs.webkit.org/show_bug.cgi?id=140141

Reviewed by Brent Fulgham.

The old, pre-Vista(!) plug-in is no longer available so we don't need to have this workaround in place.
(If for some bizarre reason we'd ever want to bring it back it should be a flag that the plug-in code sets on the timer,
the shared timer code shouldn't know about plug-ins at all).

  • platform/win/SharedTimerWin.cpp:

(WebCore::TimerWindowWndProc):

1:36 PM Changeset in webkit [177990] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.12.1.41/Source

Versioning.

1:34 PM Changeset in webkit [177989] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.12.1.41

New tag.

1:20 PM Changeset in webkit [177988] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Pack WebCore::RuleData better.
<https://webkit.org/b/140109>

Reviewed by Benjamin Poulain.

Shrink RuleData by 8 bytes per instance by reordering members so that
the CSS JIT compilation status fits into the bitfield.

  • css/RuleSet.h:

(WebCore::RuleData::compilationStatus):

  • cssjit/SelectorCompiler.h:

(WebCore::SelectorCompilationStatus::SelectorCompilationStatus):

12:56 PM Changeset in webkit [177987] by bshafiei@apple.com
  • 28 edits
    35 deletes in tags/Safari-601.1.12.1.2

Merged r177169. rdar://problem/19224979

12:43 PM Changeset in webkit [177986] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit/mac

Reimplement NPN_PluginThreadAsyncCall without using PluginMainThreadScheduler
https://bugs.webkit.org/show_bug.cgi?id=140140

Reviewed by Andreas Kling.

Just use a dispatch_async call to the main queue. This will let us move PluginMainThreadScheduler
out of WebCore since nobody else is using it.

  • Plugins/WebNetscapePluginView.h:
  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView _createPlugin]):
(-[WebNetscapePluginView _destroyPlugin]):

  • Plugins/npapi.mm:

(NPN_PluginThreadAsyncCall):

12:09 PM Changeset in webkit [177985] by andersca@apple.com
  • 12 edits
    2 adds in trunk/Source

Add a WebKit1 database provider
https://bugs.webkit.org/show_bug.cgi?id=140126

Reviewed by Sam Weinig.

Source/WebCore:

Use a Ref instead of a RefPtr since the database provider can never be null now.

  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:

(WebCore::DOMWindowIndexedDatabase::indexedDB):

  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:

(WebCore::Page::databaseProvider):

Source/WebKit:

Add a stubbed out database provider.

  • Storage/WebDatabaseProvider.cpp: Added.

(WebDatabaseProvider::shared):
(WebDatabaseProvider::WebDatabaseProvider):
(WebDatabaseProvider::~WebDatabaseProvider):
(WebDatabaseProvider::createIDBFactoryBackend):

  • Storage/WebDatabaseProvider.h: Added.
  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Set the database provider.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WebKit/win:

Set the database provider.

  • WebView.cpp:

(WebView::initWithFrame):

12:06 PM Changeset in webkit [177984] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

REGRESSION (r177876): 35% regression in Parser/html5-full-render
https://bugs.webkit.org/show_bug.cgi?id=140123

Followup fix.

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::systemFallbackFontDataForCharacter):

The code failed to pass isForPlatformFont boolean.

11:43 AM Changeset in webkit [177983] by commit-queue@webkit.org
  • 12 edits
    2 deletes in trunk/Source

Unreviewed, rolling out r177963.
https://bugs.webkit.org/show_bug.cgi?id=140136

Caused lots of crashes (Requested by smfr on #webkit).

Reverted changeset:

"Add a WebKit1 database provider"
https://bugs.webkit.org/show_bug.cgi?id=140126
http://trac.webkit.org/changeset/177963

11:42 AM Changeset in webkit [177982] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.12.1.2/Source

Versioning.

11:39 AM Changeset in webkit [177981] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix Use details for op_create_lexical_environment and op_create_arguments.
<https://webkit.org/b/140110>

Reviewed by Filip Pizlo.

The current "Use" details for op_create_lexical_environment and
op_create_arguments are wrong. op_create_argument uses nothing instead of the
1st operand (the output local). op_create_lexical_environment uses its 2nd
operand (the scope chain) instead of the 1st (the output local).
This patch fixes them to specify the proper uses.

  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):

11:38 AM Changeset in webkit [177980] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.12.1.2

New tag.

11:37 AM Changeset in webkit [177979] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

REGRESSION (r177876): 35% regression in Parser/html5-full-render
https://bugs.webkit.org/show_bug.cgi?id=140123

Reviewed by Darin Adler.

Resolving system fallbacks is extremely slow. GlyphPageTree used to cache them globally.

This patch brings back a simple global cache for system fallbacks.

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::~SimpleFontData):
(WebCore::systemFallbackCache):
(WebCore::SimpleFontData::systemFallbackFontDataForCharacter):
(WebCore::SimpleFontData::removeFromSystemFallbackCache):

  • platform/graphics/SimpleFontData.h:
11:33 AM Changeset in webkit [177978] by Yusuke Suzuki
  • 6 edits
    3 adds in trunk

Implement ES6 String.prototype.repeat(count)
https://bugs.webkit.org/show_bug.cgi?id=140047

Reviewed by Darin Adler.

Source/JavaScriptCore:

Introducing ES6 String.prototype.repeat(count) function.

  • runtime/JSString.h:
  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::finishCreation):
(JSC::repeatSmallString):
(JSC::stringProtoFuncRepeat):

LayoutTests:

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/script-tests/Object-getOwnPropertyNames.js:
  • js/script-tests/string-repeat.js: Added.

(stringRepeated.toString):
(count.valueOf):

  • js/string-repeat-expected.txt: Added.
  • js/string-repeat.html: Added.
11:23 AM Changeset in webkit [177977] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Rollout r177932. rdar://problem/19312111

11:21 AM Changeset in webkit [177976] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Rollout r177933. rdar://problem/19301470

11:21 AM Changeset in webkit [177975] by Antti Koivisto
  • 7 edits in trunk/Source/WebCore

Rename SimpleFontData::AdditionalFontData to SimpleFontData::SVGData
https://bugs.webkit.org/show_bug.cgi?id=140124

Reviewed by Anders Carlsson.

The current name is vague and confusing (as AdditionalFontData is not a FontData).

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::glyphDataForCharacter):

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::SimpleFontData):
(WebCore::SimpleFontData::~SimpleFontData):
(WebCore::fillGlyphPage):
(WebCore::SimpleFontData::createScaledFontData):

  • platform/graphics/SimpleFontData.h:

(WebCore::SimpleFontData::widthForGlyph):

  • rendering/svg/SVGTextLayoutEngineSpacing.cpp:

(WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):

  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::svgFontAndFontFaceElementForFontData):

  • svg/SVGFontData.h:
11:19 AM Changeset in webkit [177974] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Rollout r177934. rdar://problem/19312111

11:15 AM Changeset in webkit [177973] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Rollout r177935. rdar://problem/19283300

11:12 AM Changeset in webkit [177972] by Lucas Forschler
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Rollout r177936. rdar://problem/19311017

11:10 AM Changeset in webkit [177971] by Lucas Forschler
  • 6 edits
    3 copies in branches/safari-600.3-branch/Source/WebKit2

Rollout r177939. rdar://problem/19333074

11:09 AM Changeset in webkit [177970] by timothy_horton@apple.com
  • 6 edits in trunk/Source

Make explicit which TextIndicator animations are driven manually, and which run automatically
https://bugs.webkit.org/show_bug.cgi?id=140113
<rdar://problem/19383425>

Reviewed by Darin Adler.

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::didPerformDictionaryLookup):
Delete an inaccurate comment.

  • page/TextIndicator.cpp:

(WebCore::TextIndicator::wantsManualAnimation):
Add wantsManualAnimation(). The old transitions (Bounce and BounceAndCrossfade)
run automatically, and the new ones (FadeIn and Crossfade) are driven manually.

  • page/TextIndicator.h:

Add a comment explaining which animations are manual and which are not.

  • page/mac/TextIndicatorWindow.mm:

(-[WebTextIndicatorView present]):

Make use of wantsManualAnimation(). The previous (wantsFadeIn
wantsCrossfade)

was wrong, because it was true for BounceAndCrossfade, and would cause
BounceAndCrossfade animations (which aren't driven manually) to stall at progress=0.

11:08 AM Changeset in webkit [177969] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Give empty pages a valid database provider.

  • loader/EmptyClients.cpp:

(WebCore::fillWithEmptyClients):

11:00 AM Changeset in webkit [177968] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

Fix iOS build after r177955 and r177952.

Unreviewed.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::insertPhoneNumberLink):

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

10:46 AM Changeset in webkit [177967] by andersca@apple.com
  • 14 edits
    3 deletes in trunk/Source

Remove now unused IndexedDB code
https://bugs.webkit.org/show_bug.cgi?id=140128

Reviewed by Darin Adler.

Source/WebCore:

  • CMakeLists.txt:

Remove files.

  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:

Don't include PageGroupIndexedDatabase.h.

  • Modules/indexeddb/IDBFactoryBackendInterface.cpp: Removed.

Remove this file, it just had one function calling through to the database strategy.

  • Modules/indexeddb/IDBFactoryBackendInterface.h:

Remove the create function.

  • Modules/indexeddb/PageGroupIndexedDatabase.cpp: Removed.
  • Modules/indexeddb/PageGroupIndexedDatabase.h: Removed.

The backend is now per page, not per page group.

  • WebCore.exp.in:

Remove an exported symbol.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Remove files.

  • page/PageGroup.h:

PageGroup is no longer supplementable.

  • platform/DatabaseStrategy.cpp:

(WebCore::DatabaseStrategy::createIDBFactoryBackend): Deleted.

  • platform/DatabaseStrategy.h:

Remove a header.

Source/WebKit2:

Remove a function.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::createIDBFactoryBackend): Deleted.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
10:43 AM Changeset in webkit [177966] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the Windows build.

  • WebCore.vcxproj/copyForwardingHeaders.cmd:
10:29 AM Changeset in webkit [177965] by Darin Adler
  • 2 edits in trunk/Source/WebKit2

Fix race in FindController code
https://bugs.webkit.org/show_bug.cgi?id=140114

Reviewed by Anders Carlsson.

No idea how to reproduce this. Just ran into the crash in my local testing.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::findString): Use a RefPtr to guarantee the FindController is
not deleted while a this pointer is stored in a function.

9:57 AM Changeset in webkit [177964] by Chris Dumez
  • 11 edits
    4 adds in trunk

Regression(r176212): Carousel on mbusa.com is choppy
https://bugs.webkit.org/show_bug.cgi?id=139543
<rdar://problem/19209406>

Reviewed by Antti Koivisto.

Source/WebCore:

A repeating DOM timer changing the style of an element that has
overflowing content that is visible would get throttled in the
case where the overflowing content has its own layer. This is
because the repaint rect returned by
RenderObject::absoluteClippedOverflowRect() does not take into
consideration descendants with their own self-painting layer when
accounting for the overflow.

Until I can find a relatively cheap way of computing the overflow
in this case, this patch takes the conservative approach and
assumes we may repaint inside the viewport if the element does not
have a layer or if any of its descendants has its own layer.

This patch also renames isInsideViewport() function to
mayCauseRepaintInsideViewport() for clarity.

Tests: fast/dom/repeating-timer-element-overflow-hidden-throttling.html

fast/dom/repeating-timer-element-overflowing-child-own-layer-throttling.html

  • dom/Element.cpp:

(WebCore::Element::mayCauseRepaintInsideViewport):
(WebCore::Element::isInsideViewport): Deleted.

  • dom/Element.h:
  • page/DOMTimer.cpp:

(WebCore::DOMTimer::scriptDidCauseElementRepaint):
(WebCore::DOMTimer::updateThrottlingStateAfterViewportChange):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::mayCauseRepaintInsideViewport):
(WebCore::RenderElement::isInsideViewport): Deleted.

  • rendering/RenderElement.h:

LayoutTests:

Add a layout test to cover the case where a repeating DOM timer is
changing the style of an element which has overflowing content that
is visible and has its own layer. In such case, the DOM timer should
not be throttled. Also add a layout test to make sure we still throttle
if the element clips its overflow.

  • fast/dom/repeating-timer-element-overflow-hidden-throttling-expected.txt: Added.
  • fast/dom/repeating-timer-element-overflow-hidden-throttling.html: Added.
  • fast/dom/repeating-timer-element-overflowing-child-own-layer-throttling-expected.txt: Added.
  • fast/dom/repeating-timer-element-overflowing-child-own-layer-throttling.html: Added.

New tests.

  • fast/dom/timer-unthrottle-on-layout-expected.txt:
  • fast/dom/timer-unthrottle-on-layout.html:
  • fast/dom/timer-unthrottle-on-scroll-expected.txt:
  • fast/dom/timer-unthrottle-on-scroll.html:

Stop using <input> test elements as it appears one of the descendants
in its shadow tree has its own layer.

9:53 AM Changeset in webkit [177963] by andersca@apple.com
  • 12 edits
    2 adds in trunk/Source

Add a WebKit1 database provider
https://bugs.webkit.org/show_bug.cgi?id=140126

Reviewed by Sam Weinig.

Source/WebCore:

Use a Ref instead of a RefPtr since the database provider can never be null now.

  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:

(WebCore::DOMWindowIndexedDatabase::indexedDB):

  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:

(WebCore::Page::databaseProvider):

Source/WebKit:

Add a stubbed out database provider.

  • Storage/WebDatabaseProvider.cpp: Added.

(WebDatabaseProvider::shared):
(WebDatabaseProvider::WebDatabaseProvider):
(WebDatabaseProvider::~WebDatabaseProvider):
(WebDatabaseProvider::createIDBFactoryBackend):

  • Storage/WebDatabaseProvider.h: Added.
  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Set the database provider.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WebKit/win:

Set the database provider.

  • WebView.cpp:

(WebView::initWithFrame):

9:18 AM Changeset in webkit [177962] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r177952.

Remove double class namespace in appendToAttributeValue.

  • html/parser/HTMLToken.h:

(WebCore::HTMLToken::appendToAttributeValue): Added,
(WebCore::HTMLToken::HTMLToken::appendToAttributeValue): Deleted.

9:13 AM Changeset in webkit [177961] by ap@apple.com
  • 3 edits in trunk/LayoutTests

fast/events/before-unload-adopt-subframe-to-outside.html is flaky with ASan
https://bugs.webkit.org/show_bug.cgi?id=140061

Reviewed by Darin Adler.

Hide frames before dumping results. Something was making layout timing dependent,
hopefully this will make results consistent.

  • fast/events/before-unload-adopt-subframe-to-outside-expected.txt:
  • fast/events/before-unload-adopt-subframe-to-outside.html:
8:54 AM Changeset in webkit [177960] by andersca@apple.com
  • 11 edits
    2 copies in trunk/Source

Add a DatabaseProvider subclass in WebKit2 and use it for IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=140108

Reviewed by Darin Adler.

Source/WebCore:

  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:

(WebCore::DOMWindowIndexedDatabase::indexedDB):
Get the IDBFactoryBackendInterface from the database provider.

  • page/DatabaseProvider.cpp:

(WebCore::DatabaseProvider::idbFactoryBackend):
Change this to return a pointer.

  • page/Page.h:

(WebCore::Page::databaseProvider):
Add a getter.

Source/WebKit2:

  • CMakeLists.txt:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Databases/WebDatabaseProvider.cpp: Added.

(WebKit::databaseProviders):
(WebKit::WebDatabaseProvider::getOrCreate):
(WebKit::WebDatabaseProvider::WebDatabaseProvider):
(WebKit::WebDatabaseProvider::~WebDatabaseProvider):
(WebKit::WebDatabaseProvider::createIDBFactoryBackend):

  • WebProcess/Databases/WebDatabaseProvider.h: Added.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

8:52 AM Changeset in webkit [177959] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Another build fix attempt.

Reorder function declarations to avoid confusing compiler. Add explicit namespace for
out copied functions to avoid attempting to link against bindings version of these files.

  • plugins/PluginPackage.cpp:

(WebCore::makeSource):
(WebCore::NPN_Evaluate):
(WebCore::NPN_Invoke):
(WebCore::PluginPackage::initializeBrowserFuncs):

8:49 AM Changeset in webkit [177958] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Move '-webkit-scroll-snap-*' CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140112

Reviewed by Darin Adler.

Move '-webkit-scroll-snap-*' CSS properties to the new StyleBuilder.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::parseSnapCoordinate):
(WebCore::StyleBuilderConverter::convertScrollSnapPoints):
(WebCore::StyleBuilderConverter::convertSnapCoordinatePair):
(WebCore::StyleBuilderConverter::convertScrollSnapCoordinates):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::parseSnapCoordinate): Deleted.
(WebCore::StyleResolver::parseSnapCoordinatePair): Deleted.
(WebCore::StyleResolver::parseSnapPoints): Deleted.

  • css/StyleResolver.h:
6:49 AM Changeset in webkit [177957] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Resolve mirroring and variant in Font instead of FontGlyphs
https://bugs.webkit.org/show_bug.cgi?id=140079

Reviewed by Darin Adler.

Make FontGlyphs more focused. It doesn't need to know about resolving variants and mirroring.

  • platform/graphics/Font.cpp:

(WebCore::Font::glyphDataForCharacter):

  • platform/graphics/Font.h:

(WebCore::Font::glyphDataForCharacter): Deleted.

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::glyphDataForCharacter):

  • platform/graphics/FontGlyphs.h:
3:59 AM Changeset in webkit [177956] by gyuyoung.kim@samsung.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Fix Unused parameter warning in Webcore bindings.
https://bugs.webkit.org/show_bug.cgi?id=140118

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-06
Reviewed by Gyuyoung Kim.

remove the Unused parameter from createScriptInstanceForWidget() function

No new tests, no behavior changed.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::createScriptInstanceForWidget):

3:23 AM Changeset in webkit [177955] by Antti Koivisto
  • 38 edits in trunk/Source

Font::primaryFontData() should return a reference
https://bugs.webkit.org/show_bug.cgi?id=140081

Reviewed by Darin Adler.

It is not null.

Also rename primaryFont() -> primaryFontData().

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(AXAttributeStringSetStyle):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(AXAttributeStringSetStyle):

  • bindings/objc/DOM.mm:

(-[DOMElement _font]):

  • editing/cocoa/HTMLConverter.mm:

(_font):
(WebCore::editingAttributedStringFromRange):

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::fontForSelection):
(WebCore::Editor::fontAttributesForSelectionStart):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::fontForSelection):
(WebCore::Editor::fontAttributesForSelectionStart):

  • platform/graphics/Font.cpp:

(WebCore::Font::fastAverageCharWidthIfAvailable):

  • platform/graphics/Font.h:

(WebCore::Font::fontMetrics):
(WebCore::Font::spaceWidth):
(WebCore::Font::tabWidth):
(WebCore::Font::primaryFontData):
(WebCore::Font::primaryFont): Deleted.

  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::primaryFontHasGlyphForCharacter):

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::determinePitch):
(WebCore::FontGlyphs::glyphDataForSystemFallback):
(WebCore::FontGlyphs::glyphDataForCharacter):

  • platform/graphics/FontGlyphs.h:

(WebCore::FontGlyphs::primaryFontData):
(WebCore::FontGlyphs::primarySimpleFontData):

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::advanceInternal):

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::advance):
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

  • platform/graphics/mac/ComplexTextController.h:

(WebCore::ComplexTextController::ComplexTextRun::create):
(WebCore::ComplexTextController::ComplexTextRun::fontData):

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::primaryFontDataIsSystemFont):

  • platform/graphics/opentype/OpenTypeMathData.cpp:
  • platform/graphics/opentype/OpenTypeMathData.h:
  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::requiresIdeographicBaseline):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::constructTextRun):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::adjustLogicalLeftOffsetForLine):
(WebCore::RenderBlock::adjustLogicalRightOffsetForLine):
(WebCore::constructTextRunInternal):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):

  • rendering/RenderThemeIOS.mm:

(WebCore::adjustInputElementButtonStyle):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::ascentAndDescentForBox):

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::getGlyphAssemblyFallBack):
(WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator):
(WebCore::RenderMathMLOperator::findStretchyData):
(WebCore::RenderMathMLOperator::trailingSpaceError):

  • rendering/mathml/RenderMathMLRadicalOperator.cpp:

(WebCore::RenderMathMLRadicalOperator::stretchTo):
(WebCore::RenderMathMLRadicalOperator::computePreferredLogicalWidths):
(WebCore::RenderMathMLRadicalOperator::computeLogicalHeight):
(WebCore::RenderMathMLRadicalOperator::paint):

  • rendering/mathml/RenderMathMLRoot.cpp:

(WebCore::RenderMathMLRoot::updateStyle):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::constructTextRun):

  • rendering/svg/SVGTextLayoutEngineSpacing.cpp:

(WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):

  • rendering/svg/SVGTextMetrics.cpp:

(WebCore::SVGTextMetrics::constructTextRun):
(WebCore::SVGTextMetrics::SVGTextMetrics):

  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::missingGlyphForFont):
(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

3:10 AM Changeset in webkit [177954] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix Unused parameter warning in Webcore bindings.
https://bugs.webkit.org/show_bug.cgi?id=140046

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-06
Reviewed by Gyuyoung Kim.

remove the Unused parameter from createScriptInstanceForWidget() function

No new tests, no behavior changed.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::createScriptInstanceForWidget):

2:25 AM Changeset in webkit [177953] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Move '-webkit-filter' / '-webkit-backdrop-filter' to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140111

Reviewed by Darin Adler.

Move '-webkit-filter' / '-webkit-backdrop-filter' to the new
StyleBuilder.

  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::createFilterOperations):

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertFilterOperations):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::createFilterOperations):

  • css/StyleResolver.h:
12:06 AM Changeset in webkit [177952] by Darin Adler
  • 18 edits in trunk

Modernize and streamline HTMLToken and AtomicHTMLToken
https://bugs.webkit.org/show_bug.cgi?id=140046

Reviewed by Andreas Kling.

Source/WebCore:

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendDocumentType): Added code to properly
handle empty strings for systemId and publicId, rather than treating them
the same as missing systemId and publicId.

  • html/parser/AtomicHTMLToken.h: Removed unneeded includes.

Moved function bodies out of the class so it's easier to see the contents of
the class. Renamed the isAll8BitData function to charactersIsAll8BitData
to make it clear that it is correct only for AtomicHTMLToken::characters.
Made more things private. Moved the findAttributeInVector function here
and renamed it to just findAttribute. Use unsigned instead of int and
size_t as appropriate. Changed the constructor that makes a fake one of
these to move the Vector of attributes in rather than copying it.

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::insertDoctype): Moved the code to create
a string from here into AtomicHTMLToken.
(WebCore::HTMLConstructionSite::createElementFromSavedToken): Updated
to construct the Vector explicitly because all other call sites pass
ownership of the Vector in to the AtomicHTMLToken.

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::pumpTokenizer): Check for an uninitialized
token without using a special function just for this purpose.
(WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Ditto.

  • html/parser/HTMLParserIdioms.h: Removed the version of

stripLeadingAndTrailingHTMLSpaces that takes a character vector. Instead
the caller can make a string. Later we might want this to work with
a StringView, or a StringView/String combination.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::scan): Updated to not use HTMLToken::data.
(WebCore::TokenPreloadScanner::updatePredictedBaseURL): Updated to not use
HTMLToken::getAttributeItem and to not require a special overload of the
stripLeadingAndTrailingHTMLSpaces function.

  • html/parser/HTMLSourceTracker.cpp:

(WebCore::HTMLSourceTracker::end): Updated to call the token-ending
function by its new name, setEndOffset.
(WebCore::HTMLSourceTracker::sourceForToken): Updated since we no
longer have a startIndex function that already returns 0. Instead just
call length. Also use unsigned instead of size_t.

  • html/parser/HTMLStackItem.h:

(WebCore::HTMLStackItem::getAttributeItem): Updated for name change.

  • html/parser/HTMLToken.h: Removed the many unneeded includes,

including the self-include! Turned DoctypeData into a normal struct
without m_ prefixes on its member names. Turned HTMLToken::Attribute and
HTMLToken::Attribute::Range into normal structs. Moved function
bodies out of the class so it's easier to see the contents of
the class. Removed a few now-unneeded functions.

  • html/parser/HTMLTokenizer.cpp: Removed the AtomicHTMLToken function

members that used to be here. None are needed any more; they are now all
just inlined at the call site. If we need any non-inline functions, then
we sould probably create an AtomicHTMLToken.cpp file instead.
(WebCore::HTMLTokenizer::processEntity): Use the new bufferASCIICharacter
function in all the cases where we know a character is ASCII to cut down
on the amount of 8-bit checking we have to do.
(WebCore::HTMLTokenizer::nextToken): Ditto.

  • html/parser/HTMLTokenizer.h: Added a new bufferASCIICharacter function

so we don't have to do 8-bit checks on so many characters as we buffer
them. Also removed the call to ensureIsCharacterToken, since appendToCharacter
now does that. Also deleted overloads of bufferCharacter so we remember to
call bufferASCIICharacter instead.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
Updated for change in AtomicHTMLToken function names.
(WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
(WebCore::hasAttribute): Added.
(WebCore::HTMLTreeBuilder::processTokenInForeignContent): Use hasAtttribute.

  • html/parser/TextDocumentParser.cpp:

(WebCore::TextDocumentParser::insertFakePreElement): Move the attributes in
rather than copying them in.

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::filterCharacterToken): Use clear so we don't have to
have an eraseCharacters function. Use a local variable to avoid overloading
ambiguity.
(WebCore::XSSAuditor::decodedSnippetForAttribute): Fixed a typo and the types
of some local variables.

LayoutTests:

  • resources/dump-as-markup.js:

(Markup._get): Add code to handle null systemId and publicId,
dumping them as empty strings for now.

Note: See TracTimeline for information about the timeline view.