darin@apple.com [Tue, 9 Jun 2015 21:18:23 +0000 (21:18 +0000)]
Follow-up fix for:
JavaScript bindings are unnecessarily checking for impossible empty JSValue arguments
https://bugs.webkit.org/show_bug.cgi?id=145811
Reviewed by Antti Koivisto.
There was one unusual case in the bindings generator that was depending on this.
* bindings/js/JSDOMBinding.h:
(WebCore::argumentOrNull): Deleted.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck): Stop using argumentOrNull.
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Updated.
* bindings/scripts/test/JS/JSTestObj.cpp: Updated.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185377
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 9 Jun 2015 20:12:15 +0000 (20:12 +0000)]
REGRESSION(r185262): NetworkCache is in wrong location on OS X
https://bugs.webkit.org/show_bug.cgi?id=145812
Reviewed by Anders Carlsson.
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
(WebKit::WebProcessPool::isNetworkCacheEnabled):
Make sure static functions that use NSUserDefaults call registerUserDefaultsIfNeeded() first.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185374
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Tue, 9 Jun 2015 19:55:02 +0000 (19:55 +0000)]
JavaScript bindings are unnecessarily checking for impossible empty JSValue arguments
https://bugs.webkit.org/show_bug.cgi?id=145811
Reviewed by Antti Koivisto.
At some point, someone who didn't understand JSValue very well added checks for
isEmpty (and the function isEmpty itself) in JavaScript bindings. But the engine
never would pass an empty JSValue to a binding; that's used only inside the
engine itself. I think this was done by some Google V8 experts a while back, so
it's not entirely surprising they didn't understand this. But we don't want to
keep all that unneeded code.
* bindings/js/JSAudioTrackCustom.cpp:
(WebCore::JSAudioTrack::setKind): Removed the isEmpty clause here. I presume this
was copied and pasted from script-generated bindings. While I was at it, I used a
slightly more efficient code path that avoids doing a ref/deref on the string by
using auto&. That's trickier to do correctly for functions with more than one
argument, so I didn't do it in the bindings generator yet.
(WebCore::JSAudioTrack::setLanguage): Ditto.
* bindings/js/JSTextTrackCustom.cpp:
(WebCore::JSTextTrack::setKind): Ditto.
(WebCore::JSTextTrack::setLanguage): Ditto.
* bindings/js/JSVideoTrackCustom.cpp:
(WebCore::JSVideoTrack::setKind): Ditto.
(WebCore::JSVideoTrack::setLanguage): Ditto.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Use "=" syntax instead of constructor style syntax for
the argument processing. I think this is more readable.
(GenerateParametersCheck): For the enum code path, did the more efficient auto&
idiom to avoid ref/deref on a string. For the toExistingAtomicString path,
restructured so we don't have to check the flag indicating that something is atomic.
Later we could also avoid the ref/deref; added a FIXME about that.
(GetNativeType): Use String, not const String, for local variables. Sure, the
string is const, but so is every other local variable type we use! No need to be
wordy about it.
(JSValueToNative): Removed the uneeded calls to isEmpty. Since the call sites no
longer use construction syntax, used initializer syntax style for a couple classes
that are constructed with multiple arguments.
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Updated.
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
* bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
* bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
* bindings/scripts/test/JS/JSTestNondeterministic.cpp: Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: Ditto.
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
* bindings/scripts/test/JS/JSTestTypedefs.cpp: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185373
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 9 Jun 2015 19:29:57 +0000 (19:29 +0000)]
Fix unused private field warning in GraphicsLayerUpdater.h
https://bugs.webkit.org/show_bug.cgi?id=145757
Reviewed by Darin Adler.
* platform/graphics/GraphicsLayerUpdater.cpp:
(WebCore::GraphicsLayerUpdater::GraphicsLayerUpdater):
* platform/graphics/GraphicsLayerUpdater.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185372
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 9 Jun 2015 19:29:31 +0000 (19:29 +0000)]
run-benchmark should either checkout JetStream 1.0.1 or support running the latest version
https://bugs.webkit.org/show_bug.cgi?id=145764
Reviewed by Darin Adler.
Added the support for checkout a subversion directory in run-benchmark and used in the plans for
JetStream and SunSpider.
* Scripts/webkitpy/benchmark_runner/benchmark_builder/generic_benchmark_builder.py:
(GenericBenchmarkBuilder):
(GenericBenchmarkBuilder.prepare): Instead of taking each argument from benchmark plan, just accept
the whole JSON as the input.
(GenericBenchmarkBuilder._checkoutWithSubverion): Added.
(GenericBenchmarkBuilder._applyPatch): Check the existence of benchmark_patch in prepare() instead.
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.execute): Removed the check for having either 'local_copy' or 'remote_archive' in
a benchmark plan now that it's checkedi in GenericBenchmarkBuilder.prepare.
* Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan:
* Scripts/webkitpy/benchmark_runner/data/plans/sunspider.plan:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185371
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Tue, 9 Jun 2015 18:42:46 +0000 (18:42 +0000)]
Introduce getter definition into static hash tables and use it for getters in RegExp.prototype.
https://bugs.webkit.org/show_bug.cgi?id=145705
Reviewed by Darin Adler.
Source/JavaScriptCore:
In this patch, we introduce Accessor type into property tables.
With Accessor type, create_hash_table creates a static getter property.
This getter property is reified as the same to the static functions.
In the mean time, we only support getter because `putEntry` and `lookupPut`
only work with null setter currently. However, in the spec, there's
no need to add static setter properties. So we will add it if it becomes
necessary in the future.
And at the same time, this patch fixes the issue 145738. Before this patch,
`putEntry` in `JSObject::deleteProperty` adds `undefined` property if
`isValidOffset(...)` is false (deleted). As the result, deleting twice
revives the property with `undefined` value.
If the static functions are reified and the entry is
`BuiltinOrFunctionOrAccessor`, there's no need to execute `putEntry` with
static hash table entry. They should be handled in the normal structure's
looking up because they should be already reified. So added guard for this.
* CMakeLists.txt:
* DerivedSources.make:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* create_hash_table:
* runtime/JSObject.cpp:
(JSC::getClassPropertyNames):
(JSC::JSObject::put):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::reifyStaticFunctionsForDelete):
* runtime/Lookup.cpp:
(JSC::reifyStaticAccessor):
(JSC::setUpStaticFunctionSlot):
* runtime/Lookup.h:
(JSC::HashTableValue::propertyGetter):
(JSC::HashTableValue::propertyPutter):
(JSC::HashTableValue::accessorGetter):
(JSC::HashTableValue::accessorSetter):
(JSC::getStaticPropertySlot):
(JSC::getStaticValueSlot):
(JSC::putEntry):
(JSC::reifyStaticProperties):
* runtime/PropertySlot.h:
* runtime/RegExpObject.cpp:
(JSC::RegExpObject::getOwnPropertySlot):
(JSC::regExpObjectGlobal): Deleted.
(JSC::regExpObjectIgnoreCase): Deleted.
(JSC::regExpObjectMultiline): Deleted.
(JSC::appendLineTerminatorEscape<LChar>): Deleted.
(JSC::appendLineTerminatorEscape<UChar>): Deleted.
(JSC::regExpObjectSourceInternal): Deleted.
(JSC::regExpObjectSource): Deleted.
* runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::getOwnPropertySlot):
(JSC::regExpProtoGetterGlobal):
(JSC::regExpProtoGetterIgnoreCase):
(JSC::regExpProtoGetterMultiline):
(JSC::appendLineTerminatorEscape<LChar>):
(JSC::appendLineTerminatorEscape<UChar>):
(JSC::regExpProtoGetterSourceInternal):
(JSC::regExpProtoGetterSource):
* tests/stress/static-function-delete.js: Added.
(shouldBe):
* tests/stress/static-function-put.js: Added.
(shouldBe):
* tests/stress/static-getter-delete.js: Added.
(shouldBe):
(shouldThrow):
* tests/stress/static-getter-descriptors.js: Added.
(shouldBe):
* tests/stress/static-getter-enumeration.js: Added.
(shouldBe):
* tests/stress/static-getter-get.js: Added.
(shouldBe):
* tests/stress/static-getter-in-names.js: Added.
(shouldBe):
* tests/stress/static-getter-names.js: Added.
(shouldBe):
* tests/stress/static-getter-put.js: Added.
(shouldBe):
(shouldThrow):
LayoutTests:
Adjust RegExp.prototype and instance's getter layout.
This is a breaking change from ES5.
So ES5 conformance tests like sputnik is needed to be fixed.
* ietestcenter/Javascript/15.2.3.3-4-212-expected.txt:
* ietestcenter/Javascript/15.2.3.3-4-213-expected.txt:
* ietestcenter/Javascript/15.2.3.3-4-214-expected.txt:
* ietestcenter/Javascript/15.2.3.3-4-215-expected.txt:
* ietestcenter/Javascript/TestCases/15.2.3.3-4-212.js:
(ES5Harness.registerTest):
* ietestcenter/Javascript/TestCases/15.2.3.3-4-213.js:
(ES5Harness.registerTest):
* ietestcenter/Javascript/TestCases/15.2.3.3-4-214.js:
(ES5Harness.registerTest):
* ietestcenter/Javascript/TestCases/15.2.3.3-4-215.js:
(ES5Harness.registerTest):
* js/Object-getOwnPropertyNames-expected.txt:
* js/dom/getOwnPropertyDescriptor-expected.txt:
* js/mozilla/strict/15.10.7-expected.txt:
* js/mozilla/strict/script-tests/15.10.7.js:
* js/pic/cached-named-property-getter.html:
* js/resources/getOwnPropertyDescriptor.js:
(.get descriptorShouldBe):
* js/script-tests/Object-getOwnPropertyNames.js:
* sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.1_source/S15.10.7.1_A10.html:
* sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.1_source/S15.10.7.1_A8.html:
* sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.1_source/S15.10.7.1_A9.html:
* sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.2_global/S15.10.7.2_A10.html:
* sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.2_global/S15.10.7.2_A8.html:
* sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.2_global/S15.10.7.2_A9.html:
* sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.3_ignoreCase/S15.10.7.3_A10.html:
* sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.3_ignoreCase/S15.10.7.3_A8.html:
* sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.3_ignoreCase/S15.10.7.3_A9.html:
* sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.4_multiline/S15.10.7.4_A10.html:
* sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.4_multiline/S15.10.7.4_A8.html:
* sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.4_multiline/S15.10.7.4_A9.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185370
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Tue, 9 Jun 2015 18:31:02 +0000 (18:31 +0000)]
Crash when passing Symbol to NPAPI plugin objects
https://bugs.webkit.org/show_bug.cgi?id=145798
Reviewed by Darin Adler.
Source/WebCore:
Test: plugins/npruntime/script-object-with-symbols.html
For C bridge APIs, we add guards for symbols.
This is the same to the existing guards in Objective-C APIs.
* bridge/c/c_class.cpp:
(JSC::Bindings::CClass::methodNamed):
(JSC::Bindings::CClass::fieldNamed):
* bridge/objc/objc_class.mm:
(JSC::Bindings::ObjcClass::methodNamed):
(JSC::Bindings::ObjcClass::fieldNamed):
(JSC::Bindings::ObjcClass::fallbackObject):
Source/WebKit2:
When the symbol is passed, `propertyName.publicName()` becomes nullptr.
So dereferencing it causes null dereference errors.
At first, this bug appears in the https://bugs.webkit.org/show_bug.cgi?id=145556,
plugin[@@toStringTag] ("string" + plugin) causes SEGV in plugins/embed-inside-object.html test.
This patch avoids it by early returning when the symbols are passed.
Methods for symbols are not implemented in the NPObject side, so it works correctly.
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::npIdentifierFromIdentifier):
(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::getOwnPropertySlot):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):
LayoutTests:
* plugins/npruntime/script-object-with-symbols-expected.txt: Added.
* plugins/npruntime/script-object-with-symbols.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185369
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Tue, 9 Jun 2015 18:03:40 +0000 (18:03 +0000)]
[JSC] JSString::getIndex() should avoid reifying substrings.
<https://webkit.org/b/145803>
Reviewed by Darin Adler.
Implement getIndex() using JSString::view(), which cuts it down to a one-liner
and also avoids reifying substrings.
I saw 178 kB of reified substrings below operationGetByVal -> getIndex()
on cnet.com, so this should help.
* runtime/JSString.cpp:
(JSC::JSRopeString::getIndexSlowCase): Deleted.
* runtime/JSString.h:
(JSC::JSString::getIndex):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185368
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Tue, 9 Jun 2015 18:01:44 +0000 (18:01 +0000)]
[JSC] String.prototype.indexOf() should use StringView.
<https://webkit.org/b/145351>
Reviewed by Darin Adler.
Use StringView::find() to implement String.prototype.indexOf().
This avoids reifying the needle and haystack JSStrings in case they
are substrings.
Reduces malloc memory by ~190 kB on cnet.com.
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncIndexOf):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185367
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 9 Jun 2015 17:11:50 +0000 (17:11 +0000)]
[SOUP] Network Cache: Give more priority to reads over writes in IO WorkQueue
https://bugs.webkit.org/show_bug.cgi?id=145791
Reviewed by Sergio Villar Senin.
Keep using G_PRIORITY_DEFAULT for reads, but use
G_PRIORITY_DEFAULT_IDLE for writes now.
* NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
(WebKit::NetworkCache::outputStreamWriteReadyCallback): Use
G_PRIORITY_DEFAULT_IDLE for write async operations.
(WebKit::NetworkCache::IOChannel::write): Pass
G_PRIORITY_DEFAULT_IDLE to runTaskInQueue().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185366
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 9 Jun 2015 17:07:19 +0000 (17:07 +0000)]
[SOUP] Network Cache: run the IO completion handler in the given queue instead of the whole operation
https://bugs.webkit.org/show_bug.cgi?id=145797
Reviewed by Žan Doberšek.
I misunderstood what the WorkQueue parameter meant in the IO
channel operations. It's the queue where the completion handler
should be run, not the whole operation. Since our operations are
already non-blocking, we can just run the read/writes in the main
thread, and schedule the completion handler in the given work
queue when the operation finishes.
* NetworkProcess/cache/NetworkCacheIOChannel.h:
* NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
(WebKit::NetworkCache::inputStreamReadReadyCallback):
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::readSync):
(WebKit::NetworkCache::outputStreamWriteReadyCallback):
(WebKit::NetworkCache::IOChannel::write):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185365
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 9 Jun 2015 16:56:37 +0000 (16:56 +0000)]
Remove more unused SPI methods
https://bugs.webkit.org/show_bug.cgi?id=145804
Reviewed by Simon Fraser.
* Misc/WebNSURLRequestExtras.h:
* Misc/WebNSURLRequestExtras.m:
(-[NSURLRequest _web_HTTPReferrer]): Deleted.
(-[NSURLRequest _web_HTTPContentType]): Deleted.
(-[NSURLRequest _web_isConditionalRequest]): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185364
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Tue, 9 Jun 2015 15:26:30 +0000 (15:26 +0000)]
Update iOS TestExpectations files
* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185363
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Tue, 9 Jun 2015 13:26:50 +0000 (13:26 +0000)]
REGRESSION (r185357): Fix build for iOS 8.x
* UIProcess/ios/forms/WKFileUploadPanel.mm:
(fallbackIconForFile): Add cast prior to iOS 9.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185362
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@webkit.org [Tue, 9 Jun 2015 10:30:45 +0000 (10:30 +0000)]
Remove ewstool scripts used by chromium port
https://bugs.webkit.org/show_bug.cgi?id=145789
Reviewed by Csaba Osztrogonác.
* EWSTools/GoogleComputeEngine/build-chromium-ews.sh: Removed.
* EWSTools/GoogleComputeEngine/build-commit-queue.sh: Removed.
* EWSTools/GoogleComputeEngine/build-cr-linux-debug-ews.sh: Removed.
* EWSTools/GoogleComputeEngine/build-feeder-style-sheriffbot.sh: Removed.
* EWSTools/GoogleComputeEngine/findzone.sh: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185361
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@webkit.org [Tue, 9 Jun 2015 10:03:48 +0000 (10:03 +0000)]
[EFL] Fix a crash on MiniBrowser when running on debug mode
https://bugs.webkit.org/show_bug.cgi?id=145793
Reviewed by Carlos Garcia Campos.
r185314 missed to initialize parameters.diskCacheDirectory with configuration's one.
* UIProcess/efl/WebProcessPoolEfl.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185360
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
m.pakula@samsung.com [Tue, 9 Jun 2015 09:56:30 +0000 (09:56 +0000)]
Unreviewed, updated my list of email addresses.
* Scripts/webkitpy/common/config/contributors.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185359
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 9 Jun 2015 09:46:19 +0000 (09:46 +0000)]
[cmake] Fix the style issues in cmake project files
https://bugs.webkit.org/show_bug.cgi?id=145755
Reviewed by Darin Adler.
Source/JavaScriptCore:
* CMakeLists.txt:
Source/WebCore:
* CMakeLists.txt:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* PlatformMac.cmake:
* PlatformWin.cmake:
* PlatformWinCairo.cmake:
Source/WebKit:
* PlatformMac.cmake:
Source/WebKit2:
* CMakeLists.txt:
* PlatformGTK.cmake:
* PlatformMac.cmake:
Source/WTF:
* wtf/CMakeLists.txt:
Tools:
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformEfl.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185358
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jhoneycutt@apple.com [Tue, 9 Jun 2015 08:18:31 +0000 (08:18 +0000)]
[iOS] UI process memory spike, hang when uploading a very large JPEG
<https://bugs.webkit.org/show_bug.cgi?id=145567>
<rdar://problem/
21206699>
When uploading an image, we generate a thumbnail to use for an icon
that sits next to the control. To do this, we load the image and draw
it into a thumbnail-sized canvas. This can be very expensive for large
images.
To fix this, we'll use CGImageSource API, which will allow us to get
any existing thumbnail that exists in the source file.
Reviewed by Darin Adler.
* UIProcess/ios/forms/WKFileUploadPanel.mm:
(squareCropRectForSize):
Use std::round, based on Darin's review feedback that a) rintf is
incorrect in 64-bit systems where CGFloat is a double, b) rintf uses a
variable rounding mode, which is undesirable.
(squareImage):
Changed to take a CGImageRef.
Use RetainPtr and +[UIImage imageWithCGImage:] to match other code in
this file.
(thumbnailSizedImageForImage):
Changed to take a CGImageRef and to use iconSideLength.
(iconForImageFile):
Create an image source for the file, then use CGImageSource API to
generate a thumbnail.
(-[_WKImageFileUploadItem initWithFileURL:originalImage:]): Deleted.
(-[_WKImageFileUploadItem displayImage]):
Use iconForImageFile() rather than trying to generate an icon from the
UIImage.
(-[WKFileUploadPanel _uploadItemForImageData:imageName:successBlock:failureBlock:]):
Removed originalImage parameter; _WKImageFileUploadItem no longer uses
it.
(-[WKFileUploadPanel _uploadItemForJPEGRepresentationOfImage:successBlock:failureBlock:]):
(-[WKFileUploadPanel _uploadItemForImage:withAssetURL:successBlock:failureBlock:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185357
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
youenn.fablet@crf.canon.fr [Tue, 9 Jun 2015 07:45:12 +0000 (07:45 +0000)]
[Streams API] ReadableJSStream should handle JS source getters that throw
https://bugs.webkit.org/show_bug.cgi?id=145600
Reviewed by Darin Adler.
Source/WebCore:
Checking whether there is an exception when trying to access to a source method.
If so, rethrowing it in case of "start".
Refactoring of code to prepare pulling, cancelling and additional parameter handling in ReadableStream construtor.
Fixed the case of ReadableStream constructor called with an undefined parameter.
Covered by rebased test expectation.
* bindings/js/JSReadableStreamCustom.cpp:
(WebCore::constructJSReadableStream): Refactoring to group all parameter check and exception handling in ReadableJSStream::create.
* bindings/js/ReadableJSStream.cpp:
(WebCore::getPropertyFromObject):
(WebCore::callFunction):
(WebCore::ReadableJSStream::invoke): Added method to be used also for pulling and cancelling.
(WebCore::ReadableJSStream::doStart):
(WebCore::ReadableJSStream::create):
* bindings/js/ReadableJSStream.h:
LayoutTests:
* streams/reference-implementation/bad-underlying-sources-expected.txt:
* streams/reference-implementation/readable-stream-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185356
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Tue, 9 Jun 2015 05:21:52 +0000 (05:21 +0000)]
Update iOS TestExpectations files
* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185353
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 9 Jun 2015 04:25:25 +0000 (04:25 +0000)]
Fix a typo in r185345.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.closeBrowsers):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185351
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 9 Jun 2015 03:10:05 +0000 (03:10 +0000)]
Made MicroTask.h a project header.
Rubber-stamped by Anders Carlsson.
* WebCore.xcodeproj/project.pbxproj: Demoted MicroTask.h from Public to Project. WebCore
doesn’t have public headers, and this header isn’t used by WebKit.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185350
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Tue, 9 Jun 2015 03:03:21 +0000 (03:03 +0000)]
Web Inspector: Clearing active Timeline recording should stop capturing
https://bugs.webkit.org/show_bug.cgi?id=145767
Reviewed by Joseph Pecoraro.
* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._clearTimeline):
Stop capturing if necessary.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185349
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 9 Jun 2015 02:59:54 +0000 (02:59 +0000)]
Removed WebDragSourceActionAttachment from the WebDragSourceAction enum.
Rubber-stamped by Anders Carlsson.
* WebView/WebUIDelegate.h: Removed the value. It was added in r181760 and never used.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185348
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 9 Jun 2015 02:31:27 +0000 (02:31 +0000)]
[Cocoa] Use generics in framework headers
https://bugs.webkit.org/show_bug.cgi?id=145781
Reviewed by Sam Weinig.
* mac/postprocess-framework-headers.sh: Use the parameter to WK_ARRAY and WK_SET.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185347
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@webkit.org [Tue, 9 Jun 2015 02:17:48 +0000 (02:17 +0000)]
Purge PassRefPtr in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=145750
Source/JavaScriptCore:
As a step to purge PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr.
Reviewed by Darin Adler.
* API/JSClassRef.cpp:
(OpaqueJSClass::createNoAutomaticPrototype):
* API/JSClassRef.h:
* API/JSContextRef.cpp:
* API/JSScriptRef.cpp:
(OpaqueJSScript::create):
* API/JSStringRef.cpp:
(JSStringCreateWithCharacters):
(JSStringCreateWithUTF8CString):
* API/OpaqueJSString.cpp:
(OpaqueJSString::create):
* API/OpaqueJSString.h:
(OpaqueJSString::create):
* bytecompiler/StaticPropertyAnalysis.h:
(JSC::StaticPropertyAnalysis::create):
* debugger/DebuggerCallFrame.h:
(JSC::DebuggerCallFrame::create):
* dfg/DFGToFTLDeferredCompilationCallback.cpp:
(JSC::DFG::ToFTLDeferredCompilationCallback::create):
* dfg/DFGToFTLDeferredCompilationCallback.h:
* dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
(JSC::DFG::Ref<ToFTLForOSREntryDeferredCompilationCallback>ToFTLForOSREntryDeferredCompilationCallback::create):
(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::create): Deleted.
* dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h:
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::create):
(JSC::DFG::ensureGlobalDFGWorklist):
(JSC::DFG::ensureGlobalFTLWorklist):
* dfg/DFGWorklist.h:
* heap/EdenGCActivityCallback.h:
(JSC::GCActivityCallback::createEdenTimer):
* heap/FullGCActivityCallback.h:
(JSC::GCActivityCallback::createFullTimer):
* heap/GCActivityCallback.h:
* inspector/InjectedScriptHost.h:
* inspector/JavaScriptCallFrame.h:
(Inspector::JavaScriptCallFrame::create):
* inspector/ScriptArguments.cpp:
(Inspector::ScriptArguments::create):
* inspector/ScriptArguments.h:
* jit/JITStubRoutine.h:
(JSC::JITStubRoutine::createSelfManagedRoutine):
* jit/JITToDFGDeferredCompilationCallback.cpp:
(JSC::JITToDFGDeferredCompilationCallback::create):
* jit/JITToDFGDeferredCompilationCallback.h:
* jsc.cpp:
(jscmain):
* parser/NodeConstructors.h:
(JSC::ArrayPatternNode::create):
(JSC::ObjectPatternNode::create):
(JSC::BindingNode::create):
* parser/Nodes.cpp:
(JSC::FunctionParameters::create):
* parser/Nodes.h:
* parser/SourceProvider.h:
(JSC::StringSourceProvider::create):
* profiler/Profile.cpp:
(JSC::Profile::create):
* profiler/Profile.h:
* profiler/ProfileGenerator.cpp:
(JSC::ProfileGenerator::create):
* profiler/ProfileGenerator.h:
* profiler/ProfileNode.h:
(JSC::ProfileNode::create):
* runtime/DataView.cpp:
(JSC::DataView::create):
* runtime/DataView.h:
* runtime/DateInstanceCache.h:
(JSC::DateInstanceData::create):
* runtime/JSPromiseReaction.cpp:
(JSC::createExecutePromiseReactionMicrotask):
* runtime/JSPromiseReaction.h:
* runtime/PropertyNameArray.h:
(JSC::PropertyNameArrayData::create):
* runtime/TypeSet.h:
(JSC::StructureShape::create):
(JSC::TypeSet::create):
* runtime/TypedArrayBase.h:
(JSC::TypedArrayBase::create):
(JSC::TypedArrayBase::createUninitialized):
(JSC::TypedArrayBase::subarrayImpl):
* runtime/VM.cpp:
(JSC::VM::createContextGroup):
(JSC::VM::create):
(JSC::VM::createLeaked):
* runtime/VM.h:
* yarr/RegularExpression.cpp:
(JSC::Yarr::RegularExpression::Private::create):
Source/WebCore:
Reviewed by Darin Adler.
As a step to purge PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr.
No new tests, no behavior changes.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::commonVM):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185346
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 9 Jun 2015 00:47:25 +0000 (00:47 +0000)]
Yet another unreviewed build fix :(
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver):
(OSXSafariDriver.launchUrl):
(OSXSafariDriver.closeBrowsers):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185345
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Tue, 9 Jun 2015 00:45:59 +0000 (00:45 +0000)]
It should be possible to hoist all constants in DFG SSA
https://bugs.webkit.org/show_bug.cgi?id=145769
Reviewed by Geoffrey Garen.
It's sometimes somewhat more efficient, and convenient, to have all constants at the
top of the root block. We don't require this as an IR invariant because too many phases
want to be able to insert constants in weird places. But, this phase will be great for
preparing for https://bugs.webkit.org/show_bug.cgi?id=145768.
* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGConstantHoistingPhase.cpp: Added.
(JSC::DFG::performConstantHoisting):
* dfg/DFGConstantHoistingPhase.h: Added.
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185344
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Tue, 9 Jun 2015 00:29:13 +0000 (00:29 +0000)]
Subpixel rendering: Clip-path does not work properly on subpixel positions.
https://bugs.webkit.org/show_bug.cgi?id=145749
rdar://problem/
20824305
Reviewed by Simon Fraser.
This patch ensures that clip-path is device pixel snapped both for composited and
non-composited content.
Source/WebCore:
Tests: compositing/masks/compositing-clip-path-on-subpixel-position.html
fast/masking/clip-path-on-subpixel-position.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupClipPath):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateMaskingLayerGeometry):
LayoutTests:
* compositing/masks/compositing-clip-path-on-subpixel-position-expected.html: Added.
* compositing/masks/compositing-clip-path-on-subpixel-position.html: Added.
* fast/masking/clip-path-on-subpixel-position-expected.html: Added.
* fast/masking/clip-path-on-subpixel-position.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185343
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 9 Jun 2015 00:28:19 +0000 (00:28 +0000)]
Access GCController instance via GCController::singleton() instead of a free function
https://bugs.webkit.org/show_bug.cgi?id=145776
Reviewed by Darin Adler.
Access GCController instance via GCController::singleton() instead of a
free function as per coding style and for consistency with other
singleton classes in the codebase.
Source/WebCore:
* bindings/js/GCController.cpp:
(WebCore::GCController::singleton):
(WebCore::gcController): Deleted.
* bindings/js/GCController.h:
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::setWindow):
* bindings/js/ScriptCachedFrameData.cpp:
(WebCore::ScriptCachedFrameData::clear):
* bindings/js/ScriptController.cpp:
(WebCore::collectGarbageAfterWindowShellDestruction):
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseCriticalMemory):
Source/WebKit/mac:
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics garbageCollectJavaScriptObjects]):
(+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging:]):
(+[WebCoreStatistics setJavaScriptGarbageCollectorTimerEnabled:]):
* WebView/WebView.mm:
(+[WebView garbageCollectNow]):
(+[WebView discardAllCompiledCode]):
(-[WebView _close]):
Source/WebKit/win:
* WebCoreStatistics.cpp:
(WebCoreStatistics::garbageCollectJavaScriptObjects):
(WebCoreStatistics::garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging):
(WebCoreStatistics::setJavaScriptGarbageCollectorTimerEnabled):
* WebJavaScriptCollector.cpp:
(WebJavaScriptCollector::collect):
(WebJavaScriptCollector::collectOnAlternateThread):
Source/WebKit2:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::garbageCollectJavaScriptObjects):
(WebKit::InjectedBundle::garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::terminate):
(WebKit::WebProcess::didClose):
(WebKit::WebProcess::garbageCollectJavaScriptObjects):
(WebKit::WebProcess::setJavaScriptGarbageCollectorTimerEnabled):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185342
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Tue, 9 Jun 2015 00:23:45 +0000 (00:23 +0000)]
Mouse release on AutoFill button activates it; should only activate on click
https://bugs.webkit.org/show_bug.cgi?id=145774
<rdar://problem/
21069245>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Fixes an issue where a click event was dispatched to a shadow tree node regardless of whether
both the mouse press and mouse release were targeted at it. In particular, releasing the mouse
on the AutoFill button activates it regardless of whether the mouse was pressed on it.
Currently we always dispatch a click event to a node n where the mouse was released when n is
in a shadow tree regardless of whether the mouse was pressed on n. Instead we should only
dispatch a click event to n if the mouse was pressed and released on n. If n is a shadow tree
descendant, the mouse was released on n, and n never received a mouse press then we should
dispatch the click event at the shadow host element of n to preserve the illusion to web
developers that the shadow host element is a single element.
Test: fast/forms/auto-fill-button/mouse-down-input-mouse-release-auto-fill-button.html
* page/EventHandler.cpp:
(WebCore::targetNodeForClickEvent): Added; returns the target node for the DOM click event.
(WebCore::EventHandler::handleMouseReleaseEvent): Modified to use dispatch the DOM click event
at the node returned by targetNodeForClickEvent().
(WebCore::mouseIsReleasedOnPressedElement): Deleted.
LayoutTests:
Add test to ensure we only dispatch a click event at the HTML input element when pressing
on the editable portion of the input element and releasing the mouse on the AutoFill button.
* fast/forms/auto-fill-button/mouse-down-input-mouse-release-auto-fill-button-expected.txt: Added.
* fast/forms/auto-fill-button/mouse-down-input-mouse-release-auto-fill-button.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185341
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 9 Jun 2015 00:21:05 +0000 (00:21 +0000)]
Unreviewed build fix. Initialize result in the case things blow up below.
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.execute):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185340
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 9 Jun 2015 00:16:01 +0000 (00:16 +0000)]
Partially revert and fix after r185243.
* Scripts/benchmark_runner/benchmark_runner.py:
* Scripts/run-benchmark:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185339
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Mon, 8 Jun 2015 23:52:45 +0000 (23:52 +0000)]
Fix up the layouttest situation after r185322.
https://bugs.webkit.org/show_bug.cgi?id=145777
Reviewed by Alexey Proskuryakov.
* js/dom/global-constructors-attributes-expected.txt:
* js/dom/global-constructors-attributes-idb-expected.txt: Added.
* js/dom/global-constructors-attributes-idb.html: Copied from LayoutTests/js/dom/global-constructors-attributes.html.
* js/dom/global-constructors-attributes.html:
Run this test only against IDB* and webkitIDB* constructors:
* js/dom/script-tests/global-constructors-attributes-idb.js: Copied from LayoutTests/js/dom/script-tests/global-constructors-attributes.js.
(.self.postMessage):
(.self.onconnect.self.postMessage):
(.self.onconnect):
(classNameForObject):
(constructorPropertiesOnGlobalObject):
Don’t run the test against known IDB constructors:
* js/dom/script-tests/global-constructors-attributes.js:
Update all the various platform-specific results for the main test to remove mentions of IDB.
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mavericks/TestExpectations:
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt: Removed.
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/js/dom/global-constructors-attributes-expected.txt:
* platform/wk2/js/dom/global-constructors-attributes-idb-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185338
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Mon, 8 Jun 2015 23:44:29 +0000 (23:44 +0000)]
WebContent crash in WebCore::Page::sessionID() const + 0 (Page.cpp:1660)
https://bugs.webkit.org/show_bug.cgi?id=145748
<rdar://problem/
21226577>
Reviewed by Brady Eidson.
Source/WebCore:
We would sometimes crash when pruning the PageCache because it was
possible for frames to still be loading while in the PageCache and
we would try to stop the load when the CachedFrame is destroyed. This
code path was not supposed to be exercised as we were not supposed to
have pages still loading inside the PageCache.
r185017 made sure we don't insert into the PageCache pages that are
still loading. However, nothing was preventing content from starting
new loads in their 'pagehide' event handlers, *after* the decision
to put the page in the PageCache was made.
This patch prevents content from starting loads from a 'pagehide'
event handler so that we can no longer have content that is loading
inside the PageCache. 'ping' image loads still go through though as
these are specially handled and use PingLoaders.
Tests: http/tests/navigation/image-load-in-pagehide-handler.html
http/tests/navigation/subframe-pagehide-handler-starts-load.html
http/tests/navigation/subframe-pagehide-handler-starts-load2.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::handleBeforeUnloadEvent):
* loader/FrameLoader.h:
(WebCore::FrameLoader::pageDismissalEventBeingDispatched):
(WebCore::FrameLoader::PageDismissalEventType::PageDismissalEventType):
(WebCore::FrameLoader::PageDismissalEventType::operator Page::DismissalType):
Add wrapper class for m_pageDismissalEventBeingDispatched member type.
The wrapper takes care of updating the m_dismissalEventBeingDispatched
member on the Page every time the member on FrameLoader is updated. We
now cache this information on the Page so that clients can cheaply
query if a dismissal event is being dispatched in any of the Page's
frame, without having to traverse the frame tree.
* loader/ImageLoader.cpp:
(WebCore::pageIsBeingDismissed):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::load):
Abort the load early if we are currently dispatching a 'pagehide'
event. We don't allow new loads at such point because we've already
made the decision to add the Page to the PageCache.
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestImage):
* page/Chrome.cpp:
(WebCore::Chrome::runModal): Deleted.
(WebCore::Chrome::setToolbarsVisible): Deleted.
(WebCore::Chrome::toolbarsVisible): Deleted.
(WebCore::Chrome::runJavaScriptConfirm): Deleted.
(WebCore::Chrome::runJavaScriptPrompt): Deleted.
(WebCore::Chrome::shouldInterruptJavaScript): Deleted.
* page/Chrome.h:
* page/ChromeClient.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::canShowModalDialogNow):
Drop ChromeClient::shouldRunModalDialogDuringPageDismissal() and code
using it as it is unused and I did not think it was worth updating
this code.
* page/Page.h:
(WebCore::Page::dismissalEventBeingDispatched):
(WebCore::Page::setDismissalEventBeingDispatched):
Add a m_dismissalEventBeingDispatched member to the Page so that we can
easily query if a dismissal event is being dispatched in any of the
frames, without having to traverse the frame tree. I suspect more call
sites of FrameLoader::pageDismissalEventBeingDispatched() may actually
want this but I did not make such change in this patch. It is important
to check all the frames and not simply the current one because a frame's
pagehide event handler may trigger a load in another frame.
LayoutTests:
* http/tests/navigation/image-load-in-pagehide-handler-expected.txt: Added.
* http/tests/navigation/image-load-in-pagehide-handler.html: Added.
* http/tests/navigation/resources/image-load-in-pagehide-handler-2.html: Added.
Add layout test to make sure that ping loads in 'pagehide' handlers are
still going through after this change.
* http/tests/navigation/resources/frame-do-load.html: Added.
* http/tests/navigation/resources/frame-pagehide-starts-load-in-subframe.html: Added.
* http/tests/navigation/resources/frame-pagehide-starts-load.html: Added.
* http/tests/navigation/subframe-pagehide-handler-starts-load-expected.txt: Added.
* http/tests/navigation/subframe-pagehide-handler-starts-load.html: Added.
* http/tests/navigation/subframe-pagehide-handler-starts-load2-expected.txt: Added.
* http/tests/navigation/subframe-pagehide-handler-starts-load2.html: Added.
Add layout tests to make sure we don't crash if a frame starts an XHR load
from the 'pagehide' event handler. One of the tests covers the case where a
frame's pagehide handler starts a load in a subframe as this case is
requires a bit more handling.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185337
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 8 Jun 2015 23:36:22 +0000 (23:36 +0000)]
Replaced 0 with nullptr in WebCore/Modules.
https://bugs.webkit.org/show_bug.cgi?id=145758
Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-06-08
Reviewed by Darin Adler.
No new tests, no behavior changes.
* Modules/battery/BatteryManager.cpp:
(WebCore::BatteryManager::BatteryManager):
* Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::CDM):
* Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::MediaKeys):
(WebCore::MediaKeys::~MediaKeys):
* Modules/indexeddb/IDBCursor.h:
(WebCore::IDBCursor::continueFunction):
* Modules/indexeddb/IDBCursorBackendOperations.cpp:
(WebCore::CursorAdvanceOperation::perform):
(WebCore::CursorIterationOperation::perform):
* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::transactionFinished):
* Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
(WebCore::IDBDatabaseCallbacksImpl::IDBDatabaseCallbacksImpl):
* Modules/indexeddb/IDBEventDispatcher.cpp:
(WebCore::IDBEventDispatcher::dispatch):
* Modules/indexeddb/IDBIndex.h:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::openKeyCursor):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::openCursor):
* Modules/indexeddb/IDBObjectStore.h:
(WebCore::IDBObjectStore::count):
* Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onUpgradeNeeded):
(WebCore::IDBOpenDBRequest::onSuccess):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::OpenCursorNotifier::cursorFinished):
* Modules/indexeddb/IDBTransactionBackend.cpp:
(WebCore::IDBTransactionBackend::commit):
* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::OpenCursorOperation::perform):
* Modules/indieui/UIRequestEvent.cpp:
(WebCore::UIRequestEventInit::UIRequestEventInit):
(WebCore::UIRequestEvent::UIRequestEvent):
* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::MediaSource):
(WebCore::MediaSource::setReadyState):
(WebCore::MediaSource::removeSourceBuffer):
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::~SourceBuffer):
(WebCore::SourceBuffer::removedFromMediaSource):
* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::~MediaStream):
* Modules/mediastream/MediaStreamEvent.cpp:
(WebCore::MediaStreamEventInit::MediaStreamEventInit):
* Modules/mediastream/MediaStreamTrackEvent.cpp:
(WebCore::MediaStreamTrackEventInit::MediaStreamTrackEventInit):
* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::stop):
* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::contextDestroyed):
* Modules/notifications/Notification.cpp:
(WebCore::Notification::Notification):
* Modules/notifications/Notification.h:
* Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::SpeechSynthesis):
(WebCore::SpeechSynthesis::setPlatformSynthesizer):
(WebCore::SpeechSynthesis::cancel):
(WebCore::SpeechSynthesis::handleSpeakingCompleted):
* Modules/speech/SpeechSynthesisUtterance.cpp:
(WebCore::SpeechSynthesisUtterance::~SpeechSynthesisUtterance):
* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
(WebCore::AudioBufferSourceNode::clearPannerNode):
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createMediaStreamSource):
* Modules/webaudio/MediaElementAudioSourceNode.cpp:
(WebCore::MediaElementAudioSourceNode::~MediaElementAudioSourceNode):
* Modules/webaudio/OscillatorNode.cpp:
(WebCore::OscillatorNode::setType):
(WebCore::OscillatorNode::process):
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::DatabaseManager):
* Modules/webdatabase/DatabaseThread.cpp:
(WebCore::DatabaseThread::DatabaseThread):
(WebCore::DatabaseThread::databaseThread):
* Modules/webdatabase/DatabaseThread.h:
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::DatabaseTracker):
* Modules/webdatabase/SQLCallbackWrapper.h:
(WebCore::SQLCallbackWrapper::clear):
(WebCore::SQLCallbackWrapper::unwrap):
* Modules/webdatabase/SQLStatementBackend.cpp:
(WebCore::SQLStatementBackend::clearFailureDueToQuota):
* Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::deliverTransactionErrorCallback):
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::doCleanup):
(WebCore::SQLTransactionBackend::getNextStatement):
* Modules/webdatabase/SQLTransactionCoordinator.cpp:
(WebCore::SQLTransactionCoordinator::releaseLock):
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
(WebCore::ThreadableWebSocketChannelClientWrapper::clearPeer):
(WebCore::ThreadableWebSocketChannelClientWrapper::clearClient):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::stop):
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::disconnect):
(WebCore::WebSocketChannel::didCloseSocketStream):
* Modules/websockets/WebSocketFrame.h:
* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::clearScriptExecutionContext):
(WebCore::WebSocketHandshake::readStatusLine):
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Peer::disconnect):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185336
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Mon, 8 Jun 2015 23:31:11 +0000 (23:31 +0000)]
AX: improve list heuristics (presentational use versus actual lists)
https://bugs.webkit.org/show_bug.cgi?id=134187
Unreviewed. Rolling this change out temporarily.
Source/WebCore:
* accessibility/AccessibilityList.cpp:
(WebCore::AccessibilityList::isDescriptionList):
(WebCore::AccessibilityList::determineAccessibilityRole):
(WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers): Deleted.
* accessibility/AccessibilityList.h:
LayoutTests:
* accessibility/list-detection-expected.txt:
* accessibility/list-detection.html:
* accessibility/list-detection2-expected.txt: Removed.
* accessibility/list-detection2.html: Removed.
* platform/gtk/accessibility/list-detection-expected.txt:
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185335
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 8 Jun 2015 23:27:12 +0000 (23:27 +0000)]
Include IndexedDB databases in -[WKWebsiteDataStore allWebsiteDataTypes]
https://bugs.webkit.org/show_bug.cgi?id=145775
Reviewed by Simon Fraser.
* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore allWebsiteDataTypes]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185334
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Mon, 8 Jun 2015 22:59:52 +0000 (22:59 +0000)]
[Mac] Enable AVFoundation by default when QTKit is disabled by default
https://bugs.webkit.org/show_bug.cgi?id=145760
Reviewed by Alexey Proskuryakov.
No new tests, this change makes existing tests pass.
Settings::gAVFoundationEnabled defaults to true.
* page/Settings.cpp:
(WebCore::invalidateAfterGenericFamilyChange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185333
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Mon, 8 Jun 2015 22:32:21 +0000 (22:32 +0000)]
Unskip http/tests/misc/webtiming-ssl.php, as it should be passing on Yosemite.
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185332
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 8 Jun 2015 22:29:51 +0000 (22:29 +0000)]
Move the snapshot layer contents SPI to the web view
https://bugs.webkit.org/show_bug.cgi?id=145771
Reviewed by Geoffrey Garen.
We need to potentially ask the web page to take a snapshot of the current item,
so move the SPI to WKWebView and name it appropriately.
* UIProcess/API/Cocoa/WKBackForwardListItem.mm:
(-[WKBackForwardListItem _snapshotLayerContents]): Deleted.
* UIProcess/API/Cocoa/WKBackForwardListItemPrivate.h: Removed.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _snapshotLayerContentsForBackForwardListItem:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185331
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Mon, 8 Jun 2015 22:29:26 +0000 (22:29 +0000)]
Many LayoutTests/http tests time out in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=145770
<rdar://problem/
19593910>
Reviewed by Alexey Proskuryakov.
Tools:
* DumpRenderTree/ios/Info.plist: Add ATS key.
* LayoutTestRelay/LayoutTestRelay/LTRelayController.m:
(-[LTRelayController _environmentVariables]): Copy environment variables LOCAL_RESOURCE_ROOT
and DUMPRENDERTREE_TEMP to the simulator environment to avoid assertion failures in tests
that make use of testRunner.pathToLocalResource().
LayoutTests:
Unskip LayoutTests/http tests in WebKit1 and explicitly skip the HTTP disk-cache tests
in WebKit1 as the network disk cache code is specific to WebKit2. Move common expectations
from the WebKit{1, 2}-specific TestExpectations file to platform/ios-simulator/TestExpectations.
* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185330
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Mon, 8 Jun 2015 21:25:55 +0000 (21:25 +0000)]
Explicitly dismiss correction panel when user types a new character
https://bugs.webkit.org/show_bug.cgi?id=145732
<rdar://problem/
19596892>
Reviewed by Darin Adler.
Explicitly dismiss the correction panel when the user types a new character.
This patch shouldn't change any behavior we're currently relying on AppKit to do the same.
Manually ran tests in ManualTests/autocorrection.
* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::respondToAppliedEditing):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185329
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 8 Jun 2015 20:40:57 +0000 (20:40 +0000)]
Remove more unused Objective-C methods
https://bugs.webkit.org/show_bug.cgi?id=145761
Reviewed by Geoffrey Garen.
* Misc/WebNSImageExtras.h:
* Misc/WebNSImageExtras.m:
(-[NSImage _web_saveAndOpen]): Deleted.
* Misc/WebNSViewExtras.h:
* Misc/WebNSViewExtras.m:
(-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]): Deleted.
(-[NSView _web_convertRect:toView:]): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185328
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jfernandez@igalia.com [Mon, 8 Jun 2015 20:26:02 +0000 (20:26 +0000)]
[CSS Grid Layout] Setting height on a grid item doesn't have any effect
https://bugs.webkit.org/show_bug.cgi?id=145604
Reviewed by Sergio Villar Senin.
Source/WebCore:
Box Alignment spec states that stretch is only possible when height is
'auto' and no 'auto' margins are used.
It might be the case that style changes so that stretching is not allowed,
hence we need to detect it and clear the override height the stretching
algorithm previously set. The new layout triggered by the style change
will then set grid item's height according to the new style rules.
Test: fast/css-grid-layout/grid-item-should-not-be-stretched-when-height-or-margin-change.html
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):
LayoutTests:
Tests to verify that we clear the override height set by the stretching logic
whenever height or margin change in a way they don't allow stretching anymore.
* fast/css-grid-layout/grid-item-should-not-be-stretched-when-height-or-margin-change-expected.txt: Added.
* fast/css-grid-layout/grid-item-should-not-be-stretched-when-height-or-margin-change.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185327
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 8 Jun 2015 19:55:23 +0000 (19:55 +0000)]
Try to fix the Mavericks build.
* WebView/WebPDFView.mm:
(removeUselessMenuItemSeparators):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185326
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Mon, 8 Jun 2015 19:47:57 +0000 (19:47 +0000)]
Build fix.
* wtf/TinyPtrSet.h: (WTF::TinyPtrSet::isEmpty): s/poointer/pointer/
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185325
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Mon, 8 Jun 2015 19:41:47 +0000 (19:41 +0000)]
The tiny set magic in StructureSet should be available in WTF
https://bugs.webkit.org/show_bug.cgi?id=145722
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
I moved the generic logic of small sets of pointers and moved it into WTF. Now,
StructureSet is a subclass of TinyPtrSet<Structure*>. There shouldn't be any functional
change.
* bytecode/StructureSet.cpp:
(JSC::StructureSet::filter):
(JSC::StructureSet::filterArrayModes):
(JSC::StructureSet::speculationFromStructures):
(JSC::StructureSet::arrayModesFromStructures):
(JSC::StructureSet::dumpInContext):
(JSC::StructureSet::dump):
(JSC::StructureSet::clear): Deleted.
(JSC::StructureSet::add): Deleted.
(JSC::StructureSet::remove): Deleted.
(JSC::StructureSet::contains): Deleted.
(JSC::StructureSet::merge): Deleted.
(JSC::StructureSet::exclude): Deleted.
(JSC::StructureSet::isSubsetOf): Deleted.
(JSC::StructureSet::overlaps): Deleted.
(JSC::StructureSet::operator==): Deleted.
(JSC::StructureSet::addOutOfLine): Deleted.
(JSC::StructureSet::containsOutOfLine): Deleted.
(JSC::StructureSet::copyFromOutOfLine): Deleted.
(JSC::StructureSet::OutOfLineList::create): Deleted.
(JSC::StructureSet::OutOfLineList::destroy): Deleted.
* bytecode/StructureSet.h:
(JSC::StructureSet::onlyStructure):
(JSC::StructureSet::StructureSet): Deleted.
(JSC::StructureSet::operator=): Deleted.
(JSC::StructureSet::~StructureSet): Deleted.
(JSC::StructureSet::isEmpty): Deleted.
(JSC::StructureSet::genericFilter): Deleted.
(JSC::StructureSet::isSupersetOf): Deleted.
(JSC::StructureSet::size): Deleted.
(JSC::StructureSet::at): Deleted.
(JSC::StructureSet::operator[]): Deleted.
(JSC::StructureSet::last): Deleted.
(JSC::StructureSet::iterator::iterator): Deleted.
(JSC::StructureSet::iterator::operator*): Deleted.
(JSC::StructureSet::iterator::operator++): Deleted.
(JSC::StructureSet::iterator::operator==): Deleted.
(JSC::StructureSet::iterator::operator!=): Deleted.
(JSC::StructureSet::begin): Deleted.
(JSC::StructureSet::end): Deleted.
(JSC::StructureSet::ContainsOutOfLine::ContainsOutOfLine): Deleted.
(JSC::StructureSet::ContainsOutOfLine::operator()): Deleted.
(JSC::StructureSet::copyFrom): Deleted.
(JSC::StructureSet::OutOfLineList::list): Deleted.
(JSC::StructureSet::OutOfLineList::OutOfLineList): Deleted.
(JSC::StructureSet::deleteStructureListIfNecessary): Deleted.
(JSC::StructureSet::isThin): Deleted.
(JSC::StructureSet::pointer): Deleted.
(JSC::StructureSet::singleStructure): Deleted.
(JSC::StructureSet::structureList): Deleted.
(JSC::StructureSet::set): Deleted.
(JSC::StructureSet::setEmpty): Deleted.
(JSC::StructureSet::getReservedFlag): Deleted.
(JSC::StructureSet::setReservedFlag): Deleted.
* dfg/DFGStructureAbstractValue.cpp:
(JSC::DFG::StructureAbstractValue::clobber):
(JSC::DFG::StructureAbstractValue::filter):
(JSC::DFG::StructureAbstractValue::filterSlow):
(JSC::DFG::StructureAbstractValue::contains):
* dfg/DFGStructureAbstractValue.h:
(JSC::DFG::StructureAbstractValue::makeTop):
Source/WTF:
As the management of structure sets evolved in JSC, the StructureSet data structure grew
increasingly smart. It's got some smart stuff for managing small sets of pointers. I
wanted to take the generic logic out of JSC and put it into a reusable templatized class
in WTF.
* WTF.vcxproj/WTF.vcxproj:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/TinyPtrSet.h: Added.
(WTF::TinyPtrSet::TinyPtrSet):
(WTF::TinyPtrSet::operator=):
(WTF::TinyPtrSet::~TinyPtrSet):
(WTF::TinyPtrSet::clear):
(WTF::TinyPtrSet::onlyEntry):
(WTF::TinyPtrSet::isEmpty):
(WTF::TinyPtrSet::add):
(WTF::TinyPtrSet::remove):
(WTF::TinyPtrSet::contains):
(WTF::TinyPtrSet::merge):
(WTF::TinyPtrSet::forEach):
(WTF::TinyPtrSet::genericFilter):
(WTF::TinyPtrSet::filter):
(WTF::TinyPtrSet::exclude):
(WTF::TinyPtrSet::isSubsetOf):
(WTF::TinyPtrSet::isSupersetOf):
(WTF::TinyPtrSet::overlaps):
(WTF::TinyPtrSet::size):
(WTF::TinyPtrSet::at):
(WTF::TinyPtrSet::operator[]):
(WTF::TinyPtrSet::last):
(WTF::TinyPtrSet::iterator::iterator):
(WTF::TinyPtrSet::iterator::operator*):
(WTF::TinyPtrSet::iterator::operator++):
(WTF::TinyPtrSet::iterator::operator==):
(WTF::TinyPtrSet::iterator::operator!=):
(WTF::TinyPtrSet::begin):
(WTF::TinyPtrSet::end):
(WTF::TinyPtrSet::operator==):
(WTF::TinyPtrSet::addOutOfLine):
(WTF::TinyPtrSet::containsOutOfLine):
(WTF::TinyPtrSet::copyFrom):
(WTF::TinyPtrSet::copyFromOutOfLine):
(WTF::TinyPtrSet::OutOfLineList::create):
(WTF::TinyPtrSet::OutOfLineList::destroy):
(WTF::TinyPtrSet::OutOfLineList::list):
(WTF::TinyPtrSet::OutOfLineList::OutOfLineList):
(WTF::TinyPtrSet::deleteListIfNecessary):
(WTF::TinyPtrSet::isThin):
(WTF::TinyPtrSet::pointer):
(WTF::TinyPtrSet::singleEntry):
(WTF::TinyPtrSet::list):
(WTF::TinyPtrSet::set):
(WTF::TinyPtrSet::setEmpty):
(WTF::TinyPtrSet::getReservedFlag):
(WTF::TinyPtrSet::setReservedFlag):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185324
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Mon, 8 Jun 2015 18:21:59 +0000 (18:21 +0000)]
[ARM] Add the missing setupArgumentsWithExecState functions after r185240
https://bugs.webkit.org/show_bug.cgi?id=145754
Reviewed by Benjamin Poulain.
* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185323
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Mon, 8 Jun 2015 16:49:57 +0000 (16:49 +0000)]
Completely remove all IDB properties/constructors when it is disabled at runtime.
rdar://problem/
18429374 and https://bugs.webkit.org/show_bug.cgi?id=137034
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
* runtime/CommonIdentifiers.h:
Source/WebCore:
Test: storage/indexeddb/properties-disabled-at-runtime.html
- Make constructors all runtime enabled.
- Remove autogeneration of the window.(webkit)indexedDB accessors.
- Add manual overrides for the (webkit)indexedDB accessors at runtime.
* Modules/indexeddb/DOMWindowIndexedDatabase.idl:
* Modules/indexeddb/IDBAny.idl:
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBCursorWithValue.idl:
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBFactory.idl:
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBKeyRange.idl:
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/indexeddb/IDBOpenDBRequest.idl:
* Modules/indexeddb/IDBRequest.idl:
* Modules/indexeddb/IDBTransaction.idl:
* Modules/indexeddb/IDBVersionChangeEvent.idl:
* page/DOMWindow.idl:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowIndexedDB):
(WebCore::JSDOMWindow::getOwnPropertySlot):
Source/WebKit2:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess): Enable IDB at runtime if it's enabled at compile time.
LayoutTests:
* platform/mac-mavericks/TestExpectations: Disable global-constructors-attributes on Mavericks as
there is no way to have different WK1 and WK2 results.
* platform/mac-wk1/TestExpectations: Enable the new "properties are missing" test for Mac WK1.
* platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt: Added.
* platform/win/TestExpectations: Enable the new "properties are missing" test for Win WK1
* platform/wk2/TestExpectations: Disable the new "properties are missing" test for all WK2.
* storage/indexeddb/properties-disabled-at-runtime-expected.txt: Added.
* storage/indexeddb/properties-disabled-at-runtime.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185322
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Mon, 8 Jun 2015 16:48:27 +0000 (16:48 +0000)]
[GTK] Fix parentheses warning in TestWebKitWebView.cpp
https://bugs.webkit.org/show_bug.cgi?id=145759
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewSave):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185321
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Mon, 8 Jun 2015 16:17:39 +0000 (16:17 +0000)]
[SOUP] Performs DNS prefetch when a proxy is configured (information leak)
https://bugs.webkit.org/show_bug.cgi?id=145542
Reviewed by Alexey Proskuryakov.
Source/WebCore:
No new tests, because it's hard to test whether a DNS request has been sent. We could do
this by adding new API to modify the GProxyResolver and GResolver used by the SoupSession in
the network process, but even if such API were desirable, it would be a big job. Tests
should not be allowed to dictate our public API.
* platform/network/DNSResolveQueue.cpp:
(WebCore::DNSResolveQueue::add): Do not check whether the system is using a proxy, since
this can't be determined for all ports here.
(WebCore::DNSResolveQueue::timerFired): Do not check whether the system is using a proxy,
since this can't be determined for all ports here.
(WebCore::DNSResolveQueue::DNSResolveQueue): Remove member variables and member functions
that are only needed by the CF backend. Rename platformResolve to
platformMaybeResolveHost.
(WebCore::DNSResolveQueue::isUsingProxy): Moved to DNSCFNet.cpp.
* platform/network/DNSResolveQueue.h: Remove member variables that are only needed by the
CF backend.
* platform/network/cf/DNSCFNet.cpp:
(WebCore::proxyIsEnabledInSystemPreferences): Renamed from
platformProxyIsEnabledInSystemPreferences.
(WebCore::isUsingProxy): Moved from DNSResolveQueue.cpp. The member variables removed from
DNSResolveQueue are not static here. This is safe since it's a singleton.
(WebCore::DNSResolveQueue::platformMaybeResolveHost): Renamed from platformResolve.
Bail early from here if a proxy is configured.
(WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences): Renamed to
proxyIsEnabledInSystemPreferences.
(WebCore::DNSResolveQueue::platformResolve): Renamed to platformMaybeResolveHost.
* platform/network/soup/DNSSoup.cpp:
(WebCore::gotProxySettingsCallback): Added. Call soup_session_prefetch_dns from here only
if a proxy would not be used to resolve the host.
(WebCore::DNSResolveQueue::platformMaybeResolveHost): Renamed from platformResolve.
Look up proxy settings using g_proxy_resolver_lookup_async rather than calling
soup_session_prefetch_dns directly.
(WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences): Deleted.
(WebCore::DNSResolveQueue::platformResolve): Renamed to platformMaybeResolveHost.
Source/WebKit2:
Add documentation to webkit_web_context_prefetch_dns to indicate that the function does
nothing if the system configuration indicates we should use a proxy to resolve the host.
* UIProcess/API/gtk/WebKitWebContext.cpp:
Source/WTF:
Add template specialization for GUniquePtr<char*>. This smart pointer will free its data
with g_strfreev() (as opposed to g_free(), which is used for GUniquePtr<char>).
* wtf/gobject/GUniquePtr.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185320
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 8 Jun 2015 16:16:08 +0000 (16:16 +0000)]
Remove WebNSArrayExtras
https://bugs.webkit.org/show_bug.cgi?id=145747
Reviewed by Darin Adler.
Source/WebKit:
* WebKit.xcodeproj/project.pbxproj:
Source/WebKit/mac:
* History/WebHistoryItem.mm:
(-[WebHistoryItem initFromDictionaryRepresentation:]):
* Misc/WebNSArrayExtras.h: Removed.
* Misc/WebNSArrayExtras.m: Removed.
(-[NSArray _webkit_numberAtIndex:]): Deleted.
(-[NSArray _webkit_stringAtIndex:]): Deleted.
(-[NSMutableArray _webkit_removeUselessMenuItemSeparators]): Deleted.
* WebView/WebPDFView.mm:
(removeUselessMenuItemSeparators):
(-[WebPDFView _menuItemsFromPDFKitForEvent:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185319
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
svillar@igalia.com [Mon, 8 Jun 2015 16:13:42 +0000 (16:13 +0000)]
[CSS Grid Layout] Add some more testing for grid line names
https://bugs.webkit.org/show_bug.cgi?id=145691
Reviewed by Darin Adler.
After moving to the new syntax which uses brackets instead of
parentheses for grid line names lists, it's good to improve a bit
the testing of the feature with some more new test cases.
* fast/css-grid-layout/named-grid-line-get-set-expected.txt:
* fast/css-grid-layout/named-grid-line-get-set.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185318
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 8 Jun 2015 15:59:14 +0000 (15:59 +0000)]
REGRESSION(r185251): [GTK] webkit_web_context_set_disk_cache_directory() doesn't work when using shared secondary process model after r185251
https://bugs.webkit.org/show_bug.cgi?id=145751
Reviewed by Darin Adler.
In r185251 the CFNetwork cache was disabled in the web process,
but it also removed the disk cache directory web process
initialization parameter. While we support networking in the web
process when shared secondary process model is used, the network
cache should still work. We can remove this if we eventually
switch to use the network process unconditionally.
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode): Encode disk cache directory.
(WebKit::WebProcessCreationParameters::decode): Decode disk cache directory.
* Shared/WebProcessCreationParameters.h: Bring back disk cache directory only for soup.
* UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess): Initialize disk cache directory parameter.
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess): Use the disck cache directory parameter again.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185317
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 8 Jun 2015 14:36:47 +0000 (14:36 +0000)]
Use modern for-loops in WebCore/Modules - 2
https://bugs.webkit.org/show_bug.cgi?id=145541
Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-06-08
Reviewed by Darin Adler.
No new tests, no behavior changes.
* Modules/mediastream/RTCConfiguration.h:
(WebCore::RTCConfiguration::iceServers):
* Modules/mediastream/RTCDTMFSender.cpp:
(WebCore::RTCDTMFSender::scheduledEventTimerFired):
* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::scheduledEventTimerFired):
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::processIceServer):
(WebCore::RTCPeerConnection::~RTCPeerConnection):
(WebCore::RTCPeerConnection::getStreamById):
(WebCore::RTCPeerConnection::hasLocalStreamWithTrackId):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):
* Modules/mediastream/RTCStatsReport.cpp:
(WebCore::RTCStatsReport::names):
* Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
(WebCore::initProtocolHandlerWhitelist):
* Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::getVoices):
* Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::memoryCost):
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createMediaStreamSource):
(WebCore::AudioContext::derefFinishedSourceNodes):
(WebCore::AudioContext::derefUnfinishedSourceNodes):
(WebCore::AudioContext::handleDeferredFinishDerefs):
(WebCore::AudioContext::handleDirtyAudioSummingJunctions):
(WebCore::AudioContext::handleDirtyAudioNodeOutputs):
(WebCore::AudioContext::updateAutomaticPullNodes):
(WebCore::AudioContext::processAutomaticPullNodes):
* Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::updateChannelsForInputs):
(WebCore::AudioNode::checkNumberOfChannelsForInput):
(WebCore::AudioNode::pullInputs):
(WebCore::AudioNode::inputsAreSilent):
(WebCore::AudioNode::silenceOutputs):
(WebCore::AudioNode::unsilenceOutputs):
(WebCore::AudioNode::enableOutputsIfNecessary):
(WebCore::AudioNode::disableOutputsIfNecessary):
(WebCore::AudioNode::finishDeref):
* Modules/webaudio/AudioNodeInput.cpp:
(WebCore::AudioNodeInput::numberOfChannels):
(WebCore::AudioNodeInput::sumAllConnections):
* Modules/webaudio/AudioNodeOutput.cpp:
(WebCore::AudioNodeOutput::propagateChannelCount):
(WebCore::AudioNodeOutput::disable):
(WebCore::AudioNodeOutput::enable):
* Modules/webaudio/AudioParam.cpp:
(WebCore::AudioParam::calculateFinalValues):
* Modules/webaudio/AudioParamTimeline.cpp:
(WebCore::AudioParamTimeline::insertEvent):
* Modules/webaudio/AudioSummingJunction.cpp:
(WebCore::AudioSummingJunction::updateRenderingState):
* Modules/webaudio/MediaStreamAudioSource.cpp:
(WebCore::MediaStreamAudioSource::setAudioFormat):
(WebCore::MediaStreamAudioSource::consumeAudio):
* Modules/webaudio/WaveShaperProcessor.cpp:
(WebCore::WaveShaperProcessor::setOversample):
* Modules/webdatabase/DatabaseThread.cpp:
(WebCore::DatabaseThread::handlePausedQueue):
(WebCore::DatabaseThread::databaseThread):
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):
(WebCore::DatabaseTracker::databaseNamesForOrigin):
(WebCore::DatabaseTracker::getOpenDatabases):
(WebCore::DatabaseTracker::usageForOrigin):
(WebCore::DatabaseTracker::deleteAllDatabases):
(WebCore::DatabaseTracker::deleteOrigin):
(WebCore::DatabaseTracker::deleteDatabaseFile):
(WebCore::DatabaseTracker::removeDeletedOpenedDatabases):
(WebCore::DatabaseTracker::setDatabasesPaused):
* Modules/webdatabase/SQLTransactionCoordinator.cpp:
(WebCore::SQLTransactionCoordinator::shutdown):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
* Modules/websockets/WebSocketExtensionDispatcher.cpp:
(WebCore::WebSocketExtensionDispatcher::addProcessor):
(WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):
(WebCore::WebSocketExtensionDispatcher::processHeaderValue):
* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::clientHandshakeMessage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185316
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Mon, 8 Jun 2015 14:08:24 +0000 (14:08 +0000)]
[GTK] Remove the unused scroll function from WebPageGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=145756
Reviewed by Carlos Garcia Campos.
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::scroll): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185315
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@webkit.org [Mon, 8 Jun 2015 10:45:05 +0000 (10:45 +0000)]
REGRESSION(r185262): [EFL] Modify legacyPlatformDefaultNetworkCacheDirectory() according to network cache
https://bugs.webkit.org/show_bug.cgi?id=145752
Reviewed by Carlos Garcia Campos.
EFL port needs to add different prefix for network cache directory since r185262.
Modify it basedon GTK port fix.
* UIProcess/efl/WebProcessPoolEfl.cpp:
(WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185314
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 8 Jun 2015 07:59:49 +0000 (07:59 +0000)]
Fixed the build.
* WebView/WebView.mm:
(+[WebView _setCacheModel:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185313
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 8 Jun 2015 06:38:06 +0000 (06:38 +0000)]
[GTK] Add editor mode to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=145595
Reviewed by Sergio Villar Senin.
It loads an empty editable web view with an edit toolbar. It makes
easier to test the editor, editing commands and input methods.
* MiniBrowser/gtk/BrowserWindow.c:
(editingCommandCallback):
(browserWindowSetupEditorToolbar):
(browserWindowConstructed):
* MiniBrowser/gtk/main.c:
(createBrowserWindow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185312
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 8 Jun 2015 06:35:31 +0000 (06:35 +0000)]
REGRESSION(r185262): [GTK] webkit_web_context_set_disk_cache_directory() doesn't work after r185262
https://bugs.webkit.org/show_bug.cgi?id=145735
Reviewed by Darin Adler.
* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess): Use
the directory name to clear the old cache, since the disk cache
subdirectory is now added in the UI process.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_set_disk_cache_directory): Update the
WebProcessPool configuration to override the disk cache directory.
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess): Use the
configuration to get the disk cache directory.
(WebKit::WebProcessPool::WebProcessPool): Remove
m_diskCacheDirectory member initialization.
* UIProcess/WebProcessPool.h: Remove m_diskCacheDirectory member.
* UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):
Append the disk cache subdirectory.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185311
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 8 Jun 2015 02:39:15 +0000 (02:39 +0000)]
REGRESSION (r181720): Unnecessary layout triggered any time animated GIF advances to a new frame
https://bugs.webkit.org/show_bug.cgi?id=145733
Reviewed by Andreas Kling.
Source/WebCore:
Test: fast/images/animated-gif-no-layout.html
* rendering/RenderImage.cpp:
(WebCore::RenderImage::styleDidChange): Correctly pass ImageSizeChangeNone in cases
where we don't need to report a change in intrinsic size that happened outside the
repaintOrMarkForLayout function.
(WebCore::RenderImage::repaintOrMarkForLayout): Move work that should only be done
when size changed inside the if statement.
* testing/Internals.cpp:
(WebCore::Internals::layoutCount): Added.
* testing/Internals.h: Added layoutCount.
* testing/Internals.idl: Ditto.
LayoutTests:
* TestExpectations: Expect image failures on the animated GIF tests (the one
old one I am fixing and the one new one I am adding) because they don't yet work
under DumpRenderTree.
* fast/images/animated-gif-no-layout-expected.html: Added.
* fast/images/animated-gif-no-layout.html: Added.
* fast/images/gif-loop-count-expected.html: Added. This test was worthless as a render
tree dump test, and only valuable as a pixel test. And that hid the fact that it was
failing under WebKit1. Changing it to a reference test makes it a valuable test again.
* fast/images/gif-loop-count-expected.png: Removed.
* fast/images/gif-loop-count-expected.txt: Removed.
* platform/wk2/TestExpectations: Expect successes on these two tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185310
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Mon, 8 Jun 2015 01:39:35 +0000 (01:39 +0000)]
Fix strncpy use in WebCore::Text::formatForDebugger
https://bugs.webkit.org/show_bug.cgi?id=145608
Reviewed by Darin Adler.
r185137 replaced a call to strncpy with a call to strlcpy, which broke the build on Linux
since strlcpy does not exist there. r185148 reverted this to use strncpy again, but got the
size argument off by one, "introducing" a buffer overrun. But this code has always been
wrong, since it used strncpy without ensuring that the buffer is null-terminated after the
call to strncpy. Fix this as well.
* dom/Text.cpp:
(WebCore::Text::formatForDebugger):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185309
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 8 Jun 2015 00:05:13 +0000 (00:05 +0000)]
Remove WebKitSystemBits
https://bugs.webkit.org/show_bug.cgi?id=145746
Reviewed by Dan Bernstein.
Source/WebKit:
* WebKit.xcodeproj/project.pbxproj:
Source/WebKit/mac:
Fold WebVolumeFreeSize into its only caller and get rid of WebKitSystemBits.
* Misc/WebKitSystemBits.h: Removed.
* Misc/WebKitSystemBits.m: Removed.
* WebView/WebPreferences.mm:
* WebView/WebView.mm:
(+[WebView _setCacheModel:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185308
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Sun, 7 Jun 2015 23:54:31 +0000 (23:54 +0000)]
Remove another SPI method that hasn't been used since Tiger
https://bugs.webkit.org/show_bug.cgi?id=145745
Reviewed by Dan Bernstein.
* WebView/WebView.mm:
(-[WebView handleAuthenticationForResource:challenge:fromDataSource:]): Deleted.
* WebView/WebViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185307
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Sun, 7 Jun 2015 23:44:56 +0000 (23:44 +0000)]
Remove another unused SPI method
https://bugs.webkit.org/show_bug.cgi?id=145743
Reviewed by Dan Bernstein.
* WebView/WebView.mm:
(+[WebView _pointingHandCursor]): Deleted.
* WebView/WebViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185306
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Sun, 7 Jun 2015 23:36:41 +0000 (23:36 +0000)]
Remove unused SPI
https://bugs.webkit.org/show_bug.cgi?id=145742
Reviewed by Dan Bernstein.
* WebCoreSupport/WebFrameNetworkingContext.h:
* WebCoreSupport/WebFrameNetworkingContext.mm:
(WebFrameNetworkingContext::clearPrivateBrowsingSessionCookieStorage): Deleted.
* WebView/WebView.mm:
(+[WebView _clearPrivateBrowsingSessionCookieStorage]): Deleted.
* WebView/WebViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185305
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 7 Jun 2015 23:11:55 +0000 (23:11 +0000)]
Web Inspector: Add PrettyPrinter CSSRule tests
https://bugs.webkit.org/show_bug.cgi?id=145740
Patch by Tobias Reiss <tobi+webkit@basecode.de> on 2015-06-07
Reviewed by Brian Burg.
* Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-colon-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-colon.css: Added.
* Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-comma-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-comma.css: Added.
* Tools/PrettyPrinting/css-rule-tests/do-not-append-semicolon-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/do-not-append-semicolon.css: Added.
* Tools/PrettyPrinting/css-rule-tests/invalid-property-is-not-removed-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/invalid-property-is-not-removed.css: Added.
* Tools/PrettyPrinting/css-rule-tests/keep-prefixed-value-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/keep-prefixed-value.css: Added.
* Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-colon-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-colon.css: Added.
* Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-comment-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-comment.css: Added.
* Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-invalid-property-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-invalid-property.css: Added.
* Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-prefixed-property-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-prefixed-property.css: Added.
* Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-property-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-property.css: Added.
* Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-semicolon-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-semicolon.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-comment-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-comment.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-invalid-property-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-invalid-property.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-prefixed-property-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-prefixed-property.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-property-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-property.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-comment-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-comment.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-invalid-property-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-invalid-property.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-prefixed-property-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-prefixed-property.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-property-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-property.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-comment-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-comment.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-invalid-property-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-invalid-property.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-prefixed-property-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-prefixed-property.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-property-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-property.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-property-without-semicolon-followed-by-comment-and-property-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/split-property-without-semicolon-followed-by-comment-and-property.css: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185304
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 7 Jun 2015 17:37:37 +0000 (17:37 +0000)]
Reverted r185302 because it broke the build
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185303
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 7 Jun 2015 17:35:12 +0000 (17:35 +0000)]
Unifiy the definition of UNREACHABLE_FOR_PLATFORM
https://bugs.webkit.org/show_bug.cgi?id=145737
Reviewed by Anders Carlsson.
* wtf/Assertions.h:
(UNREACHABLE_FOR_PLATFORM): Use the macro for clang as well. Its expansion includes
__attribute((__noreturn__)) so the pragmas are unnecessary.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185302
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Sun, 7 Jun 2015 14:42:28 +0000 (14:42 +0000)]
CrashTracer: [USER] com.apple.WebKit.WebContent.Development at com.apple.WebCore: WebCore::FrameLoader::subresourceCachePolicy const + 11
https://bugs.webkit.org/show_bug.cgi?id=145736
rdar://problem/
21246971
Reviewed by David Kilzer.
No repro, no test.
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCSSStyleSheet):
Null check frame. It may be null during frame teardown.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185301
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@webkit.org [Sun, 7 Jun 2015 08:48:28 +0000 (08:48 +0000)]
[EFL][GTK] Fix build break since r185262
https://bugs.webkit.org/show_bug.cgi?id=145724
Unreviewed, fix build break for EFL and GTK ports.
* UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::defaultLocalStorageDirectory):
(API::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
(API::WebsiteDataStore::defaultNetworkCacheDirectory):
(API::WebsiteDataStore::defaultApplicationCacheDirectory):
(API::WebsiteDataStore::defaultMediaKeysStorageDirectory):
(API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory):
* UIProcess/efl/WebProcessPoolEfl.cpp:
(WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):
(WebKit::WebProcessPool::platformDefaultDiskCacheDirectory): Deleted.
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185300
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 7 Jun 2015 04:42:44 +0000 (04:42 +0000)]
Don’t enable manual sandboxing in the iOS Simulator. This should fix all the tests timing out.
* Configurations/DebugRelease.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185299
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 7 Jun 2015 02:08:46 +0000 (02:08 +0000)]
[iOS] Can’t debug with Development XPC services due to automatic sandboxing
https://bugs.webkit.org/show_bug.cgi?id=145731
Reviewed by Darin Adler.
In iOS, the XPC services are automatically sandboxed based on their entitlements. The
sandbox doesn’t allow them to re-exec, which is necessary for linking against engineering
builds of the WebKit frameworks placed in a non-system location.
The solution is to opt Engineering builds into manual sandboxing.
* Configurations/BaseTarget.xcconfig:
- Add ENABLE_MANUAL_SANDBOXING to
GCC_PREPROCESSOR_DEFINITIONS when WK_MANUAL_SANDBOXING_ENABLED is YES.
- Set WK_MANUAL_SANDBOXING_ENABLED to YES for OS X, because we always use manual
sandboxing on that platform.
* Configurations/DebugRelease.xcconfig: Removed unused definition of DEBUG_OR_RELEASE. Set
WK_MANUAL_SANDBOXING_ENABLED to YES for all engineering builds.
* Configurations/BaseXPCService.xcconfig: Define CODE_SIGN_ENTITLEMENTS for iOS to be empty
if the service is not installed; to use the base entitlements file from Configurations if
manual sandboxing is not enabled; and to use a derived entitlements file, which doesn’t
specify a sandbox profile, if manual sandboxing is enabled.
* Configurations/DatabaseService.Development.xcconfig: Define
WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE and let BaseXPCService.xcconfig define
CODE_SIGN_ENTITLEMENTS for iOS.
* Configurations/DatabaseService.xcconfig: Ditto.
* Configurations/NetworkService.Development.xcconfig: Ditto.
* Configurations/NetworkService.xcconfig: Ditto.
* Configurations/WebContentService.Development.xcconfig: Ditto.
* Configurations/WebContentService.xcconfig: Ditto.
* WebKit2.xcodeproj/project.pbxproj:
- In the Derived Sources target, added a Derive Entitlements for Manual Sandboxing script
build phase. When building for iOS with manual sandboxing enabled, it creates copies of
the iOS entitlements files with a -no-sandbox suffix and the seatbelt-profiles key
removed.
- In the WebKit target, added a Copy iOS Sandbox Profiles for Manual Sandboxing script build
phase. When building for iOS with manual sandboxing enabled, it copies the iOS sandbox
profiles into the framework, so that the services can apply them to themselves at runtime.
* Shared/ios/ChildProcessIOS.mm:
(WebKit::ChildProcess::initializeSandbox): Use ENABLE(MANUAL_SANDBOXING) and don’t define it
here.
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::initializeSandbox): Use ENABLE(MANUAL_SANDBOXING) instead of defining
and using ENABLE_MANUAL_WEBPROCESS_SANDBOXING here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185298
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 7 Jun 2015 02:07:15 +0000 (02:07 +0000)]
Restored binary compatibility with shipping Safari.
Suggested by Anders Carlsson.
* Misc/WebKitNSStringExtras.mm:
(-[NSString _webkit_fixedCarbonPOSIXPath]): Added an implementation that returns self, so
that Safari doesn’t crash when trying to call this method.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185297
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sun, 7 Jun 2015 00:09:27 +0000 (00:09 +0000)]
Clean up tests for blocking mixed content
https://bugs.webkit.org/show_bug.cgi?id=145718
Reviewed by Darin Adler.
Stop using timeouts, which were making the tests flaky.
* http/tests/xmlhttprequest/access-control-response-with-body.html: This wasn't even
a mixed content test, but the file was reused in one. I now made a separate helper
document, so this is just a regular test now, not another test's resource.
* http/tests/security/mixedContent/redirect-http-to-https-iframe-in-main-frame.html:
* http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame.html:
* http/tests/security/mixedContent/resources/frame-with-insecure-frame.html:
* http/tests/security/mixedContent/resources/frame-with-redirect-http-to-https-frame.html:
* http/tests/security/mixedContent/resources/frame-with-redirect-https-to-http-frame.html:
Refactored to not depend on timeouts.
* http/tests/security/mixedContent/insecure-xhr-in-main-frame-expected.txt:
* http/tests/security/mixedContent/insecure-xhr-in-main-frame.html:
* http/tests/security/mixedContent/resources/insecure-xhr-in-main-frame-window.html: Added.
This test still needs a timeout, because of a WebKit bug. I just made it much longer.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185296
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 6 Jun 2015 22:55:41 +0000 (22:55 +0000)]
Fixed the build.
* Plugins/WebBasePluginPackage.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185295
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Sat, 6 Jun 2015 21:22:18 +0000 (21:22 +0000)]
Remove support from getting plug-in information from Carbon resources
https://bugs.webkit.org/show_bug.cgi?id=145730
Reviewed by Dan Bernstein.
Source/WebCore:
Remove a now unused function.
* platform/mac/WebCoreNSStringExtras.h:
* platform/mac/WebCoreNSStringExtras.mm:
(stringEncodingForResource): Deleted.
Source/WebKit/mac:
No current plug-in versions use this feature, and both Chrome and Mozilla for
Mac stopped looking at Carbon resources years ago.
* Misc/WebKitNSStringExtras.h:
* Misc/WebKitNSStringExtras.mm:
(+[NSString _web_encodingForResource:]): Deleted.
* Plugins/WebBasePluginPackage.mm:
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage _initWithPath:]):
(-[WebNetscapePluginPackage stringForStringListID:andIndex:]): Deleted.
(-[WebNetscapePluginPackage getPluginInfoFromResources]): Deleted.
Source/WebKit2:
No current plug-in versions use this feature, and both Chrome and Mozilla for
Mac stopped looking at Carbon resources years ago.
* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::NetscapePluginModule::getPluginInfo):
(WebKit::ResourceMap::ResourceMap): Deleted.
(WebKit::ResourceMap::~ResourceMap): Deleted.
(WebKit::ResourceMap::isValid): Deleted.
(WebKit::getStringListResource): Deleted.
(WebKit::getPluginInfoFromCarbonResources): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185294
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Sat, 6 Jun 2015 20:01:09 +0000 (20:01 +0000)]
Remove now unused category methods
https://bugs.webkit.org/show_bug.cgi?id=145729
Reviewed by Dan Bernstein.
* Configurations/WebKitLegacy.xcconfig:
* Misc/WebKitNSStringExtras.h:
* Misc/WebKitNSStringExtras.mm:
(-[NSString _webkit_fixedCarbonPOSIXPath]): Deleted.
* Misc/WebNSFileManagerExtras.h:
* Misc/WebNSFileManagerExtras.mm:
(-[NSFileManager _webkit_startupVolumeName]): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185293
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Sat, 6 Jun 2015 19:50:18 +0000 (19:50 +0000)]
Fix build.
* WebKit.mac.exp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185292
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Sat, 6 Jun 2015 19:45:38 +0000 (19:45 +0000)]
Stop using _webkit_fixedCarbonPOSIXPath in plug-in code
https://bugs.webkit.org/show_bug.cgi?id=145728
Reviewed by Dan Bernstein.
This code was put in place to support old plug-ins that would pass Carbon paths to NPAPI functions.
WebKit2 never supported this and we've never had any problems so let's just get rid of it.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::loadURL):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185291
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Sat, 6 Jun 2015 19:37:00 +0000 (19:37 +0000)]
Remove SPI that's no longer used
https://bugs.webkit.org/show_bug.cgi?id=145727
Reviewed by Dan Bernstein.
Source/WebKit:
* WebKit.xcodeproj/project.pbxproj:
Source/WebKit/mac:
* Plugins/WebPluginsPrivate.h: Removed.
* Plugins/WebPluginsPrivate.m: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185290
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Sat, 6 Jun 2015 19:22:29 +0000 (19:22 +0000)]
Only allow plug-ins to create custom MIME property lists on older versions of OS X
https://bugs.webkit.org/show_bug.cgi?id=145726
Reviewed by Dan Bernstein.
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage getPluginInfoFromPLists]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185289
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 6 Jun 2015 08:43:10 +0000 (08:43 +0000)]
Unreviewed, rolling out r185284.
https://bugs.webkit.org/show_bug.cgi?id=145723
it needs some discussion before landing (Requested by dino on
#webkit).
Reverted changeset:
"[iOS] Don't force compositing layers for no-op 3D transforms
on low-memory devices."
https://bugs.webkit.org/show_bug.cgi?id=145719
http://trac.webkit.org/changeset/185284
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185288
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sat, 6 Jun 2015 08:21:20 +0000 (08:21 +0000)]
Typing is slow in Gmail on iPads
https://bugs.webkit.org/show_bug.cgi?id=145686
Reviewed by Enrica Casucci.
The bug was caused by nextCandidate and nextVisuallyDistinctCandidate traversing through each character
in a text node without a renderer. Skip any node that doesn't have a renderer in both of those functions
and corresponding previous* functions.
It's fine to skip unrendered nodes in PositionIterator because only other clients of PositionIterator
are Position::upstream and Position::downstream and they don't care about un-rendered nodes either.
* dom/PositionIterator.cpp:
(WebCore::PositionIterator::increment):
(WebCore::PositionIterator::decrement):
* editing/htmlediting.cpp:
(WebCore::nextVisuallyDistinctCandidate):
(WebCore::previousVisuallyDistinctCandidate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185287
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Sat, 6 Jun 2015 07:55:21 +0000 (07:55 +0000)]
Returned Exception* values need to be initialized to nullptr when no exceptions are thrown.
https://bugs.webkit.org/show_bug.cgi?id=145720
Reviewed by Dan Bernstein.
Source/JavaScriptCore:
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::evaluate):
Source/WebCore:
No new tests because this issue is already covered by the existing inspector-protocol tests.
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
LayoutTests:
* platform/win/TestExpectations:
- Undoing skipped tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185286
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Sat, 6 Jun 2015 04:40:18 +0000 (04:40 +0000)]
From r185273 on WTF::RefCounter exposes the actual refcount instead of a boolean value.
Reviewed by Dan Bernstein.
* TestWebKitAPI/Tests/WTF/RefCounter.cpp:
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185285
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Sat, 6 Jun 2015 03:11:28 +0000 (03:11 +0000)]
[iOS] Don't force compositing layers for no-op 3D transforms on low-memory devices.
<https://webkit.org/b/145719>
<rdar://problem/
19973042>
Reviewed by Geoffrey Garen.
We put elements with 3D identity transforms onto compositing layers because
we anticipate that they will somehow animate in the future.
This can get extremely expensive, especially on low-memory devices.
This patch makes WebKit stop handing out compositing layers for this kinda thing:
-webkit-transform: translate3d(0,0,0)
..on devices with 512MB or less. This dramatically improves stability on some
web pages.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForTransform):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185284
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Sat, 6 Jun 2015 01:23:21 +0000 (01:23 +0000)]
Gardening: skip some inspector-protocol tests while the issue is being investigated.
https://bugs.webkit.org/show_bug.cgi?id=145720
Not reviewed.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185283
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 6 Jun 2015 01:23:12 +0000 (01:23 +0000)]
Web Inspector: Fixing code style and adding more limitations for bug 141262
https://bugs.webkit.org/show_bug.cgi?id=145668
Patch by Devin Rousso <drousso@apple.com> on 2015-06-05
Reviewed by Timothy Hatcher.
* UserInterface/Models/CSSCompletions.js:
(WebInspector.CSSCompletions.prototype.isValidPropertyName): Loops through the full property list and returns true only if a property exactly matches the given property name.
(WebInspector.CSSCompletions): Added isValidPropertyName function.
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Added logic to limit the invalid class marker to only the property value if the property name is an actual property and to prevent invalid style from being applied incorrectly.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185282
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@webkit.org [Sat, 6 Jun 2015 01:19:36 +0000 (01:19 +0000)]
[EFL] API test has been broken since r184357
https://bugs.webkit.org/show_bug.cgi?id=145635
Reviewed by Darin Adler.
r184357 suppress cmake build warning using TARGET_FILE property. However
many EFL API test cases have been broken after applying it.
* TestWebKitAPI/CMakeLists.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185281
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Sat, 6 Jun 2015 01:18:37 +0000 (01:18 +0000)]
[Win] Skip fast/text/decorations-vertical-underline-expected.html
Unreviewed gardening.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185280
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 6 Jun 2015 01:16:22 +0000 (01:16 +0000)]
Web Inspector: Highlighting a CSS section does not deselect previously highlighted CSS sections
https://bugs.webkit.org/show_bug.cgi?id=145399
Patch by Devin Rousso <drousso@apple.com> on 2015-06-05
Reviewed by Timothy Hatcher.
* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection): Added delegate variable to constructor.
(WebInspector.CSSStyleDeclarationSection.prototype.clearSelection):
(WebInspector.CSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorFocused):
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor): Added event listener to codeMirror on "focus".
(WebInspector.CSSStyleDeclarationTextEditor.prototype.clearSelection): Sets the cursor of the codeMirror to character 0 on line 0.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._editorFocused): Function that calls the delegate function "editorFocused" when the codeMirror is focused
* UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
(WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorFocused): Loops through all sections except for the ignoredSection (parameter) and clears the selected text in each of them.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185279
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Sat, 6 Jun 2015 01:06:28 +0000 (01:06 +0000)]
Web Inspector: "Other" time in the framerate table is often negative
https://bugs.webkit.org/show_bug.cgi?id=145712
Reviewed by Timothy Hatcher.
The Inspector frontend flattens the timeline event tree it receives from the backend, which can contain nested
paint records. The nested records represent a single paint event, but were being interpreted as two separate
events for purposes of calculating total layout time. This caused the calculated "other" time to be less than
it should be (and in some cases negative).
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
Paint records are no longer nested, we simply drop the child paint event.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185278
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Sat, 6 Jun 2015 00:33:43 +0000 (00:33 +0000)]
Subclasses of JSNonFinalObject with gc'able children need to implement visitChildren().
https://bugs.webkit.org/show_bug.cgi?id=145709
Reviewed by Geoffrey Garen.
* jsc.cpp:
(functionSetElementRoot):
- The Element class has a member of type Root which extends JSDestructibleObject.
It should be stored in a WriteBarrier, and visited by visitChildren().
* runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::materializeSpecialsIfNecessary):
(JSC::ClonedArguments::visitChildren):
* runtime/ClonedArguments.h:
- Add missing visitChildren().
* tests/stress/cloned-arguments-should-visit-callee-during-gc.js: Added.
(makeTransientFunction.transientFunc):
(makeTransientFunction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185277
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Sat, 6 Jun 2015 00:04:40 +0000 (00:04 +0000)]
[Win] Update expected results.
Unreviewed gardening.
* platform/win/fast/forms/select-element-focus-ring-expected.txt: Added.
* platform/win/fast/text/emoji-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185276
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Fri, 5 Jun 2015 23:50:24 +0000 (23:50 +0000)]
Unreviewed, speculative Windows build fix after r185273.
* platform/VNodeTracker.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185275
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 5 Jun 2015 23:49:43 +0000 (23:49 +0000)]
Only allow plug-ins to create custom MIME property lists on older versions of OS X
https://bugs.webkit.org/show_bug.cgi?id=145716
Reviewed by Dan Bernstein.
* PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
* Shared/Plugins/Netscape/NetscapePluginModule.h:
* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::getMIMETypesFromPluginBundle):
* UIProcess/Plugins/PluginProcessProxy.h:
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185274
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Fri, 5 Jun 2015 23:20:06 +0000 (23:20 +0000)]
[WK2][iOS] Limit the number of vnodes used by the WebContent processes
https://bugs.webkit.org/show_bug.cgi?id=145672
<rdar://problem/
21126637>
Reviewed by Antti Koivisto.
Source/WebCore:
Limit the number of vnodes used by the WebContent processes to reduce
the chance of getting killed due to the system running out of vnodes.
We sometimes see the WebContent process use up to 50% of the system's
vnode limit on some tests on iOS, which seems excessive. Most vnodes
are due to CachedResources which are mmap'd from the WebKit disk cache
and kept alive due to caches such as the Memory Cache / PageCache.
This patch adds tracking for the number of SharedBuffer objects that are
backed by a CFDataRef as this should track most of the vnodes used by
the process. The WebContent process registers a vnode pressure handler
upon initialization (likely it already does for memory pressure
handling). This handler gets called when the process uses over 15% of
of system's vnode limit and the "critical" flag is set if it uses over
20% of the system limit. The vnode pressure handler currently calls the
memory pressure handler as freeing our caches (especially PageCache,
MemoryCache) and doing a JS GC frees up vnodes.
On iPhone 6 Plus, the system limit is at 3000, which would lead to the
following limits being used:
soft: 450 / hard: 600
However, on older hardware, the system limit can be as low as 2000,
which would lead to the following limits being used:
soft: 300 / hard: 400
vnode tracking is currently only enabled on iOS because system vnode
limits are usually much higher on Mac (e.g. 473695 on Mac Pro, 9984
on a 2011 MacBook Air) and we normally don't get killed.
* WebCore.xcodeproj/project.pbxproj:
Add new files to the XCode project.
* platform/SharedBuffer.h:
Add a VNodeTracker::Token member next to the CFDataRef member that we
initialize if the SharedBuffer is constructed from a CFDataRef.
* platform/VNodeTracker.cpp: Added.
(WebCore::VNodeTracker::singleton):
(WebCore::VNodeTracker::VNodeTracker):
(WebCore::VNodeTracker::checkPressureState):
(WebCore::VNodeTracker::pressureWarningTimerFired):
(WebCore::VNodeTracker::nextPressureWarningInterval):
(WebCore::VNodeTracker::platformInitialize):
* platform/VNodeTracker.h: Added.
(WebCore::VNodeTracker::setPressureHandler):
Add a new VNodeTracker singleton to keep track the number of vnodes
used by the process since the system does not issue warnings before
reaching its vnode limit. Call sites should request Tokens for
every vnode they use for tracking purposes. Each process can then
set a vnode pressure handler function that will be called when the
process is over the designated limits.
* platform/cf/SharedBufferCF.cpp:
(WebCore::SharedBuffer::SharedBuffer):
Take a VNodeToken from the VNodeTracker when constructing the
SharedBuffer from a CFDataRef as these usually use mmap.
* platform/cocoa/VNodeTrackerCocoa.cpp: Added.
(WebCore::VNodeTracker::platformInitialize):
Get the system's vnode limit and uses 15% of that value as soft
limit for the process and 20% of that value as hard limit.
Source/WebKit2:
Have the WebContent process register a vnode pressure handler on iOS,
which calls the memory pressure handler.
On non-critical pressure, it will prune dead resources from the memory
cache, which should free up some vnodes. On critical pressure, the
handler will clear the PageCache and do a JS GC, which should free even
more vnodes.
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Source/WTF:
* wtf/RefCounter.h:
(WTF::RefCounter::value):
Expose the actual refcount instead of a boolean value.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185273
268f45cc-cd09-0410-ab3c-
d52691b4dbfc