Timeline



Jul 1, 2014:

11:44 PM Changeset in webkit [170699] by fred.wang@free.fr
  • 6 edits
    4 deletes in trunk

The OpenType MATH table is not read on Mac
https://bugs.webkit.org/show_bug.cgi?id=133569

Reviewed by Chris Fleizach.

Source/WebCore:
An incorrect tag format is used to load the OpenType MATH table on Mac.
This commit makes the format consistent with what is used for other tables on Mac.
This will allow to load the MATH table and to use it for the MathML rendering.

No new tests. platform/graphics/opentype already contains tests for the OpenType MATH support.

  • platform/graphics/opentype/OpenTypeMathData.cpp:

LayoutTests:
We update the references for some tests in LayoutTests/mathml/opentype/ and remove the failure from TestExpectations.
Other tests require a font with a MATH table to be installed on Mac bots and to be used by default (bug 133603).

  • platform/mac-wk2/mathml/opentype/opentype-stretchy-expected.txt: Removed.
  • platform/mac/TestExpectations: Enable mathml/opentype/opentype-stretchy-horizontal.html and mathml/opentype/opentype-stretchy.html.
  • platform/mac/mathml/horizontal-LatinModern-expected.txt: Removed. This file should not have been in this directory.
  • platform/mac/mathml/horizontal-LatinModern-munderover-expected.txt: Removed. This file should not have been in this directory.
  • platform/mac/mathml/opentype-stretchy-horizontal-expected.txt: Removed. This file should not have been in this directory.
  • platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Add text reference.
  • platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Add text reference.
10:57 PM Changeset in webkit [170698] by achristensen@apple.com
  • 5 edits in trunk/Source

[Win64] Unreviewed build fix.

Source/WebCore:

  • WebCore.vcxproj/WebCore.vcxproj:

Exclude CA files from 32 and 64 bit WinCairo builds.

  • WebCore.vcxproj/WebCoreTestSupport.vcxproj:

Don't use a precompiled header in 32 or 63 bit builds of MockCDM.cpp.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Corrected 64-bit linker symbols.

9:49 PM Changeset in webkit [170697] by achristensen@apple.com
  • 7 edits in trunk/Source

Reduce dynamic memory allocation in css jit.
https://bugs.webkit.org/show_bug.cgi?id=134416

Reviewed by Benjamin Poulain.

Source/WebCore:

  • cssjit/FunctionCall.h:

(WebCore::FunctionCall::saveAllocatedRegisters):

  • cssjit/RegisterAllocator.h:
  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::push):
(WebCore::StackAllocator::pop):
Use inlineCapacity template parameter to reduce malloc calls.
I use 32 as the inline capacity for non-register related vectors because that
is probably big enough for the selector compiler, and if it is not then a malloc
call will not be significant because the selector is very complex.

Source/WTF:

  • wtf/Deque.h:

Added inlineCapacity optional template parameter.

9:49 PM Changeset in webkit [170696] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL] Fix occurrence of two cursors on WK2 EFL.
https://bugs.webkit.org/show_bug.cgi?id=134436

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2014-07-01
Reviewed by Anders Carlsson.

ecore_x_window_cursor is released when ecore_evas_object_cursor should be shown in order to avoid occurrence of two cursors.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::updateCursor):

8:44 PM Changeset in webkit [170695] by gyuyoung.kim@samsung.com
  • 4 edits in trunk

Fix build break on EFL and GTK ports since r170683
https://bugs.webkit.org/show_bug.cgi?id=134536

Unreviewed, build fix.

Source/WebKit2:

  • CMakeLists.txt:

Tools:

  • TestWebKitAPI/Tests/WebKit2/RestoreSessionStateContainingFormData.cpp:
8:35 PM Changeset in webkit [170694] by eric.carlson@apple.com
  • 24 edits in trunk

WebVTT percentage value can be a float
https://bugs.webkit.org/show_bug.cgi?id=134511

Reviewed by Brent Fulgham.

Source/WebCore:
No new tests, existing tests modified.

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::setLine): int -> double.
(WebCore::TextTrackCueGeneric::setPosition): Ditto.

  • html/track/TextTrackCueGeneric.h:
  • html/track/VTTCue.cpp:

(WebCore::VTTCue::setLine): Ditto.
(WebCore::VTTCue::setPosition): Ditto.
(WebCore::VTTCue::setCueSettings): Support floating point values for line, position, and size.
(WebCore::scanPercentage): Deleted.

  • html/track/VTTCue.h:
  • html/track/VTTScanner.cpp:

(WebCore::VTTScanner::scanFloat): Support negative values.

  • html/track/VTTScanner.h:
  • html/track/WebVTTParser.cpp: Include parseFloatPercentageValue in non-WEBVTT_REGIONS builds.
  • html/track/WebVTTParser.h:
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Drive by change to take a cue

reference rather than a pointer.

(WebCore::InbandTextTrackPrivateAVF::processAttributedStrings): Ditto.
(WebCore::InbandTextTrackPrivateAVF::removeCompletedCues): Loop over all cues, don't LOG that

we are asking the client to delete the cue because the client will have already deleted
it when status when to GenericCueData::Complete.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:

LayoutTests:

  • media/track/captions-webvtt/tc015-positioning-ltr.vtt:
  • media/track/captions-webvtt/tc015-positioning.vtt:
  • media/track/captions-webvtt/tc017-line-position.vtt:
  • media/track/captions-webvtt/tc018-align-text-line-position.vtt:
  • media/track/captions-webvtt/tc019-cue-size.vtt:
  • media/track/track-webvtt-tc015-positioning-expected.txt:
  • media/track/track-webvtt-tc015-positioning.html:
  • media/track/track-webvtt-tc017-line-position-expected.txt:
  • media/track/track-webvtt-tc017-line-position.html:
  • media/track/track-webvtt-tc018-align-text-line-position-expected.txt:
  • media/track/track-webvtt-tc018-align-text-line-position.html:
  • media/video-test.js:

(testCues):

8:21 PM Changeset in webkit [170693] by dino@apple.com
  • 2 edits in trunk/Source/WebKit2

Make LogsPageMessagesToSystemConsoleEnabled a global debug preference
https://bugs.webkit.org/show_bug.cgi?id=134534

Reviewed by Joseph Pecoraro.

  • Shared/WebPreferencesDefinitions.h:
8:06 PM Changeset in webkit [170692] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Handle invalid data more gracefully.

Reviewed by Anders Carlsson.

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::decodeFormData):
(WebKit::decodeBackForwardTreeNode):

7:50 PM Changeset in webkit [170691] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Fix this test; it was waiting about 32 years for the end of an animation.
What we really care about is the start of the animation.

  • compositing/animation/keyframe-order.html:
7:43 PM Changeset in webkit [170690] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Improve behavior of position:sticky on zoomed pages
https://bugs.webkit.org/show_bug.cgi?id=134535
<rdar://problem/12898829>

Reviewed by Dean Jackson.

Despite r138036, position:sticky still had incorrect behavior in zoomed pages.

Fix by removing the scaling of the rect from viewportConstrainedVisibleContentRect(),
since all the other math happens in unscaled coordinates.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::constrainingRectForStickyPosition):

7:24 PM Changeset in webkit [170689] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit2

Add a missing return statement in WKPageCopySessionState.

Reviewed by Anders Carlsson.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopySessionState):

6:36 PM Changeset in webkit [170688] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Remove WebChromeClient code that was only needed for Safari versions earlier than 3.1
https://bugs.webkit.org/show_bug.cgi?id=134531

Reviewed by Daniel Bates.

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::exceededDatabaseQuota):

6:27 PM Changeset in webkit [170687] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't encode/decode the snapshot UUID
https://bugs.webkit.org/show_bug.cgi?id=134532

Reviewed by Sam Weinig.

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::encodeSessionHistory):
(WebKit::decodeSessionHistoryEntry):

6:24 PM Changeset in webkit [170686] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebKit2

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

Safari keeps crashing on device due to sandbox violation.
(Requested by enrica on #webkit).

Reverted changeset:

"Restrict network process sandbox"
https://bugs.webkit.org/show_bug.cgi?id=134360
http://trac.webkit.org/changeset/170608

5:57 PM Changeset in webkit [170685] by psolanki@apple.com
  • 6 edits in trunk

Encode/decode CFURLRequestRefs when USE(CFNETWORK) is enabled
https://bugs.webkit.org/show_bug.cgi?id=134454
<rdar://problem/17510980>

Reviewed by Andreas Kling.

Source/WebKit2:
Use new helper methods to serialize/deserialize CFURLRequestRef directly so we can avoid
creating NSURLRequest.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):

WebKitLibraries:

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
5:49 PM Changeset in webkit [170684] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Fix a race between the short tap and long tap highlight
https://bugs.webkit.org/show_bug.cgi?id=134530

Reviewed by Enrica Casucci.

There was a potential race of event that can theoretically cause WKContentViewInteraction
to call [WKContentView _showTapHighlight] after all interactions have been cancelled.

The race would be like this:
1) On a short tap, _singleTapRecognized: is called, a tap highlight ID is defined and

_potentialTapInProgress is set to YES.

2) For some reason, the gesture is cancelled. The method _singleTapDidReset is called,

setting _potentialTapInProgress but leaving the tap highlight ID as valid.

3) The UIProcess receives the tap highlight information from the WebProcess, _didGetTapHighlightForRequest:

has a valid ID, _potentialTapInProgress is false -> the highlight is shown right away as if a long tap
was in progress.

The missing piece that causes this is _singleTapDidReset: must also invalidate the tap highlight ID. This is done
in the new static function cancelPotentialTapIfNecessary().

Just invalidating the ID would create another race:
1) Short tap gesture recognizer starts.
2) The long press recognizer starts before (1) is commited.
3) The long press recognizers sets up its own tap highlight ID.
4) The short tap gesture recognizer resets, erasing the tap highlight ID defined in (3).

To avoid this, the long press gesture recognizers immediately cancels any potential tap in progress.
If _singleTapDidReset: is called before (3), this does nothing. If the reset is called after (3),
_singleTapDidReset does nothing.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _highlightLongPressRecognized:]):
(cancelPotentialTapIfNecessary):
(-[WKContentView _singleTapDidReset:]):

5:47 PM Changeset in webkit [170683] by andersca@apple.com
  • 8 edits in trunk

Add ABI hacks to allow WKPageRef to use WKSessionStateRef
https://bugs.webkit.org/show_bug.cgi?id=134529

Reviewed by Sam Weinig.

  • UIProcess/API/APISessionState.h:

Add a sessionState() getter.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopySessionState):
Add a hack where we return a WKSessionStateRef if the least significant bit of the context pointer
is 1, and a WKDataRef otherwise.

(WKPageRestoreFromSessionState):
Handle both WKDataRef and WKSessionStateref.

  • UIProcess/API/C/WKPage.h:

Use WKTypeRefs for state saving and restoration.

  • UIProcess/API/C/WKSessionStateRef.cpp:

(WKSessionStateCopyData):
Add helper function.

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

[WebGL] Fix PVRTC extension.
https://bugs.webkit.org/show_bug.cgi?id=134525

Patch by Alex Christensen <achristensen@webkit.org> on 2014-07-01
Reviewed by Dean Jackson.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::validateCompressedTexDimensions):
Remove the return false which I mistakenly committed in r170128
and make the gl error match the S3TC error and the khronos test.

5:13 PM Changeset in webkit [170681] by jonowells@apple.com
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Hexadecimal color values in all CSS editors are purple when they should be blue
https://bugs.webkit.org/show_bug.cgi?id=133997

Reviewed by Joseph Pecoraro.

CodeMirror 4 removed the style for hex colors from the CSS tokenizer.
Feature has been added to CodeMirrorAdditions.js.

  • UserInterface/Views/CodeMirrorAdditions.js: Added hex-color to style for a valid hexadecimal color.
  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Added selector for hexadecimal color.
5:12 PM Changeset in webkit [170680] by mark.lam@apple.com
  • 17 edits
    1 delete in branches/ftlopt/Source

[ftlopt] DebuggerCallFrame::scope() should return a DebuggerScope.
<https://webkit.org/b/134420>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
Previously, DebuggerCallFrame::scope() returns a JSActivation (and relevant
peers) which the WebInspector will use to introspect CallFrame variables.
Instead, we should be returning a DebuggerScope as an abstraction layer that
provides the introspection functionality that the WebInspector needs. This
is the first step towards not forcing every frame to have a JSActivation
object just because the debugger is enabled.

  1. Instantiate the debuggerScopeStructure as a member of the JSGlobalObject instead of the VM. This allows JSObject::globalObject() to be able to return the global object for the DebuggerScope.
  1. On the DebuggerScope's life-cycle management:

The DebuggerCallFrame is designed to be "valid" only during a debugging session
(while the debugger is broken) through the use of a DebuggerCallFrameScope in
Debugger::pauseIfNeeded(). Once the debugger resumes from the break, the
DebuggerCallFrameScope destructs, and the DebuggerCallFrame will be invalidated.
We can't guarantee (from this code alone) that the Inspector code isn't still
holding a ref to the DebuggerCallFrame (though they shouldn't), but by contract,
the frame will be invalidated, and any attempt to query it will return null values.
This is pre-existing behavior.

Now, we're adding the DebuggerScope into the picture. While a single debugger
pause session is in progress, the Inspector may request the scope from the
DebuggerCallFrame. While the DebuggerCallFrame is still valid, we want
DebuggerCallFrame::scope() to always return the same DebuggerScope object.
This is why we hold on to the DebuggerScope with a strong ref.

If we use a weak ref instead, the following cooky behavior can manifest:

  1. The Inspector calls Debugger::scope() to get the top scope.
  2. The Inspector iterates down the scope chain and is now only holding a reference to a parent scope. It is no longer referencing the top scope.
  3. A GC occurs, and the DebuggerCallFrame's weak m_scope ref to the top scope gets cleared.
  4. The Inspector calls DebuggerCallFrame::scope() to get the top scope again but gets a different DebuggerScope instance.
  5. The Inspector iterates down the scope chain but never sees the parent scope instance that retained a ref to in step 2 above. This is because when iterating this new DebuggerScope instance (which has no knowledge of the previous parent DebuggerScope instance), a new DebuggerScope instance will get created for the same parent scope.

Since the DebuggerScope is a JSObject, it's liveness is determined by its reachability.
However, it's "validity" is determined by the life-cycle of its owner DebuggerCallFrame.
When the owner DebuggerCallFrame gets invalidated, its debugger scope chain (if
instantiated) will also get invalidated. This is why we need the
DebuggerScope::invalidateChain() method. The Inspector should not be using the
DebuggerScope instance after its owner DebuggerCallFrame is invalidated. If it does,
those methods will do nothing or returned a failed status.

  • debugger/Debugger.h:
  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::scope):
(JSC::DebuggerCallFrame::evaluate):
(JSC::DebuggerCallFrame::invalidate):
(JSC::DebuggerCallFrame::vm):
(JSC::DebuggerCallFrame::lexicalGlobalObject):

  • debugger/DebuggerCallFrame.h:
  • debugger/DebuggerScope.cpp:

(JSC::DebuggerScope::DebuggerScope):
(JSC::DebuggerScope::finishCreation):
(JSC::DebuggerScope::visitChildren):
(JSC::DebuggerScope::className):
(JSC::DebuggerScope::getOwnPropertySlot):
(JSC::DebuggerScope::put):
(JSC::DebuggerScope::deleteProperty):
(JSC::DebuggerScope::getOwnPropertyNames):
(JSC::DebuggerScope::defineOwnProperty):
(JSC::DebuggerScope::next):
(JSC::DebuggerScope::invalidateChain):
(JSC::DebuggerScope::isWithScope):
(JSC::DebuggerScope::isGlobalScope):
(JSC::DebuggerScope::isFunctionScope):

  • debugger/DebuggerScope.h:

(JSC::DebuggerScope::create):
(JSC::DebuggerScope::Iterator::Iterator):
(JSC::DebuggerScope::Iterator::get):
(JSC::DebuggerScope::Iterator::operator++):
(JSC::DebuggerScope::Iterator::operator==):
(JSC::DebuggerScope::Iterator::operator!=):
(JSC::DebuggerScope::isValid):
(JSC::DebuggerScope::jsScope):
(JSC::DebuggerScope::begin):
(JSC::DebuggerScope::end):

  • inspector/JSJavaScriptCallFrame.cpp:

(Inspector::JSJavaScriptCallFrame::scopeType):
(Inspector::JSJavaScriptCallFrame::scopeChain):

  • inspector/JavaScriptCallFrame.h:

(Inspector::JavaScriptCallFrame::scopeChain):

  • inspector/ScriptDebugServer.cpp:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::debuggerScopeStructure):

  • runtime/JSObject.h:

(JSC::JSObject::isWithScope):

  • runtime/JSScope.h:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:
No new tests.

  • ForwardingHeaders/debugger/DebuggerCallFrame.h: Removed.
  • This is not in use. Hence, we can remove it.
  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::attachDebugger):

  • We should acquire the JSLock before modifying a JS global object.
5:08 PM Changeset in webkit [170679] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

WKPageRestoreFromSessionState should use the new session state restore code path
https://bugs.webkit.org/show_bug.cgi?id=134526

Reviewed by Tim Horton.

  • UIProcess/API/C/WKPage.cpp:

(WKPageRestoreFromSessionState):
Use the new code path.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::restoreFromState):
Only restore the back-forward state if we have a back-forward list.

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::encodeSessionHistory):
Save the original URL string as well.

(WebKit::decodeV1SessionHistory):
If we don't have a current index, set it to Nullopt instead of 0.

4:57 PM Changeset in webkit [170678] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: iOS does not expose ARIA toggle buttons at all (not even as a regular button)
https://bugs.webkit.org/show_bug.cgi?id=133875

Reviewed by Enrica Casucci.

Source/WebCore:
Support the toggle button type in iOS.

Test: platform/ios-sim/accessibility/toggle-button.html

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
(-[WebAccessibilityObjectWrapper accessibilityTraits]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):

LayoutTests:

  • platform/ios-sim/accessibility/toggle-button-expected.txt: Added.
  • platform/ios-sim/accessibility/toggle-button.html: Added.
4:40 PM Changeset in webkit [170677] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Debugger's breakpoint list should not be a Vector.
<https://webkit.org/b/134514>

Reviewed by Geoffrey Garen.

The debugger currently stores breakpoint data as entries in a Vector (see
BreakpointsInLine). It also keeps a fast map look up of breakpoint IDs to
the breakpoint data (see m_breakpointIDToBreakpoint). Because a Vector can
compact or reallocate its backing store, this can causes all sorts of havoc.
The m_breakpointIDToBreakpoint map assumes that the breakpoint data doesn't
move in memory.

The fix is to replace the BreakpointsInLine Vector with a BreakpointsList
doubly linked list.

  • debugger/Breakpoint.h:

(JSC::Breakpoint::Breakpoint):
(JSC::BreakpointsList::~BreakpointsList):

  • debugger/Debugger.cpp:

(JSC::Debugger::setBreakpoint):
(JSC::Debugger::removeBreakpoint):
(JSC::Debugger::hasBreakpoint):

  • debugger/Debugger.h:
4:40 PM Changeset in webkit [170676] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed. EFL and GTK build fix since r170654.

  • UIProcess/LegacySessionStateCodingNone.cpp: Add a dummy encodeLegacySessionState(const SessionState&).

(WebKit::encodeLegacySessionState):

4:26 PM Changeset in webkit [170675] by dino@apple.com
  • 6 edits
    6 adds in trunk

[iOS] Subsampled JPEG images do not draw correctly via the canvas APIs
https://bugs.webkit.org/show_bug.cgi?id=134513
<rdar://problem/12078860>
<rdar://problem/16745393>

Reviewed by Tim Horton.

Source/WebCore:
Subsampled images (e.g. JPEG) were not consistently using
their original dimensions and subsampled dimensions. This caused
things like texImage2D to pack the pixels incorrectly, or drawImage
to squish the rendering.

Renamed m_scale to m_subsamplingScale on FrameData.

Tests: fast/canvas/image-potential-subsample.html

fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image.html

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::cacheFrame): Rename to m_subsamplingScale.
(WebCore::BitmapImage::frameAtIndex): Ditto.

  • platform/graphics/BitmapImage.h:

(WebCore::FrameData::FrameData): Ditto.

  • platform/graphics/cg/BitmapImageCG.cpp:

(WebCore::FrameData::clear): Ditto.
(WebCore::BitmapImage::BitmapImage): Ditto.
(WebCore::BitmapImage::draw): Use a scaledSrcRect that reflects the subsampled size,
rather than assuming the srcRect accurately reflects how many pixels we have
in the Bitmap.
(WebCore::BitmapImage::copyUnscaledFrameAtIndex):

  • platform/graphics/cg/GraphicsContext3DCG.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::extractImage): Similar fix, although this
