Timeline
Jun 23, 2015:
- 10:44 PM Changeset in webkit [185902] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: Fixing 2 bad asserts from r185889.
https://bugs.webkit.org/show_bug.cgi?id=140575
Not reviewed.
- runtime/JSBoundSlotBaseFunction.cpp:
(JSC::JSBoundSlotBaseFunction::finishCreation):
- 9:34 PM Changeset in webkit [185901] by
-
- 2 edits in trunk/Source/WebKit2
Fix build.
- UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager init]):
- 7:34 PM Changeset in webkit [185900] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fixed iOS production builds.
- JavaScriptCore.xcodeproj/project.pbxproj:
- 7:33 PM Changeset in webkit [185899] by
-
- 12 edits in trunk/Source
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.
- 7:13 PM Changeset in webkit [185898] by
-
- 11 edits in trunk/Tools
Refactoring benchmark runner script to follow pep8 code style.
https://bugs.webkit.org/show_bug.cgi?id=146264
Patch by Dewei Zhu <Dewei Zhu> 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.
- 7:09 PM Changeset in webkit [185897] by
-
- 3 edits in trunk/Source/WebCore
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):
- 7:04 PM Changeset in webkit [185896] by
-
- 2 edits in trunk/Source/WebKit2
[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):
- 7:00 PM Changeset in webkit [185895] by
-
- 7 edits3 copies1 move2 adds in trunk/LayoutTests
[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
- 5:50 PM Changeset in webkit [185894] by
-
- 5 edits2 adds in trunk/Source/WebKit2
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:
- 5:43 PM Changeset in webkit [185893] by
-
- 22 edits in trunk/Source
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:
- 5:29 PM Changeset in webkit [185892] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Reduce QuickConsole DidResize events if it did not change
https://bugs.webkit.org/show_bug.cgi?id=146258
Patch by Joseph Pecoraro <Joseph Pecoraro> 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.
- 5:27 PM Changeset in webkit [185891] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: TextEditor scroll position not correctly restored when switching tabs
https://bugs.webkit.org/show_bug.cgi?id=146254
Patch by Joseph Pecoraro <Joseph Pecoraro> 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.
- 5:21 PM Changeset in webkit [185890] by
-
- 3 edits2 adds in trunk/Source/WebKit2
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:
- 4:36 PM Changeset in webkit [185889] by
-
- 13 edits5 adds in trunk
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.
- 3:47 PM Changeset in webkit [185888] by
-
- 3 edits2 adds in trunk/Source/WebCore
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.
- 3:46 PM Changeset in webkit [185887] by
-
- 4 edits in trunk
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):
- 3:09 PM Changeset in webkit [185886] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Some brief previews are incorrectly treated as lossless
https://bugs.webkit.org/show_bug.cgi?id=146247
Patch by Joseph Pecoraro <Joseph Pecoraro> 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.
- 3:02 PM Changeset in webkit [185885] by
-
- 3 edits in trunk/Source/WebCore
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:
- 2:41 PM Changeset in webkit [185884] by
-
- 2 edits in trunk/Source/WebCore
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]):
- 2:09 PM Changeset in webkit [185883] by
-
- 3 edits2 copies2 adds in trunk/LayoutTests
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.
- 1:34 PM Changeset in webkit [185882] by
-
- 2 edits in trunk/Source/WebKit2
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.
- 11:54 AM Changeset in webkit [185881] by
-
- 2 edits in trunk/LayoutTests
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:
- 11:27 AM Changeset in webkit [185880] by
-
- 7 edits in trunk
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:]):
- 11:04 AM Changeset in webkit [185879] by
-
- 4 edits in trunk/Source/WebKit2
Unreviewed. Fix GTK+ build after r185876 and r185877.
- UIProcess/API/gtk/WebKitUIClient.cpp:
- UIProcess/API/gtk/WebKitUserContentManager.cpp:
- UIProcess/API/gtk/WebKitWebView.cpp:
- 10:37 AM Changeset in webkit [185878] by
-
- 7 edits in trunk/Source/WebKit2
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:
- 10:28 AM Changeset in webkit [185877] by
-
- 39 edits2 copies1 move2 adds in trunk
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):
- 9:45 AM Changeset in webkit [185876] by
-
- 15 edits in trunk/Source/WebKit2
<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.
- 9:26 AM Changeset in webkit [185875] by
-
- 5 edits in trunk/Source/WebInspectorUI
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.
- 7:18 AM Changeset in webkit [185874] by
-
- 2 edits in trunk/Source/WebCore
[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):
- 7:10 AM Changeset in webkit [185873] by
-
- 13 edits1 delete in trunk
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:
- 4:29 AM Changeset in webkit [185872] by
-
- 8 edits in trunk
[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:
- 3:45 AM Changeset in webkit [185871] by
-
- 4 edits in trunk/Tools
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):
- 2:34 AM Changeset in webkit [185870] by
-
- 2 edits in trunk/LayoutTests
[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:
- 2:03 AM Changeset in webkit [185869] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Build fix. A/B testing is broken when continuous builders report revisions out of order.
- public/v2/app.js:
(App.AnalysisTaskController.Ember.Controller.extend.):
- 1:56 AM Changeset in webkit [185868] by
-
- 2 edits in trunk/Source/WebKit/win
[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.
- 12:10 AM Changeset in webkit [185867] by
-
- 2 edits in trunk/Tools
[EFL] Add libhyphen-dev as dependency after r185862
https://bugs.webkit.org/show_bug.cgi?id=146230
Reviewed by Gyuyoung Kim.
- efl/install-dependencies:
- 12:00 AM Changeset in webkit [185866] by
-
- 4 edits in trunk/Source/WebKit2
[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):
Jun 22, 2015:
- 11:47 PM Changeset in webkit [185865] by
-
- 1 copy in releases/WebKitGTK/webkit-2.9.3
WebKitGTK+ 2.9.3
- 11:45 PM Changeset in webkit [185864] by
-
- 4 edits in trunk
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.
- 11:33 PM Changeset in webkit [185863] by
-
- 2 edits in trunk/Source/WTF
[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:
- 10:23 PM Changeset in webkit [185862] by
-
- 21 edits1 move3 adds in trunk
[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:
- 9:10 PM Changeset in webkit [185861] by
-
- 2 edits in trunk/Source/WebKit2
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.
- 8:54 PM Changeset in webkit [185860] by
-
- 4 edits in trunk/Source
[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]):
- 8:47 PM Changeset in webkit [185859] by
-
- 18 edits3 deletes in trunk/Tools
Get rid of factory json files in benchmark_runner
https://bugs.webkit.org/show_bug.cgi?id=146175
Patch by Dewei Zhu <Dewei Zhu> 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.
- 6:59 PM Changeset in webkit [185858] by
-
- 2 edits in trunk/Source/WebCore
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().
- 6:59 PM Changeset in webkit [185857] by
-
- 6 edits in trunk/Tools
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]):
- 6:51 PM Changeset in webkit [185856] by
-
- 12 edits8 moves1 add in trunk/Source
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):
- 6:24 PM Changeset in webkit [185855] by
-
- 2 edits in trunk/Source/WebKit/mac
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:
- 6:09 PM Changeset in webkit [185854] by
-
- 2 edits in trunk/Source/WebCore
[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.
- 5:51 PM Changeset in webkit [185853] by
-
- 5 edits1 add in trunk
[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:
- 5:47 PM Changeset in webkit [185852] by
-
- 3 edits in trunk/Websites/perf.webkit.org
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.
- 4:32 PM Changeset in webkit [185851] by
-
- 3 edits2 adds in trunk
-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.
- 4:02 PM Changeset in webkit [185850] by
-
- 2 edits in trunk/LayoutTests
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
- 3:36 PM Changeset in webkit [185849] by
-
- 2 edits in trunk/Source/WTF
Fix build.
- wtf/threads/BinarySemaphore.cpp:
- 3:22 PM Changeset in webkit [185848] by
-
- 4 edits6 adds in trunk
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.
- 3:07 PM Changeset in webkit [185847] by
-
- 4 edits1 delete in trunk/Source/WTF
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.
- 3:06 PM Changeset in webkit [185846] by
-
- 8 edits4 adds in trunk
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.
- 3:02 PM Changeset in webkit [185845] by
-
- 3 edits in trunk/Source/WebInspectorUI
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 <Devin Rousso> 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.
- 2:33 PM Changeset in webkit [185844] by
-
- 2 edits in trunk/Source/WebCore
[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.
- 2:11 PM Changeset in webkit [185843] by
-
- 3 edits in trunk/Source/WebKit2
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:
- 1:53 PM Changeset in webkit [185842] by
-
- 5 edits6 adds in trunk
[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.
- 1:49 PM Changeset in webkit [185841] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed non-mac debug build fix after r185840.
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequest):
Added enable flag around assertion.
- 1:10 PM Changeset in webkit [185840] by
-
- 20 edits in trunk/Source
[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.
- 12:52 PM Changeset in webkit [185839] by
-
- 15 edits in trunk/Source/WebKit2
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):
- 12:35 PM Changeset in webkit [185838] by
-
- 3 edits2 adds in trunk
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.
- 12:30 PM Changeset in webkit [185837] by
-
- 2 edits in trunk/Source/WebKit2
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):
- 10:53 AM Changeset in webkit [185836] by
-
- 3 edits in trunk/Source/WebInspectorUI
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):
- 10:47 AM Changeset in webkit [185835] by
-
- 2 edits in trunk/Source/WebInspectorUI
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):
- 10:41 AM Changeset in webkit [185834] by
-
- 4 edits in trunk/Source/WebCore
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.
- 10:11 AM Changeset in webkit [185833] by
-
- 6 edits1 add in trunk
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.
- 10:04 AM Changeset in webkit [185832] by
-
- 2 edits1 add in trunk/Source/WebKit2
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.
- 9:35 AM Changeset in webkit [185831] by
-
- 3 edits in tags/Safari-601.1.35.2.3/Source/WebKit2
Merged r185814. rdar://problem/21444762
- 9:34 AM Changeset in webkit [185830] by
-
- 5 edits in tags/Safari-601.1.35.2.3/Source
Versioning.
- 9:29 AM Changeset in webkit [185829] by
-
- 1 copy in tags/Safari-601.1.35.2.3
New tag.
- 9:17 AM Changeset in webkit [185828] by
-
- 5 edits7 adds in trunk
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>.
- 7:32 AM Changeset in webkit [185827] by
-
- 2 edits in trunk/Source/WebKit2
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.
- 6:59 AM Changeset in webkit [185826] by
-
- 18 edits in trunk
[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:
- 5:42 AM Changeset in webkit [185825] by
-
- 2 edits in trunk/Source/WebKit2
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.
- 5:06 AM Changeset in webkit [185824] by
-
- 2 edits in trunk/Source/WebKit2
[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):
- 4:55 AM Changeset in webkit [185823] by
-
- 3 edits in trunk
[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.
- 3:03 AM Changeset in webkit [185822] by
-
- 2 edits in trunk/Source/WebKit2
[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.
- 1:57 AM Changeset in webkit [185821] by
-
- 3 edits in trunk/LayoutTests
[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.
- 1:36 AM Changeset in webkit [185820] by
-
- 8 edits in trunk
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:
- 12:57 AM Changeset in webkit [185819] by
-
- 2 edits in trunk/Source/WebCore
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.