⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jul 14, 2015:

11:43 PM Changeset in webkit [186833] by ryuan.choi@navercorp.com
  • 2 edits in trunk/Source/WebKit2

[CoordinatedGraphics] Possible wrong rendering with scrolling
https://bugs.webkit.org/show_bug.cgi?id=146958

Reviewed by Gyuyoung Kim.

While r174261 fixing build break, there is some mistake that flushes contents layer
instead of overlay layer.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):

11:29 PM Changeset in webkit [186832] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Attempted build fixes.

  • Platform/spi/ios/SafariServicesSPI.h:
10:04 PM Changeset in webkit [186831] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION (r186698): Web Inspector: Frame selector is monospace again
https://bugs.webkit.org/show_bug.cgi?id=146954

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/HierarchicalPathComponent.css:

(.hierarchical-path-component):

9:42 PM Changeset in webkit [186830] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Attempted build fixes.

  • Platform/spi/ios/SafariServicesSPI.h:
9:16 PM Changeset in webkit [186829] by commit-queue@webkit.org
  • 9 edits
    4 adds
    6 deletes in trunk/Source/WebCore

[EFL] Scrollbar is not drawn on MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=143566

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-07-14
Reviewed by Gyuyoung Kim.

Implement the ScrollbarThemeEfl to draw the scrollbar on EFL port.

  • PlatformEfl.cmake: Removed the ScrollbarEfl.cpp.
  • platform/Scrollbar.cpp: Removed the !PLATFORM(EFL) guard to use the createNativeScrollbar().
  • platform/efl/DefaultTheme/CMakeLists.txt: Replaced the image files with new ones.
  • platform/efl/DefaultTheme/widget/scrollbar/scrollbar.edc:
  • platform/efl/DefaultTheme/widget/scrollbar/scrollbar_bg_horizontal.png: Added.
  • platform/efl/DefaultTheme/widget/scrollbar/scrollbar_bg_vertical.png: Added.
  • platform/efl/DefaultTheme/widget/scrollbar/scrollbar_h.png: Removed.
  • platform/efl/DefaultTheme/widget/scrollbar/scrollbar_knob_h.png: Removed.
  • platform/efl/DefaultTheme/widget/scrollbar/scrollbar_knob_v.png: Removed.
  • platform/efl/DefaultTheme/widget/scrollbar/scrollbar_thumb_horizontal.png: Added.
  • platform/efl/DefaultTheme/widget/scrollbar/scrollbar_thumb_vertical.png: Added.
  • platform/efl/DefaultTheme/widget/scrollbar/scrollbar_v.png: Removed.
  • platform/efl/RenderThemeEfl.cpp:

(WebCore::toEdjeGroup):
(WebCore::RenderThemeEfl::paintThemePart): Added the new function to draw the scrollbar

using the RenderThemeEfl.

  • platform/efl/RenderThemeEfl.h:
  • platform/efl/ScrollbarEfl.cpp: Removed.
  • platform/efl/ScrollbarEfl.h: Removed.
  • platform/efl/ScrollbarThemeEfl.cpp: Implemented the default functions to draw the scrollbar.

(WebCore::scrollbarMap):
(WebCore::ScrollbarThemeEfl::~ScrollbarThemeEfl):
(WebCore::ScrollbarThemeEfl::scrollbarThickness):
(WebCore::ScrollbarThemeEfl::hasThumb):
(WebCore::ScrollbarThemeEfl::backButtonRect):
(WebCore::ScrollbarThemeEfl::forwardButtonRect):
(WebCore::ScrollbarThemeEfl::trackRect):
(WebCore::ScrollbarThemeEfl::minimumThumbLength):
(WebCore::ScrollbarThemeEfl::paintTrackBackground):
(WebCore::ScrollbarThemeEfl::paintThumb):
(WebCore::ScrollbarThemeEfl::registerScrollbar):
(WebCore::ScrollbarThemeEfl::unregisterScrollbar):
(WebCore::ScrollbarThemeEfl::loadThemeIfNeeded):

  • platform/efl/ScrollbarThemeEfl.h:

(WebCore::ScrollbarThemeEfl::usesOverlayScrollbars):

7:12 PM Changeset in webkit [186828] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Don't persist history item tree for subframes across reloads.
<https://webkit.org/b/146937>
<rdar://problem/19925709>

Reviewed by Brady Eidson.

Throw away the subframe history items when reloading a page. This ensures that we
don't accumulate outdated frame metadata when subframes change name across page loads.
Since the history item tree is encoded in the UA session state and gets serialized to
disk, it's important that we don't let it grow unbounded.

  • loader/HistoryController.cpp:

(WebCore::HistoryController::updateForReload):

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

REGRESSION (r177876): store.apple.com profile and cart icons are missing
https://bugs.webkit.org/show_bug.cgi?id=146894

Patch by Antti Koivisto <Antti Koivisto> on 2015-07-14
Reviewed by Myles C. Maxfield.

Source/WebCore:

If we had several @font-face rules for the same face covering overlapping ranges we
would only try to get glyphs from the first one. If it didn't have the glyph we wouldn't
try the other ones.

Test: fast/css/font-face-multiple-missing-glyphs.html

  • platform/graphics/FontCascadeFonts.cpp:

(WebCore::FontCascadeFonts::glyphDataForVariant):
(WebCore::FontCascadeFonts::glyphDataForNormalVariant):

Get GlyphData with one call.

  • platform/graphics/FontRanges.cpp:

(WebCore::FontRanges::~FontRanges):
(WebCore::FontRanges::glyphDataForCharacter):

Check that we actually have a glyph in the font for the character before returning it.

(WebCore::FontRanges::fontForCharacter):
(WebCore::FontRanges::fontForFirstRange):

  • platform/graphics/FontRanges.h:

(WebCore::FontRanges::size):
(WebCore::FontRanges::rangeAt):

LayoutTests:

  • fast/css/font-face-multiple-missing-glyphs-expected.html: Added.
  • fast/css/font-face-multiple-missing-glyphs.html: Added.
4:50 PM Changeset in webkit [186826] by andersca@apple.com
  • 6 edits in trunk

Assertions.h should include ExportMacros.h
https://bugs.webkit.org/show_bug.cgi?id=146948

Reviewed by Tim Horton.

Source/JavaScriptCore:

Remove now unneeded WTF_EXPORT_PRIVATE define.

  • API/JSBase.h:

Source/WTF:

  • wtf/Assertions.h:

Tools:

Remove now unneeded WTF_EXPORT_PRIVATE define.

  • DumpRenderTree/cg/ImageDiffCG.cpp:
4:50 PM Changeset in webkit [186825] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the 32 bit build after r186817
https://bugs.webkit.org/show_bug.cgi?id=146947

Changed CGRect to NSRect.

Patch by Wenson Hsieh <Wenson Hsieh> on 2015-07-14
Reviewed by Simon Fraser.

  • platform/mac/ThemeMac.mm:

(WebCore::paintButton):

4:38 PM Changeset in webkit [186824] by Matt Baker
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: TimelineRuler minimum selection time range should be configurable
https://bugs.webkit.org/show_bug.cgi?id=146944

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/RenderingFrameTimelineOverview.js:

Set minimum selection to 1 frame.

  • UserInterface/Views/TimelineOverview.js:

(WebInspector.TimelineOverview.prototype.set selectionDuration):
Use ruler's minimum duration.

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler):
(WebInspector.TimelineRuler.prototype.get minimumSelectionDuration):
(WebInspector.TimelineRuler.prototype.set minimumSelectionDuration):
(WebInspector.TimelineRuler.prototype._handleMouseUp):
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
Added property for setting minimum selection duration. Default minimum duration is 0.01, which is
equal to the old hard-coded minimum selection time range.

4:13 PM Changeset in webkit [186823] by Lucas Forschler
  • 2 edits in trunk/Source/WebKit

Teach platformMac.cmake about El Capitan WKSI.
<rdar://problem/21822469>

Reviewed by Alex Christensen.

  • PlatformMac.cmake:
3:33 PM Changeset in webkit [186822] by basile_clement@apple.com
  • 5 edits in branches/jsc-tailcall/Source/JavaScriptCore

[ES6] Recognize calls in tail position
https://bugs.webkit.org/show_bug.cgi?id=146481

Reviewed by Saam Barati.

This patch adds the capability for the bytecode generator to recognize
and dispatch tail calls, as per ES6 spec:
http://www.ecma-international.org/ecma-262/6.0/#sec-isintailposition

This does not change the generated bytecode, but merely provides the
hook for generating tail calls in subsequent patches toward
https://bugs.webkit.org/show_bug.cgi?id=146477

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitTailCall):
(JSC::BytecodeGenerator::emitTailCallVarargs):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::emitNode):

  • bytecompiler/NodesCodegen.cpp:

(JSC::ConstantNode::emitBytecode):
(JSC::NumberNode::emitBytecode):
(JSC::RegExpNode::emitBytecode):
(JSC::ThisNode::emitBytecode):
(JSC::SuperNode::emitBytecode):
(JSC::ResolveNode::emitBytecode):
(JSC::TemplateStringNode::emitBytecode):
(JSC::TemplateLiteralNode::emitBytecode):
(JSC::TaggedTemplateNode::emitBytecode):
(JSC::ArrayNode::emitBytecode):
(JSC::ObjectLiteralNode::emitBytecode):
(JSC::PropertyListNode::emitBytecode):
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::ArgumentListNode::emitBytecode):
(JSC::NewExprNode::emitBytecode):
(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::BytecodeIntrinsicNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::FunctionCallDotNode::emitBytecode):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::PostfixNode::emitBytecode):
(JSC::DeleteResolveNode::emitBytecode):
(JSC::DeleteBracketNode::emitBytecode):
(JSC::DeleteDotNode::emitBytecode):
(JSC::DeleteValueNode::emitBytecode):
(JSC::VoidNode::emitBytecode):
(JSC::TypeOfResolveNode::emitBytecode):
(JSC::TypeOfValueNode::emitBytecode):
(JSC::PrefixNode::emitBytecode):
(JSC::UnaryOpNode::emitBytecode):
(JSC::BitwiseNotNode::emitBytecode):
(JSC::BinaryOpNode::emitBytecode):
(JSC::EqualNode::emitBytecode):
(JSC::StrictEqualNode::emitBytecode):
(JSC::ThrowableBinaryOpNode::emitBytecode):
(JSC::InstanceOfNode::emitBytecode):
(JSC::LogicalOpNode::emitBytecode):
(JSC::ConditionalNode::emitBytecode):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::ReadModifyDotNode::emitBytecode):
(JSC::AssignErrorNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode):
(JSC::ReadModifyBracketNode::emitBytecode):
(JSC::CommaNode::emitBytecode):
(JSC::ConstDeclNode::emitBytecode):
(JSC::ConstStatementNode::emitBytecode):
(JSC::SourceElements::emitBytecode):
(JSC::BlockNode::emitBytecode):
(JSC::EmptyStatementNode::emitBytecode):
(JSC::DebuggerStatementNode::emitBytecode):
(JSC::ExprStatementNode::emitBytecode):
(JSC::VarStatementNode::emitBytecode):
(JSC::EmptyVarExpression::emitBytecode):
(JSC::IfElseNode::emitBytecode):
(JSC::DoWhileNode::emitBytecode):
(JSC::WhileNode::emitBytecode):
(JSC::ForNode::emitBytecode):
(JSC::ForInNode::emitBytecode):
(JSC::ForOfNode::emitBytecode):
(JSC::ContinueNode::emitBytecode):
(JSC::BreakNode::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::WithNode::emitBytecode):
(JSC::CaseClauseNode::emitBytecode):
(JSC::CaseBlockNode::emitBytecodeForBlock):
(JSC::SwitchNode::emitBytecode):
(JSC::LabelNode::emitBytecode):
(JSC::ThrowNode::emitBytecode):
(JSC::TryNode::emitBytecode):
(JSC::ScopeNode::emitStatementsBytecode):
(JSC::ProgramNode::emitBytecode):
(JSC::EvalNode::emitBytecode):
(JSC::FunctionBodyNode::emitBytecode):
(JSC::FunctionNode::emitBytecode):
(JSC::FuncDeclNode::emitBytecode):
(JSC::FuncExprNode::emitBytecode):
(JSC::ClassDeclNode::emitBytecode):
(JSC::ClassExprNode::emitBytecode):
(JSC::DestructuringAssignmentNode::emitBytecode):
(JSC::SpreadExpressionNode::emitBytecode):

  • parser/Nodes.h:
3:24 PM Changeset in webkit [186821] by andersca@apple.com
  • 7 edits in trunk/Source

Remove wkPopupMenu from WebCoreSystemInterface; it's not called from WebCore
https://bugs.webkit.org/show_bug.cgi?id=146945

Reviewed by Tim Horton.

Source/WebCore:

  • platform/mac/WebCoreSystemInterface.h:

Source/WebKit/mac:

  • WebCoreSupport/PopupMenuMac.mm:

(PopupMenuMac::show):

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Deleted.

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Deleted.

3:06 PM Changeset in webkit [186820] by basile_clement@apple.com
  • 15 edits
    2 deletes in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Get rid of the arity fixup return thunk
https://bugs.webkit.org/show_bug.cgi?id=146847

Reviewed by Michael Saboff.

