Timeline
Mar 8, 2014:
- 11:58 PM Changeset in webkit [165363] by
-
- 2 edits in trunk/Source/WebKit2
Update comment in NetworkResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=129997
Patch by Jeong Yong-uk <yong@company100.com> on 2014-03-09
Reviewed by Andreas Kling.
NetworkResourceLoader::resourceHandleStopped() has been renamed to
NetworkResourceLoader::cleanup() but the comment is not updated.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
- 11:57 PM Changeset in webkit [165362] by
-
- 2 edits in trunk/Source/JavaScriptCore
GPRInfo::toIndex should return InvalidIndex for non-temp registers on ARM64
https://bugs.webkit.org/show_bug.cgi?id=129998
Reviewed by Geoffrey Garen.
Not only is that the established contract, but this is used to signal to
ScratchRegisterAllocator that the register doesn't need locking since it isn't a register
that this allocator would use. In the FTL, we may have an inline cache where LLVM had used
some non-temp register (i.e. a register that JSC itself wouldn't have used). This is totally
fine but previously it would have led to either an assertion failure, or data corruption, in
the ScratchRegisterAllocator.
- jit/GPRInfo.h:
(JSC::GPRInfo::toIndex):
- 11:18 PM Changeset in webkit [165361] by
-
- 2 edits in trunk/Source/WebKit2
iOS build fix.
- WebProcess/WebPage/ios/WebPageIOS.mm: Include WebCore/KeyboardEvent.h.
- 10:17 PM Changeset in webkit [165360] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: js/dom/create-lots-of-workers.html frequently crashes
(sometimes in js/dom/cross-frame-bad-time.html)
https://bugs.webkit.org/show_bug.cgi?id=129758
- platform/mac/TestExpectations: Skipped the test.
- 10:11 PM Changeset in webkit [165359] by
-
- 2 edits in trunk/Source/WebCore
iOS build fix.
- dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::KeyboardEvent):
- 7:50 PM Changeset in webkit [165358] by
-
- 3 edits in trunk/Source/JavaScriptCore
FTL fails the new equals-masquerader strictEqualConstant test
https://bugs.webkit.org/show_bug.cgi?id=129996
Reviewed by Mark Lam.
It turns out that the FTL was trying to do the masquerading stuff for ===null. But
that's wrong since none of the other engines do it. The DFG even had an ancient
FIXME about doing it - but that doesn't make sense since the LLInt and baseline JIT
don't do it and JSValue::strictEqual() doesn't do it.
Remove the FIXME and remove the extra checks in the FTL.
This is a glorious patch: nothing but red and it fixes a test failure.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileStrictEqForConstant):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEqConstant):
- 6:57 PM Changeset in webkit [165357] by
-
- 2 edits in trunk/Source/JavaScriptCore
Short-circuit JSGlobalObjectInspectorController when not inspecting.
<https://webkit.org/b/129995>
Add an early return in reportAPIException() when the console agent
is disabled. This avoids expensive symbolication during exceptions
if there's nobody expecting the fancy backtrace anyway.
~2% progression on DYEB on my MBP.
Reviewed by Geoff Garen.
- inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::reportAPIException):
- 3:56 PM Changeset in webkit [165356] by
-
- 34 edits1 add in trunk/Source
[Mac] Don't perform a round-trip through WebProcess before interpreting key events
https://bugs.webkit.org/show_bug.cgi?id=129812
Reviewed by Darin Adler.
Source/WebCore:
No significant behavior changes expected, except for Esc key processing, which now
dispatches a keypress before executing its default action.
- platform/KeypressCommand.h: Added.
(WebCore::KeypressCommand::KeypressCommand):
- GNUmakefile.list.am:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
Moved KeypressCommand from dom/KeyboardEvent.h to its own header, as it needed
in platform/ directory now.
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
- dom/KeyboardEvent.h:
(WebCore::KeyboardEvent::handledByInputMethod):
(WebCore::KeyboardEvent::keypressCommands):
- platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::handledByInputMethod):
(WebCore::PlatformKeyboardEvent::commands):
PlatformKeyboardEvent now carries results of interpreting the event by AppKit. This
is logically not much different from carrying charcode, and is similar to what Gtk
does for input methods.
KeyboardEvent already had keypress commands, which were added to it after construction.
It's still possible for WebKit1, while with WebKit2, they are provided at construction
time. The event now also has a boolean for whether IM handled it already.
Source/WebKit/mac:
- WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleInputMethodKeydown):
Added a FIXME. WebKit1/mac is the only port that uses this roundabout way to
interpret events, so it would simplify code if we switched it to WebKit2/mac model.
Source/WebKit2:
- Shared/NativeWebKeyboardEvent.h:
- Shared/WebEvent.h:
(WebKit::WebKeyboardEvent::handledByInputMethod):
(WebKit::WebKeyboardEvent::commands):
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
- Shared/WebKeyboardEvent.cpp:
(WebKit::WebKeyboardEvent::WebKeyboardEvent):
(WebKit::WebKeyboardEvent::~WebKeyboardEvent):
(WebKit::WebKeyboardEvent::encode):
(WebKit::WebKeyboardEvent::decode):
- Shared/mac/NativeWebKeyboardEventMac.mm:
(WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
- Shared/mac/WebEventFactory.h:
- Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebKeyboardEvent):
Keyboard events now carry results of interpretation with them.
Ideally, mouse events should also have a handledByInputMethod member, because IMs
can handle events, but that can wait until we have actual bugs caused by not diabling
default processing for these.
- UIProcess/API/mac/WKView.mm:
(-[WKView becomeFirstResponder]): Updated for new NativeWebKeyboardEvent contructor
signature. We don't interpret the event in this code path.
(-[WKView doCommandBySelector:]): Added logging.
(-[WKView performKeyEquivalent:]): Reimplemented Esc and Cmd+period handling to avoid
infinite loops and re-entrancy. These two work in a unique way in AppKit.
Interpret key event before sending it down to WebProcess.
(-[WKView keyUp:]): Interpret key event before sending it down to WebProcess.
We need to tell IMs about the event, but key binding processing is moot, all commands
are executed on keydown.
(-[WKView keyDown:]): Interpret the event.
(-[WKView flagsChanged:]): Ditto.
(-[WKView _interpretKeyEvent:savingCommandsTo:WebCore::]): Added an assertion in
consumedByIM code path.
(-[WKView _executeSavedCommandBySelector:]): Added logging.
- UIProcess/PageClient.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
- UIProcess/mac/PageClientImpl.h:
- UIProcess/mac/PageClientImpl.mm:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/WebPageProxyIOS.mm:
- UIProcess/mac/WebPageProxyMac.mm:
Removed interpretQueuedKeyEvent/interpretKeyEvent, WebProcess no longer asks UIProcess to do this.
- WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
(WebKit::WebEditorClient::handleKeyboardEvent):
- WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
(WebKit::WebEditorClient::handleKeyboardEvent):
(WebKit::WebEditorClient::handleInputMethodKeydown):
WebPage::handleEditingKeyboardEvent is now one function instead of two with a boolean
switch between two behaviors.
- WebProcess/WebPage/WebPage.cpp:(WebKit::WebPage::WebPage):
- WebProcess/WebPage/WebPage.h:
Removed m_keyboardEventBeingInterpreted, as we no longer send the event for interpretation.
This means that we sometimes have to pass a null event down to WebCore, but I wasn't
able to find any behavior differences from us doing so.
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::handleEditingKeyboardEvent):
Added a FIXME.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::executeKeypressCommandsInternal): When we don't have an event,
use current frame as a target, just like input method messages do.
(WebKit::WebPage::handleEditingKeyboardEvent): This function no longer saves commands,
it only interprets them.
Added a check for Esc, as we don't want to handle it in keydown event handler.
(WebKit::WebPage::insertText): Pass 0 instead of m_keyboardEventBeingInterpreted.
(WebKit::WebPage::insertDictatedText): Ditto.
(WebKit::WebPage::executeKeypressCommands): Ditto.
- 2:07 PM Changeset in webkit [165355] by
-
- 3 edits in trunk/Source/JavaScriptCore
Inline the trivial parts of GC deferral.
<https://webkit.org/b/129984>
Made most of the functions called by the DeferGC RAII object inline
to avoid function call overhead.
Looks like ~1% progression on DYEB.
Reviewed by Geoffrey Garen.
- heap/Heap.cpp:
- heap/Heap.h:
(JSC::Heap::incrementDeferralDepth):
(JSC::Heap::decrementDeferralDepth):
(JSC::Heap::collectIfNecessaryOrDefer):
(JSC::Heap::decrementDeferralDepthAndGCIfNeeded):
- 1:27 PM Changeset in webkit [165354] by
-
- 12 edits in trunk/Source
Subpixel rendering: Pass FloatSize boxsize to transform animations to support device pixel sizing.
https://bugs.webkit.org/show_bug.cgi?id=129985
Reviewed by Simon Fraser.
This is in preparation to stop passing integral positioned boxes to transform animations.
No change in behavior.
Source/WebCore:
- WebCore.exp.in:
- platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::addAnimation):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::getTransformFunctionValue):
(WebCore::GraphicsLayerCA::addAnimation):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
- platform/graphics/ca/GraphicsLayerCA.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::startTransition):
Source/WebKit2:
- WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
- 12:09 PM Changeset in webkit [165353] by
-
- 2 edits in trunk/LayoutTests
Skip fast/workers/worker-copy-shared-blob-url.html in webkit2
- 11:14 AM Changeset in webkit [165352] by
-
- 13 edits in trunk/Source
[iOS Wk2] Can't scroll after going back to page in page cache
https://bugs.webkit.org/show_bug.cgi?id=129989
<rdar://problem/16217588>
Reviewed by Dan Bernstein.
iOS has a special FrameLoader::forceLayoutWithoutRecalculatingStyle()
function that is called instead of FrameView::forceLayout(). This was unimplemented
for the WK2 FrameLoaderClient, so no layout was forced, with the result
that the contentSize was never updated and scrolling was broken.
Fix by renaming the client function to forceLayoutOnRestoreFromPageCache()
and having it return a bool to say whether the default forceLayout()
should be done. WK1 can then continue to have its custom behavior,
and Wk2 will simply do a forceLayout().
Also remove FrameLaoderClient::forceLayout(), which was never called.
Source/WebCore:
- loader/EmptyClients.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
- loader/FrameLoaderClient.h:
Source/WebKit/mac:
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::forceLayoutOnRestoreFromPageCache):
Source/WebKit2:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:
(WebKit::WebFrameLoaderClient::forceLayoutOnRestoreFromPageCache):
- 10:17 AM Changeset in webkit [165351] by
-
- 2 edits in trunk/Tools
RunGtkWebKitGObjectDOMBindingsAPIBreakTests should be added to the BuildAndTestFactory not the TestFactory
https://bugs.webkit.org/show_bug.cgi?id=129980
Reviewed by Carlos Garcia Campos.
- BuildSlaveSupport/build.webkit.org-config/master.cfg: Add RunGtkWebKitGObjectDOMBindingsAPIBreakTests to the correct factory.
- 10:09 AM Changeset in webkit [165350] by
-
- 2 edits in trunk/Tools
[GTK] Remove the WebView source-mode WebKit1 test
https://bugs.webkit.org/show_bug.cgi?id=129976
Reviewed by Carlos Garcia Campos.
- TestWebKitAPI/Tests/WebKitGtk/testwebview.c: Remove the source-mode test.
Mar 8, 2014:
- 9:28 PM Changeset in webkit [165349] by
-
- 4 edits in trunk/Source
[iOS WK2] Get position:fixed working slighlty better
https://bugs.webkit.org/show_bug.cgi?id=129988
Source/WebCore:
Reviewed by Dan Bernstein.
On iOS we want to use the viewport-constrained visible rect, not
just the visible rect.
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
Source/WebKit2:
Reviewed by Dan Bernstein.
iOS uses fixed layout, but does not want fixed elements laid
out relative to the frame.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setUseFixedLayout):
- 9:03 PM Changeset in webkit [165348] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Don't call scrollOffsetForFixedPosition a second time if we have no header and footer layers
https://bugs.webkit.org/show_bug.cgi?id=129912
Reviewed by Tim Horton.
Avoid extra work if we have no header or footer layers.
- page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
(WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
- 8:32 PM Changeset in webkit [165347] by
-
- 2 edits in trunk/Source/WebKit2
iOS broken after r165342
https://bugs.webkit.org/show_bug.cgi?id=129987
Reviewed by Simon Fraser.
- NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::platformLowMemoryHandler): Add missing stub implementation for
platformLowMemoryHandler().
- 6:38 PM Changeset in webkit [165346] by
-
- 3 edits in trunk/Source/WebCore
RenderElement::valueForLength() callers misuse bool parameter.
https://bugs.webkit.org/show_bug.cgi?id=129982
Reviewed by Andreas Kling.
Remove bogus RenderView* parameter.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computePercentageLogicalHeight):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::repaintAfterLayoutIfNeeded):
- 6:18 PM Changeset in webkit [165345] by
-
- 2 edits in trunk/Source/WebKit2
[iOS] media preferences not initialized correctly in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=129983
Reviewed by Dan Bernstein.
- Shared/WebPreferencesStore.h: Initialize mediaPlaybackAllowsInline and
mediaPlaybackRequiresUserGesture correctly for iOS.
- 6:16 PM Changeset in webkit [165344] by
-
- 26 edits1 move in trunk/Source
Allow media element to supply the video layer after fullscreen transition has already begun.
https://bugs.webkit.org/show_bug.cgi?id=129870
Patch by Jeremy Jones <jeremyj@apple.com> on 2014-03-08
Reviewed by Eric Carlson.
Source/WebCore:
Instead of borrowing the videolayer from the HTMLMediaElement, WebVideoFullscreen now supplies a layer to HTMLMediaElement to fill in as needed and at the appropriate time.
This allows fullscreen even if the video layer hasn't yet been created. And in the future it allows MediaPlayer to supply other layers such as closed captions.
- WebCore.exp.in:
Remove exports related to borrowing and lend the video layer.
Add exports for supplying a layer to fullscreen and keepying the frame and gravity properties in sync.
- html/HTMLMediaElement.cpp:
Remove the concept of borrowing the platform layer.
Add the concept of a supplied m_videoFullscreenLayer, into which the media player can add layers.
When the m_videoFullscreenFrame is supplied, don't show the video layer inline any more.
Stash video layer properties in case the media player is not yet created.
(WebCore::HTMLMediaElement::HTMLMediaElement):
Initialize gravity to the default. Remove m_platformLayerBorrowed.
(WebCore::HTMLMediaElement::platformLayer):
When we have a m_videoFullscreenLayer, don't show video inline.
(WebCore::HTMLMediaElement::setVideoFullscreenLayer):
Pass along the m_videoFullscreenLayer to the MediaPlayer if available or just stash it for later.
(WebCore::HTMLMediaElement::createMediaPlayer):
Pass along video fullscreen properties that we may have accumulated before the MediaPlayer was created.
(WebCore::HTMLMediaElement::setVideoFullscreenGravity):
Stash the gravity property, pass it along to the media player if possible.
- html/HTMLMediaElement.h:
Remove concept of borrowing the video layer. Add properties for a supplied videoFullscreenLayer.
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::setVideoFullscreenLayer):
Forward on to internal implementation.
(WebCore::MediaPlayer::setVideoFullscreenFrame):
Forward on to internal implementation.
(WebCore::MediaPlayer::setVideoFullscreenGravity):
Forward on to internal implementation.
- platform/graphics/MediaPlayer.h:
Add methods for video fullscreen Layer, Frame and Gravity.
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::setVideoFullscreenLayer):
Add default implementation.
(WebCore::MediaPlayerPrivateInterface::setVideoFullscreenFrame):
Add default implementation.
(WebCore::MediaPlayerPrivateInterface::setVideoFullscreenGravity):
Add default implementation.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
Add support for fullscreen video layer, frame and gravity.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
Init m_videoFullscreenGravity.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
Apply cached properties once video layer is created and add to the fullscreen layer.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer):
Cache the property value. Add video layer right away available.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenFrame):
Cache the property value. Apply to video layer right away if available.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenGravity):
Cache the property value. Apply to video layer right away if available.
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
Supply a fullscreen video layer to the WebVideoFullscreenModel and to the WebVideoFullscreenInterface.
(-[WebVideoFullscreenController enterFullscreen:]):
Supply a fullscreen video layer to the WebVideoFullscreenModel and to the WebVideoFullscreenInterface.
(-[WebVideoFullscreenController didExitFullscreen]):
Clean up the videoFullscreenLayer.
- platform/ios/WebVideoFullscreenInterface.h:
Remove methods related to lending the video layer.
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
Rename WebAVPlayer layer to WebAVVideoLayer to match the AVKit name.
Remove functions related to lending the video layer.
Supply a layer directly to enterFullscreen.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(+[WebAVVideoLayer videoLayer]):
Rename WebAVPlayer layer to WebAVVideoLayer to match the AVKit name.
(-[WebAVVideoLayer setPlayerController:]):
Store the AVPlayerController to prevent AVKit's default behavior.
(-[WebAVVideoLayer setBounds:]):
Forward this onto the WebVideoFullscreenModel
(-[WebAVVideoLayer setVideoLayerGravity:]):
Forward this onto the WebVideoFullscreenModel
(-[WebAVVideoLayer videoLayerGravity]):
Forward this onto the WebVideoFullscreenModel
(WebVideoFullscreenInterfaceAVKit::enterFullscreen):
Supply a video layer directly instead of relying on one being previously loaned.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen):
Clean-up now assumes there is a video layer.
- platform/ios/WebVideoFullscreenModel.h:
Remove methods for borrowing and returning video layers.
Add methods for keeping video layer state in sync.
- platform/ios/WebVideoFullscreenModelMediaElement.h:
Remove methods for borrowing and returning video layers.
Add method for supplying a video fullscreen layer.
Add methods for keeping video layer state in sync.
- platform/ios/WebVideoFullscreenModelMediaElement.mm:
(WebVideoFullscreenModelMediaElement::setMediaElement):
Handle audio element case by setting hasVideo to false.
(WebVideoFullscreenModelMediaElement::setVideoFullscreenLayer):
Pass along the video fullscreen layer to the media element.
(WebVideoFullscreenModelMediaElement::setVideoLayerFrame):
Pass along the video layer frame to the media element.
(WebVideoFullscreenModelMediaElement::setVideoLayerGravity):
Pass along the video layer gravity to the media element.
Source/WebKit2:
WebVideoFullscreenManager and WebVideoFullscreenManagerProxy do their own remote hosting of the video layer instead of needing the video layer to have already been hosted elsewhere. This allows the removal of the coordination with WebPageProxy via a RemoteLayerTreeTransaction.
- Shared/mac/RemoteLayerTreeTransaction.h:
Remove m_videoLayerIDsPendingFullscreen and accessors.
- Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::encode):
Don't encode m_videoLayerIDsPendingFullscreen
(WebKit::RemoteLayerTreeTransaction::decode):
Don't decode m_videoLayerIDsPendingFullscreen
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::didCommitLayerTree):
Don't forward didCommitLayerTree to m_videoFullscreenManager.
- UIProcess/ios/WebVideoFullscreenManagerProxy.h:
Remove code for synchronizing with the RenderTree.
Add a hosting layer and methods to keep video layer frame and video gravity synchronized.
- UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
Change IPC interface to fascilitate rehosting video layer with a instead of coordinating with the RenderTree by PlatformLayerID.
- UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy):
Remove initialization for removed members.
(WebKit::WebVideoFullscreenManagerProxy::enterFullscreenWithID):
Rehost the video layer by id and pass on the layer.
This replaces didCommitLayerTree() and willLendVideoLayerWithID().
(WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
Cleanup the hosting layer.
(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame):
Forward on the video layer's frame to keep the hosted layer in sync with the interface.
(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerGravity):
Forward the videolayer gravity.
- WebKit2.xcodeproj/project.pbxproj:
Rename WebVideoFullscreenManager.cpp to WebVideoFullscreenManager.mm
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::willCommitLayerTree):
Don't invovle the m_videoFullscreenManager in layer tree transactions.
- WebProcess/ios/WebVideoFullscreenManager.h:
Remove code that synchronizes with the render tree via RemoteLayerTreeTransaction.
Instead rehost the video layer directly.
Instead of hoping the WebVideoFullscreenModel has a videoLayer, supply one into which
it can add whatever it likes as needed.
- WebProcess/ios/WebVideoFullscreenManager.messages.in:
No more explicit borrowing and returning video layers.
Add functions to keep video layer bounds and gravity in sync with the UI.
- WebProcess/ios/WebVideoFullscreenManager.mm: Renamed from Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.cpp.
Removed code for synchronizing via RemoteLAyerTreeTransaction.
(WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
Remove initialization for removed memeber m_sendUnparentVideoLayerTransaction.
(WebKit::WebVideoFullscreenManager::enterFullscreenForNode):
Creates a fullscreen layer, gives it to the WebVideoFullscreenModel to fill in,
and hosts it in a context to send to the UIProcess.
(WebKit::WebVideoFullscreenManager::exitFullscreenForNode):
remove enterFullscreen() and just directly send the IPC message.
(WebKit::WebVideoFullscreenManager::didExitFullscreen):
Clean up the hosting context.
(WebKit::WebVideoFullscreenManager::setVideoLayerGravityEnum):
Forward on the video gravity. Type convert from unsigned to MediaPlayer::VideoGravity.
- 5:47 PM Changeset in webkit [165343] by
-
- 2 edits in trunk/Source/WebCore
Clean up PlatformLayer.h
https://bugs.webkit.org/show_bug.cgi?id=129967
Reviewed by Martin Robinson.
- platform/graphics/PlatformLayer.h:
Remove duplicated declaration of PlatformLayer when using TextureMapper.
- 4:49 PM Changeset in webkit [165342] by
-
- 4 edits in trunk/Source/WebKit2
[WK2] Improve the network process low memory handler.
<https://webkit.org/b/129977>
Split the network process low memory handler into platform-specific
and shared parts. The shared part tells FastMalloc to release freed
pages back to the OS.
For Mac, added a call to purge the in-memory part of CFURLCache.
Remove the malloc_zone_pressure_relief() since that is now taken care
of by the shared MemoryPressureHandler code.
Reviewed by Darin Adler.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::lowMemoryHandler):
(WebKit::NetworkProcess::platformLowMemoryHandler):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::platformLowMemoryHandler):
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
- 4:14 PM Changeset in webkit [165341] by
-
- 15 edits2 adds in trunk
Subpixel rendering: Simple compositing container layer (isSimpleContainerCompositingLayer) paints to wrong position.
https://bugs.webkit.org/show_bug.cgi?id=129861
Reviewed by Simon Fraser.
This patch ensures that both the simple and non-simple cases paint to the same position.
Simple compositing container layer codepath needs to take the fractional device pixel offset
into account when painting. Without the fractional value, the final paint rounding could push the
paint offset to a different position.
retina example:
compositing top-left: 0px 0px.
fractional offset: 0.3px 0.3px
painting coords without offseting: 0px 0px
with offseting: 0.5px 0.5px
Source/WebCore:
Tests: compositing/hidpi-simple-container-layer-on-device-pixel.html
- WebCore.exp.in:
- platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::contentsRect):
(WebCore::GraphicsLayer::setContentsRect):
(WebCore::GraphicsLayer::contentsClippingRect):
(WebCore::GraphicsLayer::setContentsClippingRect):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setContentsRect):
(WebCore::GraphicsLayerCA::setContentsClippingRect):
(WebCore::GraphicsLayerCA::updateContentsRects):
- platform/graphics/ca/GraphicsLayerCA.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundColor):
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
(WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
(WebCore::RenderLayerBacking::backgroundBoxForPainting):
- rendering/RenderLayerBacking.h:
LayoutTests:
- compositing/hidpi-simple-container-layer-on-device-pixel-expected.html: Added.
- compositing/hidpi-simple-container-layer-on-device-pixel.html: Added.
- 2:33 PM Changeset in webkit [165340] by
-
- 2 edits in trunk/LayoutTests
Skip tests on GTK+ for unimplemented features
- platform/gtk/TestExpectations: When a feature is unimplemented, the tests may fail or
they may timeout, or perhaps they will crash. We just skip them here, so that we don't
have to micromanage expectations for tests against incomplete features.
- 2:29 PM Changeset in webkit [165339] by
-
- 5 edits3 adds in trunk
SerializedScriptValue may move Identifiers between worlds
https://bugs.webkit.org/show_bug.cgi?id=129979
Reviewed by Andreas Kling.
Source/WebCore:
Test: fast/workers/worker-copy-shared-blob-url.html
Don't use Strings to store blob URLs as String's may be Identifiers
and they can only exist in one world/thread at a time.
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::put):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::deserializeString):
(WebCore::SerializedScriptValue::addBlobURL):
(WebCore::SerializedScriptValue::SerializedScriptValue):
- bindings/js/SerializedScriptValue.h:
LayoutTests:
Add test cases
- fast/workers/resources/worker-copy-shared-blob-url-worker.js: Added.
(count.0.onmessage):
- fast/workers/worker-copy-shared-blob-url-expected.txt: Added.
- fast/workers/worker-copy-shared-blob-url.html: Added.
- 2:14 PM Changeset in webkit [165338] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Update perf.webkit.org json example
https://bugs.webkit.org/show_bug.cgi?id=129907
Reviewed by Andreas Kling.
The current example is not valid json syntax. I fixed the syntax errors and indented the code properly.
- ReadMe.md:
- 2:09 PM Changeset in webkit [165337] by
-
- 2 edits in trunk
Don't check for shm_open on librt on OpenBSD, lib doesnt exist.
https://bugs.webkit.org/show_bug.cgi?id=129973
Patch by Landry Breuil <landry@openbsd.org> on 2014-03-08
Reviewed by Martin Robinson.
- Source/autotools/FindDependencies.m4:
- 2:07 PM Changeset in webkit [165336] by
-
- 2 edits in trunk/Source/WebKit2
Remove unnecessary casting in NetworkProcessMainUnix.cpp
https://bugs.webkit.org/show_bug.cgi?id=129968
Reviewed by Andreas Kling.
- NetworkProcess/unix/NetworkProcessMainUnix.cpp:
Since socket is an int, int casting is not necessary.
(WebKit::NetworkProcessMain):
- 1:49 PM Changeset in webkit [165335] by
-
- 4 edits43 adds4 deletes in trunk/LayoutTests
Lots of cleanups for the GTK+ TestExpectations
Updated TestExpectations, adding bug standins where appropriate, skipping tests that
expected to fail and prone to timeout or crash. Removed some unused expectations. Added
new baselines for some tests.
- platform/gtk-wk1/TestExpectations: Updated expectations.
- platform/gtk-wk2/TestExpectations: Ditto.
- platform/gtk/TestExpectations: Ditto.
- 11:23 AM Changeset in webkit [165334] by
-
- 2 edits in trunk/Source/JavaScriptCore
32-bit x86 handleUncaughtException returns to wrong location after a stack overflow.
<https://webkit.org/b/129969>
Reviewed by Geoffrey Garen.
The 32-bit version of handleUncaughtException was missing the handling of an
edge case for stack overflows where the current frame may already be the
sentinel frame. This edge case was handled in the 64-bit version. The fix
is to bring the 32-bit version up to parity.
- jit/JIT.cpp:
(JSC::JIT::privateCompile):
- llint/LowLevelInterpreter32_64.asm:
- 11:12 AM Changeset in webkit [165333] by
-
- 2 edits in trunk/LayoutTests
Add and update some test expectations for GTK+
- platform/gtk/TestExpectations: These all seem to be failing because of the same bug.
- 5:31 AM Changeset in webkit [165332] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: update-InspectorBackendCommands.rb is putting legacy protocol files in the wrong place
https://bugs.webkit.org/show_bug.cgi?id=129959
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-08
Reviewed by Timothy Hatcher.
The script was putting legacy generated files into UserInterface
instead of UserInterface/Protocol.
- Scripts/update-InspectorBackendCommands.rb:
- 4:56 AM Changeset in webkit [165331] by
-
- 12 edits in trunk/Source
Load source maps and their resources asynchronously.
https://bugs.webkit.org/show_bug.cgi?id=112071
Reviewed by Joseph Pecoraro.
Source/WebCore:
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::buildObjectForFrameTree):
Honor the hiddenFromInspector flag.
- inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::markResourceAsCached):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didReceiveData):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::replayXHR):
(WebCore::InspectorResourceAgent::loadResource):
- inspector/InspectorResourceAgent.h:
Honor the hiddenFromInspector flag by keeping track of
hidden identifiers in a HashSet.
- inspector/protocol/Network.json:
(Network.loadResource): Added.
- platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::hiddenFromInspector): Added.
(WebCore::ResourceRequestBase::setHiddenFromInspector): Added.
(WebCore::ResourceRequestBase::ResourceRequestBase):
Add a flag to hide the request from the Inspector.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::sendForInspector): Added.
(WebCore::XMLHttpRequest::sendForInspectorXHRReplay): Renamed.
(WebCore::XMLHttpRequest::createRequest):
- xml/XMLHttpRequest.h:
Make Inspector loads allow cross-origins and hide their request
from the Inspector itself.
Source/WebInspectorUI:
- UserInterface/Controllers/SourceMapManager.js:
(WebInspector.SourceMapManager.prototype.loadAndParseSourceMap):
(WebInspector.SourceMapManager.prototype.downloadSourceMap):
(WebInspector.SourceMapManager.prototype.sourceMapLoaded):
(WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
Use NetworkAgent.loadResource.
- UserInterface/Models/SourceMapResource.js:
(WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
(WebInspector.SourceMapResource.prototype.createSourceCodeTextRange):
Use NetworkAgent.loadResource.
- UserInterface/Protocol/InspectorWebBackendCommands.js: Updated.
- 4:43 AM WebKitGTK/2.4.x edited by
- (diff)
- 1:40 AM Changeset in webkit [165330] by
-
- 2 edits in trunk/LayoutTests
Mountain Lion WK1 test bots are crashing often
https://bugs.webkit.org/show_bug.cgi?id=129962
Marking the following tests as flakey:
js/dom/cross-frame-bad-time.html
js/dom/create-lots-of-workers.html
Unreviewed.
Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-03-08
- platform/mac-wk1/TestExpectations:
- 12:33 AM Changeset in webkit [165329] by
-
- 2 edits in trunk/Source/WebKit2
Prevent processes spawned by WebProcess from trying to insert the SecItem shim.
https://bugs.webkit.org/show_bug.cgi?id=129864
Patch by Aaron Golden <golden@inkling.com> on 2014-03-08
Reviewed by Anders Carlsson.
- WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
(WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
- 12:08 AM Changeset in webkit [165328] by
-
- 2 edits in trunk/Tools
Unreviewed build fix for GTKbuild after the switch to CMake
- gtk/common.py:
(is_cmake_build): Like r165284, we need to assume CMake by default, since the
test-only bot doesn't have any build files.