time we just ask the image decoder to take into account the subsampled size
when it is "generating" a frame, causing it to use the bitmap data it has already
decoded.

LayoutTests:
Add Canvas2D and WebGL tests that exercise a very large JPEG image.

The WebGL test is mostly copied from the WebGL test suite, so please
excuse the coding style.

  • fast/canvas/image-potential-subsample-expected.txt: Added.
  • fast/canvas/image-potential-subsample.html: Added.
  • fast/canvas/resources/image-8000x8000.jpg: Added.
  • fast/canvas/webgl/resources/tex-image-and-sub-image-2d-with-potentially-subsampled-image.js: Added.

(.init):
(.runOneIteration):
(.runTestOnImage):
(.runTest):
(generateTest):

  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image-expected.txt: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image.html: Added.
4:22 PM Changeset in webkit [170674] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Crash in WebDocumentLoader::setNavigationID
https://bugs.webkit.org/show_bug.cgi?id=134520

Reviewed by Anders Carlsson.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::didReceivePolicyDecision): Null-check the policy document loader.

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

Build fix.

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didDestroyNavigation):

3:40 PM Changeset in webkit [170672] by fpizlo@apple.com
  • 15 edits
    9 adds in branches/ftlopt/Source/JavaScriptCore

[ftlopt] DFG bytecode parser should turn PutById with nothing but a Setter stub as stuff+handleCall, and handleCall should be allowed to inline if it wants to
https://bugs.webkit.org/show_bug.cgi?id=130756

Reviewed by Oliver Hunt.

The enables exposing the call to setters in the DFG, and then inlining it. Previously we
already supproted inlined-cached calls to setters from within put_by_id inline caches,
and the DFG could certainly emit such IC's. Now, if an IC had a setter call, then the DFG
will either emit the GetGetterSetterByOffset/GetSetter/Call combo, or it will do one
better and inline the call.

A lot of the core functionality was already available from the previous work to inline
getters. So, there are some refactorings in this patch that move preexisting
functionality around. For example, the work to figure out how the DFG should go about
getting to what we call the "loaded value" - i.e. the GetterSetter object reference in
the case of accessors - is now shared in ComplexGetStatus, and both GetByIdStatus and
PutByIdStatus use it. This means that we can keep the safety checks common. This patch
also does additional refactorings in DFG::ByteCodeParser so that we can continue to reuse
handleCall() for all of the various kinds of calls we can now emit.

83% speed-up on getter-richards, 2% speed-up on box2d.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/ComplexGetStatus.cpp: Added.

(JSC::ComplexGetStatus::computeFor):

  • bytecode/ComplexGetStatus.h: Added.

(JSC::ComplexGetStatus::ComplexGetStatus):
(JSC::ComplexGetStatus::skip):
(JSC::ComplexGetStatus::takesSlowPath):
(JSC::ComplexGetStatus::kind):
(JSC::ComplexGetStatus::attributes):
(JSC::ComplexGetStatus::specificValue):
(JSC::ComplexGetStatus::offset):
(JSC::ComplexGetStatus::chain):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForStubInfo):

  • bytecode/GetByIdVariant.cpp:

(JSC::GetByIdVariant::GetByIdVariant):

  • bytecode/PolymorphicPutByIdList.h:

(JSC::PutByIdAccess::PutByIdAccess):
(JSC::PutByIdAccess::setter):
(JSC::PutByIdAccess::structure):
(JSC::PutByIdAccess::chainCount):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFromLLInt):
(JSC::PutByIdStatus::computeFor):
(JSC::PutByIdStatus::computeForStubInfo):
(JSC::PutByIdStatus::makesCalls):

  • bytecode/PutByIdStatus.h:

(JSC::PutByIdStatus::makesCalls): Deleted.

  • bytecode/PutByIdVariant.cpp:

(JSC::PutByIdVariant::PutByIdVariant):
(JSC::PutByIdVariant::operator=):
(JSC::PutByIdVariant::replace):
(JSC::PutByIdVariant::transition):
(JSC::PutByIdVariant::setter):
(JSC::PutByIdVariant::writesStructures):
(JSC::PutByIdVariant::reallocatesStorage):
(JSC::PutByIdVariant::makesCalls):
(JSC::PutByIdVariant::dumpInContext):

  • bytecode/PutByIdVariant.h:

(JSC::PutByIdVariant::PutByIdVariant):
(JSC::PutByIdVariant::structure):
(JSC::PutByIdVariant::oldStructure):
(JSC::PutByIdVariant::alternateBase):
(JSC::PutByIdVariant::specificValue):
(JSC::PutByIdVariant::callLinkStatus):
(JSC::PutByIdVariant::replace): Deleted.
(JSC::PutByIdVariant::transition): Deleted.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addCallWithoutSettingResult):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::handlePutById):
(JSC::DFG::ByteCodeParser::parseBlock):

  • jit/Repatch.cpp:

(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):

  • runtime/IntendedStructureChain.cpp:

(JSC::IntendedStructureChain::takesSlowPathInDFGForImpureProperty):

  • runtime/IntendedStructureChain.h:
  • tests/stress/exit-from-setter.js: Added.
  • tests/stress/poly-chain-setter.js: Added.

(Cons):
(foo):
(test):

  • tests/stress/poly-chain-then-setter.js: Added.

(Cons1):
(Cons2):
(foo):
(test):

  • tests/stress/poly-setter-combo.js: Added.

(Cons1):
(Cons2):
(foo):
(test):
(.test):

  • tests/stress/poly-setter-then-self.js: Added.

(foo):
(test):
(.test):

  • tests/stress/weird-setter-counter.js: Added.

(foo):
(test):

  • tests/stress/weird-setter-counter-syntactic.js: Added.

(foo):
(test):

3:34 PM Changeset in webkit [170671] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Use the new legacy session state coding in WKPageCopySessionState
https://bugs.webkit.org/show_bug.cgi?id=134516

Reviewed by Tim Horton.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopySessionState):
Call encodeLegacySessionState.

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::encodeSessionHistoryEntryData):
Use leakPtr() so we won't attempt to double-free the buffer.

(WebKit::createDictionary):
Fix a typo.

(WebKit::encodeLegacySessionState):
Don't encode the provisional URL if it's empty.

3:25 PM Changeset in webkit [170670] by Chris Fleizach
  • 2 edits in trunk/Source/WebKit2

AX: [iOS WebKit2] Support for Speak selection
https://bugs.webkit.org/show_bug.cgi?id=134512

Reviewed by Darin Adler.

Implement a method that Speak Selection can use to retrieve the selected content.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView accessibilityRetrieveSpeakSelectionContent]):

3:19 PM Changeset in webkit [170669] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Update the highest back-forward list item ID in the other WebBackForwardListItem constructor
https://bugs.webkit.org/show_bug.cgi?id=134515

Reviewed by Tim Horton.

  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::WebBackForwardListItem):

2:21 PM Changeset in webkit [170668] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix ServicesOverlayController teardown
<rdar://problem/17523998> and https://bugs.webkit.org/show_bug.cgi?id=134510

Reviewed by Mark Rowe.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::~ServicesOverlayController): Flipped logic on null-checking the overlay.

2:16 PM Changeset in webkit [170667] by weinig@apple.com
  • 7 edits in trunk

[Cocoa][Mac] WKWebView should automatically set topContentInset when beneath a toolbar
<rdar://problem/17523159>
https://bugs.webkit.org/show_bug.cgi?id=134496

Reviewed by Beth Dakin.

Source/WebKit2:

  • Adds _automaticallyAdjustsContentInsets SPI to both WKView and WKWebView.
  • Defaults _automaticallyAdjustsContentInsets to NO for WKView to keep legacy clients working.
  • Defaults _automaticallyAdjustsContentInsets to YES for WKWebView.
  • UIProcess/API/Cocoa/WKViewPrivate.h:

Add _automaticallyAdjustsContentInsets SPI.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
Default _automaticallyAdjustsContentInsets to YES for WKWebView.

(-[WKWebView _setTopContentInset:]):
(-[WKWebView _topContentInset]):
Change to forward to the WKView, since we now do coalescing and caching there.

(-[WKWebView _setAutomaticallyAdjustsContentInsets:]):
(-[WKWebView _automaticallyAdjustsContentInsets]):
Forward to the WKView.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Add _automaticallyAdjustsContentInsets SPI.

  • UIProcess/API/mac/WKView.mm:

(-[WKView renewGState]):
Ensure the contentInset is updated when the view changes, as its relative location to the toolbar may have changed.

(-[WKView addWindowObserversForWindow:]):
(-[WKView removeWindowObservers]):
(-[WKView observeValueForKeyPath:ofObject:change:context:]):
Add observers for the contentLayoutRect and titlebarAppearsTransparent properties on the window. If either of them
change, we need to recalculate the content inset.

(-[WKView _updateContentInsetsIfAutomatic]):
If _automaticallyAdjustsContentInsets is YES, follow the same rules as AppKit in setting the top content inset. Like
AppKit this is only done when:

  • The window's style mask has the NSFullSizeContentViewWindowMask bit.
  • The window does not have titlebarAppearsTransparent set.
  • And we are not in an enclosing NSScrollView.

(-[WKView _setTopContentInset:]):
(-[WKView _topContentInset]):
Coalesce setting the topContentInset to avoid a visual lag when resizing the window that was caused by us sending
multiple topContentInsets to the WebContentProcess per runloop cycle. The reason for the lag was that at the time
we observe the contentLayoutRect changing, our view may not yet be in its final position yet, so the inset will be
temporarily wrong. When the view is finally positioned correctly, we will get a renewGState, at which point we will
again calculate the inset, which now will be correct. Since these both happen in the same runloop iteration, we can
just defer sending the inset to the WebContentProcess.

(-[WKView _setAutomaticallyAdjustsContentInsets:]):
(-[WKView _automaticallyAdjustsContentInsets]):
Add the new SPI.

Tools:

  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController windowDidLoad]):
Use the NSFullSizeContentViewWindowMask bit on Yosemite and later to enable toolbar blurring.

2:13 PM Changeset in webkit [170666] by andersca@apple.com
  • 1 delete in trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp.rej

Oops, didn't mean to commit this.

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

Web Inspector: Selected DOM element highlights invisible near bottom of the viewport (topContentInset?)
https://bugs.webkit.org/show_bug.cgi?id=133818

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-07-01
Reviewed by Beth Dakin.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::update):
Take the topContentInset into account when sizing the InspectorOverlay's FrameView.

2:07 PM Changeset in webkit [170664] by andersca@apple.com
  • 6 edits
    1 add in trunk/Source/WebKit2

Add a function for restoring page state given a SessionState object
https://bugs.webkit.org/show_bug.cgi?id=134509

Reviewed by Tim Horton.

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::itemState):

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::saveState):

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

(WebKit::WebPageProxy::saveState):

  • UIProcess/WebPageProxy.h:
1:45 PM Changeset in webkit [170663] by zandobersek@gmail.com
  • 7 edits in trunk

[CMake] Add necessary support for building for the Wayland target
https://bugs.webkit.org/show_bug.cgi?id=134160

Reviewed by Darin Adler.

.:

  • Source/cmake/FindGTK3.cmake: Check for the gtk+-x11-3.0 package if the X11 target

is enabled, and that its version matches the version of the generic package. Same
for the gtk+-wayland-3.0 package and the Wayland target.

  • Source/cmake/OptionsCommon.cmake: Don't add the -DXP_UNIX definition here.
  • Source/cmake/OptionsEfl.cmake: Add -DXP_UNIX here for the EFL port, under the same

condition as in OptionsCommon.cmake. ENABLE_X11_TARGET is enabled by default for EFL
so they keep building the TestNetscapePlugin target.

  • Source/cmake/OptionsGTK.cmake: Enable the X11 target and disable the Wayland target

by default. Group all the X11-specific macro definitions (WTF_PLATFORM_X11, MOZ_X11,
XP_UNIX) and only add them if the X11 target is enabled. Similar goes for the Wayland
target and WTF_PLATFORM_WAYLAND. The Wayland target requires GTK+ 3.12.0, so that's
the minimum required version as soon as that target is enabled. Only search for GLX
if the X11 target is enabled.

Tools:

  • CMakeLists.txt: Only build the TestNetscapePlugIn target in case

the X11 windowing target is enabled.

1:38 PM Changeset in webkit [170662] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Followup for: Combine the Telephone and Selection overlay controllers, updating UI behavior.
https://bugs.webkit.org/show_bug.cgi?id=134461

Rubberstamped by Tim Horton.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm: Include the correct constant.
1:29 PM Changeset in webkit [170661] by Chris Fleizach
  • 8 edits
    1 copy in trunk

AX: HTML indeterminate IDL attribute not mapped to checkbox value=2
https://bugs.webkit.org/show_bug.cgi?id=134492

Reviewed by Andreas Kling.

Source/WebCore:
Support the indeterminate attribute in AX code.

Test: Update existing test: accessibility/aria-checked-mixed-value

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::checkboxOrRadioValue):

Tools:

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::isIndeterminate):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::isIndeterminate):

LayoutTests:

  • accessibility/aria-checked-mixed-value-expected.txt:
  • accessibility/aria-checked-mixed-value.html:
  • platform/mac/accessibility/aria-checked-mixed-value-expected.txt: Added.
1:22 PM Changeset in webkit [170660] by mitz@apple.com
  • 21 edits in trunk/Source/WebKit2

[Cocoa] Navigation parameter in navigation delegate messages is nil for navigations started by the Web Content process
https://bugs.webkit.org/show_bug.cgi?id=134482

Reviewed by Tim Horton.

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didDestroyNavigation): New client function, called when a navigation ID
is not going to be used anymore.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _restoreFromSessionState:]): If restoring triggered a navigation, create a
WKNavigation for its ID.

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

(WebKit::NavigationState::createLoadRequestNavigation): Removed FIXME, because we now remove
navigations from the map in LoaderClient::didDestroyNavigation.
(WebKit::NavigationState::createBackForwardNavigation): Ditto.
(WebKit::NavigationState::createReloadNavigation): Ditto.
(WebKit::NavigationState::createLoadDataNavigation): Ditto.
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): If we are only
getting a navigation ID now, create a WKNavigation for it. Also changed to create the
NSURLRequest lazily.
(WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame): Assert that
navigationID is not zero and that it maps to an existing WKNavigation.
(WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
Ditto.
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): Ditto.
(WebKit::NavigationState::LoaderClient::didCommitLoadForFrame): Ditto.
(WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame): Ditto.
(WebKit::NavigationState::LoaderClient::didFinishLoadForFrame): Ditto.
(WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame): Ditto.
(WebKit::NavigationState::LoaderClient::didDestroyNavigation): Override the new client
function to remove the navigation from the map.
(WebKit::NavigationState::LoaderClient::processDidCrash): Clear the navigations map.

  • UIProcess/WebFrameListenerProxy.cpp:

(WebKit::WebFrameListenerProxy::WebFrameListenerProxy): Initialize new m_navigationID
member variable.
(WebKit::WebFrameListenerProxy::receivedPolicyDecision): Pass the navigation ID to
WebFrame::receivedPolicyDecision.

  • UIProcess/WebFrameListenerProxy.h:

(WebKit::WebFrameListenerProxy::navigationID): Added this accessor.
(WebKit::WebFrameListenerProxy::setNavigationID): Ditto.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::receivedPolicyDecision): Added navigationID parameter, which is
passed along to the WebPageProxy.

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

(WebKit::WebPageProxy::receivedPolicyDecision): Added navigationID parameter, which is
passed along in the message to the Web Content process.
(WebKit::WebPageProxy::restoreFromSessionStateData): Changed to return a navigation ID of 0.
(WebKit::WebPageProxy::restoreFromState): Changed to return a navigation ID if one was
started.
(WebKit::WebPageProxy::didDestroyNavigation): Added. Calls the new client function.
(WebKit::WebPageProxy::decidePolicyForNavigationAction): Added navigationID and
newNavigationID parameters. If a main-frame navigation doesn’t already have an ID, assign it
a new ID and return it in the newNavigationID parmeter as well as setting it on the listener
for the asynchronous case.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Added navigationID and newNavigationID parameters.
  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::restoreFromSessionStateData): Changed to return a navigation ID if
one was started.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Updated for additional
parameter.
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Send the navigation
ID to the UI process, get the new navigation ID from the reply, and set it on the document
loader.

  • WebProcess/WebPage/WebDocumentLoader.cpp:

(WebKit::WebDocumentLoader::detachFromFrame): Override to let the UI process know that the
navigation ID will not be used anymore.

  • WebProcess/WebPage/WebDocumentLoader.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::didReceivePolicyDecision): Added navigationID parameter, set it on the
document loader.
(WebKit::WebFrame::documentLoaderDetached): Pass the message along to the UI process.

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

(WebKit::WebPage::didReceivePolicyDecision): Pass new navigationID parameter along.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in: Added navigationID parameter.
12:43 PM Changeset in webkit [170659] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • WebKit2.xcodeproj/project.pbxproj:
12:42 PM Changeset in webkit [170658] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Temporarily encode and decode the snapshot UUID
https://bugs.webkit.org/show_bug.cgi?id=134507

Reviewed by Tim Horton.

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::encodeSessionHistory):
(WebKit::decodeSessionHistoryEntry):
(WebKit::decodeSessionHistoryEntries):

12:34 PM Changeset in webkit [170657] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Implement encodeSessionHistoryEntryData
https://bugs.webkit.org/show_bug.cgi?id=134505

Reviewed by Tim Horton.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopySessionState):
Add back a missing null check for the filter pointer.

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::encodeSessionHistoryEntryData):

12:15 PM Changeset in webkit [170656] by Simon Fraser
  • 7 edits
    2 adds in trunk

[UI-side compositing] Bad spinner on news.google.com: animations need to be ordered
https://bugs.webkit.org/show_bug.cgi?id=134504
<rdar://problem/17507892>

Reviewed by Tim Horton.

Source/WebKit2:
The layer's addedAnimations property needs to maintain order, since the order
in which transforms are applied is important.

  • Shared/mac/RemoteLayerTreeTransaction.h: Use a Vector<pair<>> for addedAnimations.
  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::dumpChangedLayers):

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

(WebKit::PlatformCAAnimationRemote::updateLayerAnimations):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::addAnimationForKey): If this is a new entry, we
can just append to addedAnimations, otherwise we have to find the existing one
and update its properties.
(WebKit::PlatformCALayerRemote::removeAnimationForKey): Do linear search to
find the animation to remove (this list will normally be short).

LayoutTests:
Test that the transforms from the animation are applied in the correct order.

  • compositing/animation/keyframe-order-expected.html: Added.
  • compositing/animation/keyframe-order.html: Added.
12:10 PM Changeset in webkit [170655] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Typing an automatic text replacement phrase after a br in contenteditable is not rendered as expected
https://bugs.webkit.org/show_bug.cgi?id=133883

Reviewed by Enrica Casucci.

enclosingDeletableElement() makes sure that the element's container is editable, but not
that it is capable of having content inside it (like how a <br> can't).

No new tests. I don't think this is testable because it requires setting some state in System Preferences.

  • editing/DeleteButtonController.cpp:

(WebCore::enclosingDeletableElement):

12:04 PM Changeset in webkit [170654] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add a encodeLegacySessionState function
https://bugs.webkit.org/show_bug.cgi?id=134502

Reviewed by Tim Horton.

  • UIProcess/LegacySessionStateCoding.h:
  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::encodeSessionHistoryEntryData):
(WebKit::encodeLegacySessionHistoryEntryData):
(WebKit::createDictionary):
(WebKit::encodeSessionHistory):
(WebKit::encodeLegacySessionState):

11:41 AM Changeset in webkit [170653] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebKit2

[Cocoa] WebProcess doesn't follow localization of UI process when run as a service
https://bugs.webkit.org/show_bug.cgi?id=133126
<rdar://problem/13396515>

Patch by Alexey Proskuryakov.
Reviewed by Tim Horton.

  • Configurations/WebContentService.Development.xcconfig:
  • Configurations/WebContentService.xcconfig:

Figure out which of the two keys to use. CFBundleAllowMixedLocalizations was
a workaround before we got CFBundleFollowParentLocalization, and these cannot be
used together.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::connectToService): Set up

XPC bootstrap for CFBundle to use.

  • WebKit2.xcodeproj/project.pbxproj: Added a script that applies the key to Info.plist.
  • WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:

