rniwa@webkit.org [Tue, 22 Oct 2013 04:42:54 +0000 (04:42 +0000)]
New flakiness dashboard should hyperlink test names, WebKit revisions, and bubbles
https://bugs.webkit.org/show_bug.cgi?id=123134
Reviewed by Stephanie Lewis.
Copied admin.css, admin-header.php, admin-footer.php, builders.php, repositories.php from WebKit Perf Monitor.
(Unfortunately WebKit Perf Monitor hasn't been committed into WebKit repository just yet.)
Updated various parts of index.html to linkify test names, build numbers, and bubbles (to results page).
* admin/admin.css: Added.
* admin/builders.php: Added.
* admin/index.php: Removed the duplicated code now that it uses admin-header.php.
* admin/repositories.php: Added.
* api/manifest.php: Use camelCase for blame_url and build_url to be consistent with other JSON properties.
Also exported testCategories from config so that we can linkify test names in the dashboard.
* include/admin-footer.php: Added.
* include/admin-header.php: Added.
* include/config.json: Added test categories. This avoids hard-coding the URL to trac in php/js.
* include/init-database.sql: Added name and build_url to builders table and category to tests.
* include/test-results.php: Assume the test category to be LayoutTest for now.
* index.html:
(TestResultsView): Initialize _builders, _slaves, _repositories, _testCategories as dictionaries as intended.
(TestResultsView.setTestCategories): Added.
(TestResultsView._createResultCell): Dynamically resolve URLs of results page and and build page.
(TestResultsView._populateTestPane): Linkify the test name. Unfortunately we don't have a test object anywhere.
We need to figure out a way to find the test object here eventually. For now, hard-coding "LayoutTest" works.
(TestResultsView._linkifiedTestName): Added.
(TestResultsView._createBuildsAndComputeSlownessOfResults): Takes builderId to set "builder" property on each
result object as it's used by Build class.
(TestResultsView._populateBuilderPane):
(fetchManigest):
* js/build.js:
(Build.buildUrl): Support $builderName so that we don't have to keep repeating builder names in the database.
(Build.revision): Don't access [0] if revisions[repositoryId] was undefined.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157775
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 22 Oct 2013 02:17:41 +0000 (02:17 +0000)]
Run tests as if they are expected to pass when --force is given.
https://bugs.webkit.org/show_bug.cgi?id=112890
Patch by Tamas Gergely <gertom@inf.u-szeged.hu> on 2013-10-21
Reviewed by Ryosuke Niwa.
The --force switch of new-run-webkit-tests is now forces all tests to
be run with 'PASS' as expected result.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectations.__init__):
(TestExpectations._add_expectations):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
(_set_up_derived_options):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157774
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Tue, 22 Oct 2013 02:05:22 +0000 (02:05 +0000)]
[WIN] Properly support reverse animations without needing software fallback.
https://bugs.webkit.org/show_bug.cgi?id=85121
Reviewed by Dean Jackson.
Testing is provided by existing animation tests.
* platform/animation/TimingFunction.h:
(WebCore::CubicBezierTimingFunction::createReversed): Added.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::addAnimation): The early return when performing a reverse or
autoreverse animation is no longer needed.
* platform/graphics/ca/PlatformCAAnimation.h:
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
(toCAMediaTimingFunction): Use new reversed function.
* platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
(toCACFTimingFunction): Ditto.
(PlatformCAAnimation::setTimingFunction): Pass 'reverse' flag.
(PlatformCAAnimation::setTimingFunctions): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157773
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 22 Oct 2013 01:51:37 +0000 (01:51 +0000)]
New flakiness dashboard should align results by revision numbers
https://bugs.webkit.org/show_bug.cgi?id=123129
Reviewed by Tim Horton.
* include/config.json: Specify the default cache time to be 10 minutes.
* include/json-shared.php: Added Expires and Cache-Control headers. It's configurable via config.json.
* index.html:
(TestResultsView._createResultCell): Don't put '-' in a result cell without time.
(TestResultsView._populateTestPane): Create an array of build times ordered from the newest to the oldest.
Not that build.time() is the newest commit time among all repository for each result. e.g. if we had
both WebKit and Safari repository information in a given result, the newer of the two will be used.
(TestResultsView._createTestResultHeader): Added.
(TestResultsView._createBuildsAndComputeSlownessOfResults): Extracted from _createTestResultRow so
that _populateTestPane could use Build object before calling _createTestResultRow.
(TestResultsView._createTestResultRow): Takes buildTimes. Insert an empty cell for a build time if
the current row doesn't contain that a result for that build time.
(TestResultsView._populateBuilderPane):
* main.css: Tweaked the style so that bubbles are aligned vertically without '-'.
(.resultsTable):
(.resultsTable thead th):
(.resultsTable .resultCell):
(.resultsTable a):
(.resultsTable span a):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157772
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Tue, 22 Oct 2013 01:31:08 +0000 (01:31 +0000)]
Set svn:mime-type on libWebKitSystemInterfaceMavericks.a so that future changes don't generate giant commit emails.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157771
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Tue, 22 Oct 2013 01:27:50 +0000 (01:27 +0000)]
Add a version of WebKitSystemInterface for Mavericks.
Reviewed by Ryosuke Niwa.
Source/WebKit/mac:
* Configurations/DebugRelease.xcconfig:
Source/WebKit2:
* Configurations/DebugRelease.xcconfig:
Tools:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* Scripts/copy-webkitlibraries-to-product-directory:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
WebKitLibraries:
* libWebKitSystemInterfaceMavericks.a: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157770
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Tue, 22 Oct 2013 01:25:20 +0000 (01:25 +0000)]
Use TYPE_CASTS_BASE for CSS_VALUE_TYPE_CASTS
https://bugs.webkit.org/show_bug.cgi?id=123126
Reviewed by Andreas Kling.
TYPE_CASTS_BASE was moved to common place to be used by all toFoo().
CSS_VALUE_TYPE_CASTS starts to use it for CSS child value. This change
generates plenty more helper functions for toCSSFooValue().
Additionally, this use support that toWebKitCSSFooValue, which couldn't
use CSS_VALUE_TYPE_CASTS macro.
No new tests, no behavior change.
* css/CSSAspectRatioValue.h:
* css/CSSBorderImageSliceValue.h:
* css/CSSCalculationValue.h:
* css/CSSCanvasValue.h:
* css/CSSCrossfadeValue.h:
* css/CSSCursorImageValue.h:
* css/CSSFilterImageValue.h:
* css/CSSFontFaceSrcValue.h:
* css/CSSFontFeatureValue.h:
* css/CSSFontValue.h:
* css/CSSFunctionValue.h:
* css/CSSGradientValue.h:
* css/CSSGridTemplateValue.h:
* css/CSSImageSetValue.h:
* css/CSSImageValue.h:
* css/CSSInheritedValue.h:
* css/CSSInitialValue.h:
* css/CSSLineBoxContainValue.h:
* css/CSSPrimitiveValue.h:
* css/CSSReflectValue.h:
* css/CSSShadowValue.h:
* css/CSSTimingFunctionValue.h:
* css/CSSUnicodeRangeValue.h:
* css/CSSValue.h:
* css/CSSValueList.h:
* css/CSSVariableValue.h:
* css/WebKitCSSArrayFunctionValue.h:
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSMatFunctionValue.h:
* css/WebKitCSSMixFunctionValue.h:
* css/WebKitCSSSVGDocumentValue.h:
* css/WebKitCSSShaderValue.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157769
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joone.hur@intel.com [Tue, 22 Oct 2013 00:29:46 +0000 (00:29 +0000)]
Bad cast with toRenderBoxModelObject in RenderBlock::updateFirstLetter()
https://bugs.webkit.org/show_bug.cgi?id=123013
Reviewed by Andreas Kling.
No new tests because this was reported by Google ClusterFuzz.
https://codereview.chromium.org/
25713009/
There is a case that toRenderBoxModelObject causes a crash in RenderBlock::updateFirstLetter()
due to bad cast, so we need to check whether the RenderObject is a RenderBoxModelObject
by running isBoxModelObject() before calling toRenderBoxModelObject.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157768
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Tue, 22 Oct 2013 00:18:03 +0000 (00:18 +0000)]
Make IDBTransactionCoordinatorLevelDB cross platform
https://bugs.webkit.org/show_bug.cgi?id=123124
Enthusiastically reviewed by Tim Horton.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:
Make more methods pure virtual in the interface:
* Modules/indexeddb/IDBTransactionBackendInterface.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
Update the name of the class, and use IDBTransactionBackendInterface instead of IDBTransactionBackendLeveDB:
* Modules/indexeddb/IDBTransactionCoordinator.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp.
(WebCore::IDBTransactionCoordinator::create):
(WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
(WebCore::IDBTransactionCoordinator::~IDBTransactionCoordinator):
(WebCore::IDBTransactionCoordinator::didCreateTransaction):
(WebCore::IDBTransactionCoordinator::didStartTransaction):
(WebCore::IDBTransactionCoordinator::didFinishTransaction):
(WebCore::IDBTransactionCoordinator::isActive):
(WebCore::IDBTransactionCoordinator::processStartedTransactions):
(WebCore::doScopesOverlap):
(WebCore::IDBTransactionCoordinator::canRunTransaction):
* Modules/indexeddb/IDBTransactionCoordinator.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h.
Update the name of the class elsewhere:
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
(WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
(WebCore::IDBDatabaseBackendLevelDB::transactionCoordinator):
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157766
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Mon, 21 Oct 2013 23:54:20 +0000 (23:54 +0000)]
[iOS] Upstream JSGlobalObject::shouldInterruptScriptBeforeTimeout()
https://bugs.webkit.org/show_bug.cgi?id=123045
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
* jsc.cpp: Add function pointer for shouldInterruptScriptBeforeTimeout
to global method table.
* runtime/JSGlobalObject.cpp: Ditto.
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::shouldInterruptScriptBeforeTimeout): Added.
Source/WebCore:
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): Added.
(WebCore::JSDOMWindowBase::shouldInterruptScript): Extracted comment and assertion
about null Page object into WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage()
so that it can be shared by both this function and JSDOMWindowBase::shouldInterruptScriptBeforeTimeout().
(WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::shouldInterruptScriptBeforeTimeout): Added.
* bindings/js/JSWorkerGlobalScopeBase.h:
* loader/EmptyClients.h: Added isStopping(). We'll land the iOS chrome client implementation
in a subsequent patch.
* page/ChromeClient.h: Added isStopping().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157764
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achicu@adobe.com [Mon, 21 Oct 2013 23:35:13 +0000 (23:35 +0000)]
Web Inspector: [CSS Regions] Flows are not loading if you refresh the page several times
https://bugs.webkit.org/show_bug.cgi?id=123123
Reviewed by Joseph Pecoraro.
There was a typo in the code where an exception was thrown because "flowKey" was undefined.
* UserInterface/DOMTree.js:
(WebInspector.DOMTree.prototype._contentFlowListWasUpdated):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157762
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Mon, 21 Oct 2013 23:28:10 +0000 (23:28 +0000)]
[iOS] Upstream JSC Objective-C API compiler warning fixes
https://bugs.webkit.org/show_bug.cgi?id=123125
Reviewed by Mark Hahnenberg.
Based on a patch by Mark Hahnenberg.
* API/JSValue.mm:
(-[JSValue toPoint]): Cast to CGFloat to fix some compiler warnings about double narrowing to float.
(-[JSValue toSize]): Ditto.
* API/tests/testapi.mm: Changed a test that was failing due to overflow of 32-bit NSUInteger on armv7.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157761
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 21 Oct 2013 22:55:14 +0000 (22:55 +0000)]
Navigation policy callback not called when performing the same fragment navigation twice
https://bugs.webkit.org/show_bug.cgi?id=123121
<rdar://problem/
15230466>
Reviewed by Beth Dakin.
Source/WebCore:
There's code in PolicyChecker::checkNavigationPolicy that will call the decision function right away
if the requests are equal, without consulting any policy client. Because of this, make sure to empty out
the last checked request of the document loader when doing a fragment navigation.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadWithDocumentLoader):
Tools:
Add a test.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/FragmentNavigation.html: Added.
* TestWebKitAPI/Tests/mac/FragmentNavigation.mm: Added.
(+[WebKit1FragmentNavigationTestDelegate shared]):
(-[WebKit1FragmentNavigationTestDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):
(-[WebKit1FragmentNavigationTestDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
(-[WebKit1FragmentNavigationTestDelegate webView:didFinishLoadForFrame:]):
(-[WebKit1FragmentNavigationTestDelegate _runNextTestWithWebView:]):
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157756
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Mon, 21 Oct 2013 22:49:44 +0000 (22:49 +0000)]
[iOS] Mark classes JS{Context, ManagedValue, Value, VirtualMachine} as
available since iOS 7.0
https://bugs.webkit.org/show_bug.cgi?id=123122
Reviewed by Dan Bernstein.
* API/JSContext.h:
* API/JSManagedValue.h:
* API/JSValue.h:
* API/JSVirtualMachine.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157755
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 21 Oct 2013 22:48:59 +0000 (22:48 +0000)]
Try to fix the Mac 32-bit build.
* UIProcess/API/mac/WKBrowsingContextController.h:
* UIProcess/API/mac/WKBrowsingContextController.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157754
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Mon, 21 Oct 2013 22:46:32 +0000 (22:46 +0000)]
Remove platform #ifdefs from WebDataSourcePrivate.h
https://bugs.webkit.org/show_bug.cgi?id=123120
<rdar://problem/
15275533>
Reviewed by Anders Carlsson.
* WebView/WebDataSource.mm:
(-[WebDataSource _setAllowToBeMemoryMapped]): Define empty implementation when building without
disk image cache enabled.
(-[WebDataSource setDataSourceDelegate:]): Ditto.
(-[WebDataSource dataSourceDelegate]): Return nullptr when building without disk image cache
enabled on iOS.
* WebView/WebDataSourcePrivate.h: Removed platform #ifdefs added in
<http://trac.webkit.org/changeset/156918> (https://bugs.webkit.org/show_bug.cgi?id=121985)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157753
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 21 Oct 2013 22:40:34 +0000 (22:40 +0000)]
Give up on building RemoteLayerTreeTransaction::dump on Lion, it just won't work.
This definitely ought to fix the build.
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::commit):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157752
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Mon, 21 Oct 2013 22:25:06 +0000 (22:25 +0000)]
New flakiness dashboard show test time, modifiers, and flaky tests
https://bugs.webkit.org/show_bug.cgi?id=123119
Reviewed by Tim Horton.
* api/failing-tests.php: Manually serialize each row in the results to avoid hitting the memory limit.
* include/db.php:
(Database::query): Added.
(Database::fetch_next_row): Added.
* include/init-database.sql: Added modifiers and time columns to results table.
* include/test-results.php:
(store_test_results): Update start_time and end_time to the union of the new interval and the existing interval.
(recursively_add_test_results): Handle empty $full_name to eliminate the loop over tests in store_test_results.
Also verify that each test name, expected and actual results conform to the specific format to prevent XSS.
Also use insert_row instead of select_or_insert_row to avoid issuing an unnecessary SQL query.
(format_result): Extracted from format_result_rows. Used in failing-tests.php.
* index.html:
(TestResultsView): Added _currentBuilderFailureType and _currentBuilderDays.
(TestResultsView._createResultCell): Show the test time and the expected result.
(TestResultsView._createTestResultRow): Compute the slowest run and also round time to tenth of second for time
less than 10s or second if it's more than 10s so that the test time will always be shown in two digits.
Also show the bug number and the latest expected result on the left columns after linkifying the bug numbers.
(TestResultsView._matchesFailureType): Added. Determines whether results is of a particular failure type.
(TestResultsView._populateBuilderPane):
(TestResultsView.fetchFailingTestsForBuilder): Store the failure type such as flaky, wrongtestexpectations.
(TestResultsView.updateLocationHash):
(TestResultsView.loadTestsFromLocationHash):
(fetchManifest):
* js/dom.js:
(element): appendChild if an item is a Node. Otherwise, e.g. integer, create a text node out of toString() call.
* main.css: Updated styles.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157751
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 21 Oct 2013 22:21:03 +0000 (22:21 +0000)]
Maybe a Lion build fix after r157731, part 2.
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTextStream::operator<<):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157750
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Mon, 21 Oct 2013 22:11:00 +0000 (22:11 +0000)]
Unreviewed build fix; unprotect the declaration of updateSleepDisabling();
* html/HTMLMediaElement.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157749
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 21 Oct 2013 22:09:53 +0000 (22:09 +0000)]
[Cocoa] Back/forward list UI process API
https://bugs.webkit.org/show_bug.cgi?id=123109
Reviewed by Darin Adler.
* CMakeLists.txt: Updated for renames.
* GNUmakefile.list.am: Ditto.
* Shared/Cocoa: Added.
* Shared/Cocoa/WKNSArray.h: Added. WKNSArray is an internal NSArray subclass backed by
a WebKit::ImmutableArray.
* Shared/Cocoa/WKNSArray.mm: Added.
(+[WKNSArray web_arrayWithImmutableArray:]): Added.
(-[WKNSArray web_initWithImmutableArray:]): Added.
(-[WKNSArray count]): Added.
(-[WKNSArray objectAtIndex:]): Added.
(-[WKNSArray copyWithZone:]): Added.
* Shared/Cocoa/WKNSObjectExtras.h: Added. Declares a category on NSObject that allows us to
vend WebKit API objects as Objective-C objects.
* Shared/Cocoa/WKNSObjectExtras.mm: Added.
(-[WKObject initWithAPIObject:]): WKObject is the generic Cocoa wrapper for API objects.
(-[WKObject isEqual:]): Check for equality of the underlying object.
(-[WKObject hash]): Return a pointer to the underlying object.
(-[WKObject description]): Added.
(+[NSObject _web_objectWithAPIObject:]): Added. Returns an appropriate Objective-C object
for the given API object. Currently returns a WKBackForwardListItem for a back/forward list
item and a generic WKObject for all other types.
* UIProcess/API/C/WKBackForwardList.cpp: Renamed.
* UIProcess/API/C/WKBackForwardList.h: Renamed.
* UIProcess/API/C/WKBackForwardListItem.cpp: Renamed.
* UIProcess/API/C/WKBackForwardListItem.h: Renamed.
* UIProcess/API/C/WKBackForwardListItemRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp.
* UIProcess/API/C/WKBackForwardListItemRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.h.
* UIProcess/API/C/WKBackForwardListRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardList.cpp.
* UIProcess/API/C/WKBackForwardListRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardList.h.
* UIProcess/API/C/WebKit2_C.h: Updated for header renames.
* UIProcess/API/efl/ewk_back_forward_list.cpp: Updated for rename.
* UIProcess/API/efl/ewk_back_forward_list_item.cpp: Ditto.
* UIProcess/API/mac/WKBrowsingContextController.h: Declared backForwardList property.
* UIProcess/API/mac/WKBrowsingContextController.mm:
(-[WKBrowsingContextController backForwardList]): Added this accessor.
* UIProcess/Cocoa: Added.
* UIProcess/Cocoa/WKBackForwardList.h: Added.
* UIProcess/Cocoa/WKBackForwardList.mm: Added.
(toWKBackForwardListItem): Added this helper.
(-[WKBackForwardList currentItem]): Added.
(-[WKBackForwardList backItem]): Added.
(-[WKBackForwardList forwardItem]): Added.
(-[WKBackForwardList itemAtIndex:]): Added.
(-[WKBackForwardList backListCount]): Added.
(-[WKBackForwardList forwardListCount]): Added.
(-[WKBackForwardList backListWithLimit:]): Added.
(-[WKBackForwardList forwardListWithLimit:]): Added.
(-[WKBackForwardList _initWithList:]): Added.
* UIProcess/Cocoa/WKBackForwardListInternal.h: Added.
* UIProcess/Cocoa/WKBackForwardListItem.h: Added.
* UIProcess/Cocoa/WKBackForwardListItem.mm: Added.
(-[WKBackForwardListItem URL]): Added.
(-[WKBackForwardListItem title]): Added.
(-[WKBackForwardListItem originalURL]): Added.
(-[WKBackForwardListItem isEqual:]): Check for equality of the underlying object.
(-[WKBackForwardListItem hash]): Return a pointer to the underlying object
(-[WKBackForwardListItem _initWithItem:]): Added.
* UIProcess/Cocoa/WKBackForwardListItemInternal.h: Added.
* WebKit2.xcodeproj/project.pbxproj: Updated for renames and additions.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157748
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 21 Oct 2013 22:06:20 +0000 (22:06 +0000)]
Style checker should allow a space after the @property keyword
https://bugs.webkit.org/show_bug.cgi?id=123117
Reviewed by Anders Carlsson.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing_for_function_call): Allow a space between @property and the following (
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_spacing_for_fncall): Added a test case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157747
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Mon, 21 Oct 2013 22:00:40 +0000 (22:00 +0000)]
Avoid JSC debugger overhead unless needed.
https://bugs.webkit.org/show_bug.cgi?id=123084.
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
- If no breakpoints are set, we now avoid calling the debug hook callbacks.
- If no break on exception is set, we also avoid exception event debug callbacks.
- When we return from the ScriptDebugServer to the JSC::Debugger, we may no
longer call the debug hook callbacks if not needed. Hence, the m_currentCallFrame
pointer in the ScriptDebugServer may become stale. To avoid this issue, before
returning, the ScriptDebugServer will clear its m_currentCallFrame if
needsOpDebugCallbacks() is false.
* debugger/Debugger.cpp:
(JSC::Debugger::Debugger):
(JSC::Debugger::setNeedsExceptionCallbacks):
(JSC::Debugger::setShouldPause):
(JSC::Debugger::updateNumberOfBreakpoints):
(JSC::Debugger::updateNeedForOpDebugCallbacks):
* debugger/Debugger.h:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::unwind):
(JSC::Interpreter::debug):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_debug):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_debug):
* llint/LLIntOffsetsExtractor.cpp:
* llint/LowLevelInterpreter.asm:
Source/WebCore:
No new tests.
- If no breakpoints are set, we now avoid calling the debug hook callbacks.
- If no break on exception is set, we also avoid exception event debug callbacks.
- When we return from the ScriptDebugServer to the JSC::Debugger, we may no
longer call the debug hook callbacks if not needed. Hence, the m_currentCallFrame
pointer in the ScriptDebugServer may become stale. To avoid this issue, before
returning, the ScriptDebugServer will clear its m_currentCallFrame if
needsOpDebugCallbacks() is false.
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
(WebCore::ScriptDebugServer::clearBreakpoints):
(WebCore::ScriptDebugServer::setPauseOnExceptionsState):
(WebCore::ScriptDebugServer::setPauseOnNextStatement):
(WebCore::ScriptDebugServer::breakProgram):
(WebCore::ScriptDebugServer::stepIntoStatement):
(WebCore::ScriptDebugServer::dispatchDidContinue):
(WebCore::ScriptDebugServer::exception):
(WebCore::ScriptDebugServer::didReachBreakpoint):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::reset):
Source/WebKit/mac:
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::WebScriptDebugger):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157746
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 21 Oct 2013 21:31:28 +0000 (21:31 +0000)]
Grammar markers are not updated when switching between 1x and 2x
https://bugs.webkit.org/show_bug.cgi?id=122146
Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-10-21
Reviewed by Dean Jackson.
Source/WebCore:
When running editing/spelling/grammar-markers-hidpi.html, the 2x
grammar/spelling dot resources are cached. If you then run
editing/spelling/grammar-markers.html without tearing down WebKit,
it re-uses the 2x dots. The difference between the two tests is a call
to testRunner.setBackingScaleFactor().
We create a NSColor from an NSImage, and remember it in a static
variable. However, NSColor inspects the current graphics context to
determine which resolution to use, and then remembers that decision.
Therefore, we want to recreate the NSColor whenever the device pixel
ratio changes. This patch adds a new static function to GraphicsContext
which recreates this NSColor every time the ratio changes.
Tests: editing/spelling/grammar-markers.html
editing/spelling/inline_spelling_markers.html
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::makePattern):
(WebCore::GraphicsContext::drawLineForDocumentMarker):
LayoutTests:
* platform/mac/editing/spelling/grammar-markers-expected.png:
* platform/mac/editing/spelling/inline_spelling_markers-expected.png:
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::makePattern):
(WebCore::GraphicsContext::drawLineForDocumentMarker):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157739
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Mon, 21 Oct 2013 21:26:10 +0000 (21:26 +0000)]
[WIN] Unreviewed build correction.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Handle new JIT files as C++ implementation
sources, not header files.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157737
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Mon, 21 Oct 2013 21:22:26 +0000 (21:22 +0000)]
Use pink layer borders for compositing layers with a contents layer
https://bugs.webkit.org/show_bug.cgi?id=123118
Reviewed by Dean Jackson.
With the existing layer border colors, it's not possible to distinguish an empty
layer from one with solid color, image or video contents. So use a pink color
for those. This makes it easier to diagnose bugs like 122784.
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::getDebugBorderInfo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157736
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Mon, 21 Oct 2013 21:20:55 +0000 (21:20 +0000)]
Limit use of display sleep assertion when <video> element is off-screen.
https://bugs.webkit.org/show_bug.cgi?id=123041
Reviewed by Darin Adler.
Use page visibility changes to suspend and resume the use of sleep assertions in
HTMLMediaElement.
Page will propogate the page visibility change notifications to its Documents, which
will further propogate those notifications to registered elements. Upon receiving
these notifications, HTMLMediaElement will release or take a DisplaySleepDisabler
token if necessary.
Also, rename HTMLMediaElement's updateDisableSleep() to updateSleepDisabling() and wrap
the implementation in a PLATFORM(MAC) guard rather than at each call site.
* dom/Document.cpp:
(WebCore::Document::registerForVisibilityStateCallbacks): Added registration method.
(WebCore::Document::unregisterForVisibilityStateCallbacks): Added unregistration method.
(WebCore::Document::visibilityStateChanged): Call all registered clients.
* dom/Document.h:
* dom/Element.h:
(WebCore::Element::visibilityStateChanged): Added default virtual method to be overridden
by subclasses.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Register for the notification, and check the
current status of Document::hidden().
(WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister for the notification.
(WebCore::HTMLMediaElement::visibilityStateChanged): Set m_displaySleepDisablingSuspended
and call updateSleepDisabling().
(WebCore::HTMLMediaElement::shouldDisableSleep): Add a check for m_displaySleepDisablingSuspended.
* html/HTMLMediaElement.h:
* page/Page.cpp:
(WebCore::Page::setVisibilityState): Pass to every child document.
Rename updateDisableSleep() -> updateSleepDisabling():
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):
(WebCore::HTMLMediaElement::mediaPlayerRateChanged):
(WebCore::HTMLMediaElement::clearMediaPlayer):
(WebCore::HTMLMediaElement::stop):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157735
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 21 Oct 2013 21:20:35 +0000 (21:20 +0000)]
Maybe a Lion build fix after r157731.
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTextStream::operator<<):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157734
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 21 Oct 2013 21:14:37 +0000 (21:14 +0000)]
MediaStreamTrack now tracks its own state
https://bugs.webkit.org/show_bug.cgi?id=123025
Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-10-21
Reviewed by Jer Noble.
The spec says that a MediaStreamSource can be shared by different tracks,
so a track must have its own state tracking, synchronizing with its MediaStreamSource when
the underlying MediaStreamSource changes the readyState.
In the old implementation if a user invoked the stop method, its readyState method was still
returning the MediaStreamSource state, which was wrong.
This also adds a setEnabled method, which can be used to set the state of a track when a
remote peer ends it, for instance.
No new tests needed.
* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::readyState):
(WebCore::MediaStreamTrack::setState):
(WebCore::MediaStreamTrack::stopProducingData):
(WebCore::MediaStreamTrack::ended):
(WebCore::MediaStreamTrack::sourceStateChanged):
(WebCore::MediaStreamTrack::trackDidEnd):
* Modules/mediastream/MediaStreamTrack.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157733
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 21 Oct 2013 20:42:11 +0000 (20:42 +0000)]
Remote Layer Tree: Clean up transaction logging
https://bugs.webkit.org/show_bug.cgi?id=123116
Reviewed by Anders Carlsson.
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTextStream::RemoteLayerTreeTextStream):
(WebKit::RemoteLayerTreeTextStream::increaseIndent):
(WebKit::RemoteLayerTreeTextStream::decreaseIndent):
(WebKit::RemoteLayerTreeTextStream::writeIndent):
(WebKit::RemoteLayerTreeTextStream::operator<<):
Add some stream operator overrides for various types we need to dump.
Add a notion of current indent to our TextStream subclass to make it
easy to keep track of where we are.
(WebKit::dumpProperty):
Added, hand any arbitrary type to RemoteLayerTreeTransaction.
(WebKit::dumpChangedLayers):
(WebKit::RemoteLayerTreeTransaction::dump):
Make use of TextStream.
* WebCore.exp.in:
Export some TextStream functions.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157731
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Mon, 21 Oct 2013 20:31:07 +0000 (20:31 +0000)]
Transition most use of IDBBackingStoreLevelDB to IDBBackingStoreInterface
https://bugs.webkit.org/show_bug.cgi?id=123105
Reviewed by Anders Carlsson.
Source/WebCore:
Export more required headers:
* WebCore.xcodeproj/project.pbxproj:
Flesh out many of the pure virtual methods on IDBBackingStoreInterface, as well as
the RecordIdentifier and Cursor classes:
* Modules/indexeddb/IDBBackingStoreInterface.h:
(WebCore::IDBBackingStoreInterface::RecordIdentifier::~RecordIdentifier):
(WebCore::IDBBackingStoreInterface::Cursor::~Cursor):
Use IDBBackingStoreInterface, IDBBackingStoreInterface::RecordIdentifier, and
IDBBackingStoreInterface::Cursor wherever possible:
* Modules/indexeddb/IDBFactoryBackendInterface.cpp:
* Modules/indexeddb/IDBFactoryBackendInterface.h:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::putRecord):
(WebCore::IDBBackingStoreLevelDB::deleteRecord):
(WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
(WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
(WebCore::ObjectStoreKeyCursorImpl::clone):
(WebCore::ObjectStoreCursorImpl::clone):
(WebCore::IndexKeyCursorImpl::clone):
(WebCore::IndexCursorImpl::clone):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexCursor):
(WebCore::IDBBackingStoreLevelDB::Transaction::Transaction):
(WebCore::IDBBackingStoreLevelDB::Transaction::begin):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
(WebCore::IDBBackingStoreLevelDB::RecordIdentifier::RecordIdentifier):
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
(WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
(WebCore::IDBCursorBackendLevelDB::create):
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
(WebCore::IDBDatabaseBackendLevelDB::create):
(WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
(WebCore::IDBDatabaseBackendLevelDB::backingStore):
(WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
(WebCore::IDBDatabaseBackendLevelDB::createTransaction):
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
(WebCore::IDBFactoryBackendLevelDB::createTransactionBackend):
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
(WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys):
(WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
(WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed):
(WebCore::IDBObjectStoreBackendLevelDB::makeIndexWriters):
(WebCore::IDBObjectStoreBackendLevelDB::generateKey):
(WebCore::IDBObjectStoreBackendLevelDB::updateKeyGenerator):
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
(WebCore::IDBTransactionBackendLevelDB::create):
(WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
(WebCore::GetOperation::perform):
(WebCore::OpenCursorOperation::perform):
(WebCore::CountOperation::perform):
(WebCore::DeleteRangeOperation::perform):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
(WebCore::CreateObjectStoreOperation::create):
(WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
(WebCore::DeleteObjectStoreOperation::create):
(WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
(WebCore::CreateIndexOperation::create):
(WebCore::CreateIndexOperation::CreateIndexOperation):
(WebCore::DeleteIndexOperation::create):
(WebCore::DeleteIndexOperation::DeleteIndexOperation):
(WebCore::GetOperation::create):
(WebCore::GetOperation::GetOperation):
(WebCore::PutOperation::create):
(WebCore::PutOperation::PutOperation):
(WebCore::OpenCursorOperation::create):
(WebCore::OpenCursorOperation::OpenCursorOperation):
(WebCore::CountOperation::create):
(WebCore::CountOperation::CountOperation):
(WebCore::DeleteRangeOperation::create):
(WebCore::DeleteRangeOperation::DeleteRangeOperation):
(WebCore::ClearOperation::create):
(WebCore::ClearOperation::ClearOperation):
Source/WebKit2:
Stub out a new pure virtual method:
* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
(WebKit::WebIDBFactoryBackend::createTransactionBackend):
* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157730
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zoltan@webkit.org [Mon, 21 Oct 2013 20:18:54 +0000 (20:18 +0000)]
[CSS Shapes][CSS Regions] Don't apply shape-inside when we have multiple auto-height regions and the height is not resolved
https://bugs.webkit.org/show_bug.cgi?id=123103
Reviewed by David Hyatt.
When we have multiple regions with auto-height, the region's height is not resolved from other elements we can't apply the
the shape on the region. This patch prevents to apply the shape and fixes the behavior for these cases.
Source/WebCore:
Test: fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutShapeInsideInfo):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
LayoutTests:
* fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions-expected.html: Added.
* fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157729
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 21 Oct 2013 20:16:40 +0000 (20:16 +0000)]
Remote Layer Tree: Backing store should take contentsScale into account
https://bugs.webkit.org/show_bug.cgi?id=123106
Reviewed by Simon Fraser.
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::ensureBackingStore):
(PlatformCALayerRemote::setNeedsDisplay):
(PlatformCALayerRemote::setContentsScale):
Inform the backing store of the contentsScale, and when it changes.
* WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
(WebKit::RemoteLayerBackingStore::scale): Added.
(WebKit::RemoteLayerBackingStore::mapToContentCoordinates): Added.
* WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
(RemoteLayerBackingStore::RemoteLayerBackingStore):
(RemoteLayerBackingStore::encode):
(RemoteLayerBackingStore::decode):
(RemoteLayerBackingStore::mapToContentCoordinates):
Factor out flipping so we can use it for repaints in multiple places.
(RemoteLayerBackingStore::setNeedsDisplay):
(RemoteLayerBackingStore::display):
Create a buffer scaled up by contentsScale, take the scale into account
when copying clean bits from the front buffer, and apply the scale before
painting into the back buffer.
* WebCore.exp.in:
Export FloatRect::scale.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157728
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Mon, 21 Oct 2013 20:15:29 +0000 (20:15 +0000)]
Restore accidentally removed files.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157727
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Mon, 21 Oct 2013 20:10:36 +0000 (20:10 +0000)]
RenderScrollbarPart doesn't need styleWillChange().
<https://webkit.org/b/123113>
We will call setInline(false) in styleDidChange(), there's no need
to override styleWillChange() just to do it twice.
Reviewed by Darin Adler.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157726
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 21 Oct 2013 19:38:30 +0000 (19:38 +0000)]
[CSS Regions] The layers from the flow thread should be collected under the regions' layers.
https://bugs.webkit.org/show_bug.cgi?id=120457
Patch by Mihai Maerean <mmaerean@adobe.com> on 2013-10-21
Reviewed by David Hyatt.
Source/WebCore:
This patch is based on the work of Alexandru Chiculita at https://bugs.webkit.org/attachment.cgi?id=203872&action=review
The composited layers inside the named flow threads are collected as part of the regions (as children of the
GraphicsLayer of the layer that corresponds to the region (which is attached to the parent renderer of
RenderNameFlowFragment)).
When a region displays a layer that needs accelerated compositing we activate the accelerated compositing for
that region too (inside RenderLayerCompositor::computeRegionCompositingRequirements).
This patch has landed before (as http://trac.webkit.org/changeset/156451), but was reverted because
fast/multicol/mixed-positioning-stacking-order.html failed. The fix is inside RenderLayerCompositor::canBeComposited
that only enables compositing for layers inside flow threads that collect the graphics layers under the regions.
Another change from changeset #156451 is that now the region renderers are created as anonymous renderers under
the element that has the flow-from property. When a composited layer is needed for the region, it sits in it's
parent renderer, not in the region renderer (RenderNamedFlowFragment).
Tests: compositing/regions/crash-transform-inside-region.html
compositing/regions/floated-region-with-transformed-child.html
compositing/regions/move-layer-from-one-region-to-another.html
compositing/regions/propagate-region-box-shadow-border-padding-for-video.html
compositing/regions/propagate-region-box-shadow-border-padding.html
compositing/regions/region-as-layer-in-another-flowthread.html
compositing/regions/transform-transparent-positioned-video-inside-region.html
compositing/regions/transformed-layer-inside-transformed-layer.html
compositing/regions/z-index-update.html
compositing/regions/z-index.html
* rendering/FlowThreadController.cpp:
(WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::propagateStyleToAnonymousChildren): Not for RenderFlowThreads, as they are updated
through the RenderView::styleDidChange function.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::layout): When the layout of the flow thread is over (including the 2 phase layout),
we update all the mappings between the layers inside the flow thread and the regions where those layers will be
painted.
(WebCore::RenderFlowThread::hasCompositingRegionDescendant): Whether any of the regions has a compositing descendant.
(WebCore::RenderFlowThread::getLayerListForRegion):
(WebCore::RenderFlowThread::regionForCompositedLayer):
(WebCore::RenderFlowThread::cachedRegionForCompositedLayer):
(WebCore::RenderFlowThread::collectsGraphicsLayersUnderRegions):
(WebCore::RenderFlowThread::updateLayerToRegionMappings): Triggers an update of the layers if a layer has moved
from a region to another since the last update.
(WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
* rendering/RenderFlowThread.h:
* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::pushRenderFlowThread):
* rendering/RenderGeometryMap.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::enclosingFlowThreadAncestor):
(WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions):
(WebCore::RenderLayer::hitTestList):
(WebCore::RenderLayer::calculateLayerBounds): When we calculate the bounds of the RenderView, we ignore those
flow threads that collect the graphics layers under the regions.
(WebCore::RenderLayer::dirtyZOrderLists):
(WebCore::RenderLayer::dirtyNormalFlowList):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::shouldClipCompositedBounds): Not if it's a flow thread that collects the graphics
layers under the regions
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Now adjusts the ancestorCompositingBounds for the FlowThread.
(WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): Make sure that the region propagates
its borders, paddings, outlines or box-shadows to layers inside it.
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements): Now calls computeRegionCompositingRequirements.
(WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Do not iterate the RenderFlowThread directly if
we are going to collect the composited layers as part of regions.
(WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree):
(WebCore::RenderLayerCompositor::canBeComposited): CSS Regions flow threads do not need to be composited as we
use composited RenderRegions to render the background of the RenderFlowThread.
(WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): If it's a container of a css region.
* rendering/RenderLayerCompositor.h:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
* rendering/RenderMultiColumnSet.h:
* rendering/RenderNamedFlowFragment.h:
(WebCore::RenderNamedFlowFragment::layerOwner): When the content inside the region requires the region to have a
layer, the layer will be created on the region's parent renderer instead. This method returns that renderer
holding the layer. The return value may be null.
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::nextRendererForNode):
(WebCore::RenderNamedFlowThread::previousRendererForNode):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):
(WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):
* rendering/RenderNamedFlowThread.h: m_flowThreadChildList is now allocated through an OwnPtr to keep the render
arena under the size limit.
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect):
* rendering/RenderRegion.h:
(WebCore::toRenderRegion):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeLayers):
* WebCore.exp.in: WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions
LayoutTests:
* compositing/regions/crash-transform-inside-region-expected.html: Added.
* compositing/regions/crash-transform-inside-region.html: Added.
* compositing/regions/floated-region-with-transformed-child-expected.html: Added.
* compositing/regions/floated-region-with-transformed-child.html: Added.
* compositing/regions/move-layer-from-one-region-to-another-expected.html: Added.
* compositing/regions/move-layer-from-one-region-to-another.html: Added.
* compositing/regions/propagate-region-box-shadow-border-padding-expected.html: Added.
* compositing/regions/propagate-region-box-shadow-border-padding-for-video-expected.html: Added.
* compositing/regions/propagate-region-box-shadow-border-padding-for-video.html: Added.
* compositing/regions/propagate-region-box-shadow-border-padding.html: Added.
* compositing/regions/region-as-layer-in-another-flowthread-expected.html: Added.
* compositing/regions/region-as-layer-in-another-flowthread.html: Added.
* compositing/regions/transform-transparent-positioned-video-inside-region-expected.html: Added.
* compositing/regions/transform-transparent-positioned-video-inside-region.html: Added.
* compositing/regions/transformed-layer-inside-transformed-layer-expected.html: Added.
* compositing/regions/transformed-layer-inside-transformed-layer.html: Added.
* compositing/regions/webkit-flow-renderer-layer-compositing-expected.html:
* compositing/regions/webkit-flow-renderer-layer-compositing.html:
* compositing/regions/z-index-expected.html: Added.
* compositing/regions/z-index-update-expected.html: Added.
* compositing/regions/z-index-update.html: Added.
* compositing/regions/z-index.html: Added.
* fast/multicol/mixed-positioning-stacking-order-expected.html:
* fast/multicol/mixed-positioning-stacking-order.html:
* fast/repaint/region-painting-composited-element-expected.html:
* fast/repaint/region-painting-composited-element.html:
* platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157725
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Mon, 21 Oct 2013 19:23:24 +0000 (19:23 +0000)]
Source/JavaScriptCore: Support computed property names in object literals
https://bugs.webkit.org/show_bug.cgi?id=123112
Reviewed by Michael Saboff.
Add support for computed property names to the parser.
* bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createProperty):
(JSC::ASTBuilder::getName):
* parser/NodeConstructors.h:
(JSC::PropertyNode::PropertyNode):
* parser/Nodes.h:
(JSC::PropertyNode::expressionName):
(JSC::PropertyNode::name):
* parser/Parser.cpp:
(JSC::::parseProperty):
(JSC::::parseStrictObjectLiteral):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::Property::Property):
(JSC::SyntaxChecker::createProperty):
(JSC::SyntaxChecker::operatorStackPop):
LayoutTests: Support expression property names in object literals
https://bugs.webkit.org/show_bug.cgi?id=123112
Reviewed by Michael Saboff.
Add tests
* js/basic-computed-property-name-expected.txt: Added.
* js/basic-computed-property-name.html: Added.
* js/parser-syntax-check-expected.txt:
* js/script-tests/basic-computed-property-name.js: Added.
(a.string_appeared_here.runTest):
* js/script-tests/parser-syntax-check.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157724
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 21 Oct 2013 19:02:35 +0000 (19:02 +0000)]
Fixing mediastream debug build
https://bugs.webkit.org/show_bug.cgi?id=123104
Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-10-21
Reviewed by Andreas Kling.
No new tests needed.
* Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
(WebCore::RTCDTMFToneChangeEvent::create):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157723
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Mon, 21 Oct 2013 18:29:26 +0000 (18:29 +0000)]
Merge RenderListMarker::styleWillChange() into styleDidChange().
<https://webkit.org/b/123098>
If the marker's list-style-type or list-style-position changed, we
need to dirty the layout. Move this logic to styleDidChange() so we
can get rid of one styleWillChange() overload.
Reviewed by Antti Koivisto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157722
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Mon, 21 Oct 2013 17:04:43 +0000 (17:04 +0000)]
Layout Test media/media-controller-time-clamp.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=123099
* platform/mac/TestExpectations: Marking as such.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157721
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 21 Oct 2013 16:53:23 +0000 (16:53 +0000)]
[CSS Regions] Fix WHITESPACE issues in the CSS grammar.
https://bugs.webkit.org/show_bug.cgi?id=123082
Patch by Mihai Maerean <mmaerean@adobe.com> on 2013-10-21
Reviewed by Andreas Kling.
This is a port of Rune Lillesveen's patch from https://codereview.chromium.org/
25607005
Source/WebCore:
Fix WHITESPACE issues in the CSS grammar.
A single WHITESPACE token consumes consecutive spaces, but does not consume
spaces separated by comments. That means S* and S+ in CSS grammars need to
accept multiple WHITESPACE tokens. Additionally, white spaces are not
mandatory to separate an @-symbol and the rest of the prelude.
Use space non-terminal instead of WHITESPACE for S+ in calc expressions.
Use maybe_space non-terminal instead of WHITESPACE for S* after @-webkit-filter
and @-webkit-region.
Tests: fast/css/calc-comments-allowed.html
fast/regions/webkit-region-syntax-space.html
* css/CSSGrammar.y.in:
LayoutTests:
* css3/filters/custom-with-at-rule-syntax/parsing-at-rule-valid-expected.txt:
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-at-rule-valid.js:
* fast/css/calc-comments-allowed-expected.html: Added.
* fast/css/calc-comments-allowed.html: Added.
* fast/regions/webkit-region-syntax-space-expected.txt: Added.
* fast/regions/webkit-region-syntax-space.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157720
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Mon, 21 Oct 2013 15:41:07 +0000 (15:41 +0000)]
Add option so that JSC will crash if it can't allocate executable memory for the JITs
https://bugs.webkit.org/show_bug.cgi?id=123048
<rdar://problem/
12856193>
Patch by Michael Saboff <msaboff@apple.com> on 2013-10-21
Reviewed by Geoffrey Garen.
Added new option, called crashIfCantAllocateJITMemory. If this option is true then we crash
when checking the validity of the executable allocator. The default value for this option is
false, but jsc sets it to true when built for iOS to make it straightforward to identify whether
the app can obtain executable memory.
* jsc.cpp: Explicitly enable crashIfCantAllocateJITMemory on iOS.
(main):
* runtime/Options.h: Added option crashIfCantAllocateJITMemory.
* runtime/VM.cpp:
(JSC::enableAssembler): Modified to crash if option crashIfCantAllocateJITMemory
is enabled.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157719
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mario@webkit.org [Mon, 21 Oct 2013 14:02:03 +0000 (14:02 +0000)]
[ATK] Use atk_object_notify_state_change instead of manually emitting signals
https://bugs.webkit.org/show_bug.cgi?id=122968
Patch by Anton Obzhirov <a.obzhirov@samsung.com> on 2013-10-21
Reviewed by Mario Sanchez Prada.
Refactor emitting "state-change" event to use atk_object_notify_state_change
instead of using g_signal_emit_by_name.
* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::notifyChildrenSelectionChange):
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleDetach):
* editing/atk/FrameSelectionAtk.cpp:
(WebCore::maybeEmitTextFocusChange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157718
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Mon, 21 Oct 2013 09:53:08 +0000 (09:53 +0000)]
Make TYPE_CASTS_BASE more flexible
https://bugs.webkit.org/show_bug.cgi?id=122951
Reviewed by Andreas Kling.
TYPE_CASTS_BASE is being used by node|element type casts. However, it is difficult
to be used by other type casts. For instance, CSSValue, Accessibility and so on.
This patch modifies TYPE_CASTS_BASE which can support other type casts.
Besides TYPE_CASTS_BASE body is moved from node.h to Assertions.h.
Source/WebCore:
No new tests, no behavior changes.
* dom/Document.h:
* dom/Node.h:
Source/WTF:
* wtf/Assertions.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157717
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 21 Oct 2013 09:44:06 +0000 (09:44 +0000)]
[WinCairo] Build does not start.
https://bugs.webkit.org/show_bug.cgi?id=123059
Patch by peavo@outlook.com <peavo@outlook.com> on 2013-10-21
Reviewed by Csaba Osztrogonác.
The function isAppleWinWebKit() does no longer return true for WinCairo, need to add isWinCairo() checks instead.
* Scripts/build-webkit:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157716
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 21 Oct 2013 09:43:13 +0000 (09:43 +0000)]
Remove .qmake.conf files
https://bugs.webkit.org/show_bug.cgi?id=123091
Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-10-21
Reviewed by Csaba Osztrogonác.
* .qmake.conf: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157715
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Mon, 21 Oct 2013 09:32:11 +0000 (09:32 +0000)]
Remove AllInOneFile.cpp
https://bugs.webkit.org/show_bug.cgi?id=123055
Patch by Nadav Rotem <nrotem@apple.com> on 2013-10-21
Reviewed by Csaba Osztrogonác.
* AllInOneFile.cpp: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157714
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 21 Oct 2013 09:31:07 +0000 (09:31 +0000)]
Remove qt from generate-forwarding-headers.pl
https://bugs.webkit.org/show_bug.cgi?id=123090
Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-10-21
Reviewed by Andreas Kling.
* Scripts/generate-forwarding-headers.pl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157713
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Mon, 21 Oct 2013 09:00:49 +0000 (09:00 +0000)]
[Jhbuild] Bump the required Jhbuild revision
https://bugs.webkit.org/show_bug.cgi?id=123089
Reviewed by Carlos Garcia Campos.
* jhbuild/jhbuild-wrapper: Latest versions of the gnome-common tools produce failures when configuring Jhbuild
due to the configure.ac script using both IT_PROG_INTLTOOL and AM_GNU_GETTEXT macros. This is already fixed
in the Jhbuild source so a more recent revision of it should be used.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157712
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Mon, 21 Oct 2013 08:57:23 +0000 (08:57 +0000)]
[GTK] g-ir-scanner should use the configured C compiler
https://bugs.webkit.org/show_bug.cgi?id=123088
Reviewed by Carlos Garcia Campos.
Source/WebKit/gtk:
* GNUmakefile.am: Pass the C compiler that was detected at configuration to the g-ir-scanner command
via the CC environment variable. This solves the issue of the scanner running the GCC compiler with
the Clang-specific CFLAGS.
Source/WebKit2:
* GNUmakefile.am: Pass the C compiler that was detected at configuration to the g-ir-scanner command
via the CC environment variable. This solves the issue of the scanner running the GCC compiler with
the Clang-specific CFLAGS.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157711
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 21 Oct 2013 07:11:03 +0000 (07:11 +0000)]
ASSERTION FAILED: !style->propertyIsImportant(propertyID) in WebCore::setTextDecorationProperty
https://bugs.webkit.org/show_bug.cgi?id=122097
Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-10-21
Reviewed by Ryosuke Niwa.
Source/WebCore:
When remove format command is called we pushdown the ancestor style
down to its children. Currently applying inline style to iframe
while pushing down style which causes iframe to be reinserted in tree and
triggres again subframe loading which repeats everytime and finally
crash happens. So we should avoid applying inline style to iframe
element as it doesnot reflect in its content while pushing down style
on it.
And ASSERT call has been removed from setTextDecoration property as
the scenario is perfectly valid case.
Test: editing/execCommand/remove-format-textdecoration-in-iframe.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Return if
element is iframe.
* editing/EditingStyle.cpp:
(WebCore::StyleChange::setTextDecorationProperty): Remove ASSERT.
LayoutTests:
Added Test cases to verify that crash does not happen in scenario when
remove format command is executed on selection containing the iframe
element and when textdecoration style is defined as !important and
need to pushDown to iframe.
* editing/execCommand/remove-format-textdecoration-in-iframe-expected.txt: Added.
* editing/execCommand/remove-format-textdecoration-in-iframe.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157710
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jinwoo7.song@samsung.com [Mon, 21 Oct 2013 06:08:41 +0000 (06:08 +0000)]
Unreviewed EFL gardening. Update EFL test expectations.
* platform/efl/TestExpectations: Skip authentication tests that are failing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157709
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Mon, 21 Oct 2013 05:14:53 +0000 (05:14 +0000)]
Unreviewed, cleanup a FIXME comment.
* jit/Repatch.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157708
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Mon, 21 Oct 2013 04:48:29 +0000 (04:48 +0000)]
StructureStubInfo's usedRegisters set should be able to track all registers, not just the ones that our JIT's view as temporaries
https://bugs.webkit.org/show_bug.cgi?id=123076
Source/JavaScriptCore:
Reviewed by Sam Weinig.
Start preparing for a world in which we are patching code generated by LLVM, which may have
very different register usage conventions than our JITs. This requires us being more explicit
about the registers we are using. For example, the repatching code shouldn't take for granted
that tagMaskRegister holds the TagMask or that the register is even in use.
* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/MacroAssembler.h:
(JSC::MacroAssembler::numberOfRegisters):
(JSC::MacroAssembler::registerIndex):
(JSC::MacroAssembler::numberOfFPRegisters):
(JSC::MacroAssembler::fpRegisterIndex):
(JSC::MacroAssembler::totalNumberOfRegisters):
* bytecode/StructureStubInfo.h:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::usedRegisters):
* dfg/DFGSpeculativeJIT.h:
* ftl/FTLSaveRestore.cpp:
(JSC::FTL::bytesForGPRs):
(JSC::FTL::bytesForFPRs):
(JSC::FTL::offsetOfGPR):
(JSC::FTL::offsetOfFPR):
* jit/JITInlineCacheGenerator.cpp:
(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):
* jit/JITInlineCacheGenerator.h:
(JSC::JITGetByIdGenerator::JITGetByIdGenerator):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):
* jit/RegisterSet.cpp: Added.
(JSC::RegisterSet::specialRegisters):
* jit/RegisterSet.h: Added.
(JSC::RegisterSet::RegisterSet):
(JSC::RegisterSet::set):
(JSC::RegisterSet::clear):
(JSC::RegisterSet::get):
(JSC::RegisterSet::merge):
* jit/Repatch.cpp:
(JSC::generateProtoChainAccessStub):
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):
(JSC::emitPutReplaceStub):
(JSC::tryRepatchIn):
(JSC::linkClosureCall):
* jit/TempRegisterSet.cpp: Added.
(JSC::TempRegisterSet::TempRegisterSet):
* jit/TempRegisterSet.h:
Source/WTF:
Reviewed by Sam Weinig.
Teach BitVector how to efficiently merge (i.e. bitvector |=).
* wtf/BitVector.cpp:
(WTF::BitVector::mergeSlow):
* wtf/BitVector.h:
(WTF::BitVector::merge):
(WTF::BitVector::cleanseInlineBits):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157707
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jinwoo7.song@samsung.com [Mon, 21 Oct 2013 01:02:24 +0000 (01:02 +0000)]
Unreviewed EFL gardening. Update EFL test expectations.
* platform/efl/TestExpectations: Mark fast/workers/worker-call.html as failure.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157706
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sun, 20 Oct 2013 22:57:54 +0000 (22:57 +0000)]
Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 5)
https://bugs.webkit.org/show_bug.cgi?id=122969
Reviewed by Antti Koivisto.
- Move m_lineBoxes to RenderBlockFlow.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::innerTextIfTruncated):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::willBeDestroyed):
(WebCore::RenderBlock::deleteLineBoxTree):
(WebCore::RenderBlock::isSelfCollapsingBlock):
(WebCore::RenderBlock::removeFromDelayedUpdateScrollInfoSet):
(WebCore::RenderBlock::paintContents):
(WebCore::blockDirectionOffset):
(WebCore::inlineDirectionOffset):
(WebCore::RenderBlock::inlineSelectionGaps):
(WebCore::RenderBlock::hitTestContents):
(WebCore::positionForPointRespectingEditingBoundaries):
(WebCore::RenderBlock::positionForPointWithInlineChildren):
(WebCore::RenderBlock::firstLineBoxBaseline):
(WebCore::RenderBlock::inlineBlockBaseline):
(WebCore::RenderBlock::addFocusRingRectsForInlineChildren):
(WebCore::RenderBlock::addFocusRingRects):
(WebCore::RenderBlock::showLineTreeAndMark):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::addOverflowFromInlineChildren):
(WebCore::RenderBlock::hasInlineBoxChildren):
(WebCore::RenderBlock::paintInlineChildren):
(WebCore::RenderBlock::hitTestInlineChildren):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::RenderBlockFlow):
(WebCore::RenderBlockFlow::willBeDestroyed):
(WebCore::RenderBlockFlow::deleteLineBoxTree):
(WebCore::RenderBlockFlow::hitTestInlineChildren):
(WebCore::RenderBlockFlow::adjustForBorderFit):
(WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded):
(WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):
(WebCore::RenderBlockFlow::firstLineBoxBaseline):
(WebCore::RenderBlockFlow::inlineBlockBaseline):
(WebCore::RenderBlockFlow::inlineSelectionGaps):
(WebCore::RenderBlockFlow::positionForBox):
(WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
(WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
(WebCore::RenderBlockFlow::paintInlineChildren):
(WebCore::RenderBlockFlow::relayoutForPagination):
(WebCore::RenderBlockFlow::showLineTreeAndMark):
* rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::lineBoxes):
(WebCore::RenderBlockFlow::firstLineBox):
(WebCore::RenderBlockFlow::lastLineBox):
(WebCore::RenderBlockFlow::firstRootBox):
(WebCore::RenderBlockFlow::lastRootBox):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157705
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Sun, 20 Oct 2013 18:33:58 +0000 (18:33 +0000)]
Avoid unnecessary vector copy in AnimationController event dispatch.
<https://webkit.org/b/122994>
Use Vector's move constructor instead of making a copy of the pending
events queue and then clearing it.
Reviewed by Simon Fraser.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157704
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Sun, 20 Oct 2013 16:36:41 +0000 (16:36 +0000)]
Add abstract IDBBackingStoreInterface, use it to get IDBDatabaseBackendLevelDB closer to going cross-platform
https://bugs.webkit.org/show_bug.cgi?id=123074
Reviewed by Andreas Kling.
* Modules/indexeddb/IDBBackingStoreInterface.h: Added.
(WebCore::IDBBackingStoreInterface::~IDBBackingStoreInterface):
(WebCore::IDBBackingStoreInterface::Transaction::~Transaction):
* Modules/indexeddb/IDBTransactionBackendInterface.h:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseIntVersion):
(WebCore::IDBBackingStoreLevelDB::createObjectStore):
(WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
(WebCore::IDBBackingStoreLevelDB::getRecord):
(WebCore::IDBBackingStoreLevelDB::putRecord):
(WebCore::IDBBackingStoreLevelDB::clearObjectStore):
(WebCore::IDBBackingStoreLevelDB::deleteRecord):
(WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
(WebCore::IDBBackingStoreLevelDB::createIndex):
(WebCore::IDBBackingStoreLevelDB::deleteIndex):
(WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
(WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
(WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
(WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexCursor):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
(WebCore::IDBBackingStoreLevelDB::Transaction::reset):
(WebCore::IDBBackingStoreLevelDB::Transaction::levelDBTransactionFrom):
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
(WebCore::IDBCursorBackendLevelDB::deleteFunction):
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
(WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys):
(WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
(WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed):
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
(WebCore::IDBTransactionBackendLevelDB::backingStoreTransaction):
* WebCore.xcodeproj/project.pbxproj:
* GNUmakefile.list.am:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157703
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Sun, 20 Oct 2013 16:12:09 +0000 (16:12 +0000)]
Use PassRef for StyleSheetContents.
<https://webkit.org/b/123083>
Let functions that return newly-constructed StyleSheetContents
objects vend PassRef<StyleSheetContents> instead of PassRefPtr.
Updated functions that take StyleSheetContents in arguments
accordingly. And CSSStyleSheet now has a Ref internally. Woo!
Reviewed by Antti Koivisto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157702
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 20 Oct 2013 15:43:48 +0000 (15:43 +0000)]
[Cocoa] Loading progress API
https://bugs.webkit.org/show_bug.cgi?id=123069
Reviewed by Sam Weinig.
* UIProcess/API/mac/WKBrowsingContextController.h: Declared estimatedProgress property.
* UIProcess/API/mac/WKBrowsingContextController.mm:
(-[WKBrowsingContextController estimatedProgress]): Added.
(didStartProgress): Added. Calls new delegate method
-browsingContextControllerDidStartProgress:.
(didChangeProgress): Added. Calls new delegate method
-browsingContextController:estimatedProgressChangedTo:.
(didFinishProgress): Added. Calls new delegate method
-browsingContextControllerDidFinishProgress:.
(setUpPageLoaderClient): Hook up new client functions.
* UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Declared new delegate methods.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157701
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 20 Oct 2013 14:14:35 +0000 (14:14 +0000)]
Removing "unused parameter" compiling warnings from WebKit2 and WebCore
https://bugs.webkit.org/show_bug.cgi?id=123075
Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-10-20
Reviewed by Andreas Kling.
Source/WebCore:
No new tests needed.
* Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
(WebCore::RTCDTMFToneChangeEvent::create):
* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(lineAtPositionForAtkBoundary):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
Source/WebKit2:
* NetworkProcess/NetworkProcessPlatformStrategies.cpp:
(WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously):
* UIProcess/API/C/WKContext.cpp:
(WKContextGetPluginSiteDataManager):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetInspectorUsesWebKitUserInterface):
(WKPreferencesGetInspectorUsesWebKitUserInterface):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getPlugins):
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetFullScreenClient):
(WKBundlePageWillEnterFullScreen):
(WKBundlePageDidEnterFullScreen):
(WKBundlePageWillExitFullScreen):
(WKBundlePageDidExitFullScreen):
* WebProcess/MediaCache/WebMediaCacheManager.cpp:
(WebKit::WebMediaCacheManager::clearCacheForHostname):
* WebProcess/OriginData/WebOriginDataManager.cpp:
(WebKit::WebOriginDataManager::getOrigins):
(WebKit::WebOriginDataManager::deleteEntriesForOrigin):
(WebKit::WebOriginDataManager::deleteAllEntries):
(WebKit::WebOriginDataManager::startObservingChanges):
(WebKit::WebOriginDataManager::stopObservingChanges):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createPlugin):
(WebKit::WebFrameLoaderClient::recreatePlugin):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::canPluginHandleResponse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157700
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 20 Oct 2013 11:06:05 +0000 (11:06 +0000)]
[sh4] Fix build (broken since r157690).
https://bugs.webkit.org/show_bug.cgi?id=123081
Patch by Julien Brianceau <jbriance@cisco.com> on 2013-10-20
Reviewed by Andreas Kling.
* assembler/AssemblerBufferWithConstantPool.h:
* assembler/SH4Assembler.h:
(JSC::SH4Assembler::buffer):
(JSC::SH4Assembler::readCallTarget):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157699
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Sun, 20 Oct 2013 10:49:10 +0000 (10:49 +0000)]
Use PassRef for constructing StyleRules.
<https://webkit.org/b/123072>
Let functions that return newly-constructed StyleRuleFoo objects
vend PassRef<StyleRuleFoo> instead of PassRefPtr.
Since StyleRuleBase::copy() has to return something, we can't rely
on ASSERT_NOT_REACHED() + return nullptr anymore, so I've replaced
those with CRASH(). No call sites actually handled null anyway.
Reviewed by Sam Weinig.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157698
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Sun, 20 Oct 2013 05:42:46 +0000 (05:42 +0000)]
Unreviewed roll out of r157695; broke Mac builds.
Source/WebCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
Source/WTF:
* wtf/FeatureDefines.h:
LayoutTests:
* platform/mac/js/dom/global-constructors-attributes-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157697
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sun, 20 Oct 2013 05:40:56 +0000 (05:40 +0000)]
Simplify TempRegisterSet - it no longer needs to be convertible to a POD since it's no longer going to be a member of a union
https://bugs.webkit.org/show_bug.cgi?id=123079
Reviewed by Geoffrey Garen.
* jit/TempRegisterSet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157696
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Sun, 20 Oct 2013 04:58:04 +0000 (04:58 +0000)]
[MSE] [Mac] Enable MediaSource on the Mac
https://bugs.webkit.org/show_bug.cgi?id=122484
Reviewed by Darin Adler.
Source/WebCore:
Enable ENABLE_MEDIA_SOURCE.
* Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
Enable ENABLE_MEDIA_SOURCE.
* Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
Enable ENABLE_MEDIA_SOURCE.
* Configurations/FeatureDefines.xcconfig:
Source/WTF:
Enable ENABLE_MEDIA_SOURCE.
* wtf/FeatureDefines.h:
LayoutTests:
* platform/mac/js/dom/global-constructors-attributes-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157695
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sun, 20 Oct 2013 04:55:32 +0000 (04:55 +0000)]
CTTE: Tighten up type usage around InputType::innerTextElement()
https://bugs.webkit.org/show_bug.cgi?id=123078
Reviewed by Anders Carlsson.
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleReplacedElement):
* html/HTMLElement.h:
(WebCore::HTMLElement::isTextControlInnerTextElement):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::innerTextElement):
* html/HTMLInputElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::innerTextElement):
* html/HTMLTextAreaElement.h:
* html/HTMLTextFormControlElement.cpp:
(WebCore::hasVisibleTextArea):
(WebCore::HTMLTextFormControlElement::selection):
(WebCore::HTMLTextFormControlElement::innerTextValue):
(WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
* html/HTMLTextFormControlElement.h:
* html/InputType.h:
(WebCore::InputType::innerTextElement):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::innerTextElement):
* html/TextFieldInputType.h:
* html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerTextElement::renderer):
* html/shadow/TextControlInnerElements.h:
(WebCore::isTextControlInnerTextElement):
* rendering/RenderObject.h:
(WebCore::RenderObject::isTextControlInnerBlock):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::innerTextElement):
(WebCore::RenderTextControl::styleDidChange):
(WebCore::RenderTextControl::textBlockLogicalWidth):
(WebCore::RenderTextControl::updateFromElement):
(WebCore::RenderTextControl::computeLogicalHeight):
(WebCore::RenderTextControl::hitInnerTextElement):
* rendering/RenderTextControl.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):
(WebCore::RenderTextControlSingleLine::styleDidChange):
(WebCore::RenderTextControlSingleLine::autoscroll):
(WebCore::RenderTextControlSingleLine::scroll):
(WebCore::RenderTextControlSingleLine::logicalScroll):
* rendering/RenderTextControlSingleLine.h:
(WebCore::toRenderTextControlInnerBlock):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157694
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sun, 20 Oct 2013 04:12:16 +0000 (04:12 +0000)]
Rename RegisterSet to TempRegisterSet
https://bugs.webkit.org/show_bug.cgi?id=123077
Reviewed by Dan Bernstein.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/StructureStubInfo.h:
* dfg/DFGJITCompiler.h:
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::usedRegisters):
* jit/JITInlineCacheGenerator.cpp:
(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):
* jit/JITInlineCacheGenerator.h:
(JSC::JITGetByIdGenerator::JITGetByIdGenerator):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):
* jit/RegisterSet.h: Removed.
* jit/ScratchRegisterAllocator.h:
(JSC::ScratchRegisterAllocator::ScratchRegisterAllocator):
* jit/TempRegisterSet.h: Copied from Source/JavaScriptCore/jit/RegisterSet.h.
(JSC::TempRegisterSet::TempRegisterSet):
(JSC::TempRegisterSet::asPOD):
(JSC::TempRegisterSet::copyInfo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157693
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sun, 20 Oct 2013 03:51:36 +0000 (03:51 +0000)]
Mac build fix.
* DumpRenderTree/mac/DumpRenderTree.mm: Cast the length for %lu specifier.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157692
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sun, 20 Oct 2013 03:15:04 +0000 (03:15 +0000)]
Enable webaudio/ tests on DRT/Mac
https://bugs.webkit.org/show_bug.cgi?id=86914
Reviewed by Darin Adler.
Tools:
* DumpRenderTree/ForwardingHeaders/runtime/ArrayBufferView.h: Copied from Source/WebCore/ForwardingHeaders/runtime/ArrayBufferView.h.
* DumpRenderTree/ForwardingHeaders/runtime/JSArrayBufferView.h: Copied from Source/WebCore/ForwardingHeaders/runtime/JSArrayBufferView.h.
* DumpRenderTree/ForwardingHeaders/runtime/TypedArrayInlines.h: Copied from Source/WebCore/ForwardingHeaders/runtime/TypedArrayInlines.h.
There is no way to efficiently get TypedArray buffer using API, so we need some internal headers.
* DumpRenderTree/TestRunner.cpp:
(setAudioResultCallback):
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
(TestRunner::audioResult):
(TestRunner::setAudioResult):
The function has a different name and argument type now, updated accordingly.
Changed buffer from std::string to std::vector<char>, because it's more idiomatic.
* DumpRenderTree/mac/DumpRenderTree.mm:
(dumpAudio): Updated for the new name of audioResult accessor.
(dump): Print the result in the format webkitpy currently expects.
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::dumpAudio): fwrite the whole block at once, splitting into
chunks made no sense.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setAudioResult): Added a FIXME about getting off WKBundle SPI.
* DumpRenderTree/CMakeLists.txt: Added JavaScriptCore/parser to include search list,
so that "SourceProvider.h" can be found.
LayoutTests:
* TestExpectations: Moved webaudio/javascriptaudionode here, as garbage collection
issues with it are cross-platform.
* platform/mac-wk2/TestExpectations: Moved out everything, as there is nothing
WK2 specific about WebAudio.
* platform/mac/TestExpectations: WebAudio expectations here were just ignored. Replaced
with slightly updated expectations from WK2.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157691
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sun, 20 Oct 2013 02:07:39 +0000 (02:07 +0000)]
Restructure LinkBuffer to allow for alternate allocation strategies
https://bugs.webkit.org/show_bug.cgi?id=123071
Reviewed by Oliver Hunt.
The idea is to eventually allow a LinkBuffer to place the code into an already
allocated region of memory. That region of memory could be the nop-slide left behind
by a llvm.webkit.patchpoint.
* assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::buffer):
* assembler/AssemblerBuffer.h:
* assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::copyCompactAndLinkCode):
(JSC::LinkBuffer::linkCode):
(JSC::LinkBuffer::allocate):
(JSC::LinkBuffer::shrink):
* assembler/LinkBuffer.h:
(JSC::LinkBuffer::LinkBuffer):
(JSC::LinkBuffer::didFailToAllocate):
* assembler/X86Assembler.h:
(JSC::X86Assembler::buffer):
(JSC::X86Assembler::X86InstructionFormatter::memoryModRM):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157690
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 20 Oct 2013 00:24:40 +0000 (00:24 +0000)]
Adding test case for text-decoration property state change on applying different command
https://bugs.webkit.org/show_bug.cgi?id=123073
Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-10-19
Reviewed by Ryosuke Niwa.
This test case verify text-decoration property state on element after
applying editing commands related to text-decoration.
* editing/style/text-decoration-state-change-expected.txt: Added.
* editing/style/text-decoration-state-change.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157689
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sun, 20 Oct 2013 00:01:17 +0000 (00:01 +0000)]
Some includes in JSC seem to use an incorrect style
https://bugs.webkit.org/show_bug.cgi?id=123057
Reviewed by Geoffrey Garen.
Changed pseudo-system includes to user ones.
* API/JSContextRef.cpp:
* API/JSStringRefCF.cpp:
* API/JSValueRef.cpp:
* API/OpaqueJSString.cpp:
* jit/JIT.h:
* parser/SyntaxChecker.h:
* runtime/WeakGCMap.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157688
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sat, 19 Oct 2013 23:38:14 +0000 (23:38 +0000)]
run-webkit-tests should submit time and modifiers to the new flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=123070
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run):
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(summarize_results): Added include_time_and_modifiers. Report test_run_time and modifiers
in the test expectations when this argument is set to true.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157687
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sat, 19 Oct 2013 23:18:37 +0000 (23:18 +0000)]
Mac DumpRenderTree builds without NDEBUG even in release mode
https://bugs.webkit.org/show_bug.cgi?id=123066
Reviewed by Dan Bernstein.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
Use the same pattern as WebCore and WebKitTestRunner.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157686
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sat, 19 Oct 2013 23:13:23 +0000 (23:13 +0000)]
Baseline JIT and DFG IC code generation should be unified and rationalized
https://bugs.webkit.org/show_bug.cgi?id=122939
Reviewed by Geoffrey Garen.
Introduce the JITInlineCacheGenerator, which takes a CodeBlock and a CodeOrigin plus
some register info and creates JIT inline caches for you. Used this to even furhter
unify the baseline and DFG ICs. In the future we can use this for FTL ICs. And my hope
is that we'll be able to use it for cascading ICs: an IC for some instruction may realize
that it needs to do the equivalent of get_by_id, so with this generator it will be able
to create an IC even though it wasn't associated with a get_by_id bytecode instruction.
* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::DataLabelCompact::label):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::ecmaMode):
* dfg/DFGInlineCacheWrapper.h: Added.
(JSC::DFG::InlineCacheWrapper::InlineCacheWrapper):
* dfg/DFGInlineCacheWrapperInlines.h: Added.
(JSC::DFG::::finalize):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::addGetById):
(JSC::DFG::JITCompiler::addPutById):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::isStrictModeFor):
(JSC::AssemblyHelpers::strictModeFor):
* jit/GPRInfo.h:
(JSC::JSValueRegs::tagGPR):
* jit/JIT.cpp:
(JSC::JIT::JIT):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
* jit/JIT.h:
* jit/JITInlineCacheGenerator.cpp: Added.
(JSC::JITInlineCacheGenerator::JITInlineCacheGenerator):
(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITByIdGenerator::finalize):
(JSC::JITByIdGenerator::generateFastPathChecks):
(JSC::JITGetByIdGenerator::generateFastPath):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):
(JSC::JITPutByIdGenerator::generateFastPath):
(JSC::JITPutByIdGenerator::slowPathFunction):
* jit/JITInlineCacheGenerator.h: Added.
(JSC::JITInlineCacheGenerator::JITInlineCacheGenerator):
(JSC::JITInlineCacheGenerator::stubInfo):
(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITByIdGenerator::reportSlowPathCall):
(JSC::JITByIdGenerator::slowPathJump):
(JSC::JITGetByIdGenerator::JITGetByIdGenerator):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emitSlow_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::emitSlow_op_put_by_id):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emitSlow_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::emitSlow_op_put_by_id):
* jit/RegisterSet.h:
(JSC::RegisterSet::set):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157685
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sat, 19 Oct 2013 21:56:11 +0000 (21:56 +0000)]
APICast.h uses functions from JSCJSValueInlines.h, but doesn't include it
https://bugs.webkit.org/show_bug.cgi?id=123067
Reviewed by Geoffrey Garen.
* API/APICast.h: Include it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157684
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 19 Oct 2013 21:43:30 +0000 (21:43 +0000)]
Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 4)
https://bugs.webkit.org/show_bug.cgi?id=122969
Reviewed by Andreas Kling.
- Fix classes derived from RenderBlockFlow that were still calling
up to RenderBlock rather than RenderBlockFlow.
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::paint):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::computePreferredLogicalWidths):
(WebCore::RenderFieldset::paintBoxDecorations):
(WebCore::RenderFieldset::paintMask):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::styleDidChange):
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::nodeAtPoint):
* rendering/RenderFullScreen.cpp:
(RenderFullScreenPlaceholder::willBeDestroyed):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::styleDidChange):
* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::styleDidChange):
(WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
(WebCore::RenderMultiColumnBlock::addChild):
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::updateFromElement):
* rendering/RenderRuby.cpp:
(WebCore::RenderRubyAsBlock::styleDidChange):
(WebCore::RenderRubyAsBlock::addChild):
(WebCore::RenderRubyAsBlock::removeChild):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::rubyBaseSafe):
(WebCore::RenderRubyRun::addChild):
(WebCore::RenderRubyRun::removeChild):
(WebCore::RenderRubyRun::layout):
* rendering/RenderRubyText.cpp:
(WebCore::RenderRubyText::textAlignmentForLine):
(WebCore::RenderRubyText::adjustInlineDirectionLineBounds):
* rendering/RenderTableCaption.cpp:
(WebCore::RenderTableCaption::willBeRemovedFromTree):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::willBeRemovedFromTree):
(WebCore::RenderTableCell::computePreferredLogicalWidths):
(WebCore::RenderTableCell::offsetFromContainer):
(WebCore::RenderTableCell::clippedOverflowRectForRepaint):
(WebCore::RenderTableCell::computeRectForRepaint):
(WebCore::RenderTableCell::styleDidChange):
(WebCore::RenderTableCell::borderLeft):
(WebCore::RenderTableCell::borderRight):
(WebCore::RenderTableCell::borderTop):
(WebCore::RenderTableCell::borderBottom):
(WebCore::RenderTableCell::borderStart):
(WebCore::RenderTableCell::borderEnd):
(WebCore::RenderTableCell::borderBefore):
(WebCore::RenderTableCell::borderAfter):
(WebCore::RenderTableCell::paint):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::styleDidChange):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::scrollWidth):
(WebCore::RenderTextControlSingleLine::scrollHeight):
(WebCore::RenderTextControlSingleLine::scrollLeft):
(WebCore::RenderTextControlSingleLine::scrollTop):
(WebCore::RenderTextControlSingleLine::scroll):
(WebCore::RenderTextControlSingleLine::logicalScroll):
* rendering/RenderTextTrackCue.cpp:
(WebCore::RenderTextTrackCue::layout):
* rendering/RenderView.cpp:
(WebCore::RenderView::layoutContent):
(WebCore::RenderView::addChild):
(WebCore::RenderView::visualOverflowRect):
(WebCore::RenderView::styleDidChange):
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::setStyle):
(WebCore::RenderSVGBlock::updateFromStyle):
(WebCore::RenderSVGBlock::willBeDestroyed):
(WebCore::RenderSVGBlock::styleWillChange):
(WebCore::RenderSVGBlock::styleDidChange):
* rendering/svg/SVGTextQuery.cpp:
(WebCore::flowBoxForRenderer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157683
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Sat, 19 Oct 2013 21:25:19 +0000 (21:25 +0000)]
REGRESSION(r155373): Mac WK2 EWS bots is actually Mac WK1 debug
https://bugs.webkit.org/show_bug.cgi?id=123064
Reviewed by Ryosuke Niwa.
Revert r155373 as it is causing incorrect port/platform deduction for the Mac EWS systems.
* Scripts/webkitpy/common/config/ports.py: Added.
(DeprecatedPort):
(DeprecatedPort.name):
(DeprecatedPort.flag):
(DeprecatedPort.script_path):
(DeprecatedPort.script_shell_command):
(DeprecatedPort.port):
(DeprecatedPort.makeArgs):
(DeprecatedPort.update_webkit_command):
(DeprecatedPort.check_webkit_style_command):
(DeprecatedPort.prepare_changelog_command):
(DeprecatedPort.build_webkit_command):
(DeprecatedPort.run_javascriptcore_tests_command):
(DeprecatedPort.run_webkit_unit_tests_command):
(DeprecatedPort.run_webkit_tests_command):
(DeprecatedPort.run_python_unittests_command):
(DeprecatedPort.run_perl_unittests_command):
(DeprecatedPort.run_bindings_tests_command):
(MacPort):
(MacWK2Port):
(MacWK2Port.run_webkit_tests_command):
(WinPort):
(WinPort.run_bindings_tests_command):
(GtkPort):
(GtkPort.build_webkit_command):
(GtkPort.run_webkit_tests_command):
(GtkWK2Port):
(GtkWK2Port.build_webkit_command):
(GtkWK2Port.run_webkit_tests_command):
(QtPort):
(QtPort.build_webkit_command):
(QtPort.run_webkit_tests_command):
(QtWK2Port):
(QtWK2Port.build_webkit_command):
(QtWK2Port.run_webkit_tests_command):
(EflPort):
(EflPort.build_webkit_command):
(EflWK2Port):
(EflWK2Port.build_webkit_command):
* Scripts/webkitpy/common/config/ports_mock.py: Added.
(MockPort):
(MockPort.name):
(MockPort.check_webkit_style_command):
(MockPort.update_webkit_command):
(MockPort.build_webkit_command):
(MockPort.prepare_changelog_command):
(MockPort.run_python_unittests_command):
(MockPort.run_perl_unittests_command):
(MockPort.run_javascriptcore_tests_command):
(MockPort.run_webkit_unit_tests_command):
(MockPort.run_webkit_tests_command):
(MockPort.run_bindings_tests_command):
* Scripts/webkitpy/common/config/ports_unittest.py: Added.
(DeprecatedPortTest):
(DeprecatedPortTest.test_mac_port):
(DeprecatedPortTest.test_gtk_port):
(DeprecatedPortTest.test_gtk_wk2_port):
(DeprecatedPortTest.test_efl_port):
(DeprecatedPortTest.test_qt_port):
(DeprecatedPortTest.test_qt_wk2_port):
* Scripts/webkitpy/port/base.py:
(Port._port_flag_for_scripts):
(Port._wk2_port_name):
* Scripts/webkitpy/port/base_unittest.py:
(PortTest.test_build_path):
* Scripts/webkitpy/port/efl_unittest.py:
(EflPortTest.test_show_results_html_file):
* Scripts/webkitpy/port/gtk_unittest.py:
(GtkPortTest.test_get_crash_log):
* Scripts/webkitpy/port/mac_unittest.py:
(test_64bit):
* Scripts/webkitpy/port/test.py:
(TestPort.virtual_test_suites):
* Scripts/webkitpy/tool/bot/flakytestreporter.py:
(FlakyTestReporter.__init__):
* Scripts/webkitpy/tool/bot/irc_command.py:
(Rollout._update_working_copy):
* Scripts/webkitpy/tool/commands/download_unittest.py:
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem.run_command):
* Scripts/webkitpy/tool/commands/queues.py:
(PatchProcessingQueue.begin_work_queue):
(CommitQueue.run_command):
* Scripts/webkitpy/tool/main.py:
(WebKitPatch.__init__):
(WebKitPatch.deprecated_port):
(WebKitPatch.handle_global_options):
* Scripts/webkitpy/tool/mocktool.py:
(MockTool.__init__):
(MockTool.deprecated_port):
* Scripts/webkitpy/tool/steps/build.py:
(Build.build):
* Scripts/webkitpy/tool/steps/checkstyle.py:
(CheckStyle.run):
* Scripts/webkitpy/tool/steps/commit.py:
(Commit._check_test_expectations):
* Scripts/webkitpy/tool/steps/preparechangelog.py:
(PrepareChangeLog.run):
* Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
(PrepareChangeLogForRevert.run):
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):
* Scripts/webkitpy/tool/steps/runtests_unittest.py:
(RunTestsTest.test_webkit_run_unit_tests):
* Scripts/webkitpy/tool/steps/steps_unittest.py:
(StepsTest.test_runtests_args):
* Scripts/webkitpy/tool/steps/update.py:
(Update._update_command):
* Scripts/webkitpy/tool/steps/update_unittest.py:
(UpdateTest.test_update_command_non_interactive):
(UpdateTest.test_update_command_interactive):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157682
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 19 Oct 2013 21:09:29 +0000 (21:09 +0000)]
Fix the Mac 32-bit build by reverting r157676, r157678, and r157679.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157681
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sat, 19 Oct 2013 21:03:51 +0000 (21:03 +0000)]
FTL::Location should treat the offset as an addend in the case of a Register location
https://bugs.webkit.org/show_bug.cgi?id=123062
Reviewed by Sam Weinig.
* ftl/FTLLocation.cpp:
(JSC::FTL::Location::forStackmaps):
(JSC::FTL::Location::dump):
(JSC::FTL::Location::restoreInto):
* ftl/FTLLocation.h:
(JSC::FTL::Location::forRegister):
(JSC::FTL::Location::hasAddend):
(JSC::FTL::Location::addend):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157680
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 19 Oct 2013 20:56:44 +0000 (20:56 +0000)]
Try to fix the Mac 32-bit build.
* UIProcess/mac/WKFullScreenWindowController.h:
* UIProcess/mac/WKFullScreenWindowController.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157679
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 19 Oct 2013 20:47:26 +0000 (20:47 +0000)]
Try to fix the Mac 32-bit build.
* UIProcess/API/mac/WKView.h:
* UIProcess/API/mac/WKView.mm:
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/API/mac/WKViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157678
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 19 Oct 2013 20:26:58 +0000 (20:26 +0000)]
Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=122969
Reviewed by Andreas Kling.
- Move containsNonZeroBidiLevel to RenderBlockFlow.
* editing/Editor.cpp:
(WebCore::Editor::hasBidiSelection):
* rendering/RenderBlock.cpp:
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::containsNonZeroBidiLevel):
* rendering/RenderBlockFlow.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157677
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 19 Oct 2013 20:18:11 +0000 (20:18 +0000)]
[Cocoa] Remove some indirection that was only necessary for supporting the legacy Objective-C runtime
https://bugs.webkit.org/show_bug.cgi?id=123065
Reviewed by Sam Weinig.
* UIProcess/API/mac/WKBrowsingContextController.h: Added WK_API_ENABLED guard. Removed _data
ivar and WKBrowsingContextControllerData class declaration.
* UIProcess/API/mac/WKBrowsingContextController.mm: Added WK_API_ENABLED guard. Removed
WKBrowsingContextControllerData class and moved _pageRef ivar directly into
WKBrowsingContextController, declaring it in the @implementation. Removed ivar and accessors
for the loadDelegate property, letting the compiler synthesize them.
(-[WKBrowsingContextController dealloc]): Removed indirection via _data.
(-[WKBrowsingContextController _pageRef]): Ditto.
(-[WKBrowsingContextController loadRequest:userData:]): Removed indirection via -_pageRef.
(-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]): Ditto.
(-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): Ditto.
(-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
Ditto.
(-[WKBrowsingContextController stopLoading]): Ditto.
(-[WKBrowsingContextController reload]): Ditto.
(-[WKBrowsingContextController reloadFromOrigin]): Ditto.
(-[WKBrowsingContextController goForward]): Ditto.
(-[WKBrowsingContextController canGoForward]): Ditto.
(-[WKBrowsingContextController goBack]): Ditto.
(-[WKBrowsingContextController canGoBack]): Ditto.
(-[WKBrowsingContextController activeURL]): Ditto.
(-[WKBrowsingContextController provisionalURL]): Ditto.
(-[WKBrowsingContextController committedURL]): Ditto.
(-[WKBrowsingContextController title]): Ditto.
(-[WKBrowsingContextController textZoom]): Ditto.
(-[WKBrowsingContextController setTextZoom:]): Ditto.
(-[WKBrowsingContextController pageZoom]): Ditto.
(-[WKBrowsingContextController setPageZoom:]): Ditto.
(-[WKBrowsingContextController setPaginationMode:]): Ditto.
(-[WKBrowsingContextController paginationMode]): Ditto.
(-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Ditto.
(-[WKBrowsingContextController paginationBehavesLikeColumns]): Ditto.
(-[WKBrowsingContextController setPageLength:]): Ditto.
(-[WKBrowsingContextController pageLength]): Ditto.
(-[WKBrowsingContextController setGapBetweenPages:]): Ditto.
(-[WKBrowsingContextController gapBetweenPages]): Ditto.
(-[WKBrowsingContextController pageCount]): Ditto.
(-[WKBrowsingContextController _initWithPageRef:]): Removed indirection via _data.
* UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Added WK_API_ENABLED guard.
* UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Ditto.
* UIProcess/API/mac/WKBrowsingContextGroup.h: Added WK_API_ENABLED guard. Removed _data ivar
and WKBrowsingContextGroupData class declaration.
* UIProcess/API/mac/WKBrowsingContextGroup.mm: Added WK_API_ENABLED guard. Removed
WKBrowsingContextGroupData class and moved _pageGroupRef ivar directly info
WKBrowsingContextGroup, declaring it in the @implementation.
(-[WKBrowsingContextGroup initWithIdentifier:]): Removed indirection via _data.
(-[WKBrowsingContextGroup _pageGroupRef]): Ditto.
* UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Added WK_API_ENABLED guard.
* UIProcess/API/mac/WKConnection.h: Added WK_API_ENABLED guard. Removed _data ivar and
WKConnectionData class declaration.
* UIProcess/API/mac/WKConnection.mm: Added WK_API_ENABLED guard. Removed WKConnectionData
class and moved _connectionRef ivar directly into WKConnection, declaring it in the
@implementation. Removed ivar and accessors for the delegate property, letting the compiler
synthesize them.
(-[WKConnection dealloc]): Removed indirection via _data.
(-[WKConnection sendMessageWithName:body:]): Ditto.
(-[WKConnection _initWithConnectionRef:]): Ditto.
* UIProcess/API/mac/WKConnectionInternal.h: Added WK_API_ENABLED guard.
* UIProcess/API/mac/WKProcessGroup.h: Added WK_API_ENABLED guard. Replaced forward
declaration of WKConnection with an import. Removed _data ivar and WKProcessGroupData class
declaration.
* UIProcess/API/mac/WKProcessGroup.mm: Added WK_API_ENABLED guard. Removed
WKProcessGroupData class and moved _contextRef ivar directly into WKProcessGroup, declaring
it in the @implementation. Removed ivar and accessors for the delegate property, letting the
compiler synthesize them.
(-[WKProcessGroup initWithInjectedBundleURL:]): Removed indirection via _data.
(-[WKProcessGroup dealloc]): Ditto.
(-[WKProcessGroup _contextRef]): Ditto.
* UIProcess/API/mac/WKProcessGroupPrivate.h: Added WK_API_ENABLED guard.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157676
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 19 Oct 2013 20:11:36 +0000 (20:11 +0000)]
DFG dominators: document and rename stuff.
https://bugs.webkit.org/show_bug.cgi?id=123056
Patch by Nadav Rotem <nrotem@apple.com> on 2013-10-19
Reviewed by Filip Pizlo.
Documented the code and renamed some variables.
* dfg/DFGDominators.cpp:
(JSC::DFG::Dominators::compute):
(JSC::DFG::Dominators::pruneDominators):
* dfg/DFGDominators.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157675
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 19 Oct 2013 19:55:40 +0000 (19:55 +0000)]
Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=122969
Reviewed by Antti Koivisto.
- Move truncation (e.g. line clamp and ellipse) support to RenderBlockFlow.
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::EllipsisBox):
(WebCore::EllipsisBox::paint):
(WebCore::EllipsisBox::markupBox):
(WebCore::EllipsisBox::selectionRect):
(WebCore::EllipsisBox::paintSelection):
(WebCore::EllipsisBox::nodeAtPoint):
* rendering/EllipsisBox.h:
* rendering/RenderBlock.cpp:
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::shouldCheckLines):
(WebCore::RenderBlockFlow::lineAtIndex):
(WebCore::RenderBlockFlow::lineCount):
(WebCore::getHeightForLineCount):
(WebCore::RenderBlockFlow::heightForLineCount):
(WebCore::RenderBlockFlow::clearTruncation):
* rendering/RenderBlockFlow.h:
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
(WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::placeEllipsis):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157674
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Sat, 19 Oct 2013 19:55:32 +0000 (19:55 +0000)]
RefPtr::releaseNonNull() incorrectly increments the refcount.
<https://webkit.org/b/123063>
Source/WTF:
Make releaseNonNull() use adoptRef(T&), mirroring release().
Reviewed by Anders Carlsson.
Tools:
Add an API test to verify that no extra refs are added when calling
RefPtr::releaseNonNull().
Reviewed by Anders Carlsson.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157673
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Sat, 19 Oct 2013 16:48:42 +0000 (16:48 +0000)]
StyleResolver should deal in PassRef<RenderStyle> where possible.
<https://webkit.org/b/123061>
Make StyleResolver functions that returned or took RenderStyles
by PassRefPtr use PassRef instead where possible.
Reviewed by Anders Carlsson.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157672
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Sat, 19 Oct 2013 16:41:44 +0000 (16:41 +0000)]
Global rename of the class "IDBBackingStore" to "IDBBackingStoreLevelDB"
Rubberstamped by Anders Carlsson (And Andreas Kling wanted to, but he wasn’t around)
* Modules/indexeddb/IDBTransactionBackendInterface.h:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157671
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sat, 19 Oct 2013 16:41:31 +0000 (16:41 +0000)]
WebAudio Mac expected results were misplaced - they apply equally to WK1 and WK2.
We didn't notice before because all these tests are disabled on WK1.
* platform/mac-wk2/webaudio: Removed.
* platform/mac/webaudio: Added.
* platform/mac/webaudio/audiobuffersource-playbackrate-expected.wav: Copied from LayoutTests/platform/mac-wk2/webaudio/audiobuffersource-playbackrate-expected.wav.
* platform/mac/webaudio/codec-tests: Copied from LayoutTests/platform/mac-wk2/webaudio/codec-tests.
* platform/mac-wk2/webaudio/audiobuffersource-loop-points-expected.wav: Removed.
This test is skipped, because it times out.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157670
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 19 Oct 2013 14:42:55 +0000 (14:42 +0000)]
[WinCairo] Link fails.
https://bugs.webkit.org/show_bug.cgi?id=123019
Patch by peavo@outlook.com <peavo@outlook.com> on 2013-10-19
Reviewed by Darin Adler.
Added empty CertificateInfo implementation for Curl.
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* platform/network/curl/CertificateInfoCurl.cpp: Added.
(WebCore::CertificateInfo::CertificateInfo):
(WebCore::CertificateInfo::~CertificateInfo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157669
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 19 Oct 2013 14:34:59 +0000 (14:34 +0000)]
Fix build failure for architectures with 4 argument registers.
https://bugs.webkit.org/show_bug.cgi?id=123060
Patch by Julien Brianceau <jbriance@cisco.com> on 2013-10-19
Reviewed by Michael Saboff.
Add missing setupArgumentsWithExecState() prototypes for architecture with 4 argument registers.
Remove SH4 specific code no longer needed since callOperation prototype change in r157660.
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
* jit/JITInlines.h:
(JSC::JIT::callOperation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157668
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sat, 19 Oct 2013 14:33:52 +0000 (14:33 +0000)]
libWebCoreTestSupport should have explicit exports
https://bugs.webkit.org/show_bug.cgi?id=123053
Reviewed by Oliver Hunt.
No new tests because there is no change in behavior.
* Configurations/WebCoreTestSupport.xcconfig:
* testing/js/WebCoreTestSupport.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157667
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Sat, 19 Oct 2013 14:26:49 +0000 (14:26 +0000)]
Attempt to get Lion building.
Source/WebKit/mac:
* WebView/WebDataSource.mm:
Source/WebKit2:
* UIProcess/mac/WebColorPickerMac.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157666
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Sat, 19 Oct 2013 13:58:49 +0000 (13:58 +0000)]
Start passing RenderStyle around with PassRef.
<https://webkit.org/b/123051>
Source/WebCore:
Made the RenderStyle::create methods return PassRef<RenderStyle>
and RenderElement::setStyle take a PassRef<RenderStyle>.
Reviewed by Darin Adler.
Source/WTF:
Added some new PassRef tricks to make this patch possible.
Reviewed by Darin Adler.
* wtf/PassRef.h:
(WTF::PassRef::get):
Added a get() helper to facilitate writing functions that
construct a new object and call some functions on it before
returning it.
(WTF::PassRef::dropRef):
This will deref() the referenced object and mark the PassRef
as "passed." This is used in code paths where the PassRef is
going to go out of scope with nobody to take it over.
(WTF::PassRef::leakRef):
Renamed takeReference() to leakRef() and made it public so
we don't have to awkwardly sink the PassRef into a Ref for
e.g static locals.
* wtf/RefPtr.h:
(WTF::RefPtr::releaseNonNull):
Added RefPtr::releaseNonNull() for a convenient way of creating
a PassRef<T> from a RefPtr<T>. This function may only be called
if the RefPtr is known to be non-null.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157665
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jinwoo7.song@samsung.com [Sat, 19 Oct 2013 06:47:40 +0000 (06:47 +0000)]
Unreviewed EFL gardening.
Remove EFL-specific test expectations that were identical to generic expectations
and rebaseline test cases.
* platform/efl-wk2/compositing/overflow/content-gains-scrollbars-expected.txt: Removed.
* platform/efl-wk2/compositing/overflow/content-loses-scrollbars-expected.txt: Removed.
* platform/efl/compositing/backing/no-backing-for-clip-overhang-expected.txt: Removed.
* platform/efl/compositing/contents-opaque/hidden-with-visible-child-expected.txt: Removed.
* platform/efl/compositing/contents-opaque/overflow-hidden-child-layers-expected.txt: Removed.
* platform/efl/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt: Rebaselined after r154896.
* platform/efl/svg/batik/paints/gradientLimit-expected.txt: Updating baselines after enabling the subpixel layout.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157664
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jinwoo7.song@samsung.com [Sat, 19 Oct 2013 04:28:43 +0000 (04:28 +0000)]
Update EFL test expectations.
* platform/efl/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157663
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 19 Oct 2013 03:14:44 +0000 (03:14 +0000)]
Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=122969
Reviewed by Dan Bernstein.
- Make the RootInlineBox constructor take a RenderBlockFlow.
- Move createRootInlineBox, and createAndAppendRootInlineBox to RenderBlockFlow.
* editing/VisibleUnits.cpp:
(WebCore::absoluteLineDirectionPointToLocalPointInBlock):
* rendering/InlineBox.cpp:
(WebCore::InlineBox::locationIncludingFlipping):
(WebCore::InlineBox::flipForWritingMode):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
* rendering/RenderBlock.cpp:
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::createRootInlineBox):
(WebCore::RenderBlockFlow::createAndAppendRootInlineBox):
(WebCore::createInlineBoxForRenderer):
(WebCore::RenderBlockFlow::createLineBoxes):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::positionLineBox):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::localSelectionRect):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::localSelectionRect):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::RootInlineBox):
(WebCore::RootInlineBox::rendererLineBoxes):
(WebCore::RootInlineBox::placeEllipsis):
(WebCore::RootInlineBox::containingRegion):
(WebCore::RootInlineBox::setContainingRegion):
(WebCore::RootInlineBox::alignBoxesInBlockDirection):
(WebCore::RootInlineBox::beforeAnnotationsAdjustment):
(WebCore::RootInlineBox::lineSnapAdjustment):
(WebCore::RootInlineBox::lineSelectionGap):
(WebCore::RootInlineBox::computeCaretRect):
(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
(WebCore::RootInlineBox::selectionBottom):
(WebCore::RootInlineBox::blockDirectionPointInLine):
(WebCore::RootInlineBox::blockFlow):
(WebCore::RootInlineBox::closestLeafChildForPoint):
(WebCore::RootInlineBox::removeLineBoxFromRenderObject):
(WebCore::RootInlineBox::extractLineBoxFromRenderObject):
(WebCore::RootInlineBox::attachLineBoxToRenderObject):
* rendering/RootInlineBox.h:
* rendering/TrailingFloatsRootInlineBox.h:
* rendering/svg/RenderSVGText.h:
(WebCore::toRenderSVGText):
* rendering/svg/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::SVGRootInlineBox):
(WebCore::SVGRootInlineBox::renderSVGText):
(WebCore::SVGRootInlineBox::paint):
(WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
(WebCore::SVGRootInlineBox::layoutRootBox):
* rendering/svg/SVGRootInlineBox.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157662
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sat, 19 Oct 2013 02:37:19 +0000 (02:37 +0000)]
Unreviewed, fix FTL build.
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetById):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157661
268f45cc-cd09-0410-ab3c-
d52691b4dbfc