commit-queue@webkit.org [Wed, 24 Jun 2015 13:09:46 +0000 (13:09 +0000)]
Unreviewed, rolling out r185906.
https://bugs.webkit.org/show_bug.cgi?id=146276
MSVC doesn't yet provide a const-qualified std::array<T,
N>::size(), failing to compile the static_assert (Requested by
zdobersek on #webkit).
Reverted changeset:
"Improve the source code generated by make_names.pl"
https://bugs.webkit.org/show_bug.cgi?id=146208
http://trac.webkit.org/changeset/185906
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185907
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Wed, 24 Jun 2015 12:19:19 +0000 (12:19 +0000)]
Improve the source code generated by make_names.pl
https://bugs.webkit.org/show_bug.cgi?id=146208
Reviewed by Darin Adler.
Source/WebCore:
Clean up and optimize the output that's generated by the make_names.pl script
when generating large sets of DOM names for attributes and tags.
The GenerateStrings() function in the StaticString.pm module is split into
GenerateStringData() and GenerateASCIILiteral() so that the two new functions
can be used independently, with the original function still being called when
generating font names.
Tags and attributes have the corresponding static QualifiedName globals defined
as before. After that, two static const std::array<> objects are defined for
both types -- the first is an ordered array of addresses of the QualifiedName
objects (corresponding to the C array that was defined in getHTMLTags(),
getSVGAttrs() etc.), and the second is an ordered array of StringImpl::StaticASCIILiteral
objects that replaces separately defined StringImpl::StaticASCIILiteral objects
and the additional tables that contained pairs of QualifiedName object addresses
and the corresponding StaticASCIILiteral object references in the init() function.
This is all generated by the printStaticData() function in make_names.pl.
The printQualifiedNameCreation() function generates a static_assert() that ensures
that the corresponding std::array<QualifiedName*> and std::array<StaticASCIILiteral>
objects have the same amount of items, and then sets up a loop that walks through
the two arrays and properly constructs the QualifiedName objects from the static
literal data.
On the GTK port, this shaves off ~54kB from the final stripped shared library
on a 64-bit build, and ~21kB on a 32-bit build.
* bindings/scripts/StaticString.pm:
(GenerateStringData):
(GenerateASCIILiteral):
(GenerateStrings):
* dom/make_names.pl:
(printCppHead):
(printNamesCppFile):
(printStaticData):
(printQualifiedNameCreation):
(printInit): Deleted.
(printDefinitions): Deleted.
Source/WTF:
* wtf/text/StringImpl.h:
(WTF::StringImpl::assertHashIsCorrect): Make this method const-qualified.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185906
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@navercorp.com [Wed, 24 Jun 2015 09:25:06 +0000 (09:25 +0000)]
Remove some dead code from Download
https://bugs.webkit.org/show_bug.cgi?id=146268
Reviewed by Darin Adler.
retrieveDestinationWithSuggestedFilename() was introduced for DownloadCFNetWin.cpp since r77585.
didDecideDestination and others are also introduced for WebKit2 Windows port since r77055.
Since WebKit2 Windows port is dropped, no one uses them now.
* Shared/Downloads/Download.cpp:
(WebKit::Download::decideDestinationWithSuggestedFilename):
(WebKit::Download::retrieveDestinationWithSuggestedFilename): Deleted.
* Shared/Downloads/Download.h:
(WebKit::Download::destination): Deleted.
* Shared/Downloads/ios/DownloadIOS.mm:
(WebKit::Download::didDecideDestination): Deleted.
* Shared/Downloads/mac/DownloadMac.mm:
(WebKit::Download::didDecideDestination): Deleted.
* Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::Download::didDecideDestination): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185905
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Wed, 24 Jun 2015 08:14:14 +0000 (08:14 +0000)]
2015-06-24 Darin Adler <darin@apple.com>
Fix Array.concat with RuntimeArray (regression from my last patch)
* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncConcat): Use getLength instead of JSArray::length.
* runtime/JSArray.cpp:
(JSC::JSArray::defineOwnProperty): Added comment about use of
JSArray::length here that is incorrect (in a really non-obvious way).
(JSC::JSArray::fillArgList): Ditto.
(JSC::JSArray::copyToArguments): Ditto.
* runtime/JSArray.h: Added a comment explaining that it is not always
safe to use JSArray::length.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185904
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
youenn.fablet@crf.canon.fr [Wed, 24 Jun 2015 07:42:55 +0000 (07:42 +0000)]
Refactor UserMediaRequest to share more codes between MediaDevices.getUserMedia and legacy webkitGetUserMedia
https://bugs.webkit.org/show_bug.cgi?id=146237
Reviewed by Darin Adler.
Covered by existing tests, no change in behavior.
* Modules/mediastream/MediaConstraintsImpl.cpp:
(WebCore::MediaConstraintsImpl::create): Simplified error handling by removing exception code parameter.
* Modules/mediastream/MediaConstraintsImpl.h: Ditto.
* Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::getUserMedia): Removed code now in UserMediaRequest::start.
* Modules/mediastream/NavigatorUserMedia.cpp:
(WebCore::NavigatorUserMedia::webkitGetUserMedia): Ditto.
* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::parseOptions): Simplified error handling by removing exception code parameter.
(WebCore::UserMediaRequest::start): Renamed create in start and added common code.
* Modules/mediastream/UserMediaRequest.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185903
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Wed, 24 Jun 2015 05:44:48 +0000 (05:44 +0000)]
Gardening: Fixing 2 bad asserts from r185889.
https://bugs.webkit.org/show_bug.cgi?id=140575
Not reviewed.
* runtime/JSBoundSlotBaseFunction.cpp:
(JSC::JSBoundSlotBaseFunction::finishCreation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185902
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 24 Jun 2015 04:34:37 +0000 (04:34 +0000)]
Fix build.
* UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager init]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185901
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Wed, 24 Jun 2015 02:34:05 +0000 (02:34 +0000)]
Fixed iOS production builds.
* JavaScriptCore.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185900
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Wed, 24 Jun 2015 02:33:18 +0000 (02:33 +0000)]
Make Array.join work directly on substrings without reifying them
https://bugs.webkit.org/show_bug.cgi?id=146191
Reviewed by Andreas Kling.
Source/JavaScriptCore:
Besides the Array.join change, this has other optimizations based on
profiling the Peacekeeper array benchmark.
I measured a 14% speed improvement in the Peacekeeper array benchmark.
Still a lot of low hanging fruit in that test because so many of functions
on the array prototype are not optimizing for simple cases. For example,
the reverse function does individual get and put calls even when the array
is entirely made up of integers in contiguous storage.
* runtime/ArrayPrototype.cpp:
(JSC::getProperty): Use tryGetIndexQuickly first before getPropertySlot.
(JSC::argumentClampedIndexFromStartOrEnd): Marked inline.
(JSC::shift): Use the getProperty helper in this file instead of using
getPropertySlot. Use putByIndexInline instead of calling putByIndex directly.
In both cases this can yield a faster code path.
(JSC::unshift): Ditto.
(JSC::arrayProtoFuncToString): Updated to use the new JSStringJoiner
interface. Changed local variable name to thisArray since it's not a
JSObject*. Changed loop index to i instead of k.
(JSC::arrayProtoFuncToLocaleString): Updated to use the new JSStringJoiner
interface. Renamed thisObj to thisObject. Added a missing exception check
after the toLocaleString function is called, but before toString is called
the result of that function.
(JSC::arrayProtoFuncJoin): Updated to use the new JSStringJointer interface.
Added a missing exception check after calling toString on the separator
but before calling get to get the first element in the array-like object
being joined. Changed loop index to i instead of k. Added missing exception
check after calling toString on each string from the array before calling
get for the next element.
(JSC::arrayProtoFuncConcat): Use JSArray::length instead of using the
getLength function.
(JSC::arrayProtoFuncReverse): Ditto. Also use putByIndexInline.
(JSC::arrayProtoFuncShift): Ditto.
(JSC::arrayProtoFuncSplice): Use getIndex instead of get, which includes some
additional optimizations.
(JSC::getOrHole): Deleted. Unused function.
(JSC::arrayProtoFuncUnShift): Use putByIndexInline.
* runtime/ExceptionHelpers.cpp:
(JSC::errorDescriptionForValue): Removed the duplicate copy of the the logic
from JSValue::toString.
* runtime/JSCJSValue.cpp:
(JSC::JSValue::toStringSlowCase): Improved the performance when converting a
small integer to a single character string.
(JSC::JSValue::toWTFStringSlowCase): Moved the contents of the
inlineJSValueNotStringtoString function here.
* runtime/JSCJSValue.h: Removed no longer used toWTFStringInline and fixed
a comment with a typo.
* runtime/JSObject.h:
(JSC::JSObject::putByIndexInline): Marked ALWAYS_INLINE because this was not
getting inlined at some call sites.
(JSC::JSObject::indexingData): Deleted. Unused function.
(JSC::JSObject::currentIndexingData): Deleted. Unused function.
(JSC::JSObject::getHolyIndexQuickly): Deleted. Unused function.
(JSC::JSObject::relevantLength): Deleted. Unused function.
(JSC::JSObject::currentRelevantLength): Deleted. Unused function.
* runtime/JSString.h: Added the StringViewWithUnderlyingString struct and
the viewWithUnderlyingString function. Removed the inlineJSValueNotStringtoString
and toWTFStringInline functions.
* runtime/JSStringJoiner.cpp:
(JSC::appendStringToData): Changed this to be a template instead of writing
it out, since StringView::getCharactersWithUpconvert does almsot exactly what
this function was trying to do.
(JSC::joinStrings): Rewrote this to use StringView.
(JSC::JSStringJoiner::joinedLength): Added. Factored out from the join function.
(JSC::JSStringJoiner::join): Rewrote to make it a bit simpler. Added an assertion
that we entirely filled capacity, since we are now reserving capacity and using
uncheckedAppend. Use String instead of RefPtr<StringImpl> because there was no
particular value to using the impl directly.
* runtime/JSStringJoiner.h: Changed the interface to the class to use StringView.
Also changed this class so it now has the responsibility to convert each JSValue
into a string. This let us share more code between toString and join, and also
lets us use the new viewWithUnderlyingString function, which could be confusing at
all the call sites, but is easier to understand here.
Source/WTF:
* wtf/Vector.h: Added an overload of uncheckedAppend like the one we added
a while back, a non-template function that forwards through to the function
template. This lets us call uncheckedAppend on an argument list and have it
properly convert it to the Vector's element type.
* wtf/text/StringView.h:
(WTF::StringView::getCharactersWithUpconvert): Changed to not use memcpy;
saw some indication the hand-written loop was faster when profiling. Also
use m_length directly when we know we are dealing with an 8-bit string,
since the masking that the index function does is not needed in that case.
(WTF::StringView::UpconvertedCharacters::UpconvertedCharacters): Ditto.
(WTF::StringView::toString): Ditto.
(WTF::StringView::toFloat): Ditto.
(WTF::StringView::toInt): Ditto.
(WTF::StringView::toStringWithoutCopying): Ditto.
(WTF::StringView::find): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185899
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 24 Jun 2015 02:13:24 +0000 (02:13 +0000)]
Refactoring benchmark runner script to follow pep8 code style.
https://bugs.webkit.org/show_bug.cgi?id=146264
Patch by Dewei Zhu <dewei_zhu@apple.com> on 2015-06-23
Reviewed by Ryosuke Niwa.
Refactor benchmark runner script to follow pep8 code style.
* Scripts/webkitpy/benchmark_runner/benchmark_builder/generic_benchmark_builder.py:
(GenericBenchmarkBuilder.prepare):
(GenericBenchmarkBuilder._run_create_script):
(GenericBenchmarkBuilder._copy_benchmark_to_temp_dir):
(GenericBenchmarkBuilder._fetch_remote_archive):
(GenericBenchmarkBuilder):
(GenericBenchmarkBuilder._checkout_with_subversion):
(GenericBenchmarkBuilder._apply_patch):
(GenericBenchmarkBuilder.clean):
(GenericBenchmarkBuilder._runCreateScript): Deleted.
(GenericBenchmarkBuilder._copyBenchmarkToTempDir): Deleted.
(GenericBenchmarkBuilder._fetchRemoteArchive): Deleted.
(GenericBenchmarkBuilder._checkoutWithSubverion): Deleted.
(GenericBenchmarkBuilder._applyPatch): Deleted.
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.__init__):
(BenchmarkRunner._find_plan_file):
(BenchmarkRunner.execute):
(BenchmarkRunner._cleanup):
(BenchmarkRunner._dump):
(BenchmarkRunner._wrap):
(BenchmarkRunner._merge):
(BenchmarkRunner._show_results):
(BenchmarkRunner._findPlanFile): Deleted.
(BenchmarkRunner.cleanup): Deleted.
(BenchmarkRunner.dump): Deleted.
(BenchmarkRunner.wrap): Deleted.
(BenchmarkRunner.merge): Deleted.
(BenchmarkRunner.show_results): Deleted.
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
(BrowserDriver.prepare_env):
(BrowserDriver.launch_url):
(BrowserDriver.close_browsers):
(BrowserDriver.prepareEnv): Deleted.
(BrowserDriver.launchUrl): Deleted.
(BrowserDriver.closeBrowser): Deleted.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
(OSXBrowserDriver):
(OSXBrowserDriver.prepare_env):
(OSXBrowserDriver.close_browsers):
(OSXBrowserDriver._launch_process):
(OSXBrowserDriver._terminiate_processes):
(OSXBrowserDriver._launch_process_with_caffinate):
(OSXBrowserDriver._screen_size):
(OSXBrowserDriver.prepareEnv): Deleted.
(OSXBrowserDriver.closeBrowsers): Deleted.
(OSXBrowserDriver.launchProcess): Deleted.
(OSXBrowserDriver.terminateProcesses): Deleted.
(OSXBrowserDriver.launchProcessWithCaffinate): Deleted.
(OSXBrowserDriver.screenSize): Deleted.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeDriver):
(OSXChromeDriver.launch_url):
(OSXChromeCanaryDriver):
(OSXChromeCanaryDriver.launch_url):
(OSXChromeDriver.launchUrl): Deleted.
(OSXChromeCanaryDriver.launchUrl): Deleted.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
(OSXFirefoxDriver):
(OSXFirefoxDriver.launch_url):
(OSXFirefoxNightlyDriver):
(OSXFirefoxNightlyDriver.launch_url):
(OSXFirefoxDriver.launchUrl): Deleted.
(OSXFirefoxNightlyDriver.launchUrl): Deleted.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver):
(OSXSafariDriver.prepare_env):
(OSXSafariDriver.launch_url):
(OSXSafariDriver.close_browsers):
(OSXSafariDriver._maximize_window):
(OSXSafariDriver.prepareEnv): Deleted.
(OSXSafariDriver.launchUrl): Deleted.
(OSXSafariDriver.closeBrowsers): Deleted.
(OSXSafariDriver.maximizeWindow): Deleted.
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py:
(HTTPServerDriver.fetch_result):
(HTTPServerDriver.kill_server):
(HTTPServerDriver.get_return_code):
(HTTPServerDriver.set_device_id):
(HTTPServerDriver.fetchResult): Deleted.
(HTTPServerDriver.killServer): Deleted.
(HTTPServerDriver.getReturnCode): Deleted.
(HTTPServerDriver.setDeviceID): Deleted.
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver.serve):
(SimpleHTTPServerDriver.base_url):
(SimpleHTTPServerDriver.fetch_result):
(SimpleHTTPServerDriver.kill_server):
(SimpleHTTPServerDriver.get_return_code):
(SimpleHTTPServerDriver): Deleted.
(SimpleHTTPServerDriver.baseUrl): Deleted.
(SimpleHTTPServerDriver.fetchResult): Deleted.
(SimpleHTTPServerDriver.killServer): Deleted.
(SimpleHTTPServerDriver.getReturnCode): Deleted.
* Scripts/webkitpy/benchmark_runner/utils.py:
(get_path_from_project_root):
(force_remove):
(getPathFromProjectRoot): Deleted.
(forceRemove): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185898
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Wed, 24 Jun 2015 02:09:24 +0000 (02:09 +0000)]
Should reduce tile coverage for the first paint after a tab switch.
<https://webkit.org/b/146252>
<rdar://problem/
19821583>
Reviewed by Darin Adler.
Reduce the number of tiles we need to paint after switching tabs,
to shorten the time it takes before we can flush pixels to screen.
We accomplish this by piggybacking on the "speculative tiling enabled"
mode of FrameView, which was previously only used to throttle painting
and layer flushes during page load.
When a FrameView becomes visible, which is what happens when you
switch to its tab, we revert the speculative tiling optimization to
its initial state, and reset the "scrolled by user" flag.
In practice this means that after switching tabs, we only generate
enough tiles to fill the viewport. Then, after 500ms has passed
or the user scrolls the page, we go back to the usual speculative
tiling mode.
* page/FrameView.cpp:
(WebCore::FrameView::show):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185897
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Wed, 24 Jun 2015 02:04:38 +0000 (02:04 +0000)]
[GTK] Crash performing drag-and-drop
https://bugs.webkit.org/show_bug.cgi?id=146267
Reviewed by Darin Adler.
Return early if gtk_get_current_event() returns null to avoid a crash. Note that this does
not fix drag-and-drop. Note also this prevents the web process from forcing the UI process
to crash by sending fake startDrag messages.
* UIProcess/gtk/DragAndDropHandler.cpp:
(WebKit::DragAndDropHandler::startDrag):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185896
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Wed, 24 Jun 2015 02:00:52 +0000 (02:00 +0000)]
[OS X] Rebaseline fast/text/font-weight{,-zh}.html for El Capitan
https://bugs.webkit.org/show_bug.cgi?id=146266
<rdar://problem/
21391628>
<rdar://problem/
21391673>
Unreviewed.
* fast/text/font-weights.html: Renamed from LayoutTests/platform/mac/fast/text/font-weights.html.
* platform/mac/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/win/TestExpectations:
* platform/mac/fast/text/font-weights-expected.png: Added.
* platform/mac/fast/text/font-weights-expected.txt:
* platform/mac/fast/text/font-weights-zh-expected.png: Added.
* platform/mac/fast/text/font-weights-zh-expected.txt:
* platform/mac-mavericks/fast/text/font-weights-expected.txt: Moved from platform/mac/fast/text/font-weights-expected.txt
* platform/mac-yosemite/fast/text/font-weights-expected.txt: Ditto.
* platform/mac-yosemite/fast/text/font-weights-zh-expected.txt: Moved from platform/mac/fast/text/font-weights-zh-expected.txt
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185895
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 24 Jun 2015 00:50:36 +0000 (00:50 +0000)]
Add a class that tracks whether we're a background or foreground application
https://bugs.webkit.org/show_bug.cgi?id=146259
rdar://problem/
19833808
Reviewed by Darin Adler.
First step towards being able to send out these notifications for view services.
* UIProcess/ApplicationStateTracker.h: Added.
(WebKit::ApplicationStateTracker::isInBackground):
* UIProcess/ApplicationStateTracker.mm: Added.
(WebKit::ApplicationStateTracker::singleton):
(WebKit::ApplicationStateTracker::ApplicationStateTracker):
(WebKit::ApplicationStateTracker::addListener):
(WebKit::ApplicationStateTracker::applicationDidEnterBackground):
(WebKit::ApplicationStateTracker::applicationWillEnterForeground):
(WebKit::ApplicationStateTracker::invokeListeners):
(WebKit::ApplicationStateTracker::pruneListeners):
* UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager init]):
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
(-[WKProcessAssertionBackgroundTaskManager _applicationWillEnterForeground]):
(-[WKProcessAssertionBackgroundTaskManager _applicationDidEnterBackground]):
(-[WKProcessAssertionBackgroundTaskManager dealloc]): Deleted.
(-[WKProcessAssertionBackgroundTaskManager _applicationWillEnterForeground:]): Deleted.
(-[WKProcessAssertionBackgroundTaskManager _applicationDidEnterBackground:]): Deleted.
* UIProcess/ios/WKContentView.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _commonInitializationWithProcessPool:configuration:]):
(-[WKContentView isBackground]):
(-[WKContentView _applicationDidEnterBackground]):
(-[WKContentView _applicationWillEnterForeground]):
(-[WKContentView _applicationDidEnterBackground:]): Deleted.
(-[WKContentView _applicationWillEnterForeground:]): Deleted.
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185894
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 24 Jun 2015 00:43:03 +0000 (00:43 +0000)]
Remove windowResizerRect code, nobody is using it anymore
https://bugs.webkit.org/show_bug.cgi?id=146265
Reviewed by Beth Dakin.
Source/WebCore:
* loader/EmptyClients.h:
* page/Chrome.cpp:
(WebCore::Chrome::windowResizerRect): Deleted.
* page/Chrome.h:
* page/ChromeClient.h:
* page/FrameView.cpp:
(WebCore::FrameView::windowResizerRect): Deleted.
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::ScrollView): Deleted.
(WebCore::ScrollView::windowResizerRectChanged): Deleted.
(WebCore::ScrollView::containsScrollbarsAvoidingResizer): Deleted.
(WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount): Deleted.
(WebCore::ScrollView::setParent): Deleted.
* platform/ScrollView.h:
(WebCore::ScrollView::windowResizerRect): Deleted.
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::Scrollbar): Deleted.
(WebCore::Scrollbar::setFrameRect): Deleted.
(WebCore::Scrollbar::setParent): Deleted.
* platform/Scrollbar.h:
Source/WebKit/mac:
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::windowResizerRect): Deleted.
Source/WebKit/win:
* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::windowResizerRect): Deleted.
* WebCoreSupport/WebChromeClient.h:
Source/WebKit2:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::windowResizerRect): Deleted.
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::windowResizerRect): Deleted.
* WebProcess/WebPage/WebPage.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185893
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 24 Jun 2015 00:29:11 +0000 (00:29 +0000)]
Web Inspector: Reduce QuickConsole DidResize events if it did not change
https://bugs.webkit.org/show_bug.cgi?id=146258
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-23
Reviewed by Timothy Hatcher.
* UserInterface/Views/QuickConsole.js:
(WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged):
Do not trigger the event unless there was a change in visibility.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185892
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 24 Jun 2015 00:27:29 +0000 (00:27 +0000)]
Web Inspector: TextEditor scroll position not correctly restored when switching tabs
https://bugs.webkit.org/show_bug.cgi?id=146254
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-23
Reviewed by Timothy Hatcher.
* UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor.prototype.updateLayout):
Workaround a larger issue with ContentView restoration so that
TextEditors restore their scroll position as expected.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185891
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Wed, 24 Jun 2015 00:21:04 +0000 (00:21 +0000)]
Restore binary compatibility with iOS 8 Safari after r185877
https://bugs.webkit.org/show_bug.cgi?id=146263
Reviewed by Anders Carlsson.
* Platform/spi/Cocoa: Added.
* Platform/spi/Cocoa/NSInvocationSPI.h: Added.
* UIProcess/API/Cocoa/WKSecurityOrigin.mm:
(-[WKSecurityOrigin methodSignatureForSelector:]): Override to check _WKSecurityOrigin for
possible category methods with the specified selector.
(-[WKSecurityOrigin forwardInvocation:]): Invoke using the implementation of the
_WKSecurityOrigin category method.
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185890
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmirman@apple.com [Tue, 23 Jun 2015 23:36:57 +0000 (23:36 +0000)]
Completes native binding descriptors with native getters and potentially setters.
https://bugs.webkit.org/show_bug.cgi?id=140575
rdar://problem/
19506502
Reviewed by Mark Lam.
Source/JavaScriptCore:
* CMakeLists.txt: Added JSBoundSlotBaseFunction.cpp
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* inspector/InjectedScriptSource.js: Added case for descriptor having a native getter.
* runtime/JSBoundSlotBaseFunction.cpp: Added.
(JSC::boundSlotBaseFunctionCall):
(JSC::JSBoundSlotBaseFunction::JSBoundSlotBaseFunction):
Necessary wrapper for custom getters and setters as objects.
(JSC::JSBoundSlotBaseFunction::create):
(JSC::JSBoundSlotBaseFunction::visitChildren):
(JSC::JSBoundSlotBaseFunction::finishCreation):
* runtime/JSBoundSlotBaseFunction.h: Added.
(JSC::JSBoundSlotBaseFunction::createStructure):
(JSC::JSBoundSlotBaseFunction::boundSlotBase):
(JSC::JSBoundSlotBaseFunction::customGetterSetter):
(JSC::JSBoundSlotBaseFunction::isGetter):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Added a globally initialized structure for JSBoundSlotBaseFunction
(JSC::JSGlobalObject::visitChildren): visits that structure
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::boundSlotBaseFunctionStructure): added a getter for that structure
* runtime/JSObject.cpp:
(JSC::JSObject::getOwnPropertyDescriptor): extends the case for CustomGetterSetter to
actually include GetterSetter as a JSBoundSlotBaseFunction
* runtime/VM.cpp: Added initializer for customGetterSetterFunctionMap
* runtime/VM.h: Added cache for JSBoundSlotBaseFunction
LayoutTests:
* inspector-protocol/runtime/getProperties-expected.txt: updated.
* js/dom/native-bindings-descriptors-expected.txt: Added.
* js/dom/native-bindings-descriptors.html: Added.
* js/dom/script-tests/native-bindings-descriptors.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185889
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Tue, 23 Jun 2015 22:47:04 +0000 (22:47 +0000)]
Media controls are missing the white backdrop in UIWebViews
https://bugs.webkit.org/show_bug.cgi?id=146251
<rdar://problem/
20181345>
Reviewed by Simon Fraser.
Implement two new CALayer subclasses that explicitly set
something that resembles the system appearance for
media-controls-dark-bar-background and media-controls-light-bar-background.
This way, WebKit1 clients get a visible result.
Creating the actual system recipes is tracked by:
https://bugs.webkit.org/show_bug.cgi?id=146250
* WebCore.xcodeproj/project.pbxproj: Add new files.
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(PlatformCALayerCocoa::PlatformCALayerCocoa): Use the new CALayer subclasses for
the appropriate layer types.
* platform/graphics/ca/cocoa/WebSystemBackdropLayer.h: Added.
* platform/graphics/ca/cocoa/WebSystemBackdropLayer.mm: Added.
(-[WebLightSystemBackdropLayer init]):
(-[WebLightSystemBackdropLayer setBackgroundColor:]): Only set to a light grey.
(-[WebDarkSystemBackdropLayer init]):
(-[WebDarkSystemBackdropLayer setBackgroundColor:]): Only set to a dark grey.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185888
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 23 Jun 2015 22:46:56 +0000 (22:46 +0000)]
Add operator! and copy/move constructors to WeakObjCPtr
https://bugs.webkit.org/show_bug.cgi?id=146255
Reviewed by Andreas Kling.
Source/WebKit2:
* Shared/mac/WeakObjCPtr.h:
(WebKit::WeakObjCPtr::WeakObjCPtr):
(WebKit::WeakObjCPtr::operator!):
Tools:
* TestWebKitAPI/Tests/WebKit2/cocoa/WeakObjCPtr.mm:
(TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185887
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Jun 2015 22:09:05 +0000 (22:09 +0000)]
Web Inspector: Some brief previews are incorrectly treated as lossless
https://bugs.webkit.org/show_bug.cgi?id=146247
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-23
Reviewed by Timothy Hatcher.
* UserInterface/Views/ObjectPreviewView.js:
(WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
When we have a brief preview we may need to override lossless / overflow
if the preview view itself shows less properties than were in the preview.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185886
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrajca@apple.com [Tue, 23 Jun 2015 22:02:34 +0000 (22:02 +0000)]
Support releasing media sessions
https://bugs.webkit.org/show_bug.cgi?id=146132
Reviewed by Darin Adler.
* Modules/mediasession/MediaSession.cpp: Implemented as described in the Media Session spec.
(WebCore::MediaSession::releaseSession):
(WebCore::MediaSession::releaseInternal):
* Modules/mediasession/MediaSession.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185885
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Tue, 23 Jun 2015 21:41:13 +0000 (21:41 +0000)]
AX: iOS: VoiceOver and ARIA: has popup property not announced
https://bugs.webkit.org/show_bug.cgi?id=146188
Reviewed by Darin Adler.
Expose the existing "has popup" property to the iOS Accessibility API.
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityHasPopup]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185884
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Tue, 23 Jun 2015 21:09:47 +0000 (21:09 +0000)]
Unreviewed test gardening after r185842
https://bugs.webkit.org/show_bug.cgi?id=145681
<rdar://problem/
21169844>
* platform/mac-yosemite/fast/text/arabic-times-new-roman-expected.png: Copied from LayoutTests/platform/mac/fast/text/arabic-times-new-roman-expected.png.
* platform/mac-yosemite/fast/text/arabic-times-new-roman-expected.txt: Copied from LayoutTests/platform/mac/fast/text/arabic-times-new-roman-expected.txt.
* platform/mac/fast/text/arabic-times-new-roman-expected.png:
* platform/mac/fast/text/arabic-times-new-roman-expected.txt:
* platform/win/fast/text/arabic-times-new-roman-expected.png: Added.
* platform/win/fast/text/arabic-times-new-roman-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185883
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 23 Jun 2015 20:34:50 +0000 (20:34 +0000)]
CrashTracer: com.apple.WebKit.Networking at JavaScriptCore: WTF::String::isolatedCopy const &
https://bugs.webkit.org/show_bug.cgi?id=146236
rdar://problem/
21380700
Reviewed by Andreas Kling.
* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::clear):
Don't crash if this is called with network cache disabled.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185882
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Tue, 23 Jun 2015 18:54:26 +0000 (18:54 +0000)]
AX Tests hit-test-input-{auto-fill, search}-button.html and input-search-cancel-button.html fail on Windows
https://bugs.webkit.org/show_bug.cgi?id=146243
Mark the tests as failing for now.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185881
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 23 Jun 2015 18:27:13 +0000 (18:27 +0000)]
Expose some more rendering progress events, and have MiniBrowser log for each of them
https://bugs.webkit.org/show_bug.cgi?id=146227
Reviewed by Darin Adler.
Source/WebKit2:
Add _WKRenderingProgressEventFirstLayoutAfterSuppressedIncrementalRendering and
_WKRenderingProgressEventFirstPaintAfterSuppressedIncrementalRendering to the private
header, and convert them to/from WebCore milestones.
* Shared/API/Cocoa/_WKRenderingProgressEvents.h:
* Shared/API/Cocoa/_WKRenderingProgressEventsInternal.h:
(renderingProgressEvents):
* UIProcess/API/Cocoa/WKWebView.mm:
(layoutMilestones):
Tools:
Register for layout milestones/rendering progress events in the WK1 and WK2
browser window controllers, and, if logging is turned on, log when they are
reached.
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController awakeFromNib]):
(-[WK1BrowserWindowController webView:didLayout:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController _webView:renderingProgressDidChange:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185880
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 23 Jun 2015 18:04:08 +0000 (18:04 +0000)]
Unreviewed. Fix GTK+ build after r185876 and r185877.
* UIProcess/API/gtk/WebKitUIClient.cpp:
* UIProcess/API/gtk/WebKitUserContentManager.cpp:
* UIProcess/API/gtk/WebKitWebView.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185879
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 23 Jun 2015 17:37:15 +0000 (17:37 +0000)]
Get rid of the window resizer size
https://bugs.webkit.org/show_bug.cgi?id=146240
Reviewed by Darin Adler.
This code was only used by older versions of GTK+, so get rid of it.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseNotifyResizerSize): Deleted.
(toplevelWindowResizeGripVisibilityChanged): Deleted.
(webkitWebViewBaseSetToplevelOnScreenWindow): Deleted.
(resizeWebKitWebViewBaseFromAllocation): Deleted.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setWindowResizerSize): Deleted.
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::windowResizerRect):
(WebKit::WebPage::setWindowResizerSize): Deleted.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185878
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Tue, 23 Jun 2015 17:28:20 +0000 (17:28 +0000)]
WKFrameInfo should have an accessor for the Frame's current security origin.
https://bugs.webkit.org/show_bug.cgi?id=146162
Reviewed by Dan Bernstein.
Source/WebKit2:
This patch:
- Promotes _WKSecurityOrigin to API.
- Makes the WKSecurityOrigin Cocoa API object work with API::SecurityOrigin.
- Adds a WKSecurityOrigin accessor to WKFrameInfo.
- Changes IPC messaging so every handler that calls out with a WKFrameInfo object
gets a relevant SecurityOrigin to wrap.
* Shared/API/APISecurityOrigin.h:
(API::SecurityOrigin::create):
(API::SecurityOrigin::SecurityOrigin):
* Shared/API/Cocoa/WebKit.h:
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toCopiedAPI):
* Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
* Shared/SecurityOriginData.cpp:
(WebKit::SecurityOriginData::fromFrame):
* Shared/SecurityOriginData.h:
* UIProcess/API/APIFrameInfo.cpp:
(API::FrameInfo::FrameInfo):
* UIProcess/API/APIFrameInfo.h:
* UIProcess/API/APINavigationClient.h:
(API::NavigationClient::didFailProvisionalLoadInSubframeWithError):
* UIProcess/API/APIUIClient.h:
(API::UIClient::createNewPage):
(API::UIClient::runJavaScriptAlert):
(API::UIClient::runJavaScriptConfirm):
(API::UIClient::runJavaScriptPrompt):
* UIProcess/API/C/WKApplicationCacheManager.cpp:
(WKApplicationCacheManagerGetApplicationCacheOrigins):
* UIProcess/API/C/WKKeyValueStorageManager.cpp:
(WKKeyValueStorageManagerGetKeyValueStorageOrigins):
* UIProcess/API/C/WKOriginDataManager.cpp:
(WKOriginDataManagerGetOrigins):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
(WKPageSetPageNavigationClient):
* UIProcess/API/C/WKResourceCacheManager.cpp:
(WKResourceCacheManagerGetCacheOrigins):
* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKFrameInfo.mm:
(-[WKFrameInfo securityOrigin]):
* UIProcess/API/Cocoa/WKSecurityOrigin.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOrigin.h.
* UIProcess/API/Cocoa/WKSecurityOrigin.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOrigin.mm.
(-[WKSecurityOrigin dealloc]):
(-[WKSecurityOrigin description]):
(-[WKSecurityOrigin protocol]):
(-[WKSecurityOrigin host]):
(-[WKSecurityOrigin port]):
(-[WKSecurityOrigin _apiObject]):
* UIProcess/API/Cocoa/WKSecurityOriginInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOriginInternal.h.
(API::wrapper):
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/API/Cocoa/WKUserContentController.mm:
* UIProcess/API/Cocoa/_WKSecurityOrigin.h:
* UIProcess/API/Cocoa/_WKSecurityOrigin.mm:
(-[_WKSecurityOrigin _initWithSecurityOrigin:]): Deleted.
(-[_WKSecurityOrigin protocol]): Deleted.
(-[_WKSecurityOrigin host]): Deleted.
(-[_WKSecurityOrigin port]): Deleted.
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::didFailProvisionalLoadInSubframeWithError):
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::createNewPage):
(WebKit::UIDelegate::UIClient::runJavaScriptAlert):
(WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
(WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
(WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
(WebKit::UIDelegate::UIClient::reachedApplicationCacheOriginQuota):
* UIProcess/UserContent/WebScriptMessageHandler.h:
* UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::didPostMessage):
* UIProcess/UserContent/WebUserContentControllerProxy.h:
* UIProcess/UserContent/WebUserContentControllerProxy.messages.in:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseSync):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserMessageHandlerDescriptorProxy::didPostMessage):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow):
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
Tools:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/modal-alerts-in-new-about-blank-window.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm: Added.
(sawDialog):
(-[ModalAlertsUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(-[ModalAlertsUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[ModalAlertsUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[ModalAlertsUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:]):
(TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185877
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 23 Jun 2015 16:45:30 +0000 (16:45 +0000)]
<rdar://problem/
21342465> Make -[WKWebView _certificateChain] public.
https://bugs.webkit.org/show_bug.cgi?id=145886
Reviewed by Sam Weinig.
* Shared/WebCertificateInfo.h:
(WebKit::WebCertificateInfo::create): Changed to return a Ref rather than a PassRefPtr.
* UIProcess/API/Cocoa/WKBrowsingContextController.mm: Added no-op overrides of new
PageLoadState::Observer functions to PageLoadStateObserver.
* UIProcess/API/Cocoa/WKProcessGroup.mm:
(-[WKProcessGroup _setAllowsSpecificHTTPSCertificate:forHost:]): Updated for change to
WebCertificateInfo::create.
* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _setAllowsSpecificHTTPSCertificate:forHost:]): Ditto.
* UIProcess/API/Cocoa/WKWebView.h: Declared new certificateChain property on WKWebView.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView certificateChain]): Added. Returns the certificate chain from the page load
state, or an empty array if there is no certificate chain.
* UIProcess/API/Cocoa/WKWebViewPrivate.h: Deprecated _certificateChain.
* UIProcess/Cocoa/NavigationState.h: Declared overrides of new PageLoadState::Observer
functions.
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::willChangeCertificateInfo): Override to call
-willChangeValueForKey:.
(WebKit::NavigationState::didChangeCertificateInfo): Override to call
-didChangeValueForKey:.
* UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::commitChanges): Call the new observer functions
willChangeCertificateInfo and didChangeCertificateInfo.
(WebKit::PageLoadState::didCommitLoad): Added new certificateInfo parameter, which is stored
in the uncommitted state.
* UIProcess/PageLoadState.h:
(WebKit::PageLoadState::certificateInfo): Added this getter.
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didCommitLoad): Changed the parameter type from
WebCore::CertificateInfo to WebCertificateInfo.
* UIProcess/WebFrameProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame): Pass the certificate info to
PageLoadState::didCommitLoad.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185876
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Tue, 23 Jun 2015 16:26:08 +0000 (16:26 +0000)]
Web Inspector: Layout & Rendering timeline should show paint and layout records in separate rows
https://bugs.webkit.org/show_bug.cgi?id=146119
Reviewed by Timothy Hatcher.
This patch makes the original Layout & Rendering timeline visually consistent with the Rendering Frames
timeline, which uses green to distinguish Paint from Layout. In order to support having record bars with
different colors in the same overview graph, the timeline has been split into two rows.
* UserInterface/Views/LayoutTimelineOverviewGraph.css:
(.timeline-overview-graph.layout > .graph-row):
(.timeline-overview-graph.layout > .graph-row > .timeline-record-bar):
(.timeline-overview-graph.layout > .graph-row > .timeline-record-bar > .segment):
New row styles.
* UserInterface/Views/LayoutTimelineOverviewGraph.js:
(WebInspector.LayoutTimelineOverviewGraph.prototype.reset.createRecordRow):
(WebInspector.LayoutTimelineOverviewGraph.prototype.reset):
(WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
(WebInspector.LayoutTimelineOverviewGraph.prototype._updateRowLayout.createBar):
(WebInspector.LayoutTimelineOverviewGraph.prototype._updateRowLayout):
(WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
(WebInspector.LayoutTimelineOverviewGraph): Deleted.
Added bookkeeping objects for timeline row elements and their associated records.
* UserInterface/Views/TimelineRecordBar.css:
(.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-paint > .segment):
New style for layout record event types.
* UserInterface/Views/TimelineRecordBar.js:
(WebInspector.TimelineRecordBar.prototype.set records):
Add style class for eventType, if present.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185875
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jfernandez@igalia.com [Tue, 23 Jun 2015 14:18:11 +0000 (14:18 +0000)]
[CSS Grid Layout] Performance optimization: avoid computing overflow alignment if not needed
https://bugs.webkit.org/show_bug.cgi?id=146231
Reviewed by Sergio Villar Senin.
We don't need to apply any overflow handling if alignment value don't have a potential
risk of data loss, as it's the case of 'start' value.
This patch avoid computing the overflow in all the cases, since it adds an unneeded
overhead which affects performance.
New code improves performance around 3%-8%, depending on the grid tests.
No new tests, no new funcitonality.
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::rowPositionForChild):
(WebCore::RenderGrid::columnPositionForChild):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185874
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
youenn.fablet@crf.canon.fr [Tue, 23 Jun 2015 14:10:06 +0000 (14:10 +0000)]
MediaDevices.getUserMedia should migrate from callbacks to DOMPromise
https://bugs.webkit.org/show_bug.cgi?id=146200
Reviewed by Darin Adler.
Source/WebCore:
Introduced DOMPromiseWithCallback to resolve/reject promises while allowing promise clients to use a typed callback approach.
Migrated MediaDevices.getUserMedia from callbacks to DOMPromiseWithCallback.
Removed MediaDevices.getUserMedia custom binding.
Covered by existing tests.
* CMakeLists.txt: Removing custom binding.
* Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::getUserMedia): Moving from callback to promise.
* Modules/mediastream/MediaDevices.h: Ditto.
* Modules/mediastream/MediaDevices.idl: Removing custom binding.
* Modules/mediastream/NavigatorUserMedia.cpp:
(WebCore::NavigatorUserMedia::webkitGetUserMedia): Converting from promise callback to API callbacks.
* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::create): Moving from callback to promise.
(WebCore::UserMediaRequest::UserMediaRequest): Ditto.
(WebCore::UserMediaRequest::didCreateStream): Ditto.
(WebCore::UserMediaRequest::failedToCreateStreamWithConstraintsError): Ditto.
(WebCore::UserMediaRequest::failedToCreateStreamWithPermissionError): Ditto.
* Modules/mediastream/UserMediaRequest.h: Ditto.
* bindings/js/JSDOMPromise.h: Introducing DOMPromiseWithCallback and removing crypto specific header.
(WebCore::DOMPromiseWithCallback::DOMPromiseWithCallback):
(WebCore::Error>::resolve):
(WebCore::Error>::reject):
* bindings/js/JSMediaDevicesCustom.cpp: Removed.
* bindings/js/JSSubtleCryptoCustom.cpp: Updating headers.
LayoutTests:
* fast/mediastream/MediaDevices-getUserMedia-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185873
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
youenn.fablet@crf.canon.fr [Tue, 23 Jun 2015 11:29:32 +0000 (11:29 +0000)]
[Streams API] Implement ReadableStream js source "'cancel" callback
https://bugs.webkit.org/show_bug.cgi?id=146204
Reviewed by Darin Adler.
Source/WebCore:
Calling "cancel" JS function when web app is cancelling a JS readable stream.
Handling of promise returned value in case of async cancel.
Covered by rebased tests.
* bindings/js/ReadableJSStream.cpp:
(WebCore::ReadableJSStream::invoke): Refactoring to pass cancel reason or controller to the JS function.
(WebCore::ReadableJSStream::doStart): Ditto.
(WebCore::startReadableStreamAsync): Renaming readableStream as protectedStream.
(WebCore::createPullResultFulfilledFunction): Ditto.
(WebCore::ReadableJSStream::doPull): Refactoring to pass cancel reason or controller to the JS function.
(WebCore::createCancelResultFulfilledFunction): Cancel promise fullfil callback.
(WebCore::createCancelResultRejectedFunction): Cancel promise reject callback.
(WebCore::ReadableJSStream::doCancel): Calling cancel JS callback and handling promise returned value.
* bindings/js/ReadableJSStream.h: Refactoring to pass cancel reason or controller to the JS function.
LayoutTests:
* streams/reference-implementation/bad-underlying-sources-expected.txt:
* streams/reference-implementation/readable-stream-cancel-expected.txt:
* streams/reference-implementation/readable-stream-expected.txt:
* streams/reference-implementation/readable-stream-reader-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185872
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Jun 2015 10:45:29 +0000 (10:45 +0000)]
Remove build warnings in Tools/DumpRenderTree/TestNetscapePlugIn
https://bugs.webkit.org/show_bug.cgi?id=146007
Patch by Tanay C <tanay.c@samsung.com> on 2015-06-23
Reviewed by Darin Adler.
* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
* DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: Add attribute to functions.
(pluginLogWithWindowObject):
(pluginLogWithArguments):
(pluginLog):
* DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: Add attribute to functions.
(PluginTest::executeScript):
(PluginTest::log):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185871
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@webkit.org [Tue, 23 Jun 2015 09:34:04 +0000 (09:34 +0000)]
[EFL] Unreviewed, gardening.
Mark fast/forms/listbox-visible-size.html to failure and skip
fast/text/arabic-times-new-roman.html because it is for iOS.
* platform/efl/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185870
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 23 Jun 2015 09:03:11 +0000 (09:03 +0000)]
Build fix. A/B testing is broken when continuous builders report revisions out of order.
* public/v2/app.js:
(App.AnalysisTaskController.Ember.Controller.extend.):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185869
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
peavo@outlook.com [Tue, 23 Jun 2015 08:56:40 +0000 (08:56 +0000)]
[WinCairo] WebDownload::initWithRequest is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=146203
Reviewed by Alex Christensen.
Implement method to start download from a IWebURLRequest object.
* WebDownloadCurl.cpp:
(WebDownload::initWithRequest): Implemented.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185868
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 23 Jun 2015 07:10:31 +0000 (07:10 +0000)]
[EFL] Add libhyphen-dev as dependency after r185862
https://bugs.webkit.org/show_bug.cgi?id=146230
Reviewed by Gyuyoung Kim.
* efl/install-dependencies:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185867
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@webkit.org [Tue, 23 Jun 2015 07:00:22 +0000 (07:00 +0000)]
[EFL][CustomProtocol] Do not add duplicated custom scheme
https://bugs.webkit.org/show_bug.cgi?id=146199
Reviewed by Carlos Garcia Campos.
WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol generates
a crash when duplicated scheme is registered on debug mode, or just registers it on release mode.
However application can register duplicate scheme by mistake or on purpose. Thus it would be good
if we don't register it instead of registering it or generating a crash when trying to regiseter
duplicated scheme.
EFL port want to allow user to change registered callback, thus EWK2ContextTest::ewk_context_url_scheme_register()
is modified to test it.
Test: ewk_context_url_scheme_register() in test_ewk2_context.cpp.
* UIProcess/API/efl/ewk_context.h: Added a comment to replace registered callback.
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(EWK2ContextTest::schemeRequestCallback1):
(EWK2ContextTest::schemeRequestCallback2):
(TEST_F):
(EWK2ContextTest::schemeRequestCallback): Deleted.
* UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp:
(WebKit::WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185866
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 23 Jun 2015 06:45:49 +0000 (06:45 +0000)]
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.9.3 release.
.:
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
* gtk/NEWS: Add release notes for 2.9.3.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185864
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 23 Jun 2015 06:33:16 +0000 (06:33 +0000)]
[WTF] Platform.h: use _ABI64 instead of _MIPS_SIM_ABI64 to determine MIPS N64
https://bugs.webkit.org/show_bug.cgi?id=145113
Patch by YunQiang Su <wzssyqa@gmail.com> on 2015-06-22
Reviewed by Csaba Osztrogonác.
* wtf/Platform.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185863
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@navercorp.com [Tue, 23 Jun 2015 05:23:57 +0000 (05:23 +0000)]
[EFL] Hyphenation is not supported
https://bugs.webkit.org/show_bug.cgi?id=89830
Reviewed by Gyuyoung Kim.
.:
* Source/cmake/OptionsEfl.cmake: Added an option for LibHyphen.
Source/WebCore:
Share libHyphen backend of GTK port.
Rebased fast/text/hyphenate-*.html
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* platform/efl/FileSystemEfl.cpp:
(WebCore::listDirectory): Deleted because of lack of functionality.
eina_file_ls returns full directory path so fnmatch fails to check dict file.
This patch reuse Posix implementation instead of EFL port specific function.
* platform/posix/FileSystemPOSIX.cpp: Ditto.
* platform/text/gtk/HyphenationLibHyphen.cpp: Moved to platform/text/hyphen
* platform/text/hyphen/HyphenationLibHyphen.cpp:
Renamed from Source/WebCore/platform/text/gtk/HyphenationLibHyphen.cpp.
(WebCore::scanTestDictionariesDirectoryIfNecessary):
Added PLATFORM guard and EFL implementation for the test directory
Tools:
* efl/jhbuild.modules: Added webkitgtk-test-dicts for layout test.
LayoutTests:
Rebaseline expected results which is related to hyphenation.
* platform/efl/TestExpectations: Unskip hyphenate-locale.html
* platform/efl/fast/text/hyphenate-character-expected.png:
* platform/efl/fast/text/hyphenate-character-expected.txt:
* platform/efl/fast/text/hyphenate-first-word-expected.png:
* platform/efl/fast/text/hyphenate-first-word-expected.txt:
* platform/efl/fast/text/hyphenate-limit-before-after-expected.png:
* platform/efl/fast/text/hyphenate-limit-before-after-expected.txt:
* platform/efl/fast/text/hyphenate-limit-lines-expected.png:
* platform/efl/fast/text/hyphenate-limit-lines-expected.txt:
* platform/efl/fast/text/hyphenate-locale-expected.png: Added.
* platform/efl/fast/text/hyphenate-locale-expected.txt: Added.
* platform/efl/fast/text/hyphens-expected.png:
* platform/efl/fast/text/hyphens-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185862
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 23 Jun 2015 04:10:42 +0000 (04:10 +0000)]
Part 2 of [Xcode] Fold the WebKit2SandboxProfiles-IOSOverride target into the Sandbox Profiles target
https://bugs.webkit.org/show_bug.cgi?id=146197
Rubber-stamped by Anders Carlsson.
* WebKit2.xcodeproj/project.pbxproj: Deleted the WebKit2SandboxProfiles-IOSOverride target.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185861
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 23 Jun 2015 03:54:30 +0000 (03:54 +0000)]
[WK1] WebAllowDenyPolicyListener.denyOnlyThisRequest() should not start a new permission request
https://bugs.webkit.org/show_bug.cgi?id=146228
<rdar://problem/
15179262>
Reviewed by Daniel Bates.
Source/WebCore:
Add Geolocation::resetIsAllowed() API that merely resets
m_allowGeolocation to Unknown, so that we will request the permission
again the next time a position is requested.
* Modules/geolocation/Geolocation.h:
(WebCore::Geolocation::resetIsAllowed):
Source/WebKit/mac:
Call the new Geolocation::resetIsAllowed() API after denying the
current request, instead of calling
Geolocation::resetAllGeolocationPermission(). In addition to resetting
m_allowGeolocation to Unknown, the latter would also start a new
permission request. However, for
WebAllowDenyPolicyListener.denyOnlyThisRequest(), we really only want
to deny the current request and then reset m_allowGeolocation to
Unknown so that permission is requested again later if the app requests
a position again.
The previous implementation meant that if the client application keeps
calling WebAllowDenyPolicyListener.denyOnlyThisRequest(), we would end
up in an infinite loop (requesting for permission), even though the
application did not make any new geolocation requests.
* WebCoreSupport/WebGeolocationClient.mm:
(-[WebGeolocationPolicyListener denyOnlyThisRequest]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185860
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Jun 2015 03:47:24 +0000 (03:47 +0000)]
Get rid of factory json files in benchmark_runner
https://bugs.webkit.org/show_bug.cgi?id=146175
Patch by Dewei Zhu <dewei_zhu@apple.com> on 2015-06-22
Reviewed by Ryosuke Niwa.
Get rid of factory json files in benchmark_runner and refactoring the code.
* Scripts/webkitpy/benchmark_runner/benchmark_builder/__init__.py:
(benchmark_builder_loader):
* Scripts/webkitpy/benchmark_runner/benchmark_builder/benchmark_builder_factory.py:
(BenchmarkBuilderFactory):
* Scripts/webkitpy/benchmark_runner/benchmark_builder/benchmark_builders.json: Removed.
* Scripts/webkitpy/benchmark_runner/benchmark_builder/generic_benchmark_builder.py:
(GenericBenchmarkBuilder):
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.__init__):
(BenchmarkRunner.execute):
* Scripts/webkitpy/benchmark_runner/browser_driver/__init__.py:
(browser_driver_loader):
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
(BrowserDriver):
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py:
(BrowserDriverFactory):
(BrowserDriverFactory.available_platforms):
(BrowserDriverFactory.available_browsers):
(BrowserDriverFactory.add_browser_driver):
(BrowserDriverFactory.create):
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_drivers.json: Removed.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
(OSXBrowserDriver):
(OSXBrowserDriver.prepareEnv):
(OSXBrowserDriver.terminateProcesses):
(OSXBrowserDriver.screenSize):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeDriver):
(OSXChromeCanaryDriver):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
(OSXFirefoxDriver):
(OSXFirefoxNightlyDriver):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver):
* Scripts/webkitpy/benchmark_runner/generic_factory.py:
(GenericFactory.create):
(GenericFactory.add):
(GenericFactory.iterateGetItem): Deleted.
* Scripts/webkitpy/benchmark_runner/http_server_driver/__init__.py:
(http_server_driver_loader):
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py:
(HTTPServerDriver):
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver_factory.py:
(HTTPServerDriverFactory):
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_drivers.json: Removed.
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver):
* Scripts/webkitpy/benchmark_runner/utils.py:
(is_subclass):
(load_subclasses):
(ModuleNotFoundError): Deleted.
(loadModule): Deleted.
(loadJSONFromFile): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185859
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 23 Jun 2015 01:59:08 +0000 (01:59 +0000)]
ASSERT(!m_zOrderListsDirty) when mousing over web view with incremental rendering suppressed
https://bugs.webkit.org/show_bug.cgi?id=146225
Reviewed by Zalan Bujtas.
Update RenderLayer's z-order lists when hit testing. There's no guarantee that they've
been updated; this happens to work most of the time because painting updates them,
but if incremental rendering is suppressed, we may not have painted yet.
Easy to hit on webkit.org in MiniBrowser, but I wasn't able to make a reduced testcase.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::updateLayerListsIfNeeded): Flip the order of the tests, since checking
dirty bits is cheaper than calling isStackingContext().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185858
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 23 Jun 2015 01:59:05 +0000 (01:59 +0000)]
Make it possible to enable incremental rendering suppression in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=146223
Reviewed by Tim Horton.
Add a menu item to enable incremental rendering suppression to MiniBrowser.
For WK1, this just toggles a pref, and takes effect immediately.
For WK2, this is a WKConfiguration property, so only affects new web views.
Also remove a toolbar item connection to toggleUseMinimumViewSize: that caused
logging on launch.
* MiniBrowser/mac/AppDelegate.m:
(defaultConfiguration):
* MiniBrowser/mac/BrowserWindow.xib:
* MiniBrowser/mac/SettingsController.h:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleIncrementalRenderingSuppressed:]):
(-[SettingsController incrementalRenderingSuppressed]):
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController didChangeSettings]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185857
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Tue, 23 Jun 2015 01:51:05 +0000 (01:51 +0000)]
Rename PlatformCA*Mac to PlatformCA*Cocoa
https://bugs.webkit.org/show_bug.cgi?id=146224
<rdar://problem/
21497182>
Reviewed by Simon Fraser.
Rename PlatformCALayerMac and related files in platform/graphics/ca/mac
to the more accurate Cocoa suffix.
Source/WebCore:
* WebCore.xcodeproj/project.pbxproj:
* page/mac/ServicesOverlayController.mm:
* platform/graphics/ca/GraphicsLayerCA.cpp:
* platform/graphics/ca/PlatformCAAnimation.h:
* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp: Renamed from Source/WebCore/platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp.
* platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.h: Renamed from Source/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.h.
* platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.mm: Renamed from Source/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm.
* platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm: Renamed from Source/WebCore/platform/graphics/ca/mac/PlatformCAFiltersMac.mm.
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.h: Renamed from Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.h.
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm: Renamed from Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm.
* platform/graphics/ca/cocoa/WebTiledBackingLayer.h: Renamed from Source/WebCore/platform/graphics/ca/mac/WebTiledBackingLayer.h.
* platform/graphics/ca/cocoa/WebTiledBackingLayer.mm: Renamed from Source/WebCore/platform/graphics/ca/mac/WebTiledBackingLayer.mm.
* platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
* platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
* platform/graphics/ca/mac/WebTiledBackingLayer.mm:
Source/WebKit2:
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::filtersCanBeComposited):
* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
(WebKit::PlatformCALayerRemoteCustom::create):
* WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185856
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 23 Jun 2015 01:24:02 +0000 (01:24 +0000)]
Delegates should be formal protocols
https://bugs.webkit.org/show_bug.cgi?id=146222
rdar://problem/
17380856
Reviewed by Dan Bernstein.
Flip the switch on OS X and make delegates formal protocols.
* postprocess-headers.sh:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185855
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Tue, 23 Jun 2015 01:09:15 +0000 (01:09 +0000)]
[cssjit] Disable compiling scrollbar pseudoclass selectors
https://bugs.webkit.org/show_bug.cgi?id=146220
Reviewed by Benjamin Poulain.
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addScrollbarPseudoClassType):
Don't compile selectors with scrollbar pseudoclasses.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185854
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Tue, 23 Jun 2015 00:51:44 +0000 (00:51 +0000)]
[ES6] Allow trailing comma in ArrayBindingPattern and ObjectBindingPattern
https://bugs.webkit.org/show_bug.cgi?id=146192
Reviewed by Darin Adler.
Source/JavaScriptCore:
According to the ES6 spec, trailing comma in ArrayBindingPattern and ObjectBindingPattern is allowed.
And empty ArrayBindingPattern and ObjectBindingPattern is also allowed.
This patch allows trailing comma and empty binding patterns.
* bytecompiler/NodesCodegen.cpp:
(JSC::ArrayPatternNode::bindValue):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseDeconstructionPattern):
* tests/stress/trailing-comma-in-patterns.js: Added.
(shouldBe):
(iterator):
LayoutTests:
* js/object-literal-syntax-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185853
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 23 Jun 2015 00:47:51 +0000 (00:47 +0000)]
A/B testing results should be shown even if they were submitted to different platforms
https://bugs.webkit.org/show_bug.cgi?id=146219
Reviewed by Andreas Kling.
Fetch A/B testing results regardless of the platform to which results are submitted
by providing the platform ID to which the results were submitted for each test group.
* public/api/test-groups.php:
(main): Include the platform id in the test groups.
* public/v2/analysis.js:
(App.TestGroup._fetchTestResults): Fetch results from the platform associated with the group.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185852
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Mon, 22 Jun 2015 23:32:30 +0000 (23:32 +0000)]
-webkit-clip-path clips incorrectly if the element bounds go beyond the top edge of the page
https://bugs.webkit.org/show_bug.cgi?id=146218
rdar://problem/
21127840
Reviewed by Zalan Bujtas.
Source/WebCore:
The clip path is computed using the RenderLayer's bounding box, so needs to be offset
by the offsetFromRenderer when set on the mask layer.
Test: compositing/masks/compositing-clip-path-origin.html
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateMaskingLayerGeometry):
LayoutTests:
Test clip path on layers with non-zero bounds offsetFromRenderer because of box shadow,
or vertical writing mode.
* compositing/masks/compositing-clip-path-origin-expected.html: Added.
* compositing/masks/compositing-clip-path-origin.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185851
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Mon, 22 Jun 2015 23:02:04 +0000 (23:02 +0000)]
fast/text/justify-ideograph-{complex,simple,vertical}.html tests are flaky on El Capitan Debug builds
Tracked by <rdar://problem/
21486062>.
* platform/mac/TestExpectations: Mark tests as flaky:
- fast/text/justify-ideograph-complex.html
- fast/text/justify-ideograph-simple.html
- fast/text/justify-ideograph-vertical.html
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185850
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 22 Jun 2015 22:36:14 +0000 (22:36 +0000)]
Fix build.
* wtf/threads/BinarySemaphore.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185849
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Mon, 22 Jun 2015 22:22:54 +0000 (22:22 +0000)]
Web sockets should be treated as active mixed content
https://bugs.webkit.org/show_bug.cgi?id=140624
Reviewed by Sam Weinig.
Source/WebCore:
Tests: http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe.html
http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame.html
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect): Block ws:// WebSocket connections from https:// pages, and
emit the onerror event after doing so.
* platform/SchemeRegistry.cpp:
(WebCore::secureSchemes): Add wss:// to the list of secure schemes.
LayoutTests:
* http/tests/security/mixedContent/resources/frame-with-insecure-websocket.html: Added.
* http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe-expected.txt: Added.
* http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe.html: Added.
* http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame-expected.txt: Added.
* http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185848
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 22 Jun 2015 22:07:20 +0000 (22:07 +0000)]
Get rid of the Windows specific BinarySemaphore implementation
https://bugs.webkit.org/show_bug.cgi?id=146216
Reviewed by Andreas Kling.
The fact that the Windows implementation uses a HEVENT internally was only useful
to the Windows port of WebKit2; we can get rid of it now.
* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* wtf/threads/BinarySemaphore.h:
(WTF::BinarySemaphore::event): Deleted.
* wtf/threads/win/BinarySemaphoreWin.cpp: Removed.
(WTF::BinarySemaphore::BinarySemaphore): Deleted.
(WTF::BinarySemaphore::~BinarySemaphore): Deleted.
(WTF::BinarySemaphore::signal): Deleted.
(WTF::BinarySemaphore::wait): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185847
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Mon, 22 Jun 2015 22:06:45 +0000 (22:06 +0000)]
Element with blur backdrop-filter shows edge duplication and dark edges
https://bugs.webkit.org/show_bug.cgi?id=146215
<rdar://problem/
20367695>
Reviewed by Tim Horton.
Source/WebCore:
The input images to backdrop filters should duplicate their edge pixels
outwards, rather than using transparent pixels. This is a flag we
set on the Gaussian blur, but means we have to remember if the
FilterOperations list came from a regular filter or a backdrop filter.
Test: css3/filters/backdrop/blur-input-bounds.html
* css/CSSPropertyNames.in: New custom convertor for backdrop-filter.
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertBackdropFilterOperations): New convertor
that sets the backdrop flag, but is otherwise the same as a normal filter
convertor.
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFilterOperations): Inherit the backdrop flag if either of our
inputs has it.
* platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Set the inputNormalizeEdges
key on the CAFilter if necessary.
* platform/graphics/filters/FilterOperations.cpp: Add a new flag indicating if
these operations are intended for backdrops.
(WebCore::FilterOperations::operator=):
(WebCore::FilterOperations::operator==):
* platform/graphics/filters/FilterOperations.h:
(WebCore::FilterOperations::isUsedForBackdropFilters):
(WebCore::FilterOperations::setUsedForBackdropFilters):
LayoutTests:
Add a pixel test to show that the input images to backdrop filters should duplicate their
edge pixels. Unfortunately this is not reproducible with normal filters, so it
can't be a reference test.
* css3/filters/backdrop/blur-input-bounds.html: Added.
* platform/mac/css3/filters/backdrop/blur-input-bounds-expected.png: Added.
* platform/mac/css3/filters/backdrop/blur-input-bounds-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185846
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 22 Jun 2015 22:02:09 +0000 (22:02 +0000)]
Web Inspector: gaps between sections of the styles sidebar rules tab confusing, should say "Media: all"
https://bugs.webkit.org/show_bug.cgi?id=142918
Patch by Devin Rousso <drousso@apple.com> on 2015-06-22
Reviewed by Timothy Hatcher.
* UserInterface/Views/RulesStyleDetailsPanel.css:
(.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) ~ .label):
Now properly adds padding to filtered labels.
(.sidebar > .panel.details.css-style > .content.filter-in-progress .label ~ .label): Deleted.
* UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.refresh): If a section of CSS rules has no media or inheritance, add
a label that says "Media: all" above the section.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185845
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 22 Jun 2015 21:33:12 +0000 (21:33 +0000)]
[TextIndicator] Text shifts one pixel to the left when I force click to bring up Lookup in Mail messages
https://bugs.webkit.org/show_bug.cgi?id=146214
<rdar://problem/
20782970>
Reviewed by Dean Jackson.
* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]):
(WebCore::TextIndicatorWindow::setTextIndicator):
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]): Deleted.
When the WebView is at a nonintegral position, we can end up needing a TextIndicator
with a nonintegral position. We need to round the window position, so we need to apply
the fractional part to the indicator layers inside, not to the window.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185844
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 22 Jun 2015 21:11:25 +0000 (21:11 +0000)]
Simplify Connection::SyncMessageState
https://bugs.webkit.org/show_bug.cgi?id=146213
Reviewed by Andreas Kling.
Since we no longer support Connections dispatching to multiple threads, we can make SyncMessageState
into a singleton and get rid of the RunLoop -> SyncMessageState hash map.
* Platform/IPC/Connection.cpp:
(IPC::Connection::SyncMessageState::singleton):
(IPC::Connection::SyncMessageState::SyncMessageState):
(IPC::Connection::SyncMessageState::processIncomingMessage):
(IPC::Connection::SyncMessageState::dispatchMessages):
(IPC::Connection::waitForSyncReply):
(IPC::Connection::processIncomingSyncReply):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::connectionDidClose):
(IPC::Connection::SyncMessageState::syncMessageStateMap): Deleted.
(IPC::Connection::SyncMessageState::syncMessageStateMapMutex): Deleted.
(IPC::Connection::SyncMessageState::getOrCreate): Deleted.
(IPC::Connection::SyncMessageState::~SyncMessageState): Deleted.
(IPC::Connection::Connection): Deleted.
* Platform/IPC/Connection.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185843
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Mon, 22 Jun 2015 20:53:26 +0000 (20:53 +0000)]
[iOS] Arabic text styled with Georgia is rendered as boxes
https://bugs.webkit.org/show_bug.cgi?id=145681
<rdar://problem/
21169844>
Reviewed by Darin Adler.
Source/WebCore:
Georgia doesn't support Arabic, so we ask CoreText what font does support Arabic. It returns
TimesNewRomanPSMT. However, WebKit explicitly disallows this font on iOS. Therefore, instead
of using TimesNewRomanPSMT, we will simply just use GeezaPro.
Test: fast/text/arabic-times-new-roman.html
* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::FontCache::systemFallbackForCharacters):
* platform/graphics/Font.h: Let FontCacheIOS call fontFamilyShouldNotBeUsedForArabic()
* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::fontFamilyShouldNotBeUsedForArabic):
LayoutTests:
* fast/text/arabic-times-new-roman.html: Added.
* platform/ios-simulator/fast/text/arabic-times-new-roman-expected.txt: Added.
* platform/ios-simulator/fast/text/arabic-times-new-roman-expected.png: Added.
* platform/mac-mavericks/fast/text/arabic-times-new-roman-expected.txt: Added.
* platform/mac/fast/text/arabic-times-new-roman-expected.txt: Added.
* platform/mac/fast/text/arabic-times-new-roman-expected.png: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185842
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Mon, 22 Jun 2015 20:49:53 +0000 (20:49 +0000)]
Unreviewed non-mac debug build fix after r185840.
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequest):
Added enable flag around assertion.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185841
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Mon, 22 Jun 2015 20:10:50 +0000 (20:10 +0000)]
[Content Extensions] Add SPI to reload without content blocking.
https://bugs.webkit.org/show_bug.cgi?id=146128
rdar://problem/
20351903
Reviewed by Sam Weinig.
Source/WebCore:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadResource):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequest):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::open):
* page/Page.h:
(WebCore::Page::userContentController):
(WebCore::Page::userContentExtensionsEnabled):
(WebCore::Page::setUserContentExtensionsEnabled):
(WebCore::Page::group):
* page/UserContentController.cpp:
(WebCore::UserContentController::removeAllUserContentExtensions):
(WebCore::UserContentController::processContentExtensionRulesForLoad):
(WebCore::UserContentController::actionsForResourceLoad):
* page/UserContentController.h:
Source/WebKit2:
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetCustomUserAgent):
(WKPageSetUserContentExtensionsEnabled):
(WKPageSupportsTextEncoding):
* UIProcess/API/C/WKPage.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _customUserAgent]):
(-[WKWebView _setUserContentExtensionsEnabled:]):
(-[WKWebView _userContentExtensionsEnabled]):
(-[WKWebView _setCustomUserAgent:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setShouldScaleViewToFitDocument):
(WebKit::WebPageProxy::setUserContentExtensionsEnabled):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::userContentExtensionsEnabled):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::reinitializeWebPage):
(WebKit::WebPage::setShouldScaleViewToFitDocument):
(WebKit::WebPage::setUserContentExtensionsEnabled):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
Pass a boolean from the API to WebCore.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185840
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 22 Jun 2015 19:52:51 +0000 (19:52 +0000)]
Remove m_clientRunLoop from IPC::Connection
https://bugs.webkit.org/show_bug.cgi?id=146212
Reviewed by Sam Weinig.
We only ever create connections whose messages are dispatched to the main run loop, so we can
vastly simplify the code by only allowing messages to be dispatched there.
* DatabaseProcess/DatabaseToWebProcessConnection.cpp:
(WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
* Platform/IPC/Connection.cpp:
(IPC::Connection::createServerConnection):
(IPC::Connection::createClientConnection):
(IPC::Connection::Connection):
(IPC::Connection::addWorkQueueMessageReceiver):
(IPC::Connection::removeWorkQueueMessageReceiver):
(IPC::Connection::waitForMessage):
(IPC::Connection::sendSyncMessage):
(IPC::Connection::sendSyncMessageFromSecondaryThread):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::connectionDidClose):
(IPC::Connection::dispatchDidReceiveInvalidMessage):
(IPC::Connection::enqueueIncomingMessage):
(IPC::Connection::wakeUpRunLoop):
* Platform/IPC/Connection.h:
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::receiveSourceEventHandler):
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::WebProcessConnection):
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::initialize):
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::didFinishLaunching):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didFinishLaunching):
* WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
(WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::NetworkProcessConnection):
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::PluginProcessConnection):
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::createInspectorPage):
* WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::establishConnection):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185839
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Mon, 22 Jun 2015 19:35:19 +0000 (19:35 +0000)]
REGRESSION(r169105) Dangling renderer pointer in SelectionSubtreeRoot::SelectionSubtreeData.
https://bugs.webkit.org/show_bug.cgi?id=146116
rdar://problem/
20959369
Reviewed by Brent Fulgham.
This patch ensures that we don't adjust the selection unless the visual selection still matches this subtree root.
When multiple selection roots are present we need to ensure that a RenderObject
only shows up in one of them.
RenderView::splitSelectionBetweenSubtrees(), as the name implies, splits the
selection and sets the selection range (start/end) on each selection root.
However, SelectionSubtreeRoot::adjustForVisibleSelection() later recomputes the range
based on visible selection and that could end up collecting renderers as selection start/end
from another selection subtree.
RenderObject's holds the last selection state (RenderObject::setSelectionState).
If we set a renderer first as "on selection border" and later "inside" using multiple selection roots,
we can't clean up selections properly when this object gets destroyed.
One of the roots ends up with a dangling RenderObject pointer.
Source/WebCore:
Test: fast/regions/crash-when-renderer-is-in-multiple-selection-subtrees.html
* rendering/SelectionSubtreeRoot.cpp:
(WebCore::SelectionSubtreeRoot::adjustForVisibleSelection):
LayoutTests:
* fast/regions/crash-when-renderer-is-in-multiple-selection-subtrees-expected.txt: Added.
* fast/regions/crash-when-renderer-is-in-multiple-selection-subtrees.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185838
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 22 Jun 2015 19:30:46 +0000 (19:30 +0000)]
Crashes in hit testing under WebPage::acceptsFirstMouse() while handling sync message in plug-in teardown
https://bugs.webkit.org/show_bug.cgi?id=146211
rdar://problem/
17180615
Reviewed by Sam Weinig.
If we're inside a sendSync message when we're being called, just bail.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::acceptsFirstMouse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185837
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Mon, 22 Jun 2015 17:53:43 +0000 (17:53 +0000)]
Web Inspector: Consider making read-only style rules have a darker background
https://bugs.webkit.org/show_bug.cgi?id=145983
Reviewed by Timothy Hatcher.
* UserInterface/Views/CSSStyleDeclarationSection.css:
(.style-declaration-section:not(.locked)):
(.style-declaration-section): Deleted.
* UserInterface/Views/CSSStyleDeclarationTextEditor.css:
(.css-style-text-editor.read-only > .CodeMirror):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185836
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Mon, 22 Jun 2015 17:47:33 +0000 (17:47 +0000)]
Web Inspector: Unable to select text of user input messages in the console
https://bugs.webkit.org/show_bug.cgi?id=145888
Reviewed by Timothy Hatcher.
* UserInterface/Views/ConsoleMessageView.css:
(.console-user-command > .console-message-text):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185835
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 22 Jun 2015 17:41:59 +0000 (17:41 +0000)]
Do not exit fullscreen when starting PiP since this is done automatically.
https://bugs.webkit.org/show_bug.cgi?id=144871
Patch by Jeremy Jones <jeremyj@apple.com> on 2015-06-22
Reviewed by Darin Adler.
Since we don't explicitly exit fullscreen, update state in shouldExitFullscreenWithReason()
* platform/ios/WebVideoFullscreenInterfaceAVKit.h: Declare shouldExitFullscreenWithReason().
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerController playerViewController:shouldExitFullScreenWithReason:]): Forward to WebVideoFullscreenInterfaceAVKit.
(WebVideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason): Added.
(WebVideoFullscreenInterfaceAVKit::willStartPictureInPicture): Remove enter fullscreen code.
* platform/spi/cocoa/AVKitSPI.h: Add missing enums.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185834
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Mon, 22 Jun 2015 17:11:54 +0000 (17:11 +0000)]
Run CDjs as part of JSC stress testing
https://bugs.webkit.org/show_bug.cgi?id=146174
Reviewed by Geoffrey Garen.
PerformanceTests:
* JetStream/cdjs/cdjs-tests.yaml: Added. This tells JSC stress tests what tests to run. It uses new syntax ("tests" being a list) that I add in this change.
* JetStream/cdjs/main.js: Mark this as a slow test.
* JetStream/create.rb: Don't copy the JSC stress tests artifacts into the JetStream bundle.
Tools:
* Scripts/run-javascriptcore-tests:
(runJSCStressTests): Make this aware of the cdjs-tests.yaml.
* Scripts/run-jsc-stress-tests:
- Teach this about tests that indicate error by returning an error code while also having lots of output even when they succeed.
- Add the ability to have "tests" be a list of tests rather than just one test. This could also be a list of directories that have tests.
- Fix a bug with bundle copying: whether the $collection should have the basename appended depends on whether we copy into bundleDir.dirname, not on whether absoluteCollection is a directory.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185833
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 22 Jun 2015 17:04:08 +0000 (17:04 +0000)]
Part 1 of [Xcode] Fold the WebKit2SandboxProfiles-IOSOverride target into the Sandbox Profiles target
https://bugs.webkit.org/show_bug.cgi?id=146197
Reviewed by Anders Carlsson.
* Configurations/SandboxProfiles.xcconfig: Added. Defines INSTALL_PATH based on the value
of WK_INSTALL_OVERRIDE_SANDBOX_PROFILES.
* WebKit2.xcodeproj/project.pbxproj: Use SandboxProfiles.xcconfig for the Sandbox Profiles
target, and change the destination path in its Copy Files build phase to INSTALL_PATH.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185832
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Mon, 22 Jun 2015 16:17:04 +0000 (16:17 +0000)]
AX: UI Automation cannot find AutoFill or search cancel buttons
https://bugs.webkit.org/show_bug.cgi?id=145241
<rdar://problem/
21051411>
Reviewed by Chris Fleizach.
Source/WebCore:
Add support for hit testing the search cancel button and AutoFill button so that
they can be accessed by UI Automation.
Currently the accessibility hit test machinery ignores nodes in a shadow tree.
So, it neither finds the <input type="search"> cancel button nor the AutoFill button
when it performs a hit test. Therefore these buttons cannot be accessed using
UI Automation.
Tests: accessibility/hit-test-input-auto-fill-button.html
accessibility/hit-test-input-search-cancel-button.html
accessibility/input-search-cancel-button.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityTextFieldDecorationHitTest): Added; returns
the AccessibilityObject for the search cancel button or AutoFill text field decoration as applicable.
(WebCore::AccessibilityRenderObject::accessibilityHitTest): Check whether the hit node
is a text field decoration.
LayoutTests:
Add tests to ensure that there exists an accessibility element for the
search cancel button and that it can be hit using a cursor position. Also
add a test to ensue that the AutoFill button can be hit using a cursor position.
* accessibility/hit-test-input-auto-fill-button-expected.txt: Added.
* accessibility/hit-test-input-auto-fill-button.html: Copied from LayoutTests/accessibility/input-auto-fill-button.html.
* accessibility/hit-test-input-search-cancel-button-expected.txt: Added.
* accessibility/hit-test-input-search-cancel-button.html: Added.
* accessibility/input-search-cancel-button-expected.txt: Added.
* accessibility/input-search-cancel-button.html: Copied from LayoutTests/accessibility/input-auto-fill-button.html.
* accessibility/resources/shouldBeAccessibleByCursor.js: Added.
(shouldBeAccessibleByCursor): Tests whether an AccessibilityUIElement can be hit
using its screen position.
* platform/wk2/TestExpectations: Mark tests hit-test-input-{auto-fill, search-cancel}-button.html
as failing due to <https://bugs.webkit.org/show_bug.cgi?id=71298>.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185828
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Mon, 22 Jun 2015 14:32:48 +0000 (14:32 +0000)]
Crash replacing TabDocument in MobileSafari at WebKit: -[WKWebView(WKPrivate) _beginAnimatedResizeWithUpdates:]
https://bugs.webkit.org/show_bug.cgi?id=146201
Reviewed by Dan Bernstein.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
No repro but if for some reason [_contentView bounds] width is zero we'll compute +Inf targetScale
and then NaN contentOffset.x. Verified in lldb that this gives the exact crash signature seen.
Fix by checking that [_contentView bounds] is not empty like is done with other inputs.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185827
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
youenn.fablet@crf.canon.fr [Mon, 22 Jun 2015 13:59:08 +0000 (13:59 +0000)]
[Streams API] Implement ReadableStream cancel (abstract part)
https://bugs.webkit.org/show_bug.cgi?id=146111
Reviewed by Darin Adler.
Source/WebCore:
This patch implements ReadableStream and ReadableStreamReader cancel.
The reader delegates cancellation to its stream.
This patch also ensures that controller.close() will not throw in case cancellation is on-going.
A follow-up patch will implement the calling of 'cancel' JS callback for JS sources.
Covered by rebased tests.
* Modules/streams/ReadableStream.cpp:
(WebCore::ReadableStream::cancel): Checks whether locked or not before cancelling.
(WebCore::ReadableStream::cancelNoCheck): Cancel without lock check.
(WebCore::ReadableStream::notifyCancelSucceeded): Async cancel callback.
(WebCore::ReadableStream::notifyCancelFailed): Ditto.
* Modules/streams/ReadableStream.h:
* Modules/streams/ReadableStream.idl: Cleaned up IDL.
* Modules/streams/ReadableStreamReader.cpp:
(WebCore::ReadableStreamReader::cancel):
* Modules/streams/ReadableStreamReader.h:
* Modules/streams/ReadableStreamReader.idl: Cleaned up IDL
* bindings/js/JSReadableStreamControllerCustom.cpp:
(WebCore::JSReadableStreamController::close):
* bindings/js/JSReadableStreamCustom.cpp:
(WebCore::JSReadableStream::cancel):
* bindings/js/JSReadableStreamReaderCustom.cpp:
(WebCore::JSReadableStreamReader::cancel):
* bindings/js/ReadableJSStream.cpp:
(WebCore::ReadableJSStream::doCancel):
* bindings/js/ReadableJSStream.h:
LayoutTests:
Rebasing expectations.
* streams/reference-implementation/bad-underlying-sources-expected.txt:
* streams/reference-implementation/readable-stream-cancel-expected.txt:
* streams/reference-implementation/readable-stream-expected.txt:
* streams/reference-implementation/readable-stream-reader-expected.txt:
* streams/reference-implementation/readable-stream-templated-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185826
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 22 Jun 2015 12:42:33 +0000 (12:42 +0000)]
REGRESSION(r182303): [GTK] Context menu API is broken since r182303
https://bugs.webkit.org/show_bug.cgi?id=146202
Reviewed by Žan Doberšek.
The problem is that ContextMenuclient API changed in r182303, but
we didn't notice it either, and the default handler for
getContextMenuFromProposedMenu was executed. An override keyword
would have caught this.
* UIProcess/API/gtk/WebKitContextMenuClient.cpp: Build a Vector of
WebContextMenuItemData as expected by our API, and add add
override keyword to ensure this doesn't happen again.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185825
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Mon, 22 Jun 2015 12:06:46 +0000 (12:06 +0000)]
[WK2] ConnectionUnix should use FastMalloc to allocate on-heap resources
https://bugs.webkit.org/show_bug.cgi?id=146143
Reviewed by Carlos Garcia Campos.
IPC handling in Unix-specific IPC::Connection implementation should use
FastMalloc to allocate on-heap resources, instead of allocating via the
system allocator.
The AttachmentInfo class is marked as allocatable through FastMalloc.
That way it can be allocated through FastMalloc while still handled
through std::unique_ptr<>.
The char[] arrays in readBytesFromSocket() and Connection::sendOutgoingMessage()
are now handled through a MallocPtr<> object.
In Connection::sendOutgoingMessage(), both the AttachmentInfo[] and char[]
arrays are now only allocated if there are actual attachments contained
in the message. The code that's conditioned with a non-empty attachments
Vector is now also grouped together, in a single branch.
* Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::readBytesFromSocket):
(IPC::Connection::sendOutgoingMessage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185824
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Mon, 22 Jun 2015 11:55:45 +0000 (11:55 +0000)]
[CMake] Add support for building with various sanitizer tools
https://bugs.webkit.org/show_bug.cgi?id=131941
Reviewed by Martin Robinson.
* Source/PlatformGTK.cmake: Don't generate any documentation
when compiling with sanitizers enabled.
* Source/cmake/OptionsCommon.cmake: Allow linking with
undefined symbols when compiling with sanitizers enabled.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185823
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@webkit.org [Mon, 22 Jun 2015 10:03:32 +0000 (10:03 +0000)]
[EFL] test_ewk2_application_cache_manager has been failed since r185527
https://bugs.webkit.org/show_bug.cgi?id=146016
Reviewed by Csaba Osztrogonác.
* UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp:
(TEST_F): Disable this test for now. This test will be enabled again.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185822
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
youenn.fablet@crf.canon.fr [Mon, 22 Jun 2015 08:57:58 +0000 (08:57 +0000)]
[Streams API] Correct releaseLock test in readable-stream-templated.html
https://bugs.webkit.org/show_bug.cgi?id=146101
Reviewed by Darin Adler.
* streams/reference-implementation/readable-stream-templated-expected.txt: Rebased changed test.
* streams/reference-implementation/readable-stream-templated.html: Removed testharness wrapper around function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185821
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adam.bergkvist@ericsson.com [Mon, 22 Jun 2015 08:36:38 +0000 (08:36 +0000)]
WebRTC: Navigator.webkitGetUserMedia() requires three arguments
https://bugs.webkit.org/show_bug.cgi?id=146022
Reviewed by Eric Carlson.
Source/WebCore:
Updated custom binding to make the third error callback argument
mandatory. Updated and unskipped three tests (for the GTK+ port).
* bindings/js/JSNavigatorCustom.cpp:
(WebCore::JSNavigator::webkitGetUserMedia):
LayoutTests:
Updated and unskipped three existing tests.
* fast/mediastream/argument-types-expected.txt:
* fast/mediastream/getusermedia-expected.txt:
* fast/mediastream/getusermedia.html:
* fast/mediastream/script-tests/argument-types.js:
* platform/gtk/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185820
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 22 Jun 2015 07:57:58 +0000 (07:57 +0000)]
Unreviewed. Fix GTK+ build after r185818.
Actually rollout r185320.
* platform/network/soup/DNSSoup.cpp:
(WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
(WebCore::DNSResolveQueue::platformResolve):
(WebCore::gotProxySettingsCallback): Deleted.
(WebCore::DNSResolveQueue::platformMaybeResolveHost): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185819
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Mon, 22 Jun 2015 06:32:13 +0000 (06:32 +0000)]
Page load performance regression due to bugs.webkit.org/show_bug.cgi?id=145542
https://bugs.webkit.org/show_bug.cgi?id=146198
Unreviewed rollout.
Source/WebCore:
* platform/network/DNSResolveQueue.cpp:
(WebCore::DNSResolveQueue::DNSResolveQueue):
(WebCore::DNSResolveQueue::isUsingProxy):
(WebCore::DNSResolveQueue::add):
(WebCore::DNSResolveQueue::timerFired):
* platform/network/DNSResolveQueue.h:
* platform/network/cf/DNSCFNet.cpp:
(WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
(WebCore::clientCallback):
(WebCore::DNSResolveQueue::platformResolve):
(WebCore::proxyIsEnabledInSystemPreferences): Deleted.
(WebCore::isUsingProxy): Deleted.
(WebCore::DNSResolveQueue::platformMaybeResolveHost): Deleted.
* platform/network/soup/DNSSoup.cpp:
Source/WebKit2:
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_prefetch_dns):
Source/WTF:
* wtf/glib/GUniquePtr.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185818
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 22 Jun 2015 04:48:04 +0000 (04:48 +0000)]
WKApplicationCacheManagerDeleteEntriesForOrigin() has wrong WebsiteDataTypes.
https://bugs.webkit.org/show_bug.cgi?id=146180
Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-06-21
Reviewed by Sam Weinig.
Modify to use correct WebsiteDataTypes in WKApplicationCacheManagerDeleteEntriesForOrigin()
* UIProcess/API/C/WKApplicationCacheManager.cpp:
(WKApplicationCacheManagerDeleteEntriesForOrigin):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185817
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Mon, 22 Jun 2015 04:25:18 +0000 (04:25 +0000)]
REGRESSION (r172975): navigator.language unable to tell region for Traditional Chinese users
https://bugs.webkit.org/show_bug.cgi?id=146121
rdar://problem/
21395180
Reviewed by Darin Adler.
Source/WebCore:
Revert to previous behavior, which is wrong in many ways, but not as wrong as the new one.
* platform/mac/Language.mm:
(WebCore::httpStyleLanguageCode):
(WebCore::platformUserPreferredLanguages):
* platform/spi/cf/CFBundleSPI.h:
Tools:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/NavigatorLanguage.mm: Added.
(-[NavigatorLanguageDelegate webView:didFinishLoadForFrame:]):
(TestWebKitAPI::overrideAppleLanguages):
(TestWebKitAPI::languageForSystemLanguage):
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185816
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Mon, 22 Jun 2015 03:25:48 +0000 (03:25 +0000)]
fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html is slow on Mavericks WK1 Debug builds
The Flakiness Dashboard says that this test times out, but only
on Mavericks WK1 Debug builds (and the leaks bot):
<http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=fast%2Fcanvas%2Fwebgl%2Ftex-image-and-sub-image-2d-with-video.html>
* platform/mac-wk1/TestExpectations: Mark test as slow on
Mavericks Debug builds:
- fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185815
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 21 Jun 2015 23:44:07 +0000 (23:44 +0000)]
<rdar://problem/
21444762> REGRESSION (r184215): Plug-in services crash on launch on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=146195
Reviewed by Sam Weinig.
* Configurations/PluginService.32.xcconfig: Changed the Yosemite definition of
INFOPLIST_FILE such that it would also apply to the macosx10.10.internal SDK.
* Configurations/PluginService.64.xcconfig: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185814
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Sun, 21 Jun 2015 21:14:51 +0000 (21:14 +0000)]
Give Node::didNotifySubtreeInsertions() a better name
https://bugs.webkit.org/show_bug.cgi?id=146170
Reviewed by Darin Adler.
didNotifySubtreeInsertions() is not a good name. It sounds like we are notifying the subtree insertions, which doesn't make sense.
This function is really about notifying the Node that the subtree it's a part of has finished being inserted into the DOM
(i.e. all nodes have received their call to insertedInto()). Change the name to finishedInsertingSubtree() to better reflect this.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::notifyChildInserted):
* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
* dom/Element.cpp:
(WebCore::Element::addShadowRoot):
* dom/Node.h:
(WebCore::Node::finishedInsertingSubtree): Renamed from didNotifySubtreeInsertions.
(WebCore::Node::didNotifySubtreeInsertions): Renamed to finishedInsertingSubtree.
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::finishedInsertingSubtree): Renamed from didNotifySubtreeInsertions.
(WebCore::ScriptElement::didNotifySubtreeInsertions): Renamed to finishedInsertingSubtree.
* dom/ScriptElement.h:
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::insertedInto):
(WebCore::HTMLFrameElementBase::finishedInsertingSubtree): Renamed from didNotifySubtreeInsertions.
(WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Renamed to finishedInsertingSubtree.
* html/HTMLFrameElementBase.h:
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::insertedInto):
(WebCore::HTMLScriptElement::finishedInsertingSubtree): Renamed from didNotifySubtreeInsertions.
(WebCore::HTMLScriptElement::didNotifySubtreeInsertions): Renamed to finishedInsertingSubtree.
* html/HTMLScriptElement.h:
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::insertedInto):
(WebCore::SVGFEImageElement::finishedInsertingSubtree): Renamed from didNotifySubtreeInsertions.
(WebCore::SVGFEImageElement::didNotifySubtreeInsertions): Renamed to finishedInsertingSubtree.
* svg/SVGFEImageElement.h:
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::insertedInto):
(WebCore::SVGMPathElement::finishedInsertingSubtree): Renamed from didNotifySubtreeInsertions.
(WebCore::SVGMPathElement::didNotifySubtreeInsertions): Renamed to finishedInsertingSubtree.
* svg/SVGMPathElement.h:
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::insertedInto):
(WebCore::SVGScriptElement::finishedInsertingSubtree): Renamed from didNotifySubtreeInsertions.
(WebCore::SVGScriptElement::didNotifySubtreeInsertions): Renamed to finishedInsertingSubtree.
* svg/SVGScriptElement.h:
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::insertedInto):
(WebCore::SVGTRefElement::finishedInsertingSubtree): Renamed from didNotifySubtreeInsertions.
(WebCore::SVGTRefElement::didNotifySubtreeInsertions): Renamed to finishedInsertingSubtree.
* svg/SVGTRefElement.h:
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::insertedInto):
(WebCore::SVGTextPathElement::finishedInsertingSubtree): Renamed from didNotifySubtreeInsertions.
(WebCore::SVGTextPathElement::didNotifySubtreeInsertions): Renamed to finishedInsertingSubtree.
* svg/SVGTextPathElement.h:
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::insertedInto):
(WebCore::SVGSMILElement::finishedInsertingSubtree): Renamed from didNotifySubtreeInsertions.
(WebCore::SVGSMILElement::didNotifySubtreeInsertions): Renamed to finishedInsertingSubtree.
* svg/animation/SVGSMILElement.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185813
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sun, 21 Jun 2015 16:44:41 +0000 (16:44 +0000)]
fast/fixed-layout/fixed-layout.html times out on Apple WK2 bots
The Flakiness Dashboard says this test times out on Apple
WebKit2 platforms by not calling testRunner.notifyDone():
<http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=fast%2Ffixed-layout%2Ffixed-layout.html>
* fast/css-grid-layout/flex-content-sized-columns-resize.html:
Use the same mechanism here that was just added in r185811.
* fast/fixed-layout/fixed-layout.html: Switch to using a
zero-delay timer instead of document.body.offsetTop.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185812
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sun, 21 Jun 2015 16:16:05 +0000 (16:16 +0000)]
REGRESSION (r185809): fast/css-grid-layout/flex-content-sized-columns-resize.html hangs on WK1
Since window.resize() occurs in the same runloop as the load on
WK1, testRunner.notifyDone() would never get called.
* fast/css-grid-layout/flex-content-sized-columns-resize.html:
Call document.body.offsetTop to ensure layout occurs at the
initial window size before calling window.resize().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185811
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 21 Jun 2015 16:01:51 +0000 (16:01 +0000)]
Build fix.
* Shared/API/Cocoa/WKFoundation.h: Don’t use generics if the SDK doesn’t support them.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185810
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sun, 21 Jun 2015 15:57:04 +0000 (15:57 +0000)]
fast/css-grid-layout/flex-content-sized-columns-resize.html is flaky
The Flakiness Dashboard says this test is flaky on Apple and EFL
WebKit2 platforms:
<http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=fast%2Fcss-grid-layout%2Fflex-content-sized-columns-resize.html>
It currently doesn't wait for window.resize() to complete, which
is likely the source of flakiness.
* fast/css-grid-layout/flex-content-sized-columns-resize.html:
Switch to using notifyDone() inside a window.onresize function,
and make the test work in a web browser without TestRunner.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185809
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Sun, 21 Jun 2015 13:19:19 +0000 (13:19 +0000)]
[SOUP] Use GTask in WebKitSoupRequestInputStream
https://bugs.webkit.org/show_bug.cgi?id=146184
Reviewed by Carlos Garcia Campos.
Replace deprecated use of GSimpleAsyncResult with GTask.
* WebProcess/soup/WebKitSoupRequestInputStream.cpp:
(AsyncReadData::AsyncReadData):
(webkitSoupRequestInputStreamReadAsyncResultComplete):
(webkitSoupRequestInputStreamPendingReadAsyncComplete):
(webkitSoupRequestInputStreamReadAsync):
(webkitSoupRequestInputStreamReadFinish):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185808
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Sun, 21 Jun 2015 13:15:57 +0000 (13:15 +0000)]
Fix format strings in NetworkCache.cpp and NetworkCacheStatistics.cpp and WebIDBServerConnection.cpp
https://bugs.webkit.org/show_bug.cgi?id=146172
Reviewed by Darin Adler.
Use the correct %"PRIu64" and %"PRIi64" for uint64_t and int64_t, instead of %llu and %lli.
* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::retrieve):
* NetworkProcess/cache/NetworkCacheStatistics.cpp:
(WebKit::NetworkCache::Statistics::initialize):
(WebKit::NetworkCache::Statistics::recordNotUsingCacheForRequest):
(WebKit::NetworkCache::Statistics::recordRetrievalFailure):
(WebKit::NetworkCache::Statistics::recordRetrievedCachedEntry):
(WebKit::NetworkCache::Statistics::recordRevalidationSuccess):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::deleteDatabase):
(WebKit::WebIDBServerConnection::didDeleteDatabase):
(WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::openTransaction):
(WebKit::WebIDBServerConnection::didOpenTransaction):
(WebKit::WebIDBServerConnection::beginTransaction):
(WebKit::WebIDBServerConnection::didBeginTransaction):
(WebKit::WebIDBServerConnection::commitTransaction):
(WebKit::WebIDBServerConnection::didCommitTransaction):
(WebKit::WebIDBServerConnection::resetTransaction):
(WebKit::WebIDBServerConnection::didResetTransaction):
(WebKit::WebIDBServerConnection::rollbackTransaction):
(WebKit::WebIDBServerConnection::didRollbackTransaction):
(WebKit::WebIDBServerConnection::createObjectStore):
(WebKit::WebIDBServerConnection::didCreateObjectStore):
(WebKit::WebIDBServerConnection::createIndex):
(WebKit::WebIDBServerConnection::didCreateIndex):
(WebKit::WebIDBServerConnection::deleteIndex):
(WebKit::WebIDBServerConnection::didDeleteIndex):
(WebKit::WebIDBServerConnection::get):
(WebKit::WebIDBServerConnection::put):
(WebKit::WebIDBServerConnection::didPutRecord):
(WebKit::WebIDBServerConnection::didGetRecord):
(WebKit::WebIDBServerConnection::didOpenCursor):
(WebKit::WebIDBServerConnection::didAdvanceCursor):
(WebKit::WebIDBServerConnection::didIterateCursor):
(WebKit::WebIDBServerConnection::count):
(WebKit::WebIDBServerConnection::didCount):
(WebKit::WebIDBServerConnection::deleteRange):
(WebKit::WebIDBServerConnection::didDeleteRange):
(WebKit::WebIDBServerConnection::clearObjectStore):
(WebKit::WebIDBServerConnection::didClearObjectStore):
(WebKit::WebIDBServerConnection::deleteObjectStore):
(WebKit::WebIDBServerConnection::didDeleteObjectStore):
(WebKit::WebIDBServerConnection::changeDatabaseVersion):
(WebKit::WebIDBServerConnection::didChangeDatabaseVersion):
(WebKit::WebIDBServerConnection::openCursor):
(WebKit::WebIDBServerConnection::cursorAdvance):
(WebKit::WebIDBServerConnection::cursorIterate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185807
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Sun, 21 Jun 2015 13:15:54 +0000 (13:15 +0000)]
[CMake] Ignore warnings from system headers when compiling Tools
https://bugs.webkit.org/show_bug.cgi?id=146185
Reviewed by Martin Robinson.
Use the SYSTEM argument to the include_directories() command to silence compiler warnings
from system headers that we don't control.
* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
* ImageDiff/CMakeLists.txt: Also, remove an EFL include directory from here...
* ImageDiff/PlatformEfl.cmake: ...and put it here where it belongs.
* ImageDiff/PlatformGTK.cmake:
* MiniBrowser/efl/CMakeLists.txt:
* MiniBrowser/gtk/CMakeLists.txt:
* TestWebKitAPI/PlatformEfl.cmake:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/PlatformEfl.cmake:
* WebKitTestRunner/PlatformGTK.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185806
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 21 Jun 2015 10:06:14 +0000 (10:06 +0000)]
libwebkit2gtk fails to link without opengl
https://bugs.webkit.org/show_bug.cgi?id=138332
Patch by Philip Chimento <philip.chimento@gmail.com> on 2015-06-21
Reviewed by Carlos Garcia Campos.
.:
* Source/cmake/OptionsGTK.cmake: USE(TEXTURE_MAPPER) must be
enabled regardless of whether OpenGL is, because certain symbols
such as WebCore::GraphicsLayer::create() need to be built.
Source/WebCore:
* CMakeLists.txt: The third-party ANGLE directories need to be
included even if ENABLE(GRAPHICS_CONTEXT_3D) is false. They must
be included after the OpenGL headers as the comment says.
* platform/graphics/texmap/BitmapTexturePool.cpp: Remove
reference to no longer existent header file.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185805
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Sun, 21 Jun 2015 06:43:14 +0000 (06:43 +0000)]
Deselection of text causes a noticeable jump on force touch machines
https://bugs.webkit.org/show_bug.cgi?id=146173
<rdar://problem/
20992842>
Reviewed by Sam Weinig.
Source/WebCore:
When we have a TextIndicator of type Crossfade, we end up putting
a layer with the blue highlight + text painted into it on top of the
content, and cross-fading that layer to the yellow-highlighted text.
This is necessary for BounceAndCrossfade TextIndicators, because the
blue highlight has to bounce, but is not necessary for Crossfade-only
ones; we can just fade in the yellow highlight on top of the
existing blue page highlight, and all is well.
So, get rid of the Crossfade TextIndicator type and use FadeIn, separately
keeping track of whether or not we can add a margin (we still can't
add a margin to TextIndicators that indicate the page's current selection,
because the blue highlight cannot have the margin applied to it, and we
want the bounds to match exactly).
* page/TextIndicator.cpp:
(WebCore::TextIndicator::createWithRange):
If the range is the same as the selection, turn off the margin.
We were previously doing this based on the presentation transition, but now
there's no difference in presentation transition in this case.
(WebCore::TextIndicator::createWithSelectionInFrame):
(WebCore::TextIndicator::wantsBounce):
(WebCore::TextIndicator::wantsContentCrossfade):
(WebCore::TextIndicator::wantsFadeIn):
(WebCore::TextIndicator::wantsManualAnimation):
* page/TextIndicator.h:
Get rid of TextIndicatorPresentationTransition::Crossfade.
(WebCore::TextIndicator::setWantsMargin):
(WebCore::TextIndicator::wantsMargin):
Keep track of whether we want a margin.
* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
Determine if we should use a margin based on wantsMargin instead of the
presentation transition.
Source/WebKit/mac:
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _animationControllerForText]):
Get rid of TextIndicatorPresentationTransition::Crossfade.
Source/WebKit2:
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<TextIndicatorData>::encode):
(IPC::ArgumentCoder<TextIndicatorData>::decode):
Encode/decode wantsMargin.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performImmediateActionHitTestAtLocation):
(WebKit::textIndicatorTransitionForImmediateAction): Deleted.
Get rid of TextIndicatorPresentationTransition::Crossfade.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185804
268f45cc-cd09-0410-ab3c-
d52691b4dbfc