Removed CFBundleAllowMixedLocalizations, we now add it programmatically.

11:29 AM Changeset in webkit [170652] by achristensen@apple.com
  • 6 edits in trunk/Source

[iOS] Unreviewed build fix after r170640.

Source/WebCore:

  • page/EditorClient.h:

(WebCore::EditorClient::selectedTelephoneNumberRangesChanged):
Add ifdefs to make everything compile and link.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::selectedTelephoneNumberRangesChanged):
(WebKit::WebEditorClient::selectionRectsDidChange):

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebPage/WebPage.h:

Add ifdefs to make everything compile and link.

11:00 AM Changeset in webkit [170651] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add WKSessionStateGetTypeID
https://bugs.webkit.org/show_bug.cgi?id=134499

Reviewed by Tim Horton.

  • UIProcess/API/C/WKSessionStateRef.cpp:

(WKSessionStateGetTypeID):

  • UIProcess/API/C/WKSessionStateRef.h:
10:49 AM Changeset in webkit [170650] by dbates@webkit.org
  • 13 edits in trunk

Remove unnecessary calls to std::move()
https://bugs.webkit.org/show_bug.cgi?id=134493

Reviewed by Anders Carlsson.

Source/WebCore:

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::CDM):

  • css/CSSGrammar.y.in:
  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatNumberValue):

  • css/MediaQuery.cpp:

(WebCore::MediaQuery::MediaQuery):

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::dashesForIntersectionsWithRect):

Source/WebKit2:

  • Shared/ShareableResource.cpp:

(WebKit::ShareableResource::Handle::tryWrapInCFData):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::certificateInfo): Return a WebCore::CertificateInfo instead
of const WebCore::CertificateInfo& to avoid returning a dangling reference to
a local variable. Also, remove the unnecessary calls to std::move() as the compiler
will invoke the move constructor for WebCore::CertificateInfo on return from the
function.

  • WebProcess/WebPage/WebFrame.h:

Tools:

  • TestWebKitAPI/Tests/WTF/HashSet.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm:

(TestWebKitAPI::TEST):

10:46 AM Changeset in webkit [170649] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Add a BackForwardListItemState struct and put the snapshot UUID there
https://bugs.webkit.org/show_bug.cgi?id=134497

Reviewed by Sam Weinig.

  • Shared/SessionState.cpp:

(WebKit::PageState::encode):
(WebKit::PageState::decode):
(WebKit::BackForwardListItemState::encode):
(WebKit::BackForwardListItemState::decode):

  • Shared/SessionState.h:
  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::create):
(WebKit::WebBackForwardListItem::WebBackForwardListItem):
(WebKit::WebBackForwardListItem::backForwardData):
(WebKit::WebBackForwardListItem::setBackForwardData):
(WebKit::WebBackForwardListItem::encode):

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::setPageState):
(WebKit::WebBackForwardListItem::setOriginalURL):
(WebKit::WebBackForwardListItem::originalURL):
(WebKit::WebBackForwardListItem::setURL):
(WebKit::WebBackForwardListItem::url):
(WebKit::WebBackForwardListItem::setTitle):
(WebKit::WebBackForwardListItem::title):
(WebKit::WebBackForwardListItem::setSnapshotUUID):
(WebKit::WebBackForwardListItem::snapshotUUID):

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::restoreFromState):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::addBackForwardItem):

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::decodeSessionHistoryEntries):

10:33 AM Changeset in webkit [170648] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit/ios

[iOS] Compile fix with pointer lock enabled.
https://bugs.webkit.org/show_bug.cgi?id=134472

Reviewed by Pratik Solanki.

  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
Add parameters required for pointer lock.

10:29 AM Changeset in webkit [170647] by psolanki@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to the reviewers list to make commit bot happy.

  • Scripts/webkitpy/common/config/contributors.json:
10:25 AM Changeset in webkit [170646] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Subpixel rendering: Pixel crack in breadcrumbs at devforums.apple.com.
https://bugs.webkit.org/show_bug.cgi?id=134491

Reviewed by Simon Fraser.

Do not early round geometry values, while computing background image position. It changes the final
subpixel values and that could lead to wrong snap positions.
pixelSnapBackgroundImageGeometryForPainting() takes care of geometry snapping.

Source/WebCore:
Test: fast/backgrounds/background-image-size-double-rounding.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

LayoutTests:

  • fast/backgrounds/background-image-size-double-rounding-expected.html: Added.
  • fast/backgrounds/background-image-size-double-rounding.html: Added.
10:14 AM Changeset in webkit [170645] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Add encodeInteger and decodeInteger for remote object encoder and decoder.
https://bugs.webkit.org/show_bug.cgi?id=134453

In 64bit system, encodeInteger/decodeInteger is by default mapped into encodeInt64/decodeInt64. For
32bit system, they are mapped to encodeInt32/decodeInt32. However, since we don't have encodeInt32/decodeInt32
implementation in WKRemoteObjectCoder, we could hit crash in 32bit systems.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-07-01
Reviewed by Sam Weinig.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(-[WKRemoteObjectEncoder encodeInteger:forKey:]): Instead of creating a new number type UInt32, use encodeInt64 for

encoding NSInteger.

(-[WKRemoteObjectDecoder decodeIntegerForKey:]):

10:04 AM Changeset in webkit [170644] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Use an std::function for filtering session state data
https://bugs.webkit.org/show_bug.cgi?id=134481

Reviewed by Sam Weinig.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopySessionState):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _sessionState]):

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

(WebKit::WebPageProxy::sessionStateData):

  • UIProcess/WebPageProxy.h:
  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::WebBackForwardList::createCFDictionaryRepresentation):

  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::sessionStateData):

9:59 AM Changeset in webkit [170643] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Clean up the WebKit build from unused parameter warning in Webkit2/UIProcess module
https://bugs.webkit.org/show_bug.cgi?id=134294

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-07-01
Reviewed by Darin Adler.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::reachedApplicationCacheOriginQuota):

9:45 AM Changeset in webkit [170642] by psolanki@apple.com
  • 4 edits in trunk/Source/WebCore

Create NSURLRequest lazily when USE(CFNETWORK) is enabled
https://bugs.webkit.org/show_bug.cgi?id=134441

Reviewed by Andreas Kling.

No new tests. Should be covered by existing tests.

  • platform/network/cf/ResourceRequest.h:

(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::encodingRequiresPlatformData):

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
(WebCore::ResourceRequest::setStorageSession):

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::nsURLRequest):

9:43 AM Changeset in webkit [170641] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix.

Forgot to commit locally before pushing.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::servicesOverlayController): s/this/*this/

9:22 AM Changeset in webkit [170640] by beidson@apple.com
  • 9 edits
    1 move
    1 add
    5 deletes in trunk/Source

Combine the Telephone and Selection overlay controllers, updating UI behavior.
https://bugs.webkit.org/show_bug.cgi?id=134461

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in:
  • dom/Range.cpp:

(WebCore::Range::contains): Returns true if the Range completely contains the passed-in Range.

  • dom/Range.h:

Source/WebKit2:

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

(WebKit::WebEditorClient::selectedTelephoneNumberRangesChanged):
(WebKit::WebEditorClient::selectionRectsDidChange):

Remove the separate Selection overlay controller:

  • WebProcess/WebPage/SelectionOverlayController.cpp: Removed.
  • WebProcess/WebPage/ServicesOverlayController.h: Renamed from Source/WebKit2/WebProcess/WebPage/SelectionOverlayController.h.

(WebKit::ServicesOverlayController::create):

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

Remove the separate TelephoneNumber overlay controller:

  • WebProcess/WebPage/TelephoneNumberOverlayController.cpp: Removed.
  • WebProcess/WebPage/TelephoneNumberOverlayController.h: Removed.
  • WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm: Removed.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::servicesOverlayController):
(WebKit::WebPage::telephoneNumberOverlayController): Deleted.
(WebKit::WebPage::selectionOverlayController): Deleted.
(WebKit::WebPage::didChangeScrollOffsetForFrame): Deleted.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::serviceControlsEnabled): Deleted.

ServicesOverlayController is a combination of the old TelephoneNumber and Selection overlay controllers.
A lot of code duplication is resolved, and things are generally easier to follow.
It enforces displaying a telephone number highlight if precisely one telephone number is selected, or
the selection highlight if the selection contains more than a single phone number

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

(WebKit::textQuadsToBoundingRectForRange):
(WebKit::ServicesOverlayController::ServicesOverlayController):
(WebKit::ServicesOverlayController::destroyOverlay):
(WebKit::ServicesOverlayController::pageOverlayDestroyed):
(WebKit::ServicesOverlayController::willMoveToWebPage):
(WebKit::ServicesOverlayController::didMoveToWebPage):
(WebKit::ServicesOverlayController::createOverlayIfNeeded):
(WebKit::ServicesOverlayController::selectionRectsDidChange):
(WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged):
(WebKit::ServicesOverlayController::clearHighlightState):
(WebKit::ServicesOverlayController::drawRect):
(WebKit::ServicesOverlayController::drawSelectionHighlight):
(WebKit::ServicesOverlayController::drawTelephoneNumberHighlight):
(WebKit::ServicesOverlayController::drawCurrentHighlight):
(WebKit::ServicesOverlayController::mouseEvent):
(WebKit::ServicesOverlayController::handleClick):

8:22 AM Changeset in webkit [170639] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

webkit-patch apply-from-bug / apply-attachment should not ask for credentials if none are required
https://bugs.webkit.org/show_bug.cgi?id=40095

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-07-01
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(Bugzilla.fetch_attachment_contents): make a first fetch on bugzilla without authentication. If failing, use authentication (similar to fetch_bug_dictionary).
(Bugzilla):
(Bugzilla.bug_id_for_attachment_id): ditto.

8:16 AM Changeset in webkit [170638] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

REGRESSION(160908): vube.com video won't play after going into and out of fullscreen
https://bugs.webkit.org/show_bug.cgi?id=134489

Reviewed by Zalan Bujtas.

Test: fullscreen/full-screen-plugin.html

It is difficult to restore the render tree correctly in all cases after removing a full screen
renderer from the tree. r160908 avoided dealing with this by simply always reconstructing the subtree.
Unfortunately plugin lifetime is currently tied to its renderer so this would cause the plugin to restart.

With this patch we avoid reconstruction in normal cases and only force it if the render tree is complicated.

  • dom/Document.cpp:

(WebCore::unwrapFullScreenRenderer):

Force reconstruction conditionally.

(WebCore::Document::webkitWillEnterFullScreenForElement):
(WebCore::Document::webkitDidExitFullScreenForElement):

  • rendering/RenderFullScreen.cpp:

(WebCore::RenderFullScreen::wrapRenderer):
(WebCore::RenderFullScreen::unwrapRenderer):

Deal with the simple case of single child, possibly in anonymous wrapper.
In other cases request reconstruction.
This is covered by the existing fullscreen tests.

  • rendering/RenderFullScreen.h:
6:10 AM Changeset in webkit [170637] by commit-queue@webkit.org
  • 19 edits in trunk/Tools

[webkitpy] Refactor pluralizer in grammar.py
https://bugs.webkit.org/show_bug.cgi?id=133067

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-07-01
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:

(LayoutTestRunner.run_tests):

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager.run):

  • Scripts/webkitpy/layout_tests/views/printing.py:

(Printer.print_found):
(Printer.print_workers_and_shards):
(Printer._print_one_line_summary):

  • Scripts/webkitpy/test/printer.py:

(Printer.print_result):

  • Scripts/webkitpy/tool/bot/feeders.py:

(EWSFeeder.feed):

  • Scripts/webkitpy/tool/bot/flakytestreporter.py:

(FlakyTestReporter._lookup_bug_for_flaky_test):

  • Scripts/webkitpy/tool/bot/irc_command.py:

(Rollout._check_diff_failure):

  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:

(IRCCommandTest.test_rollout):

  • Scripts/webkitpy/tool/commands/download.py:

(AbstractPatchProcessingCommand._process_patch.execute):
(ProcessBugsMixin._fetch_list_of_patches_to_process):
(ProcessURLsMixin._fetch_list_of_patches_to_process):

  • Scripts/webkitpy/tool/commands/queries.py:

(WhatBroke.execute):

  • Scripts/webkitpy/tool/commands/suggestnominations.py:

(SuggestNominations._print_nominations):
(SuggestNominations._print_counts):

  • Scripts/webkitpy/tool/commands/suggestnominations_unittest.py:

(_make_options):
(test_basic):
(test_with_verbose):

  • Scripts/webkitpy/tool/commands/upload.py:

(PostCommits.execute):

  • Scripts/webkitpy/tool/grammar.py:

(pluralize):

  • Scripts/webkitpy/tool/grammar_unittest.py:

(GrammarTest.test_join_with_separators):
(GrammarTest):
(GrammarTest.test_plural):
(GrammarTest.test_pluralize):

  • Scripts/webkitpy/tool/multicommandtool.py:

(Command.check_arguments_and_execute):

  • Scripts/webkitpy/tool/steps/obsoletepatches.py:

(ObsoletePatches.run):

  • Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:

(PrepareChangeLogForRevert._message_for_revert):

5:07 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
5:07 AM Changeset in webkit [170636] by Carlos Garcia Campos
  • 14 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r169799 - [GTK] Use a different user agent string depending on the site
https://bugs.webkit.org/show_bug.cgi?id=132681

Reviewed by Anders Carlsson.

Source/WebCore:
We have changed the user agent string several times to try to fix
broken websites that require specific things in the UA string to
properly work. But everytime we change the UA string to fix a
website we break others. We could use different UA string
depending on the website. UserAgentGtk code has also been cleaned
up, using NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
and avoiding unneeded conversions to UTF-8.

  • platform/gtk/UserAgentGtk.cpp:

(WebCore::UserAgentQuirks::UserAgentQuirks): New helper private
class to handle user agent quirks.
(WebCore::UserAgentQuirks::add):
(WebCore::UserAgentQuirks::contains):
(WebCore::UserAgentQuirks::isEmpty):
(WebCore::platformForUAString): Bring back this method that was
removed to always pretend to be Macintosh.
(WebCore::platformVersionForUAString): Return a different platform
version depending on the actual platform.
(WebCore::versionForUAString): Return the WebKit version.
(WebCore::buildUserAgentString): Helper function to build the user
agent taking into account the UserAgentQuirks received.
(WebCore::standardUserAgentStatic): Standard user agent string
when no quirks are present.
(WebCore::standardUserAgent):
(WebCore::standardUserAgentForURL): New method that returns the
user agent string for the given URL.

  • platform/gtk/UserAgentGtk.h:

Source/WebKit2:

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webkit_settings_class_init): Enable site specific quirks setting
by default.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::userAgent): Pass the given URL to WebPage.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::userAgent): Try to get the user agent for the
URL received falling back to the current one otherwise.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::platformUserAgent): Added.

  • WebProcess/WebPage/efl/WebPageEfl.cpp:

(WebKit::WebPage::platformUserAgent): Return null String.

  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::platformUserAgent): Use WebCore::standardUserAgentForURL() when site specific quirks
setting is enabled.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::platformUserAgent): Return null String.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::platformUserAgent): Return null String.

Tools:
Add a unit test to check user agent quirks.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/Tests/WebCore/gtk/UserAgentQuirks.cpp: Added.

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp:

(testWebKitSettings): Site specific quirks setting is now enabled
by default.

4:32 AM Changeset in webkit [170635] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebKit2

[WK2] IPC messages' arguments() method returns const std::tuple<> copies
https://bugs.webkit.org/show_bug.cgi?id=131975

Reviewed by Darin Adler.

The arguments() method of the different IPC message objects should return a const reference
to the std::tuple<> containing the arguments, instead of a const value. This avoids copying
the std::tuple<> every time the arguments are encoded, and works best with the
ArgumentEncoder::encode<std::tuple<...>>(const std::tuple<...>&) template instantiation.

The unit test baselines are updated accordingly.

  • Scripts/webkit2/LegacyMessages-expected.h:

(Messages::WebPage::LoadURL::arguments):
(Messages::WebPage::LoadSomething::arguments):
(Messages::WebPage::TouchEvent::arguments):
(Messages::WebPage::AddEvent::arguments):
(Messages::WebPage::LoadSomethingElse::arguments):
(Messages::WebPage::DidReceivePolicyDecision::arguments):
(Messages::WebPage::Close::arguments):
(Messages::WebPage::PreferencesDidChange::arguments):
(Messages::WebPage::SendDoubleAndFloat::arguments):
(Messages::WebPage::SendInts::arguments):
(Messages::WebPage::CreatePlugin::arguments):
(Messages::WebPage::RunJavaScriptAlert::arguments):
(Messages::WebPage::GetPlugins::arguments):
(Messages::WebPage::GetPluginProcessConnection::arguments):
(Messages::WebPage::TestMultipleAttributes::arguments):
(Messages::WebPage::TestParameterAttributes::arguments):
(Messages::WebPage::TemplateTest::arguments):
(Messages::WebPage::SetVideoLayerID::arguments):
(Messages::WebPage::DidCreateWebProcessConnection::arguments):
(Messages::WebPage::InterpretKeyEvent::arguments):
(Messages::WebPage::DeprecatedOperation::arguments):
(Messages::WebPage::ExperimentalOperation::arguments):

  • Scripts/webkit2/Messages-expected.h:

(Messages::WebPage::LoadURL::arguments):
(Messages::WebPage::LoadSomething::arguments):
(Messages::WebPage::TouchEvent::arguments):
(Messages::WebPage::AddEvent::arguments):
(Messages::WebPage::LoadSomethingElse::arguments):
(Messages::WebPage::DidReceivePolicyDecision::arguments):
(Messages::WebPage::Close::arguments):
(Messages::WebPage::PreferencesDidChange::arguments):
(Messages::WebPage::SendDoubleAndFloat::arguments):
(Messages::WebPage::SendInts::arguments):
(Messages::WebPage::CreatePlugin::arguments):
(Messages::WebPage::RunJavaScriptAlert::arguments):
(Messages::WebPage::GetPlugins::arguments):
(Messages::WebPage::GetPluginProcessConnection::arguments):
(Messages::WebPage::TestMultipleAttributes::arguments):
(Messages::WebPage::TestParameterAttributes::arguments):
(Messages::WebPage::TemplateTest::arguments):
(Messages::WebPage::SetVideoLayerID::arguments):
(Messages::WebPage::DidCreateWebProcessConnection::arguments):
(Messages::WebPage::InterpretKeyEvent::arguments):
(Messages::WebPage::DeprecatedOperation::arguments):
(Messages::WebPage::ExperimentalOperation::arguments):

  • Scripts/webkit2/MessagesSuperclass-expected.h:

(Messages::WebPage::LoadURL::arguments):

  • Scripts/webkit2/messages.py:

(message_to_struct_declaration):

4:29 AM Changeset in webkit [170634] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebCore

Remove remaining Vector<> copies in WebCore accessibility code
https://bugs.webkit.org/show_bug.cgi?id=133263

Reviewed by Darin Adler.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::notificationPostTimerFired): Don't copy the Vector member and
then clear it -- move it into the local variable instead.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::ariaLabeledByText): Move the axElements Vector into
the AccessibilityText constructor.
(WebCore::AccessibilityNodeObject::stringValue): Create a const reference to the Vector of
HTMLSelectElement's list items instead of copying it.

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityText::AccessibilityText): Take the Vector parameter by non-const
value and move it into the member variable.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::stringValue): Create a const reference to the Vector
of HTMLSelectElement's list items instead of copying it.
(WebCore::AccessibilityRenderObject::ariaSelectedRows): Wrap the AccessibilityChildrenVector
iteration in a lambda. Use it to iterate over either the newly-constructed Vector (in case
the object has the tree role) or the reference to the vector returned by
AccessibilityTable::rows() (in case the object is an AccessibilityTable instance).

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

[GTK] Annotations for WebResource.get_data produce wrong signature in Vala binding
https://bugs.webkit.org/show_bug.cgi?id=134476

Patch by Evan Nemerson <evan@nemerson.com> on 2014-07-01
Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/WebKitWebResource.cpp: Add array length and

element-type annotations to return value of webkit_web_resource_get_data_finish().

1:17 AM Changeset in webkit [170632] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

[WK2] Can not convert ‘sessionState.WebKit::SessionState::provisionalURL’ from ‘WebCore::URL’ to ‘bool’
https://bugs.webkit.org/show_bug.cgi?id=134487

Rubber-stamped by Carlos Garcia Campos.

  • UIProcess/WebPageProxy.cpp: Use isNull().

(WebKit::WebPageProxy::restoreFromState):

12:57 AM Changeset in webkit [170631] by gyuyoung.kim@samsung.com
  • 3 edits
    1 copy
    1 move in trunk/Source/WebKit2

Fix build break on EFL and GTK ports since r170611 and r170614
https://bugs.webkit.org/show_bug.cgi?id=134479

Reviewed by Carlos Garcia Campos.

Add LegacySessionStateCodingNone.cpp in order to fix build break on EFL and GTK ports. Additionally
SessionStateConversion.cpp is added to CMakeLists.txt as well.

  • CMakeLists.txt:
  • UIProcess/LegacySessionStateCoding.h: Copied from Source/WebKit2/UIProcess/mac/LegacySessionStateCoding.h.
  • UIProcess/LegacySessionStateCodingNone.cpp: Renamed from Source/WebKit2/UIProcess/mac/LegacySessionStateCoding.h.

(WebKit::encodeLegacySessionHistoryEntryData):
(WebKit::decodeLegacySessionState):
(WebKit::decodeLegacySessionHistoryEntryData):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::restoreFromState):

  • WebKit2.xcodeproj/project.pbxproj:

Jun 30, 2014:

9:16 PM Changeset in webkit [170630] by commit-queue@webkit.org
  • 7 edits in trunk/Source

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

The changes cause crashes on ARM64 (Requested by benjaminp on
#webkit).

Reverted changeset:

"Reduce dynamic memory allocation in css jit."
https://bugs.webkit.org/show_bug.cgi?id=134416
http://trac.webkit.org/changeset/170605

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

[iOS][WK2] The long press gesture recognizers should not block the pinch gesture
https://bugs.webkit.org/show_bug.cgi?id=134477
<rdar://problem/17514936>

Reviewed by Tim Horton.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView gestureRecognizer:canPreventGestureRecognizer:]):

7:19 PM Changeset in webkit [170628] by mhahnenberg@apple.com
  • 8 edits
    21 adds in branches/ftlopt

Merge r169121 from trunk.

2014-05-19 Mark Hahnenberg <mhahnenberg@apple.com>


JSArray::shiftCountWith* could be more efficient
https://bugs.webkit.org/show_bug.cgi?id=133011


Reviewed by Geoffrey Garen.


Source/JavaScriptCore:

Our current implementations of shiftCountWithAnyIndexingType and shiftCountWithArrayStorage
are scared of the presence of any holes in the array. We can mitigate this somewhat by enabling
them to correctly handle holes, thus avoiding the slowest of slow paths in most cases.


  • runtime/ArrayStorage.h: (JSC::ArrayStorage::indexingHeader): (JSC::ArrayStorage::length): (JSC::ArrayStorage::hasHoles):
  • runtime/IndexingHeader.h: (JSC::IndexingHeader::publicLength): (JSC::IndexingHeader::from):
  • runtime/JSArray.cpp: (JSC::JSArray::shiftCountWithArrayStorage): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage):
  • runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount):
  • runtime/Structure.cpp: (JSC::Structure::holesRequireSpecialBehavior):
  • runtime/Structure.h:

LayoutTests:

Added a performance regression test which tests the contiguous shift case. We're ~85% faster
on this microbenchmark with this patch.


Also added a bunch of tests for each permutation of contiguous/array storage with no holes, holes,
and holes that require special behavior (e.g. indexed properties in the prototype chain).


  • js/array-storage-splice-holes-expected.txt: Added.
  • js/array-storage-splice-holes-require-special-behavior-expected.txt: Added.
  • js/array-storage-splice-holes-require-special-behavior.html: Added.
  • js/array-storage-splice-holes.html: Added.
  • js/array-storage-splice-no-holes-expected.txt: Added.
  • js/array-storage-splice-no-holes.html: Added.
  • js/contiguous-splice-holes-expected.txt: Added.
  • js/contiguous-splice-holes-require-special-behavior-expected.txt: Added.
  • js/contiguous-splice-holes-require-special-behavior.html: Added.
  • js/contiguous-splice-holes.html: Added.
  • js/contiguous-splice-no-holes-expected.txt: Added.
  • js/contiguous-splice-no-holes.html: Added.
  • js/regress/array-splice-contiguous-expected.txt: Added.
  • js/regress/array-splice-contiguous.html: Added.
  • js/regress/script-tests/array-splice-contiguous.js: Added. (foo):
  • js/script-tests/array-storage-splice-holes-require-special-behavior.js: Added.
  • js/script-tests/array-storage-splice-holes.js: Added.
  • js/script-tests/array-storage-splice-no-holes.js: Added.
  • js/script-tests/contiguous-splice-holes-require-special-behavior.js: Added.
  • js/script-tests/contiguous-splice-holes.js: Added.
  • js/script-tests/contiguous-splice-no-holes.js: Added.
6:40 PM Changeset in webkit [170627] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add WebPageProxy::restoreFromState
https://bugs.webkit.org/show_bug.cgi?id=134480

Reviewed by Tim Horton.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::restoreFromState):

  • UIProcess/WebPageProxy.h:
6:29 PM Changeset in webkit [170626] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add a function to restore a WebBackForwardList object from a BackForwardListState object
https://bugs.webkit.org/show_bug.cgi?id=134478

Reviewed by Tim Horton.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::generateWebBackForwardItemID):
(WebKit::WebBackForwardList::restoreFromState):

  • UIProcess/WebBackForwardList.h:
  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::generateWebBackForwardItemID): Deleted.

6:06 PM Changeset in webkit [170625] by andersca@apple.com
  • 10 edits in trunk/Source

Change the AddBackForwardItem message to take a page state object
https://bugs.webkit.org/show_bug.cgi?id=134475

Reviewed by Andreas Kling.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit2:

  • Scripts/webkit2/messages.py:

(struct_or_class):
(headers_for_type):

  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::create):
(WebKit::WebBackForwardListItem::WebBackForwardListItem):

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::setPageState):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::addBackForwardItem):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/WebPage/WebBackForwardListProxy.cpp:

(WebKit::updateBackForwardItem):

5:50 PM Changeset in webkit [170624] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

[WK2] Add a flatter find-in-page current match indicator style
https://bugs.webkit.org/show_bug.cgi?id=134434
<rdar://problem/16225673>

Reviewed by Simon Fraser.

  • UIProcess/FindIndicator.cpp:

(WebKit::findIndicatorsForTextRectsOverlap):
(WebKit::FindIndicator::frameRect):
(WebKit::flatHighlightColor):
(WebKit::flatRimShadowColor):
(WebKit::flatDropShadowColor):
(WebKit::FindIndicator::draw):
Add a flatter find indicator, with a bigger shadow.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::updateFindUIAfterPageScroll):
(WebKit::FindController::getFindIndicatorBitmapAndRect):
(WebKit::FindController::hideFindIndicator):
(WebKit::FindController::drawRect):
Don't paint a shadow behind the secondary matches if we're using the new style.

5:45 PM Changeset in webkit [170623] by mmaxfield@apple.com
  • 3 edits in trunk/Tools

[iOS] GSFontAddCGFont is deprecated and we use it in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=134133

Reviewed by Simon Fraser.

Replace it with CTFontManagerRegisterGraphicsFont

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/mac/DumpRenderTree.mm:

(activateFontIOS):

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

[iOS][WK2] Improve double-tap-to-scroll on image documents
https://bugs.webkit.org/show_bug.cgi?id=134474
<rdar://problem/17496778>

Reviewed by Enrica Casucci.

On image document, we were always rendering the center of the image as the origin, which broke
double tap to scroll.

This patch improves on this in two ways:
1) If the hit testing already got the image, only change the type to replaced (to get the right

scaling behavior for images since the type is block on iOS's image document).

2) If the hit testing is outside the image, only center the axis that is not in the image.

This way, we "fix" the component that is not valid, and keep the vali component.
This works great for viewing comics on iPad.

  • WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):

5:38 PM Changeset in webkit [170621] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS][WK2] Do not put tap highlight on images that are not in links, and on applet/embed/object
https://bugs.webkit.org/show_bug.cgi?id=134471
<rdar://problem/17513542>

Reviewed by Enrica Casucci.

UIKit has some special code to avoid tap highlight on certain type of object. This is not very flexible
since the page has no way of overriding that behavior.

This patch implement the same feature by changing the default stylesheet. The tap highlight is disabled
by default for those object, and enabled for images that are in a link.

  • css/html.css:

(applet, embed, object, img):
(:-webkit-any-link img):

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

REGRESSION (WK2): Weird selection behavior on autos.yahoo.com, en.wikipedia.org.
https://bugs.webkit.org/show_bug.cgi?id=134466
<rdar://problem/16817263>

Reviewed by Benjamin Poulain.

Avoid selecting blocks across frame boundaries and skip non-selectable
blocks. If the only block we find is almost the same height as the
visible area, we should not select at all.
This patch also fixes the logic to compute the next block when
shrinking the selection. When calculating the new range after shrinking,
we should not include the block that corresponds to the current handle position.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::expandedRangeFromHandle):
(WebKit::WebPage::contractedRangeFromHandle):
(WebKit::WebPage::updateSelectionWithTouches):

5:17 PM Changeset in webkit [170619] by mmaxfield@apple.com
  • 3 edits
    4 adds in trunk

All Indic text is rendered as boxes on iOS
https://bugs.webkit.org/show_bug.cgi?id=134464

Reviewed by Simon Fraser.

Source/WebCore:
I made a typo in r170207.

Test: fast/text/indic.html

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::languageSpecificFallbackFont):

LayoutTests:
Simply draw some indic text and test that against currently good metric values.

  • fast/text/indic.html: Added
  • platform/ios-sim/fast/text/indic-expected.txt: Added.
  • platform/mac/fast/text/indic-expected.txt: Added.
  • platform/mac/fast/text/indic-expected.png: Added.
5:14 PM Changeset in webkit [170618] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] languageSpecificFallbackFont() is not consistent
https://bugs.webkit.org/show_bug.cgi?id=134473

Reviewed by Darin Adler.

It can use "<" throughout the function as well as keeping the fallthrough behavior consistent.

No tests because there is no behavior change.

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::languageSpecificFallbackFont):

5:11 PM Changeset in webkit [170617] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed gardening.

  • WebCore.vcxproj/WebCore.vcxproj: Do not compile JSFileException

and JSFileReaderSync multiple times.

5:04 PM Changeset in webkit [170616] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Avoid copying function object in lambda function in ScrollingThread::dispatchBarrier(); actually use move semantics
https://bugs.webkit.org/show_bug.cgi?id=134470

Reviewed by Anders Carlsson.

Currently we always copy construct the captured std::function object when calling callOnMainThread()
in the lambda function created in ScrollingThread::dispatchBarrier() because captured variables are
const in a lambda expression's body by default. That is, the std::function object is captured as const.
Instead, we should mark this lambda expression as mutable so the captured std::function object is
non-const and hence we can use move semantics when passing it to callOnMainThread().

  • page/scrolling/ScrollingThread.cpp:

(WebCore::ScrollingThread::dispatchBarrier):

5:00 PM Changeset in webkit [170615] by dbates@webkit.org
  • 2 edits in trunk/Source/WTF

Make TransformIterator::TransformIterator() take rvalue references
https://bugs.webkit.org/show_bug.cgi?id=134468

Reviewed by Darin Adler.

It's unnecessary to support TransformIterator::TransformIterator() taking const lvalue references
as we only call it with rvalues. As a side benefit, we can use move semantics to initialize the
members of TransformIterator.

  • wtf/IteratorAdaptors.h:

(WTF::TransformIterator::TransformIterator): Make constructor take arguments as rvalue references.
(WTF::makeTransformIterator): Substitute std::move() for std::forward().

4:39 PM Changeset in webkit [170614] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

WebBackForwardListItem should not store back-forward data
https://bugs.webkit.org/show_bug.cgi?id=134469

Reviewed by Darin Adler.

Change WebBackForwardListItem::backForwardData to encode the main frame state lazily,
and change WebBackForwardListItem::setBackForwardData to decode it into the main frame state.

  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::backForwardData):
(WebKit::WebBackForwardListItem::setBackForwardData):
(WebKit::WebBackForwardListItem::encode):

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::backForwardData): Deleted.

  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::WebBackForwardList::createCFDictionaryRepresentation):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::restoreSession):

4:26 PM Changeset in webkit [170613] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

WebBackForwardListItems should hold on to PageState objects
https://bugs.webkit.org/show_bug.cgi?id=134467

Reviewed by Darin Adler.

  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::WebBackForwardListItem):
(WebKit::WebBackForwardListItem::encode):

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::setOriginalURL):
(WebKit::WebBackForwardListItem::originalURL):
(WebKit::WebBackForwardListItem::setURL):
(WebKit::WebBackForwardListItem::url):
(WebKit::WebBackForwardListItem::setTitle):
(WebKit::WebBackForwardListItem::title):

4:24 PM Changeset in webkit [170612] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

Add a missing semicolon in WKContentViewInteraction

  • UIProcess/ios/WKContentViewInteraction.mm:

(nsSizeForTapHighlightBorderRadius):
I messed up this when fixing the patch on landing.

4:05 PM Changeset in webkit [170611] by andersca@apple.com
  • 6 edits in trunk/Source

Adopt the legacy session decoding inside WebPage::restoreSession for now
https://bugs.webkit.org/show_bug.cgi?id=134465

Reviewed by Sam Weinig.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit2:

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::decodeLegacySessionHistoryEntryData):

  • UIProcess/mac/LegacySessionStateCoding.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::restoreSession):

3:58 PM Changeset in webkit [170610] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[iOS WK2] Don't crash on status bar tap with overflow scroll views
https://bugs.webkit.org/show_bug.cgi?id=134459

Reviewed by Tim Horton.

The tiled scrolling indicator parents UIViews under CALayers, but that causes
those views to miss -willMoveToWindow:nil notifications on teardown. This can leave
deleted UIScrollViews in UIKit's "scroll to top" list.

Fix by not making UIScrollViews in the debug layer tree host.

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

3:52 PM Changeset in webkit [170609] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

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

causes assertions loading nytimes.com on iOS (Requested by
smfr on #webkit).

Reverted changeset:

"Create NSURLRequest lazily when USE(CFNETWORK) is enabled"
https://bugs.webkit.org/show_bug.cgi?id=134441
http://trac.webkit.org/changeset/170578

3:51 PM Changeset in webkit [170608] by oliver@apple.com
  • 10 edits in trunk/Source/WebKit2

Restrict network process sandbox
https://bugs.webkit.org/show_bug.cgi?id=134360

Reviewed by Sam Weinig.

Add more restrictions to the network process sandbox.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

Always use the cache directory provided in the initialization parameters,
and make sure we consume the cookie directory extension.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:

Make the sandbox profile much more restrictive.

  • Shared/Network/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode): (WebKit::NetworkProcessCreationParameters::decode):
  • Shared/Network/NetworkProcessCreationParameters.h:

The network process now requires an extension to access
its cookie storage.

  • Shared/mac/SandboxUtilities.cpp: (WebKit::pathForProcessContainer):
  • Shared/mac/SandboxUtilities.h:

We need to be able to get hold of our container so
that we can get the correct cookie storage directory.

  • UIProcess/WebContext.cpp: (WebKit::WebContext::ensureNetworkProcess):

We have to pass in the an extension for the cookie storage directory when

initalising the network process

  • UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformDefaultCookieStorageDirectory):

Make sure we provide the correct location on IOS

  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):

Consume the cookie storage extension

3:50 PM Changeset in webkit [170607] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[iOS WK2] Turn off scrollsToTop on overflow UIScrollViews
https://bugs.webkit.org/show_bug.cgi?id=134456

Reviewed by Tim Horton.

Set scrollsToTop to NO on our UIScrollViews created for overflow scrolling, since
we don't have a good strategy for when to allow it, and doing so would also require
some smarts in the main UIScrollView.

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):

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

REGRESSION (Okemo): The contextual menu on tap and hold does not cancel the other gestures.
https://bugs.webkit.org/show_bug.cgi?id=134463
<rdar://problem/17388907>

Reviewed by Benjamin Poulain.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _longPressRecognized:]):

3:48 PM Changeset in webkit [170605] by achristensen@apple.com
  • 7 edits in trunk/Source

Reduce dynamic memory allocation in css jit.
https://bugs.webkit.org/show_bug.cgi?id=134416

Reviewed by Benjamin Poulain.

Source/WebCore:

  • cssjit/FunctionCall.h:

(WebCore::FunctionCall::FunctionCall):
(WebCore::FunctionCall::saveAllocatedCallerSavedRegisters):

  • cssjit/RegisterAllocator.h:
  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generatePrologue):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
Use inlineCapacity template parameter to reduce malloc calls.
I use 16 and 32 as the inline capacity for non-register related vectors because that
is probably big enough for the selector compiler, and if it is not then a malloc
call will not be significant because the selector is very complex.

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::push):
Pass a vector of stack references to match calls to pop and to avoid a call to appendVector.

Source/WTF:

  • wtf/Deque.h:

Added inlineCapacity optional template parameter.

3:22 PM Changeset in webkit [170604] by mhahnenberg@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

CodeBlock::stronglyVisitWeakReferences should mark DFG::CommonData::weakStructureReferences
https://bugs.webkit.org/show_bug.cgi?id=134455

Reviewed by Geoffrey Garen.

Otherwise we get hanging pointers which can cause us to die later.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::stronglyVisitWeakReferences):

3:14 PM Changeset in webkit [170603] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Implement the last pieces of encodeFrameStateNode
https://bugs.webkit.org/show_bug.cgi?id=134460

Reviewed by Andreas Kling.

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::HistoryEntryDataEncoder::operator<<):
(WebKit::isValidEnum):
(WebKit::encodeFormDataElement):
(WebKit::encodeFormData):
(WebKit::encodeFrameStateNode):

3:13 PM Changeset in webkit [170602] by msaboff@apple.com
  • 3 edits in trunk/LayoutTests

js/script-tests/function-apply-many-args.js fails on ARM
https://bugs.webkit.org/show_bug.cgi?id=126588

Reviewed by Mark Lam.

Removed three test cases that fail on some platforms and pass on others due
to stack size. Other test cases cover what will fit on a stack or what will
throw an out of stack exception.

  • js/function-apply-many-args-expected.txt:
  • js/script-tests/function-apply-many-args.js:
3:12 PM Changeset in webkit [170601] by msaboff@apple.com
  • 6 edits in trunk

Add option to run-jsc-stress-testes to filter out tests that use large heaps
https://bugs.webkit.org/show_bug.cgi?id=134458

Reviewed by Filip Pizlo.

Source/JavaScriptCore:
Added test to skip js1_5/Regress/regress-159334.js when testing on a memory limited device.

  • tests/mozilla/mozilla-tests.yaml:

Tools:
Added new --memory-limited to filter out tests that have large heap usage.
Such tests are either tagged with @largeHeap or logic is added to their .yaml file.

  • Scripts/run-jsc-stress-tests:

LayoutTests:

  • js/regress/script-tests/lots-of-fields.js: Added @largeHeap tag to skip when

running on a memoryLimited device.

3:10 PM Changeset in webkit [170600] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebKit2

[iOS][WK2] Move tap highlight to the inverseScaleRootView
https://bugs.webkit.org/show_bug.cgi?id=134424
<rdar://problem/17480880>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-30
Reviewed by Tim Horton.

Enrica introduced the inverseScaleRootView that is a dynamic version of _highlightRootView.

This patch moves the tap highlight from its own inverse root to inverseScaleRootView. This provides better handling
of scale, better behavior on crash, and remove one extra view from the hierarchy.

The code is pretty much the same, just moved around. Some of the changes:

Now the code needs to handle repainting live when the view scale. To do that, _showTapHighlightXXX was split in two:
-_showTapHighlight to setup the view.
-_updateTapHighlight to update the view based on the current scale.

Since the view updates live on scaling, we need to recompute the coordinates for each update. To do that, the _potentialTapHighlightInformation
was generalized to handle all cases of highlight.

Since we can no longer test for the nullity of _potentialTapHighlightInformation,
a new attribute is introduced for that: _hasTapHighlightForPotentialTap.

The last bit of change concern reentering the tap highlight. This becomes quite simple:
1) _isTapHighlightIDValid is updated before the animation starts

so that it can be set again during an animation.

2) The animation checks the "finished" flags before removing the view from its superview

to avoid breaking the new animation.

  • UIProcess/API/Cocoa/WKWebView.mm:

(withinEpsilon): Deleted.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
Make _updateUnscaledView conditional to scale changes, that thing isn't cheap!

  • UIProcess/ios/WKContentViewInteraction.h:

(withinEpsilon):
Move withinEpsilon() from WKContentView to use it from both classes.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView cleanupInteraction]):
(-[WKContentView _updateUnscaledView]):
(-[WKContentView _updateTapHighlight]):
(-[WKContentView _showTapHighlight]):
(-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
(-[WKContentView _cancelInteraction]):
(-[WKContentView _finishInteraction]):
(-[WKContentView _singleTapDidReset:]):
(-[WKContentView _singleTapCommited:]):
(-[WKContentView _showTapHighlightWithColor:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]): Deleted.

2:53 PM Changeset in webkit [170599] by andersca@apple.com
  • 5 edits in trunk/Source

Add code for encoding legacy session history entries
https://bugs.webkit.org/show_bug.cgi?id=134452

Reviewed by Andreas Kling.

Source/WebKit2:

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::HistoryEntryDataEncoder::HistoryEntryDataEncoder):
(WebKit::HistoryEntryDataEncoder::operator<<):
(WebKit::HistoryEntryDataEncoder::finishEncoding):
(WebKit::HistoryEntryDataEncoder::encodeArithmeticType):
(WebKit::HistoryEntryDataEncoder::encodeFixedLengthData):
(WebKit::HistoryEntryDataEncoder::grow):
(WebKit::HistoryEntryDataEncoder::growCapacity):
(WebKit::encodeFrameStateNode):
(WebKit::encodeLegacySessionHistoryEntryData):
(WebKit::decodeSessionHistoryEntryData):
(WebKit::decodeLegacySessionHistoryEntryData):

  • UIProcess/mac/LegacySessionStateCoding.h:

Source/WTF:

  • wtf/MallocPtr.h:

(WTF::MallocPtr::malloc):
(WTF::MallocPtr::realloc):

2:25 PM Changeset in webkit [170598] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Use non-thumb registers in armv7 css jit.
https://bugs.webkit.org/show_bug.cgi?id=134450

Reviewed by Geoff Garen.

  • cssjit/RegisterAllocator.h:

(WebCore::RegisterAllocator::isValidRegister):
(WebCore::RegisterAllocator::isCallerSavedRegister):
Use additional general purpose registers.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
Always succeed when compiling css selectors.

2:21 PM Changeset in webkit [170597] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

Tiles on bottom of screen are not always allocated when necessary
https://bugs.webkit.org/show_bug.cgi?id=134272

Reviewed by Simon Fraser.

Source/WebCore:
The initial visibleRect is in the coordinate of the root layer, so its origin
is at the top left of the view. The initial rect we were using doesn't
include the contents inset, so it was too short, which was causing tiles near
the bottom of the screen to not always be allocated if the tile threshold was
close to the bottom of the view. Instead, we want to include the contents
inset size so the visible rect includes the entire view.
GraphicsLayerCA::recursiveCommitChanges() takes care of mapping and cropping
the visible rect into the tiled layer's coordinate system, at which point it
is used for visible tile logic.

Test: platform/mac-wk2/tiled-drawing/visible-rect-content-inset.html

  • platform/graphics/ca/TileCoverageMap.cpp:

(WebCore::TileCoverageMap::update):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::flushPendingLayerChanges):

LayoutTests:
Apply a content inset, then dump visible rects.

  • platform/mac-wk2/tiled-drawing/visible-rect-content-inset-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/visible-rect-content-inset.html: Added.
  • compositing/visible-rect/iframe-no-layers.html: For WK2, the size of the visibleRect

includes the size of the border of the iframe. In order to elliminate platform
differences, set this border to 0.

1:57 PM Changeset in webkit [170596] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

DRT in iOS sim crashes while loading fonts
https://bugs.webkit.org/show_bug.cgi?id=134451

Reviewed by Geoffrey Garen.

The magic linker symbols had the same name, and were therefore being unified
to a single font file. Then, adding the same file twice was failing.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(activateFontsIOS):

12:01 PM Changeset in webkit [170595] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Win] Unreviewed project gardening.

  • WebCore.vcxproj/WebCore.vcxproj: Clean up path information so

files appear in appropriate places in project view.

  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
11:48 AM Changeset in webkit [170594] by dbates@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Avoid copying closed variables vector; actually use move semantics

Rubber-stamped by Oliver Hunt.

Currently we always copy the closed variables vector passed by Parser::closedVariables()
to ProgramNode::setClosedVariables() because these member functions return and take a const
rvalue reference, respectively. Instead, these member functions should take an return a non-
constant rvalue reference so that we actually move the closed variables vector from the Parser
object to the Node object.

  • parser/Nodes.cpp:

(JSC::ProgramNode::setClosedVariables): Remove const qualifier for argument.

  • parser/Nodes.h:

(JSC::ScopeNode::setClosedVariables): Ditto.

  • parser/Parser.h:

(JSC::Parser::closedVariables): Remove const qualifier on return type.
(JSC::parse): Remove extraneous call to std::move(). Calling std::move() is unnecessary here
because Parser::closedVariables() returns an rvalue reference.

11:27 AM Changeset in webkit [170593] by Lucas Forschler
  • 2 edits in tags/Safari-538.43.40/Source/WebKit2

Merged r170569. <rdar://problem/17500555>

11:24 AM Changeset in webkit [170592] by Lucas Forschler
  • 2 edits in tags/Safari-538.43.40/Source/WebCore

Merged r170533. <rdar://problem/16801069>

11:22 AM Changeset in webkit [170591] by msaboff@apple.com
  • 2 edits in trunk/LayoutTests

Reduce memory required for js/typedarray-zero-size.js
https://bugs.webkit.org/show_bug.cgi?id=134448

Reviewed by Mark Hahnenberg.

Reduce the loop count from 10000 to 4000 to further reduce memory requirements
on older devices.

  • js/script-tests/typedarray-zero-size.js:
11:06 AM Changeset in webkit [170590] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Remove redundant repaintCompositedLayers() parameter and its dependencies.
https://bugs.webkit.org/show_bug.cgi?id=134431

Reviewed by Darin Adler.

No change in functionality.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::convertToPixelSnappedLayerCoords): Deleted.
(WebCore::RenderLayer::convertToLayerCoords): Deleted.

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

(WebCore::RenderLayerCompositor::repaintCompositedLayers):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):

  • rendering/RenderLayerCompositor.h:
10:57 AM Changeset in webkit [170589] by Joseph Pecoraro
  • 10 edits
    1 copy in trunk/Source/JavaScriptCore

JSContext Inspection: Provide a way to use a non-Main RunLoop for Inspector JavaScript Evaluations
https://bugs.webkit.org/show_bug.cgi?id=134371

Reviewed by Timothy Hatcher.

  • API/JSContextPrivate.h:
  • API/JSContext.mm:

(-[JSContext _debuggerRunLoop]):
(-[JSContext _setDebuggerRunLoop:]):
Private API for setting the CFRunLoop for a debugger to evaluate in.

  • API/JSContextRefInternal.h: Added.
  • API/JSContextRef.cpp:

(JSGlobalContextGetDebuggerRunLoop):
(JSGlobalContextSetDebuggerRunLoop):
Internal API for setting a CFRunLoop on a JSContextRef.
Set this on the debuggable.

  • inspector/remote/RemoteInspectorDebuggable.h:
  • inspector/remote/RemoteInspectorDebuggableConnection.h:

(Inspector::RemoteInspectorBlock::RemoteInspectorBlock):
(Inspector::RemoteInspectorBlock::~RemoteInspectorBlock):
(Inspector::RemoteInspectorBlock::operator=):
(Inspector::RemoteInspectorBlock::operator()):
Moved into the header.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::inspectorDebuggable):
Lets store the RunLoop on the debuggable instead of this core
platform agnostic class, so expose the debuggable.

  • inspector/remote/RemoteInspectorDebuggableConnection.mm:

(Inspector::RemoteInspectorHandleRunSourceGlobal):
(Inspector::RemoteInspectorQueueTaskOnGlobalQueue):
(Inspector::RemoteInspectorInitializeGlobalQueue):
Rename the global functions for clarity.

(Inspector::RemoteInspectorHandleRunSourceWithInfo):
Handler for private run loops.

(Inspector::RemoteInspectorDebuggableConnection::RemoteInspectorDebuggableConnection):
(Inspector::RemoteInspectorDebuggableConnection::~RemoteInspectorDebuggableConnection):
(Inspector::RemoteInspectorDebuggableConnection::dispatchAsyncOnDebuggable):
(Inspector::RemoteInspectorDebuggableConnection::setupRunLoop):
(Inspector::RemoteInspectorDebuggableConnection::teardownRunLoop):
(Inspector::RemoteInspectorDebuggableConnection::queueTaskOnPrivateRunLoop):
Setup and teardown and use private run loop sources if the debuggable needs it.

10:42 AM Changeset in webkit [170588] by Lucas Forschler
  • 5 edits in tags/Safari-538.43.40/Source

Versioning.

10:39 AM Changeset in webkit [170587] by Lucas Forschler
  • 1 copy in tags/Safari-538.43.40

New Tag.

10:37 AM Changeset in webkit [170586] by msaboff@apple.com
  • 2 edits in trunk/LayoutTests

Reduce memory required for js/typedarray-zero-size.js
https://bugs.webkit.org/show_bug.cgi?id=134448

Reviewed by Darin Adler.

Making the loop count down reduces memory usage from ~190MB to ~22MB while
still testing the original issue.

  • js/script-tests/typedarray-zero-size.js:
9:59 AM Changeset in webkit [170585] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

Remove webkit prefix from pointer lock.
https://bugs.webkit.org/show_bug.cgi?id=134312

Patch by Alex Christensen <achristensen@webkit.org> on 2014-06-30
Reviewed by Dean Jackson.

  • dom/Document.cpp:

(WebCore::Document::exitPointerLock):
(WebCore::Document::pointerLockElement):
(WebCore::Document::webkitExitPointerLock): Deleted.
(WebCore::Document::webkitPointerLockElement): Deleted.

  • dom/Document.h:
  • dom/Document.idl:
  • dom/Element.cpp:

(WebCore::Element::requestPointerLock):
(WebCore::Element::webkitRequestPointerLock): Deleted.

  • dom/Element.h:
  • dom/Element.idl:
  • dom/EventNames.h:
  • dom/MouseEvent.idl:
  • dom/MouseRelatedEvent.h:

(WebCore::MouseRelatedEvent::movementX):
(WebCore::MouseRelatedEvent::movementY):
(WebCore::MouseRelatedEvent::webkitMovementX): Deleted.
(WebCore::MouseRelatedEvent::webkitMovementY): Deleted.

  • page/PointerLockController.cpp:

(WebCore::PointerLockController::PointerLockController):
Initialize all data members.
(WebCore::PointerLockController::requestPointerLock):
(WebCore::PointerLockController::didAcquirePointerLock):
(WebCore::PointerLockController::didNotAcquirePointerLock):
(WebCore::PointerLockController::didLosePointerLock):

8:13 AM Changeset in webkit [170584] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

U16_IS_SURROGATE should not be called with a UChar32
https://bugs.webkit.org/show_bug.cgi?id=134440

Reviewed by Darin Adler.

No new tests because there is no behavior change.

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::advanceByCombiningCharacterSequence):

7:48 AM Changeset in webkit [170583] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Add missing ENABLE(DFG_JIT) guards
https://bugs.webkit.org/show_bug.cgi?id=134444

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-06-30
Reviewed by Darin Adler.

  • dfg/DFGFunctionWhitelist.cpp:
  • dfg/DFGFunctionWhitelist.h:
7:45 AM Changeset in webkit [170582] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Remove Qt cruft from webkitpy
https://bugs.webkit.org/show_bug.cgi?id=134445

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-06-30
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/common/config/ports.py:

(DeprecatedPort.port):
(QtPort): Deleted.
(QtPort.build_webkit_command): Deleted.
(QtPort.run_webkit_tests_command): Deleted.
(QtWK2Port): Deleted.
(QtWK2Port.build_webkit_command): Deleted.
(QtWK2Port.run_webkit_tests_command): Deleted.

  • Scripts/webkitpy/common/config/ports_unittest.py:

(DeprecatedPortTest): Deleted.
(DeprecatedPortTest.test_qt_port): Deleted.
(DeprecatedPortTest.test_qt_wk2_port): Deleted.

1:46 AM Changeset in webkit [170581] by ryuan.choi@samsung.com
  • 5 edits in trunk/Source/WebCore

[EFL] Remove m_evasObject from Widget
https://bugs.webkit.org/show_bug.cgi?id=134442

Reviewed by Gyuyoung Kim.

Since WebKit1/EFL was dropped, we don't need to keep the m_evasObject
in the Widget.cpp because it's not used for WebKit2/Efl.

  • platform/Widget.h:

(WebCore::Widget::evasObject): Deleted.

  • platform/efl/ScrollbarEfl.cpp:

Removed WebKit1/Efl specific code which uses m_evasObject.
It will be a dummy until WebKit2/Efl support proper scrollbar implementation.
(WebCore::ScrollbarEfl::ScrollbarEfl):
(WebCore::ScrollbarEfl::~ScrollbarEfl):
(WebCore::ScrollbarEfl::setParent):
(WebCore::ScrollbarEfl::frameRectsChanged):
(WebCore::ScrollbarEfl::invalidate):
(ScrollbarEfl::ScrollbarEfl): Deleted.
(ScrollbarEfl::~ScrollbarEfl): Deleted.
(scrollbarEflEdjeMessage): Deleted.
(ScrollbarEfl::setParent): Deleted.
(ScrollbarEfl::updateThumbPosition): Deleted.
(ScrollbarEfl::updateThumbProportion): Deleted.
(ScrollbarEfl::updateThumbPositionAndProportion): Deleted.
(ScrollbarEfl::frameRectsChanged): Deleted.
(ScrollbarEfl::invalidate): Deleted.

  • platform/efl/ScrollbarEfl.h:

Removed unnecessary methods. In addition, applied final, override keyword.
(WebCore::ScrollbarEfl::handleMouseMoveEvent): Deleted.
(WebCore::ScrollbarEfl::handleMouseOutEvent): Deleted.
(WebCore::ScrollbarEfl::handleMousePressEvent): Deleted.
(WebCore::ScrollbarEfl::handleMouseReleaseEvent): Deleted.

  • platform/efl/WidgetEfl.cpp:

(WebCore::Widget::Widget):
(WebCore::Widget::setEvasObject): Deleted.

1:35 AM Changeset in webkit [170580] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix deprecated warning with bison 3
https://bugs.webkit.org/show_bug.cgi?id=133791

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-06-30
Reviewed by Csaba Osztrogonác.

No new tests because no functional changes.

  • css/CSSGrammar.y.in:
  • xml/XPathGrammar.y:
1:32 AM Changeset in webkit [170579] by ljaehun.lim@samsung.com
  • 3 edits in trunk/Source/WebCore

Remove HarfBuzzShaper::setDrawRange()
https://bugs.webkit.org/show_bug.cgi?id=134243

Reviewed by Gyuyoung Kim.

setDrawRange() is not used anywhere. Remove it.
And m_fromIndex and m_toIndex are changed by only setDrawRange().
So remove them too and use the default values instead of them.

No new tests, no behavior changes.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::HarfBuzzShaper):
(WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun):

currentCharacterIndex is unsigned, always greater than 0. Clean up if statements.

(WebCore::HarfBuzzShaper::setDrawRange): Deleted.

  • platform/graphics/harfbuzz/HarfBuzzShaper.h:

Jun 29, 2014:

11:36 PM Changeset in webkit [170578] by psolanki@apple.com
  • 4 edits in trunk/Source/WebCore

Create NSURLRequest lazily when USE(CFNETWORK) is enabled
https://bugs.webkit.org/show_bug.cgi?id=134441

Reviewed by Sam Weinig.

No new tests. Should be covered by exsting tests.

  • platform/network/cf/ResourceRequest.h:

(WebCore::ResourceRequest::ResourceRequest):

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
(WebCore::ResourceRequest::setStorageSession):

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::nsURLRequest):

9:43 PM Changeset in webkit [170577] by ryuan.choi@samsung.com
  • 2 edits
    2 deletes in trunk/Source/WebCore

[EFL] Remove netscape plugin implementation from WebCore
https://bugs.webkit.org/show_bug.cgi?id=134438

Reviewed by Gyuyoung Kim.

Because WebKit1/Efl was dropped, PluginPackageEfl.cpp and PluginViewEfl.cpp are not necessary.

  • PlatformEfl.cmake:
  • plugins/efl/PluginPackageEfl.cpp: Removed.
  • plugins/efl/PluginViewEfl.cpp: Removed.
  • plugins/x11/PluginViewX11.cpp: Removed.

This file is to share common code between WebKit1/Efl and WebKit1/GTk.
Now, both ports are dropped WebKit1 support and the GTK port already removed the related files at r167016.

9:07 PM Changeset in webkit [170576] by yoav@yoav.ws
  • 30 edits
    19 adds in trunk

Add support for HTMLImageElement's sizes attribute
https://bugs.webkit.org/show_bug.cgi?id=133620

Reviewed by Dean Jackson.

.:
Added an ENABLE_PICTURE_SIZES compile flag.

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:
Added an ENABLE_PICTURE_SIZES compile flag.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:
Tests: fast/dom/HTMLImageElement/sizes/image-sizes-1x.html

fast/dom/HTMLImageElement/sizes/image-sizes-2x.html
fast/dom/HTMLImageElement/sizes/image-sizes-js-change.html
fast/dom/HTMLImageElement/sizes/image-sizes-js-innerhtml.html
http/tests/loading/sizes/preload-image-sizes-2x.html
http/tests/loading/sizes/preload-image-sizes.html

This patch adds support for HTMLImageElement's sizes attribute and the
related srcset extended syntax as defined in
http://picture.responsiveimages.org/.
This sizes attribute syntax is added to the CSSGrammar and parsed by
the CSSParser.
The SourceSizeList class is generated by the parser, and used to get
the final source size.
HTMLImageElement and HTMLPreloadScanner send this value to
HTMLSrcsetParser.
HTMLSrcsetParser uses this value in order to pick the right resource.

  • CMakeLists.txt: Added css/SourceSizeList.cpp.
  • Configurations/FeatureDefines.xcconfig: Added the PICTURE_SIZES flag.
  • WebCore.vcxproj/WebCore.vcxproj: Added css/SourceSizeList.*.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Added css/SourceSizeList.*.
  • WebCore.xcodeproj/project.pbxproj: Added css/SourceSizeList.*.
  • css/CSSGrammar.y.in: Added 4 grammar rules that define a Media condition,

Source size list, Source size length and source size.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseSizesAttribute): Parse the sizes attribute.
(WebCore::CSSParser::detectAtToken): Set the token to SIZESATTR.

  • css/CSSParser.h:
  • css/SourceSizeList.cpp: Added. Defined the SourceSize and SourceSizeList classes.

(WebCore::SourceSize::match):
(WebCore::computeLength):
(WebCore::defaultValue):
(WebCore::SourceSize::length):
(WebCore::SourceSizeList::parseSizesAttribute):
(WebCore::SourceSizeList::getEffectiveSize):

  • css/SourceSizeList.h: Added.

(WebCore::SourceSize::SourceSize):
(WebCore::SourceSizeList::append):

  • html/HTMLImageElement.cpp: Integrated sizes attribute parsing and added currentSrc.

(WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::currentSrc):

  • html/HTMLImageElement.h:
  • html/HTMLImageElement.idl:
  • html/parser/HTMLDocumentParser.cpp: Added information required for sizes parsing to

HTMLPreloadScanner calls.
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):

  • html/parser/HTMLPreloadScanner.cpp: Integrated sizes attribute parsing.

(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
(WebCore::TokenPreloadScanner::scan):
(WebCore::HTMLPreloadScanner::scan):

  • html/parser/HTMLPreloadScanner.h:
  • html/parser/HTMLSrcsetParser.cpp: Added 'w' descriptor parsing sizes based normalization.

(WebCore::parseDescriptors):
(WebCore::pickBestImageCandidate):
(WebCore::bestFitSourceForImageAttributes):

  • html/parser/HTMLSrcsetParser.h:

Source/WebKit/mac:
Added an ENABLE_PICTURE_SIZES compile flag.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:
Added an ENABLE_PICTURE_SIZES compile flag.

  • Configurations/FeatureDefines.xcconfig:

Tools:
Added an ENABLE_PICTURE_SIZES compile flag.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:
These layout tests check that the sizes attribute and the related
srcset syntax are well supported, that the right resource is displayed,
that the currentSrc attribute is well supported and also that the right
resource is preloaded.

  • fast/dom/HTMLImageElement/resources/currentSrcHelper.js: Added.

(fileName):
(currentSrcFileName):

  • fast/dom/HTMLImageElement/resources/image-set-4x.png: Added.
  • fast/dom/HTMLImageElement/sizes/image-sizes-1x-expected.txt: Added.
  • fast/dom/HTMLImageElement/sizes/image-sizes-1x.html: Added.
  • fast/dom/HTMLImageElement/sizes/image-sizes-2x-expected.txt: Added.
  • fast/dom/HTMLImageElement/sizes/image-sizes-2x.html: Added.
  • fast/dom/HTMLImageElement/sizes/image-sizes-js-change-expected.txt: Added.
  • fast/dom/HTMLImageElement/sizes/image-sizes-js-change.html: Added.
  • fast/dom/HTMLImageElement/sizes/image-sizes-js-innerhtml-expected.txt: Added.
  • fast/dom/HTMLImageElement/sizes/image-sizes-js-innerhtml.html: Added.
  • http/tests/loading/sizes/preload-image-sizes-2x-expected.txt: Added.
  • http/tests/loading/sizes/preload-image-sizes-2x.html: Added.
  • http/tests/loading/sizes/preload-image-sizes-expected.txt: Added.
  • http/tests/loading/sizes/preload-image-sizes.html: Added.
2:51 PM Changeset in webkit [170575] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

No need to lazily initialize ResourceResponse internals when accessing timing data.
<https://webkit.org/b/134437>
<rdar://problem/17499876>

When building with ENABLE(WEB_TIMING), the last thing that would happen when
serializing a ResourceResponse in the network process is that we'd retrieve
the ResourceLoadTiming to encode it as part of the response. Doing so would
trigger the lazy instantiation of ResourceResponse's internal data structures.

Since timing data is not actually lazily instantiated, we can just not do that.

This shaves off ~550ms of network process main thread time on PLT, reducing
response latency by not doing unnecessary stuff before letting the web process
look at the downloaded data.

Reviewed by Gavin Barraclough.

  • WebCore.exp.in:
  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::adopt):
(WebCore::ResourceResponseBase::resourceLoadTiming): Deleted.
(WebCore::ResourceResponseBase::setResourceLoadTiming): Deleted.

  • platform/network/ResourceResponseBase.h:

(WebCore::ResourceResponseBase::resourceLoadTiming):

1:59 PM Changeset in webkit [170574] by psolanki@apple.com
  • 4 edits
    1 copy
    2 adds in trunk/Source/WebCore

Refactor ResourceRequest into Cocoa and iOS specific files
https://bugs.webkit.org/show_bug.cgi?id=134430

Reviewed by Andreas Kling.

No new tests because no functional changes.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::applyWebArchiveHackForMail): Deleted.

  • platform/network/cocoa/ResourceRequestCocoa.mm: Copied from Source/WebCore/platform/network/mac/ResourceRequestMac.mm.

(WebCore::ResourceRequest::nsURLRequest):
(WebCore::ResourceRequest::cfURLRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdateResourceHTTPBody):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
(WebCore::ResourceRequest::applyWebArchiveHackForMail):
(WebCore::ResourceRequest::setStorageSession):

  • platform/network/ios/ResourceRequestIOS.mm: Added.

(WebCore::ResourceRequest::useQuickLookResourceCachingQuirks):
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::updateNSURLRequest):

  • platform/network/mac/ResourceRequestMac.mm:

(WebCore::initQuickLookResourceCachingQuirks):
(WebCore::ResourceRequest::useQuickLookResourceCachingQuirks):
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::updateNSURLRequest):
(WebCore::ResourceRequest::applyWebArchiveHackForMail):
(WebCore::ResourceRequest::nsURLRequest): Deleted.
(WebCore::ResourceRequest::cfURLRequest): Deleted.
(WebCore::ResourceRequest::doUpdateResourceRequest): Deleted.
(WebCore::ResourceRequest::doUpdateResourceHTTPBody): Deleted.
(WebCore::ResourceRequest::doUpdatePlatformRequest): Deleted.
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody): Deleted.
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Deleted.
(WebCore::ResourceRequest::setStorageSession): Deleted.

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

TextCodecICU::encode turns the whole string as yen signs if there is any backslash in it
https://bugs.webkit.org/show_bug.cgi?id=133678

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-06-29
Reviewed by Alexey Proskuryakov.

Source/WebCore:
Test: fast/encoding/backslash-encoding-jp.html

  • platform/text/TextCodecICU.cpp:

(WebCore::TextCodecICU::encode): fixed the copy of characters other than backslash.

LayoutTests:

  • fast/encoding/backslash-encoding-jp-expected.txt: Added.
  • fast/encoding/backslash-encoding-jp.html: Added.
8:27 AM BuildingQtOnWindows edited by mhazadmanesh2009@gmail.com
small "typo" (diff)
8:18 AM BuildingQtOnWindows edited by mhazadmanesh2009@gmail.com
Added the SQLite dependency information, added some notes and a bit … (diff)

Jun 28, 2014:

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

[iOS] Pinching into a video (fullscreen gesture) leaves page zoomed in
https://bugs.webkit.org/show_bug.cgi?id=134433
<rdar://problem/16630794>

Reviewed by Eric Carlson.

Detect the number of target touches (those directly on the
video element) and disable the page zoom if it looks
like the user is trying to trigger fullscreen.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handleBaseGestureStart): If we are seeing
two touches in this video element, don't trigger fullscreen. The
exception is if we haven't yet started playback.
(ControllerIOS.prototype.handleBaseGestureChange): Don't allow fullscreen
if we haven't started playback (iOS 7 behaviour).
(ControllerIOS.prototype.handleWrapperTouchStart): Keep track of the
number of targetted touches.

4:49 PM Changeset in webkit [170571] by fpizlo@apple.com
  • 17 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Reduce the GC's influence on optimization decisions
https://bugs.webkit.org/show_bug.cgi?id=134427

Reviewed by Oliver Hunt.

This is a slight speed-up on some platforms, that arises from a bunch of fixes that I made
while trying to make the GC keep more structures alive
(https://bugs.webkit.org/show_bug.cgi?id=128072).

The fixes are, roughly:

  • If the GC clears an inline cache, then this no longer causes the IC to be forever polymorphic.


  • If we exit in inlined code into a function that tries to OSR enter, then we jettison sooner.


  • Some variables being uninitialized led to rage-recompilations.


This is a pretty strong step in the direction of keeping more Structures alive and not
blowing away code just because a Structure died. But, it seems like there is still a slight
speed-up to be had from blowing away code that references dead Structures.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpAssumingJITType):
(JSC::shouldMarkTransition):
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::determineLiveness):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForStubInfo):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeForStubInfo):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::isSupportedForInlining):
(JSC::DFG::mightInlineFunctionForCall):
(JSC::DFG::mightInlineFunctionForClosureCall):
(JSC::DFG::mightInlineFunctionForConstruct):

  • dfg/DFGCapabilities.h:
  • dfg/DFGCommonData.h:
  • dfg/DFGDesiredWeakReferences.cpp:

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

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::handleExitCounts):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • ftl/FTLForOSREntryJITCode.cpp:

(JSC::FTL::ForOSREntryJITCode::ForOSREntryJITCode): These variables being uninitialized is benign in terms of correctness but can sometimes cause rage-recompilations. For some reason it took this patch to reveal this.

  • ftl/FTLOSREntry.cpp:

(JSC::FTL::prepareOSREntry):

  • runtime/Executable.cpp:

(JSC::ExecutableBase::destroy):
(JSC::NativeExecutable::destroy):
(JSC::ScriptExecutable::ScriptExecutable):
(JSC::ScriptExecutable::destroy):
(JSC::ScriptExecutable::installCode):
(JSC::EvalExecutable::EvalExecutable):
(JSC::ProgramExecutable::ProgramExecutable):

  • runtime/Executable.h:

(JSC::ScriptExecutable::setDidTryToEnterInLoop):
(JSC::ScriptExecutable::didTryToEnterInLoop):
(JSC::ScriptExecutable::addressOfDidTryToEnterInLoop):
(JSC::ScriptExecutable::ScriptExecutable): Deleted.

  • runtime/StructureInlines.h:

(JSC::Structure::storedPrototypeObject):
(JSC::Structure::storedPrototypeStructure):

3:39 PM Changeset in webkit [170570] by timothy_horton@apple.com
  • 10 edits in trunk/Source/WebKit2

[iOS][WK2] PDFs never load inline again after the Web process crashes
https://bugs.webkit.org/show_bug.cgi?id=134432
<rdar://problem/17484205>

Reviewed by Dan Bernstein.

After a crash, the WebPage never gets mimeTypesWithCustomContentProviders filled back in.

  • Shared/WebPageCreationParameters.cpp:

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

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

(WebKit::WebPageProxy::creationParameters):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
Add mimeTypesWithCustomContentProviders to WebPageCreationParameters.

  • UIProcess/Cocoa/WKWebViewContentProviderRegistry.h:
  • UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm:

(-[WKWebViewContentProviderRegistry addPage:]):
We don't need to send the MIME types across when a page is added, because it already got them in its creation parameters.

(-[WKWebViewContentProviderRegistry removePage:]):
(-[WKWebViewContentProviderRegistry _mimeTypesWithCustomContentProviders]):
Return a vector of all registered MIME types.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::mimeTypesWithCustomContentProviders):

  • UIProcess/PageClient.h:

Add (iOS only for now) mimeTypesWithCustomContentProviders to PageClient.

3:31 PM Changeset in webkit [170569] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION: WebPageProxy::attributedSubstringForCharacterRangeAsync never calls its callback function
https://bugs.webkit.org/show_bug.cgi?id=134429

Reviewed by Tim Horton.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):

7:50 AM Changeset in webkit [170568] by Simon Fraser
  • 7 edits in trunk/Source

[iOS WK2] position:fixed inside accelerated overflow:scroll is jumpy
https://bugs.webkit.org/show_bug.cgi?id=134426
<rdar://problem/17474523>

Reviewed by Tim Horton.

After committing a new layer tree (with possibly stale position:fixed layer
positions), we need the scrolling tree to update those positions based on
the current scroll offset.

Source/WebCore:
Give ScrollingTreeScrollingNode an implementation of updateLayersAfterAncestorChange()
which is required to update fixed/sticky child nodes.

  • WebCore.exp.in:
  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::updateLayersAfterAncestorChange):

  • page/scrolling/ScrollingTreeScrollingNode.h:

Source/WebKit2:
To achieve that, implement ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterAncestorChange()
and have it add to the cumulative delta the difference between the last committed scroll
position and the current scroll position.

Also make sure that ScrollingTreeOverflowScrollingNodeIOS doesn't call back to scrollViewDidScroll()
when we're updating its scroll position inside a scrolling tree commit.

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::ScrollingTreeOverflowScrollingNodeIOS):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterAncestorChange):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollViewDidScroll):

2:06 AM Changeset in webkit [170567] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

[GTK] Use public getter/setter in GObject DOM bindings properties implementation.
https://bugs.webkit.org/show_bug.cgi?id=134390.

Patch by Juan A. Suarez Romero <jasuarez@igalia.com> and Carlos Garcia Campos <cgarcia@igalia.com> on 2014-06-28
Reviewed by Carlos Garcia Campos.

The current GObject DOM bindings generator is duplicating code when
implementing the get/set_property methods and the public
getters/setters, instead of making one invoking the other.

This commit changes this behaviour so the code is not duplicated,
making it easier to maintain.

No new tests needed.

  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateProperty):
(GenerateProperties):
(WriteData):
(GetCoreObject): Deleted.

  • bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:

(webkit_dom_test_active_dom_object_get_property):

  • bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:

(webkit_dom_test_event_constructor_get_property):

  • bindings/scripts/test/GObject/WebKitDOMTestException.cpp:

(webkit_dom_test_exception_get_property):

  • bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:

(webkit_dom_test_interface_set_property):
(webkit_dom_test_interface_get_property):

  • bindings/scripts/test/GObject/WebKitDOMTestNondeterministic.cpp:

(webkit_dom_test_nondeterministic_set_property):
(webkit_dom_test_nondeterministic_get_property):

  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):

  • bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:

(webkit_dom_test_serialized_script_value_interface_get_property):

  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:

(webkit_dom_test_typedefs_set_property):
(webkit_dom_test_typedefs_get_property):

  • bindings/scripts/test/GObject/WebKitDOMattribute.cpp:

(webkit_dom_test_exception_get_property):
(webkit_dom_attribute_get_property):

1:44 AM Changeset in webkit [170566] by stavila@adobe.com
  • 3 edits
    2 adds in trunk

[New Multicolumn] Elements with rounded corners and overflow:hidden do not properly clip their content
https://bugs.webkit.org/show_bug.cgi?id=133941

Reviewed by Darin Adler.

Source/WebCore:
When having a multicol element inside an element with overflow:hidden and border-radius,
the fragments representing the columns need to have the border radius set also, to ensure
proper clipping.

Test: fast/multicol/newmulticol/multicol-clip-rounded-corners.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::collectFragments):

LayoutTests:
Added test for multicol element inside an element with overflow:hidden and border radius.

  • fast/multicol/newmulticol/multicol-clip-rounded-corners-expected.html: Added.
  • fast/multicol/newmulticol/multicol-clip-rounded-corners.html: Added.

Jun 27, 2014:

10:51 PM Changeset in webkit [170565] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

check-webkit-style should check the order of #imports as well as #includes
https://bugs.webkit.org/show_bug.cgi?id=134428

Reviewed by Dan Bernstein.

  • Scripts/webkitpy/style/checkers/cpp.py:

Allow "import" in addition to "include", so that the sort order of headers in ObjC files is checked.

10:43 PM Changeset in webkit [170564] by fpizlo@apple.com
  • 38 edits
    1 add
    2 deletes in branches/ftlopt

[ftlopt] If a CodeBlock is jettisoned due to a watchpoint then it should be possible to figure out something about that watchpoint
https://bugs.webkit.org/show_bug.cgi?id=134333

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This is engineered to provide loads of information to the profiler without incurring any
costs when the profiler is disabled. It's the oldest trick in the book: the thing that
fires the watchpoint doesn't actually create anything to describe the reason why it was
fired; instead it creates a stack-allocated FireDetail subclass instance. Only if the
FireDetail::dump() virtual method is called does anything happen.

Currently we use this to produce very fine-grained data for Structure watchpoints and
some cases of variable watchpoints. For all other situations, the given reason is just a
string constant, by using StringFireDetail. If we find a situation where that string
constant is insufficient to diagnose an issue then we can change it to provide more
fine-grained information.

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::jettison):

  • bytecode/CodeBlock.h:
  • bytecode/CodeBlockJettisoningWatchpoint.cpp:

(JSC::CodeBlockJettisoningWatchpoint::fireInternal):

  • bytecode/CodeBlockJettisoningWatchpoint.h:
  • bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp: Removed.
  • bytecode/ProfiledCodeBlockJettisoningWatchpoint.h: Removed.
  • bytecode/StructureStubClearingWatchpoint.cpp:

(JSC::StructureStubClearingWatchpoint::fireInternal):

  • bytecode/StructureStubClearingWatchpoint.h:
  • bytecode/VariableWatchpointSet.h:

(JSC::VariableWatchpointSet::invalidate):
(JSC::VariableWatchpointSet::finalizeUnconditionally):

  • bytecode/VariableWatchpointSetInlines.h:

(JSC::VariableWatchpointSet::notifyWrite):

  • bytecode/Watchpoint.cpp:

(JSC::StringFireDetail::dump):
(JSC::WatchpointSet::fireAll):
(JSC::WatchpointSet::fireAllSlow):
(JSC::WatchpointSet::fireAllWatchpoints):
(JSC::InlineWatchpointSet::fireAll):

  • bytecode/Watchpoint.h:

(JSC::FireDetail::FireDetail):
(JSC::FireDetail::~FireDetail):
(JSC::StringFireDetail::StringFireDetail):
(JSC::Watchpoint::fire):
(JSC::WatchpointSet::fireAll):
(JSC::WatchpointSet::touch):
(JSC::WatchpointSet::invalidate):
(JSC::InlineWatchpointSet::fireAll):
(JSC::InlineWatchpointSet::touch):

  • dfg/DFGCommonData.h:
  • dfg/DFGOperations.cpp:
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • jsc.cpp:

(WTF::Masquerader::create):

  • profiler/ProfilerCompilation.cpp:

(JSC::Profiler::Compilation::setJettisonReason):
(JSC::Profiler::Compilation::toJS):

  • profiler/ProfilerCompilation.h:

(JSC::Profiler::Compilation::setJettisonReason): Deleted.

  • runtime/ArrayBuffer.cpp:

(JSC::ArrayBuffer::transfer):

  • runtime/ArrayBufferNeuteringWatchpoint.cpp:

(JSC::ArrayBufferNeuteringWatchpoint::fireAll):

  • runtime/ArrayBufferNeuteringWatchpoint.h:
  • runtime/CommonIdentifiers.h:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/Identifier.cpp:

(JSC::Identifier::dump):

  • runtime/Identifier.h:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::addFunction):
(JSC::JSGlobalObject::haveABadTime):

  • runtime/JSSymbolTableObject.cpp:

(JSC::VariableWriteFireDetail::dump):

  • runtime/JSSymbolTableObject.h:

(JSC::VariableWriteFireDetail::VariableWriteFireDetail):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):

  • runtime/PropertyName.h:

(JSC::PropertyName::dump):

  • runtime/Structure.cpp:

(JSC::Structure::notifyTransitionFromThisStructure):

  • runtime/Structure.h:

(JSC::Structure::notifyTransitionFromThisStructure): Deleted.

  • runtime/SymbolTable.cpp:

(JSC::SymbolTableEntry::notifyWriteSlow):
(JSC::SymbolTable::WatchpointCleanup::finalizeUnconditionally):

  • runtime/SymbolTable.h:

(JSC::SymbolTableEntry::notifyWrite):

  • runtime/VM.cpp:

(JSC::VM::addImpureProperty):

Source/WebCore:

No new tests because no change in behavior.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

Tools:

  • Scripts/display-profiler-output:
6:34 PM Changeset in webkit [170563] by Alan Bujtas
  • 4 edits
    2 adds in trunk

Subpixel rendering: Background clipping with subpixel behaves differently when composited.
https://bugs.webkit.org/show_bug.cgi?id=134422

Reviewed by Simon Fraser.

Adjust cliprect with the subpixel offset from the graphics layer the same way we do it for painting.
It ensures that cliprect starts from the right position when graphics layer is not on the same
coordinates as the associated render layer.

Source/WebCore:
Test: compositing/hidpi-compositing-layer-with-subpixel-offset-accumulation-clipping.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::applyFilters):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:

LayoutTests:

  • compositing/hidpi-compositing-layer-with-subpixel-offset-accumulation-clipping-expected.html: Added.
  • compositing/hidpi-compositing-layer-with-subpixel-offset-accumulation-clipping.html: Added.
5:19 PM Changeset in webkit [170562] by Brent Fulgham
  • 18 edits
    4 adds in trunk/Source

[Win] Implement parts of the AVFOUNDATION_LOADER_DELEGATE logic for Windows
https://bugs.webkit.org/show_bug.cgi?id=134418

Reviewed by Eric Carlson.

../WebCore:
Land an initial implementation of AVFOUNDATION_LOADER_DELEGATE for
Windows.

  • DerivedSources.cpp: Add new IDL files
  • DerivedSources.make: Add check for AVFOUNDATION_LOADER_DELEGATE.
  • Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp: Added (ported from

Objective C.)

  • WebCore.vcxproj/WebCore.vcxproj: Update for new files.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.vcxproj/WebCoreCommon.props: Add new search paths.
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj: Update for new files.
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Ditto.
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::extractKeyURIKeyIDAndCertificateFromInitData):
Moved from MediaPlayerPrivateAVFoundationObjC.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h:

Update for new API calls.

  • platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp: Added.
  • platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h: Added.
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

Updated for new AVFOUNDATION_LOADER_DELEGATE methods.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp: Added.
  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.h: Added.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

Remove method that was moved to base class.

../WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add new

export.

4:32 PM Changeset in webkit [170561] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove BufferForAppendingHyphen
https://bugs.webkit.org/show_bug.cgi?id=134376

Reviewed by Darin Adler.

It is legacy, from a time when that code was using a Vector.

The problem is that StringBuilder's memory was also implicitly used to keep
the string alive for the lifespan of the TextRun. That seems quite dangerous
as changes in StringBuilder could have changed that.

To fix the lifetime issue, my first idea was to make it explicit by passing
a String reference to hold the memory alive, and a boolean to say if the text
need an hyphen. The problem with that is this code is very hot and I made things
worse.

The solution with this patch is to just pass a pointer to a String to do both
the buffer reference, and the decision to add the hyphen. Having a single
argument with 2 meanings is not pretty but that's not worse than the old buffer.

  • editing/TextIterator.cpp:
  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::constructTextRun):
(WebCore::adjustCharactersAndLengthForHyphen): Deleted.

  • rendering/InlineTextBox.h:

(WebCore::BufferForAppendingHyphen::BufferForAppendingHyphen): Deleted.

  • rendering/RenderText.cpp:
4:28 PM Changeset in webkit [170560] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Lazily link frameworks in WebVideoFullscreenInterfaceAVKit.
https://bugs.webkit.org/show_bug.cgi?id=134407

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-06-27
Reviewed by Eric Carlson.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController init]):
Load AVPlayerController on use.
(WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit):
Remove loading on construction.
(WebVideoFullscreenInterfaceAVKit::setCurrentTime): Load AVValueTiming on use.
(WebVideoFullscreenInterfaceAVKit::setupFullscreen): Load several classes on use.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): Load UIColor on use.

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

Remove extra operations from 64-bit or on armv7.
https://bugs.webkit.org/show_bug.cgi?id=134408

Patch by Alex Christensen <achristensen@webkit.org> on 2014-06-27
Reviewed by Geoffrey Garen.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext):
Only do or operations if it would change values.
Often we're only setting one flag, so half the operations are not necessary.

3:12 PM Changeset in webkit [170558] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

ScrollView::rootViewToTotalContents() needs to take topContentInset into account
https://bugs.webkit.org/show_bug.cgi?id=134415
-and corresponding-
<rdar://problem/17473633>

Reviewed by Simon Fraser.

This affects hit testing in headers aka PageBanners.

The root view will be anchored above the start of the total contents if there is a
topContentInset, so the inset value should be subtracted to get into the right
coordinate space here.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::rootViewToTotalContents):

2:58 PM Changeset in webkit [170557] by Antti Koivisto
  • 15 edits
    1 add in trunk/Source

Flush throttling with remote layers
https://bugs.webkit.org/show_bug.cgi?id=134398

Reviewed by Darin Adler.

Source/WebCore:
With remote layer trees the flush scheduling lives in the WebKit2 layer. The throttling code
needs to live there as well.

Add the required callbacks and disable the existing throttling code in RenderLayerCompositor
when remote layers are in use. Later we can get rid of the RenderLayerCompositor throttling code.

  • WebCore.xcodeproj/project.pbxproj:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadProgressingStatusChanged):

  • page/ChromeClient.h:

(WebCore::ChromeClient::adjustLayerFlushThrottling):

  • page/FrameView.cpp:

(WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
(WebCore::FrameView::loadProgressingStatusChanged):

Factor the progress status change activities to a function.

(WebCore::FrameView::updateLayerFlushThrottling):
(WebCore::FrameView::setExposedRect):

Move the call to adjustTiledBackingCoverage from WebKit to here.

(WebCore::FrameView::updateLayerFlushThrottlingInAllFrames): Deleted.

  • page/FrameView.h:
  • page/LayerFlushThrottleState.h: Added.
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::RenderLayerCompositor):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::adjustLayerFlushThrottling):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::adjustLayerFlushThrottling):

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

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):

Delay layer flushes during page loading.
If use interacts with the page the next flush in unthrottled even if loading is in progress.

(WebKit::RemoteLayerTreeDrawingArea::adjustLayerFlushThrottling):

Compute the new delay. The first visual flush uses a shorter delay.
Flush immediately when we are no longer throttling.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):

2:57 PM Changeset in webkit [170556] by msaboff@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

Unreviewed build fix after r169795.

Fixed ASSERT for 32 bit build.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::silentSavePlanForGPR):

2:44 PM Changeset in webkit [170555] by fpizlo@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

Don't fold a UInt32ToNumber with DoOverflow to Identity since that would result in an Identity that takes an Int32 and returns a DoubleRep
https://bugs.webkit.org/show_bug.cgi?id=134412

Reviewed by Mark Hahnenberg.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::setReplacement):

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):

  • tests/stress/uint32-to-number-fold-constant-with-do-overflow.js: Added.

(foo):
(bar):
(baz):

2:36 PM Changeset in webkit [170554] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS][WK2] <select> tapping "next" does not save new picker value
https://bugs.webkit.org/show_bug.cgi?id=134409

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-06-27
Reviewed by Enrica Casucci.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView accessoryTab:]):
We know the assisted node will change, so call endEditing
before the assisted node changes in the WebProcess.

(-[WKContentView _stopAssistingNode]):
Ensure we call endEditing to trigger controlEndEditing.

  • UIProcess/ios/forms/WKFormSelectPicker.mm:

(-[WKMultipleSelectPicker initWithView:]):
(-[WKMultipleSelectPicker pickerView:row:column:checked:]):
(-[WKSelectSinglePicker dealloc]):
Style fixes.

2:11 PM Changeset in webkit [170553] by beidson@apple.com
  • 6 edits in trunk/Source/WebCore

The user pressing a button on a gamepad should cause gamepads to become visible to all NavigatorGamepads.
https://bugs.webkit.org/show_bug.cgi?id=134375

Reviewed by Darin Adler.

No new tests (Not yet a tested config)

  • Modules/gamepad/GamepadManager.cpp:

(WebCore::GamepadManager::platformGamepadConnected): Also call to makeGamepadsVisibileToBlindNavigators.
(WebCore::GamepadManager::platformGamepadDisconnected):
(WebCore::GamepadManager::platformGamepadInputActivity): Call makeGamepadsVisibileToBlindNavigators.
(WebCore::GamepadManager::makeGamepadsVisibileToBlindNavigators): Walk through each blind navigator

notifying it of each connected Gamepad.

(WebCore::GamepadManager::registerNavigator): Also add to the blind navigator set.
(WebCore::GamepadManager::unregisterNavigator): Also remove from the blind navigator set.

  • Modules/gamepad/GamepadManager.h:
  • platform/GamepadProviderClient.h: Added platformGamepadInputActivity.
  • platform/mac/HIDGamepadProvider.cpp:

(WebCore::HIDGamepadProvider::HIDGamepadProvider):
(WebCore::HIDGamepadProvider::valuesChanged): Set the input notification timer which will notify the clients

that a button was pressed.

(WebCore::HIDGamepadProvider::inputNotificationTimerFired): Perform that notification.

  • platform/mac/HIDGamepadProvider.h:
2:04 PM Changeset in webkit [170552] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit/mac

InfoClick (from Nisus Software) dies on viewing found items
<rdar://problem/17395601>
https://bugs.webkit.org/show_bug.cgi?id=134410

Reviewed by Andy Estes.

InfoClick was calling -[WebPreferences setPrivateBrowsingEnabled:] before
setting up a WebView (or anything else that would have set up WebKitSystemInterface),
which now requires a set up WebKitSystemInterface. We can fix this by initializing
it from +[WebPreferences initialize].

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
Add call to InitWebCoreSystemInterface().

(+[WebPreferences _switchNetworkLoaderToNewTestingSession]):
Remove now unnecessary call to InitWebCoreSystemInterface().

2:03 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
1:53 PM Changeset in webkit [170551] by beidson@apple.com
  • 3 edits in trunk/Source/WebCore

HIDGamepads should populate themselves with initial input values
https://bugs.webkit.org/show_bug.cgi?id=134381

Reviewed by Darin Adler.

No new tests (Not yet a tested config)

  • platform/mac/HIDGamepad.cpp:

(WebCore::HIDGamepad::getCurrentValueForElement):
(WebCore::HIDGamepad::initElements): Loop through all the saved elements to get current values.
(WebCore::HIDGamepad::maybeAddButton):
(WebCore::HIDGamepad::maybeAddAxis):

  • platform/mac/HIDGamepad.h:

(WebCore::HIDGamepadElement::HIDGamepadElement):
(WebCore::HIDGamepadButton::HIDGamepadButton):
(WebCore::HIDGamepadAxis::HIDGamepadAxis):

1:47 PM Changeset in webkit [170550] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Source/JavaScriptCore: Add feature flag for link long-press gesture.

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

Reviewed by Enrica Casucci.

  • Configurations/FeatureDefines.xcconfig: Add ENABLE_LINK_LONG_PRESS.

Patch by Peyton Randolph <prandolph@apple.com> on 2014-06-27

Source/WebCore: Add feature flag for link long-press gesture.
https://bugs.webkit.org/show_bug.cgi?id=134262

Patch by Peyton Randolph <prandolph@apple.com> on 2014-06-27
Reviewed by Enrica Casucci.

  • Configurations/FeatureDefines.xcconfig:

Add ENABLE_LINK_LONG_PRESS.

Source/WebKit/mac: Add feature flag for link long-press gesture.
https://bugs.webkit.org/show_bug.cgi?id=134262

Patch by Peyton Randolph <prandolph@apple.com> on 2014-06-27
Reviewed by Enrica Casucci.

  • Configurations/FeatureDefines.xcconfig:

Add ENABLE_LINK_LONG_PRESS.

Source/WebKit2: Add feature flag for link long-press gesture.

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

Reviewed by Enrica Casucci.

  • Configurations/FeatureDefines.xcconfig: Add ENABLE_LINK_LONG_PRESS.

Patch by Peyton Randolph <prandolph@apple.com> on 2014-06-27

1:35 PM Changeset in webkit [170549] by beidson@apple.com
  • 4 edits in trunk/Source/WebCore

HIDGamepadProvider should only be active when someone is interested in Gamepads.
https://bugs.webkit.org/show_bug.cgi?id=134374

Reviewed by Darin Adler.

No new tests (Not yet a tested config)

  • Modules/gamepad/GamepadManager.cpp:

(WebCore::GamepadManager::registerNavigator): Add some logging.
(WebCore::GamepadManager::unregisterNavigator): Ditto.

  • platform/mac/HIDGamepadProvider.cpp:

(WebCore::HIDGamepadProvider::HIDGamepadProvider):
(WebCore::HIDGamepadProvider::connectionDelayTimerFired): Stop suppressing connection callbacks
(WebCore::HIDGamepadProvider::openAndScheduleManager):
(WebCore::HIDGamepadProvider::closeAndUnscheduleManager): Stop listening for gamepad events, and clear

all current gamepads.

(WebCore::HIDGamepadProvider::startMonitoringGamepads): If the first client, call openAndScheduleManager
(WebCore::HIDGamepadProvider::stopMonitoringGamepads): If the last client, call closeAndUnscheduleManager
(WebCore::HIDGamepadProvider::deviceAdded): If this callback came while we were suppressing connection

callbacks, it is a startup event for already-connected gamepads. Stop suppressing callbacks in a later
spin of the runloop.

(WebCore::HIDGamepadProvider::deviceRemoved):

  • platform/mac/HIDGamepadProvider.h:

(WebCore::HIDGamepadProvider::setShouldDispatchCallbacks): Deleted.

1:31 PM Changeset in webkit [170548] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Prevent unnecessary register saving in css jit.
https://bugs.webkit.org/show_bug.cgi?id=133955

Reviewed by Geoff Garen.

  • cssjit/FunctionCall.h:

(WebCore::FunctionCall::prepareAndCall):
(WebCore::FunctionCall::cleanupPostCall):
(WebCore::FunctionCall::saveAllocatedCallerSavedRegisters):
(WebCore::FunctionCall::restoreAllocatedCallerSavedRegisters):
(WebCore::FunctionCall::saveAllocatedRegisters): Renamed to saveAllocatedCallerSavedRegisters.
(WebCore::FunctionCall::restoreAllocatedRegisters): Renamed to restoreAllocatedCallerSavedRegisters.
Only push caller saved registers before function calls.

  • cssjit/RegisterAllocator.h:

(WebCore::RegisterAllocator::isValidRegister):
Corrected register ranges.
(WebCore::RegisterAllocator::isCallerSavedRegister): Added.

12:54 PM Changeset in webkit [170547] by jer.noble@apple.com
  • 35 edits in trunk/LayoutTests

Unreviewed gardening; fix whitespace issues in the W3C Media Source expected results.

  • http/tests/media/media-source/mediasource-addsourcebuffer-expected.txt:
  • http/tests/media/media-source/mediasource-append-buffer-expected.txt:
  • http/tests/media/media-source/mediasource-append-stream-expected.txt:
  • http/tests/media/media-source/mediasource-appendwindow-expected.txt:
  • http/tests/media/media-source/mediasource-buffered-expected.txt:
  • http/tests/media/media-source/mediasource-closed-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-framerate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-a-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-av-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-v-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-v-framerate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-v-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-duration-expected.txt:
  • http/tests/media/media-source/mediasource-endofstream-invaliderror-expected.txt:
  • http/tests/media/media-source/mediasource-endofstream-invaliderror.html:
  • http/tests/media/media-source/mediasource-getvideoplaybackquality-expected.txt:
  • http/tests/media/media-source/mediasource-is-type-supported-expected.txt:
  • http/tests/media/media-source/mediasource-multiple-attach-expected.txt:
  • http/tests/media/media-source/mediasource-play-expected.txt:
  • http/tests/media/media-source/mediasource-play-then-seek-back-expected.txt:
  • http/tests/media/media-source/mediasource-redundant-seek-expected.txt:
  • http/tests/media/media-source/mediasource-remove-expected.txt:
  • http/tests/media/media-source/mediasource-seek-beyond-duration-expected.txt:
  • http/tests/media/media-source/mediasource-seek-during-pending-seek-expected.txt:
  • http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt:
  • http/tests/media/media-source/mediasource-sourcebufferlist-expected.txt:
12:22 PM Changeset in webkit [170546] by Beth Dakin
  • 6 edits in trunk/Source/WebCore

Custom scrollbars should not create ScrollbarPainters on Mac
https://bugs.webkit.org/show_bug.cgi?id=134406
-and corresponding-
<rdar://problem/16178301>

Reviewed by Tim Horton.

The solution here is to return early in ScrollbarThemeMac::registerScrollbar() if
the scrollbar is custom. However, since this function is called during the
RenderScrollbar and Scrollbar constructor, we need to re-implement
Scrollbar::isCustomScrollbar() to return a member variable that is passed into the
constructor. Otherwise, we will get Scrollbar’s implementation is
isCustomScrollbar() wrongfully returning false since instead of the derived
class’s implementation.

Scrollbar constructor now has an option parameter isCustomScrollbar that defaults
to false. That value is returned by isCustomScrollbar()

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::Scrollbar):

  • platform/Scrollbar.h:

Return early if this is a custom scrollbar since the rest of the function deals
with creating a native scrollbar and getting it in the right state.

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::registerScrollbar):

Send true to the Scrollbar constructor to indicate that this is a custom
scrollbar.

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::RenderScrollbar):

  • rendering/RenderScrollbar.h:
12:17 PM Changeset in webkit [170545] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] AVMetadataKeySpaceISOUserData not defined on 10.8
https://bugs.webkit.org/show_bug.cgi?id=134401

Reviewed by Jer Noble.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::metadataType): Use SOFT_LINK_POINTER_OPTIONAL for AVMetadataKeySpaceISOUserData

so we don't have problems on OS versions where it isn't defined.

11:55 AM Changeset in webkit [170544] by mhodovan.u-szeged@partner.samsung.com
  • 3 edits
    2 adds in trunk

REGRESSION (r168685): css calc() expression fails
https://bugs.webkit.org/show_bug.cgi?id=134059

Source/WebCore:
The expression 'calc((100% - 20px) / 3' did not work properly after r168685,
because primitiveType() function in CSSCalculationValue.cpp has handled
CalcPercentLength and CalcPercentNumber categories as if they were angles.
The patch fixes this incorrect behavior.

Reviewed by Simon Fraser.

Test: fast/css/calc-percentage-pixel.html

  • css/CSSCalculationValue.cpp:

LayoutTests:
Added test demonstrates that expressions like
'calc((100% - 20px) / 3' work correctly again.

Reviewed by Simon Fraser.

  • fast/css/calc-percentage-pixel-expected.html: Added.
  • fast/css/calc-percentage-pixel.html: Added.
11:45 AM Changeset in webkit [170543] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[MSE] http/tests/media/media-source/mediasource-append-buffer.html is failing
https://bugs.webkit.org/show_bug.cgi?id=134389

Reviewed by Eric Carlson.

Two subtests in mediasource-append-buffer.html are failing. Bring setDuration() up to spec
by throwing an exception if the duration is called while any SourceBuffer is updating. Do
not cancel pending events when a SourceBuffer is removed from its MediaSource. And mark the
SourceBuffer as having pending activity if there are pending events to be fired.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::setDuration):

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::removedFromMediaSource):
(WebCore::SourceBuffer::hasPendingActivity):

11:43 AM Changeset in webkit [170542] by jer.noble@apple.com
  • 47 edits
    22 copies
    46 adds
    44 deletes in trunk/LayoutTests

[MSE] Import latest Media Source tests from W3C test suite
https://bugs.webkit.org/show_bug.cgi?id=134388

Reviewed by Eric Carlson.

Import the most recent Media Source tests from the proposed W3C test suite:
<https://github.com/acolwell/web-platform-tests/tree/submission/acolwell/media-source/media-source>

No ports currently enable these tests, so update the expected results for each
test with the ideal expected result.

  • http/tests/media/media-source/mediasource-addsourcebuffer-expected.txt:
  • http/tests/media/media-source/mediasource-addsourcebuffer.html:
  • http/tests/media/media-source/mediasource-append-buffer-expected.txt:
  • http/tests/media/media-source/mediasource-append-buffer.html:
  • http/tests/media/media-source/mediasource-append-stream-expected.txt: Added.
  • http/tests/media/media-source/mediasource-append-stream.html: Added.
  • http/tests/media/media-source/mediasource-appendwindow-expected.txt: Added.
  • http/tests/media/media-source/mediasource-appendwindow.html: Added.
  • http/tests/media/media-source/mediasource-buffered-expected.txt:
  • http/tests/media/media-source/mediasource-buffered.html:
  • http/tests/media/media-source/mediasource-closed-expected.txt:
  • http/tests/media/media-source/mediasource-closed.html:
  • http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-framesize.html:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-framerate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-framesize.html:
  • http/tests/media/media-source/mediasource-config-change-webm-a-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-a-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-webm-av-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-av-framesize.html:
  • http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-webm-v-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-v-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-webm-v-framerate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-v-framerate.html:
  • http/tests/media/media-source/mediasource-config-change-webm-v-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-v-framesize.html:
  • http/tests/media/media-source/mediasource-config-changes.js:
  • http/tests/media/media-source/mediasource-duration-expected.txt: Added.
  • http/tests/media/media-source/mediasource-duration.html: Added.
  • http/tests/media/media-source/mediasource-endofstream-invaliderror-expected.txt: Added.
  • http/tests/media/media-source/mediasource-endofstream-invaliderror.html: Added.
  • http/tests/media/media-source/mediasource-getvideoplaybackquality-expected.txt: Added.
  • http/tests/media/media-source/mediasource-getvideoplaybackquality.html: Added.
  • http/tests/media/media-source/mediasource-is-type-supported-expected.txt:
  • http/tests/media/media-source/mediasource-is-type-supported.html:
  • http/tests/media/media-source/mediasource-multiple-attach-expected.txt:
  • http/tests/media/media-source/mediasource-multiple-attach.html:
  • http/tests/media/media-source/mediasource-play-expected.txt:
  • http/tests/media/media-source/mediasource-play-then-seek-back-expected.txt: Added.
  • http/tests/media/media-source/mediasource-play-then-seek-back.html: Added.
  • http/tests/media/media-source/mediasource-play.html:
  • http/tests/media/media-source/mediasource-redundant-seek-expected.txt: Added.
  • http/tests/media/media-source/mediasource-redundant-seek.html: Added.
  • http/tests/media/media-source/mediasource-remove-expected.txt: Added.
  • http/tests/media/media-source/mediasource-remove.html: Added.
  • http/tests/media/media-source/mediasource-seek-beyond-duration-expected.txt: Added.
  • http/tests/media/media-source/mediasource-seek-beyond-duration.html: Added.
  • http/tests/media/media-source/mediasource-seek-during-pending-seek-expected.txt: Added.
  • http/tests/media/media-source/mediasource-seek-during-pending-seek.html: Added.
  • http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt: Added.
  • http/tests/media/media-source/mediasource-sourcebuffer-mode.html: Added.
  • http/tests/media/media-source/mediasource-sourcebufferlist-expected.txt:
  • http/tests/media/media-source/mediasource-sourcebufferlist.html:
  • http/tests/media/media-source/mediasource-util.js:
  • http/tests/media/media-source/mp4/test-a-128k-44100Hz-1ch-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-a-128k-44100Hz-1ch.mp4: Added.
  • http/tests/media/media-source/mp4/test-a-192k-44100Hz-1ch-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-a-192k-44100Hz-1ch.mp4: Added.
  • http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test-v-128k-320x240-24fps-8kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-v-128k-320x240-24fps-8kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test-v-128k-320x240-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-v-128k-320x240-30fps-10kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test-v-128k-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-v-128k-640x480-30fps-10kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test-v-256k-320x240-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-v-256k-320x240-30fps-10kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test.mp4: Added.
  • http/tests/media/media-source/seek-to-end-after-duration-change-expected.txt: Removed.
  • http/tests/media/media-source/seek-to-end-after-duration-change.html: Removed.
  • http/tests/media/media-source/video-media-source-abort-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-abort.html: Removed.
  • http/tests/media/media-source/video-media-source-add-and-remove-buffers-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-add-and-remove-buffers.html: Removed.
  • http/tests/media/media-source/video-media-source-append-in-ended-state-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-append-in-ended-state.html: Removed.
  • http/tests/media/media-source/video-media-source-append-with-offset-in-ended-state-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-append-with-offset-in-ended-state.html: Removed.
  • http/tests/media/media-source/video-media-source-async-events-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-async-events.html: Removed.
  • http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction.html: Removed.
  • http/tests/media/media-source/video-media-source-duration-boundaryconditions-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-duration-boundaryconditions.html: Removed.
  • http/tests/media/media-source/video-media-source-duration-changed-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-duration-changed.html: Removed.
  • http/tests/media/media-source/video-media-source-duration-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-duration.html: Removed.
  • http/tests/media/media-source/video-media-source-errors-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-errors.html: Removed.
  • http/tests/media/media-source/video-media-source-event-attributes-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-event-attributes.html: Removed.
  • http/tests/media/media-source/video-media-source-garbage-collection-before-sourceopen-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-garbage-collection-before-sourceopen.html: Removed.
  • http/tests/media/media-source/video-media-source-is-type-supported-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-is-type-supported.html: Removed.
  • http/tests/media/media-source/video-media-source-objects-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-objects.html: Removed.
  • http/tests/media/media-source/video-media-source-play-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-play.html: Removed.
  • http/tests/media/media-source/video-media-source-reject-append-after-reopening-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-reject-append-after-reopening.html: Removed.
  • http/tests/media/media-source/video-media-source-seek-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-seek.html: Removed.
  • http/tests/media/media-source/video-media-source-sourcebufferlist-crash-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-sourcebufferlist-crash.html: Removed.
  • http/tests/media/media-source/video-media-source-state-changes-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-state-changes.html: Removed.
  • http/tests/media/media-source/video-media-source-zero-byte-append-in-ended-state-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-zero-byte-append-in-ended-state.html: Removed.
  • http/tests/media/media-source/webm/segment-info.js: Added.
  • http/tests/media/media-source/webm/test-a-128k-44100Hz-1ch-manifest.json: Added.
  • http/tests/media/media-source/webm/test-a-128k-44100Hz-1ch.webm: Added.
  • http/tests/media/media-source/webm/test-a-192k-44100Hz-1ch-manifest.json: Added.
  • http/tests/media/media-source/webm/test-a-192k-44100Hz-1ch.webm: Added.
  • http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm: Added.
  • http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.webm: Added.
  • http/tests/media/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.webm: Added.
  • http/tests/media/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.webm: Added.
  • http/tests/media/media-source/webm/test-v-128k-320x240-24fps-8kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-v-128k-320x240-24fps-8kfr.webm: Added.
  • http/tests/media/media-source/webm/test-v-128k-320x240-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-v-128k-320x240-30fps-10kfr.webm: Added.
  • http/tests/media/media-source/webm/test-v-128k-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-v-128k-640x480-30fps-10kfr.webm: Added.
  • http/tests/media/media-source/webm/test-v-256k-320x240-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-v-256k-320x240-30fps-10kfr.webm: Added.
  • http/tests/media/media-source/webm/test-vp8-vorbis-webvtt.webm: Added.
  • http/tests/media/media-source/webm/test.webm: Added.
11:28 AM Changeset in webkit [170541] by Simon Fraser
  • 14 edits in trunk/Source

[iOS WK2] Fix touch-scrollable elements with overflow:scroll on just one axis, and RTL scrolling
https://bugs.webkit.org/show_bug.cgi?id=134377
<rdar://problem/16762224>

Reviewed by Tim Horton.

Source/WebCore:

Make -webkit-overflow-scrolling:touch scrolling work correctly when one axis
has overflow:scroll and the other overflow:hidden. Also fix scrolling in RTL
contexts.

An RTL scroller with overflow-x:hidden will have a non-zero scroll origin,
and needs to truncate the scrolled content on the left side. To pass the
correct geometry to the UI process, we need to introduce the concept of
"reachable" size as well as total content size; normally these are the same,
but will differ when scrolling is only allowed on one axis but there is overflow
on both axes.

To get the reachable size, add RenderLayer::scrollableContentsSize().

RenderLayer::visibleSize() was wrong; the function should return the size of the
scrollable portion, but used layer size which includes borders. Fix to use pixelSnappedClientWidth()/Height(),
which is what we use for scrollbar computations.

  • WebCore.exp.in:
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode):

  • page/scrolling/ScrollingCoordinator.h:
  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setReachableContentsSize):

  • page/scrolling/ScrollingStateScrollingNode.h:

(WebCore::ScrollingStateScrollingNode::reachableContentsSize):

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::reachableContentsSize):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::visibleSize):
(WebCore::RenderLayer::scrollableContentsSize):

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

(WebCore::updateScrollingLayerWithClient):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

Source/WebKit2:

Make -webkit-overflow-scrolling:touch scrolling work correctly when one axis
has overflow:scroll and the other overflow:hidden. Also fix scrolling in RTL
contexts.

An RTL scroller with overflow-x:hidden will have a non-zero scroll origin,
and needs to truncate the scrolled content on the left side. To pass the
correct geometry to the UI process, we need to introduce the concept of
"reachable" size as well as total content size; normally these are the same,
but will differ when scrolling is only allowed on one axis but there is overflow
on both axes.

ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren() uses the total and
reachable content sizes to set a negative edge inset on the left (for RTL) or top
(for bottom-to-top) so prevent scrolling into these areas.

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):
(WebKit::RemoteScrollingTreeTextStream::dump):

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):

11:13 AM Changeset in webkit [170540] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

Fix various leaks, RetainPtrs should adopt allocs
https://bugs.webkit.org/show_bug.cgi?id=134308

Reviewed by Alexey Proskuryakov.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _remoteObjectRegistry]):

11:13 AM Changeset in webkit [170539] by betravis@adobe.com
  • 4 edits in trunk/Source/WebCore

[Feature Queries] Fix feature queries build on Mac
https://bugs.webkit.org/show_bug.cgi?id=134359

Reviewed by Antti Koivisto.

Update the XCode project and Feature Queries code to build on Mac.

There are existing tests for supports in the LayoutTests/css3 directory.

  • WebCore.xcodeproj/project.pbxproj: Add the Feature Queries files

to the XCode project.

  • css/CSSGrammar.y.in: Update CSSParserExpression to CSSParserValueList.
  • css/DOMWindowCSS.idl: Add ImplementationLacksVTable metadata.
11:09 AM Changeset in webkit [170538] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove unused definitions that were mistakenly added back in r170323 and then again in r170329
https://bugs.webkit.org/show_bug.cgi?id=134397

Reviewed by Geoff Garen.

  • UIProcess/API/Cocoa/WKBackForwardList.mm:
11:08 AM Changeset in webkit [170537] by commit-queue@webkit.org
  • 17 edits
    7 adds in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

Rebaseline tests after r170207, r170249, r170304, r170418 and r170433.
Update expectations for new crashing tests.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-06-27

  • platform/gtk/TestExpectations: Report and mark new crashing tests. Adjust some tests expectations.
  • platform/gtk/fast/canvas/canvas-blend-image-expected.txt: Rebaseline after r170433.
  • platform/gtk/fast/canvas/canvas-blend-solid-expected.txt: Rebaseline after r170433.
  • platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt: Rebaseline after r170249.
  • platform/gtk/fast/dynamic/text-combine-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt: Added. Add baseline after r170304.
  • platform/gtk/fast/regions/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/repaint/japanese-rl-selection-clear-expected.txt: Added. Rebaseline after r170418.
  • platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.txt: Added. Rebaseline after r170418.
  • platform/gtk/fast/text/decorations-with-text-combine-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/text/emphasis-vertical-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/text/international/002-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/text/international/text-combine-image-test-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/text/international/text-spliced-font-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/text/international/wrap-CJK-001-expected.txt: Added. Rebaseline after r170418.
  • platform/gtk/fast/text/khmer-lao-font-expected.txt: Added. Add baseline after r170207.
  • platform/gtk/fast/writing-mode/border-vertical-lr-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/writing-mode/japanese-lr-selection-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/writing-mode/japanese-lr-text-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/writing-mode/japanese-rl-selection-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/writing-mode/japanese-rl-text-expected.txt: Rebaseline after r170418.
  • platform/gtk/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt: Added. Rebaseline after r170433.
  • platform/gtk/svg/filters/feBlend-all-blendmodes-expected.txt: Added. Add baseline after r170433.
11:06 AM Changeset in webkit [170536] by akling@apple.com
  • 2 edits in trunk/Source/WTF

[ARMv7] Skip one particularly expensive fastFree() alignment check.
<https://webkit.org/b/134402>

The size class alignment check in fastFree() was crazy expensive on ARMv7
due to its use of modulo. Disabling it shaves 470ms off of PLT main thread
time in the web process.

Note that this was very hard to identify in profiles due to TCO.

Reviewed by Gavin Barraclough.

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

10:50 AM Changeset in webkit [170535] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE] media/media-source/media-source-tracks.html is crashy
https://bugs.webkit.org/show_bug.cgi?id=134385

Reviewed by Eric Carlson.

Fix the refactoring error (self assignment) introduced by r170488.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):

10:49 AM Changeset in webkit [170534] by mhahnenberg@apple.com
  • 3 edits
    2 adds in trunk

XHR should keep attributes on instance
https://bugs.webkit.org/show_bug.cgi?id=134363

Reviewed by Sam Weinig.

Source/WebCore:
Test: js/dom/xhr-prototype-define-property.html

Having them on the prototype broke some sites due to the fact that these DOM attributes are currently
not configurable. Once we make them configurable, we can move XHR attributes back to the prototype.

  • bindings/scripts/CodeGeneratorJS.pm:

(InterfaceRequiresAttributesOnInstanceForCompatibility):

LayoutTests:
Added a new test for defining properties on XHR prototype.

  • js/dom/xhr-prototype-define-property-expected.txt: Added.
  • js/dom/xhr-prototype-define-property.html: Added.
10:06 AM Changeset in webkit [170533] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

removeCodedFrames should modify ref to TrackBuffer no a copy.
https://bugs.webkit.org/show_bug.cgi?id=134380

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-06-27
Reviewed by Daniel Bates.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::removeCodedFrames):
Iterate with a reference.

9:55 AM Changeset in webkit [170532] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Set cliprect radius unconditionally in RenderLayer.
https://bugs.webkit.org/show_bug.cgi?id=134396

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

9:41 AM Changeset in webkit [170531] by Manuel Rego Casasnovas
  • 8 edits
    4 adds in trunk

[CSS Grid Layout] Interaction between auto-placement and column / row spanning
https://bugs.webkit.org/show_bug.cgi?id=110633

Reviewed by Sergio Villar Senin.

Source/WebCore:
Modify auto-placement algorithm in order to support span in both
definite and automatic positions.

This patch fixes examples like:
grid-row: auto;
grid-column: 2 / span 3;

And also:
grid-row: auto;
grid-column: span 3;

Tests: fast/css-grid-layout/grid-item-auto-placement-automatic-span.html

fast/css-grid-layout/grid-item-auto-placement-definite-span.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::GridIterator::isEmptyAreaEnough): New method that
checks if a grid area is or not empty.
(WebCore::RenderGrid::GridIterator::nextEmptyGridArea): Updated method
that now receives two arguments with the span value in both directions.
(WebCore::RenderGrid::ensureGridSize): Renamed from gridRow(). Adapted
method to grow in both directions at the same time if needed. It ensures
that the grid is big enough to insert a new item.
(WebCore::RenderGrid::insertItemIntoGrid): Only leave the method that
receives a GridCoordinate. It uses ensureGridSize() before inserting the
item in the grid.
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Ensure that
the grid is big enough to place the largest span for auto-positioned
items.
(WebCore::RenderGrid::createEmptyGridAreaAtSpecifiedPositionsOutsideGrid):
New method that returns a GridCoordinate outside current grid with the
requested dimensions.
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid): Adapted
method to calculate the item's span and use the new version of
nextEmptyGridArea(). If an empty area is not found it uses
createEmptyGridAreaAtSpecifiedPositionsOutsideGrid() to place the item.
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid): Ditto.
(WebCore::RenderGrid::growGrid): Renamed to ensureGridSize().

  • rendering/RenderGrid.h: Modify methods headers and add new method

signature.

  • rendering/style/GridCoordinate.h:

(WebCore::GridSpan::integerSpan): Add new simple method to return the
span value of a position.

  • rendering/style/GridResolvedPosition.cpp:

(WebCore::GridResolvedPosition::resolveGridPositionsFromAutoPlacementPosition):
Implement method to take into account span in auto-placement algorithm.
(WebCore::GridResolvedPosition::adjustGridPositionsFromStyle): Add new
checks related with named grid line spans in auto-positioned items,
which is not allowed according to the spec.

  • rendering/style/GridResolvedPosition.h: Update method header.

LayoutTests:
Add new specific test cases for span in auto-placement algorithm.

  • fast/css-grid-layout/grid-item-auto-placement-automatic-span-expected.txt: Added.
  • fast/css-grid-layout/grid-item-auto-placement-automatic-span.html: Added.
  • fast/css-grid-layout/grid-item-auto-placement-definite-span-expected.txt: Added.
  • fast/css-grid-layout/grid-item-auto-placement-definite-span.html: Added.
  • fast/css-grid-layout/grid-item-spanning-resolution.html: Update test

case now that span in auto-positioned items is supported.

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

[XHR] open method must uppercase only standard method types
https://bugs.webkit.org/show_bug.cgi?id=134264

Patch by Mahesh Kulkarni <mahesh.kk@samsung.com> on 2014-06-27
Reviewed by Darin Adler.

Source/WebCore:
As per step-5 of http://xhr.spec.whatwg.org/#the-open()-method only
DELETE, PUT, GET, POST, OPTIONS, HEAD are standard. Use other methods as is without case change.
All tests from w3c-test suite pass http://w3c-test.org/XMLHttpRequest/open-method-case-sensitive.htm.
This merges blink changes from r176592.

Tests: http/tests/xmlhttprequest/xmlhttprequest-open-method-allowed.html

http/tests/xmlhttprequest/xmlhttprequest-open-method-case-insensitive.html

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod):

LayoutTests:
All tests from w3c-test suite pass http://w3c-test.org/XMLHttpRequest/open-method-case-sensitive.htm.
This merges blink changes from r176592.

  • http/tests/xmlhttprequest/resources/echo-request-method.php: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-open-method-allowed-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-open-method-allowed.html: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-open-method-case-insensitive-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-open-method-case-insensitive.html: Added.
8:51 AM Changeset in webkit [170529] by Andre Moreira Magalhaes
  • 2 edits in trunk/Source/WebCore

Increase priority on SharedTimer source.
http://bugs.webkit.org/show_bug.cgi?id=134109

While running webkit on a Debian virtual machine I stumbled upon an issue where JS
setTimeout callbacks were not being properly invoked due to machine limitations and the
usage of a low priority on setTimeout timers.

This patch increases the SharedTimer source priority to use the default glib priority which
fixes the issue, making setTimeout JS calls work properly on the test environment.

Reviewed by Gustavo Noronha Silva.

  • platform/gtk/SharedTimerGtk.cpp:

(WebCore::setSharedTimerFireInterval):

7:20 AM Changeset in webkit [170528] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Remove redundant offsetFromAncestor() call from RenderLayer::localClipRect().
https://bugs.webkit.org/show_bug.cgi?id=134378

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

7:00 AM Changeset in webkit [170527] by Michał Pakuła vel Rutka
  • 6 edits in trunk/Tools

[EFL] Remove efl-wk2 from baseline search path
https://bugs.webkit.org/show_bug.cgi?id=134391

Reviewed by Gyuyoung Kim.

As WebKit1 EFL is removed and platform/efl and platform/efl-wk2 baselines and test expectations files
are merged efl-wk2 search path should be removed.

  • Scripts/webkitpy/port/base.py:

(Port.test_expectations_file_postion): Added method to determine port test expectations file position in expectations_dict.

  • Scripts/webkitpy/port/efl.py:

(EflPort._search_paths): Changed baseline search paths from efl-wk2 -> wk2 -> efl -> generic is changed to: efl -> wk2 -> generic.
(EflPort.test_expectations_file_postion): Added method to determine EFL port specific test expectation file position.

  • Scripts/webkitpy/port/port_testcase.py:

(PortTestCase.test_expectations_ordering): Changed constant value to one returned from test_expectations_file_postion().

  • Scripts/webkitpy/style/checkers/test_expectations_unittest.py:

(TestExpectationsTestCase.test_determine_port_from_expectations_path): Removed efl-wk2 test case.

  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

(TestRebaselineTest.test_baseline_directory): Changed directory name in assertion from platform/efl-wk2 to platform/efl.

5:10 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
4:33 AM WebKitGTK/2.4.x edited by Philippe Normand
(diff)
4:28 AM Changeset in webkit [170526] by Philippe Normand
  • 3 edits in trunk/Source/WebCore

[GTK] 8tracks.com triggers annoying pop-up window/installation of "About protocol source plugin" (GStreamer?)
https://bugs.webkit.org/show_bug.cgi?id=133605

Reviewed by Carlos Garcia Campos.

Don't attempt to load blank URLs with the GStreamer media
player. Those URLs trigger the codec installer which is useless in
this scenario. This patch also renames some of the variables of
the ::load method, as suggested by Carlos.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
Check video-sink validity before disconnecting its signal handlers.
(WebCore::MediaPlayerPrivateGStreamer::load): Don't load blank
URLs (about:blank).

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
Disconnect repaint handler only if it's valid.

12:28 AM Changeset in webkit [170525] by llango.u-szeged@partner.samsung.com
  • 7 edits in trunk/Source/JavaScriptCore

[JavaScriptCore] FTL buildfix for EFL platform.
https://bugs.webkit.org/show_bug.cgi?id=133546

Reviewed by Darin Adler.

  • ftl/FTLAbstractHeap.cpp:

(JSC::FTL::IndexedAbstractHeap::IndexedAbstractHeap):

  • ftl/FTLLocation.cpp:

(JSC::FTL::Location::forStackmaps):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::opposite):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLStackMaps.cpp:

(JSC::FTL::StackMaps::Constant::dump):

  • llvm/InitializeLLVMPOSIX.cpp:

(JSC::initializeLLVMPOSIX):

12:27 AM Changeset in webkit [170524] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[GTK] Expose getter and setter functions for attributes named type
https://bugs.webkit.org/show_bug.cgi?id=134300

Reviewed by Martin Robinson.

We skip those because the getter conflicts with the get_type()
function of all GObjects. We should use a different name for them. As
a general rule we use the last word of the class name, something like:

webkit_dom_blob_get_type() -> webkit_dom_blob_get_blob_type()
webkit_dom_event_get_type() -> webkit_dom_event_get_event_type()

It's consistent with other existing DOM methods like
webkit_dom_xpath_result_get_result_type() or webkit_dom_css_value_get_css_value_type().
This patch also adds some exceptions for particular cases.

  • bindings/gobject/webkitdom.symbols: Add new public symbols.
  • bindings/scripts/CodeGeneratorGObject.pm:

(GetFunctionSigName): Helper function to return the function name
that takes into account all exceptions when generating getters and
setters of attributes named type. Otherwise the name is returned unmodified.
(GenerateFunction): Use GetFunctionSigName().
(GenerateFunctions): Do not skip functions for type attributes.

12:18 AM Changeset in webkit [170523] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove unnecessary #include in HistoryController
https://bugs.webkit.org/show_bug.cgi?id=134369

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2014-06-27
Reviewed by Daniel Bates.

After the landing of https://webkit.org/b/130099, HistoryController doesn't need
WebCore::Settings class. So we can remove the related header.

  • loader/HistoryController.cpp:
Note: See TracTimeline for information about the timeline view.