This removes the arity check fail return thunk since it is now the
caller's responsibility to restore the stack pointer.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGJITCompiler.cpp:
  • ftl/FTLLink.cpp:
  • jit/ArityCheckFailReturnThunks.cpp: Removed.
  • jit/ArityCheckFailReturnThunks.h: Removed.
  • jit/JIT.cpp:
  • jit/ThunkGenerators.cpp:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::setupArityCheckData):

  • runtime/CommonSlowPaths.h:
  • runtime/Options.h:
  • runtime/VM.cpp:
  • runtime/VM.h:
2:56 PM Changeset in webkit [186819] by mmirman@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Repatch. Makes compileArithSub in the DFG ensure that the constant is an int32.
https://bugs.webkit.org/show_bug.cgi?id=146910
rdar://problem/21729083

Reviewed by Filip Pizlo.

Also fixes the debug build problem where all edges are assumed to
have UntypedUse before the fixup phase.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithSub):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validateEdgeWithDoubleResultIfNecessary):

  • tests/stress/arith-add-with-constants.js: Added some tests for this case.

(arithAdd42WrittenAsInteger):
(testArithAdd42WrittenAsInteger):
(arithSub42WrittenAsDouble):
(testArithSub42WrittenAsDouble):
(doubleConstant):
(testDoubleConstant): Added test for the case of +0.0 and Math.min(0.0)
(arithAdd42WrittenAsDouble): Deleted.
(testArithAdd42WrittenAsDouble): Deleted.

2:46 PM Changeset in webkit [186818] by basile_clement@apple.com
  • 2 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Temporarily disable FTL
https://bugs.webkit.org/show_bug.cgi?id=146941

Rubber-stamped by Michael Saboff.

  • runtime/Options.h:
2:39 PM Changeset in webkit [186817] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Input buttons rendered at the wrong size when pinching-to-zoom
https://bugs.webkit.org/show_bug.cgi?id=146916

Patch by Wenson Hsieh <Wenson Hsieh> on 2015-07-14
Reviewed by Dean Jackson.

Scales buttons and their focus rects up when pinching to zoom by painting to an offscreen ImageBuffer which is
then scaled and painted onto the display.

  • platform/Theme.h: Modified signature of Theme::paint.

(WebCore::Theme::paint): Added plumbing necessary to send the device and page scale factors to paintButton.

  • platform/mac/ThemeMac.h: Modified signature of paintButton.
  • platform/mac/ThemeMac.mm: Added ImageBuffer.h header.

(WebCore::buttonFocusRectOutlineWidth): Represents the width of the focus rect of a button. Used by paintButton

to determine the size of the ImageBuffer required to draw a focus rect.

(WebCore::paintButton): Changed to paint button cells and the focus rect, if applicable, to a temporary ImageBuffer

before painting the ImageBuffer onto the view. Refactored to receive a deviceScaleFactor and page scale factor,
used when painting to the ImageBuffer.

(WebCore::ThemeMac::paint): Added plumbing necessary to send the device and page scale factors to paintButton.

  • rendering/RenderTheme.cpp: Modified signature of RenderTheme::paint.

(WebCore::RenderTheme::paint): Added plumbing necessary to send the device and page scale factors to paintButton.

2:19 PM Changeset in webkit [186816] by commit-queue@webkit.org
  • 6 edits
    2 deletes in trunk

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

Caused about 190 layout test failures. (Requested by mlam_ on
#webkit).

Reverted changeset:

"REGRESSION (r177876): store.apple.com profile and cart icons
are missing"
https://bugs.webkit.org/show_bug.cgi?id=146894
http://trac.webkit.org/changeset/186809

2:18 PM Changeset in webkit [186815] by basile_clement@apple.com
  • 6 edits in branches/jsc-tailcall/Source/JavaScriptCore

JavaScript functions should restore the stack pointer after a call
https://bugs.webkit.org/show_bug.cgi?id=146846

Reviewed by Michael Saboff.

This patch makes it so that the DFG and FTL JIT are restoring the stack
pointer after a call and no longer relying on it still being valid.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateDataSection):

  • ftl/FTLJSCall.cpp:

(JSC::FTL::JSCall::emit):

  • ftl/FTLJSCall.h:
2:06 PM Changeset in webkit [186814] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Release assert under StyleResolver::loadPendingImages() caused by MemoryPressureHandler
https://bugs.webkit.org/show_bug.cgi?id=146940
rdar://problem/21605505

Reviewed by Sam Weinig.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::processWillSuspendImminently):

2:05 PM Changeset in webkit [186813] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/misc/large-js-program.php crashes in Release, times out in Debug, on Windows

Fix is tracked by <rdar://problem/21816197>.

  • platform/win/TestExpectations: Mark test as crashing in

Release and timing out on Debug:

  • http/tests/misc/large-js-program.php
1:39 PM Changeset in webkit [186812] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit needs to serialize numeric values in NSError userInfo
<rdar://problem/21818117>
https://bugs.webkit.org/show_bug.cgi?id=146936

Reviewed by Anders Carlsson.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<ResourceError>::encodePlatformData):
Encode userInfo values that are NSNumbers in addition to NSStrings and NSURLs. Decoding
is already handled.

1:18 PM Changeset in webkit [186811] by mmirman@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r186805.

Made raytracer on octane 80% slower

Reverted changeset:

"Makes compileArithSub in the DFG ensure that the constant is
an int32."
https://bugs.webkit.org/show_bug.cgi?id=146910
http://trac.webkit.org/changeset/186805

1:06 PM Changeset in webkit [186810] by Michael Catanzaro
  • 5 edits
    1 copy
    2 adds in trunk/Source/WebKit2

[Linux] SeccompFilters: whitelist all NPAPI plugin directories
https://bugs.webkit.org/show_bug.cgi?id=140067

Reviewed by Žan Doberšek.

  • PlatformEfl.cmake: Build PluginSearchPath.cpp
  • PlatformGTK.cmake: Build PluginSearchPath.cpp
  • Shared/Plugins/unix/PluginSearchPath.cpp: Added.

(WebKit::pluginsDirectories): Moved from PluginInfoStoreUnix.cpp.

  • Shared/Plugins/unix/PluginSearchPath.h: Added.
  • Shared/linux/SeccompFilters/SyscallPolicy.cpp:

(WebKit::SyscallPolicy::addDefaultWebProcessPolicy): Add the entire
plugin search path to the whitelist.

  • UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:

(WebKit::PluginInfoStore::pluginsDirectories): Now gets plugins
directories from PluginSearchPath.cpp

12:50 PM Changeset in webkit [186809] by mmaxfield@apple.com
  • 6 edits
    2 adds in trunk

REGRESSION (r177876): store.apple.com profile and cart icons are missing
https://bugs.webkit.org/show_bug.cgi?id=146894

Patch by Antti Koivisto <Antti Koivisto> on 2015-07-14
Reviewed by Myles C. Maxfield.

Source/WebCore:

If we had several @font-face rules for the same face covering overlapping ranges we
would only try to get glyphs from the first one. If it didn't have the glyph we wouldn't
try the other ones.

Test: fast/css/font-face-multiple-missing-glyphs.html

  • platform/graphics/FontCascadeFonts.cpp:

(WebCore::FontCascadeFonts::glyphDataForVariant):
(WebCore::FontCascadeFonts::glyphDataForNormalVariant):

Get GlyphData with one call.

  • platform/graphics/FontRanges.cpp:

(WebCore::FontRanges::~FontRanges):
(WebCore::FontRanges::glyphDataForCharacter):

Check that we actually have a glyph in the font for the character before returning it.

(WebCore::FontRanges::fontForCharacter):
(WebCore::FontRanges::fontForFirstRange):

  • platform/graphics/FontRanges.h:

(WebCore::FontRanges::size):
(WebCore::FontRanges::rangeAt):

LayoutTests:

  • fast/css/font-face-multiple-missing-glyphs-expected.html: Added.
  • fast/css/font-face-multiple-missing-glyphs.html: Added.
10:37 AM Changeset in webkit [186808] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=146917
iOS WebKit doesn't build.
rdar://problem/21801544

Fix the build - don't use deprecated methods.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-07-14
Reviewed by Dan Bernstein.

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

(-[WKContentView _registerPreviewInWindow:]):
(-[WKContentView _unregisterPreviewInWindow:]):

10:36 AM Changeset in webkit [186807] by commit-queue@webkit.org
  • 4 edits
    15 adds in trunk

[Content Extensions] Fix if-domain and unless-domain when loading main documents.
https://bugs.webkit.org/show_bug.cgi?id=146868

Patch by Alex Christensen <achristensen@webkit.org> on 2015-07-14
Reviewed by Benjamin Poulain.

Source/WebCore:

Tests: http/tests/contentextensions/block-everything-if-domain.html

http/tests/contentextensions/block-everything-unless-domain-iframe.html
http/tests/contentextensions/block-everything-unless-domain-redirect.php
http/tests/contentextensions/block-everything-unless-domain.html

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
If we are loading a new main document, use that main document url as the main document url for domain comparison.

LayoutTests:

  • http/tests/contentextensions/block-everything-if-domain-expected.txt: Added.
  • http/tests/contentextensions/block-everything-if-domain.html: Added.
  • http/tests/contentextensions/block-everything-if-domain.html.json: Added.
  • http/tests/contentextensions/block-everything-unless-domain-expected.txt: Added.
  • http/tests/contentextensions/block-everything-unless-domain-iframe-expected.txt: Added.
  • http/tests/contentextensions/block-everything-unless-domain-iframe.html: Added.
  • http/tests/contentextensions/block-everything-unless-domain-iframe.html.json: Added.
  • http/tests/contentextensions/block-everything-unless-domain-redirect-expected.txt: Added.
  • http/tests/contentextensions/block-everything-unless-domain-redirect.php: Added.
  • http/tests/contentextensions/block-everything-unless-domain-redirect.php.json: Added.
  • http/tests/contentextensions/block-everything-unless-domain.html: Added.
  • http/tests/contentextensions/block-everything-unless-domain.html.json: Added.
  • http/tests/contentextensions/main-resource-redirect-blocked-expected.txt:
  • http/tests/contentextensions/resources/block-everything-unless-domain-helper.html: Added.
  • http/tests/contentextensions/resources/should-load.html: Added.
  • http/tests/contentextensions/resources/should-not-load.html: Added.
10:26 AM Changeset in webkit [186806] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=146909
Add actions for default link preview that uses SFSafariViewController.

Use the new private properties to prepare actions for the default link preview controller.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-07-14
Reviewed by Dan Bernstein.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView previewViewControllerForPosition:inSourceView:]):

10:24 AM Changeset in webkit [186805] by mmirman@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Makes compileArithSub in the DFG ensure that the constant is an int32.
https://bugs.webkit.org/show_bug.cgi?id=146910
rdar://problem/21729083

Reviewed by Filip Pizlo.

Also fixes the debug build problem where all edges are assumed to
have UntypedUse before the fixup phase.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithSub):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validateEdgeWithDoubleResultIfNecessary):

  • tests/stress/arith-add-with-constants.js: Added some tests for this case.

(arithAdd42WrittenAsInteger):
(testArithAdd42WrittenAsInteger):
(arithSub42WrittenAsDouble):
(testArithSub42WrittenAsDouble):
(doubleConstant):
(testDoubleConstant): Added test for the case of +0.0 and Math.min(0.0)
(arithAdd42WrittenAsDouble): Deleted.
(testArithAdd42WrittenAsDouble): Deleted.

9:16 AM Changeset in webkit [186804] by matthew_hanson@apple.com
  • 14 edits in branches/safari-600.1.4.17-branch/Source/WebKit2

Merged r185877.

8:58 AM Changeset in webkit [186803] by weinig@apple.com
  • 15 edits
    17 adds in trunk

DOM4: prepend, append, before, after & replace
https://bugs.webkit.org/show_bug.cgi?id=74648

Reviewed by Darin Adler.

Source/WebCore:

  • Adds support for ChildNode.before/after/replaceWith and ParentNode.prepend/append which are new functions in https://dom.spec.whatwg.org
  • Uses custom bindings rather than implementing support for union types in the code generator as their uses seems isolated to just this spec at the moment. If more uses come along, we should implement proper support for them in the generator and remove the custom bindings added here.

Tests: fast/dom/ChildNode-after.html

fast/dom/ChildNode-before.html
fast/dom/ChildNode-replaceWith.html
fast/dom/ParentNode-append.html
fast/dom/ParentNode-prepend.html

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:

Add new files.

  • bindings/js/JSCharacterDataCustom.cpp: Added.

(WebCore::JSCharacterData::before):
(WebCore::JSCharacterData::after):
(WebCore::JSCharacterData::replaceWith):

  • bindings/js/JSDocumentCustom.cpp:

(WebCore::JSDocument::prepend):
(WebCore::JSDocument::append):
(WebCore::JSDocument::createTouchList):

  • bindings/js/JSDocumentFragmentCustom.cpp: Added.

(WebCore::JSDocumentFragment::prepend):
(WebCore::JSDocumentFragment::append):

  • bindings/js/JSDocumentTypeCustom.cpp: Added.

(WebCore::JSDocumentType::before):
(WebCore::JSDocumentType::after):
(WebCore::JSDocumentType::replaceWith):

  • bindings/js/JSElementCustom.cpp:

(WebCore::toJSNewlyCreated):
(WebCore::JSElement::before):
(WebCore::JSElement::after):
(WebCore::JSElement::replaceWith):
(WebCore::JSElement::prepend):
(WebCore::JSElement::append):
Add custom bindings to implement the use of variadic union types.

  • bindings/js/JSNodeOrString.cpp: Added.

(WebCore::toNodeOrStringVector):

  • bindings/js/JSNodeOrString.h: Added.

Adds a help function for converting an JS argument list into a Vector
of NodeOrString objects.

  • dom/ChildNode.idl:

Expose before/after/replaceWith to JavaScript.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::append):
(WebCore::ContainerNode::prepend):

  • dom/ContainerNode.h:

Add implementations of append and prepend.

  • dom/Node.h:
  • dom/Node.cpp:

(WebCore::nodeSetPreTransformedFromNodeOrStringVector):
(WebCore::firstPrecedingSiblingNotInNodeSet):
(WebCore::firstFollowingSiblingNotInNodeSet):
Helper functions for before, after and removeWith.

(WebCore::Node::before):
(WebCore::Node::after):
(WebCore::Node::replaceWith):
Add implementations of before, after and removeWith.

  • dom/NodeOrString.cpp: Added.

(WebCore::convertNodesOrStringsIntoNode):

  • dom/NodeOrString.h: Added.

(WebCore::NodeOrString::NodeOrString):
(WebCore::NodeOrString::~NodeOrString):
(WebCore::NodeOrString::type):
(WebCore::NodeOrString::node):
(WebCore::NodeOrString::string):
Custom union type representing the (Node or DOMString) IDL type.

  • dom/ParentNode.idl:

Expose append/prepend to JavaScript.

LayoutTests:

  • fast/dom/ChildNode-after-expected.txt: Added.
  • fast/dom/ChildNode-after.html: Added.
  • fast/dom/ChildNode-before-expected.txt: Added.
  • fast/dom/ChildNode-before.html: Added.
  • fast/dom/ChildNode-replaceWith-expected.txt: Added.
  • fast/dom/ChildNode-replaceWith.html: Added.
  • fast/dom/ParentNode-append-expected.txt: Added.
  • fast/dom/ParentNode-append.html: Added.
  • fast/dom/ParentNode-prepend-expected.txt: Added.
  • fast/dom/ParentNode-prepend.html: Added.
8:35 AM Changeset in webkit [186802] by Michael Catanzaro
  • 3 edits in trunk/Source/WebKit2

[Linux] SeccompFilters: whitelist source directory on all ports
https://bugs.webkit.org/show_bug.cgi?id=140066

Reviewed by Žan Doberšek.

Move this from EFL to port-independent code.

  • Shared/linux/SeccompFilters/SyscallPolicy.cpp:

(WebKit::SyscallPolicy::addDefaultWebProcessPolicy):

  • WebProcess/efl/SeccompFiltersWebProcessEfl.cpp:

(WebKit::SeccompFiltersWebProcessEfl::platformInitialize):

1:53 AM Changeset in webkit [186801] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

[GTK] Add a runtime check for X11 display in webkitWebViewBaseExitAcceleratedCompositingMode()
https://bugs.webkit.org/show_bug.cgi?id=146711

Reviewed by Carlos Garcia Campos.

webkitWebViewBaseExitAcceleratedCompositingMode() is already guarded with
X11 build guards, but it should also do a runtime check that the program
is running under an X11 display before proceeding.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDidRelaunchWebProcess):

1:46 AM Changeset in webkit [186800] by clopez@igalia.com
  • 4 edits in trunk

[GTK] [Wayland] Build by default the X11 and Wayland targets.
https://bugs.webkit.org/show_bug.cgi?id=146057

Reviewed by Carlos Garcia Campos.

.:

  • Source/cmake/OptionsGTK.cmake:

Tools:

  • gtk/install-dependencies:

Jul 13, 2015:

6:58 PM Changeset in webkit [186799] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix.

  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:

(WebCore::InbandTextTrackPrivateAVCF::readNativeSampleBuffer): Don't try to build
the new Legible Output API features if they aren't available in the build
environment.

6:11 PM Changeset in webkit [186798] by Brent Fulgham
  • 7 edits in trunk/Source/WebCore

[Win] Update Media Player logic for new Legible Output API
https://bugs.webkit.org/show_bug.cgi?id=146922
<rdar://problem/20542574>

Reviewed by Eric Carlson.

  • AVFoundationSupport.py: Check for updated AVFCF feature.
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processNativeSamples): Update to call the
new 'readNativeSampleBuffer' method.
(WebCore::InbandTextTrackPrivateAVF::readNativeSampleBuffer): Added. This is a no-op
on Windows if it has the new AVCF API. Otherwise, it contains the same implementation
that has always been used in 'processNativeSamples'.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:

(WebCore::InbandTextTrackPrivateAVCF::readNativeSampleBuffer): Added. Use the new
Legible Output API instead of the old CoreMedia solution if it is available.

  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h:

(WebCore::InbandTextTrackPrivateAVCF::mediaSelectionOption):

  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.cpp:

(WebCore::InbandTextTrackPrivateLegacyAVCF::readNativeSampleBuffer): Add a stub implementation.

  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.h:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::createPlayerItem): Use the new Legible Output API if it is available.

5:10 PM Changeset in webkit [186797] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Fix a typo.

  • public/js/helper-classes.js:
4:53 PM Changeset in webkit [186796] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught exception in inspector for some ConsoleMessages
https://bugs.webkit.org/show_bug.cgi?id=146919

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-13
Reviewed by Brian Burg.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView.prototype._appendLocationLink):
The parameters list may not exist, so null check it before use.

4:27 PM Changeset in webkit [186795] by basile_clement@apple.com
  • 14 edits in trunk

Object cycles should not prevent allocation elimination/sinking
https://bugs.webkit.org/show_bug.cgi?id=143073

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This patch introduces a new allocation sinking phase that is able to
sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase
supersedes the old allocation sinking phase in
DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never
able to sink allocation cycles while the new phase sometimes can; see
DFGAllocationCycleSinkingPhase.cpp for details.

For now, the new sinking phase is kept behind a
JSC_enableAllocationCycleSinking flag that reverts to the old sinking
phase when false (i.e., by default). This also removes the old
JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests
defaults to using the new sinking phase.

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::addStructureSet): Allow empty structure sets

  • dfg/DFGLazyNode.cpp:

(JSC::DFG::LazyNode::dump): Prettier dump

  • dfg/DFGNode.h:

(JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation
(JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject
(JSC::DFG::Node::objectMaterializationData): Move to opInfo2

  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header
  • dfg/DFGObjectAllocationSinkingPhase.cpp:

(JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted.
(JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted.
(JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted.
(JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted.
(JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted.
(JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted.
(JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted.
(JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted.
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted.
(JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted.
(JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted.

  • dfg/DFGObjectAllocationSinkingPhase.h:
  • dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor

(JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor):
(JSC::DFG::PromotedLocationDescriptor::operator bool):
(JSC::DFG::PromotedLocationDescriptor::neededForMaterialization):
(JSC::DFG::PromotedLocationDescriptorHash::hash):
(JSC::DFG::PromotedLocationDescriptorHash::equal):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand
(JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child

  • ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles

(JSC::FTL::compileStub):

  • ftl/FTLOperations.cpp: Handle materialization cycles

(JSC::FTL::operationPopulateObjectInOSR):
(JSC::FTL::operationMaterializeObjectInOSR):

  • ftl/FTLOperations.h: Handle materialization cycles
  • tests/stress/correctly-sink-object-even-though-it-dies.js: Added.

(clobber):
(foo):

  • tests/stress/eliminate-object-read-over-call.js: Added.

(clobber):
(foo):

  • tests/stress/materialize-object-on-edge.js: Added.

(call):
(foo):

  • tests/stress/object-sinking-stress.js: Added.

(foo):

  • tests/stress/sink-object-cycle.js: Added.

(clobber):
(foo):

  • tests/stress/sink-object-past-put.js: Added.

(clobber):
(foo):

  • tests/stress/sinkable-new-object-in-loop.js: Added.

(foo):

LayoutTests:

Add a few microbenchmarks that show performance improvement when
sinking or elimininating object cycles.

  • js/regress/elidable-new-object-cycle-expected.txt: Added.
  • js/regress/elidable-new-object-cycle.html: Added.
  • js/regress/script-tests/elidable-new-object-cycle.js: Added.

(sumOfArithSeries):
(foo):

  • js/regress/script-tests/sinkable-closure-cycle.js: Added.

(factorial.f):
(factorial):

  • js/regress/script-tests/sinkable-new-object-cycle.js: Added.

(sumOfArithSeries):
(verify):
(foo):

  • js/regress/sinkable-closure-cycle-expected.txt: Added.
  • js/regress/sinkable-closure-cycle.html: Added.
  • js/regress/sinkable-new-object-cycle-expected.txt: Added.
  • js/regress/sinkable-new-object-cycle.html: Added.
4:11 PM Changeset in webkit [186794] by dbates@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Cleanup: Avoid extraneous increment and decrement of reference count of ScriptArguments in ConsoleClient
https://bugs.webkit.org/show_bug.cgi?id=146920

Reviewed by Brian Burg.

Remove local variable RefPtr<ScriptArguments> and copy constructor call with an argument that
was initialized with an rvalue reference. The argument itself is an lvalue reference.

  • runtime/ConsoleClient.cpp:

(JSC::ConsoleClient::printConsoleMessageWithArguments):
(JSC::ConsoleClient::internalMessageWithTypeAndLevel):

4:06 PM Changeset in webkit [186793] by ddkilzer@apple.com
  • 6 edits
    12 adds in branches/safari-600.1.4.17-branch

Merge r186663. rdar://problem/21708241

4:00 PM Changeset in webkit [186792] by basile_clement@apple.com
  • 21 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Clean up register naming
https://bugs.webkit.org/show_bug.cgi?id=146849

Reviewed by Michael Saboff.

This changes register naming conventions in the llint and baseline JIT
in order to use as few (native) callee-save registers as possible on
64-bits platforms. It also introduces significant changes in the way
registers names are defined in the LLint and baseline JIT in order to
enable a simpler convention about which registers can be aliased that
is valid across all architecture, and described in
llint/LowLevelInterpreter.asm.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileFunction):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • jit/FPRInfo.h:

(JSC::FPRInfo::toRegister):
(JSC::FPRInfo::toIndex):

  • jit/GPRInfo.h:

(JSC::GPRInfo::toIndex):
(JSC::GPRInfo::toRegister):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_mod):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_loop_hint):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_end):
(JSC::JIT::emit_op_new_object):

  • jit/RegisterPreservationWrapperGenerator.cpp:

(JSC::generateRegisterPreservationWrapper):
(JSC::generateRegisterRestoration):

  • jit/ThunkGenerators.cpp:

(JSC::arityFixupGenerator):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/arm.rb:
  • offlineasm/arm64.rb:
  • offlineasm/cloop.rb:
  • offlineasm/mips.rb:
  • offlineasm/registers.rb:
  • offlineasm/sh4.rb:
  • offlineasm/x86.rb:
3:51 PM Changeset in webkit [186791] by mrajca@apple.com
  • 12 edits
    1 move in trunk/Source

Media Session: add plumbing for delivering start/end-of-interruption events
https://bugs.webkit.org/show_bug.cgi?id=146837

Reviewed by Tim Horton.

WebCore:

  • Modules/mediasession/MediaSessionEvents.h: Renamed from MediaEventTypes.h and added new constants for interruption events.
  • WebCore.xcodeproj/project.pbxproj: Renamed MediaEventTypes.h.
  • page/Page.h: Added stub.
  • page/Page.cpp: Added stub.

WebKit2: Added plumbing.

  • UIProcess/API/C/WKPage.cpp:

(WKPageHandleMediaSessionInterruptionEvent):

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleMediaSessionInterruptionEvent):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::handleMediaSessionInterruptionEvent):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
3:38 PM Changeset in webkit [186790] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.17-branch/LayoutTests

Merge r186542. rdar://problem/21708151

3:28 PM Changeset in webkit [186789] by bshafiei@apple.com
  • 4 edits in tags/Safari-601.1.40/Source

Merged r186777. rdar://problem/21789252

3:26 PM Changeset in webkit [186788] by bshafiei@apple.com
  • 4 edits in branches/safari-601.1-branch/Source

Merged r186777. rdar://problem/21789252

3:24 PM Changeset in webkit [186787] by bshafiei@apple.com
  • 4 edits in tags/Safari-601.1.39.2/Source

Merged r186777. rdar://problem/21789252

3:24 PM Changeset in webkit [186786] by Simon Fraser
  • 5 edits in trunk/Source

[iOS WK2] When choosing an initial viewport scale, take overflow on the <body> into account
https://bugs.webkit.org/show_bug.cgi?id=146918
rdar://problem/9222837

Reviewed by Tim Horton.

Use as input to the viewport scaling algorithm a contents size from the FrameView
that takes overflow on the viewport renderer into account. This prevents unexpected
viewports scaling on pages that have content that overflows their expressed contents size,
but apply overflow to the <body>.

Source/WebCore:

  • page/FrameView.cpp:

(WebCore::FrameView::contentsSizeRespectingOverflow): Look for overflow:hidden on each axis of
the m_viewportRenderer, which is computed post-layout by calculateScrollbarModesForLayout()
and is used for scrollbar logic on OS X. Clip unscaledDocumentRect on each axis, and then
apply page scale.

  • page/FrameView.h:

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::mainFrameDidLayout): Use contentsSizeRespectingOverflow(),
rather than raw contentsSize(), to determine scaling.

3:16 PM Changeset in webkit [186785] by ddkilzer@apple.com
  • 6 edits in branches/safari-600.1.4.17-branch/Source/WebKit2

Merge r186531. rdar://problem/21708155

3:09 PM Changeset in webkit [186784] by fpizlo@apple.com
  • 2 edits in trunk/PerformanceTests

Update JetStream version number to 1.1.

Rubber stamped by Ryosuke Niwa.

  • JetStream/create.rb:
3:09 PM Changeset in webkit [186783] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.39.2/Source

Versioning.

3:05 PM Changeset in webkit [186782] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.39.2

New tag.

2:48 PM Changeset in webkit [186781] by ddkilzer@apple.com
  • 13 edits
    1 add in branches/safari-600.1.4.17-branch/Source

Merge r186530. rdar://problem/21708151

2:40 PM Changeset in webkit [186780] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Update WebCore Features.json
https://bugs.webkit.org/show_bug.cgi?id=146914

Reviewed by Benjamin Poulain.

  • features.json: Update with notes for CSS Scroll Snap Points, Filter Effects,

backdrop-filters, and initial-letter.

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

Fixed the build.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _registerPreviewInWindow:]):
(-[WKContentView _unregisterPreviewInWindow:]):

1:50 PM Changeset in webkit [186778] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

Removed now-unused SPI -[WKWebView _loadRequest:withOptions:].

Rubber-stamped by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _loadRequest:withOptions:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
1:44 PM Changeset in webkit [186777] by andersca@apple.com
  • 4 edits in trunk/Source

Apps linked with a deployment target of iOS 7.x or earlier crash when using modern WebKit API
https://bugs.webkit.org/show_bug.cgi?id=146913
rdar://problem/21789252

Reviewed by Dan Bernstein.

Source/JavaScriptCore:

Make a top-level symlink from /System/Library/PrivateFrameworks/JavaScriptCore.framework to
/System/Library/Frameworks/JavaScriptCore.framework.

Source/WebKit2:

Make a top-level symlink from /System/Library/PrivateFrameworks/WebKit.framework to
/System/Library/Frameworks/WebKit.framework.

  • WebKit2.xcodeproj/project.pbxproj:
1:10 PM Changeset in webkit [186776] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

If Watchpoint::fire() looks at the state of the world, it should definitely see its set invalidated, and maybe it should see the object of interest in the transitioned-to state
https://bugs.webkit.org/show_bug.cgi?id=146897

Reviewed by Mark Lam.

The idea is to eventually support adaptive watchpoints. An adaptive watchpoint will be
able to watch for a condition that is more fine-grained than any one watchpoint set. For
example, we might watch a singleton object to see if it ever acquires a property called
"foo". So long as it doesn't have such a property, we don't want to invalidate any code.
But if it gets that property, then we should deoptimize. Current watchpoints will
invalidate code as soon as any property is added (or deleted), because they will use the
transition watchpoint set of the singleton object's structure, and that fires anytime
there is any transition.

An adaptive watchpoint would remember the singleton object, and when it got fired, it
would check if the object's new structure has the property "foo". If not, it would check
if the object's new structure is watchable (i.e. has a valid transition watchpoint set).
If the property is missing and the structure is watchable, it would add itself to the
watchpoint set of the new structure. Otherwise, it would deoptimize.

There are two problems with this idea, and this patch fixes these problems. First, we
usually fire the transition watchpoint before we do the structure transition. This means
that if the fire() method looked at the singleton object's structure, it would see the old
structure, not the new one. It would have no way of knowing what the new structure is.
Second, inside the fire() method, the watchpoint set being invalidated still appears
valid, since we change the state after we fire all watchpoints.

This patch addresses both issues. Now, in the most important case (addPropertyTransition),
we fire the watchpoint set after we have modified the object. This is accomplished using
a deferral scope called DeferredStructureTransitionWatchpointFire. In cases where there is
no deferral, the adaptive watchpoint will conservatively resort to deoptimization because
it would find that the singleton object's structure is no longer watchable. This is
because in the absence of deferral, the singleton object would still have the original
structure, but that structure's watchpoint set would now report itself as having been
invalidated.

  • bytecode/Watchpoint.cpp:

(JSC::WatchpointSet::fireAllSlow): Change the state of the set before firing all watchpoints.
(JSC::WatchpointSet::fireAllWatchpoints):

  • runtime/JSObject.h:

(JSC::JSObject::putDirectInternal): Use the deferral scope.

  • runtime/Structure.cpp:

(JSC::Structure::Structure): Pass the deferral scope to didTransitionFromThisStructure.
(JSC::Structure::addPropertyTransition): Pass the deferral scope to create().
(JSC::StructureFireDetail::dump): This is no longer anonymous.
(JSC::DeferredStructureTransitionWatchpointFire::DeferredStructureTransitionWatchpointFire): Start with a null structure.
(JSC::DeferredStructureTransitionWatchpointFire::~DeferredStructureTransitionWatchpointFire): Fire the watchpoint if there is a structure.
(JSC::DeferredStructureTransitionWatchpointFire::add): Add a structure. Logically this is a list of deferred things, but we assert that there only will be one (happens to be true now).
(JSC::Structure::didTransitionFromThisStructure): Defer the watchpoint firing if there is a deferral scope.

  • runtime/Structure.h:

(JSC::StructureFireDetail::StructureFireDetail): Move this to the header.

  • runtime/StructureInlines.h:

(JSC::Structure::create): Pass the deferral scope to the constructor.

1:07 PM Changeset in webkit [186775] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.40/Source/WebKit2

Merged r186770. rdar://problem/21686508

1:05 PM Changeset in webkit [186774] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r186770. rdar://problem/21686508

1:04 PM Changeset in webkit [186773] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.39.0.2/Source/WebKit2

Merged r186770. rdar://problem/21686508

1:02 PM Changeset in webkit [186772] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.39.0.2/Source

Versioning.

12:58 PM Changeset in webkit [186771] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.39.0.2

New tag.

12:54 PM Changeset in webkit [186770] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Silverlight causes tabs to hang
https://bugs.webkit.org/show_bug.cgi?id=146912
rdar://problem/21686508

Reviewed by Sam Weinig.

Make sure to link production builds of the legacy plug-in process against the shim on 10.11 and newer.

  • Configurations/PluginProcess.xcconfig:
12:50 PM Changeset in webkit [186769] by Brent Fulgham
  • 10 edits in trunk/Source/WebCore

Change MediaPlayer Media Stream method signatures to use references
https://bugs.webkit.org/show_bug.cgi?id=146839
<rdar://problem/21769035>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-13
Reviewed by Darin Adler.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::loadWithNextMediaEngine):

  • platform/graphics/MediaPlayerPrivate.h: Changed to references
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load): Ditto

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::load): Ditto

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
12:11 PM Changeset in webkit [186768] by clopez@igalia.com
  • 2 edits in trunk/Source/WebCore

GTK] Build race with -DENABLE_WAYLAND_TARGET=ON
https://bugs.webkit.org/show_bug.cgi?id=146740

Reviewed by Martin Robinson.

No new tests, no behavior changes.

  • PlatformGTK.cmake: platform/graphics/wayland sources should be

included into WebCore source list instead of WebCorePlatformGTK.
Also move the add_custom_command() block into if(ENABLE_WAYLAND_TARGET),
this is not strictly needed to fix this bug, but it seems cleaner.

12:03 PM Changeset in webkit [186767] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Use -apple-system-monospaced-numbers for line numbers
https://bugs.webkit.org/show_bug.cgi?id=146898

Reviewed by Timothy Hatcher.

  • UserInterface/Views/CodeMirrorOverrides.css:

(.CodeMirror .CodeMirror-linenumber): Decrease font-size by 1px to make 4 digit numbers fit.

10:59 AM Changeset in webkit [186766] by commit-queue@webkit.org
  • 2 edits
    4 adds in trunk/Source/WebCore

Adding MediaStream Engine building blocks to the code repo
https://bugs.webkit.org/show_bug.cgi?id=146789
<rdar://problem/21747025>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-13
Reviewed by Brent Fulgham.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h: Added.

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setLoadingProgresssed):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setHasAvailableVideoFrame):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::createWeakPtr):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm: Added.

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::~MediaPlayerPrivateMediaStreamAVFObjC):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::registerMediaEngine):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::isAvailable):
(WebCore::mimeTypeCache):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::getSupportedTypes):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::supportsType):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::cancelLoad):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::prepareToPlay):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::platformMedia):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::platformLayer):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::playInternal):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pause):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pauseInternal):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paused):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVolume):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::supportsScanning):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setMuted):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::naturalSize):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasVideo):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasAudio):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVisible):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::durationMediaTime):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::seeking):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setRateDouble):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setPreservesPitch):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::networkState):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::readyState):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::seekable):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::minMediaTimeSeekable):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::buffered):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::didLoadingProgress):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setSize):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasAvailableVideoFrame):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::supportsAcceleratedRendering):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::movieLoadType):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::prepareForRendering):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::engineDescription):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::languageOfPrimaryAudioTrack):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::shouldBePlaying):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::addDisplayLayer):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::removeDisplayLayer):

  • platform/graphics/avfoundation/objc/MediaStreamPrivateAVFObjC.h: Added.
  • platform/graphics/avfoundation/objc/MediaStreamPrivateAVFObjC.mm: Added.

