Timeline
May 11, 2014:
- 11:30 PM Changeset in webkit [168609] by
-
- 3 edits in trunk/Source/WebKit2
Expose a function to copy favicon data without image conversion.
https://bugs.webkit.org/show_bug.cgi?id=132805
Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2014-05-11
Reviewed by Darin Adler.
- UIProcess/API/C/WKIconDatabase.cpp:
(WKIconDatabaseCopyIconDataForPageURL):
Add a function to copy the data from the image of a favicon for an associated page url.
- UIProcess/API/C/WKIconDatabase.h:
Declare WKIconDatabaseCopyIconDataForPageURL.
- 11:21 PM Changeset in webkit [168608] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION(r168603): [GTK] Build broken.
https://bugs.webkit.org/show_bug.cgi?id=132810
Patch by Seongjun Kim <isAir@company100.com> on 2014-05-11
Reviewed by Carlos Garcia Campos.
- UIProcess/API/gtk/WebKitWebContext.cpp:
(createDefaultWebContext):
Construct a WebContextConfiguration object and pass it to WebContext::create.
- 9:54 PM Changeset in webkit [168607] by
-
- 2 edits in trunk/Source/WebCore
Do not create a temporary string to append the SVGLength's unit
https://bugs.webkit.org/show_bug.cgi?id=132807
Reviewed by Geoffrey Garen.
- svg/SVGLength.cpp:
(WebCore::lengthTypeToString):
The caller just append the string to a number string. The function
lengthTypeToString() was creating a new WTF::String from scratch,
copied the characters to make a new string, and destroyed the WTF::String.
Instead, just append the string literal.
- 9:23 PM Changeset in webkit [168606] by
-
- 2 edits in trunk/Source/WebCore
CSS JIT: reduce cost of computing backtracking height
https://bugs.webkit.org/show_bug.cgi?id=132546
Patch by Yusuke Suzuki <Yusuke Suzuki> on 2014-05-11
Reviewed by Benjamin Poulain.
Because compiler previously compute backtracking height for
previous child fragment, by leveraging this, we can limit the
maxPrefixSizeforcomputeBacktrackingHeightFromDescendant.
For example, consider selector "c>a>b>d>a>b e"'s descendant chain,
"c>a>b>d>a>b".
At the <a> position, we have matching pattern [b, a, d, b, a] and
calculate the backtracking height by following method.
pattern: [b, a, d, b, a]
candidate0: [b, a, d, b] => Not matched.
candidate1: [b, a, d] => Not matched.
candidate2: [b, a] => Matched against the pattern.
At this time, first candidate0's pattern size is
pattern.size() - 1.
And get backtracking height from descendant 3, that is
pattern.size() - candidate.size(),5 - 2.
And next, at the <c> position, we calcucate the backtracking height
for this pattern.
pattern: [b, a, d, b, a, c]
candidate0: [b, a, d, b, a] => Not matched.
candidate1: [b, a, d, b] => Not matched.
candidate2: [b, a, d] => Not matched.
candidate3: [b, a] => Not matched.
candidate4: [b] => Not matched.
candidate5: [] => Matched against the pattern.
Then, we get the backtracking height, which is 6 (6 - 0).
However, in the above case, we already know that attempts from candidate0
to candidate1 always fail, since parts of these are already tested at
the <b> position trial and we know they don't match.
So in this case, we should start this computation from candidate2,
such as,
pattern: [b, a, d, b, a, c]
candidate2: [b, a, d] => Not matched.
candidate3: [b, a] => Not matched.
candidate4: [b] => Not matched.
candidate5: [] => Matched against the pattern.
We can start computation with candidate size
pattern.size() - previousChildFragmentBacktrackingHeight.
In this example,pattern.size()is 6 and
previousChildFragmentBacktrackingHeightis 3, so candidate size is
3, that is candidate2.
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::computeBacktrackingStartHeightFromDescendant):
(WebCore::SelectorCompiler::computeBacktrackingHeightFromDescendant):
- 5:08 PM Changeset in webkit [168605] by
-
- 5 edits in trunk/Source/WebKit2
Remove local storage directory and sandbox extension from WebProcessCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=132808
Reviewed by Beth Dakin.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 4:44 PM Changeset in webkit [168604] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, CMake build fix after r168603
Add APIContextConfiguration.cpp and WKContextConfigurationRef.cpp to the source list.
- CMakeLists.txt:
- 3:12 PM Changeset in webkit [168603] by
-
- 13 edits4 adds in trunk
Add a WKContextConfigurationRef object and make the injected bundle path part of the configuration
https://bugs.webkit.org/show_bug.cgi?id=132806
Source/WebKit2:
<rdar://problem/16830143>
Reviewed by Beth Dakin.
Many setters on WKContextRef really only make sense to set early on, so move to a pattern where we create a
configuration object, a WKContextConfiguration which WKContexts can be created from. Add the injected bundle path
as a configuration property. More setters will follow.
- Shared/API/c/WKBase.h:
Add WKContextConfigurationRef.
- Shared/APIObject.h:
Add ContextConfiguration enum declaration.
- UIProcess/API/C/WKAPICast.h:
Handle WKContextConfigurationRef.
- UIProcess/API/C/WKContext.cpp:
(WKContextCreate):
Create an empty WKContextConfigurationRef object and pass it to WKContextCreateWithConfiguration.
(WKContextCreateWithInjectedBundlePath):
Create a WKContextConfigurationRef object, set its bundle path and pass the configuration to WKContextCreateWithConfiguration.
(WKContextCreateWithConfiguration):
Convert the WKContextConfigurationRef object to a WebContextConfiguration and pass it to WebContext::create.
- UIProcess/API/C/WKContext.h:
Add WKContextCreateWithConfiguration.
- UIProcess/API/C/WKContextConfigurationRef.cpp: Added.
(WKContextConfigurationCreate):
Create an API::ContextConfiguration object.
(WKContextConfigurationCopyInjectedBundlePath):
Return the injected bundle path.
(WKContextConfigurationSetInjectedBundlePath):
Set the injected bundle path.
- UIProcess/API/C/WKContextConfigurationRef.h: Added.
New C SPI header.
- UIProcess/API/Cocoa/WKProcessGroup.mm:
(-[WKProcessGroup initWithInjectedBundleURL:]):
Construct a WebContextConfiguration object and pass it to WebContext::Create.
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _initWithConfiguration:]):
Construct a WebContextConfiguration object and pass it to WebContext::Create.
- UIProcess/APIContextConfiguration.cpp: Added.
New API::ContextConfiguration object.
(API::ContextConfiguration::webContextConfiguration):
Construct a WebContextConfiguration struct from our current configuration.
- UIProcess/APIContextConfiguration.h: Added.
- UIProcess/WebContext.cpp:
(WebKit::WebContext::create):
Pass the WebContextConfiguration to the constructor.
(WebKit::WebContext::WebContext):
Set the injected bundle path from the WebContextConfiguration object.
- UIProcess/WebContext.h:
Change the WebContext constructor and create function to take a WebContextConfiguration object.
- WebKit2.xcodeproj/project.pbxproj:
Add new files.
Tools:
Reviewed by Beth Dakin.
Migrate to WKContextConfiguration.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
- 2:02 PM Changeset in webkit [168602] by
-
- 7 edits in trunk/Source/WebCore
Headers and footers are not positioned correctly with topContentInset
https://bugs.webkit.org/show_bug.cgi?id=132787
-and corresponding-
<rdar://problem/16641115>
Reviewed by Tim Horton.
Headers and footers need to take the inset into account, and they also need to
factor in the fact that the root layer moves around now too.
The existing yPositionForRootContentLayer() is actually the right calculation for
the header layer. The root content layer wants that value, but pushed down by the
header height. Now there are static functions for both of them and the footer to
avoid duplicated code in the three spots where we need this information.
- page/FrameView.cpp:
(WebCore::FrameView::yPositionForHeaderLayer):
(WebCore::FrameView::yPositionForRootContentLayer):
(WebCore::FrameView::yPositionForFooterLayer):
- page/FrameView.h:
Use the static functions to compute the layer positions.
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
How did headers ever work with this bug?? I don’t know. We need to return that
layer.
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::headerLayerForFrameView):
Use the static functions to compute the layer positions.
- page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):
- 12:46 PM Changeset in webkit [168601] by
-
- 16 edits in trunk/Source/WebCore
Subpixel rendering[iOS]: <select> decoration is misaligned when the renderer is on subpixel position.
https://bugs.webkit.org/show_bug.cgi?id=132779
<rdar://problem/16631071>
Reviewed by Simon Fraser.
Push <select> theme decoration's rect to device pixel position to ensure
that the theme bounds are aligned with the renderer's bounds. (in painting terms)
However, as the decoration code paints multiple items, they all need to use snapped
final coordinates for painting : tracked here https://bugs.webkit.org/show_bug.cgi?id=132780
This patch also changes the padding values for <select> [iOS] to compensate for the integer
truncation that happened before subpixel.
Not testable.
- css/html.css:
(select):
- platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::paintMenuListButtonDecorations):
- platform/efl/RenderThemeEfl.h:
- platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintMenuListButtonDecorations):
- platform/gtk/RenderThemeGtk.h:
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintDecorations):
- rendering/RenderTheme.h:
(WebCore::RenderTheme::paintMenuListButtonDecorations):
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuListButtonDecorations):
- rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::paintMenuListButtonDecorations):
- rendering/RenderThemeSafari.h:
- rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::paintMenuList):
(WebCore::RenderThemeWin::paintMenuListButtonDecorations):
- rendering/RenderThemeWin.h:
- 12:10 PM Changeset in webkit [168600] by
-
- 20 edits in trunk/Source/WebCore
Move Source/WebCore/workers/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=132401
Reviewed by Darin Adler.
Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/workers (and related places)
with std::unique_ptr.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
- bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):
- bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create):
- bindings/js/ScheduledAction.h:
- page/DOMTimer.cpp:
(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
(WebCore::DOMTimer::didStop):
- page/DOMTimer.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::setTimeout):
(WebCore::DOMWindow::setInterval):
- page/DOMWindow.h:
- workers/WorkerEventQueue.h:
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::setTimeout):
(WebCore::WorkerGlobalScope::setInterval):
- workers/WorkerGlobalScope.h:
(WebCore::WorkerGlobalScope::clearScript):
- workers/WorkerLoaderProxy.h:
- workers/WorkerMessagingProxy.h:
- workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::WorkerRunLoop):
- workers/WorkerRunLoop.h:
- workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):
(WebCore::WorkerScriptLoader::createResourceRequest):
- workers/WorkerScriptLoader.h:
- workers/WorkerThread.cpp:
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::workerThread):
(WebCore::WorkerThreadStartupData::create): Deleted.
- workers/WorkerThread.h:
- 10:35 AM Changeset in webkit [168599] by
-
- 6 edits in trunk
[Mac] [iOS] Underlines are too low
https://bugs.webkit.org/show_bug.cgi?id=132770
Reviewed by Darin Adler.
Source/WebCore:
computeUnderlineOffset() inside InlineTextBox.cpp lowers underlines from text
baseline by a value that is proportional to the font size. However, this
lowering was done a second time in
GraphicsContext::computeLineBoundsAndAntialiasingModeForText(). This patch
removes this second, platform-dependent lowering.
This duplication was caused by merging iOS into open source, where iOS used
the GraphicsContext approach and open source used the InlineTextBox approach.
Covered by fast/css3-text/css3-text-decoration/text-decoration-thickness.html.
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::computeLineBoundsAndAntialiasingModeForText): Remove
redundant lowering code
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration): Clean up textDecorationThickness
variable
LayoutTests:
See per-file descriptions.
- fast/css3-text/css3-text-decoration/text-decoration-style-double-space-scales.html: Made
test more robust so it does not barely clip underlines, but rather gives them a couple
pixels of wiggle room.
- fast/css3-text/css3-text-decoration/text-decoration-thickness.html: Not only does this test
underline thickness, but it also tests underline position. Updated this test to not expect
incorrect results.
- 2:42 AM Changeset in webkit [168598] by
-
- 5 edits4 adds in trunk
Text with simple line layout not getting pushed below float when there is not enough space for it
https://bugs.webkit.org/show_bug.cgi?id=126991
Reviewed by Andreas Kling.
Source/WebCore:
Tests: fast/text/simple-lines-intruding-wide-float-dynamic.html
fast/text/simple-lines-intruding-wide-float.html
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):
Invalidate the line layout path when floats change. We need to check SimpleLineLayout::canUseFor again as
intruding floats may make this flow ineligible to use the path.
- rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::floatingObjectSet):
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):
Test the top positions of all floats for case that would push text below the float instead of just testing
the first line. We may have floats in the middle of the paragraph too.
LayoutTests:
- fast/text/simple-lines-intruding-wide-float-dynamic-expected.html: Added.
- fast/text/simple-lines-intruding-wide-float-dynamic.html: Added.
- fast/text/simple-lines-intruding-wide-float-expected.html: Added.
- fast/text/simple-lines-intruding-wide-float.html: Added.
- 12:47 AM WebKitGTK/2.4.x edited by
- (diff)
- 12:47 AM Changeset in webkit [168597] by
-
- 4 edits in releases/WebKitGTK/webkit-2.4/Source
Merge r168523 - jsmin.py license header confusing, mentions non-free license
https://bugs.webkit.org/show_bug.cgi?id=123665
Reviewed by Darin Adler.
Pull the most recent version from upstream, which has a clear
license.
Source/JavaScriptCore:
- inspector/scripts/jsmin.py:
Source/WebInspectorUI:
- Scripts/jsmin.py:
- 12:01 AM Changeset in webkit [168596] by
-
- 4 edits in trunk/Source/WebCore
WinCairo crashes on acid3 test
https://bugs.webkit.org/show_bug.cgi?id=131364
Patch by peavo@outlook.com <peavo@outlook.com> on 2014-05-11
Reviewed by Brent Fulgham.
When the 304 (Not-modified) response is received, the Curl backend should look up the cached response,
and call the client method didReceiveResponse with the cached response, instead of the 304 response.
Otherwise the response will contain an empty MIME type, which causes the request to be cancelled, and the client deleted.
When the Curl cache manager then accesses the client afterwards, it is deleted, and we crash.
- platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::didReceiveResponse): Return early if request is cancelled.
(WebCore::CurlCacheManager::getCachedResponse): Added method to get cached response.
- platform/network/curl/CurlCacheManager.h: Ditto.
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback): When 304 response is received, look up cached response, and use it.
May 10, 2014:
- 10:30 PM Changeset in webkit [168595] by
-
- 3 edits in trunk/Source/WebKit2
[WK2] URTBF after r168585.
- Platform/IPC/Connection.h:
- Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::terminate):
- 8:57 PM Changeset in webkit [168594] by
-
- 4 edits in trunk/Source
[WKWebView _updateScrollViewBackground] churns UI-and-CGColors while repainting
https://bugs.webkit.org/show_bug.cgi?id=132793
<rdar://problem/16877870>
Reviewed by Dan Bernstein.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateScrollViewBackground]):
Don't bypass the cache and make a copy of the CGColor just to set its alpha.
Cache the last color and don't bother creating a UIColor nor updating the
color on our views if it hasn't changed.
- WebCore.exp.in:
Export a Color convenience function.
- 8:32 PM Changeset in webkit [168593] by
-
- 2 edits in trunk/Source/WebKit2
Implement -forwardingTargetForSelector on WKScrollViewDelegateForwarder
https://bugs.webkit.org/show_bug.cgi?id=132790
<rdar://problem/16877802>
Reviewed by Dan Bernstein.
- UIProcess/ios/WKScrollView.mm:
(-[WKScrollViewDelegateForwarder forwardingTargetForSelector:]):
If only one of the delegates will respond to a selector,
we can return it from forwardingTargetForSelector: to avoid
NSInvocation overhead.
- 8:02 PM Changeset in webkit [168592] by
-
- 2 edits in trunk/Source/WebKit2
[Mac] Some targets that link or soft-link WebKit.framework don't depend on it
https://bugs.webkit.org/show_bug.cgi?id=132776
Reviewed by Darin Adler.
- WebKit2.xcodeproj/project.pbxproj:
- 7:14 PM Changeset in webkit [168591] by
-
- 3 edits in trunk
[GTK][CMake] Unable to do make install
https://bugs.webkit.org/show_bug.cgi?id=130188
Reviewed by Carlos Garcia Campos.
Only try to install the HTML documentation if the build is configured to generate it via
the new ENABLE_GTKDOC option. We cannot conditionally install something, so this allows us
to keep the HTML documentation directory as an installation source.
- Source/PlatformGTK.cmake: The gtkdoc target now always builds HTML documentation, but
is only added to the default target when ENABLE_GTKDOC is turned on. gtkdoc-no-html is
now only added to the default target when DEVELOPER_MODE is true and ENABLE_GTKDOC is
false. When both ENABLE_GTKDOC and DEVELOPER_MODE are false, documentation isn't built at all.
- Source/cmake/OptionsGTK.cmake: Add an ENABLE_GTKDOC option to the build.
- 6:35 PM Changeset in webkit [168590] by
-
- 7 edits in trunk/Source/WebKit2
[EFL][WK2] Move the ownership of EwkSettings from EwkView to EwkPageGroup
https://bugs.webkit.org/show_bug.cgi?id=132771
Reviewed by Gyuyoung Kim.
Moved ownership of EwkSettings from EwkView to EwkPageGroup.
- UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
- UIProcess/API/efl/EwkView.h:
(EwkView::settings): Deleted.
- UIProcess/API/efl/ewk_page_group.cpp:
(EwkPageGroup::EwkPageGroup):
- UIProcess/API/efl/ewk_page_group_private.h:
(EwkPageGroup::settings):
- UIProcess/API/efl/ewk_settings_private.h:
- UIProcess/API/efl/ewk_view.cpp:
(ewk_view_settings_get):
- 5:53 PM Changeset in webkit [168589] by
-
- 2 edits in trunk/Source/WebKit2
[iOS WebKit2] REGRESSION (r168493): Canvasmark 2013 benchmark always hits the RELEASE_ASSERT in RemoteLayerTreeDrawingArea::flushLayers()
https://bugs.webkit.org/show_bug.cgi?id=132783
<rdar://problem/16877326>
Reviewed by Anders Carlsson.
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::flush):
There's a race window between the BackingStoreFlusher sending the new
layer tree to the UI process and updating m_hasFlushed where we can
get a reply back in (on the Web process main thread) from the UI process
that we committed the new layer tree (didUpdate).
This will cause the RELEASE_ASSERT in flushLayers() to fire incorrectly.
Since the RELEASE_ASSERT is there only to avoid painting garbage, move
our code to set m_hasFlushed=true to after we finish calling CGContextFlush
on all of the contexts, instead of after we send the layer tree commit message,
which will remove the race entirely.
- 5:30 PM Changeset in webkit [168588] by
-
- 2 edits in trunk/Source/WebKit2
ASSERTION FAILED: !m_connection under RunJavaScriptAlert
https://bugs.webkit.org/show_bug.cgi?id=132792
<rdar://problem/16691138>
Reviewed by Dan Bernstein.
Detect if someone implementing a UI delegate method with a completion handler never calls the completion
handler and raise an exception instead of asserting.
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::CompletionHandlerCallChecker::create):
(WebKit::CompletionHandlerCallChecker::~CompletionHandlerCallChecker):
(WebKit::CompletionHandlerCallChecker::didCallCompletionHandler):
(WebKit::CompletionHandlerCallChecker::CompletionHandlerCallChecker):
(WebKit::CompletionHandlerCallChecker::classImplementingDelegateMethod):
(WebKit::UIDelegate::UIClient::runJavaScriptAlert):
(WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
(WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
- 5:09 PM Changeset in webkit [168587] by
-
- 2 edits in trunk/LayoutTests
Multiple svg-in-object-placeholder-height tests fail
https://bugs.webkit.org/show_bug.cgi?id=132791
- TestExpectations: Skipped them, the tests take a long time before they fail.
- 3:42 PM Changeset in webkit [168586] by
-
- 20 edits in trunk/Source/WebCore
Unreviewed, rolling out r168578.
https://bugs.webkit.org/show_bug.cgi?id=132789
Speculative rollout since this appears to break PLT3.
(Requested by kling on #webkit).
Reverted changeset:
"Move Source/WebCore/workers/ code to std::unique_ptr"
https://bugs.webkit.org/show_bug.cgi?id=132401
http://trac.webkit.org/changeset/168578
- 3:41 PM Changeset in webkit [168585] by
-
- 5 edits in trunk/Source/WebKit2
Use xpc_connection_kill for killing child processes where appropriate
https://bugs.webkit.org/show_bug.cgi?id=132788
<rdar://problem/16664185>
Reviewed by Sam Weinig.
- Platform/IPC/Connection.h:
- Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::kill):
- Platform/IPC/mac/XPCPtr.h:
(IPC::XPCPtr::operator bool):
- Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::terminate):
- 3:17 PM Changeset in webkit [168584] by
-
- 15 edits1 copy in trunk/Source/WebKit2
WebKit2 is leaking an xpc_connection per web process it creates
https://bugs.webkit.org/show_bug.cgi?id=132785
<rdar://problem/14912160>
Reviewed by Sam Weinig.
Introduce an IPC::XPCPtr smart pointer class and use it for XPC connections inside Connection::Identifier and Connection itself.
Make sure we always adopt any connections that are created.
- DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:
(DatabaseServiceInitializer):
- NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
(WebKit::NetworkServiceInitializerDelegate::NetworkServiceInitializerDelegate):
(NetworkServiceInitializer):
- Platform/IPC/Connection.h:
(IPC::Connection::Identifier::Identifier):
(IPC::Connection::xpcConnection):
- Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::platformInvalidate):
(IPC::Connection::platformInitialize):
(IPC::Connection::getAuditToken):
- Platform/IPC/mac/XPCPtr.h: Added.
(IPC::XPCPtr::XPCPtr):
(IPC::XPCPtr::~XPCPtr):
(IPC::XPCPtr::get):
(IPC::XPCPtr::operator!):
(IPC::XPCPtr::operator=):
(IPC::adoptXPC):
- PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
(WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate):
(PluginServiceInitializer):
- Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
(WebKit::BootstrapMain):
- Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
(WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate):
(WebKit::XPCServiceInitializer):
- Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::hasEntitlement):
(WebKit::XPCServiceInitializerDelegate::isClientSandboxed):
- Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
(WebKit::XPCServiceEventHandler):
- Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceEventHandler):
- UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::didFinishLaunchingProcess):
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService):
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
(WebContentServiceInitializer):
- 1:51 PM Changeset in webkit [168583] by
-
- 2 edits1 move in trunk/Source/WebKit2
Simplify createDataAvailableSource
https://bugs.webkit.org/show_bug.cgi?id=132782
<rdar://problem/16815202>
Reviewed by Sam Weinig.
- Platform/IPC/mac/ConnectionMac.mm: Renamed from Source/WebKit2/Platform/IPC/mac/ConnectionMac.cpp.
Rename to make this Objective-C++ so we get the lambda-to-block conversion.
(IPC::createDataAvailableSource):
Make this a function template and just pass the function directly to dispatch_source_set_event_handler.
(IPC::Connection::open):
Use lambdas instead of WTF::bind, so we'll make sure the connection is kept alive.
- WebKit2.xcodeproj/project.pbxproj:
Update for ConnectionMac.cpp to ConnectionMac.mm rename.
- 1:20 PM Changeset in webkit [168582] by
-
- 3 edits in trunk/Source/WebKit2
Follow-up fix.
Reviewed by Darin Adler.
- UIProcess/API/Cocoa/WKNavigationResponse.h:
- UIProcess/API/Cocoa/WKNavigationResponse.mm:
(-[WKNavigationResponse isForMainFrame]):
Use a slightly better name.
- 1:11 PM Changeset in webkit [168581] by
-
- 6 edits1 copy in trunk/Source/WebKit2
Make -[WKNavigationResponse frame] SPI and only expose -[WKNavigationResponse isMainFrame]
https://bugs.webkit.org/show_bug.cgi?id=132781
<rdar://problem/16868319>
Reviewed by Darin Adler.
- UIProcess/API/Cocoa/WKNavigationResponse.h:
- UIProcess/API/Cocoa/WKNavigationResponse.mm:
(-[WKNavigationResponse description]):
(-[WKNavigationResponse isMainFrameNavigation]):
(-[WKNavigationResponse _frame]):
(-[WKNavigationResponse frame]): Deleted.
(-[WKNavigationResponse setFrame:]): Deleted.
- UIProcess/API/Cocoa/WKNavigationResponseInternal.h:
- UIProcess/API/Cocoa/WKNavigationResponsePrivate.h: Added.
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
- WebKit2.xcodeproj/project.pbxproj:
- 12:50 PM Changeset in webkit [168580] by
-
- 4 edits in trunk
REGRESSION (r166853): fast/preloader/document-write.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=130942
Reviewed by Anders Carlsson.
Source/WebCore:
- style/StyleResolveTree.cpp:
(WebCore::Style::suspendMemoryCacheClientCalls): Use a RefPtr to the main
frame as a weak pointer to a Page that will work unless the page is destroyed.
The old code tried to do it with a RefPtr to a document, but as the FIXME
points out, that won't work if the document is disassociated with its frame.
LayoutTests:
- platform/mac/TestExpectations: Turned the test back on.
- 12:48 PM Changeset in webkit [168579] by
-
- 3 edits in trunk/Source/WebCore
Block exceptions when trying to convert attributed strings to RTF and RTFD
https://bugs.webkit.org/show_bug.cgi?id=132778
<rdar://problem/16675805>
Reviewed by Darin Adler.
When the iOS WebHTMLConverter was upstreamed, converting some attributed strings to RTF and RTFD
started throwing Objective-C exceptions (see <rdar://problem/16876920>).
In WebKit2, we now crash on unhandled exceptions so work around that crash by adding exception blocking macros.
- editing/ios/EditorIOS.mm:
(WebCore::dataInRTFDFormat):
(WebCore::dataInRTFFormat):
- editing/mac/EditorMac.mm:
(WebCore::dataInRTFDFormat):
(WebCore::dataInRTFFormat):
- 12:14 PM Changeset in webkit [168578] by
-
- 20 edits in trunk/Source/WebCore
Move Source/WebCore/workers/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=132401
Reviewed by Andreas Kling.
Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/workers (and related places)
with std::unique_ptr.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
- bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):
- bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create):
- bindings/js/ScheduledAction.h:
- page/DOMTimer.cpp:
(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
(WebCore::DOMTimer::didStop):
- page/DOMTimer.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::setTimeout):
(WebCore::DOMWindow::setInterval):
- page/DOMWindow.h:
- workers/WorkerEventQueue.h:
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::setTimeout):
(WebCore::WorkerGlobalScope::setInterval):
- workers/WorkerGlobalScope.h:
(WebCore::WorkerGlobalScope::clearScript):
- workers/WorkerLoaderProxy.h:
- workers/WorkerMessagingProxy.h:
- workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::WorkerRunLoop):
- workers/WorkerRunLoop.h:
- workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):
(WebCore::WorkerScriptLoader::createResourceRequest):
- workers/WorkerScriptLoader.h:
- workers/WorkerThread.cpp:
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::workerThread):
(WebCore::WorkerThreadStartupData::create): Deleted.
- workers/WorkerThread.h:
- 2:30 AM Changeset in webkit [168577] by
-
- 10 edits13 adds in trunk
-webkit-filter prevents rendering at retina scale
https://bugs.webkit.org/show_bug.cgi?id=93471
Reviewed by Dirk Schulze.
Source/WebCore:
Implement 2x support for filters that go through
the -webkit-filter property. This includes all
shorthand filters, and any referenced SVG-style filters
(as long as they use only the supported subset of
operations - basically the same as is exposed for
the shorthands).
Tests: fast/hidpi/filters-blur.html
fast/hidpi/filters-hue-rotate.html
fast/hidpi/filters-invert.html
fast/hidpi/filters-multiple.html
fast/hidpi/filters-reference.html
fast/hidpi/filters-shadow.html
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::getUnmultipliedImageData): Scale the source rectangle if the method was
called using LogicalCoordinates.
(WebCore::ImageBuffer::getPremultipliedImageData): Ditto.
(WebCore::ImageBuffer::putByteArray): Ditto.
- platform/graphics/filters/FEDropShadow.cpp:
(WebCore::FEDropShadow::platformApplySoftware): Make sure to scale the blur radius by the filter
resolution, and call the byte-array methods with the native coordinate system.
- platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::calculateUnscaledKernelSize): Fix typo.
(WebCore::FEGaussianBlur::platformApplySoftware): Scale the kernel and paint rectangles
by the filter scale.
- platform/graphics/filters/Filter.h:
(WebCore::Filter::Filter): Initialise the filter scale.
(WebCore::Filter::filterScale): New property which reflects the mapping between logical pixels
and device pixels.
(WebCore::Filter::setFilterScale):
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::asImageBuffer): Make sure buffer creation takes scale into account.
(WebCore::FilterEffect::asUnmultipliedImage): Ditto.
(WebCore::FilterEffect::asPremultipliedImage): Ditto.
(WebCore::FilterEffect::copyImageBytes): Scale any incoming regions if they are talking about
device pixels rather than logical pixels.
(WebCore::FilterEffect::copyUnmultipliedImage): Ditto.
(WebCore::FilterEffect::copyPremultipliedImage): Ditto.
(WebCore::FilterEffect::createImageBufferResult): Take scale into account when creating byte array.
(WebCore::FilterEffect::createUnmultipliedImageResult): Ditto.
(WebCore::FilterEffect::createPremultipliedImageResult): Ditto.
- rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::allocateBackingStoreIfNeeded): Pass filter scale into buffer creation.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer): Make sure to set the filter scale to
the device scale factor, and notice if we ever change scales.
LayoutTests:
New tests for filters at high resolutions. The image used
has a crosshatch at the pixel level, so any scale changes
are visible (such as going from 2x to 1x). All the actual
filters are no-ops so they can be compared to an element
without a filter in the -expected version.
- fast/hidpi/filters-blur-expected.html: Added.
- fast/hidpi/filters-blur.html: Added.
- fast/hidpi/filters-hue-rotate-expected.html: Added.
- fast/hidpi/filters-hue-rotate.html: Added.
- fast/hidpi/filters-invert-expected.html: Added.
- fast/hidpi/filters-invert.html: Added.
- fast/hidpi/filters-multiple-expected.html: Added.
- fast/hidpi/filters-multiple.html: Added.
- fast/hidpi/filters-reference-expected.html: Added.
- fast/hidpi/filters-reference.html: Added.
- fast/hidpi/filters-shadow-expected.html: Added.
- fast/hidpi/filters-shadow.html: Added.
- fast/hidpi/resources/color-grid.png: Added.
- fast/hidpi/resources/ensure-hidpi.js: Added.
(runTest):
(scaleFactorIsSet):
- platform/mac-wk2/TestExpectations: Skip some of these on WK2 Mac.
See webkit.org/b/132766.
- 12:30 AM Changeset in webkit [168576] by
-
- 5 edits3 moves in trunk/Source/WebCore
[MediaStream] Rename NavigatorMediaStream as NavigatorUserMedia.
https://bugs.webkit.org/show_bug.cgi?id=132734
Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-05-10
Reviewed by Eric Carlson.
Spec: http://www.w3.org/TR/mediacapture-streams/#navigatorusermedia
This patch replaces 'NavigatorMediaStream' with 'NavigatorUserMedia'
throughout the code to be consistent with W3C specifications.
Test cases remain the same as 'Navigator' implies 'NavigatorUserMedia'.
- CMakeLists.txt: Compiles NavigatorUserMedia.cpp
- DerivedSources.make: Compiles NavigatorUserMedia.idl
- Modules/mediastream/NavigatorMediaStream.cpp: Removed.
- Modules/mediastream/NavigatorMediaStream.h: Removed.
- Modules/mediastream/NavigatorMediaStream.idl: Removed.
- Modules/mediastream/NavigatorUserMedia.cpp: Added.
(WebCore::NavigatorUserMedia::NavigatorUserMedia):
(WebCore::NavigatorUserMedia::~NavigatorUserMedia):
(WebCore::NavigatorUserMedia::webkitGetUserMedia):
- Modules/mediastream/NavigatorUserMedia.h: Added.
- Modules/mediastream/NavigatorUserMedia.idl: Added.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSNavigatorCustom.cpp:
(WebCore::JSNavigator::webkitGetUserMedia): NavigatorUserMedia
class is used instead of NavigatorMediaStream.
- 12:23 AM Changeset in webkit [168575] by
-
- 39 edits in trunk
Subpixel rendering: Empty rects should remain empty after integrally enclosing them.
https://bugs.webkit.org/show_bug.cgi?id=132753
<rdar://problem/16846801>
Reviewed by Simon Fraser.
This patch ensures that empty LayoutRects remain empty after converting to integral enclosing rect.
LayoutRects with fractional position get expanded even if they are empty. This makes rectangle
operations unreliable and can result in undesired side effects.
Source/WebCore:
No testable/covered by existing tests.
- platform/graphics/LayoutRect.cpp:
(WebCore::enclosingIntRect):
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
(WebCore::integralEnclosingRectForSelection): Deleted.
LayoutTests:
1px -> 0px progressions.
- platform/mac-mountainlion/fast/forms/fieldset-align-expected.txt:
- platform/mac-mountainlion/fast/forms/textAreaLineHeight-expected.txt:
- platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
- platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
- platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
- platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
- platform/mac/fast/css/css1_forward_compatible_parsing-expected.txt:
- platform/mac/fast/css/first-line-text-decoration-expected.txt:
- platform/mac/fast/css/h1-in-section-elements-expected.txt:
- platform/mac/fast/css/word-space-extra-expected.txt:
- platform/mac/fast/encoding/utf-16-big-endian-expected.txt:
- platform/mac/fast/encoding/utf-16-little-endian-expected.txt:
- platform/mac/fast/forms/fieldset-align-expected.txt:
- platform/mac/fast/forms/textAreaLineHeight-expected.txt:
- platform/mac/fast/inline/continuation-outlines-expected.txt:
- platform/mac/fast/inline/continuation-outlines-with-layers-expected.txt:
- platform/mac/fast/inline/outline-continuations-expected.txt:
- platform/mac/fast/invalid/nestedh3s-expected.txt:
- platform/mac/fast/multicol/client-rects-expected.txt:
- platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
- platform/mac/fast/multicol/client-rects-spanners-expected.txt:
- platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:
- platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
- platform/mac/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
- platform/mac/fast/multicol/span/span-margin-collapsing-expected.txt:
- platform/mac/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
- platform/mac/fast/table/014-expected.txt:
- platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.txt:
- platform/mac/mathml/presentation/mo-stretch-expected.txt:
- platform/mac/svg/custom/use-font-face-crash-expected.txt:
- platform/mac/svg/wicd/rightsizing-grid-expected.txt:
- platform/mac/tables/mozilla/bugs/bug113235-1-expected.txt:
- platform/mac/tables/mozilla/bugs/bug113235-2-expected.txt:
- platform/mac/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
- platform/mac/tables/mozilla/other/wa_table_tr_align-expected.txt:
- 12:17 AM Changeset in webkit [168574] by
-
- 2 edits in trunk/Tools
REGRESSION(CMAKE): [GTK] WebKit2 C API tests are not longer built in the same binary
https://bugs.webkit.org/show_bug.cgi?id=132685
Reviewed by Martin Robinson.
Use a single TestWebKit2 binary for all WebKit2 C API tests.
- TestWebKitAPI/PlatformGTK.cmake: