Timeline



Apr 28, 2014:

9:20 PM Changeset in webkit [167923] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

<rdar://problem/16750708> REGRESSION (r159358): Crash in InjectedBundleHitTestResult::frame
https://bugs.webkit.org/show_bug.cgi?id=132318

Reviewed by Andy Estes.

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): Fixed a typo: set
the source frame, not the destination frame.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Changed to get the
frame for the action not from a hit test result, because some link activation actions are
not mouse events, but rather from the event’s target.

8:10 PM Changeset in webkit [167922] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Simplify tryCacheGetById
https://bugs.webkit.org/show_bug.cgi?id=132314

Reviewed by Oliver Hunt and Filip Pizlo.

This is neutral across all benchmarks we track, although it looks like a wee 0.5% progression on sunspider.

  • jit/Repatch.cpp:

(JSC::tryCacheGetByID): If we fail to cache on self, we just repatch to call tryBuildGetByIDList next time.

7:29 PM Changeset in webkit [167921] by benjamin@webkit.org
  • 3 edits
    2 adds in trunk

SelectorCodeGenerator::generateElementIsNthChild() leaks the parent register :nth-child() is non-filtering
https://bugs.webkit.org/show_bug.cgi?id=132311

Reviewed by Andreas Kling.

Source/WebCore:
In two cases, the parent register was never returned to the register allocator:
-Non filtering selectors (the early return).
-Non marking selectors (at the moment: only querySelector API).

Unfortunately, generateElementIsNthChild() makes function call, which forces us to do this manual allocation
of the parentElement register. Long term, I want RegisterAllocator and FunctionCall to have a special type for that.

Test: fast/selectors/several-nth-child.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):

LayoutTests:

  • fast/selectors/several-nth-child-expected.txt: Added.
  • fast/selectors/several-nth-child.html: Added.
6:58 PM Changeset in webkit [167920] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

CSS JIT: backtracking with current / parent element for child
https://bugs.webkit.org/show_bug.cgi?id=132057

Patch by Yusuke Suzuki <Yusuke Suzuki> on 2014-04-28
Reviewed by Benjamin Poulain.

Calculate appropriate backtracking start height from the closest
descendant. And at first, we use it for a simple optimization.

  1. When backtracking start height equals to current height, we

can simply jump to a descendant element check phase.

  1. When backtracking start height equals to current height + 1, we

can simply jump to a descendant element traversing phase.

We can apply this optimization to fragments with adjacent combinators.
But, in the meantime, we start to implement it for a fragment with
child combinator.

Source/WebCore:

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
(WebCore::SelectorCompiler::TagNamePattern::TagNamePattern):
(WebCore::SelectorCompiler::solveDescendantBacktrackingActionForChild):
(WebCore::SelectorCompiler::solveBacktrackingAction):
(WebCore::SelectorCompiler::equalTagNames):
(WebCore::SelectorCompiler::equalTagNamePatterns):
(WebCore::SelectorCompiler::computeBacktrackingStartHeightFromDescendant):
(WebCore::SelectorCompiler::computeBacktrackingHeightFromDescendant):
(WebCore::SelectorCompiler::requiresAdjacentTail):
(WebCore::SelectorCompiler::requiresDescendantTail):
(WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentNode):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateParentElementTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAncestorTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):

LayoutTests:

  • fast/selectors/backtracking-child-combinator-with-tail-expected.txt: Added.
  • fast/selectors/backtracking-child-combinator-with-tail.html: Added.
  • fast/selectors/backtracking-child-combinator-without-tail-expected.txt: Added.
  • fast/selectors/backtracking-child-combinator-without-tail.html: Added.
6:54 PM Changeset in webkit [167919] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

6:52 PM Changeset in webkit [167918] by Lucas Forschler
  • 1 copy in tags/Safari-538.32

New Tag.

6:36 PM Changeset in webkit [167917] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r153142) ASSERT from CodeBlock::dumpBytecode dumping String Switch Jump Tables
https://bugs.webkit.org/show_bug.cgi?id=132315

Reviewed by Mark Hahnenberg.

Used the StringImpl version of utf8() instead of creating a String first.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

6:30 PM Changeset in webkit [167916] by benjamin@webkit.org
  • 11 edits in trunk/Source

[iOS][WK2] Restore the scroll position and scale from the HistoryItem (mostly)
https://bugs.webkit.org/show_bug.cgi?id=132307

Source/WebCore:

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-28
Reviewed by Simon Fraser.

  • WebCore.exp.in:

Source/WebKit2:
<rdar://problem/16031704>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-28
Reviewed by Simon Fraser.

Restore the scroll position and scale on back-forward by restoring the values from HistoryItem.
This covers the common cases, see <rdar://problem/16031704>.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _didCommitLoadForMainFrame]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _didCommitLoadForMainFrame]):
Get rid of the old code restoring the scroll position. This is now done by the WebProcess.

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
Update the scrolling tree after invoking didCommitLayerTree() on the WebPageProxy.

WKContentView and WKWebView states are updated in response to didCommitLayerTree(), the content size
and scale in particular are set there.

After that, the content size/scale is in the same state as the layerTree update, and we can scroll
the content as needed.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  • WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:

(WebKit::WebFrameLoaderClient::restoreViewState):
iOS WebKit1 uses a custom restoreViewState(), do the same for WebKit2 since the generic code is #ifdefed out.
This is also necessary for the main frame's state update.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::restorePageState):
Restore the scale and position of the main frame. For now, we assume m_userHasChangedPageScaleFactor is set otherwise
the initial-scale would override the restored value. We will need to fix that, the value should probably be saved with
the history.

6:13 PM Changeset in webkit [167915] by ryuan.choi@samsung.com
  • 4 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip editing/pasteboard which EFL port does not support.

  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
5:46 PM Changeset in webkit [167914] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS][WK2] iOS fix after r167867
https://bugs.webkit.org/show_bug.cgi?id=132302

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-28
Reviewed by Simon Fraser.

iOS Touch Points uses "phase" for describing the touch points state for historical reasons.
This patch adds state() as a synonym for phase, and revert r167893.

  • Shared/WebEvent.h:

(WebKit::WebPlatformTouchPoint::state):

  • UIProcess/WebPageProxy.cpp:

(WebKit::areAllTouchPointsReleased):

5:31 PM Changeset in webkit [167913] by msaboff@apple.com
  • 6 edits in trunk/Tools

Crash in platform/mac/accessibility/table-visible-rows.html
https://bugs.webkit.org/show_bug.cgi?id=132146

Reviewed by Filip Pizlo.

Instead of creating a local JSValueRef array on the stack and passing that to
JSObjectMakeArray(), changed to create an empty JSArray and then populate the
values using the JSObjectSetPropertyAtIndex() API.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(elementsForRangeCallback):
(convertElementsToObjectArray):

  • DumpRenderTree/mac/TestRunnerMac.mm:

(originsArrayToJS):

  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:

(WTR::EventSendingController::contextClick):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::stringArrayToJS):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::convertElementsToObjectArray):

4:23 PM Changeset in webkit [167912] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix a transcription error from r167901.

When addressing Darin's review feedback, I moved the iteration of dataArray from
QuickLookDocumentData::append() to WebQuickLookHandleClient::didReceiveDataArray(),
but I forgot to update the context argument to CFArrayApplyFunction() accordingly.

  • WebProcess/WebCoreSupport/ios/WebQuickLookHandleClient.cpp:

(WebKit::WebQuickLookHandleClient::didReceiveDataArray):

4:19 PM Changeset in webkit [167911] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Scrollbars do not update properly when topContentInset changes dynamically
https://bugs.webkit.org/show_bug.cgi?id=132309
-and corresponding-
<rdar://problem/16642232>

Reviewed by Tim Horton.

It is not sufficient to do a layout and call updateScrollbars(). We must also call
RenderLayerCompositor::frameViewDidChangeSize() in order to properly adjust the
size and position of all of the scrolling-related layers.

  • page/FrameView.cpp:

(WebCore::FrameView::topContentInsetDidChange):

3:35 PM Changeset in webkit [167910] by hyatt@apple.com
  • 4 edits in trunk/Source/WebCore

[New Multicolumn] event.offsetX/offsetY don't work correctly
https://bugs.webkit.org/show_bug.cgi?id=132284

Reviewed by Simon Fraser.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
Change the code here to only trigger for CSS Regions and not for
multi-column. Add a FIXME pointing out that the code is broken even for
CSS regions.

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint):
Override mapAbsoluteToLocalPoint in order to guess a region and attempt
to translate the point from that region to the flow thread local coordinate
space.

(WebCore::RenderMultiColumnFlowThread::physicalTranslationFromRegionToFlow):

  • rendering/RenderMultiColumnFlowThread.h:

New helper function that just wraps calling the region's logical translation
function and converting to/from physical coordinates.

3:00 PM Changeset in webkit [167909] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2 iOS] Need to show title in the action sheet for images not inside an anchor element.
https://bugs.webkit.org/show_bug.cgi?id=132304
<rdar://problem/16535227>

Reviewed by Benjamin Poulain.

If the image in not inside an anchor tag, we must use the title attribute as
title for the action sheet.

  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):

2:54 PM Changeset in webkit [167908] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r167857.
https://bugs.webkit.org/show_bug.cgi?id=132305

the change was rolled out, roll out the new expectations as
well (Requested by thorton on #webkit).

Reverted changeset:

"Unreviewed. Updating one bindings test baseline after
r167855."
http://trac.webkit.org/changeset/167857

2:17 PM Changeset in webkit [167907] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Use the animated version of setHighlighted on NSButtonCell where available
https://bugs.webkit.org/show_bug.cgi?id=132295
<rdar://problem/16747240>

Reviewed by Beth Dakin.

Like setState, there is an animated version of setHighlighted available.

  • platform/mac/ThemeMac.mm:

(WebCore::updateStates): Use private version of _setHighlighted where possible.

2:14 PM Changeset in webkit [167906] by fpizlo@apple.com
  • 4 edits in trunk

Source/JavaScriptCore: The LLInt is awesome and it should get more of the action.

Rubber stamped by Geoffrey Garen.

5% speed-up on JSBench and no meaningful regressions. Should be a PLT/DYE speed-up also.

  • runtime/Options.h:

Tools: Make sure that the coverage of our tests doesn't change much if we change the thresholds now and in the future, but making
"no-cjit" runs force the old-school threshold.

Rubber stamped by Mark Hahnenberg.

  • Scripts/run-jsc-stress-tests:
2:07 PM Changeset in webkit [167905] by timothy_horton@apple.com
  • 7 edits in trunk/Source/WebKit2

WebKit2 View Gestures (Swipe): Discard snapshots made with a different view size/pixel density
https://bugs.webkit.org/show_bug.cgi?id=132115

Reviewed by Simon Fraser.

We shouldn't try to use snapshots if they no longer match the destination view size.
To do this, we need an accurate understanding of the topContentInset, both for the Web view,
and for any custom views, because we don't want to include the inset area in the snapshot,
and we don't want to reject snapshots that differ from the current view only because they have an inset or not.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _takeViewSnapshot]):
(-[WKView _setCustomSwipeViewsTopContentInset:]):
Add and plumb through a topContentInset property to apply to the custom swipe views.
For simplicitly's sake in the multi-view case, it is applied in window coordinates,
so clients will have to do conversions if necessary.
Don't include the top content inset in the snapshot that is taken.

  • UIProcess/mac/ViewGestureController.h:

(WebKit::ViewGestureController::setCustomSwipeViewsTopContentInset):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::windowRelativeBoundsForCustomSwipeViews):
Apply the aforementioned custom swipe view top content inset.

(WebKit::ViewGestureController::determineSnapshotLayerParent):
(WebKit::ViewGestureController::determineLayerAdjacentToSnapshotForParent):
Factor these out of beginSwipeGesture.

(WebKit::ViewGestureController::retrieveSnapshotForItem):
Don't return a snapshot if the current deviceScaleFactor doesn't match that
at which the snapshot was taken, or if the size of the snapshot doesn't match
the unobscured part of the snapshot layer (the layer's size sans top content inset).

(WebKit::layerGeometryFlippedToRoot): Added.
Determine whether geometry flipping occurs between a layer and the root of the tree it is in.

(WebKit::ViewGestureController::applyDebuggingPropertiesToSwipeViews):
Factor out debugging layer properties, and add some borders and backgrounds to our layers.
I switched to invert instead of blur because blur makes the borders hard to use.

(WebKit::ViewGestureController::beginSwipeGesture):
Add an additional layer, the swipeLayer, which is the parent of the swipeSnapshotLayer.
We use this layer to compensate for geometry flipping, since we don't necessarily
know the structure of the layer tree ahead of time when inserting snapshots into the
client's layer tree, in the custom swipe view case.
The swipe layer is always the full size of the view, including topContentInset, and
has a white background in order to fill in that space. The snapshot layer is the size
of the view *excluding* the topContentInset, which should match the size of the snapshot image
itself (and we reject the image and just paint white if this is not the case).

(WebKit::ViewGestureController::handleSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):
Move and remove the new swipeLayer.

  • UIProcess/mac/ViewSnapshotStore.h:
  • UIProcess/mac/ViewSnapshotStore.mm:

(WebKit::ViewSnapshotStore::recordSnapshot):
Store the deviceScaleFactor at the time the snapshot was taken.
Fix a bug where the count of snapshots with live images was too high
because we were failing to decrement it when replacing a snapshot of
an existing item with a fresh one.

1:55 PM Changeset in webkit [167904] by commit-queue@webkit.org
  • 35 edits in trunk/Source/WebCore

Unreviewed, rolling out r167855.
https://bugs.webkit.org/show_bug.cgi?id=132301

Broke the windows build (Requested by bfulgham on #webkit).

Reverted changeset:

"ScriptExecutionContext::Task should work well with C++11
lambdas"
https://bugs.webkit.org/show_bug.cgi?id=129795
http://trac.webkit.org/changeset/167855

1:50 PM Changeset in webkit [167903] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

WK2 iOS: crash when handling a synthetic keyboard event.
https://bugs.webkit.org/show_bug.cgi?id=132296
<rdar://problem/16469726>

Reviewed by Benjamin Poulain.

Adding a null check, since synthetic keyboard events do not
have a corresponding platform event. We already do this on OS X.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleEditingKeyboardEvent):

1:39 PM Changeset in webkit [167902] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] install-dependencies should also install ruby-json and ruby-highline
https://bugs.webkit.org/show_bug.cgi?id=132292

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-04-28
Reviewed by Philippe Normand.

  • gtk/install-dependencies: Install ruby json and highline packages.
1:02 PM Changeset in webkit [167901] by aestes@apple.com
  • 15 edits
    5 copies
    1 add in trunk/Source

[iOS] Implement WebQuickLookHandleClient for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=132157

Reviewed by Darin Adler.

Source/WebCore:

  • WebCore.exp.in: Exported QuickLookHandle::previewUTI().
  • platform/network/ios/QuickLook.h:
  • platform/network/ios/QuickLook.mm:

(WebCore::QuickLookHandle::previewFileName): Changed to return a WTF::String.
(WebCore::QuickLookHandle::previewUTI): Added.

Source/WebKit2:

  • Shared/API/Cocoa/_WKNSFileManagerExtras.h: Added.
  • Shared/API/Cocoa/_WKNSFileManagerExtras.mm: Added.

(+[NSFileManager _web_createTemporaryFileForQuickLook:]): Called WebCore::createTemporaryFileForQuickLook().

  • Shared/ios/QuickLookDocumentData.cpp: Added.

(WebKit::QuickLookDocumentData::QuickLookDocumentData):
(WebKit::QuickLookDocumentData::append): Appened each CFDataRef to m_data and added their sizes to m_size.
(WebKit::QuickLookDocumentData::decodedData): Returned the combined CFDataRef created by decode().
Named this method 'decodedData' to indicate that it should only be called on objects populated by decode().
(WebKit::QuickLookDocumentData::clear): Cleared m_data and reset m_size to 0.
(WebKit::QuickLookDocumentData::encode): Implemented a custom encoding function to avoid having to combine
m_data into contiguous memory at encoding time. Encoded m_size then sequentially encoded each member of m_data.
(WebKit::QuickLookDocumentData::decode): Decoded the byte stream into a single CFDataRef. Eagerly copied the
decoded data rather than using a DataReference since we know this will outlive the decoder.

  • Shared/ios/QuickLookDocumentData.h: Added.
  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didStartLoadForQuickLookDocumentInMainFrame):
(API::LoaderClient::didFinishLoadForQuickLookDocumentInMainFrame):

  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::didStartLoadForQuickLookDocumentInMainFrame):
(WebKit::NavigationState::LoaderClient::didFinishLoadForQuickLookDocumentInMainFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::didStartLoadForQuickLookDocumentInMainFrame):
(WebKit::WebPageProxy::didFinishLoadForQuickLookDocumentInMainFrame):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:

(WebKit::WebFrameLoaderClient::didCreateQuickLookHandle):

  • WebProcess/WebCoreSupport/ios/WebQuickLookHandleClient.cpp: Added.

(WebKit::WebQuickLookHandleClient::WebQuickLookHandleClient): Sent DidStartLoadForQuickLookDocumentInMainFrame
to WebPageProxy.
(WebKit::WebQuickLookHandleClient::didReceiveDataArray): Appended dataArray to m_data.
(WebKit::WebQuickLookHandleClient::didFinishLoading): Sent DidFinishLoadForQuickLookDocumentInMainFrame to
WebPageProxy and then cleared m_data.
(WebKit::WebQuickLookHandleClient::didFail): Cleared m_data.

  • WebProcess/WebCoreSupport/ios/WebQuickLookHandleClient.h: Added.

(WebKit::WebQuickLookHandleClient::create):

1:01 PM Changeset in webkit [167900] by rniwa@webkit.org
  • 2 edits
    1 add in trunk/LayoutTests

Layout Test fast/events/shadow-event-path[-2].html is failing
https://bugs.webkit.org/show_bug.cgi?id=132238

Add the file that was supposed to be committed in r167840.

12:57 PM Changeset in webkit [167899] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

REGRESSION: Intermittent crash in SpeechSynthesis::didFinishSpeaking
https://bugs.webkit.org/show_bug.cgi?id=111613

Reviewed by Mark Lam.

I think it's possible that didFinishSpeaking ends up calling directly back into start speaking, and the utterance reference
we were holding can get cleared, so protecting this should avoid a few asserts.

  • platform/mock/PlatformSpeechSynthesizerMock.cpp:

(WebCore::PlatformSpeechSynthesizerMock::speakingFinished):

12:56 PM Changeset in webkit [167898] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r167845): ASSERT(!m_renderView.needsLayout()) in svg/custom/bug79798.html
https://bugs.webkit.org/show_bug.cgi?id=132297

  • platform/wk2/TestExpectations:

Skip the test.

12:01 PM Changeset in webkit [167897] by fpizlo@apple.com
  • 22 edits in trunk/Source

GC should be able to remove things from the DFG worklist and cancel on-going compilations if it knows that the compilation would already be invalidated
https://bugs.webkit.org/show_bug.cgi?id=132166

Reviewed by Oliver Hunt and Mark Hahnenberg.

The GC can aid type inference by removing structures that are dead and jettisoning
code that relies on those structures. This can dramatically accelerate type inference
for some tricky programs.

Unfortunately, we previously pinned any structures that enqueued compilations depended
on. This means that if you're on a machine that only runs a single compilation thread
and where compilations are relatively slow, you have a high chance of large numbers of
structures being pinned during any GC since the compilation queue is likely to be full
of random stuff.

This comprehensively fixes this issue by allowing the GC to remove compilation plans
if the things they depend on are dead, and to even cancel safepointed compilations.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::shouldImmediatelyAssumeLivenessDuringScan):
(JSC::CodeBlock::isKnownToBeLiveDuringGC):
(JSC::CodeBlock::finalizeUnconditionally):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::shouldImmediatelyAssumeLivenessDuringScan): Deleted.

  • dfg/DFGDesiredIdentifiers.cpp:

(JSC::DFG::DesiredIdentifiers::DesiredIdentifiers):

  • dfg/DFGDesiredIdentifiers.h:
  • dfg/DFGDesiredWatchpoints.h:
  • dfg/DFGDesiredWeakReferences.cpp:

(JSC::DFG::DesiredWeakReferences::DesiredWeakReferences):

  • dfg/DFGDesiredWeakReferences.h:
  • dfg/DFGGraphSafepoint.cpp:

(JSC::DFG::GraphSafepoint::GraphSafepoint):

  • dfg/DFGGraphSafepoint.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::Plan):
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):
(JSC::DFG::Plan::notifyCompiling):
(JSC::DFG::Plan::notifyCompiled):
(JSC::DFG::Plan::notifyReady):
(JSC::DFG::Plan::checkLivenessAndVisitChildren):
(JSC::DFG::Plan::isKnownToBeLiveDuringGC):
(JSC::DFG::Plan::cancel):
(JSC::DFG::Plan::visitChildren): Deleted.

  • dfg/DFGPlan.h:
  • dfg/DFGSafepoint.cpp:

(JSC::DFG::Safepoint::Result::~Result):
(JSC::DFG::Safepoint::Result::didGetCancelled):
(JSC::DFG::Safepoint::Safepoint):
(JSC::DFG::Safepoint::~Safepoint):
(JSC::DFG::Safepoint::checkLivenessAndVisitChildren):
(JSC::DFG::Safepoint::isKnownToBeLiveDuringGC):
(JSC::DFG::Safepoint::cancel):
(JSC::DFG::Safepoint::visitChildren): Deleted.

  • dfg/DFGSafepoint.h:

(JSC::DFG::Safepoint::Result::Result):

  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::compilationState):
(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):
(JSC::DFG::Worklist::removeAllReadyPlansForVM):
(JSC::DFG::Worklist::completeAllReadyPlansForVM):
(JSC::DFG::Worklist::visitWeakReferences):
(JSC::DFG::Worklist::removeDeadPlans):
(JSC::DFG::Worklist::runThread):
(JSC::DFG::Worklist::visitChildren): Deleted.

  • dfg/DFGWorklist.h:
  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • ftl/FTLCompile.h:
  • heap/CodeBlockSet.cpp:

(JSC::CodeBlockSet::rememberCurrentlyExecutingCodeBlocks):

  • heap/Heap.cpp:

(JSC::Heap::markRoots):
(JSC::Heap::visitCompilerWorklistWeakReferences):
(JSC::Heap::removeDeadCompilerWorklistEntries):
(JSC::Heap::visitWeakHandles):
(JSC::Heap::collect):
(JSC::Heap::visitCompilerWorklists): Deleted.

  • heap/Heap.h:
11:45 AM Changeset in webkit [167896] by beidson@apple.com
  • 5 edits in trunk/Source/WebKit2

Hide service controls for selection behind a runtime switch
<rdar://problem/16736616> and https://bugs.webkit.org/show_bug.cgi?id=132291

Reviewed by Tim Horton.

  • Shared/WebPreferencesStore.h:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::selectionRectsDidChange): Do nothing if the UI is disabled.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::updatePreferences):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::serviceControlsEnabled):

11:05 AM Changeset in webkit [167895] by commit-queue@webkit.org
  • 7 edits
    2 deletes in trunk

Unreviewed, rolling out r167871.
https://bugs.webkit.org/show_bug.cgi?id=132290

broke a newmulticol test (spanner-nested-dynamic) (Requested
by thorton on #webkit).

Reverted changeset:

"Store the containing region map inside the flow thread"
https://bugs.webkit.org/show_bug.cgi?id=131647
http://trac.webkit.org/changeset/167871

10:57 AM Changeset in webkit [167894] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Unreviewed, rolling out r167853.
https://bugs.webkit.org/show_bug.cgi?id=132288

caused crashes+timeouts+layout test failures described in the
bug (Requested by thorton on #webkit).

Reverted changeset:

"Coalesce responses on network process side"
https://bugs.webkit.org/show_bug.cgi?id=132229
http://trac.webkit.org/changeset/167853

10:38 AM Changeset in webkit [167893] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Fix the iOS buld.

  • UIProcess/WebPageProxy.cpp:

(WebKit::areAllTouchPointsReleased):

10:28 AM Changeset in webkit [167892] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[iOS WK2] Make subview rebuilding more incremental
https://bugs.webkit.org/show_bug.cgi?id=132162
<rdar://problem/16718916>

Reviewed by Sam Weinig.

Previously we did bulk replacement of subviews, but that triggers
UIKit to send spurious will/DidMoveToWindow messages, which can
interfere with UIScrollView scrolling.

Make _web_setSubviews more incremental, only removing
deleted subviews, adding new ones, and moving existing ones
into the correct order.

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(-[UIView _web_setSubviews:]):

10:28 AM Changeset in webkit [167891] by Simon Fraser
  • 4 edits in trunk/Source

[iOS WK2] flickery scrolling with overflow-scrolling:touch
https://bugs.webkit.org/show_bug.cgi?id=132150

Source/WebCore:

Reviewed by Tim Horton.

Fix typo in a comment.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):

Source/WebKit2:
<rdar://problem/16683006>

Reviewed by Tim Horton.

Maintain a flag that tells us if the user is interacting
with the UIScrollView, and while set, don't clobber the contentOffset
via scrolling tree updates.

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(-[WKOverflowScrollViewDelegate initWithScrollingTreeNode:WebKit::]):
(-[WKOverflowScrollViewDelegate scrollViewWillBeginDragging:]):
(-[WKOverflowScrollViewDelegate scrollViewDidEndDragging:willDecelerate:]):
(-[WKOverflowScrollViewDelegate scrollViewDidEndDecelerating:]): We need this one,
not scrollViewDidEndScrollingAnimation:, to detect the end of decleration.
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):
(-[WKOverflowScrollViewDelegate scrollViewDidEndScrollingAnimation:]): Deleted.

10:27 AM Changeset in webkit [167890] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[X11] Add missing case for mime type application/x-webkit-test-netscape
https://bugs.webkit.org/show_bug.cgi?id=132278

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-04-28
Reviewed by Darin Adler.

Case for x-webkit-test-netscape has been omitted along with r167759.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::initialize):

10:26 AM Changeset in webkit [167889] by mhahnenberg@apple.com
  • 7 edits
    4 adds in trunk

Deleting properties poisons objects
https://bugs.webkit.org/show_bug.cgi?id=131551

Reviewed by Oliver Hunt.

Source/JavaScriptCore:
This is ~3% progression on Dromaeo with a ~6% progression on the jslib portion of Dromaeo in particular.

  • runtime/JSPropertyNameIterator.cpp:

(JSC::JSPropertyNameIterator::create):

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyTable::hasDeletedOffset):
(JSC::PropertyTable::hadDeletedOffset): If we ever had deleted properties we can no longer cache offsets when
iterating properties because we're required to iterate properties in insertion order.

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::materializePropertyMap): We now re-use deleted properties when materializing the property map.
(JSC::Structure::removePropertyTransition): We allow up to 5 deletes for a particular path through the tree of
Structure transitions. After that, we convert to an uncacheable dictionary like we used to. We don't cache
delete transitions, but we allow transitioning from them.
(JSC::Structure::changePrototypeTransition):
(JSC::Structure::despecifyFunctionTransition):
(JSC::Structure::attributeChangeTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::preventExtensionsTransition):
(JSC::Structure::addPropertyWithoutTransition):
(JSC::Structure::removePropertyWithoutTransition):
(JSC::Structure::pin): Now does only what it says it does--marks the property table as pinned.
(JSC::Structure::pinAndPreventTransitions): More descriptive version of what the old pin() was doing.

  • runtime/Structure.h:
  • runtime/StructureInlines.h:

(JSC::Structure::setEnumerationCache):
(JSC::Structure::hadDeletedOffsets):
(JSC::Structure::propertyTable):
(JSC::Structure::checkOffsetConsistency): Rearranged variables to be more sensible.

  • tests/stress/for-in-after-delete.js: Added.

(foo):

LayoutTests:
New JS regress test. We're ~3.5x faster on this microbenchmark now.

  • js/regress/delete-a-few-properties-then-get-by-id-expected.txt: Added.
  • js/regress/delete-a-few-properties-then-get-by-id.html: Added.
  • js/regress/script-tests/delete-a-few-properties-then-get-by-id.js: Added.

(MyObject):
(foo):

10:11 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
10:09 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
9:24 AM WebKitGTK/KeepingTheTreeGreen edited by calvaris@igalia.com
(diff)
8:59 AM Changeset in webkit [167888] by calvaris@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Flagged some tests.
8:18 AM Changeset in webkit [167887] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

[GTK] Builtin cursors do not properly handle transparency
https://bugs.webkit.org/show_bug.cgi?id=131866

Reviewed by Gustavo Noronha Silva.

Tested by ManualTests/cursor.html.

  • platform/gtk/CursorGtk.cpp:

(WebCore::createNamedCursor): Instead of interpreting the source bitmap as an A1 image, use
it as a 1-bit black and white image. We do this by:

  1. Painting the result to a full color image with transparency instead of an alpha-only surface.
  2. Masking a white background using the cursor alpha surface.
  3. Painting the black parts of the cursor by painting the source surface, where black pixels will be interpreted as full opaque pixels.
8:06 AM Changeset in webkit [167886] by calvaris@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Flagged some tests.
7:27 AM Changeset in webkit [167885] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit2

[WK2][X11] NetscapePluginModule::scanPlugin() should write UTF-8 strings to stdout
https://bugs.webkit.org/show_bug.cgi?id=132245

Reviewed by Carlos Garcia Campos.

NetscapePluginModule::scanPlugin(), in the helper writeLine function, takes each character
of the given string and writes it out as a UChar, doing two fputc calls for each byte of the
16-bit type.

This fails badly with characters with integer value less than 256 as the most significant byte
of the UChar is written out as a null character. This effectively chops the output that's gathered
in the UIProcess and is parsed in PluginProcessProxy::scanPlugin().

To avoid all this, the UTF-8 encoding of the string is written out in the PluginProcess, and
String::fromUTF8() is called in the UIProcess to properly decode the received string.

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::writeCharacter):
(WebKit::writeLine):
(WebKit::writeByte): Deleted.

  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:

(WebKit::PluginProcessProxy::scanPlugin):

7:24 AM Changeset in webkit [167884] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

[GTK][WK2] Missing return statement in webkit_plugin_get_description()
https://bugs.webkit.org/show_bug.cgi?id=132263

Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/WebKitPlugin.cpp:

(webkit_plugin_get_description): Actually return the data of the cached
plugin description CString.

4:10 AM Changeset in webkit [167883] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Crash in debug build with removing windowed plugin child widgets from the view
https://bugs.webkit.org/show_bug.cgi?id=132252

Reviewed by Philippe Normand.

It crashes due to an assert in HashTable that checks the iterators
validity. The problem is that we are iterating the children map
and the callback called on every iteration might modify the map,
making the iterators invalid. This happens when the WebView is
destroyed, GtkContainer calls gtk_container_foreach() with
gtk_widget_destroy as callback. When a widget inside a container
is destroyed, it's removed from the container, and in our case,
the child widget is removed from the map. This fixes several
crashes when running layout tests in debug bot.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseContainerForall): Use copyKeysToVector() instead
of using a range iterator for the map keys and check in every
iteration that the child widget from the keys vector is still
present in the map before calling the callback.

3:57 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
3:50 AM Changeset in webkit [167882] by calvaris@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening. Adding failure expectations for 6
failing and flaky tests. Removed 1.

  • platform/gtk/TestExpectations:
2:35 AM Changeset in webkit [167881] by calvaris@igalia.com
  • 2 edits in trunk/LayoutTests

[GTK] Review media bugs flags
https://bugs.webkit.org/show_bug.cgi?id=132246

Reviewed by Philippe Normand.

  • platform/gtk/TestExpectations: Review flags of the GTK media

bugs.

1:29 AM Changeset in webkit [167880] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM bindings symbols file.

  • bindings/gobject/webkitdom.symbols: Add missing symbols.
1:27 AM Changeset in webkit [167879] by Manuel Rego Casasnovas
  • 6 edits in trunk/Source/WebCore

OrderIterator refactoring to avoid extra loops
https://bugs.webkit.org/show_bug.cgi?id=119061

Reviewed by Darin Adler.

This patch removes order values Vector and use a Vector of pairs instead. The pairs are formed by a child
(RenderBox) and the index of this child. In addition, OrderIterator code is simplified.

It provides a helper class OrderIteratorPopulator, used for manipulating the Vector directly. Which allows to
consolidate the code into a single implementation across flexbox and grid. OrderIteratorPopulator part is based
on a patch from Blink r153971 by <jchaffraix@chromium.org>.

Current implementation is O(number of children * number of order values). Now it will just do a sort operation
and then a regular loop. So if you have different order values in a flexbox or grid the performance will
improve.

Comparing results of perf-tests:

  • Layout/auto-grid-lots-of-data: ~0.5% worse.
  • Layout/fixed-grid-lots-of-data: ~0.5% worse.
  • Layout/fixed-grid-lots-of-data (setting 100 different order values): ~50% better.
  • Layout/flexbox-lots-of-data: ~5% better.

No new tests, already covered by current tests.

  • rendering/OrderIterator.cpp:

(WebCore::OrderIterator::currentChild): Return current child according to m_childrenIndex.
(WebCore::OrderIterator::first): Initialize m_childrenIndex and return current child.
(WebCore::OrderIterator::next): Increase m_childrenIndex and return current child.
(WebCore::compareByOrderValueAndIndex): Sorts the Vector by order value and index.
(WebCore::OrderIteratorPopulator::~OrderIteratorPopulator): Calls compareByOrderValueAndIndex() if there is any
child with non default order value.
(WebCore::OrderIteratorPopulator::collectChild): Adds the child and index to the Vector. Update
m_allChildrenHaveDefaultOrderValue accordingly.
(WebCore::OrderIterator::OrderIterator): Deleted.
(WebCore::OrderIterator::setOrderValues): Deleted.
(WebCore::OrderIterator::reset): Deleted.

  • rendering/OrderIterator.h:

(WebCore::OrderIteratorPopulator::OrderIteratorPopulator): New helper class to manipulate the Vector.
(WebCore::OrderIterator::currentChild): Deleted.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::RenderFlexibleBox): Remove OrderIterator intialization.
(WebCore::RenderFlexibleBox::layoutBlock): Remove unneeded code related to old OrderValues vector.
(WebCore::RenderFlexibleBox::prepareOrderIteratorAndMargins): Populate OrderIterator using collectChild().
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Deleted.

  • rendering/RenderFlexibleBox.h: Rename computeMainAxisPreferredSizes() to prepareOrderIteratorAndMargins().
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::RenderGrid): Remove OrderIterator initialization.
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Populate OrderIterator using collectChild().

1:16 AM Changeset in webkit [167878] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

std::bitset<>::test() does unnecessary bounds checks on CSSPropertyID bitsets
https://bugs.webkit.org/show_bug.cgi?id=131685

Patch by Zan Dobersek <zdobersek@igalia.com> on 2014-04-28
Reviewed by Darin Adler.

Use std::bitset<>::operator[]() instead of std::bitset<>::test() to avoid
bounds checks which are not necessary as long as a CSSPropertyID value is used.

  • css/CSSParser.cpp:

(WebCore::filterProperties):

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::asText):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::CascadedProperties::hasProperty):
(WebCore::StyleResolver::CascadedProperties::set):

1:12 AM Changeset in webkit [167877] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebCore

std::bitset<>::test() does unnecessary bounds checks on CSSPropertyID bitsets
https://bugs.webkit.org/show_bug.cgi?id=131685

Reviewed by Darin Adler.

Use std::bitset<>::operator[]() instead of std::bitset<>::test() to avoid
bounds checks which are not necessary as long as a CSSPropertyID value is used.

  • css/CSSParser.cpp:

(WebCore::filterProperties):

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::asText):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::CascadedProperties::hasProperty):
(WebCore::StyleResolver::CascadedProperties::set):

1:06 AM Changeset in webkit [167876] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebCore

[GTK] TextTrack kind and mode attributes are enums since r166180
https://bugs.webkit.org/show_bug.cgi?id=132228

Reviewed by Martin Robinson.

We don't support enum values yet in GObject DOM bindings, but they
are internally strings anyway, so we can keep the old
implementations using strings as custom functions until we
properly support enums.

  • bindings/gobject/WebKitDOMCustom.cpp:

(webkit_dom_text_track_get_kind):
(webkit_dom_text_track_get_mode):
(webkit_dom_text_track_set_mode):

  • bindings/gobject/WebKitDOMCustom.h:
  • bindings/gobject/WebKitDOMCustom.symbols:
1:03 AM Changeset in webkit [167875] by Carlos Garcia Campos
  • 6 edits in trunk/Source/WebCore

[GTK] TextTrack::addCue can raise an exception since r163974
https://bugs.webkit.org/show_bug.cgi?id=132227

Reviewed by Martin Robinson.

webkit_dom_text_track_add_cue() now receives a GError paramater
which is an API break. Add
webkit_dom_text_track_add_cue_with_error and keep
webkit_dom_text_track_add_cue as deprecated to keep API
compatibility.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_text_track_add_cue):

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols:
  • bindings/gobject/webkitdom.symbols:
  • bindings/scripts/CodeGeneratorGObject.pm:

(GetEffectiveFunctionName):

12:57 AM Changeset in webkit [167874] by Carlos Garcia Campos
  • 9 edits in trunk/Source/WebCore

[GTK] TextTrackCue API changed in r163649
https://bugs.webkit.org/show_bug.cgi?id=132226

Reviewed by Martin Robinson.

TextTrackCue is now a base class and part of its API was moved to
the derived class VTTCue. Update the GObject DOM bindings to keep
backwards compatibility.

  • PlatformGTK.cmake: Generate bindings for DataCue and VTTCue.
  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_text_track_cue_get_cue_as_html): Mark as deprecated in
favor of VTTCue API.
(webkit_dom_text_track_cue_get_vertical): Ditto.
(webkit_dom_text_track_cue_set_vertical): Ditto.
(webkit_dom_text_track_cue_get_snap_to_lines): Ditto.
(webkit_dom_text_track_cue_set_snap_to_lines): Ditto.
(webkit_dom_text_track_cue_get_line): Ditto.
(webkit_dom_text_track_cue_set_line): Ditto.
(webkit_dom_text_track_cue_get_position): Ditto.
(webkit_dom_text_track_cue_set_position): Ditto.
(webkit_dom_text_track_cue_get_size): Ditto.
(webkit_dom_text_track_cue_set_size): Ditto.
(webkit_dom_text_track_cue_get_align): Ditto.
(webkit_dom_text_track_cue_set_align): Ditto.
(webkit_dom_text_track_cue_get_text): Ditto.
(webkit_dom_text_track_cue_set_text): Ditto.

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols: Add new deprecated symbols.
  • bindings/gobject/WebKitDOMPrivate.cpp:

(WebKit::wrap): Add generic wrap for TextTrackCue now that it's a
base class to generate DataCue or VTTCue objects.

  • bindings/gobject/WebKitDOMPrivate.h:
  • bindings/gobject/webkitdom.symbols: Add DataCue symbols.
  • bindings/scripts/CodeGeneratorGObject.pm:

(IsPolymorphic): Add TextTrackCue to the list of polymorphic classes.

12:51 AM Changeset in webkit [167873] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] GObject introspection links to installed libs when using jhbuild
https://bugs.webkit.org/show_bug.cgi?id=132220

Reviewed by Martin Robinson.

The problem is that gobject-introspection is linking the temporary
binaries adding the library paths present LDFLAGS environment
variable first, taking precedence over the libraries in the build
dir. Since the libraries paths of the dependencies are already
correctly deduced by gobject-introspection using ldd, we can
just unset the LDFLAGS variable before calling g-ir-scanner to
make sure the libraries in the build dir take predence.

  • PlatformGTK.cmake:

Apr 27, 2014:

11:15 PM Changeset in webkit [167872] by ryuan.choi@samsung.com
  • 4 edits in trunk

[EFL] Remove indexedDB's dependency on leveldb and disable indexedDB
https://bugs.webkit.org/show_bug.cgi?id=132176

Patch by Joonghun Park <jh718.park@samsung.com> on 2014-04-27
Reviewed by Gyuyoung Kim.

.:
EFL port will use sqlite to support indexedDB. So, this patch removes levelDB dependency for now.

  • Source/cmake/OptionsEfl.cmake:

Tools:
EFL port will use sqlite to support indexedDB. So, this patch removes levelDB dependency
and turn off indexedDB feature until the sqlite implementation is introduced.

  • Scripts/webkitperl/FeatureList.pm:
10:52 PM Changeset in webkit [167871] by abucur@adobe.com
  • 7 edits
    2 adds in trunk

Store the containing region map inside the flow thread
https://bugs.webkit.org/show_bug.cgi?id=131647

Reviewed by Mihnea Ovidenie.

Source/WebCore:
The patch moves the containing region map inside the flow thread where
it can be better handled in case the region chain changes and the map
needs to be cleared.

As a result of this move we are able to also cleanup the lines region
information of a block flow when it is removed from the tree.

Test: fast/regions/inline-strike-through.html

  • rendering/InlineFlowBox.h:

(WebCore::InlineFlowBox::InlineFlowBox):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::addOverflowFromInlineChildren):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::removeFlowChildInfo):
(WebCore::RenderFlowThread::invalidateRegions):
(WebCore::RenderFlowThread::removeLineRegionInfo):
(WebCore::RenderFlowThread::checkLinesConsistency):
(WebCore::RenderFlowThread::containingRegionMap):

  • rendering/RenderFlowThread.h:
  • rendering/RootInlineBox.cpp:

(WebCore::containingRegionMap):
(WebCore::RootInlineBox::~RootInlineBox):
(WebCore::RootInlineBox::paint):
(WebCore::RootInlineBox::containingRegion):
(WebCore::RootInlineBox::clearContainingRegion):
(WebCore::RootInlineBox::setContainingRegion):

LayoutTests:
Add a test that verifies the containing region map is properly cleared
when the region chain changes.

  • fast/regions/inline-strike-through-expected.txt: Added.
  • fast/regions/inline-strike-through.html: Added.
9:19 PM Changeset in webkit [167870] by Darin Adler
  • 5 edits
    2 adds in trunk

REGRESSION (r159345): The hover state for links in the top navigation of Yahoo.com doesn't work
https://bugs.webkit.org/show_bug.cgi?id=132241
rdar://problem/16501924

Reviewed by Andreas Kling.

Source/WebCore:
Test: fast/text/simple-lines-hover-underline.html

Checked that this does not hurt performance by running the
run-perf-tests PerformanceTests/Layout/line-layout.html command before and after.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::hitTestInlineChildren): Use simpleLineLayout function rather than
getting at the data member directly.
(WebCore::RenderBlockFlow::firstLineBaseline): Ditto.
(WebCore::RenderBlockFlow::inlineBlockBaseline): Ditto.
(WebCore::RenderBlockFlow::lineCount): Ditto.
(WebCore::RenderBlockFlow::paintInlineChildren): Ditto.
(WebCore::RenderBlockFlow::hasLines): Ditto.
(WebCore::RenderBlockFlow::simpleLineLayout): Added logic to determine which path to use if
m_lineLayoutPath is undetermined, and call createLineBoxes if it's not simple.
(WebCore::RenderBlockFlow::ensureLineBoxes): Factored out most of the code into a new
createLineBoxes function.
(WebCore::RenderBlockFlow::createLineBoxes): Ditto.

  • rendering/RenderBlockFlow.h: Made simpleLineLayout function no longer an inline.

Added a private createLineBoxes function.

LayoutTests:

  • fast/text/simple-lines-hover-underline-expected.html: Added.
  • fast/text/simple-lines-hover-underline.html: Added.
  • fast/text/simple-lines-hover.html: Removed an unneeded style element with a style rule that

does nothing.

9:07 PM Changeset in webkit [167869] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r164702): Double tap doesn't stay under the new element once the animation finishes
https://bugs.webkit.org/show_bug.cgi?id=132239
<rdar://problem/16192842>

Reviewed by Darin Adler.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scalePage):
The change in r167864 broke iOS animated resize, because it was depending on
the dynamic size update code not running if the scale wasn't going to change.
So, as a band-aid we should bail from doing that work if the scales aren't different.
In the long term we should try to untangle this code and make it less platform dependent.

7:37 PM Changeset in webkit [167868] by commit-queue@webkit.org
  • 10 edits in trunk

[MediaStream] .ended shouldn't be part of MediaStream IDL
https://bugs.webkit.org/show_bug.cgi?id=132104

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-04-27
Reviewed by Eric Carlson.

Source/WebCore:
.ended attribute is spec'ed out of MediaStream IDL. Instead, .active
is introduced to handle more scenarios. This patch replaces all 'ended'
attribute calls with corresponding 'active' attributes.

MediaStream-add-remove-tracks.html is updated.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::addTrack): Replaced ended() with active().
(WebCore::MediaStream::removeTrack): setEnded() isn't called. setActive()
is retained which propagates oninactive event.
(WebCore::MediaStream::trackDidEnd): setEnded() isn't called.
(WebCore::MediaStream::removeRemoteSource): Replaced ended() with active().
(WebCore::MediaStream::addRemoteTrack): Replaced ended() with active().
(WebCore::MediaStream::removeRemoteTrack): Replaced ended() with active().
(WebCore::MediaStream::ended): Deleted.
(WebCore::MediaStream::setEnded): Deleted.
(WebCore::MediaStream::streamDidEnd): Deleted.

  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/MediaStream.idl:
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::didRemoveRemoteStream): Replaced setEnded()
with setActive().

  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::MediaStreamPrivate):
(WebCore::MediaStreamPrivate::setActive): Updated comment from bug
https://bugs.webkit.org/show_bug.cgi?id=131973
(WebCore::MediaStreamPrivate::setEnded): Deleted.

  • platform/mediastream/MediaStreamPrivate.h:

(WebCore::MediaStreamPrivate::ended): Deleted.

LayoutTests:
.ended is not part of MediaStream IDL. Updated test case.

  • fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
  • fast/mediastream/MediaStream-add-remove-tracks.html:
7:09 PM Changeset in webkit [167867] by eunmi15.lee@samsung.com
  • 2 edits in trunk/Source/WebKit2

TouchEvent is not handled after releasing any point among touched points.
https://bugs.webkit.org/show_bug.cgi?id=132043

Reviewed by Benjamin Poulain.

Handle TouchEvent until all touched points are released by setting
trackingTouchEvents variable to false when all points are released.

  • UIProcess/WebPageProxy.cpp:

(WebKit::areAllTouchPointsReleased):
(WebKit::WebPageProxy::handleTouchEventSynchronously):
(WebKit::WebPageProxy::handleTouchEventAsynchronously):
(WebKit::WebPageProxy::handleTouchEvent):

6:55 PM Changeset in webkit [167866] by ap@apple.com
  • 4 edits in trunk/Source/WebKit2

Don't use DispatchMessageEvenWhenWaitingForSyncReply for messages from NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=132144

Reviewed by Darin Adler.

  • NetworkProcess/AsynchronousNetworkLoaderClient.cpp:

(WebKit::AsynchronousNetworkLoaderClient::willSendRequest):
(WebKit::AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
Dont use the IPC::DispatchMessageEvenWhenWaitingForSyncReply flag. It's not needed,
almost never works in NetworkProcess, but may cause trouble if it did.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess): Removed
setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage()
function call, because there are no more any messages in NetworkProcess it could affect.

  • Platform/IPC/Connection.cpp: (IPC::Connection::dispatchMessage): Added a FIXME

for an unrelated bug Anders and myself noticed while looking into this.

4:13 PM Changeset in webkit [167865] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] -[WKWebProcessPlugInController parameters] returns nil if no parameters have been set yet
https://bugs.webkit.org/show_bug.cgi?id=132223

Reviewed by Sam Weinig.

  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::bundleParameters): Create the WKWebProcessBundleParameters if
needed.

3:47 PM Changeset in webkit [167864] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r164702): Double tap doesn't stay under the new element once the animation finishes
https://bugs.webkit.org/show_bug.cgi?id=132239
<rdar://problem/16192842>

Reviewed by Sam Weinig.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scalePage):
The early-return added to WebPage::scalePage breaks callers who depend
on being able to call scalePage() with the same scale but a different
origin and having that change take effect.

Page::setPageScaleFactor already has the requisite logic, so move
the early return down after that call, and guard only notification
of page scale changes.

3:28 PM Changeset in webkit [167863] by aestes@apple.com
  • 8 edits
    1 delete in trunk/Source

[iOS] Stop creating a WKWebResourceQuickLookDelegate for every WebResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=132215

Reviewed by Dan Bernstein.

Source/WebCore:

  • WebCore.exp.in: Moved QuickLook symbols to the USE(QUICK_LOOK) stanza.
  • platform/network/ios/QuickLook.h: Changed one of the create() overloads to no longer take a delegate argument.
  • platform/network/ios/QuickLook.mm: Moved WKWebResourceQuickLookDelegate to here and renamed to WebResourceLoaderQuickLookDelegate.

(WebCore::QuickLookHandle::create): Created a WebResourceLoaderQuickLookDelegate only if QuickLook can handle the response.

Source/WebKit2:

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): Called QuickLookHandle::create() directly.

  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/ios/WebResourceLoaderIOS.mm: Removed.
2:33 PM Changeset in webkit [167862] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (167840): Layout Test fast/events/shadow-event-path[-2].html is failing

Mark as failing until the shared JS file can be recovered.

1:43 PM Changeset in webkit [167861] by weinig@apple.com
  • 16 edits in trunk/Source

[iOS WebKit2] Add support for text autosizing
<rdar://problem/16545245>
https://bugs.webkit.org/show_bug.cgi?id=132237

Reviewed by Tim Horton.

../WebCore:
Move text autosizing width from Frame to Page, as it is a Page level concept.

  • WebCore.exp.in:
  • page/Frame.cpp:

(WebCore::Frame::textAutosizingWidth): Deleted.
(WebCore::Frame::setTextAutosizingWidth): Deleted.

  • page/Frame.h:
  • page/FrameView.cpp:

(WebCore::FrameView::layout):

  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:

(WebCore::Page::textAutosizingWidth):
(WebCore::Page::setTextAutosizingWidth):

../WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _setTextAutosizingWidth:]):
Forward setting of the text autosizing width to the Page.

../WebKit2:

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::textAutosizingWidth):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
Pass the text autosizing width from the UIProcess to WebProcess.

1:42 PM Changeset in webkit [167860] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

WebKit2 View Gestures (Zoom): Pages with 'background-attachment: fixed' don't behave correctly when zoomed
https://bugs.webkit.org/show_bug.cgi?id=132225
<rdar://problem/15729975>

Reviewed by Darin Adler.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::layerForTransientZoom):
(WebKit::TiledCoreAnimationDrawingArea::shadowLayerForTransientZoom):
(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
Factor out code to choose which layer (and shadow layer) to apply the transient zoom to.
If we have a contentsContainmentLayer (because we have composited background-attachment: fixed),
it applies page scale, so we should apply the transient zoom to that layer
instead of the RenderView's main GraphicsLayer.

12:47 PM Changeset in webkit [167859] by psolanki@apple.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed. iOS build fix.

  • UIProcess/ios/SmartMagnificationController.h:
11:32 AM Changeset in webkit [167858] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening. Adding failure expectations for 6 failing reference tests.

  • platform/gtk/TestExpectations:
10:03 AM Changeset in webkit [167857] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Updating one bindings test baseline after r167855.

  • bindings/scripts/test/JS/JSTestCallback.cpp:

(WebCore::JSTestCallback::~JSTestCallback):

9:06 AM Changeset in webkit [167856] by Darin Adler
  • 9 edits in trunk/Source/WebCore

Webpages can trigger loads with invalid URLs
https://bugs.webkit.org/show_bug.cgi?id=132224
rdar://problem/16697142

Reviewed by Alexey Proskuryakov.

Invalid URLs can be a way to trick the user about what website they
are looking at. Still trying to figure out a good way to regression-test this.

  • dom/Document.cpp:

(WebCore::Document::processHttpEquiv): Pass a URL rather than a String to
the navigation scheduler.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::receivedFirstData): Ditto.

  • loader/NavigationScheduler.cpp:

(WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Take a URL rather
than a string.
(WebCore::ScheduledURLNavigation::url): Ditto.
(WebCore::ScheduledRedirect::ScheduledRedirect): Ditto.
(WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto.
(WebCore::ScheduledRefresh::ScheduledRefresh): Ditto.
(WebCore::NavigationScheduler::shouldScheduleNavigation): Added a check that
prevents navigation to any URL that is invalid, except for JavaScript URLs,
which need not be valid.
(WebCore::NavigationScheduler::scheduleRedirect): Use URL instead of String.
(WebCore::NavigationScheduler::scheduleLocationChange): Use URL instead of
String. Also got rid of empty string check since empty URLs are also invalid,
and so shouldScheduleNavigation will take care of it.
(WebCore::NavigationScheduler::scheduleRefresh): Use URL instead of String.

  • loader/NavigationScheduler.h: Take URL instead of String. Also removed some

unneeded incldues and uses of WTF_MAKE_NONCOPYABLE. NavigationScheduler is
already noncopyable because it has a reference for a data member, and the
disabler doesn't have any real reason to be noncopyable.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadOrRedirectSubframe): Pass a URL rather than a
String to the NavigationScheduler.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::createWindow): Ditto.

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::urlWithUniqueSecurityOrigin): Return a URL instead
of a String.

  • page/SecurityOrigin.h: Updated for above change.
7:07 AM Changeset in webkit [167855] by zandobersek@gmail.com
  • 35 edits in trunk/Source/WebCore

ScriptExecutionContext::Task should work well with C++11 lambdas
https://bugs.webkit.org/show_bug.cgi?id=129795

Reviewed by Darin Adler.

Instead of having classes that subclass ScriptExecutionContext::Task and override
the performTask(ScriptExecutionContext*) method, have the ScriptExecutionContext::Task
take in a std::function<void (ScriptExecutionContext*)>-like object trough the constructor
which would contain the code currently kept in the performTask() methods.

This enables inlining C++11 lambdas into ScriptExecutionContext::postTask() calls. For
cleanup tasks, the Task object can be implicitly constructed by using the initializer list
constructor with the first argument being the ScriptExecutionContext::Task::CleanupTask tag.
The ScriptExecutionContext class remains non-copyable and now stores the passed-in invokable
object in the std::function wrapper, along with a boolean member that indicates whether the
task is of cleanup nature.

  • Modules/quota/StorageErrorCallback.cpp:

(WebCore::StorageErrorCallback::CallbackTask::CallbackTask):
(WebCore::StorageErrorCallback::CallbackTask::performTask): Deleted.

  • Modules/quota/StorageErrorCallback.h:

(WebCore::StorageErrorCallback::CallbackTask::create): Deleted.

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::~Database):
(WebCore::Database::runTransaction):
(WebCore::Database::scheduleTransactionCallback):
(WebCore::DerefContextTask::create): Deleted.
(WebCore::DerefContextTask::performTask): Deleted.
(WebCore::DerefContextTask::isCleanupTask): Deleted.
(WebCore::DerefContextTask::DerefContextTask): Deleted.
(WebCore::callTransactionErrorCallback): Deleted.
(WebCore::DeliverPendingCallbackTask::create): Deleted.
(WebCore::DeliverPendingCallbackTask::performTask): Deleted.
(WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask): Deleted.

  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::openDatabase):
(WebCore::DatabaseCreationCallbackTask::create): Deleted.
(WebCore::DatabaseCreationCallbackTask::performTask): Deleted.
(WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask): Deleted.

  • Modules/webdatabase/DatabaseSync.cpp:

(WebCore::CloseSyncDatabaseOnContextThreadTask::create): Deleted.
(WebCore::CloseSyncDatabaseOnContextThreadTask::performTask): Deleted.
(WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask): Deleted.

  • Modules/webdatabase/SQLCallbackWrapper.h:

(WebCore::SQLCallbackWrapper::clear):
(WebCore::SQLCallbackWrapper::SafeReleaseTask::create): Deleted.
(WebCore::SQLCallbackWrapper::SafeReleaseTask::performTask): Deleted.
(WebCore::SQLCallbackWrapper::SafeReleaseTask::isCleanupTask): Deleted.
(WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask): Deleted.

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:

(WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
(WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
(WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
  • Modules/websockets/WorkerThreadableWebSocketChannel.cpp:

(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
(WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
(WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::create): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::~WorkerGlobalScopeDidInitializeTask): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask): Deleted.

  • Modules/websockets/WorkerThreadableWebSocketChannel.h:
  • bindings/js/JSCallbackData.h:

(WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
(WebCore::DeleteCallbackDataTask::create): Deleted.
(WebCore::DeleteCallbackDataTask::performTask): Deleted.
(WebCore::DeleteCallbackDataTask::isCleanupTask): Deleted.

  • bindings/js/JSDOMGlobalObjectTask.cpp:

(WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
(WebCore::JSGlobalObjectTask::~JSGlobalObjectTask): Deleted.
(WebCore::JSGlobalObjectTask::performTask): Deleted.

  • bindings/js/JSDOMGlobalObjectTask.h:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::queueTaskToEventLoop):

  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallbackImplementation):

  • dom/CrossThreadTask.h:

(WebCore::CrossThreadTask1::performTask):
(WebCore::CrossThreadTask2::performTask):
(WebCore::CrossThreadTask3::performTask):
(WebCore::CrossThreadTask4::performTask):
(WebCore::CrossThreadTask5::performTask):
(WebCore::CrossThreadTask6::performTask):
(WebCore::CrossThreadTask7::performTask):
(WebCore::CrossThreadTask8::performTask):
(WebCore::createCallbackTask):
(WebCore::CrossThreadTask1::create): Deleted.
(WebCore::CrossThreadTask2::create): Deleted.
(WebCore::CrossThreadTask3::create): Deleted.
(WebCore::CrossThreadTask4::create): Deleted.
(WebCore::CrossThreadTask5::create): Deleted.
(WebCore::CrossThreadTask6::create): Deleted.
(WebCore::CrossThreadTask7::create): Deleted.
(WebCore::CrossThreadTask8::create): Deleted.

  • dom/Document.cpp:

(WebCore::Document::addConsoleMessage):
(WebCore::Document::addMessage):
(WebCore::Document::postTask):
(WebCore::Document::pendingTasksTimerFired):
(WebCore::PerformTaskContext::PerformTaskContext): Deleted.
(WebCore::Document::didReceiveTask): Deleted.

  • dom/Document.h:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
(WebCore::ScriptExecutionContext::timerAlignmentInterval):
(WebCore::ProcessMessagesSoonTask::create): Deleted.
(WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask): Deleted.
(WebCore::ScriptExecutionContext::Task::~Task): Deleted.

  • dom/ScriptExecutionContext.h:

(WebCore::ScriptExecutionContext::Task::Task):
(WebCore::ScriptExecutionContext::Task::performTask):
(WebCore::ScriptExecutionContext::Task::isCleanupTask):
(WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
(WebCore::ScriptExecutionContext::AddConsoleMessageTask::create): Deleted.

  • dom/StringCallback.cpp:

(WebCore::StringCallback::scheduleCallback):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::postListenerTask):
(WebCore::CallCacheListenerTask::create): Deleted.
(WebCore::CallCacheListenerTask::CallCacheListenerTask): Deleted.

  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerProxy::postTaskToLoader):
(WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
(WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
(WebCore::DefaultSharedWorkerRepository::connectToWorker):
(WebCore::SharedWorkerConnectTask::create): Deleted.
(WebCore::SharedWorkerConnectTask::performTask): Deleted.

  • workers/WorkerEventQueue.cpp:

(WebCore::WorkerEventQueue::EventDispatcher::EventDispatcher):
(WebCore::WorkerEventQueue::EventDispatcher::~EventDispatcher):
(WebCore::WorkerEventQueue::EventDispatcher::dispatch):
(WebCore::WorkerEventQueue::enqueueEvent):
(WebCore::WorkerEventQueue::cancelEvent):
(WebCore::WorkerEventQueue::close):

  • workers/WorkerEventQueue.h:
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::close):
(WebCore::WorkerGlobalScope::postTask):
(WebCore::WorkerGlobalScope::addConsoleMessage):
(WebCore::WorkerGlobalScope::addMessage):
(WebCore::CloseWorkerGlobalScopeTask::create): Deleted.
(WebCore::CloseWorkerGlobalScopeTask::performTask): Deleted.
(WebCore::CloseWorkerGlobalScopeTask::isCleanupTask): Deleted.

  • workers/WorkerGlobalScope.h:
  • workers/WorkerLoaderProxy.h:
  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
(WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
(WebCore::WorkerMessagingProxy::postTaskToLoader):
(WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
(WebCore::WorkerMessagingProxy::workerThreadCreated):
(WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
(WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
(WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
(WebCore::WorkerMessagingProxy::postMessageToPageInspector):
(WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
(WebCore::WorkerMessagingProxy::reportPendingActivity):
(WebCore::MessageWorkerGlobalScopeTask::create): Deleted.
(WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask): Deleted.
(WebCore::MessageWorkerGlobalScopeTask::performTask): Deleted.
(WebCore::MessageWorkerTask::create): Deleted.
(WebCore::MessageWorkerTask::MessageWorkerTask): Deleted.
(WebCore::MessageWorkerTask::performTask): Deleted.
(WebCore::WorkerExceptionTask::create): Deleted.
(WebCore::WorkerExceptionTask::WorkerExceptionTask): Deleted.
(WebCore::WorkerExceptionTask::performTask): Deleted.
(WebCore::WorkerGlobalScopeDestroyedTask::create): Deleted.
(WebCore::WorkerGlobalScopeDestroyedTask::WorkerGlobalScopeDestroyedTask): Deleted.
(WebCore::WorkerGlobalScopeDestroyedTask::performTask): Deleted.
(WebCore::WorkerTerminateTask::create): Deleted.
(WebCore::WorkerTerminateTask::WorkerTerminateTask): Deleted.
(WebCore::WorkerTerminateTask::performTask): Deleted.
(WebCore::WorkerThreadActivityReportTask::create): Deleted.
(WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask): Deleted.
(WebCore::WorkerThreadActivityReportTask::performTask): Deleted.
(WebCore::PostMessageToPageInspectorTask::create): Deleted.
(WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask): Deleted.
(WebCore::PostMessageToPageInspectorTask::performTask): Deleted.
(WebCore::NotifyNetworkStateChangeTask::create): Deleted.
(WebCore::NotifyNetworkStateChangeTask::NotifyNetworkStateChangeTask): Deleted.
(WebCore::NotifyNetworkStateChangeTask::performTask): Deleted.

  • workers/WorkerMessagingProxy.h:
  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::postTask):
(WebCore::WorkerRunLoop::postTaskAndTerminate):
(WebCore::WorkerRunLoop::postTaskForMode):
(WebCore::WorkerRunLoop::Task::create):
(WebCore::WorkerRunLoop::Task::performTask):
(WebCore::WorkerRunLoop::Task::Task):

  • workers/WorkerRunLoop.h:
  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::stop):
(WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
(WebCore::WorkerThreadShutdownFinishTask::create): Deleted.
(WebCore::WorkerThreadShutdownFinishTask::performTask): Deleted.
(WebCore::WorkerThreadShutdownFinishTask::isCleanupTask): Deleted.
(WebCore::WorkerThreadShutdownStartTask::create): Deleted.
(WebCore::WorkerThreadShutdownStartTask::performTask): Deleted.
(WebCore::WorkerThreadShutdownStartTask::isCleanupTask): Deleted.

6:40 AM Changeset in webkit [167854] by zandobersek@gmail.com
  • 44 edits in trunk/Source/WebKit2

Move cross-port WebKit2 code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=129670

Reviewed by Darin Adler.

Replace uses of OwnPtr, PassOwnPtr in cross-port WebKit2 code with std::unique_ptr.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::addSupplement):

  • NetworkProcess/SynchronousNetworkLoaderClient.cpp:

(WebKit::SynchronousNetworkLoaderClient::didReceiveBuffer):

  • NetworkProcess/SynchronousNetworkLoaderClient.h:
  • Platform/IPC/Connection.cpp:

(IPC::Connection::dispatchWorkQueueMessageReceiverMessage):

  • Platform/IPC/Connection.h:
  • Platform/IPC/MessageReceiver.h:
  • Platform/Module.h:
  • Platform/WorkQueue.h:
  • Platform/efl/ModuleEfl.cpp:

(WebKit::Module::load):

  • Platform/mac/LayerHostingContext.mm:
  • Shared/APIURL.h:
  • Shared/Network/CustomProtocols/CustomProtocolManager.h:
  • Shared/Plugins/NPRemoteObjectMap.cpp:
  • Shared/ShareableBitmap.h:
  • UIProcess/DrawingAreaProxyImpl.h:
  • UIProcess/InspectorServer/WebSocketServer.cpp:

(WebKit::WebSocketServer::didAcceptConnection):
(WebKit::WebSocketServer::didCloseWebSocketServerConnection):

  • UIProcess/InspectorServer/WebSocketServer.h:
  • UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:

(WebKit::connectionCallback):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::createDownloadProxy):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Notifications/WebNotificationManagerProxy.h:
  • UIProcess/Plugins/WebPluginSiteDataManager.cpp:

(WebKit::WebPluginSiteDataManager::getSitesWithData):
(WebKit::WebPluginSiteDataManager::clearSiteData):
(WebKit::WebPluginSiteDataManager::didGetSitesWithDataForAllPlugins):
(WebKit::WebPluginSiteDataManager::didClearSiteDataForAllPlugins):

  • UIProcess/Plugins/WebPluginSiteDataManager.h:
  • UIProcess/Storage/StorageManager.cpp:

(WebKit::callCallbackFunction):
(WebKit::StorageManager::getOriginsInternal):

  • UIProcess/WebPageProxy.cpp:

(WebKit::ExceededDatabaseQuotaRecords::areBeingProcessed):
(WebKit::ExceededDatabaseQuotaRecords::createRecord):
(WebKit::ExceededDatabaseQuotaRecords::add):
(WebKit::ExceededDatabaseQuotaRecords::next):
(WebKit::WebPageProxy::handleMouseEvent):
(WebKit::WebPageProxy::handleWheelEvent):
(WebKit::WebPageProxy::processNextQueuedWheelEvent):
(WebKit::WebPageProxy::internalShowContextMenu):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::createDownloadProxy):

  • UIProcess/WebProcessProxy.h:
  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::PluginDestructionProtector::PluginDestructionProtector):

  • WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:

(WebKit::NetscapePluginStream::deliverData):

  • WebProcess/Plugins/Netscape/NetscapePluginStream.h:
  • WebProcess/Plugins/PluginProcessConnectionManager.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::initialize):
(WebKit::PluginProxy::didCreatePluginInternal):
(WebKit::PluginProxy::didFailToCreatePluginInternal):

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::createWebEvent):
(WebKit::PluginView::handleEvent):

  • WebProcess/Plugins/PluginView.h:
  • WebProcess/WebCoreSupport/WebPopupMenu.h:
  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::EventDispatcher):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::beginPrinting):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebProcess.h:

(WebKit::WebProcess::addSupplement):

4:53 AM Changeset in webkit [167853] by Antti Koivisto
  • 9 edits in trunk/Source

Coalesce responses on network process side
https://bugs.webkit.org/show_bug.cgi?id=132229

Reviewed by Andreas Kling.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit2:

To reduce IPC we should coalesce response data in the network process and send it over with single IPC call.

  • NetworkProcess/AsynchronousNetworkLoaderClient.cpp:

(WebKit::AsynchronousNetworkLoaderClient::AsynchronousNetworkLoaderClient):
(WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse):
(WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
(WebKit::AsynchronousNetworkLoaderClient::didFinishLoading):
(WebKit::AsynchronousNetworkLoaderClient::didFail):
(WebKit::AsynchronousNetworkLoaderClient::dispatchPartialCoalescedResponse):
(WebKit::AsynchronousNetworkLoaderClient::clearCoalescedResponse):
(WebKit::AsynchronousNetworkLoaderClient::responseCoalesceTimerFired):

Coalesce the response. Completed response is sent on didFinishLoading. If the coalesce timer fires
before that the data accumulated so far is dispatched.

  • NetworkProcess/AsynchronousNetworkLoaderClient.h:
  • NetworkProcess/NetworkResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveCompleteResponse):

  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:


Add a new message type that covers didReceiveResponse, didReceiveBuffer and didFinishLoading in a single message.

1:15 AM Changeset in webkit [167852] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebCore

Roll out changes not part of the patch reviewed for Bug 132089
<http://webkit.org/b/132089>

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadOrRedirectSubframe):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::setLocation):
(WebCore::DOMWindow::createWindow):
(WebCore::DOMWindow::open):

Apr 26, 2014:

9:09 PM Changeset in webkit [167851] by Darin Adler
  • 4 edits in trunk/Source/WebCore

Frame and page lifetime fixes in WebCore::createWindow
https://bugs.webkit.org/show_bug.cgi?id=132089

Reviewed by Sam Weinig.

Speculative fix because I was unable to reproduce the crash that was
reported with the test case attached to this bug.

  • loader/FrameLoader.cpp:

(WebCore::createWindow): Changed code to remove the assumption that calls
out will not destroy the page or frame. Use RefPtr for the frame, and
added early exits if frame->page() becomes null at any point before we
use a page pointer.

7:48 PM Changeset in webkit [167850] by ap@apple.com
  • 4 edits
    2 adds in trunk

Local files should not be allowed to read pasteboard data during drag
https://bugs.webkit.org/show_bug.cgi?id=131767

Reviewed by Sam Weinig.

Source/WebCore:
Test: fast/files/local-file-drag-security.html

  • page/DragController.cpp:

(WebCore::DragController::dragExited):
(WebCore::DragController::tryDHTMLDrag):
Make an old Dashboard quirk really Dashboard only.

LayoutTests:

  • fast/files/local-file-drag-security-expected.txt: Added.
  • fast/files/local-file-drag-security.html: Added.
  • platform/wk2/TestExpectations:
7:43 PM Changeset in webkit [167849] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r167775): Safari crashes in ViewSnapshotStore::pruneSnapshots after loading 20 pages
https://bugs.webkit.org/show_bug.cgi?id=132204
<rdar://problem/16735622>

Reviewed by Dan Bernstein and Sam Weinig.

  • UIProcess/mac/ViewSnapshotStore.mm:

(WebKit::ViewSnapshotStore::pruneSnapshots):
(WebKit::ViewSnapshotStore::recordSnapshot):
Fix a bug where the count of snapshots with live images was too high
because we were failing to decrement it when replacing a snapshot of
an existing item with a fresh one.

5:03 PM Changeset in webkit [167848] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.31.2/Source

Versioning.

5:01 PM Changeset in webkit [167847] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.31.2

New tag.

4:29 PM Changeset in webkit [167846] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Rename a bundle form delegate method
https://bugs.webkit.org/show_bug.cgi?id=132221

Reviewed by Adele Peterson.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Renamed.
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Check for the method
under the old (“new”) name and under the new name.

2:28 PM Changeset in webkit [167845] by Darin Adler
  • 3 edits
    4 adds in trunk

REGRESSION (r164133): Selection doesn't paint when scrolling some pages
https://bugs.webkit.org/show_bug.cgi?id=132172

Source/WebCore:
rdar://problem/16719473

Reviewed by Brent Fulgham.

Tests: fast/dynamic/remove-invisible-node-inside-selection.html

fast/dynamic/remove-node-inside-selection.html

  • editing/FrameSelection.cpp:

(WebCore::clearRenderViewSelection): Changed to take a Node& because having
this take a Position& was unnecessary and strange, when really it just needs
to take a document as an argument.
(WebCore::DragCaretController::nodeWillBeRemoved): Updated for the above.
(WebCore::FrameSelection::respondToNodeModification): Added code to set the
m_pendingSelectionUpdate flag and call RenderView::setNeedsLayout so the
selection will be recomputed after it's temporarily cleared when one of
the selected nodes is removed.

LayoutTests:

Reviewed by Brent Fulgham.

  • fast/dynamic/remove-invisible-node-inside-selection-expected.html: Added.
  • fast/dynamic/remove-invisible-node-inside-selection.html: Added.
  • fast/dynamic/remove-node-inside-selection-expected.html: Added.
  • fast/dynamic/remove-node-inside-selection.html: Added.
12:15 PM Changeset in webkit [167844] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.31.1/Source

Versioning.

12:13 PM Changeset in webkit [167843] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.31.1

New tag.

Apr 25, 2014:

11:00 PM Changeset in webkit [167842] by akling@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Inline (C++) GetByVal with numeric indices more aggressively.
<https://webkit.org/b/132218>

We were already inlining the string indexed GetByVal path pretty well,
while the path for numeric indices got neglected. No more!

~9.5% improvement on Dromaeo/dom-traverse.html on my MBP:

Before: 199.50 runs/s

After: 218.58 runs/s

Reviewed by Phil Pizlo.

  • dfg/DFGOperations.cpp:
  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::get):

ALWAYS_INLINE all the things.

  • runtime/JSObject.h:

(JSC::JSObject::getPropertySlot):

Avoid fetching the Structure more than once. We have the same
optimization in the string-indexed code path.

10:53 PM Changeset in webkit [167841] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] Synthesized getter for WKNavigationAction's _userInitiated property has the wrong name
https://bugs.webkit.org/show_bug.cgi?id=132219

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKNavigationActionInternal.h:
9:41 PM Changeset in webkit [167840] by rniwa@webkit.org
  • 4 edits
    2 adds in trunk

REGRESSION (r167689): Hovering file name in a file input causes a crash
https://bugs.webkit.org/show_bug.cgi?id=132214

Reviewed by Andreas Kling.

Source/WebCore:
The bug was caused by callDefaultEventHandlersInTheBubblingOrder unconditionally
accessing path.contextAt(0) even if the event path was empty.

Fixed the bug by exiting early when the event path is empty.

Test: fast/events/shadow-event-path-2.html

  • dom/EventDispatcher.cpp:

(WebCore::callDefaultEventHandlersInTheBubblingOrder):

LayoutTests:
Add a regression test.

  • fast/events/shadow-event-path-2-expected.txt: Added.
  • fast/events/shadow-event-path-2.html: Added.
  • fast/events/shadow-event-path.html:
8:54 PM Changeset in webkit [167839] by dino@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] getAssistedNodeInformation crashes getting the bounding box if it doesn't have a renderer
https://bugs.webkit.org/show_bug.cgi?id=132217
<rdar://problem/16671662>

Patch by Simon Fraser <Simon Fraser> on 2014-04-25
Reviewed by Dean Jackson.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getAssistedNodeInformation): Check that m_assistedNode has
a renderer before asking for its bounding box.

8:30 PM Changeset in webkit [167838] by akling@apple.com
  • 7 edits
    1 add in trunk/PerformanceTests

Bump jQuery to same version that dromaeo.com uses.

Rubber-stamped by Ryosuke Niwa.

  • Dromaeo/resources/dromaeo/web/lib/jquery-1.10.2.min.js: Added.
  • Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html:
  • Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html:
  • Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html:
  • Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html:
  • Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html:
  • Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html:
5:31 PM Changeset in webkit [167837] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r167828): http/tests/media/hls/video-controls-live-stream.html fails

  • English.lproj/mediaControlsLocalizedStrings.js:

Add 'Live Broadcast' to the localized strings list.

5:12 PM Changeset in webkit [167836] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Add an intermediary view to do the target transform and adjustment transform
https://bugs.webkit.org/show_bug.cgi?id=132175

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-25
Reviewed by Enrica Casucci.

Some utility views of WKContentView account for the transforms between the content view
and the utility view.

Since the dynamic resize relies on setting subLayerTransforms, it is getting in the way.

This patch adds a layer in between for the animation. That way the content view remains
unscaled.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):

5:06 PM Changeset in webkit [167835] by enrica@apple.com
  • 4 edits in trunk/Source/WebKit2

REGRESSION (iOS WebKit2): Selection is not being repainted during live resize.
https://bugs.webkit.org/show_bug.cgi?id=132216
<rdar://problem/16628819>

Reviewed by Benjamin Poulain.

Since the selection is drawn in the UIProcess on iOS,
we need to update the selection rects and force a repaint
during a live resize.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidLayout):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateSelectionAppearance):

4:48 PM Changeset in webkit [167834] by jcraig@apple.com
  • 2 edits in trunk/Tools

Set prepare-Changelog flag so that it no longer runs check-webkit-style by default
https://bugs.webkit.org/show_bug.cgi?id=132209

Reviewed by Daniel Bates.

Set default to --no-style to avoid additional spew from false positives in check-webkit-style.
Run check-webkit-style before generating changelogs to avoid additional spurious errors.

  • Scripts/prepare-ChangeLog:

(main):

4:43 PM Changeset in webkit [167833] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: DOM Tree debugger popover obscures dashboard
https://bugs.webkit.org/show_bug.cgi?id=132205

Patch by Jonathan Wells <jonowells@apple.com> on 2014-04-25
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DashboardContainerView.css:

(.toolbar .dashboard.visible): Change z-index to 1. Force stacking context.

  • UserInterface/Views/Popover.css:

(.popover): Add z-index: 100.

4:14 PM Changeset in webkit [167832] by oliver@apple.com
  • 3 edits
    3 adds in trunk

Need earlier cell test
https://bugs.webkit.org/show_bug.cgi?id=132211

Reviewed by Mark Lam.

Source/JavaScriptCore:
Move cell test to before the function call repatch
location, as the repatch logic for 32bit assumes that the
caller will already have performed a cell check.

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

LayoutTests:
Tests

  • js/regress/polymorphic-array-call-expected.txt: Added.
  • js/regress/polymorphic-array-call.html: Added.
  • js/regress/script-tests/polymorphic-array-call.js: Added.

(func.C.this.m):
(func.C):
(func):

4:08 PM Changeset in webkit [167831] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Un-fast-allocate JSGlobalObjectRareData because Windows doesn't build and I'm not in the mood.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::JSGlobalObjectRareData::JSGlobalObjectRareData):
(JSC::JSGlobalObject::JSGlobalObjectRareData::~JSGlobalObjectRareData): Deleted.

4:05 PM Applications using WebKit edited by yves@mailhot.com
(diff)
4:04 PM Applications using WebKit edited by yves@mailhot.com
(diff)
4:03 PM Applications using WebKit edited by yves@mailhot.com
(diff)
3:22 PM Changeset in webkit [167830] by beidson@apple.com
  • 11 edits
    5 adds in trunk/Source

Add a selection overlay.
<rdar://problem/16727797> and https://bugs.webkit.org/show_bug.cgi?id=132200

Reviewed by David Hyatt.

Source/WebCore:
No new tests (WK2 feature in development).

  • WebCore.xcodeproj/project.pbxproj:

Add a SelectionRectGathterer class.
It creates a Notifier (given a RenderView) then accepts Rects from the RenderView.
When the Notifier is destroyed, the appropriate EditorClient is notified of the gathered rects.

  • editing/SelectionRectGatherer.cpp: Added.

(WebCore::SelectionRectGatherer::SelectionRectGatherer):
(WebCore::SelectionRectGatherer::addRect):
(WebCore::SelectionRectGatherer::addRects):
(WebCore::SelectionRectGatherer::Notifier::Notifier):
(WebCore::SelectionRectGatherer::Notifier::~Notifier):
(WebCore::SelectionRectGatherer::clearAndCreateNotifier):

  • editing/SelectionRectGatherer.h: Added.
  • page/EditorClient.h:

(WebCore::EditorClient::selectionRectsDidChange):

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):
(WebCore::RenderView::setSelection): Clear the gatherer’s rects then create a Notifier.
(WebCore::RenderView::setSubtreeSelection): Give all the selection rects to be painted to

the SelectionRectGatherer.

  • rendering/RenderView.h:

Source/WebKit2:

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::selectionRectsDidChange): Pass the new selection rects on

to the selection overlay controller.

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebPage/SelectionOverlayController.cpp: Added.

(WebKit::SelectionOverlayController::SelectionOverlayController):
(WebKit::SelectionOverlayController::createOverlayIfNeeded):
(WebKit::SelectionOverlayController::destroyOverlay):
(WebKit::SelectionOverlayController::pageOverlayDestroyed):
(WebKit::SelectionOverlayController::willMoveToWebPage):
(WebKit::SelectionOverlayController::didMoveToWebPage):
(WebKit::SelectionOverlayController::selectionRectsDidChange):
(WebKit::SelectionOverlayController::drawRect):
(WebKit::SelectionOverlayController::mouseEvent):

  • WebProcess/WebPage/SelectionOverlayController.h: Added.

(WebKit::SelectionOverlayController::create):

  • WebProcess/WebPage/mac/SelectionOverlayControllerMac.mm: Added.

(WebKit::SelectionOverlayController::drawRect):
(WebKit::SelectionOverlayController::mouseEvent):
(WebKit::SelectionOverlayController::handleClick):
(WebKit::SelectionOverlayController::clearHighlight):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::selectionOverlayController):

  • WebProcess/WebPage/WebPage.h:
3:18 PM Changeset in webkit [167829] by dino@apple.com
  • 2 edits in trunk/WebKitLibraries

Update WKSI for https://webkit.org/b/132195
<rdar://problem/16175750>

Sorry, I forgot to update the header. This should fix
the Mac builds.

  • WebKitSystemInterface.h:
3:18 PM Changeset in webkit [167828] by jer.noble@apple.com
  • 10 edits
    6 adds in trunk

Support "Live" streams in media controls.
https://bugs.webkit.org/show_bug.cgi?id=131390

Reviewed by Brent Fulgham.

Source/WebCore:
Test: http/tests/media/hls/video-controls-live-stream.html

Support "Live" streams by adding an isLive property to our media controls.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-status-display):
(video:-webkit-full-screen::-webkit-media-controls-status-display):

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller): isLive defaults to false.
(Controller.prototype.setIsLive): Set the isLive property and conditionally reconfigure the controls.
(Controller.prototype.configureInlineControls): Don't add the timeline if we are live.
(Controller.prototype.configureFullScreenControls): Ditto.
(Controller.prototype.updateStatusDisplay): Added.
(Controller.prototype.handleLoadStart): Call updateStatusDisplay().
(Controller.prototype.handleError): Ditto.
(Controller.prototype.handleAbort): Ditto.
(Controller.prototype.handleSuspend): Ditto.
(Controller.prototype.handleStalled): Ditto.
(Controller.prototype.handleWaiting): Ditto.
(Controller.prototype.updateDuration): Ditto.
(Controller.prototype.updateReadyState): Ditto.

LayoutTests:

  • http/tests/media/hls/video-controls-live-stream-expected.txt: Added.
  • http/tests/media/hls/video-controls-live-stream.html: Added.
  • http/tests/media/resources/hls/test-live.php: Added.
  • http/tests/media/resources/hls/test-vod.m3u8: Added.
  • http/tests/media/resources/hls/test.ts: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/mac/fast/layers/video-layer-expected.txt:
  • platform/mac/media/media-controls-clone-expected.txt:
  • platform/wincairo/TestExpectations:
3:02 PM Changeset in webkit [167827] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r167818): editing/inserting/typing-space-to-trigger-smart-link.html fails on WebKit1 bots
https://bugs.webkit.org/show_bug.cgi?id=132207

  • platform/mac-wk1/TestExpectations:

Mark as failing in WebKit1.

2:47 PM Changeset in webkit [167826] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove duplicate member variable in WKAutocorrectionRects and WKAutocorrectionContext.
https://bugs.webkit.org/show_bug.cgi?id=132206

Reviewed by Benjamin Poulain.

  • UIProcess/ios/WKContentViewInteraction.mm:
2:42 PM Changeset in webkit [167825] by dino@apple.com
  • 18 edits in trunk/Source

Allow a platform-specific size enumeration to be passed into popup-menu display
https://bugs.webkit.org/show_bug.cgi?id=132195

Reviewed by Brent Fulgham. With some in-person review comments from Sam Weinig.

Platforms like OS X use a set of predefined sizes for built-in controls
used for <select>: normal, small and mini. Expose that information to
the PopupMenuClient via the PopupMenuStyle, allowing it to be passed
into the platform code in WebKitSystemInterface.

Source/WebCore:

  • platform/PopupMenuStyle.h: Add a menu size enum.

(WebCore::PopupMenuStyle::PopupMenuStyle):
(WebCore::PopupMenuStyle::menuSize):

  • platform/mac/WebCoreSystemInterface.h: Pass in NSControlSize as a parameter

to WKPopupMenu.

  • platform/mac/WebCoreSystemInterface.mm: Ditto.
  • rendering/RenderMenuList.cpp:

(RenderMenuList::menuStyle): Ask the RenderTheme to calculate the size
of the menu button, so that it can be added to the PopupMenuStyle.

  • rendering/RenderTheme.h: New method to retrieve the menu size.

(WebCore::RenderTheme::popupMenuSize): Convert an NSControlSize into a PopupMenuSize.

  • rendering/RenderThemeMac.h: Override the base function, and add a

controlSizeForCell helper.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::controlSizeForCell): Used by this new
code and the old setControlSizeForCell to calculate the NSControlSize
that would be used for the button.
(WebCore::RenderThemeMac::setControlSize): Call the new helper.
(WebCore::RenderThemeMac::popupMenuSize): Return the value from the helper.

Source/WebKit/mac:

  • WebCoreSupport/PopupMenuMac.mm:

(PopupMenuMac::show): Convert the WebCore menu size type into the
WebCoreSystemInterface type.

Source/WebKit2:

  • Shared/PlatformPopupMenuData.cpp: Encode and decode the PopupMenuSize enum.

(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):

  • Shared/PlatformPopupMenuData.h: Add PopupMenuSize member variable.
  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::showPopupMenu): Convert the PopupMenuSize
into a WKControlSize, and pass that into WKPopupMenu.

  • WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:

(WebKit::WebPopupMenu::setUpPlatformData): Add the PopupMenuSize to
the PlatformPopupMenuData.

2:40 PM Changeset in webkit [167824] by dino@apple.com
  • 4 edits in trunk/WebKitLibraries

Update WKSI for https://webkit.org/b/132195
<rdar://problem/16175750>

Reviewed by Jessie Berlin.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
2:32 PM Changeset in webkit [167823] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Windows build fix attempt.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::JSGlobalObjectRareData::~JSGlobalObjectRareData):

2:28 PM Changeset in webkit [167822] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION (r167775): Safari crashes in ViewSnapshotStore::pruneSnapshots after loading 20 pages
https://bugs.webkit.org/show_bug.cgi?id=132204
<rdar://problem/16729123>

Reviewed by Anders Carlsson.

  • UIProcess/mac/ViewSnapshotStore.h:
  • UIProcess/mac/ViewSnapshotStore.mm:

(WebKit::ViewSnapshotStore::ViewSnapshotStore):
(WebKit::ViewSnapshotStore::pruneSnapshots):
(WebKit::ViewSnapshotStore::recordSnapshot):
Keep track of the number of snapshots that actually have live images; the
size of the snapshot map no longer represents that.
Also, fix the crash by using the UUID from the current item instead of from
the (potentially null) most distant item; r167775 accidentally typo'd this.

2:17 PM Changeset in webkit [167821] by commit-queue@webkit.org
  • 6 edits in trunk

REGRESSION(r167799): ASSERTION in parseGridTemplateShorthand in fast/css-grid-layout/grid-template-shorthand-get-set.html
https://bugs.webkit.org/show_bug.cgi?id=132194

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-04-25
Reviewed by Martin Robinson.

Source/WebCore:
Properly resolving the grid-template shorthand for the corresponding longhand
properties.

No new tests, grid-template-shorthand-get-set.html already covers this case.

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue):

  • css/StylePropertyShorthand.cpp:

(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

LayoutTests:

  • TestExpectations: Unskip fast/css-grid-layout/grid-template-shorthand-get-set.html.
2:05 PM Changeset in webkit [167820] by hyatt@apple.com
  • 6 edits
    3 adds in trunk

Column rules not respecting scroll offsets.
https://bugs.webkit.org/show_bug.cgi?id=109683

Reviewed by Dean Jackson.

Source/WebCore:
Added fast/multicol/scrolling-column-rules.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintColumnRules):
Make paintColumnRules virtual so that it works with both column implementations.

(WebCore::RenderBlock::paintObject):
Changed to call paintColumnRules with the adjusted scroll offset and to do it after
bailing on the root background only check.

  • rendering/RenderBlock.h:

paintColumnRules is now virtual.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::paintColumnRules):
(WebCore::RenderBlockFlow::paintBoxDecorations): Deleted.

  • rendering/RenderBlockFlow.h:

Got rid of paintBoxDecorations override since it failed when hasBoxDecorations was false
anyway. Override paintColumnRules instead to paint at the right time.

LayoutTests:

  • fast/multicol/scrolling-column-rules.html: Added.
  • platform/mac/fast/multicol/scrolling-column-rules-expected.png: Added.
  • platform/mac/fast/multicol/scrolling-column-rules-expected.txt: Added.
1:34 PM Changeset in webkit [167819] by msaboff@apple.com
  • 4 edits in trunk/Tools

Crash in platform/mac/accessibility/table-visible-rows.html
https://bugs.webkit.org/show_bug.cgi?id=132146

Reviewed by Mark Lam.

Changed to use a local JSValueRef array temporary instead of a
std::make_unique<JSValueRef[]> when making an array of JSValues so that the temporary
JSValues are visited during garbage collection when the stack is scanned. Otherwise,
the temporary values could be collected.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(convertElementsToObjectArray):

  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:

(WTR::EventSendingController::contextClick):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::convertElementsToObjectArray):

1:30 PM Changeset in webkit [167818] by jhoneycutt@apple.com
  • 3 edits
    2 adds in trunk

Crash applying editing commands from iframe onload event

<https://bugs.webkit.org/show_bug.cgi?id=132103>
<rdar://problem/15696351>

Source/WebCore:
This patch merges the Chromium bug workaround from
<http://src.chromium.org/viewvc/blink?revision=162080&view=revision>,
which prevents reentrancy in CompositeEditCommand::apply().

Reviewed by Darin Adler.

Test: editing/apply-style-iframe-crash.html

  • editing/CompositeEditCommand.cpp:

(WebCore::HTMLNames::ReentrancyGuard::isRecursiveCall):
(WebCore::HTMLNames::ReentrancyGuard::Scope::Scope):
(WebCore::HTMLNames::ReentrancyGuard::Scope::~Scope):
(WebCore::CompositeEditCommand::apply):
If this is a recursive call, return early.

LayoutTests:
Reviewed by Darin Adler.

  • editing/apply-style-iframe-crash-expected.txt: Added.
  • editing/apply-style-iframe-crash.html: Added.
1:20 PM Changeset in webkit [167817] by hyatt@apple.com
  • 6 edits
    16 adds in trunk

[New Multicolumn] fast/multicol/hit-test-* layout tests all fail
https://bugs.webkit.org/show_bug.cgi?id=132081

Reviewed by Dean Jackson.

Source/WebCore:
Added a bunch of tests in fast/multicol/newmulticol/compare-with-old-impl/hit-test-*.html

  • rendering/RenderBlock.h:

Make offsetForContents public, since I need to call it from RenderMultiColumnSet.

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::populate):
Stop an ASSERT in the new columns code on the hit tests by making sure layout state is
disabled when moving children around.

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::positionForPoint):
Refactor this function to call a helper function instead, translateRegionPointToFlowThread.

(WebCore::RenderMultiColumnSet::translateRegionPointToFlowThread):
This function is logical (unlike the mistaken physical function I first implemented in
positionForPoint).

(WebCore::RenderMultiColumnSet::updateHitTestResult):

  • rendering/RenderMultiColumnSet.h:

Overridden to fill in the correct local coordinate when the HTML document is inside a paginated
RenderView. Note that column spans don't actually work, but once we move over to a
non-column based pagination API, that will become irrelevant.

LayoutTests:

  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-float-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-float.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis.html: Added.
12:45 PM Changeset in webkit [167816] by mark.lam@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Refactor debugging code to use BreakpointActions instead of Vector<ScriptBreakpointAction>.
<https://webkit.org/b/132201>

Reviewed by Joseph Pecoraro.

BreakpointActions is Vector<ScriptBreakpointAction>. Let's just consistently use
BreakpointActions everywhere.

  • inspector/ScriptBreakpoint.h:

(Inspector::ScriptBreakpoint::ScriptBreakpoint):

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::setBreakpoint):
(Inspector::ScriptDebugServer::getActionsForBreakpoint):

  • inspector/ScriptDebugServer.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::breakpointActionsFromProtocol):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::removeBreakpoint):

  • inspector/agents/InspectorDebuggerAgent.h:
12:41 PM Changeset in webkit [167815] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

Figure out how many cores are available for realsies.

Rubber stamped by Andreas Kling.

HW_AVAILCPU is more canonical than HW_NCPU. For example if you use hacks to tell Darwin
to make it seem like there are fewer CPUs, HW_AVAILCPU will change but HW_NCPU won't.
HW_NCPU doesn't reflect how much actual paralellism you'll get; it's merely reporting
facts about the machine you're running on. HW_AVAILCPU is almost always what WebKit
wants since it uses this information to decide how many threads to launch for various
things.

  • wtf/NumberOfCores.cpp:

(WTF::numberOfProcessorCores):

12:39 PM Changeset in webkit [167814] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

DFG worklist scanning should not treat the key as a separate entity
https://bugs.webkit.org/show_bug.cgi?id=132167

Reviewed by Mark Hahnenberg.

This simplifies the interface to the GC and will enable more optimizations.

  • dfg/DFGCompilationKey.cpp:

(JSC::DFG::CompilationKey::visitChildren): Deleted.

  • dfg/DFGCompilationKey.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::visitChildren):

  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::visitChildren):

11:51 AM Changeset in webkit [167813] by oliver@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Remove unused parameter from codeblock linking function
https://bugs.webkit.org/show_bug.cgi?id=132199

Reviewed by Anders Carlsson.

No change in behaviour. This is just a small change to make it
slightly easier to reason about what the offsets in UnlinkedFunctionExecutable
actually mean.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::link):

  • bytecode/UnlinkedCodeBlock.h:
  • runtime/Executable.cpp:

(JSC::ProgramExecutable::initializeGlobalProperties):

11:17 AM Changeset in webkit [167812] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION(r167799): ASSERTION in parseGridTemplateShorthand in fast/css-grid-layout/grid-template-shorthand-get-set.html
https://bugs.webkit.org/show_bug.cgi?id=132194

Skip the test on debug testers.
Also unmark js/slow-stress/new-spread.html because it is fixed (https://bugs.webkit.org/show_bug.cgi?id=132022)

11:15 AM Changeset in webkit [167811] by akling@apple.com
  • 31 edits in trunk/Source

Mark some things with WTF_MAKE_FAST_ALLOCATED.
<https://webkit.org/b/132198>

Use FastMalloc for more things.

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • builtins/BuiltinExecutables.h:
  • heap/GCThreadSharedData.h:
  • inspector/JSConsoleClient.h:
  • inspector/agents/InspectorAgent.h:
  • runtime/CodeCache.h:
  • runtime/JSGlobalObject.h:
  • runtime/Lookup.cpp:

(JSC::HashTable::createTable):
(JSC::HashTable::deleteTable):

  • runtime/WeakGCMap.h:

Source/WebCore:

  • bindings/js/ScriptController.h:
  • dom/DocumentOrderedMap.h:
  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.h:
  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.h:
  • inspector/PageRuntimeAgent.h:
  • loader/HistoryController.h:
  • page/DeviceClient.h:
  • page/DeviceController.h:
  • page/EventHandler.h:
  • page/Page.h:
  • page/scrolling/ScrollingStateNode.h:
  • platform/graphics/FontGenericFamilies.h:
  • platform/graphics/FontPlatformData.h:
10:58 AM Changeset in webkit [167810] by stavila@adobe.com
  • 8 edits in trunk/Source/WebCore

[CSS Regions] Rename objectShouldPaintInFlowRegion to something more clear
https://bugs.webkit.org/show_bug.cgi?id=132050

Reviewed by Andreas Kling.

The objectShouldPaintInFlowRegion is no longer used only by the painting process
but also for hit-testing, so it was renamed to something more generic (objectShouldFragmentInFlowRegion).

No new tests required, it's just a method rename.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::positionForPoint):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::objectShouldFragmentInFlowRegion):
(WebCore::RenderFlowThread::objectShouldPaintInFlowRegion): Deleted.

  • rendering/RenderFlowThread.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::hitTestLayer):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::ensureOverflowForBox):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::shouldPaint):

10:53 AM Changeset in webkit [167809] by enrica@apple.com
  • 3 edits in trunk/Source/WebCore