(WebCore::MediaStreamPrivateAVFObjC::create):
(WebCore::MediaStreamPrivateAVFObjC::MediaStreamPrivateAVFObjC):
(WebCore::MediaStreamPrivateAVFObjC::~MediaStreamPrivateAVFObjC):
(WebCore::MediaStreamPrivateAVFObjC::duration):
(WebCore::MediaStreamPrivateAVFObjC::buffered):
(WebCore::MediaStreamPrivateAVFObjC::readyState):
(WebCore::MediaStreamPrivateAVFObjC::hasAudio):
(WebCore::MediaStreamPrivateAVFObjC::hasVideo):
(WebCore::MediaStreamPrivateAVFObjC::naturalSize):

  • platform/mediastream/MediaStreamPrivate.h:

(WebCore::MediaStreamPrivate::MediaStreamPrivate): Added constructor.

10:17 AM Changeset in webkit [186765] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Skip failing table-related AX tests
https://bugs.webkit.org/show_bug.cgi?id=146903

  • platform/win/TestExpectations:
9:54 AM Changeset in webkit [186764] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS] Cancel AirPlay explicitly when exiting from full screen
https://bugs.webkit.org/show_bug.cgi?id=146902
<rdar://problem/20923632>

Reviewed by Brent Fulgham.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::~WebVideoFullscreenInterfaceAVKit): Call setExternalPlayback(false)

if playing to an external screen.

9:25 AM Changeset in webkit [186763] by ddkilzer@apple.com
  • 28 edits
    4 adds in branches/safari-600.1.4.17-branch

Merge r186476. rdar://problem/21708269

8:42 AM Changeset in webkit [186762] by Michael Catanzaro
  • 3 edits in trunk/Source/WebKit2

[Linux] SeccompFilters: handle alternate install prefixes
https://bugs.webkit.org/show_bug.cgi?id=140065

Reviewed by Žan Doberšek.

If the install prefix is something other than /usr, e.g. /usr/local or
~/jhbuild/install, then we want to make sure to allow libraries and data
from that prefix.

  • PlatformEfl.cmake:
  • Shared/linux/SeccompFilters/SyscallPolicy.cpp:

(WebKit::SyscallPolicy::addDefaultWebProcessPolicy):

6:15 AM WebKitGTK/2.8.x edited by Michael Catanzaro
Propose r186761 -- this is a good patch! (diff)
12:44 AM Changeset in webkit [186761] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Contents not correctly laid out when the web view is not realized
https://bugs.webkit.org/show_bug.cgi?id=142532

Reviewed by Darin Adler.

The problem is that we are not reporting any size until the web
view is realized, so any web view loaded in a separate tab in the
browser, will report 0x0 as the window.innerWidth,
window.innerHeight until the view is realized. Websites that use
the window.innerWidth/innerHeight during the page load to decide
how to lay out the contents will be rendered wrongly.
I haven't been able to reproduce this with unit tests, as this
requires the particular case of same window but different web
views using tabs for example.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::viewSize): Always report the drawing area
size to make usre it's in sync with the WebProcess page size.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseSizeAllocate): Remove the optimization of only
report the size when it has changed, since both the redirected
window and the drawing area already do that check. Also remove the
optimization of waiting until the view is mapped to report its
size, since that's often too late for websites using the window
size during load.
(webkitWebViewBaseMap): Never report size on map, it should have
already been reported by size-allocate.

12:13 AM Changeset in webkit [186760] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1-branch/Source

Versioning.

12:11 AM Changeset in webkit [186759] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.40

New tag.

Note: See TracTimeline for information about the timeline view.