iOS build fix after http://trac.webkit.org/changeset/167803
Unreviewed.

  • page/Frame.cpp:

(WebCore::Frame::checkOverflowScroll):

  • rendering/RenderBlock.cpp:

(WebCore::positionForPointRespectingEditingBoundaries):

9:21 AM Changeset in webkit [167808] by hyatt@apple.com
  • 7 edits
    5 adds in trunk

[New Multicolumn] Add support for offsetLeft and offsetTop.
https://bugs.webkit.org/show_bug.cgi?id=132080

Reviewed by Andrei Bucur.

Source/WebCore:
Added fast/multicol/client-spanners-complex.html and offset-top-left.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
Patch the offsetLeft/Top loop to handle calling into RenderMultiColumnFlowThread
in order to adjust the coordinates for the new multicolumn layout.

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion):
Modified to use a helper that can be shared by offsetLeft/Top code. This code
ran for client rects, and I'm moving/refactoring it for more sharing.

(WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToRegion):
(WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToRegion):

  • rendering/RenderMultiColumnFlowThread.h:

New functions that beef up what was in mapFromFlowToRegion and fix some bugs
with the translation code.

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::columnTranslationForOffset):
Patched to factor in the flow thread portion rect of the specific multicolumn set.

  • rendering/RenderObject.h:

(WebCore::RenderObject::isRenderMultiColumnFlowThread):
Added for toRenderMultiColumnFlowThread capability.

LayoutTests:

  • fast/multicol/client-rects-spanners-complex.html: Added.
  • fast/multicol/client-rects-spanners.html:
  • fast/multicol/offset-top-left-expected.txt: Added.
  • fast/multicol/offset-top-left.html: Added.
  • platform/mac/fast/multicol/client-rects-spanners-complex-expected.png: Added.
  • platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt: Added.
8:27 AM Changeset in webkit [167807] by Brent Fulgham
  • 3 edits
    2 adds in trunk

ScrollingCoordinator is unaware of topContentInset
https://bugs.webkit.org/show_bug.cgi?id=132158
<rdar://problem/16706152>

Reviewed by Darin Adler.

Source/WebCore:
Test: platform/mac/fast/scrolling/scroll-select-bottom-test.html

The calculation of non-fast-scrollable regions does not currently take
the topContentOffset into account. Consequently, the logic that decides
whether to stay on the scrolling thread, or drop down to an individual
page element, can make the wrong choice. This is especially true for
small scrollable regions (such as <select> elements), where the
topContentInset may be quite close to the size of the scrollable

element itself.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Also
include the topContentInset value in our calculation.

LayoutTests:

  • platform/mac/fast/scrolling/scroll-select-bottom-test-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-select-bottom-test.html: Added.
8:15 AM Changeset in webkit [167806] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r167799): Breaks debug build
https://bugs.webkit.org/show_bug.cgi?id=132194

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-04-25
Reviewed by Andrei Bucur.

Fix the debug bots after r167799

No new tests, no new functionality.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTemplateShorthand):

7:28 AM Changeset in webkit [167805] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Web process is crashed during dispatching touchEvent created by JS.
https://bugs.webkit.org/show_bug.cgi?id=113225

Patch by Miyoung Shin <myid.shin@samsung.com> on 2014-04-25
Reviewed by Benjamin Poulain.

TouchEvent created by JS should have the necessary attributes
of touches, targetTouches and changedTouches.
It should be verified weather there are touchLists before dispatching touch event.

Source/WebCore:
Test: fast/events/touch/create-touch-event-without-touchList.html

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventPath::updateTouchLists):
(WebCore::addRelatedNodeResolversForTouchList): Deleted.

LayoutTests:

  • fast/events/touch/create-touch-event-without-touchList-expected.txt: Added.
  • fast/events/touch/create-touch-event-without-touchList.html: Added.
7:17 AM Changeset in webkit [167804] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[GTK] File webkitRelativePath attribute was removed in r163483
https://bugs.webkit.org/show_bug.cgi?id=132193

Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-25
Reviewed by Carlos Garcia Campos.

Add the removed getter as deprecated API to keep backwards compatibility.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_file_get_webkit_relative_path):

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols:
6:56 AM Changeset in webkit [167803] by stavila@adobe.com
  • 34 edits
    6 adds in trunk

[CSS Regions] Overflow selection doesn't work properly
https://bugs.webkit.org/show_bug.cgi?id=130715

Reviewed by David Hyatt.

Source/WebCore:
When hit-testing, painting block selection gaps and searching for the node at a specific point inside a flow thread,
the region range of the box being checked must be validated in order to not return false positives. Otherwise, hit-testing
at the top of region B could hit elements that overflow the bottom of region A.

Tests: fast/regions/selection-in-overflow-hit-testing.html

fast/regions/selection-in-overflow.html
fast/regions/selection-in-text-after-overflow-hit-testing.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
(WebCore::AccessibilityRenderObject::visiblePositionForPoint):

  • dom/Document.cpp:

(WebCore::Document::caretRangeFromPoint):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::contains):

  • editing/VisibleUnits.cpp:

(WebCore::previousLinePosition):
(WebCore::nextLinePosition):

  • page/EventHandler.cpp:

(WebCore::EventHandler::selectClosestWordFromHitTestResult):
(WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
(WebCore::EventHandler::handleMousePressEventTripleClick):
(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::selectionExtentRespectingEditingBoundary):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::handleMouseReleaseEvent):

  • page/Frame.cpp:

(WebCore::Frame::visiblePositionForPoint):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::positionForPointRespectingEditingBoundaries):
(WebCore::RenderBlock::positionForPointWithInlineChildren):
(WebCore::isChildHitTestCandidate):
(WebCore::RenderBlock::positionForPoint):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
(WebCore::RenderBlockFlow::positionForPoint):

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::positionForPoint):

  • rendering/RenderBox.h:
  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::positionForPoint):

  • rendering/RenderFileUploadControl.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::positionForPoint):

  • rendering/RenderInline.h:
  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::positionForPoint):

  • rendering/RenderLineBreak.h:
  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::positionForPoint):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::positionForPoint):

  • rendering/RenderObject.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::positionForPoint):

  • rendering/RenderRegion.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::positionForPoint):

  • rendering/RenderReplaced.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::positionForPoint):

  • rendering/RenderText.h:
  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::positionForPoint):

  • rendering/svg/RenderSVGInlineText.h:
  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::positionForPoint):

  • rendering/svg/RenderSVGText.h:

LayoutTests:
Added tests for hit-testing and painting selection gaps in the region's overflow area.

  • fast/regions/selection-in-overflow-expected.html: Added.
  • fast/regions/selection-in-overflow-hit-testing-expected.html: Added.
  • fast/regions/selection-in-overflow-hit-testing.html: Added.
  • fast/regions/selection-in-overflow.html: Added.
  • fast/regions/selection-in-text-after-overflow-hit-testing-expected.html: Added.
  • fast/regions/selection-in-text-after-overflow-hit-testing.html: Added.
6:35 AM Changeset in webkit [167802] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[GTK] Iframe seamless support was removed in r163427
https://bugs.webkit.org/show_bug.cgi?id=132192

Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-25
Reviewed by Carlos Garcia Campos.

Add the removed get and set methods as deprecated API to keep
backwards compatibility.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_processing_instruction_set_data):
(webkit_dom_html_iframe_element_get_seamless):
(webkit_dom_html_iframe_element_set_seamless):

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols:
6:24 AM Changeset in webkit [167801] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[GTK] HTMLInputElement webkitdirectory property was removed in r163483
https://bugs.webkit.org/show_bug.cgi?id=132191

Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-25
Reviewed by Carlos Garcia Campos.

Add the removed get and set methods as deprecated API to keep
backwards compatibility.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_html_input_element_get_webkitdirectory):
(webkit_dom_html_input_element_set_webkitdirectory):

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols:
5:38 AM Changeset in webkit [167800] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Added test expectations for the following flaky tests:

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2014-04-25

  • platform/gtk/TestExpectations:

fast/loader/submit-form-while-parsing-2.html
css3/calc/transitions-dependent.html
fast/dom/adopt-node-crash-2.html
fast/multicol/span/span-as-immediate-columns-child-dynamic.html
platform/gtk/editing/pasteboard/middle-button-paste.html

5:06 AM Changeset in webkit [167799] by commit-queue@webkit.org
  • 9 edits
    3 adds in trunk

[CSS Grid Layout] Implementation of the grid-template shorthand.
https://bugs.webkit.org/show_bug.cgi?id=128980

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-04-25
Reviewed by Darin Adler.

Source/WebCore:
This shorthand sets the values for the grid-template-columns,
grid-template-rows and grid-template-areas, so the implementation
tries to reuse as much available parsing functions as possible.

The "parsingGridTrackList" was refactored to return a CSSValue and
let the "parseValue" function to assign the property value. The
"forwardSlash" operator is now valid when the track-list clause is
part of a shorthand. The "parseValue" function checkouts that only
additional clauses are allowed when processing shorthands; the
grid-columns-rows-get-set.html tests was modified to verify this.

The "parseGridTemplateAreas" was refactored too, in order to
process single areas's rows. This is very useful for the
gris-template secondary syntax, which mixes areas and rows values.

Finally, the "parseGirdLineNames" function was modified as well by
defining an new argument to concatenate head/tail custom-ident
elements and ensure the identList is at the heading index, since
it's now possible the parseList was rewound.

The implementation of the grid-template shorthand tries first to
match the <grid-template-columns> / <grid-template-rows> syntax,
failing back to the secondary syntax if needed. This approach
requires to rewind the parseList but it produces a clearer code.

Test: fast/css-grid-layout/grid-template-shorthand-get-set.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridTemplateRowsAndAreas):
(WebCore::CSSParser::parseGridTemplateShorthand):
(WebCore::CSSParser::parseGridLineNames):
(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTemplateAreasRow):
(WebCore::CSSParser::parseGridTemplateAreas):

  • css/CSSParser.h:
  • css/CSSParserValues.h:

(WebCore::CSSParserValueList::setCurrentIndex):

  • css/CSSPropertyNames.in:
  • css/StylePropertyShorthand.cpp:

(WebCore::webkitGridTemplateShorthand):

  • css/StylePropertyShorthand.h:

LayoutTests:
Layout Test for the basic functionality of the grid-template shorthand. It was
also added a new javascript file with some utility functions.

This shorthand sets the values for the grid-template-columns,
grid-template-rows and grid-template-areas, so the implementation
tries to reuse as much available parsing functions as possible.

  • fast/css-grid-layout/grid-template-shorthand-get-set-expected.txt: Added.
  • fast/css-grid-layout/grid-template-shorthand-get-set.html: Added.
  • fast/css-grid-layout/resources/grid-template-shorthand-parsing-utils.js: Added.

(testGridDefinitionsValues):
(testGridDefinitionsSetJSValues):
(testNonGridDefinitionsSetJSValues):
(checkGridDefinitionsSetJSValues):
(testGridDefinitionsSetBadJSValues):

4:27 AM WebKitGTK/KeepingTheTreeGreen edited by eocanha@igalia.com
(diff)
2:23 AM Changeset in webkit [167798] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove two unused SVGDocument functions.
<https://webkit.org/b/132178>

Reviewed by Antti Koivisto.

  • svg/SVGDocument.cpp:

(WebCore::SVGDocument::dispatchZoomEvent): Deleted.
(WebCore::SVGDocument::dispatchScrollEvent): Deleted.

  • svg/SVGDocument.h:
1:25 AM Changeset in webkit [167797] by graouts@webkit.org
  • 6 edits
    6 adds in trunk

Implement Array.prototype.find()
https://bugs.webkit.org/show_bug.cgi?id=130966

Reviewed by Oliver Hunt.

Source/JavaScriptCore:
Implement Array.prototype.find() and Array.prototype.findIndex() as proposed in the Harmony spec.

  • builtins/Array.prototype.js:

(find):
(findIndex):

  • runtime/ArrayPrototype.cpp:

LayoutTests:

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/array-find-expected.txt: Added.
  • js/array-find.html: Added.
  • js/array-findIndex-expected.txt: Added.
  • js/array-findIndex.html: Added.
  • js/script-tests/Object-getOwnPropertyNames.js:
  • js/script-tests/array-find.js: Added.
  • js/script-tests/array-findIndex.js: Added.
1:13 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:04 AM Changeset in webkit [167796] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Incomplete body painting when using blend modes
https://bugs.webkit.org/show_bug.cgi?id=131889

Source/WebCore:
The incomplete painting was caused by the transparency layer created for
the root renderer. We can safely skip creating this transparency layer at
the root level, as there is nothing else being painted behind this layer that
could be used erroneously as a backdrop.

Patch by Ion Rosca <Ion Rosca> on 2014-04-25
Reviewed by Simon Fraser.

Test: css3/compositing/blend-mode-with-body.html

  • rendering/RenderLayer.h:

Changing RenderLayer::paintsWithTransparency so that it will not
return true when the root renderer needs to isolate blending.

LayoutTests:
Patch by Ion Rosca <Ion Rosca> on 2014-04-25
Reviewed by Simon Fraser.

  • css3/compositing/blend-mode-with-body-expected.html: Added.
  • css3/compositing/blend-mode-with-body.html: Added.
12:58 AM Changeset in webkit [167795] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Plugin process crashes with GTK2 windowed plugins
https://bugs.webkit.org/show_bug.cgi?id=132127

Reviewed by Martin Robinson.

It happens sometimes because the socket is used before the plug
has been added. A runtime critical warnings is shown and it
sometimes ends up crashing.

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitializeWindowed): Do not
show the plug widget until the socket is connected.

12:55 AM Changeset in webkit [167794] by Darin Adler
  • 29 edits in trunk/Source/WebCore
ASSERTION FAILED: "!m_isolatedWorld->isNormal()
m_wrapper !m_jsFunction" in svg/custom/use-instanceRoot-event-listeners.xhtml

https://bugs.webkit.org/show_bug.cgi?id=132148

Reviewed by Andreas Kling.

Changed how JSCustomMarkFunction generation works. Instead of leaving out
the generated visitChildren function, just generate a call to visitAdditionalChildren.
This eliminates the need to repeat boilerplate.

The fix for the above bug was to correct mistaken logic where JSSVGElementInstance
had a visitChildren that did not properly mark event listeners because it explicitly
did not call through to the base class visitChildren. The new arrangement makes that
mistake impossible.

  • bindings/js/JSAttrCustom.cpp:

(WebCore::JSAttr::visitAdditionalChildren): Use this instead of visitChildren.

  • bindings/js/JSAudioTrackCustom.cpp:

(WebCore::JSAudioTrack::visitAdditionalChildren): Ditto.

  • bindings/js/JSAudioTrackListCustom.cpp:

(WebCore::JSAudioTrackList::visitAdditionalChildren): Ditto.

  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::JSCSSRule::visitAdditionalChildren): Ditto.

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::visitAdditionalChildren): Ditto.

  • bindings/js/JSCanvasRenderingContextCustom.cpp:

(WebCore::JSCanvasRenderingContext::visitAdditionalChildren): Ditto.

  • bindings/js/JSCryptoKeyPairCustom.cpp:

(WebCore::JSCryptoKeyPair::visitAdditionalChildren): Ditto.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::visitAdditionalChildren): Ditto.

  • bindings/js/JSMessageChannelCustom.cpp:

(WebCore::JSMessageChannel::visitAdditionalChildren): Ditto.

  • bindings/js/JSMessagePortCustom.cpp:

(WebCore::JSMessagePort::visitAdditionalChildren): Ditto.

  • bindings/js/JSNodeCustom.cpp:

(WebCore::JSNode::visitAdditionalChildren): Ditto.

  • bindings/js/JSNodeFilterCustom.cpp:

(WebCore::JSNodeFilter::visitAdditionalChildren): Ditto.

  • bindings/js/JSNodeIteratorCustom.cpp:

(WebCore::JSNodeIterator::visitAdditionalChildren): Ditto.

  • bindings/js/JSSVGElementInstanceCustom.cpp:

(WebCore::JSSVGElementInstance::visitAdditionalChildren): Ditto.

  • bindings/js/JSSharedWorkerCustom.cpp:

(WebCore::JSSharedWorker::visitAdditionalChildren): Ditto.

  • bindings/js/JSStyleSheetCustom.cpp:

(WebCore::JSStyleSheet::visitAdditionalChildren): Ditto.

  • bindings/js/JSTextTrackCueCustom.cpp:

(WebCore::JSTextTrackCue::visitAdditionalChildren): Ditto.

  • bindings/js/JSTextTrackCustom.cpp:

(WebCore::JSTextTrack::visitAdditionalChildren): Ditto.

  • bindings/js/JSTextTrackListCustom.cpp:

(WebCore::JSTextTrackList::visitAdditionalChildren): Ditto.

  • bindings/js/JSTreeWalkerCustom.cpp:

(WebCore::JSTreeWalker::visitAdditionalChildren): Ditto.

  • bindings/js/JSVideoTrackCustom.cpp:

(WebCore::JSVideoTrack::visitAdditionalChildren): Ditto.

  • bindings/js/JSVideoTrackListCustom.cpp:

(WebCore::JSVideoTrackList::visitAdditionalChildren): Ditto.

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::JSWebGLRenderingContext::visitAdditionalChildren): Ditto.

  • bindings/js/JSWorkerGlobalScopeCustom.cpp:

(WebCore::JSWorkerGlobalScope::visitAdditionalChildren): Ditto.

  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::visitAdditionalChildren): Ditto.

  • bindings/js/JSXPathResultCustom.cpp:

(WebCore::JSXPathResult::visitAdditionalChildren): Ditto.

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::visitChildren): Rewrote to use modern for loops.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader): Generate declaration of visitAdditionalChildren.
(GenerateImplementation): Generate call to visitAdditionalChildren.

12:19 AM Changeset in webkit [167793] by akling@apple.com
  • 6 edits in trunk/Source

[iOS WebKit2] Enable optimization to mmap downloaded resources once they become file-backed.
<https://webkit.org/b/132171>
<rdar://problem/16720733>

Source/WebCore:
Add a missing export for the USE(CFNETWORK) + WebKit2 combo.

Reviewed by Antti Koivisto.

  • WebCore.exp.in:

Source/WebKit2:
Implement a CFNetwork-based version of NetworkResourceLoader::willCacheResponseAsync()
and activate the DiskCacheMonitor code path. This means that once resources go into
file system cache, we get notified and mmap them from disk, saving heaps of memory.

Reviewed by Antti Koivisto.

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/mac/DiskCacheMonitor.mm:
  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::willCacheResponseAsync):

Apr 24, 2014:

11:28 PM Changeset in webkit [167792] by akling@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] RemoteLayerTreeDrawingArea should force CA to garbage collect surfaces.
<https://webkit.org/b/132160>
<rdar://problem/16110687>

Do an empty CATransaction at the end of RemoteLayerTreeDrawingArea::flushLayers()
to get CA to garbage collect its IOSurfaces. This helps clean up unused surfaces
that we'd otherwise end up hanging on to for a long time.

Reviewed by Tim Horton.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::didUpdate):

11:02 PM Changeset in webkit [167791] by Darin Adler
  • 1 edit in trunk/Source/WebCore/loader/FrameLoader.cpp

Fix typo in comment from last check-in

11:01 PM Changeset in webkit [167790] by Darin Adler
  • 2 edits in trunk/Source/WebCore

FrameLoader::checkCompleted can hit the "ref'ing while destroyed" assertion
https://bugs.webkit.org/show_bug.cgi?id=132163
rdar://problem/16720640

Reviewed by Brady Eidson.

Couldn't find a way to test this yet. Would be nice to have a test.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkCompleted): Move protector until after we check
if the frame is already complete. That can happen in practice when this is
called from within the frame's destructor. All the code that runs before the
protector simply checks state and does not require protection.

8:59 PM Changeset in webkit [167789] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Mark Supplement instead of RefCountedSupplement in NavigatorContentUtils
https://bugs.webkit.org/show_bug.cgi?id=132151

Reviewed by Darin Adler.

Though Original goal was to make it sharable across navigator instances, the NavigatorContentUtils
has used RefCountedSupplement<Page> instead of RefCountedSupplement<Navigator>. This patch makes it
use Supplement<Page> because there is no scenario which needs to be shared across navigator instances.

Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=171403.

No new tests, no behavior changes.

  • Modules/navigatorcontentutils/NavigatorContentUtils.cpp:

(WebCore::NavigatorContentUtils::from):
(WebCore::NavigatorContentUtils::create):
(WebCore::provideNavigatorContentUtilsTo):

  • Modules/navigatorcontentutils/NavigatorContentUtils.h:
6:24 PM Changeset in webkit [167788] by rniwa@webkit.org
  • 6 edits in trunk/Source

Unreviewed, rolling out r167700.
https://bugs.webkit.org/show_bug.cgi?id=132142

Incorrectly reverted the change in r167547 for
webkit.org/b/131898 (Requested by rniwa on #webkit).

Reverted changeset:

"Cursor doesn't change back to pointer when leaving the Safari
window"
https://bugs.webkit.org/show_bug.cgi?id=132038
http://trac.webkit.org/changeset/167700

Patch by Commit Queue <commit-queue@webkit.org> on 2014-04-24

5:54 PM Changeset in webkit [167787] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Dashboard when paused in debugger shows some missing glyph boxes
https://bugs.webkit.org/show_bug.cgi?id=132113

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/DebuggerDashboardView.css:

(.dashboard.debugger > .location .function-name::after): Fix the codepoint for nbsp.

5:53 PM Changeset in webkit [167786] by beidson@apple.com
  • 51 edits in trunk/Source

Rename "IMAGE_CONTROLS" feature to "SERVICE_CONTROLS"
https://bugs.webkit.org/show_bug.cgi?id=132155

Reviewed by Tim Horton.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:
No new tests (No change in behavior).

  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • WebCore.exp.in:
  • css/CSSDefaultStyleSheets.cpp:

(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/CSSValueKeywords.in:
  • dom/Node.h:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didAttachRenderers):

  • html/HTMLImageElement.h:
  • html/shadow/ImageControlsRootElement.cpp:
  • html/shadow/ImageControlsRootElement.h:
  • html/shadow/mac/ImageControlsButtonElementMac.cpp:
  • html/shadow/mac/ImageControlsButtonElementMac.h:
  • html/shadow/mac/ImageControlsRootElementMac.cpp:
  • html/shadow/mac/ImageControlsRootElementMac.h:
  • page/ContextMenuContext.cpp:

(WebCore::ContextMenuContext::ContextMenuContext):

  • page/ContextMenuContext.h:
  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::maybeCreateContextMenu):
(WebCore::ContextMenuController::populate):

  • page/ContextMenuController.h:
  • page/Settings.in:
  • platform/ThemeTypes.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::canHaveChildren):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):

  • rendering/RenderTheme.h:
  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::servicesRolloverButtonCell):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:
  • Misc/WebSharingServicePickerController.h:
  • Misc/WebSharingServicePickerController.mm:
  • WebCoreSupport/WebContextMenuClient.h:
  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::contextMenuForEvent):

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/ContextMenuContextData.cpp:

(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::operator=):
(WebKit::ContextMenuContextData::encode):
(WebKit::ContextMenuContextData::decode):

  • Shared/ContextMenuContextData.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::internalShowContextMenu):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebContextMenuProxyMac.h:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
(WebKit::WebContextMenuProxyMac::populate):
(WebKit::WebContextMenuProxyMac::showContextMenu):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/WebPage/WebContextMenu.cpp:
  • WebProcess/WebPage/WebContextMenu.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
5:51 PM Changeset in webkit [167785] by timothy@apple.com
  • 3 edits in trunk/Source/WebCore

Web Inspector: Restore PageDebuggerAgent::enable / disable
https://bugs.webkit.org/show_bug.cgi?id=132156

Restore functions that were eroniously removed in r167530.

Reviewed by Joseph Pecoraro.

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::enable): Added.
(WebCore::PageDebuggerAgent::disable): Added.

  • inspector/PageDebuggerAgent.h:
5:48 PM Changeset in webkit [167784] by ap@apple.com
  • 6 edits in trunk/Source/WebCore

Dropzone effects don't work in non-file documents
https://bugs.webkit.org/show_bug.cgi?id=131770

Reviewed by Darin Adler.

File documents have two quirks that were making dropzone work in these before:

  1. An ancient hack for Dashboard allows pasteboard access from JS.
  2. On Mac, sandbox doesn't prevent File object creation, as we already have the access.
  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::hasFileOfType):
(WebCore::DataTransfer::hasStringOfType):

  • dom/DataTransfer.h:

Moved these functions from EventHandler to DataTransfer. We can't create a DataTransfer
with Files while dragging, security doesn't permit us to. But we can get the file name.

  • fileapi/File.cpp:

(WebCore::createBlobDataForFile):
(WebCore::createBlobDataForFileWithName):
(WebCore::File::contentTypeFromFilePath):
(WebCore::getContentTypeFromFileName): Deleted.

  • fileapi/File.h:

Exposed a function to get file type from path without creating a File first.
This is much cheaper than creating a File, and works even when sandbox disallows
read access to content, such as when dragging over a target.

  • page/EventHandler.cpp:

(WebCore::hasDropZoneType):
(WebCore::hasFileOfType): Deleted.
(WebCore::hasStringOfType): Deleted.

5:17 PM Changeset in webkit [167783] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS] Add some missing overrides and remove unnecessary virtuals
https://bugs.webkit.org/show_bug.cgi?id=132153

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-24
Reviewed by Darin Adler.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
5:14 PM Changeset in webkit [167782] by msaboff@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

REGRESSION: Apparent hang of PCE.js Mac OS System 7.0.1 on ARM64 devices
https://bugs.webkit.org/show_bug.cgi?id=132147

Reviewed by Mark Lam.

Fixed or64(), eor32( ) and eor64() to use "src" register when we have a valid logicalImm.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::or64):
(JSC::MacroAssemblerARM64::xor32):
(JSC::MacroAssemblerARM64::xor64):

  • tests/stress/regress-132147.js: Added test.
5:06 PM Changeset in webkit [167781] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebInspectorUI

Web Inspector: Should update to CodeMirror 4.1
https://bugs.webkit.org/show_bug.cgi?id=132140

Patch by Jonathan Wells <jonowells@apple.com> on 2014-04-24
Reviewed by Timothy Hatcher.

Updated to CodeMirror 4.1, which contains several bugfixes.
Release notes: http://codemirror.net/doc/releases.html#v4

  • Tools/PrettyPrinting/codemirror.js:
  • Tools/PrettyPrinting/css.js:
  • Tools/PrettyPrinting/javascript.js:
  • UserInterface/External/CodeMirror/codemirror.js:
  • UserInterface/External/CodeMirror/css.js:
  • UserInterface/External/CodeMirror/javascript.js:
  • UserInterface/External/CodeMirror/livescript.js:
  • UserInterface/External/CodeMirror/runmode.js:
  • UserInterface/External/CodeMirror/xml.js:

Updated to CodeMirror 4.1.

3:48 PM Changeset in webkit [167780] by jer.noble@apple.com
  • 7 edits in trunk

Unreviewed, rolling out r167441.
https://bugs.webkit.org/show_bug.cgi?id=132152

Caused full screen regressions on vimeo, youtube, and others.
(Requested by jernoble on #webkit).

Reverted changeset:

"Fullscreen media controls are unusable in pagination mode"
https://bugs.webkit.org/show_bug.cgi?id=131705
http://trac.webkit.org/changeset/167441

Patch by Commit Queue <commit-queue@webkit.org> on 2014-04-24

3:29 PM Changeset in webkit [167779] by commit-queue@webkit.org
  • 6 edits
    1 delete in trunk/Source/WebInspectorUI

Web Inspector: CSS autofill suggests properties instead of values when values are needed
https://bugs.webkit.org/show_bug.cgi?id=132090

Patch by Jonathan Wells <jonowells@apple.com> on 2014-04-24
Reviewed by Joseph Pecoraro.

Updates are required to the CodeMirror helpers to be compatible with
CodeMirror 4. Some of those changes have been made to fix an issue
with CSS autofill, CSS code coloring, and also
https://bugs.webkit.org/show_bug.cgi?id=131859. The main issue is that
CodeMirror 4's CSS mode (css.js) stores its parsing modes in a different
data structure. All references to state.stack are obscelete. Many
are fixed here and more will be in an upcoming patch.

  • Tools/PrettyPrinting/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
  • UserInterface/Controllers/CodeMirrorCompletionController.js:

(WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): Corrected "block" state detection.

  • UserInterface/External/CodeMirror/less.js: Removed.
  • UserInterface/Views/CodeMirrorAdditions.js: Sets default state of "block" correctly.
  • UserInterface/Views/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Fix styles to match CSS mode changes.
3:24 PM Changeset in webkit [167778] by matthew_hanson@apple.com
  • 3 edits
    3 deletes in tags/Safari-538.31

Rollout r167689.

3:14 PM Changeset in webkit [167777] by cavalcantii@gmail.com
  • 2 edits in trunk/Source/WebCore

Unused class forward declarations in Page
https://bugs.webkit.org/show_bug.cgi?id=132141

Reviewed by Benjamin Poulain.

No new tests, no change on behavior.

  • page/Page.h:
3:09 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
2:46 PM Changeset in webkit [167776] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] don't ask for AVAssetTrack properties before they are available
https://bugs.webkit.org/show_bug.cgi?id=131902
<rdar://problem/16505076>

Reviewed by Brent Fulgham.

No new tests, the behavior this changes can not be tested with a layout test.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize

m_cachedTotalBytes.

(WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Don't report that

metadata has been loaded until the track properties we need have been loaded too.

(WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Cache totalBytes instead

of recalculating it every time.

(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange): Invalidate cached

total bytes.

(WebCore::assetTrackMetadataKeyNames): Array of AVAssetTrack properties we use.

2:45 PM Changeset in webkit [167775] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

WebKit2 View Gestures: Use a single struct for the snapshot, and pass it around
https://bugs.webkit.org/show_bug.cgi?id=132114

Reviewed by Simon Fraser.

Have only a single map in ViewSnapshotStore, from back-forward item
to ViewSnapshotStore::Snapshot, and return the Snapshot struct when looking
up snapshots (via getSnapshot()), so that future patches can persist additional
information along with the snapshot.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):

  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::retrieveSnapshotForItem):
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
Adopt getSnapshot() instead of snapshotAndRenderTreeSize().
Move retrieveSnapshotForItem out into a separate function (for future use).

  • UIProcess/mac/ViewSnapshotStore.h:

(WebKit::ViewSnapshotStore::disableSnapshotting):
(WebKit::ViewSnapshotStore::enableSnapshotting):

  • UIProcess/mac/ViewSnapshotStore.mm:

(WebKit::ViewSnapshotStore::pruneSnapshots):
(WebKit::ViewSnapshotStore::recordSnapshot):
(WebKit::ViewSnapshotStore::getSnapshot):
(WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize): Deleted.
Make Snapshot struct public.
Get rid of the separate map of back-forward items to render tree sizes.
When evicting, instead of removing the entry, clear out its snapshot image;
this way, we can keep other snapshot metadata around.

2:44 PM Changeset in webkit [167774] by enrica@apple.com
  • 12 edits in trunk/Source/WebKit2

[iOS WebKit2] Should properly handle focus redirect (keyboard state changes when focus changes).
https://bugs.webkit.org/show_bug.cgi?id=132136
<rdar://problem/16238336>

Reviewed by Benjamin Poulain.

Focusing a field from JavaScript should not make the keyboard or the select picker
appear unless the user has already started interacting with one of the fields in the page.
Adding a parameter to StartAssistingNode to indicate whether the focus change is a result
of a user action.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::startAssistingNode):

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _startAssistingNode:userIsInteracting:userObject:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::startAssistingNode):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::dispatchTouchEvent):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleTap):
(WebKit::WebPage::elementDidFocus):

2:20 PM Changeset in webkit [167773] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

Unify platformWidthForGlyph across OS X and iOS
https://bugs.webkit.org/show_bug.cgi?id=132036

Reviewed by Darin Adler.

This patch creates on shared SimpleFontData::platformWidthForGlyph() function for both OS X and iOS.

No new tests are necessary because there should be no behavior changes.

  • platform/graphics/SimpleFontData.h: Signatures for two helper functions
  • platform/graphics/ios/SimpleFontDataIOS.mm: Replace iOS implementation of platformWidthForGlyph() with

implementations of only the two helper functions
(WebCore::SimpleFontData::getRenderingStyle): Compute style argument to CGFontGetGlyphAdvancesForStyle()
(WebCore::SimpleFontData::advanceForColorBitmapFont): iOS doesn't have color bitmap fonts
(WebCore::SimpleFontData::platformWidthForGlyph): Deleted.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::getRenderingStyle): Compute style argument to CGFontGetGlyphAdvancesForStyle()
(WebCore::SimpleFontData::advanceForColorBitmapFont): Use [NSFont advancementForGlyph] to compute the advance
(WebCore::hasCustomTracking): Removed #if
(WebCore::isEmoji): Only relevant on iOS
(WebCore::SimpleFontData::platformWidthForGlyph): Shared implementation. Calls helper functions.

2:12 PM Changeset in webkit [167772] by mark.lam@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Make slowPathAllocsBetweenGCs a runtime option.
<https://webkit.org/b/132137>

Reviewed by Mark Hahnenberg.

This will make it easier to more casually run tests with this configuration
as well as to reproduce issues (instead of requiring a code mod and rebuild).
We will now take --slowPathAllocsBetweenGCs=N where N is the number of
slow path allocations before we trigger a collection.

The option defaults to 0, which is reserved to mean that we will not trigger
any collections there.

  • heap/Heap.h:
  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::doTestCollectionsIfNeeded):
(JSC::MarkedAllocator::allocateSlowCase):

  • heap/MarkedAllocator.h:
  • runtime/Options.h:
1:46 PM Changeset in webkit [167771] by Alan Bujtas
  • 10 edits
    2 adds in trunk

Subpixel rendering: Clipping on text areas when shifted by one device pixel.
https://bugs.webkit.org/show_bug.cgi?id=132008

Reviewed by Darin Adler.

Make RenderTheme paint* functions LayoutRect aware. Textarea is device pixel snapped, while
other theme controls are still on integral size/positions.

Source/WebCore:
Test: fast/forms/hidpi-textarea-on-subpixel-position.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::paintTextField):
(WebCore::RenderTheme::paintTextFieldDecorations):
(WebCore::RenderTheme::paintTextArea):
(WebCore::RenderTheme::paintTextAreaDecorations):

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintTextAreaDecorations):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintTextArea):

LayoutTests:

  • fast/forms/hidpi-textarea-on-subpixel-position-expected.html: Added.
  • fast/forms/hidpi-textarea-on-subpixel-position.html: Added.
  • platform/mac-wk2/TestExpectations: Due to defective RenderLayer cliprect calculation (WK2 only): webkit.org/b/132100
1:24 PM Changeset in webkit [167770] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

Text caret disappears in Mail after returning from another application
https://bugs.webkit.org/show_bug.cgi?id=132111

Reviewed by Darin Adler.

The bug was caused by our SPI _windowChangedKeyState not getting called upon deminiaturization.

Fixed the bug by using the standard NSWindowDidBecomeKeyNotification and NSWindowDidResignKeyNotification
notifications as done in WebKit2 since they DO get called upon deminiaturization.

  • WebView/WebView.mm:

(-[WebView addWindowObserversForWindow:]):
(-[WebView removeWindowObservers]):
(-[WebView _windowKeyStateChanged:]):
(-[WebView _windowChangedKeyState]): Deleted.

12:49 PM Changeset in webkit [167769] by commit-queue@webkit.org
  • 4 edits in trunk

Unreviewed GTK gardening

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-04-24

Tools:

  • Scripts/run-gtk-tests: Skips one flaky accesibility test in WK2API suite

(TestRunner):

LayoutTests:

  • platform/gtk/TestExpectations: Updated a few expectations entries
12:05 PM Changeset in webkit [167768] by mmaxfield@apple.com
  • 29 edits in trunk/Source

FontCache::fontCache() never returns nullptr so it can be made to return a reference instead
https://bugs.webkit.org/show_bug.cgi?id=132110

Reviewed by Tim Horton.

Updates callers to use '.' instead of '->'.

No new tests are necessary because there should be no behavior change.

Source/WebCore:

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::getFontData):

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::CSSFontSelector):
(WebCore::CSSFontSelector::~CSSFontSelector):
(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::fontDataForGenericFamily):
(WebCore::CSSFontSelector::getFallbackFontData):

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseMemory):

  • platform/graphics/FontCache.cpp:

(WebCore::fontCache): Return a reference

  • platform/graphics/FontCache.h:

(WebCore::FontCachePurgePreventer::FontCachePurgePreventer):
(WebCore::FontCachePurgePreventer::~FontCachePurgePreventer):

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::releaseFontData):
(WebCore::FontGlyphs::realizeFontDataAt):
(WebCore::FontGlyphs::glyphDataAndPageForCharacter):

  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::FontPlatformData::verticalData):

  • platform/graphics/ios/SimpleFontDataIOS.mm:

(WebCore::SimpleFontData::platformCreateScaledFontData):

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::invalidateFontCache):
(WebCore::fontCacheRegisteredFontsChangedNotificationCallback):

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::platformCreateScaledFontData):

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::getCJKCodePageMasks):

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::containsCharacters):

  • platform/graphics/wince/FontCacheWinCE.cpp:

(WebCore::getCJKCodePageMasks):

  • platform/graphics/wince/FontPlatformData.cpp:

(WebCore::FontFamilyCodePageInfo::codePages):
(WebCore::FixedSizeFontData::create):

  • platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp:

(WebCore::GlyphPage::fill):

  • platform/graphics/wince/SimpleFontDataWinCE.cpp:

(WebCore::SimpleFontData::platformCreateScaledFontData):
(WebCore::SimpleFontData::containsCharacters):

Source/WebKit/efl:

  • ewk/ewk_settings.cpp:

(ewk_settings_memory_cache_clear):

Source/WebKit/ios:

  • Misc/EmojiFallbackFontSelector.cpp:

(EmojiFallbackFontSelector::getFallbackFontData):

Source/WebKit/mac:

  • Misc/WebCoreStatistics.mm:

(+[WebCoreStatistics cachedFontDataCount]):
(+[WebCoreStatistics cachedFontDataInactiveCount]):
(+[WebCoreStatistics purgeInactiveFontData]):

  • WebView/WebView.mm:

(+[WebView purgeInactiveFontData]):

Source/WebKit/win:

  • WebCoreStatistics.cpp:

(WebCoreStatistics::cachedFontDataCount):
(WebCoreStatistics::cachedFontDataInactiveCount):
(WebCoreStatistics::purgeInactiveFontData):

Source/WebKit2:

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::terminate):
(WebKit::WebProcess::didClose):
(WebKit::WebProcess::getWebCoreStatistics):

12:04 PM Changeset in webkit [167767] by eric.carlson@apple.com
  • 14 edits in trunk/Source

[iOS] Manage AudioSession category according to media type
https://bugs.webkit.org/show_bug.cgi?id=132096

Reviewed by Jer Noble.

Source/WebCore:

  • WebCore.exp.in: Export setting.
  • html/HTMLMediaSession.cpp:

(WebCore::HTMLMediaSession::HTMLMediaSession):
(WebCore::initializeAudioSession): Deleted.

  • page/Settings.cpp:
  • page/Settings.h:

(WebCore::Settings::setShouldManageAudioSession): New.
(WebCore::Settings::shouldManageAudioSession): Ditto.

  • platform/audio/ios/AudioDestinationIOS.cpp:

(WebCore::AudioDestinationIOS::AudioDestinationIOS): Use a MediaSession instead of inheriting

from AudioListener and calling the AudioSession directly.

(WebCore::AudioDestinationIOS::~AudioDestinationIOS): Ditto.
(WebCore::AudioDestinationIOS::start): Notify session.
(WebCore::AudioDestinationIOS::stop): Ditto.
(WebCore::AudioDestinationIOS::beganAudioInterruption): Deleted.
(WebCore::AudioDestinationIOS::endedAudioInterruption): Deleted.

  • platform/audio/ios/AudioDestinationIOS.h:

(WebCore::AudioDestinationIOS::mediaType):
(WebCore::AudioDestinationIOS::canReceiveRemoteControlCommands):
(WebCore::AudioDestinationIOS::didReceiveRemoteControlCommand):
(WebCore::AudioDestinationIOS::isPlaying): Deleted.

  • platform/audio/ios/AudioSessionIOS.mm:

(WebCore::categoryName): Debug-only logging function.
(WebCore::AudioSession::setCategory): Don't stick with "media" once it is set.

  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::resetRestrictions): Set up restrictions for WebAudio.
(WebCore::MediaSessionManageriOS::updateNowPlayingInfo): Don't set invalid start time.

  • platform/audio/mac/MediaSessionManagerMac.cpp:

(MediaSessionManager::updateSessionState): Manage AudioSession.active when WebAudio clients

come and go. Manage AudioSession.category according to the number of WebAudio and
HTMLMediaElement clients.

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]): Tell

WebCore to manage the AudioSession when running in MobileSafari.

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Tell WebCore to manage the AudioSession.

11:43 AM WebKitGTK/KeepingTheTreeGreen edited by elima@igalia.com
(diff)
11:39 AM WebKitGTK/KeepingTheTreeGreen edited by elima@igalia.com
(diff)
11:20 AM WebKitGTK/KeepingTheTreeGreen edited by elima@igalia.com
(diff)
10:48 AM Changeset in webkit [167766] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

[wk2] Provide SPI allowing clients to hand events directly to swipe code, bypassing scrolling
https://bugs.webkit.org/show_bug.cgi?id=132092
<rdar://problem/15948244>

Reviewed by Darin Adler.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _tryToSwipeWithEvent:ignoringPinnedState:]):
Added. Hand the event directly to ViewGestureController, optionally
ignoring whether or not the WKView is scrollable (always pretending that it is not).

  • UIProcess/mac/ViewGestureController.h:

(WebKit::ViewGestureController::shouldIgnorePinnedState):
(WebKit::ViewGestureController::setShouldIgnorePinnedState):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::scrollEventCanBecomeSwipe):
(WebKit::ViewGestureController::handleScrollWheelEvent):
(WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
(WebKit::scrollEventCanBecomeSwipe):
If we're ignoring the view's pinned state, pretend that we're always pinned,
and don't worry about sending events to WebCore.

10:30 AM Changeset in webkit [167765] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.
Update expectations after removal of environment variable
XVFB_SCREEN_DEPTH=8 from the GTK Release bot.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-04-24

  • platform/gtk/TestExpectations:
10:02 AM Changeset in webkit [167764] by hyatt@apple.com
  • 3 edits
    3 adds in trunk

[New Multicolumn] Client rects don't work with column spans.
https://bugs.webkit.org/show_bug.cgi?id=132131

Reviewed by Dean Jackson.

Source/WebCore:

Don't factor in the offset of the multicolumn set from the top
of the multicolumn block. This was added already, and it doesn't
need to be a part of columnTranslationForOffset.

Added fast/multicol/client-rects-spanners.html

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::columnTranslationForOffset):

LayoutTests:

  • fast/multicol/client-rects-spanners.html: Added.
  • platform/mac/fast/multicol/client-rects-spanners-expected.png: Added.
  • platform/mac/fast/multicol/client-rects-spanners-expected.txt: Added.
9:43 AM WebKitGTK/KeepingTheTreeGreen edited by elima@igalia.com
(diff)
9:36 AM Changeset in webkit [167763] by ap@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Test that we correctly process ArrayBufferView slices in WebCrypto
https://bugs.webkit.org/show_bug.cgi?id=132087

Reviewed by Brent Fulgham.

  • crypto/subtle/array-buffer-view-offset-expected.txt: Added.
  • crypto/subtle/array-buffer-view-offset.html: Added.
9:31 AM Changeset in webkit [167762] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] WebKit build fails when MEDIA_SOURCE is enabled
https://bugs.webkit.org/show_bug.cgi?id=132118

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-04-24
Reviewed by Brent Fulgham.

Files MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp and
WebKitMediaSourceGStreamer.cpp are included for EFL port build.

No new tests. No change in behaviour.

  • PlatformEfl.cmake: MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp

and WebKitMediaSourceGStreamer.cpp are included for compilation.

9:27 AM Changeset in webkit [167761] by tgergely.u-szeged@partner.samsung.com
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: !begin.isIndefinite() in WebCore::SVGSMILElement::resolveFirstInterval.
https://bugs.webkit.org/show_bug.cgi?id=131097

Reviewed by Darin Adler.

Source/WebCore:
According to smil animation reference, max attribute cannot be 0.

Test: svg/animations/smil-animation-max-attribute-zero-crash.svg

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::maxValue):

changed (result < 0) to (result <= 0)

LayoutTests:
Test added.

  • svg/animations/smil-animation-max-attribute-zero-crash-expected.txt: Added.
  • svg/animations/smil-animation-max-attribute-zero-crash.svg: Added.
9:18 AM Changeset in webkit [167760] by ryuan.choi@samsung.com
  • 8 edits in trunk/Source/WebCore

Remove screenColorProfile()
https://bugs.webkit.org/show_bug.cgi?id=132035

Reviewed by Darin Adler.

Only chromium used screenColorProfile() since r120789.

  • platform/PlatformScreen.h:
  • platform/efl/PlatformScreenEfl.cpp:

(WebCore::screenColorProfile): Deleted.

  • platform/gtk/PlatformScreenGtk.cpp:

(WebCore::screenColorProfile): Deleted.

  • platform/image-decoders/ImageDecoder.h:

(WebCore::ImageDecoder::qcmsOutputDeviceProfile):

  • platform/ios/PlatformScreenIOS.mm:

(WebCore::screenColorProfile): Deleted.

  • platform/mac/PlatformScreenMac.mm:

(WebCore::screenColorProfile): Deleted.

  • platform/win/PlatformScreenWin.cpp:

(WebCore::screenColorProfile): Deleted.

8:59 AM Changeset in webkit [167759] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebKit2

[GTK] wmode='transparent' for flash plugin doesn't work
https://bugs.webkit.org/show_bug.cgi?id=120055

Reviewed by Gustavo Noronha Silva.

Force opaque window mode for flash plugin when wmode='transparent',
since X11 backend doesn't support transparency. We should add
proper transparency support because forcing opaque window mode
doesn't really work. Handle this as a plugin quirk instead of
adding X11 specific code to WebFrameLoaderClient::createPlugin().

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::NetscapePluginModule::determineQuirks): Add
ForceFlashWindowlessMode quirk for flash in case of EFL platform
because EFL port doesn't support windowed plugins.

  • Shared/Plugins/PluginQuirks.h: Add ForceFlashWindowlessMode X11

plugin quirk.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::initialize): Modify or add wmode
parameter for flash plugin, to force opaque window mode when
transparent mode is specified or when ForceFlashWindowlessMode
quirk is present.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::createPlugin): Remove X11 specific code.

8:56 AM Changeset in webkit [167758] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

One more unreviewed build fix after r167755.

  • html/shadow/mac/ImageControlsButtonElementMac.cpp:

(WebCore::RenderImageControlsButton::updateLogicalWidth):
(WebCore::RenderImageControlsButton::computeLogicalHeight):

8:33 AM Changeset in webkit [167757] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r167755.

  • rendering/RenderThemeMac.h:
7:37 AM Changeset in webkit [167756] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: gradient editor does not appear for linear-gradient with no specified angle
https://bugs.webkit.org/show_bug.cgi?id=132083

Reviewed by Timothy Hatcher.

Only assume we're parsing a legacy-formatted gradient if the first parameter is not a color.

  • UserInterface/Models/Gradient.js:

(WebInspector.LinearGradient.linearGradientWithComponents):

7:27 AM Changeset in webkit [167755] by Alan Bujtas
  • 35 edits in trunk/Source/WebCore

Transition RenderTheme API from RenderObject* to const RenderObject&
https://bugs.webkit.org/show_bug.cgi?id=132037

Reviewed by Andreas Kling.

Using const references provides better encapsulation and improve security.

No change in behavior.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::boundingBoxForQuads):

  • dom/Element.cpp:

(WebCore::Element::setActive):
(WebCore::Element::setHovered):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::focusedOrActiveStateChanged):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::disabledStateChanged):
(WebCore::HTMLFormControlElement::readOnlyAttributeChanged):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::setIndeterminate):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::parseAttribute):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addVisualOverflowFromTheme):
(WebCore::RenderBlock::baselinePosition):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations):

  • rendering/RenderButton.cpp:

(WebCore::RenderButton::styleDidChange):

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::paintObject):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide):

  • rendering/RenderObject.h:
  • rendering/RenderProgress.cpp:

(WebCore::RenderProgress::computeLogicalHeight):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::paint):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::baselinePosition):
(WebCore::RenderTheme::adjustRepaintRect):
(WebCore::RenderTheme::stateChanged):
(WebCore::RenderTheme::updateControlStatesForRenderer):
(WebCore::RenderTheme::extractControlStatesForRenderer):
(WebCore::RenderTheme::isActive):
(WebCore::RenderTheme::isChecked):
(WebCore::RenderTheme::isIndeterminate):
(WebCore::RenderTheme::isEnabled):
(WebCore::RenderTheme::isFocused):
(WebCore::RenderTheme::isPressed):
(WebCore::RenderTheme::isSpinUpButtonPartPressed):
(WebCore::RenderTheme::isReadOnlyControl):
(WebCore::RenderTheme::isHovered):
(WebCore::RenderTheme::isSpinUpButtonPartHovered):
(WebCore::RenderTheme::isDefault):
(WebCore::RenderTheme::paintInputFieldSpeechButton):
(WebCore::RenderTheme::paintMeter):
(WebCore::RenderTheme::paintSliderTicks):
(WebCore::RenderTheme::progressBarRectForBounds):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::controlSupportsTints):
(WebCore::RenderTheme::paintCapsLockIndicator):
(WebCore::RenderTheme::paintFileUploadIconDecorations):
(WebCore::RenderTheme::imageControlsButtonSize):
(WebCore::RenderTheme::paintCheckbox):
(WebCore::RenderTheme::paintRadio):
(WebCore::RenderTheme::paintButton):
(WebCore::RenderTheme::paintInnerSpinButton):
(WebCore::RenderTheme::paintCheckboxDecorations):
(WebCore::RenderTheme::paintRadioDecorations):
(WebCore::RenderTheme::paintButtonDecorations):
(WebCore::RenderTheme::paintTextField):
(WebCore::RenderTheme::paintTextFieldDecorations):
(WebCore::RenderTheme::paintTextArea):
(WebCore::RenderTheme::paintTextAreaDecorations):
(WebCore::RenderTheme::paintMenuList):
(WebCore::RenderTheme::paintMenuListDecorations):
(WebCore::RenderTheme::paintMenuListButtonDecorations):
(WebCore::RenderTheme::paintPushButtonDecorations):
(WebCore::RenderTheme::paintSquareButtonDecorations):
(WebCore::RenderTheme::paintProgressBar):
(WebCore::RenderTheme::paintSliderTrack):
(WebCore::RenderTheme::paintSliderThumb):
(WebCore::RenderTheme::paintSliderThumbDecorations):
(WebCore::RenderTheme::paintSearchField):
(WebCore::RenderTheme::paintSearchFieldDecorations):
(WebCore::RenderTheme::paintSearchFieldCancelButton):
(WebCore::RenderTheme::paintSearchFieldDecorationPart):
(WebCore::RenderTheme::paintSearchFieldResultsDecorationPart):
(WebCore::RenderTheme::paintSearchFieldResultsButton):
(WebCore::RenderTheme::paintMediaFullscreenButton):
(WebCore::RenderTheme::paintMediaPlayButton):
(WebCore::RenderTheme::paintMediaOverlayPlayButton):
(WebCore::RenderTheme::paintMediaMuteButton):
(WebCore::RenderTheme::paintMediaSeekBackButton):
(WebCore::RenderTheme::paintMediaSeekForwardButton):
(WebCore::RenderTheme::paintMediaSliderTrack):
(WebCore::RenderTheme::paintMediaSliderThumb):
(WebCore::RenderTheme::paintMediaVolumeSliderContainer):
(WebCore::RenderTheme::paintMediaVolumeSliderTrack):
(WebCore::RenderTheme::paintMediaVolumeSliderThumb):
(WebCore::RenderTheme::paintMediaRewindButton):
(WebCore::RenderTheme::paintMediaReturnToRealtimeButton):
(WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
(WebCore::RenderTheme::paintMediaControlsBackground):
(WebCore::RenderTheme::paintMediaCurrentTime):
(WebCore::RenderTheme::paintMediaTimeRemaining):
(WebCore::RenderTheme::paintMediaFullScreenVolumeSliderTrack):
(WebCore::RenderTheme::paintMediaFullScreenVolumeSliderThumb):
(WebCore::RenderTheme::paintSnapshottedPluginOverlay):
(WebCore::RenderTheme::paintImageControlsButton):

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::addRoundedBorderClip):
(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::baselinePosition):
(WebCore::RenderThemeIOS::paintRadioDecorations):
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintTextAreaDecorations):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
(WebCore::RenderThemeIOS::paintSliderTrack):
(WebCore::RenderThemeIOS::paintSliderThumbDecorations):
(WebCore::RenderThemeIOS::paintProgressBar):
(WebCore::RenderThemeIOS::paintSearchFieldDecorations):
(WebCore::RenderThemeIOS::paintButtonDecorations):
(WebCore::RenderThemeIOS::paintPushButtonDecorations):
(WebCore::RenderThemeIOS::paintFileUploadIconDecorations):

  • rendering/RenderThemeMac.h:

(WebCore::RenderThemeMac::updateActiveState):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::documentViewFor):
(WebCore::RenderThemeMac::adjustRepaintRect):
(WebCore::RenderThemeMac::convertToPaintingRect):
(WebCore::RenderThemeMac::updateCheckedState):
(WebCore::RenderThemeMac::updateEnabledState):
(WebCore::RenderThemeMac::updateFocusedState):
(WebCore::RenderThemeMac::updatePressedState):
(WebCore::RenderThemeMac::controlSupportsTints):
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintCapsLockIndicator):
(WebCore::RenderThemeMac::paintTextArea):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::paintMeter):
(WebCore::RenderThemeMac::progressBarRectForBounds):
(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintMenuListButtonDecorations):
(WebCore::RenderThemeMac::setPopupButtonCellState):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchField):
(WebCore::RenderThemeMac::setSearchCellState):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize):

5:58 AM Changeset in webkit [167754] by commit-queue@webkit.org
  • 10 edits
    8 adds in trunk/LayoutTests

[EFL] Update baselines after r167568
https://bugs.webkit.org/show_bug.cgi?id=132125

Unreviewed EFL gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-04-24

  • platform/efl-wk2/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local-expected.txt: Added.
  • platform/efl/fast/repaint/reflection-redraw-expected.txt: Rebaseline after r167568.
  • platform/efl/fast/table/multiple-captions-display-expected.txt: Rebaseline after r167568.
  • platform/efl/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt: Added.
  • platform/efl/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt: Added.
  • platform/efl/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt: Added.
  • platform/efl/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt: Added.
  • platform/efl/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt: Added.
  • platform/efl/tables/mozilla/marvin/body_col-expected.txt: Rebaseline after r167568.
  • platform/efl/tables/mozilla/marvin/x_th_valign_baseline-expected.txt: Rebaseline after r167568.
  • platform/efl/tables/mozilla/other/body_col-expected.txt: Rebaseline after r167568.
  • platform/efl/tables/mozilla_expected_failures/bugs/bug10140-expected.txt: Rebaseline after r167568.
  • platform/efl/tables/mozilla_expected_failures/bugs/bug10216-expected.txt: Rebaseline after r167568.
  • platform/efl/tables/mozilla_expected_failures/core/captions3-expected.txt: Rebaseline after r167568.
  • platform/efl/tables/mozilla_expected_failures/other/test4-expected.txt: Rebaseline after r167568.
1:55 AM Changeset in webkit [167753] by llango.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

prepare-ChangeLog reports as deleted methods that has not been removed.
https://bugs.webkit.org/show_bug.cgi?id=131733

Reviewed by Ryosuke Niwa.

  • Scripts/prepare-ChangeLog:

(originalFile): Set merge base to origin/master by default.

12:50 AM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
12:17 AM Changeset in webkit [167752] by Carlos Garcia Campos
  • 6 edits in trunk/Source/WebCore

[GTK] HTML Media capture attribute is a boolean since r163958
https://bugs.webkit.org/show_bug.cgi?id=132061

Reviewed by Gustavo Noronha Silva.

Add new methods webkit_dom_html_input_element_get_capture_enabled
and webkit_dom_html_input_element_set_capture_enabled using a
boolean and deprecate the old methods.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_html_input_element_get_capture):
(webkit_dom_html_input_element_set_capture):

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols:
  • bindings/gobject/webkitdom.symbols:
  • bindings/scripts/CodeGeneratorGObject.pm:

(GetEffectiveFunctionName): Helper function to rename API methods
for special cases.
(GenerateFunction): Use GetEffectiveFunctionName().

12:07 AM Changeset in webkit [167751] by jcraig@apple.com
  • 6 edits in trunk/Tools

prepare-Changelog and svn-create-patch should optionally run check-webkit-style.
https://bugs.webkit.org/show_bug.cgi?id=131115

Reviewed by Daniel Bates.

Added [--[no-]style] param to run check-webkit-style as part of prepare-Changelog and svn-create-patch.

  • Scripts/commit-log-editor: Added --no-style.
  • Scripts/prepare-ChangeLog: Primary patch.

(main): Primary patch.
(createPatchCommand): Added --no-style.

  • Scripts/svn-create-patch: Primary patch.
  • Scripts/webkit-tools-completion.sh: Added --style and --no-style.
  • Scripts/webkitpy/common/checkout/scm/svn.py: Added --no-style.

(SVN.create_patch): Added --no-style.

Note: See TracTimeline for information about the timeline view.