Timeline


and

10/31/14: Today

16:25 Changeset [175435] by cdumez@apple.com
  • 8 edits in trunk/Source/WebCore

Fix several warnings reported by clang static analyzer in WebCore
https://bugs.webkit.org/show_bug.cgi?id=138258

Reviewed by Joseph Pecoraro.

Fix several warnings reported by clang static analyzer in WebCore
related to variable unnecessary assignments and scope.

No new tests, no behavior change.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::getUpperLeftCorner):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • inspector/InspectorStyleTextEditor.cpp:

(WebCore::InspectorStyleTextEditor::replaceProperty):

  • page/ContextMenuController.cpp:

(WebCore::openNewWindow):

  • page/DragController.cpp:

(WebCore::createMouseEvent):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paintSelectionBackground):

16:21 Changeset [175434] by simon.fraser@apple.com
  • 2 edits in trunk/Source/WebCore

Whitespace cleanup in Screen.h
https://bugs.webkit.org/show_bug.cgi?id=138265

Reviewed by Chris Dumez.

No indent for namespaces. Mark 'final'. Fix * placement.

  • page/Screen.h:

(WebCore::Screen::create):

16:14 Changeset [175433] by simon.fraser@apple.com
  • 2 edits in trunk/Source/WebCore

Change the ScrollingThread code to use RunLoop::main().dispatch() rather than callOnMainThread(), which has Obj-C overhead
https://bugs.webkit.org/show_bug.cgi?id=138263

Reviewed by Geoffrey Garen.

callOnMainThread() uses -performSelector:onMainThread:withObject:waitUntilDone:, so
it's slightly more efficient to use RunLoop::main().dispatch().

  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::invalidate):
(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
(WebCore::ThreadedScrollingTree::handleWheelEventPhase):

16:10 Changeset [175432] by benjamin@webkit.org
  • 3 edits
    6 adds in trunk

Pseudo classes with an escaped parenthesis generate invalid rules
https://bugs.webkit.org/show_bug.cgi?id=138266

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-10-31
Reviewed by Antti Koivisto.

Source/WebCore:

Since the functional pseudo classes are part of the list of PseudoClassAndCompatibilityElement,
they could be created by the rule

pseudo:

':' IDENT

if the parenthesis is escaped. For example, with ":not
(", the IDENT would be
"not(", CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector would
find a pseudo class type of PseudoClassNot, and the action would create an invalid
CSSSelector for a :not() without nested selector.

This patch fixes the issue by detecting the function case in
CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector().

An other solution would be to split PseudoClassAndCompatibilityElement into simple pseudo class
and functional pseudo classes. We may do that some day but at the moment it is a lot of work with
a little benefit.

Tests: fast/css/crash-on-incomplete-webkit-any.html

fast/css/pseudo-escaped-parenthesis.html
fast/selectors/invalid-functional-pseudo-class.html

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector):

LayoutTests:

  • fast/selectors/invalid-functional-pseudo-class-expected.txt: Added.
  • fast/selectors/invalid-functional-pseudo-class.html: Added.

New test for all the functional pseudo classes.

  • fast/css/crash-on-incomplete-webkit-any-expected.txt: Added.
  • fast/css/crash-on-incomplete-webkit-any.html: Added.
  • fast/css/pseudo-escaped-parenthesis-expected.txt: Added.
  • fast/css/pseudo-escaped-parenthesis.html: Added.

Those tests come from blink. Rune solved the same problem a year ago on blink
in https://chromiumcodereview.appspot.com/23710067
The patch is quite different because blink uses an ancient code base, but the tests
can still be useful so I included them here.

16:09 Changeset [175431] by lforschler@apple.com
  • 1 copy in tags/Safari-601.1.7

New Tag.

16:07 Changeset [175430] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebKit2

[WK2] Send origin & deletion requests to WebProcessess in additon to the DatabaseProcess.
https://bugs.webkit.org/show_bug.cgi?id=138212

Reviewed by Brady Eidson.

Now that the WebProcess has its own WebOriginDataManager, WebOriginDataManagerProxy needs to
send its origin and deletion messages to all the WebProcesses. This necessetates synchronizing
all the various process's callbacks so that the final callback is only triggered once all the
messaged processes reply.

Add a simple class, CallbackSynchronizer, which will keep track of outstanding process callbacks
and which will trigger the final callback once all of them finish.

  • UIProcess/WebOriginDataManagerProxy.cpp:

(WebKit::CallbackSynchronizer::create):
(WebKit::CallbackSynchronizer::~CallbackSynchronizer):
(WebKit::CallbackSynchronizer::taskStarted):
(WebKit::CallbackSynchronizer::taskCompleted):
(WebKit::CallbackSynchronizer::CallbackSynchronizer):
(WebKit::createSynchronizedCallback):
(WebKit::sendMessageToAllProcessesInContext):
(WebKit::WebOriginDataManagerProxy::getOrigins):
(WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):
(WebKit::WebOriginDataManagerProxy::deleteEntriesModifiedBetweenDates):
(WebKit::WebOriginDataManagerProxy::deleteAllEntries):

Drive-by fix: check the correct enum value for WebMedia origin requests.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::getOrigins):
(WebKit::WebProcess::deleteEntriesForOrigin):
(WebKit::WebProcess::deleteEntriesModifiedBetweenDates):
(WebKit::WebProcess::deleteAllEntries):

15:42 Changeset [175429] by dburkart@apple.com
  • 13 edits in branches/safari-600.3-branch/Source/WebKit2

Re-Merge r174369. rdar://problem/18813684

14:49 Changeset [175428] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r175376): Occasional null deref when doing a dictionary lookup
https://bugs.webkit.org/show_bug.cgi?id=138261
<rdar://problem/18841709>

Reviewed by Anders Carlsson.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation):
rangeForDictionaryLookupAtHitTestResult can easily return null.

14:43 Changeset [175427] by cdumez@apple.com
  • 2 edits in trunk/Source/WebCore

Make CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement() faster
https://bugs.webkit.org/show_bug.cgi?id=138227

Reviewed by Benjamin Poulain.

Restructure CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement()
a bit to do less if checks. The previous implementation was doing 7 if
checks no matter the input value. The new implementation does less
if checks depending on the input type.

Also, the isImageControlsRootElement() was showing in the profiles so
I updated the condition to only do this virtual function call if the
input is an HTMLDivElement (which we can check more efficiently).

With the change, I see that we're spending about ~26% less time in
this method when running speedometer. However, the impact on the
overall score is within noise.

No new tests, no behavior change.

  • css/CSSDefaultStyleSheets.cpp:

(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):

14:27 Changeset [175426] by msaboff@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Add scope operand to op_push_with_scope, op_push_name_scope and op_pop_scope
https://bugs.webkit.org/show_bug.cgi?id=138252

Reviewed by Geoffrey Garen.

Added scope operand to op_push_with_scope, op_push_name_scope and op_pop_scope.
Although the scope register is filled in with the ScopeChain register for all
three bytecodes, this operand is not used in the processing of the bytecodes.
That will be addressed in a future patch.

  • bytecode/BytecodeList.json: Lengthened the three bytecodes.
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode): Added code to dump the scope operand.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitPushWithScope):
(JSC::BytecodeGenerator::emitPopScope):
(JSC::BytecodeGenerator::emitComplexPopScopes):
(JSC::BytecodeGenerator::emitPopScopes):
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
(JSC::BytecodeGenerator::emitPushCatchScope):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::scopeRegister):
Added scope register to these emit functions and the bytecodes they emit.
New m_scopeRegister and accessor.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ContinueNode::emitBytecode):
(JSC::BreakNode::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::WithNode::emitBytecode):
(JSC::TryNode::emitBytecode):
Created a RegisterID for the ScopeChain register and used it to emit the updated
bytecodes.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_push_name_scope):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_push_name_scope):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter.asm:

Updated the operand indecies for the processing of the updated bytecodes.

14:25 Changeset [175425] by bdakin@apple.com
  • 5 edits
    4 deletes in trunk/Source

Use system art for action menus when possible
https://bugs.webkit.org/show_bug.cgi?id=138260

Reviewed by Tim Horton.

Source/WebKit/mac:

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):

Source/WebKit2:

  • Resources/AddImageToPhotosTemplate.pdf: Removed.
  • Resources/CopyImageTemplate.pdf: Removed.
  • Resources/SaveImageToDownloadsTemplate.pdf: Removed.
  • Resources/ShareImageTemplate.pdf: Removed.
  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _createActionMenuItemForTag:]):

  • WebKit2.xcodeproj/project.pbxproj:
14:21 Changeset [175424] by jpfau@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed, fix ASan build after r175382

  • wtf/SizeLimits.cpp:
14:14 Changeset [175423] by antti@apple.com
  • 2 edits in trunk/Source/WebCore

Fix assertion in CachedResource::addDataBuffer

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::addDataBuffer):

Don't call to base class if buffering mode changed (happens with some special top level document types).

13:52 Changeset [175422] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build for Yosemite systems after r175417

  • UIProcess/mac/WKActionMenuController.mm:
13:42 Changeset [175421] by dino@apple.com
  • 19 edits
    14 adds in trunk

Remove webkit prefix from CSS columns.
https://bugs.webkit.org/show_bug.cgi?id=137132.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-31
Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Import tests for basic multi-column properties settings. They are approved by W3C and
pass the WebKit testing. More tests need to be imported when they are approved.

  • css: Added.
  • css/multicol: Added.
  • css/multicol/multicol-basic-001-expected.html: Added.
  • css/multicol/multicol-basic-001.html: Added.
  • css/multicol/multicol-basic-002-expected.html: Added.
  • css/multicol/multicol-basic-002.html: Added.
  • css/multicol/multicol-basic-003-expected.html: Added.
  • css/multicol/multicol-basic-003.html: Added.
  • css/multicol/multicol-basic-004-expected.html: Added.
  • css/multicol/multicol-basic-004.html: Added.

Source/WebCore:

CSS columns properties are ready for un-prefixing. There are still a couple
that we haven't implemented, such as the ones starting with "break-", so we're
just going to do the ones starting with "column-". The list of column un-
prefixed properties in this change set is:

  • column-count
  • column-fill
  • column-gap
  • column-progression
  • column-rule
  • column-rule-color
  • column-rule-style
  • column-rule-width
  • column-span
  • column-width
  • columns

Tests: fast/multicol/column-box-alignment-rtl.html

fast/multicol/multicol-aliases.html
imported/w3c/css/multicol/multicol-basic-001.html
imported/w3c/css/multicol/multicol-basic-002.html
imported/w3c/css/multicol/multicol-basic-003.html
imported/w3c/css/multicol/multicol-basic-004.html

Add new un-prefixed column properties and make the -webkit* ones be aliases
to the new ones.

  • css/CSSPropertyNames.in:

Use the new enums CSSPropertyColumn* instead of the prefixed ones.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::isColorPropertyID):
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue):

  • css/StylePropertyShorthand.cpp:

(WebCore::webkitColumnsShorthand):
(WebCore::webkitColumnRuleShorthand):
(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):

  • css/StyleResolver.cpp:

(WebCore::isValidVisitedLinkProperty):
(WebCore::StyleResolver::applyProperty):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::paintColumnRules):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::colorIncludingFallback):

LayoutTests:

Ensure the CSS un-prefixed column properties are behaving the same way as the
prefixed ones. The CSS prefixed column properties are still supported by making
them aliases of the un-prefixed ones. Also port some of the W3C and Mozilla
tests for css column properties tests.

Change to the un-prefixed column names to be compared with the return of CSSStyleDeclaration.item().
And change the expected names to be the un-prefixed ones also.

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js:

Change to the un-prefixed column names and compare them with the return of object.style.cssText().

  • fast/css/remove-shorthand-expected.txt:

Test for the effect of the rtl settings on column flow; it is ported from Mozilla.

  • fast/multicol/column-box-alignment-rtl-expected.html: Added.
  • fast/multicol/column-box-alignment-rtl.html: Added.

Ensure the prefixed and the un-prefixed column properties are behaving exactly the same.

  • fast/multicol/multicol-aliases-expected.html: Added.
  • fast/multicol/multicol-aliases.html: Added.

Change to the un-prefixed column names to be compared with the return of CSSStyleDeclaration.item().

  • svg/css/getComputedStyle-basic-expected.txt:

Remove the use of the un-prefixed columns property since it seems unrelated to the test.

  • svg/custom/svg-fonts-in-html.html:
13:41 Changeset [175420] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

Fix the build for pre-Yosemite systems after r175417

  • UIProcess/API/mac/WKView.mm:

(-[WKView dealloc]):
(-[WKView initWithFrame:context:configuration:webView:]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::didPerformActionMenuHitTest):

  • UIProcess/mac/WKActionMenuController.h:
  • UIProcess/mac/WKActionMenuController.mm:
13:39 Changeset [175419] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

Rolled in r175389.

WebKit was failing to build 32bit on some Apple internal systems because
those systems were configured to build bmalloc 64-bit-only. Those systems
have been updated to build bmalloc as a universal binary, so everything
should work fine now.

The relevant setting is controlled by an environment variable on the
build system, and not by the project file in the source tree, so there's
no new code change here.

Enable bmalloc in 32bit builds
https://bugs.webkit.org/show_bug.cgi?id=138232

Reviewed by Andreas Kling.

  • wtf/FastMalloc.cpp:
13:21 Changeset [175418] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove "Add to iPhoto" from the action menu's sharing menu
https://bugs.webkit.org/show_bug.cgi?id=138251
<rdar://problem/18837197>

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
Retain/autorelease the new array.

13:16 Changeset [175417] by timothy_horton@apple.com
  • 4 edits in trunk/Source

Remove "Add to iPhoto" from the action menu's sharing menu
https://bugs.webkit.org/show_bug.cgi?id=138251
<rdar://problem/18837197>

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
Filter out "Add to iPhoto".

  • platform/spi/mac/NSSharingServiceSPI.h:

Add 'name' to the NSSharingService SPI header.

12:28 Changeset [175416] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Make writes to RegExpObject.lastIndex cacheable.
<https://webkit.org/b/138255>

Reviewed by Geoffrey Garen.

We were neglecting to IC the puts to RegExpObject.lastIndex on Octane/regexp,
and ended up spending 4.5% of a time profile in operationPutByIdNonStrict.

~3% progression on Octane/regexp.

  • runtime/RegExpObject.cpp:

(JSC::regExpObjectSetLastIndexStrict):
(JSC::regExpObjectSetLastIndexNonStrict):
(JSC::RegExpObject::put):

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

Fix type clash warning in supports_error rule of CSSGrammar.
https://bugs.webkit.org/show_bug.cgi?id=138248

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-10-31
Reviewed by Antti Koivisto.

Added explicit actions to supports_error rule in CSSGrammar.y.in since
the default actions caused bison to emit type clash warnings.

No new tests because there is no behavior change.

  • css/CSSGrammar.y.in:
12:04 Changeset [175414] by commit-queue@webkit.org
  • 16 edits in trunk

[GTK] Support script message handlers WebKitUserContentManager
https://bugs.webkit.org/show_bug.cgi?id=133730

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2014-10-31
Reviewed by Carlos Garcia Campos.

Support user script message handlers in WebKitUserContentManager.
This needs building with ENABLE_USER_MESSAGE_HANDLERS, for which
an option is added to the CMake build files. The option is disabled
globally by default, and the WebKitGTK port enables it. On the API
level, two new methods to register and unregister names are provided
in the "window.webkit" namespace, and on message reception the
"WebKitUserContentManager::script-message-received" signal is
emitted, using the registered names as signal detail.

.:

  • Source/cmake/OptionsGTK.cmake: For the GTK port, enable the

ENABLE_USER_MESSAGE_HANDLERS feature by default.

  • Source/cmake/WebKitFeatures.cmake: Add feature description for

ENABLE_USER_MESSAGE_HANDLERS, disabled by default.

Source/WebCore:

  • CMakeLists.txt: Conditionally add the needed files to the build

when the ENABLE_USER_MESSAGE_HANDLERS feature is enabled.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitJavascriptResult.cpp: Add a new private

function to construct a WebKitJavascriptResult directly from a
WebCore::SerializedScriptValue.
(_WebKitJavascriptResult::_WebKitJavascriptResult): Ditto.
(webkitJavascriptResultCreate): Ditto.

  • UIProcess/API/gtk/WebKitJavascriptResultPrivate.h: Ditto.
  • UIProcess/API/gtk/WebKitUserContentManager.cpp:

(webkit_user_content_manager_class_init): Install the
"script-message-received" signal.
(webkit_user_content_manager_register_script_message_handler):
Added.
(webkit_user_content_manager_unregister_script_message_handler):
Added.

  • UIProcess/API/gtk/WebKitUserContentManager.h: Added the new

public API methods.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
  • UIProcess/API/gtk/docs/webkit2gtk.types: Add

webkit_user_content_manager_get_type() to the list in order to make
gtk-doc to generate documentation for signals.

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:

Add test case for user script message handlers.
(scriptMessageReceived):
(testUserContentManagerScriptMessageReceived):
(beforeAll):

12:02 Changeset [175413] by mhock@apple.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, iOS build fix since 175406.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::performActionOnElement):

11:29 Changeset [175412] by eric.carlson@apple.com
  • 5 edits in trunk/LayoutTests

Clean-up use of boolean attributes in media tests
https://bugs.webkit.org/show_bug.cgi?id=138249

Reviewed by Brent Fulgham.

  • media/resources/foreignobject-media.svg: autoplay="true" => autoplay
  • media/resources/video-with-poster-as-object-fallback.html: controls="true" => controls
  • media/video-canvas-source.html: Ditto.
  • media/video-canvas.html-disabled: Ditto.
10:37 Changeset [175411] by cdumez@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix a couple of warnings in JSC reported by clang static analyzer
https://bugs.webkit.org/show_bug.cgi?id=138240

Reviewed by Geoffrey Garen.

Fix a couple of warnings in JSC reported by clang static analyzer about
value stored in variables never being read. This is addressed by
reducing the scope of the variable or removing the variable entirely.

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::emitGetByOffset):

  • runtime/VM.cpp:

(JSC::VM::throwException):

10:13 Changeset [175410] by bfulgham@apple.com
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed 64-bit Build Fix.

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

export declarations.

09:23 WebKitGTK/2.6.x edited by kwm@freebsd.org
Add changeset and bugreport about two issues preventing 2.6 from building … (diff)
08:26 Changeset [175409] by lforschler@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed rollout r175389.

05:45 Changeset [175408] by commit-queue@webkit.org
  • 13 edits
    2 adds in trunk

[ATK] Improve AccessibilityTableCell's determineAccessibilityRole function.
https://bugs.webkit.org/show_bug.cgi?id=137737

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-10-31
Reviewed by Chris Fleizach.

Source/WebCore:

Use of new functions isRowHeaderCell and isColumnHeaderCell (bug 136818)
to more accurately determine accessibility role of the table cell.

Test: accessibility/table-cells-roles.html

  • accessibility/AccessibilityARIAGridCell.cpp:

(WebCore::AccessibilityARIAGridCell::rowIndexRange):
Change to const.

  • accessibility/AccessibilityARIAGridCell.h:

Change rowIndexRange function to const.

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::determineAccessibilityRole):
Use of isRowHeaderCell and isColumnHeaderCell to more accurately determine accessibility role (ATK).
(WebCore::AccessibilityTableCell::isColumnHeaderCell):
Add a case of direct placement a row in the table.
(WebCore::AccessibilityTableCell::isRowHeaderCell):
Add a case of direct placement a row in the table.
(WebCore::AccessibilityTableCell::rowIndexRange):
Change to const.

  • accessibility/AccessibilityTableCell.h:

Change rowIndexRange function to const.

LayoutTests:

The new test illustrates the different cases deciding whether a table cell
is a row header or column header or just a table cell.
Files of expected type and one html type are adapted to changes in the code of several member functions
of AccessibilityTableCell, i.e determineAccessibilityRole, isColumnHeaderCell, isRowHeaderCell.

  • accessibility/table-cells-roles-expected.txt: Added.
  • accessibility/table-cells-roles.html: Added.
  • platform/efl/accessibility/table-attributes-expected.txt:
  • platform/efl/accessibility/table-cells-expected.txt:
  • platform/gtk/accessibility/table-attributes-expected.txt:
  • platform/gtk/accessibility/table-cells-expected.txt:
  • platform/gtk/accessibility/table-hierarchy-expected.txt:
  • platform/gtk/accessibility/table-hierarchy.html:
00:18 Changeset [175407] by roger_fong@apple.com
  • 4 edits in trunk/LayoutTests

[Windows] Additional rebaselining after r175259.

  • platform/win/css1/box_properties/padding_right-expected.txt:
  • platform/win/fast/css/last-child-pseudo-class-expected.txt:
  • platform/win/fast/css/only-child-pseudo-class-expected.txt:

10/30/14: Yesterday

21:25 Changeset [175406] by darin@apple.com
  • 76 edits
    5 deletes in trunk/Source

Eliminate ResourceBuffer and use SharedBuffer directly instead
https://bugs.webkit.org/show_bug.cgi?id=138174

Reviewed by Antti Koivisto.

Source/WebCore:

Refactoring, with test coverage across many existing tests.

  • CMakeLists.txt: Deleted ResourceBuffer.cpp.
  • WebCore.exp.in: Removed ResourceBuffer-related symbols, and updated symbol

for one function that used to take a PassRefPtr but now takes a reference instead.

  • WebCore.vcxproj/WebCore.vcxproj: Deleted ResourceBuffer.cpp/.h.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Deleted ResourceBuffer.mm/.cpp/.h.
  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMHTMLImageElement dataRepresentation:]): Use SharedBuffer directly.

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::writeImageToPasteboard): Ditto.

  • editing/mac/EditorMac.mm:

(WebCore::Editor::writeImageToPasteboard): Ditto.

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::updateDuringParsing): Use SharedBuffer directly, and
also pass a reference only if non-null rather than passing a pointer.
(WebCore::ImageDocument::finishedParsing): Ditto. Added a missing null check.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceContent): Use SharedBuffer directly.
(WebCore::InspectorPageAgent::mainResourceContent): Ditto.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didFinishLoading): Ditto.
(WebCore::InspectorResourceAgent::didFailLoading): Ditto.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::mainResourceData): Use SharedBuffer directly,
and use the copy function rather than a hand-written alternative.
(WebCore::DocumentLoader::maybeCreateArchive): Ditto.
(WebCore::DocumentLoader::mainResource): Ditto.
(WebCore::DocumentLoader::subresource): Ditto.
(WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): Ditto.

  • loader/DocumentLoader.h: Changed mainResourceData to return a

PassRefPtr<SharedBuffer>. Would be better if it returned a SharedBuffer&,
but it currently returns a newly created buffer when there is substitute
data and can also return null, even though many callers assume it will not!

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::dataReceived): Removed call to unused client
function bufferReceived.
(WebCore::MediaResourceLoader::notifyFinished): Removed unused buffer
argument to client function loadFinished.

  • loader/ResourceBuffer.cpp: Removed.
  • loader/ResourceBuffer.h: Removed.
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::addDataOrBuffer): Use SharedBuffer directly.

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::resourceData): Use SharedBuffer.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse): Use SharedBuffer.
(WebCore::SubresourceLoader::didReceiveDataOrBuffer): Ditto.

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::processNewCueData): Use SharedBuffer.

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Ditto.

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create): Ditto.

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::finishLoading): Use SharedBuffer.

  • loader/cache/CachedCSSStyleSheet.h: Ditto.
  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::finishLoading): Ditto.
(WebCore::CachedFont::ensureCustomFontData): Ditto.

  • loader/cache/CachedFont.h: Ditto.
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::didAddClient): Use SharedBuffer.
(WebCore::CachedImage::didRemoveClient): Ditto.
(WebCore::CachedImage::addIncrementalDataBuffer): Ditto. Changed to take
a reference rather than a pointer.
(WebCore::CachedImage::addDataBuffer): Ditto. Also added call through
to base class and changed to take a reference rather than a pointer.
(WebCore::CachedImage::addData): Ditto. Also added call through to base class.
(WebCore::CachedImage::finishLoading): Ditto.

  • loader/cache/CachedImage.h: Ditto. Also changed the type of some bit fields

to be unsigned instead of unsigend char.

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::calculateIncrementalDataChunk): Use SharedBuffer.
(WebCore::CachedRawResource::addDataBuffer): Ditto. Changed to take
a reference rather than a pointer.
(WebCore::CachedRawResource::addData): Ditto.
(WebCore::CachedRawResource::finishLoading): Ditto.
(WebCore::CachedRawResource::canReuse): Ditto.

  • loader/cache/CachedRawResource.h: Ditto.
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource): Reordered data members due to change
in header.
(WebCore::CachedResource::addDataBuffer): Changed argument type.
(WebCore::CachedResource::finishLoading): Ditto.
(WebCore::CachedResource::didAddClient): Refactored to eliminate one extra hash
table lookup by using the return value from the remove function.
(WebCore::CachedResource::addClientToSet): Use std::make_unique directly instead
of using a function named "schedule" to allocate the callback object.
(WebCore::CachedResource::Callback::Callback): Changed function and data member
name.
(WebCore::CachedResource::Callback::cancel): Ditto.
(WebCore::CachedResource::Callback::timerFired): Ditto.
(WebCore::CachedResource::tryReplaceEncodedData): Changed to take a SharedBuffer&.

  • loader/cache/CachedResource.h: Changed types to use SharedBuffer. Also made most

data members and one function member private instead of protected. Also renamed the
CachedResource::CachedResourceCallback function CachedResource::Callback and moved
its definition out of the CachedResource class definition.

  • loader/cache/CachedResourceClient.h: Removed unneeded include.
  • loader/cache/CachedSVGDocument.cpp:

(WebCore::CachedSVGDocument::finishLoading): Use SharedBuffer.

  • loader/cache/CachedSVGDocument.h: Ditto. Made data members private.
  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::finishLoading): Use SharedBuffer.

  • loader/cache/CachedScript.h: Ditto. Also fixed indenting and removed unneeded

forward declaration.

  • loader/cache/CachedTextTrack.cpp:

(WebCore::CachedTextTrack::updateData): Added, so that finishLoading does not
call addDataBuffer.
(WebCore::CachedTextTrack::addDataBuffer): Take SharedBuffer, call updateData.
(WebCore::CachedTextTrack::finishLoading): Ditto.

  • loader/cache/CachedTextTrack.h: Take out unneeded explicit override of the

destructor. Updated for above changes.

  • loader/cache/CachedXSLStyleSheet.cpp:

(WebCore::CachedXSLStyleSheet::finishLoading): Updated to use SharedBuffer.

  • loader/cache/CachedXSLStyleSheet.h: Took out unneeded includes, made everything

private rather than protected. Added an explicit virtual constructor so we can
compile without knowing how to ref/deref TextResourceDecoder.

  • loader/cf/SubresourceLoaderCF.cpp:

(WebCore::SubresourceLoader::didReceiveDataArray): Updated to use SharedBuffer
and to call addDataBuffer only if there is a new data buffer.

  • loader/cocoa/DiskCacheMonitorCocoa.h: Use SharedBuffer& instead of PassRefPtr.
  • loader/cocoa/DiskCacheMonitorCocoa.mm:

(WebCore::DiskCacheMonitor::DiskCacheMonitor): Ditto.
(WebCore::DiskCacheMonitor::resourceBecameFileBacked): Ditto.

  • loader/icon/IconLoader.cpp:

(WebCore::IconLoader::notifyFinished): Use SharedBuffer* instead of
RefPtr<ResourceBuffer>.

  • loader/mac/ResourceBuffer.mm: Removed.
  • loader/mac/ResourceLoaderMac.mm:

(WebCore::ResourceLoader::didReceiveDataArray): Use SharedBuffer.

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::clear): Use a modern for loop.
(WebCore::SharedBuffer::copy): Return a PassRef instead of a PassRefPtr, since
this never returns null. Use modern for loops.
(WebCore::SharedBuffer::copyBufferAndClear): Use a modern for loop.

  • platform/SharedBuffer.h: Changed copy to return PassRef instead of PassRefPtr.

Changed tryReplaceContentsWithPlatformBuffer to take a reference rather than
a pointer.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::tryReplaceContentsWithPlatformBuffer): Take a reference
instead of a pointer.

  • platform/graphics/PlatformMediaResourceLoader.h: Removed unused function

bufferReceived and unneeded buffer argument from loadFinished. Also marked the
constructor explicit.

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

Removed include of ResourceBuffer.h.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource): Use
SharedBuffer directly.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(CachedResourceStreamingClient::loadFinished): Updated for change to
PlatformMediaResourceLoaderClient.

  • platform/mac/PasteboardMac.mm: Removed include of ResourceBuffer.h.
  • platform/soup/SharedBufferSoup.cpp: Removed unused, unneeded

tryReplaceContentsWithPlatformBuffer function.

Source/WebKit/mac:

  • WebView/WebDataSource.mm:

(-[WebDataSource data]): Use SharedBuffer directly.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.

Source/WebKit/win:

  • WebDataSource.cpp:

(WebDataSource::data): Use SharedBuffer directly.
(WebDataSource::subresourceForURL): Ditto.

Source/WebKit2:

  • CMakeLists.txt: Removed WebResourceBuffer.cpp.
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::sendBuffer): Use a reference instead of pointer.

  • NetworkProcess/NetworkResourceLoader.h: Ditto.
  • NetworkProcess/mac/NetworkDiskCacheMonitor.h: Ditto.
  • NetworkProcess/mac/NetworkDiskCacheMonitor.mm:

(WebKit::NetworkDiskCacheMonitor::resourceBecameFileBacked): Ditto.

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer): Ditto.

  • Shared/WebResourceBuffer.cpp: Removed.
  • Shared/WebResourceBuffer.h: Removed.
  • WebKit2.xcodeproj/project.pbxproj: Removed WebResourceBuffer.cpp/h.
  • WebProcess/Network/NetworkProcessConnection.cpp: Removed unneeded includes.

(WebKit::NetworkProcessConnection::didCacheResource): Use a reference instead
of a pointer.

  • WebProcess/Network/WebResourceLoadScheduler.cpp: Removed unneeded include.
  • WebProcess/Network/WebResourceLoader.cpp: Ditto.
  • WebProcess/Network/WebResourceLoader.h: Ditto.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Ditto.

(WebKit::WebFrameLoaderClient::finishedLoading): Use SharedBuffer directly.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::source): Ditto.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScriptInMainFrame): Refactored to make the relationship
between the buffer and the DataReference clearer and to avoid having a long-lived
DataReference pointing to an underlying buffer with unclear lifetime.
(WebKit::WebPage::getContentsAsString): Ditto.
(WebKit::WebPage::getSelectionAsWebArchiveData): Ditto.
(WebKit::WebPage::getMainResourceDataOfFrame): Ditto. Also use SharedBuffer directly.
(WebKit::WebPage::getResourceDataFromFrame): Ditto.
(WebKit::WebPage::getWebArchiveOfFrame): Ditto.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::containingLinkElement): Use elementLineage.
(WebKit::WebPage::performActionOnElement): Use references and SharedBuffer.
ALso did a bit of other cleanup in here.
(WebKit::isAssistableElement): Take Element& instead of Node*, since that's what
the caller has.
(WebKit::nextAssistableElement): Changed name to match what the function does.
Added an obviously-missing check on the startNode argument. Updated for change
to isAssistableElement above. Take a Page& instead of a Page*.
(WebKit::hasAssistableElement): Changed name to match what the function does.
Updated for change to nextAssistableElement above. Took out incorrect comparison
of a C++ pointer to the Objective-C object pointer nil. Take a Page& instead of a Page*.
(WebKit::WebPage::focusNextAssistedNode): Updated for above changes.
(WebKit::WebPage::getAssistedNodeInformation): Updated for above changes.

19:37 Changeset [175405] by cdumez@apple.com
  • 4 edits in trunk/Source/WebCore

Move border-image-source / -webkit-mask-box-image-source to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138209

Reviewed by Andreas Kling.

Move border-image-source / -webkit-mask-box-image-source CSS properties
from DeprecatedStyleBuilder to the new StyleBuilder so that they are
now generated from CSSPropertyNames.in.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyBorderImageSource::applyValue): Deleted.
(WebCore::ApplyPropertyBorderImageSource::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertBorderImageSource):

19:02 WebKitGTK/KeepingTheTreeGreen edited by yoon@igalia.com
(diff)
18:16 Changeset [175404] by timothy_horton@apple.com
  • 12 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175376 and r175390. <rdar://problem/18742297>

18:03 Changeset [175403] by timothy_horton@apple.com
  • 10 edits in branches/safari-600.3-branch

Merge r175160. <rdar://problem/18742297>

17:40 Changeset [175402] by cdumez@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed Windows build fix after r175391.

Export a couple of symbols.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
17:26 Changeset [175401] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

bisect-builds should support WebKit clients other than Safari
https://bugs.webkit.org/show_bug.cgi?id=138225

This patch adds support for bisecting WebKit nightly builds with clients other than Safari.

The -a / --application optional argument allows the user to specify which application (or application bundle)
should be run against the WebKit nightly builds.

Reviewed by David Kilzer.

  • Scripts/bisect-builds:

Swap out $safariPath for the more general $applicationPath
Leave --safari-path as a commandline option for backwards compatibility
(mountAndRunNightly):
Use File::Spec->cat correctly (one directory per argument)
Use open --wait-apps instead of running the target application directly

17:18 Changeset [175400] by jer.noble@apple.com
  • 14 edits in trunk/Source

[EME] Add Setting for accessing storage location for MediaKeys data
https://bugs.webkit.org/show_bug.cgi?id=138147

Reviewed by Brady Eidson.

Source/WebCore:

Allow MediaPlayerPrivateAVFoundationObjC to query for the MediaKeys storage directory
by piping that request down from WebKit and WebKit2 into Settings.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaKeysStorageDirectory): Get the location from Settings and

append the current origin.

  • html/HTMLMediaElement.h:
  • page/Settings.h:

(WebCore::Settings::setMediaKeysStorageDirectory): Simple setter.
(WebCore::Settings::mediaKeysStorageDirectory): Simple accessor.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::mediaKeysStorageDirectory): Pass through to m_client.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerMediaKeysStorageDirectory): Default implementation.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession): Fetch the location from MediaPlayer.
(WebCore::sessionStorageDirectory): Deleted.

Source/WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]): Set default location.
(-[WebPreferences mediaKeysStorageDirectory]): Simple accessor.
(-[WebPreferences setMediaKeysStorageDirectory:]): Simple setter.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]): Pass location from WebPreferences into Settings.

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Pass from WebMediaKeyStorageManager into Settings.

17:16 Changeset [175399] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Layout Test http/tests/xmlhttprequest/cross-origin-redirect-responseURL.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=138072

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-10-30
Reviewed by Alexey Proskuryakov.

  • http/tests/xmlhttprequest/cross-origin-redirect-responseURL-expected.txt:
  • http/tests/xmlhttprequest/cross-origin-redirect-responseURL.html:
16:57 Changeset [175398] by dburkart@apple.com
  • 2 edits in trunk/Source/WebKit2

Workaround for <rdar://problem/18830639>

Unreviewed.

16:53 Changeset [175397] by dburkart@apple.com
  • 50 edits in trunk

<rdar://problem/18821260> Prepare for the mysterious future

Reviewed by Lucas Forschler.

16:50 Changeset [175396] by saambarati1@gmail.com
  • 6 edits in trunk/Source/JavaScriptCore

AST Nodes should keep track of their end offset
https://bugs.webkit.org/show_bug.cgi?id=138143

Reviewed by Filip Pizlo.

AST nodes nodes now have an int property for their end text
offsets. This change lays some foundational work that will be
needed in profiling which basic blocks have executed.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::setEndOffset):

  • parser/Nodes.h:

(JSC::Node::endOffset):
(JSC::Node::setEndOffset):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseStatement):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseExpression):
(JSC::Parser<LexerType>::parseProperty):

  • parser/Parser.h:

(JSC::Parser<LexerType>::parse):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::operatorStackPop):

16:26 Changeset [175395] by simon.fraser@apple.com
  • 2 edits in trunk/Source/WebCore

Short-circuit repaints with empty rects
https://bugs.webkit.org/show_bug.cgi?id=138234

Reviewed by Zalan Bujtas.

Repaints with an empty rectangle are common enough that it's worth
short-circuiting them.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::repaintUsingContainer):

16:24 Changeset [175394] by roger_fong@apple.com
  • 2 edits
    1 add in trunk/LayoutTests

[Windows] More text rebaselining.

  • platform/win/TestExpectations:
  • platform/win/fast/text/tatechuyoko-expected.txt: Added.
16:18 Changeset [175393] by adachan@apple.com
  • 2 edits in trunk/Source/WebKit

Attempt to fix the Windows build after r175384.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
16:10 Changeset [175392] by roger_fong@apple.com
  • 15 edits
    1 add in trunk/LayoutTests

[Windows] Text rebaselining after r175384.

  • platform/win/css1/box_properties/margin_right-expected.txt:
  • platform/win/css1/box_properties/padding-expected.txt:
  • platform/win/css1/box_properties/padding_left-expected.txt:
  • platform/win/css1/box_properties/padding_right-expected.txt:
  • platform/win/css1/box_properties/padding_top-expected.txt:
  • platform/win/css1/font_properties/font-expected.txt:
  • platform/win/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/win/css1/text_properties/text_transform-expected.txt:
  • platform/win/fast/css/empty-pseudo-class-expected.txt:
  • platform/win/fast/css/first-child-pseudo-class-expected.txt:
  • platform/win/fast/css/only-child-pseudo-class-expected.txt:
  • platform/win/fast/dom/HTMLProgressElement/progress-element-expected.txt: Added.
  • platform/win/fast/forms/targeted-frame-submission-expected.txt:
  • platform/win/fast/table/append-cells2-expected.txt:
  • platform/win/tables/mozilla/bugs/45621-expected.txt:
16:08 Changeset [175391] by cdumez@apple.com
  • 21 edits in trunk/Source/WebCore

Clean up virtual functions in css/
https://bugs.webkit.org/show_bug.cgi?id=138230

Reviewed by Benjamin Poulain.

Clean up virtual functions in css/ by:

  • Making virtual functions final when possible
  • Making classes final when possible
  • Using 'override' when appropriate
  • Explicitly marking functions / destructors as virtual when they are inherently virtual
  • Making isXXX() virtual functions private on XXX classes to avoid unnecessary type checks

No new tests, no behavior change.

  • WebCore.exp.in:
  • css/CSSBasicShapes.h:
  • css/CSSCharsetRule.h:
  • css/CSSComputedStyleDeclaration.h:
  • css/CSSCrossfadeValue.h:
  • css/CSSFilterImageValue.h:
  • css/CSSFontFaceLoadEvent.h:
  • css/CSSFontFaceRule.h:
  • css/CSSFontFaceSource.h:
  • css/CSSImportRule.h:
  • css/CSSMediaRule.h:
  • css/CSSPageRule.h:
  • css/CSSRuleList.h:

(WebCore::StaticCSSRuleList::ref): Deleted.
(WebCore::StaticCSSRuleList::styleSheet): Deleted.
(WebCore::StaticCSSRuleList::length): Deleted.
(WebCore::StaticCSSRuleList::item): Deleted.
(WebCore::LiveCSSRuleList::ref): Deleted.
(WebCore::LiveCSSRuleList::deref): Deleted.
(WebCore::LiveCSSRuleList::length): Deleted.
(WebCore::LiveCSSRuleList::item): Deleted.
(WebCore::LiveCSSRuleList::styleSheet): Deleted.

  • css/CSSStyleRule.h:
  • css/CSSSupportsRule.h:
  • css/CSSUnknownRule.h:
  • css/FontLoader.h:
  • css/PropertySetCSSStyleDeclaration.h:

(WebCore::PropertySetCSSStyleDeclaration::parentElement):

  • css/WebKitCSSKeyframeRule.h:
  • css/WebKitCSSViewportRule.h:
16:03 Changeset [175390] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the iOS build.

  • WebProcess/WebPage/WebPage.messages.in:
15:44 Changeset [175389] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

Enable bmalloc in 32bit builds
https://bugs.webkit.org/show_bug.cgi?id=138232

Reviewed by Andreas Kling.

Seems to work fine.

  • wtf/FastMalloc.cpp:
15:37 Changeset [175388] by timothy_horton@apple.com
  • 4 edits in trunk/Source

Long spins under rangeExpandedAroundPosition on Yahoo Mail
https://bugs.webkit.org/show_bug.cgi?id=138223
<rdar://problem/18819547>

Reviewed by Enrica Casucci.

  • WebCore.exp.in:

Export some things.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::rangeExpandedAroundPositionByCharacters):
Reimplement rangeExpandedAroundPosition to operate on characters instead of lines,
and to use Position. Moving VisiblePositions by line can be very expensive in some cases,
and for generating lookup/Data Detectors context, we don't care about that kind of precision.
This makes this function ~1000x faster when it hits on a row in the Yahoo Mail message list.

(WebKit::WebPage::performDictionaryLookupAtLocation):
(WebKit::scanForDataDetectedItems):
Adopt the new rangeExpandedAroundPositionByCharacters, expanding 250 characters
before and after, which roughly matches what we were usually getting going by line,
and is a reasonable amount of context for these operations.

15:33 Changeset [175387] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.25.2

New tag.

15:30 Changeset [175386] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.25-branch/Source/WebCore

Merged r175347. rdar://problem/18786900

15:09 Changeset [175385] by commit-queue@webkit.org
  • 25 edits
    3 copies
    7 adds in trunk/Source/JavaScriptCore

Web Inspector: Generate ObjC inspector protocol types and alternate dispatcher interfaces
https://bugs.webkit.org/show_bug.cgi?id=138048

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-10-30
Reviewed by Brian Burg.

Generate Objective-C interfaces for inspector protocol types, command, and event dispatchers.
This is very much like the InspectorProtocolTypes, BackendDispatchers, and FrontendDispatchers,
but with an ObjC spin on things.

The private API that clients would use is all encapsulated in RWIProtocol.h. It includes the
types interfaces, command handler protocol, and event dispatcher interface. Where possible the
API uses real enums, which hides the raw protocol enum strings from clients.

Inspector protocol types are, like InspectorProtocolObjects, built on top of an InspectorObject.
This offers the flexibilty of adding arbitrary key/values using the RWIProtocolJSONObject
interface, which may be required for certain protocol objects like "Network.Headers" which
have no fields, but expect arbitrary properties to be added.

Command handler protocols always have two callbacks. An error callback and a success callback.
The signature is very much like BackendDispatchers. In parameters are passed directly to
the selectors, and out parameters are defined by the success callback. It will be the client's
responsibility to call either of these callbacks to complete handling of a request.

Event dispatcher interfaces are straight forward, just packaging up the arguments and sending
the message to the frontend.

ObjC <-> Protocol conversion happens in each of the generated files. In type getters / setters,
in commands parameters and event parameters. For this to work we generate conversion helpers
for all enums, ObjC enum <-> protocol strings. For NSArray <-> InspectorArray there are some
static helpers to do the conversions. We do lose some type safety in these conversions.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/scripts/codegen/init.py:
  • inspector/scripts/codegen/generate_alternate_backend_dispatcher_header.py:

(AlternateBackendDispatcherHeaderGenerator._generate_handler_declarations_for_domain):

  • inspector/scripts/codegen/generate_backend_dispatcher_header.py:

(BackendDispatcherHeaderGenerator._generate_alternate_handler_forward_declarations_for_domains.AlternateInspector):
(BackendDispatcherHeaderGenerator._generate_handler_declarations_for_domain):
(BackendDispatcherHeaderGenerator._generate_dispatcher_declarations_for_domain):

  • inspector/scripts/codegen/generate_backend_dispatcher_implementation.py:

(BackendDispatcherImplementationGenerator._generate_handler_class_destructor_for_domain):
(BackendDispatcherImplementationGenerator._generate_dispatcher_implementations_for_domain):

  • inspector/scripts/codegen/generate_frontend_dispatcher_header.py:

(FrontendDispatcherHeaderGenerator._generate_dispatcher_declarations_for_domain):

  • inspector/scripts/codegen/generate_frontend_dispatcher_implementation.py:

(FrontendDispatcherImplementationGenerator._generate_dispatcher_implementations_for_domain):

  • inspector/scripts/codegen/generate_objective_c.py: Added.

(join_type_and_name):
(strip_comment_markers):
(remove_duplicate_from_str):
(ObjCTypeCategory):
(ObjCTypeCategory.category_of_type):
(ObjCGenerator):
(ObjCGenerator.identifier_to_objc_identifier):
(ObjCGenerator.objc_identifier_to_identifier):
(ObjCGenerator.should_generate_domain_types_filter):
(ObjCGenerator.should_generate_domain_types_filter.should_generate_domain_types):
(ObjCGenerator.should_generate_domain_command_handler_filter):
(ObjCGenerator.should_generate_domain_command_handler_filter.should_generate_domain_command_handler):
(ObjCGenerator.should_generate_domain_event_dispatcher_filter):
(ObjCGenerator.should_generate_domain_event_dispatcher_filter.should_generate_domain_event_dispatcher):
(ObjCGenerator.objc_name_for_type):
(ObjCGenerator.objc_enum_name_for_anonymous_enum_declaration):
(ObjCGenerator.objc_enum_name_for_anonymous_enum_member):
(ObjCGenerator.objc_enum_name_for_anonymous_enum_parameter):
(ObjCGenerator.objc_enum_name_for_non_anonymous_enum):
(ObjCGenerator.variable_name_prefix_for_domain):
(ObjCGenerator.objc_accessor_type_for_raw_name):
(ObjCGenerator.objc_type_for_raw_name):
(ObjCGenerator.objc_class_for_raw_name):
(ObjCGenerator.protocol_type_for_raw_name):
(ObjCGenerator.protocol_type_for_type):
(ObjCGenerator.objc_class_for_type):
(ObjCGenerator.objc_accessor_type_for_member):
(ObjCGenerator.objc_accessor_type_for_member_internal):
(ObjCGenerator.objc_type_for_member):
(ObjCGenerator.objc_type_for_member_internal):
(ObjCGenerator.objc_type_for_param):
(ObjCGenerator.objc_type_for_param_internal):
(ObjCGenerator.objc_protocol_export_expression_for_variable):
(ObjCGenerator.objc_protocol_import_expression_for_member):
(ObjCGenerator.objc_protocol_import_expression_for_parameter):
(ObjCGenerator.objc_protocol_import_expression_for_variable):
(ObjCGenerator.objc_to_protocol_expression_for_member):
(ObjCGenerator.protocol_to_objc_expression_for_member):
(ObjCGenerator.objc_setter_method_for_member):
(ObjCGenerator.objc_setter_method_for_member_internal):
(ObjCGenerator.objc_getter_method_for_member):
(ObjCGenerator.objc_getter_method_for_member_internal):

  • inspector/scripts/codegen/generate_objective_c_backend_dispatcher_header.py: Copied from Source/JavaScriptCore/inspector/scripts/codegen/generate_alternate_backend_dispatcher_header.py.

(ObjectiveCBackendDispatcherHeaderGenerator):
(ObjectiveCBackendDispatcherHeaderGenerator.output_filename):
(ObjectiveCBackendDispatcherHeaderGenerator.domains_to_generate):
(ObjectiveCBackendDispatcherHeaderGenerator.generate_output):
(ObjectiveCBackendDispatcherHeaderGenerator._generate_objc_forward_declarations):
(ObjectiveCBackendDispatcherHeaderGenerator._generate_objc_forward_declarations_for_domains):
(ObjectiveCBackendDispatcherHeaderGenerator._generate_objc_handler_declarations_for_domain):
(ObjectiveCBackendDispatcherHeaderGenerator._generate_objc_handler_declaration_for_command):

  • inspector/scripts/codegen/generate_objective_c_backend_dispatcher_implementation.py: Added.

(ObjectiveCConfigurationImplementationGenerator):
(ObjectiveCConfigurationImplementationGenerator.init):
(ObjectiveCConfigurationImplementationGenerator.output_filename):
(ObjectiveCConfigurationImplementationGenerator.domains_to_generate):
(ObjectiveCConfigurationImplementationGenerator.generate_output):
(ObjectiveCConfigurationImplementationGenerator._generate_handler_implementation_for_domain):
(ObjectiveCConfigurationImplementationGenerator._generate_handler_implementation_for_command):
(ObjectiveCConfigurationImplementationGenerator._generate_success_block_for_command):
(ObjectiveCConfigurationImplementationGenerator._generate_conversions_for_command):
(ObjectiveCConfigurationImplementationGenerator._generate_invocation_for_command):

  • inspector/scripts/codegen/generate_objective_c_configuration_header.py: Copied from Source/JavaScriptCore/inspector/scripts/codegen/generate_alternate_backend_dispatcher_header.py.

(ObjectiveCConfigurationHeaderGenerator):
(ObjectiveCConfigurationHeaderGenerator.output_filename):
(ObjectiveCConfigurationHeaderGenerator.generate_output):
(ObjectiveCConfigurationHeaderGenerator._generate_configuration_interface_for_domains):
(ObjectiveCConfigurationHeaderGenerator._generate_properties_for_domain):

  • inspector/scripts/codegen/generate_objective_c_configuration_implementation.py: Added.

(ObjectiveCBackendDispatcherImplementationGenerator):
(ObjectiveCBackendDispatcherImplementationGenerator.init):
(ObjectiveCBackendDispatcherImplementationGenerator.output_filename):
(ObjectiveCBackendDispatcherImplementationGenerator.generate_output):
(ObjectiveCBackendDispatcherImplementationGenerator._generate_configuration_implementation_for_domains):
(ObjectiveCBackendDispatcherImplementationGenerator._generate_ivars):
(ObjectiveCBackendDispatcherImplementationGenerator._generate_dealloc):
(ObjectiveCBackendDispatcherImplementationGenerator._generate_handler_setter_for_domain):
(ObjectiveCBackendDispatcherImplementationGenerator._generate_event_dispatcher_getter_for_domain):

  • inspector/scripts/codegen/generate_objective_c_conversion_helpers.py: Added.

(add_whitespace_separator):
(ObjectiveCConversionHelpersGenerator):
(ObjectiveCConversionHelpersGenerator.init):
(ObjectiveCConversionHelpersGenerator.output_filename):
(ObjectiveCConversionHelpersGenerator.domains_to_generate):
(ObjectiveCConversionHelpersGenerator.generate_output):
(ObjectiveCConversionHelpersGenerator._generate_enum_conversion_functions):
(ObjectiveCConversionHelpersGenerator._generate_anonymous_enum_conversion_for_declaration):
(ObjectiveCConversionHelpersGenerator._generate_anonymous_enum_conversion_for_member):
(ObjectiveCConversionHelpersGenerator._generate_anonymous_enum_conversion_for_parameter):
(ObjectiveCConversionHelpersGenerator._generate_enum_objc_to_protocol_string):
(ObjectiveCConversionHelpersGenerator._generate_enum_from_protocol_string):

  • inspector/scripts/codegen/generate_objective_c_frontend_dispatcher_implementation.py: Added.

(ObjectiveCFrontendDispatcherImplementationGenerator):
(ObjectiveCFrontendDispatcherImplementationGenerator.init):
(ObjectiveCFrontendDispatcherImplementationGenerator.output_filename):
(ObjectiveCFrontendDispatcherImplementationGenerator.domains_to_generate):
(ObjectiveCFrontendDispatcherImplementationGenerator.generate_output):
(ObjectiveCFrontendDispatcherImplementationGenerator._generate_event_dispatcher_implementations):
(ObjectiveCFrontendDispatcherImplementationGenerator._generate_event):
(ObjectiveCFrontendDispatcherImplementationGenerator._generate_event_signature):
(ObjectiveCFrontendDispatcherImplementationGenerator._generate_event_out_parameters):

  • inspector/scripts/codegen/generate_objective_c_header.py: Added.

(add_whitespace_separator):
(ObjectiveCHeaderGenerator):
(ObjectiveCHeaderGenerator.init):
(ObjectiveCHeaderGenerator.output_filename):
(ObjectiveCHeaderGenerator.generate_output):
(ObjectiveCHeaderGenerator._generate_forward_declarations):
(ObjectiveCHeaderGenerator._generate_enums):
(ObjectiveCHeaderGenerator._generate_types):
(ObjectiveCHeaderGenerator._generate_anonymous_enum_for_declaration):
(ObjectiveCHeaderGenerator._generate_anonymous_enum_for_member):
(ObjectiveCHeaderGenerator._generate_anonymous_enum_for_parameter):
(ObjectiveCHeaderGenerator._generate_enum):
(ObjectiveCHeaderGenerator._generate_enum.NS_ENUM):
(ObjectiveCHeaderGenerator._generate_type_interface):
(ObjectiveCHeaderGenerator._generate_init_method_for_required_members):
(ObjectiveCHeaderGenerator._generate_member_property):
(ObjectiveCHeaderGenerator._generate_command_protocols):
(ObjectiveCHeaderGenerator._generate_single_command_protocol):
(ObjectiveCHeaderGenerator._callback_block_for_command):
(ObjectiveCHeaderGenerator._generate_event_interfaces):
(ObjectiveCHeaderGenerator._generate_single_event_interface):

  • inspector/scripts/codegen/generate_objective_c_internal_header.py: Copied from Source/JavaScriptCore/inspector/scripts/codegen/generate_alternate_backend_dispatcher_header.py.

(ObjectiveCTypesInternalHeaderGenerator):
(ObjectiveCTypesInternalHeaderGenerator.output_filename):
(ObjectiveCTypesInternalHeaderGenerator.generate_output):
(ObjectiveCTypesInternalHeaderGenerator._generate_event_dispatcher_private_interfaces):

  • inspector/scripts/codegen/generate_objective_c_types_implementation.py: Added.

(add_whitespace_separator):
(ObjectiveCTypesImplementationGenerator):
(ObjectiveCTypesImplementationGenerator.init):
(ObjectiveCTypesImplementationGenerator.output_filename):
(ObjectiveCTypesImplementationGenerator.domains_to_generate):
(ObjectiveCTypesImplementationGenerator.generate_output):
(ObjectiveCTypesImplementationGenerator.generate_type_implementations):
(ObjectiveCTypesImplementationGenerator.generate_type_implementation):
(ObjectiveCTypesImplementationGenerator._generate_init_method_for_required_members):
(ObjectiveCTypesImplementationGenerator._generate_setter_for_member):
(ObjectiveCTypesImplementationGenerator._generate_getter_for_member):

  • inspector/scripts/codegen/generate_protocol_types_header.py:

(ProtocolTypesHeaderGenerator._generate_forward_declarations):
(_generate_typedefs_for_domain):
(_generate_builders_for_domain):

  • inspector/scripts/codegen/generator.py:

(Generator.wrap_with_guard_for_domain):
(Generator):
(Generator.wrap_with_guard):

  • inspector/scripts/codegen/generator_templates.py:

(AlternateInspector):
(ObjCInspector):

  • inspector/scripts/codegen/models.py:

(Framework.fromString):
(Frameworks):

  • inspector/scripts/generate-inspector-protocol-bindings.py:

(generate_from_specification):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
15:06 Changeset [175384] by adachan@apple.com
  • 12 edits
    2 adds in trunk

The Page's muted setting should not affect the HTMLMediaElement's 'muted' IDL attribute.
https://bugs.webkit.org/show_bug.cgi?id=138215

Reviewed by Eric Carlson.

Source/WebCore:

Add m_muted in Page to keep track of the Page's muted state. Change AudioProducer::setMuted()
to pageMutedStateDidChange(). When that method is called, the AudioProducer is supposed to
update its muted state again taking the Page's muted state into account.

Add HTMLMediaElement::effectiveMuted(), which returns the effective muted state of the
HTMLMediaElement, taking the Page's muted state into account.

Test: media/video-muted-after-setting-page-muted-state.html

  • dom/Document.cpp:

(WebCore::Document::pageMutedStateDidChange):
(WebCore::Document::setMuted): Deleted.

  • dom/Document.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setMuted):
Set the MediaPlayer's muted state to the result of effectiveMuted() rather than m_muted.
(WebCore::HTMLMediaElement::updateVolume):
Ditto, and also make sure the MediaController's muted state does not override the Page's
muted state.
(WebCore::HTMLMediaElement::updatePlayState):
Set the MediaPlayer's muted state to the result of effectiveMuted() rather than muted().
(WebCore::HTMLMediaElement::pageMutedStateDidChange):
Call updateVolume(), which will update the MediaPlayer's muted state.
(WebCore::HTMLMediaElement::effectiveMuted):
Figure out the muted value taking Page's muted state into account.

  • html/HTMLMediaElement.h:
  • page/AudioProducer.h:
  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::setMuted):
Update m_muted, and only iterate through the frames' documents to call pageMutedStateDidChange()
if m_muted changes.

  • page/Page.h:

(WebCore::Page::isMuted):

  • testing/Internals.cpp:

(WebCore::Internals::setPageMuted):
Expose a way to set the Page's muted state in Internals for testing.

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • media/video-muted-after-setting-page-muted-state-expected.txt: Added.
  • media/video-muted-after-setting-page-muted-state.html: Added.
14:39 Changeset [175383] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Use references in calculateMinimumPageHeight() for non-optional arguments
https://bugs.webkit.org/show_bug.cgi?id=138231

Reviewed by Dean Jackson.

No new tests because there is no behavior change.

  • rendering/RenderBlockFlow.cpp:

(WebCore::calculateMinimumPageHeight):
(WebCore::RenderBlockFlow::adjustLinePositionForPagination):

14:35 Changeset [175382] by jpfau@apple.com
  • 2 edits in trunk/Source/WTF

ASSERT(!m_deletionHasBegun) in RefCounted.h should be ASSERT_WITH_SECURITY_IMPLICATION
https://bugs.webkit.org/show_bug.cgi?id=138141

Reviewed by Alexey Proskuryakov.

  • wtf/RefCounted.h:

(WTF::RefCountedBase::ref):
(WTF::RefCountedBase::relaxAdoptionRequirement):
(WTF::RefCountedBase::derefBase):
(WTF::adopted):

14:30 Changeset [175381] by cdumez@apple.com
  • 4 edits in trunk/Source/WebCore

Move -webkit-border-image / -webkit-mask-box-image to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138207

Reviewed by Andreas Kling.

Move -webkit-border-image / -webkit-mask-box-image CSS properties to
the new StyleBuilder so that they are now generated from
CSSPropertyNames.in.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyBorderImage::applyValue): Deleted.
(WebCore::ApplyPropertyBorderImage::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertBorderImage):
(WebCore::StyleBuilderConverter::convertBorderMask):

14:25 Changeset [175380] by cdumez@apple.com
  • 9 edits in trunk/Source/WebCore

Optimize HTMLVideoElement / HTMLAudioElement type checks a bit
https://bugs.webkit.org/show_bug.cgi?id=138202

Reviewed by Benjamin Poulain.

Optimize HTMLVideoElement / HTMLAudioElement type checks a bit by:

  1. Using is<HTMLMediaElement>() instead of
(is<HTMLVideoElement>()
is<HTMLAudioElement>()) if the caller is

interested in both video and audio elements. This is faster because
it ends up doing:

  • virtual call to Element::isMediaElement()

instead of

  • Node::isHTMLElement() + virtual call to HTMLElement::isHTMLUnknownElement() + 2 * HTMLElement::hasTagName()
  1. Updating HTMLVideoElement / HTMLAudioElement type traits specializations to:
    • Avoid doing any virtual function call if the input type is an HTMLMediaElement (which is common in the code base).
    • Speed up check if the input is an Element by doing:
      • virtual call to Element::isMediaElement() + HTMLElement::hasTagName()
      instead of
      • Node::isHTMLElement() + virtual call to !HTMLElement::isHTMLUnknownElement() + HTMLElement::hasTagName()
      The speed stays the same if the input is a Node or an HTMLElement.

No new tests, no behavior change.

  • css/CSSDefaultStyleSheets.cpp:

(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):

  • dom/make_names.pl:

(defaultTagPropertyHash):
(printTypeHelpers):

  • html/HTMLAudioElement.h:

(isType):

  • html/HTMLImageLoader.cpp:
  • html/HTMLTagNames.in:
  • html/HTMLVideoElement.h:

(isType):

  • page/ChromeClient.h:
14:17 Changeset [175379] by mmaxfield@apple.com
  • 3 edits
    1 add in trunk/Source/WebCore

Migrate ComplexTextControllerCoreText to use SPI instead of WKSI
https://bugs.webkit.org/show_bug.cgi?id=138228

Reviewed by Simon Fraser.

No new tests because there is no behavior change.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

  • platform/spi/cocoa/CoreTextSPI.h: Added.
14:00 Changeset [175378] by beidson@apple.com
  • 4 edits
    2 adds in trunk

IndexedDB is deleting data when a PK is shared amongst two objectStores
rdar://problem/18479306 and https://bugs.webkit.org/show_bug.cgi?id=137154

Reviewed by Jer Noble.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::v1RecordsTableSchema): Store away the v1 schema for introspection into the database.
(WebKit::v2RecordsTableSchema): Add utility methods to get the v2 schema with different Table names.
(WebKit::createOrMigrateRecordsTableIfNecessary): Check to see if the Records table exists with

the correct schema. If it is the v1 schema, then migrate the data to a new v2 table, drop the v1
table, then slide the new table into place.

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::ensureValidRecordsTable): Make sure the Records table

exists and is v2, and then make sure the uniqueness index exists.

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Don’t bother creating

the Records table here as it will have already been established earlier.

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

LayoutTests:

  • storage/indexeddb/primary-key-unique-to-objectstore-expected.txt: Added.
  • storage/indexeddb/primary-key-unique-to-objectstore.html: Added.
13:57 Changeset [175377] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

Update safariVersion to safariVersionString
https://bugs.webkit.org/show_bug.cgi?id=138193

The preceding change updated safariVersion to safariVersionString for the "4 Public Beta" check in OS X 10.5.x,
but it should have also been done for the "4 Public Beta" check in OS X 10.4.x.

Rubber-stamped by David Kilzer.

  • Scripts/bisect-builds:

(makeNightlyList):
Compare safariVersionString to a string literal, instead of safariVersion.

12:38 Changeset [175376] by bdakin@apple.com
  • 12 edits in trunk/Source/WebKit2

Implement action menus for text
https://bugs.webkit.org/show_bug.cgi?id=138220
-and corresponding-
rdar://problem/18742297

Reviewed by Tim Horton.

Two new types of actions for the two text actions.

  • Shared/API/c/WKActionMenuItemTypes.h:

One new type of menu.

  • Shared/API/c/WKActionMenuTypes.h:

Pass willOpenMenu on to the WKActionMenuController.

  • UIProcess/API/mac/WKView.mm:

(-[WKView willOpenMenu:withEvent:]):

Two new WebPageProxy functions that will pass messages along to the web process.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::selectLookupTextAtLocation):

  • UIProcess/WebPageProxy.h:

At willOpenMenu time, text menus should select text so that it is clear what the
menu actions will apply to.

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

Menu items for text menus.
(-[WKActionMenuController willOpenMenu:withEvent:]):
(-[WKActionMenuController _defaultMenuItemsForText]):
(-[WKActionMenuController _copyText:]):
(-[WKActionMenuController _lookupText:]):
(-[WKActionMenuController _createActionMenuItemForTag:]):
(imageForResource:name::if):

New messages to the web process.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::performDictionaryLookupOfCurrentSelection):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Re-factor performDictionaryLookupAtLocation() to re-use the code that finds the
Range for the dictionary lookup. That code now lives in
rangeForDictionaryLookupAtHitTestResult() and can be used by
performDictionaryLookupAtLocation() and our new function
selectLookupTextAtLocation().

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::rangeForDictionaryLookupAtHitTestResult):
(WebKit::WebPage::performDictionaryLookupAtLocation):

Since the action menu text is always selected, when the lookup action is chosen,
we can just lookup the current selection.
(WebKit::WebPage::performDictionaryLookupOfCurrentSelection):

Uses the new function rangeForDictionaryLookupAtHitTestResult() to get a lookup
range and then select it.
(WebKit::WebPage::selectLookupTextAtLocation):

12:04 Changeset [175375] by eric.carlson@apple.com
  • 4 edits in trunk/Source/WebCore

Add diagnostic logging to track page loads.
https://bugs.webkit.org/show_bug.cgi?id=138205
<rdar://problem/18173017>

Reviewed by Jer Noble.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Log page load success or failure.

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::pageLoadedKey): New.

  • page/DiagnosticLoggingKeys.h:
11:48 Changeset [175374] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

When a client certificate is rejected, Safari says the website didn’t accept the certificate “unknown” instead of naming the certificate
https://bugs.webkit.org/show_bug.cgi?id=138216

Reviewed by Alexey Proskuryakov.

  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::typeFromCFTypeRef): Remove no-longer-necessary platform guards around SecIdentityRef.
(IPC::encode): Ditto.
(IPC::decode): Ditto.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<ResourceError>::encodePlatformData): If NSErrorClientCertificateChainKey
is present in the error’s userInfo dictionary, assert that it’s an array of identities and
certificates, and include it in the filtered dictionary.

10:39 Changeset [175373] by jer.noble@apple.com
  • 2 edits
    2 copies
    3 adds in trunk/LayoutTests

Unreviewed gardening; rebaseline two media/ tests.

  • platform/mac-mavericks/media/controls-after-reload-expected.txt: Added.
  • platform/mac-mavericks/media/controls-styling-expected.txt:
  • platform/mac-mountainlion/media/controls-after-reload-expected.txt: Added.
  • platform/mac-mountainlion/media/controls-styling-expected.txt: Copied from LayoutTests/platform/mac-mavericks/media/controls-styling-expected.txt.
  • platform/mac-wk1/media/controls-styling-expected.txt: Copied from LayoutTests/platform/mac-mavericks/media/controls-styling-expected.txt.
09:01 Changeset [175372] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed assertion fix.

RegExpCachedResult::m_reified is now the dedicated member that knows whether
the result was reified into an array or not. Check that instead of m_result
which is now single-purpose.

  • runtime/RegExpCachedResult.cpp:

(JSC::RegExpCachedResult::setInput):

06:45 Changeset [175371] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Minibrowser : Add window fullscreen support for Minibrowser
https://bugs.webkit.org/show_bug.cgi?id=137775

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-10-30
Reviewed by Carlos Garcia Campos.

  • MiniBrowser/gtk/BrowserWindow.c:

(toggleFullScreen): Callback to toggle window fullscreen on pressing F11 key.
(browser_window_init):

03:07 WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
01:53 Changeset [175370] by philn@webkit.org
  • 6 edits in trunk/Source/WebCore

[GStreamer] Video resolution changes trigger a crash in the TextureMapper
https://bugs.webkit.org/show_bug.cgi?id=137065

Reviewed by Gustavo Noronha Silva.

Switch to GstSample for buffer+caps communication between the
video sink and the player. Using a single object type for this
avoid issues where the caps might not correctly describe the
buffer contents anymore, for example when the video resolution is
changed.

  • platform/graphics/gstreamer/ImageGStreamer.h: Use GstSample

instead of GstBuffer+GstCaps.
(WebCore::ImageGStreamer::createImage):

  • platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto.

(ImageGStreamer::ImageGStreamer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::mediaPlayerPrivateRepaintCallback): The repaint signal
now uses a GstSample instead of a GstBuffer.
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
Store the current sample instead of a buffer. Also renamed the
mutex protecting access to the sample.
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase): Ditto.
(WebCore::MediaPlayerPrivateGStreamerBase::naturalSize): Return
early if no sample is available. The caps used to get the video
size are store in the sample.
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Use
GstSample instead of GstBuffer.
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint): Ditto.
(WebCore::MediaPlayerPrivateGStreamerBase::paint): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Now store a

GstSample internally. Also removed the now useless current-caps property.
(_WebKitVideoSinkPrivate::_WebKitVideoSinkPrivate): Renamed the
mutex protecting access to the sample.
(_WebKitVideoSinkPrivate::~_WebKitVideoSinkPrivate): Ditto.
(webkit_video_sink_init): Disable last-sample in basesink since we
already store one in our sink anyway.
(webkitVideoSinkTimeoutCallback): Switch to GstSample.
(webkitVideoSinkRender): Ditto.
(unlockSampleMutex): Ditto.
(webkitVideoSinkUnlock): Ditto.
(webkitVideoSinkUnlockStop): Ditto.
(webkitVideoSinkStop): Ditto!
(webkitVideoSinkStart): Ditto.
(webkit_video_sink_class_init): Drop current-caps property.
(webkitVideoSinkGetProperty): Deleted.
(unlockBufferMutex): Deleted.

01:02 Changeset [175369] by carlosgc@webkit.org
  • 4 edits in trunk/Source/WebCore

FormDataBuilder should not use Document
https://bugs.webkit.org/show_bug.cgi?id=138172

Reviewed by Alexey Proskuryakov.

It's only used by encodingFromAcceptCharset() to fallback to
document input encoding. That method is only used by
FormSubmission::create(), so it could be moved as a static
function to FormSubmission.cpp.

  • loader/FormSubmission.cpp:

(WebCore::encodingFromAcceptCharset):
(WebCore::FormSubmission::create):

  • platform/network/FormDataBuilder.cpp:

(WebCore::FormDataBuilder::encodingFromAcceptCharset): Deleted.

  • platform/network/FormDataBuilder.h:
00:37 Changeset [175368] by bshafiei@apple.com
  • 3 edits
    2 copies in tags/Safari-601.1.6

Merged r175312. rdar://problem/18808163

10/29/14:

22:02 Changeset [175367] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

CommitQueue and EWS should reject any patches that result in consistent test
failures that aren't present on the tree.
https://bugs.webkit.org/show_bug.cgi?id=138184

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-29
Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/layout_tests/models/test_results.py:

Adds a simple hashing function to allow for set operations to handle
TestResult objects properly.
(TestResult.hash):

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

Adds one unit test, and modifies others to agree with the notion that
patches that introduce new test failures (but also have flakyness)
should be rejected rather than spin.
(MockCommitQueue.report_flaky_tests):
(CommitQueueTaskTest._run_and_expect_patch_analysis_result):
(test_double_flaky_test_failure):
(test_two_flaky_tests):
(test_very_flaky_patch):
(test_very_flaky_patch_with_some_tree_redness):
(test_different_test_failures):
(test_different_test_failures_with_some_tree_redness):
(test_different_test_failures_with_some_tree_redness_and_some_fixes):
(test_mildly_flaky_patch):
(test_mildly_flaky_patch_with_some_tree_redness):

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

Makes PatchAnalysisTask reject said patches.
(PatchAnalysisTask._test_patch):

21:53 Changeset [175366] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

WinCairoRequirements.zip cannot be downloaded from dropbox
https://bugs.webkit.org/show_bug.cgi?id=138113

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

  • Scripts/update-webkit-dependency: Removing --sslv3 option from curl
20:54 Changeset [175365] by akling@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Use plain JSArray for RegExp matches instead of a lazily populated custom object.
<https://webkit.org/b/138191>

Reviewed by Geoffrey Garen.

We're already offering two RegExp matching APIs, one that collects subpattern
matches (exec), and one that simply tests for a match (test).
Given that, it was pretty overkill to lazily populate the resulting array of
matches, since the user could simply use test() if they didn't need them.

This allows the JIT to generate better code for RegExp match arrays, and also
enables some fast paths in the JSC runtime that check if an object isJSArray().

Looks like ~1.5% improvement on Octane/regexp according to run-jsc-benchmarks.

  • jit/Repatch.cpp:

(JSC::tryCacheGetByID):

  • runtime/JSArray.h:

(JSC::createArrayButterflyWithExactLength): Deleted.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/RegExpCachedResult.cpp:

(JSC::RegExpCachedResult::visitChildren):
(JSC::RegExpCachedResult::lastResult):
(JSC::RegExpCachedResult::leftContext):
(JSC::RegExpCachedResult::rightContext):

  • runtime/RegExpCachedResult.h:

(JSC::RegExpCachedResult::RegExpCachedResult):
(JSC::RegExpCachedResult::record):
(JSC::RegExpCachedResult::input):

  • runtime/RegExpConstructor.cpp:

(JSC::RegExpConstructor::getBackref):
(JSC::RegExpConstructor::getLastParen):
(JSC::RegExpConstructor::getLeftContext):
(JSC::RegExpConstructor::getRightContext):

  • runtime/RegExpMatchesArray.cpp:

(JSC::createRegExpMatchesArray):
(JSC::RegExpMatchesArray::RegExpMatchesArray): Deleted.
(JSC::RegExpMatchesArray::create): Deleted.
(JSC::RegExpMatchesArray::finishCreation): Deleted.
(JSC::RegExpMatchesArray::visitChildren): Deleted.
(JSC::RegExpMatchesArray::reifyAllProperties): Deleted.
(JSC::RegExpMatchesArray::reifyMatchProperty): Deleted.
(JSC::RegExpMatchesArray::leftContext): Deleted.
(JSC::RegExpMatchesArray::rightContext): Deleted.

  • runtime/RegExpMatchesArray.h:

(JSC::RegExpMatchesArray::createStructure): Deleted.
(JSC::RegExpMatchesArray::reifyAllPropertiesIfNecessary): Deleted.
(JSC::RegExpMatchesArray::reifyMatchPropertyIfNecessary): Deleted.
(JSC::RegExpMatchesArray::getOwnPropertySlot): Deleted.
(JSC::RegExpMatchesArray::getOwnPropertySlotByIndex): Deleted.
(JSC::RegExpMatchesArray::put): Deleted.
(JSC::RegExpMatchesArray::putByIndex): Deleted.
(JSC::RegExpMatchesArray::deleteProperty): Deleted.
(JSC::RegExpMatchesArray::deletePropertyByIndex): Deleted.
(JSC::RegExpMatchesArray::getOwnPropertyNames): Deleted.
(JSC::RegExpMatchesArray::defineOwnProperty): Deleted.
(JSC::isRegExpMatchesArray): Deleted.

  • runtime/RegExpObject.cpp:

(JSC::RegExpObject::exec):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncMatch):

20:36 Changeset [175364] by dburkart@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Bump versioning.

20:27 Changeset [175363] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

ASSERTION NOT REACHED because RenderStyle::setWordSpacing() does not handle a Length value of type 'Calculated'.
https://bugs.webkit.org/show_bug.cgi?id=138054.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-29
Reviewed by Zalan Bujtas.

Source/WebCore:

A Length of type 'Calculated' can be generated from blending two lengths of
different types. Setting the wordSpacing of the render style should be handled
correctly when the type of the new value is 'Calculated'.

Tests: css3/calculated-word-spacing.html.

Add a case for setting the render style wordSpacing to a <length> of type 'Calculated'.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setWordSpacing):

LayoutTests:

Ensure the render style's wordSpacing can be set correctly when the type of
the new value is 'Calculated'. The 'Calculated' Length value can result from
blending two Length values of different types. And these two Length values
are defined in two consecutive css animation key frames.

  • css3/calculated-word-spacing-expected.txt: Added.
  • css3/calculated-word-spacing.html: Added.
19:29 Changeset [175362] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Web Inspector: Fix Type Dependency Issues
https://bugs.webkit.org/show_bug.cgi?id=125664

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-10-29
Reviewed by Brian Burg.

Now that all JSON protocol files are processed together again
in r174892, we can remove the duplicated types which were only
needed when the domains were split.

  • inspector/protocol/Console.json:
  • inspector/protocol/Runtime.json:
18:18 Changeset [175361] by commit-queue@webkit.org
  • 9 edits in trunk/Source

[CoordinatedGraphics] Use modern for-loops
https://bugs.webkit.org/show_bug.cgi?id=138168

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2014-10-29
Reviewed by Andreas Kling.

No new tests as there is no change in functionality.

Source/WebCore:

  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp: Use a modern for loop.

(WebCore::CompositingCoordinator::renderNextFrame):
(WebCore::CompositingCoordinator::paintToSurface):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: Use a modern for loop.

(WebCore::CoordinatedGraphicsLayer::setShouldUpdateVisibleRect):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::syncChildren):
(WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers):
(WebCore::CoordinatedGraphicsLayer::findFirstDescendantWithContentsRecursively):
(WebCore::CoordinatedGraphicsLayer::updateContentBuffersIncludingSubLayers):

  • platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp: Use a modern for loop.

(WebCore::CoordinatedImageBacking::updateVisibilityIfNeeded):

Source/WebKit2:

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp: Use a modern for loop.

(WebCore::CoordinatedBackingStore::texture):
(WebCore::CoordinatedBackingStore::paintTilesToTextureMapper):

  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: Use a modern for loop.

(WebKit::CoordinatedDrawingAreaProxy::incorporateUpdate):

  • UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: Use a modern for loop.

(WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
(WebCore::CoordinatedGraphicsScene::createLayers): changed the name of argument to be equal with deleteLayer().
(WebCore::CoordinatedGraphicsScene::deleteLayers):
(WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
(WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
(WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
(WebCore::CoordinatedGraphicsScene::syncUpdateAtlases):
(WebCore::CoordinatedGraphicsScene::syncImageBackings):
(WebCore::CoordinatedGraphicsScene::commitSceneState):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: Use a modern for loop.

(WebKit::shouldPaintBoundsRect):
(WebKit::CoordinatedDrawingArea::display):

18:06 Changeset [175360] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, EFL build fix since r175349.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::didRemoveItem): Use PLATFORM(COCOA) for setSnapshot().

17:49 Changeset [175359] by dburkart@apple.com
  • 1 copy in tags/Safari-600.3.2

Tagging Safari-600.3.2

17:16 Changeset [175358] by cdumez@apple.com
  • 2 edits in trunk/Source/WebCore

Final-ize more of TextFieldInputType's virtual functions
https://bugs.webkit.org/show_bug.cgi?id=138194

Reviewed by Andreas Kling.

Final-ize more of TextFieldInputType's virtual functions for
performance.

No new tests, no behavior change.

  • html/TextFieldInputType.h:
17:13 Changeset [175357] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

bisect-builds should filter out nightlies that predate the introduction of an OS X operating system
https://bugs.webkit.org/show_bug.cgi?id=138193

This patch restricts the set of nightles to bisect to only those nightlies that ship with frameworks
for the target OS (only support for OS X Yosemite, Mavericks and Mountain Lion was added.)

It also does a bit of refactoring, including distinguishing between versions and version strings and
saving versions to local variables instead of using eval in each conditional.

Reviewed by David Kilzer.

  • Scripts/bisect-builds:

(makeNightlyList):
Restrict the set of nightlies to r174650 and above when running Yosemite.
Restrict the set of nightlies to r157846 and above when running Mavericks.
Restrict the set of nightlies to r122421 and above when running Mountain Lion.

16:33 Changeset [175356] by simon.fraser@apple.com
  • 2 edits in trunk/LayoutTests

Skip compositing/regions/propagate-region-box-shadow-border-padding-for-video.html which
asserts in Debug.

  • platform/mac/TestExpectations:
16:28 Changeset [175355] by cdumez@apple.com
  • 18 edits in trunk/Source/WebCore

Clean up virtual functions in inspector/
https://bugs.webkit.org/show_bug.cgi?id=138190

Reviewed by Andreas Kling.

Clean up virtual functions in inspector/ by:

  • Making virtual functions final when possible
  • Making classes final when possible
  • Explicitly marking functions / destructors as virtual when they are inherently virtual
  • Making isXXX() virtual functions private on XXX classes to avoid unnecessary type checks

No new tests, no behavior change.

  • inspector/InspectorApplicationCacheAgent.h:

(WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent): Deleted.

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorFrontendClientLocal.h:
  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.h:
  • inspector/PageConsoleAgent.h:
  • inspector/WorkerInspectorController.h:
16:18 Changeset [175354] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175353. rdar://problem/18817803

16:13 Changeset [175353] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Null deref under performActionMenuHitTestAtLocation
https://bugs.webkit.org/show_bug.cgi?id=138197
<rdar://problem/18817803>

Reviewed by Beth Dakin.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::scanForDataDetectedItems):
Null-check the expanded range.

16:02 Changeset [175352] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Generalize dirtying of parent's line boxes when taking a renderer out of tree.
<https://webkit.org/b/138152>

Reviewed by Antti Koivisto.

Instead of calling dirtyLinesFromChangedChild() when certain types of renderers
are about to be destroyed, always do this in RenderElement::willBeRemovedFromTree().

This is part of an effort to make render tree teardown less incomprehensible.

We still don't bother at all if we're in the process of tearing down the entire
render tree, since that would be a waste of time.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::willBeDestroyed):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::willBeRemovedFromTree):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::willBeDestroyed):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::willBeDestroyed): Deleted.

  • rendering/RenderReplaced.h:
15:59 Changeset [175351] by adachan@apple.com
  • 11 edits in trunk/Source

Implement WKPageSetMuted(bool).
https://bugs.webkit.org/show_bug.cgi?id=138158

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in:
  • page/Page.h:

Source/WebKit2:

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetMuted):

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

(WebKit::WebPageProxy::setMuted):

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

(WebKit::WebPage::setMuted):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
15:43 Changeset [175350] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Add a missing symbol to fix the build after the merge of r175335. rdar://problem/18709436

15:34 Changeset [175349] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Clear ViewSnapshots when back/forward list items are removed from their list
https://bugs.webkit.org/show_bug.cgi?id=138188
<rdar://problem/18817001>

Reviewed by Tim Horton.

Ideally we should remove the WebBackForwardListItem objects as well, but this is a somewhat safer fix.

Change all the "remove item" codepaths to call WebBackForwardList::didRemoveItem and have it clear out the snapshot.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::pageClosed):
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::removeAllItems):
(WebKit::WebBackForwardList::clear):
(WebKit::WebBackForwardList::didRemoveItem):

  • UIProcess/WebBackForwardList.h:
15:01 Changeset [175348] by antti@apple.com
  • 7 edits
    2 adds in trunk/Source/WebCore

Notify Settings object when its Page object goes away.
https://bugs.webkit.org/show_bug.cgi?id=138183
rdar://problem/18786900

Patch by Alexey Proskuryakov <ap@apple.com> on 2014-10-29
Reviewed by Andreas Kling.

I could not make a test for this issue.

  • page/Page.cpp:

(WebCore::Page::~Page):

  • page/Settings.cpp:

(WebCore::setImageLoadingSettings):
(WebCore::Settings::Settings):
(WebCore::Settings::setTextAutosizingEnabled):
(WebCore::Settings::setTextAutosizingWindowSizeOverride):
(WebCore::Settings::setTextAutosizingFontScaleFactor):
(WebCore::Settings::setMediaTypeOverride):
(WebCore::Settings::setScriptEnabled):
(WebCore::Settings::setUserStyleSheetLocation):
(WebCore::Settings::setMinDOMTimerInterval):
(WebCore::Settings::minDOMTimerInterval):
(WebCore::Settings::domTimerAlignmentInterval):
(WebCore::Settings::setUsesPageCache):
(WebCore::Settings::setScreenFontSubstitutionEnabled):
(WebCore::Settings::setFontRenderingMode):
(WebCore::Settings::setDNSPrefetchingEnabled):
(WebCore::Settings::setStorageBlockingPolicy):
(WebCore::Settings::setBackgroundShouldExtendBeyondPage):
(WebCore::Settings::setScrollingPerformanceLoggingEnabled):
(WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):
(WebCore::Settings::setHiddenPageCSSAnimationSuspensionEnabled):
(WebCore::Settings::setFontFallbackPrefersPictographs):

  • page/Settings.h:

(WebCore::Settings::pageDestroyed):

14:59 Changeset [175347] by ap@apple.com
  • 4 edits in trunk/Source/WebCore

Notify Settings object when its Page object goes away.
https://bugs.webkit.org/show_bug.cgi?id=138183
rdar://problem/18786900

Reviewed by Andreas Kling.

I could not make a test for this issue.

  • page/Page.cpp:

(WebCore::Page::~Page):

  • page/Settings.cpp:

(WebCore::setImageLoadingSettings):
(WebCore::Settings::Settings):
(WebCore::Settings::setTextAutosizingEnabled):
(WebCore::Settings::setTextAutosizingWindowSizeOverride):
(WebCore::Settings::setTextAutosizingFontScaleFactor):
(WebCore::Settings::setMediaTypeOverride):
(WebCore::Settings::setScriptEnabled):
(WebCore::Settings::setUserStyleSheetLocation):
(WebCore::Settings::setMinDOMTimerInterval):
(WebCore::Settings::minDOMTimerInterval):
(WebCore::Settings::domTimerAlignmentInterval):
(WebCore::Settings::setUsesPageCache):
(WebCore::Settings::setScreenFontSubstitutionEnabled):
(WebCore::Settings::setFontRenderingMode):
(WebCore::Settings::setDNSPrefetchingEnabled):
(WebCore::Settings::setStorageBlockingPolicy):
(WebCore::Settings::setBackgroundShouldExtendBeyondPage):
(WebCore::Settings::setScrollingPerformanceLoggingEnabled):
(WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):
(WebCore::Settings::setHiddenPageCSSAnimationSuspensionEnabled):
(WebCore::Settings::setFontFallbackPrefersPictographs):

  • page/Settings.h:

(WebCore::Settings::pageDestroyed):

14:32 WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
14:32 Changeset [175346] by commit-queue@webkit.org
  • 129 edits
    2 adds in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

Rebaseline after 175259.

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-10-29

  • platform/gtk/css1/basic/containment-expected.txt:
  • platform/gtk/css1/basic/contextual_selectors-expected.txt:
  • platform/gtk/css1/basic/grouping-expected.txt:
  • platform/gtk/css1/basic/id_as_selector-expected.txt:
  • platform/gtk/css1/basic/inheritance-expected.txt:
  • platform/gtk/css1/box_properties/border-expected.txt:
  • platform/gtk/css1/box_properties/border_bottom_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_bottom_width-expected.txt:
  • platform/gtk/css1/box_properties/border_bottom_width_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_color-expected.txt:
  • platform/gtk/css1/box_properties/border_color_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_left-expected.txt:
  • platform/gtk/css1/box_properties/border_left_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_left_width-expected.txt:
  • platform/gtk/css1/box_properties/border_left_width_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_right-expected.txt:
  • platform/gtk/css1/box_properties/border_right_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_right_width-expected.txt:
  • platform/gtk/css1/box_properties/border_right_width_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_style-expected.txt:
  • platform/gtk/css1/box_properties/border_style_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_top_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_top_width-expected.txt:
  • platform/gtk/css1/box_properties/border_top_width_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_width-expected.txt:
  • platform/gtk/css1/box_properties/border_width_inline-expected.txt:
  • platform/gtk/css1/box_properties/clear-expected.txt:
  • platform/gtk/css1/box_properties/clear_float-expected.txt:
  • platform/gtk/css1/box_properties/float-expected.txt:
  • platform/gtk/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/gtk/css1/box_properties/float_margin-expected.txt:
  • platform/gtk/css1/box_properties/height-expected.txt:
  • platform/gtk/css1/box_properties/margin-expected.txt:
  • platform/gtk/css1/box_properties/margin_bottom-expected.txt:
  • platform/gtk/css1/box_properties/margin_bottom_inline-expected.txt:
  • platform/gtk/css1/box_properties/margin_inline-expected.txt:
  • platform/gtk/css1/box_properties/margin_left-expected.txt:
  • platform/gtk/css1/box_properties/margin_left_inline-expected.txt:
  • platform/gtk/css1/box_properties/margin_right-expected.txt:
  • platform/gtk/css1/box_properties/margin_right_inline-expected.txt:
  • platform/gtk/css1/box_properties/margin_top-expected.txt:
  • platform/gtk/css1/box_properties/margin_top_inline-expected.txt:
  • platform/gtk/css1/box_properties/padding-expected.txt:
  • platform/gtk/css1/box_properties/padding_bottom-expected.txt:
  • platform/gtk/css1/box_properties/padding_bottom_inline-expected.txt:
  • platform/gtk/css1/box_properties/padding_inline-expected.txt:
  • platform/gtk/css1/box_properties/padding_left-expected.txt:
  • platform/gtk/css1/box_properties/padding_left_inline-expected.txt:
  • platform/gtk/css1/box_properties/padding_right-expected.txt:
  • platform/gtk/css1/box_properties/padding_right_inline-expected.txt:
  • platform/gtk/css1/box_properties/padding_top-expected.txt:
  • platform/gtk/css1/box_properties/padding_top_inline-expected.txt:
  • platform/gtk/css1/box_properties/width-expected.txt:
  • platform/gtk/css1/cascade/cascade_order-expected.txt:
  • platform/gtk/css1/cascade/important-expected.txt:
  • platform/gtk/css1/classification/display-expected.txt:
  • platform/gtk/css1/classification/list_style-expected.txt:
  • platform/gtk/css1/classification/list_style_image-expected.txt:
  • platform/gtk/css1/classification/list_style_position-expected.txt:
  • platform/gtk/css1/classification/list_style_type-expected.txt:
  • platform/gtk/css1/classification/white_space-expected.txt:
  • platform/gtk/css1/color_and_background/background-expected.txt:
  • platform/gtk/css1/color_and_background/background_attachment-expected.txt:
  • platform/gtk/css1/color_and_background/background_color-expected.txt:
  • platform/gtk/css1/color_and_background/background_image-expected.txt:
  • platform/gtk/css1/color_and_background/background_position-expected.txt:
  • platform/gtk/css1/color_and_background/background_repeat-expected.txt:
  • platform/gtk/css1/color_and_background/color-expected.txt:
  • platform/gtk/css1/conformance/forward_compatible_parsing-expected.txt:
  • platform/gtk/css1/font_properties/font-expected.txt:
  • platform/gtk/css1/font_properties/font_family-expected.txt:
  • platform/gtk/css1/font_properties/font_size-expected.txt:
  • platform/gtk/css1/font_properties/font_style-expected.txt:
  • platform/gtk/css1/font_properties/font_variant-expected.txt:
  • platform/gtk/css1/font_properties/font_weight-expected.txt:
  • platform/gtk/css1/formatting_model/canvas-expected.txt:
  • platform/gtk/css1/formatting_model/floating_elements-expected.txt:
  • platform/gtk/css1/formatting_model/height_of_lines-expected.txt:
  • platform/gtk/css1/formatting_model/replaced_elements-expected.txt:
  • platform/gtk/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/gtk/css1/pseudo/anchor-expected.txt:
  • platform/gtk/css1/pseudo/firstletter-expected.txt:
  • platform/gtk/css1/pseudo/firstline-expected.txt:
  • platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/gtk/css1/text_properties/letter_spacing-expected.txt:
  • platform/gtk/css1/text_properties/line_height-expected.txt:
  • platform/gtk/css1/text_properties/text_align-expected.txt:
  • platform/gtk/css1/text_properties/text_decoration-expected.txt:
  • platform/gtk/css1/text_properties/text_indent-expected.txt:
  • platform/gtk/css1/text_properties/text_transform-expected.txt:
  • platform/gtk/css1/text_properties/vertical_align-expected.txt:
  • platform/gtk/css1/text_properties/word_spacing-expected.txt:
  • platform/gtk/css1/units/color_units-expected.txt:
  • platform/gtk/css1/units/length_units-expected.txt:
  • platform/gtk/css1/units/percentage_units-expected.txt:
  • platform/gtk/css1/units/urls-expected.txt:
  • platform/gtk/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/gtk/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/gtk/fast/css/empty-pseudo-class-expected.txt:
  • platform/gtk/fast/css/first-child-pseudo-class-expected.txt:
  • platform/gtk/fast/css/last-child-pseudo-class-expected.txt:
  • platform/gtk/fast/css/only-child-pseudo-class-expected.txt:
  • platform/gtk/fast/forms/targeted-frame-submission-expected.txt:
  • platform/gtk/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/gtk/fast/html/listing-expected.txt:
  • platform/gtk/fast/invalid/junk-data-expected.txt:
  • platform/gtk/fast/invalid/missing-end-tag-expected.txt:
  • platform/gtk/fast/loader/text-document-wrapping-expected.txt:
  • platform/gtk/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
  • platform/gtk/fast/parser/xhtml-alternate-entities-expected.txt:
  • platform/gtk/fast/table/border-collapsing/004-expected.txt:
  • platform/gtk/fast/text/whitespace/001-expected.txt: Added.
  • platform/gtk/fast/text/whitespace/013-expected.txt:
  • platform/gtk/fast/text/whitespace/014-expected.txt:
  • platform/gtk/fast/text/whitespace/022-expected.txt: Added.
  • platform/gtk/fast/text/whitespace/024-expected.txt:
  • platform/gtk/fast/text/whitespace/030-expected.txt:
  • platform/gtk/fast/xsl/xslt-extra-content-at-end-expected.txt:
  • platform/gtk/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/gtk/svg/custom/junk-data-expected.txt:
  • platform/gtk/svg/custom/missing-xlink-expected.txt:
  • platform/gtk/svg/custom/use-font-face-crash-expected.txt:
  • platform/gtk/svg/hixie/error/012-expected.txt:
  • platform/gtk/tables/mozilla/bugs/45621-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug139524-2-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
14:13 Changeset [175345] by zalan@apple.com
  • 4 edits
    2 adds in trunk

Remove invalid float from RootInlineBox.
https://bugs.webkit.org/show_bug.cgi?id=137707

Reviewed by Antti Koivisto.

In certain cases, floating boxes get attached to the last (root) inline box.
When this particular floating box gets destroyed, it also needs to be detached
from the last inline box.
Source/WebCore:

  1. Introduce RootInlineBox::removeFloat() (vs. RootInlineBox::appendFloat())
  2. Ensure that it is called when the floating box is being destroyed.

Test: fast/inline/crash-when-inline-box-has-invalid-float.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::removeFloatingObject):
(WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout): During style recalc, while
tearing down the render tree, we can get to a state where a block element has both inline and block children.
It happens when the style change on an element makes sibling anonymous block wrappers detached.
In that case the markAllDescendantsWithFloatsForLayout() call does not get propagated down on the
block child elements as we return early at the childrenInline() check.

  • rendering/RootInlineBox.h:

(WebCore::RootInlineBox::removeFloat):

LayoutTests:

  • fast/inline/crash-when-inline-box-has-invalid-float-expected.txt: Added.
  • fast/inline/crash-when-inline-box-has-invalid-float.html: Added.
14:04 Changeset [175344] by rakuco@webkit.org
  • 2 edits in trunk

[GTK] Bump libsoup's minimum version to 2.42.0.
https://bugs.webkit.org/show_bug.cgi?id=138086

Reviewed by Martin Robinson.

The SOUP_CHECK_VERSION macro was added in libsoup 2.41.1, and the
soup-version.h header was added to soup.h in 2.41.4, which then becomes
the minimum version required to build the port these days.

In addition, since the autotools build system required 2.42.0 before
being retired, require the same version here. Version 2.42.0 was also
recommended in
https://lists.webkit.org/pipermail/webkit-gtk/2013-March/001387.html.

  • Source/cmake/OptionsGTK.cmake:
14:00 Changeset [175343] by antti@apple.com
  • 7 edits
    2 deletes in trunk/Source/WebCore

Unreviewed, rolling out r175342.

a file ended up in a wrong directory

Reverted changeset:

"Factor cache validity computation functions out of
CachedResource"
https://bugs.webkit.org/show_bug.cgi?id=138156
http://trac.webkit.org/changeset/175342

13:54 Changeset [175342] by antti@apple.com
  • 7 edits
    2 adds in trunk/Source/WebCore

Factor cache validity computation functions out of CachedResource
https://bugs.webkit.org/show_bug.cgi?id=138156

Reviewed by Andreas Kling.

These can be used to implement cache logic on WebKit level.

  • CMakeLists.txt:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/CacheValidation.cpp: Added.

(WebCore::computeCurrentAge):
(WebCore::computeFreshnessLifetimeForHTTPFamily):
(WebCore::updateRedirectChainStatus):
(WebCore::redirectChainAllowsReuse):

  • loader/CacheValidation.h: Added.

(WebCore::RedirectChainCacheStatus::RedirectChainCacheStatus):

  • loader/cache/CachedResource.cpp:

(WebCore::updateResponseHeadersAfterRevalidation):
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::isExpired):
(WebCore::CachedResource::freshnessLifetime):
(WebCore::CachedResource::willSendRequest):
(WebCore::CachedResource::updateResponseAfterRevalidation):
(WebCore::CachedResource::redirectChainAllowsReuse):
(WebCore::currentAge): Deleted.

  • loader/cache/CachedResource.h:
13:48 Changeset [175341] by matthew_hanson@apple.com
  • 13 edits in branches/safari-600.3-branch/Source/WebKit2

Rollout r174369. <rdar://problem/18640842>

13:26 Changeset [175340] by matthew_hanson@apple.com
  • 16 edits
    2 copies
    1 delete in branches/safari-600.3-branch

Merge r175335. rdar://problem/18709436

13:24 Changeset [175339] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Hide the 'Add to Photos' item if it isn't available
https://bugs.webkit.org/show_bug.cgi?id=138182
<rdar://problem/18814999>

Reviewed by Beth Dakin.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForImage]):
(-[WKActionMenuController _canAddImageToPhotos]):
(-[WKActionMenuController _addImageToPhotos:]):
Factor _canAddImageToPhotos out of _addImageToPhotos:, and use it in
_defaultMenuItemsForImage to avoid including the menu item in the first place.

12:53 WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
12:08 Changeset [175338] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

Rename WebPageProxy::activeActionMenuHitTestResult to lastMouseMoveHitTestResult
https://bugs.webkit.org/show_bug.cgi?id=138137
<rdar://problem/18798257>

Reviewed by Anders Carlsson.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::mouseDidMoveOverElement):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::lastMouseMoveHitTestResult):
(WebKit::WebPageProxy::activeActionMenuHitTestResult): Deleted.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForLink]):
(-[WKActionMenuController _openURLFromActionMenu:]):
(-[WKActionMenuController _addToReadingListFromActionMenu:]):
(-[WKActionMenuController _quickLookURLFromActionMenu:]):
(-[WKActionMenuController _saveImageToDownloads:]):
(imageForResource:name::if):
(-[WKActionMenuController _updateActionMenuItems]):
Rename to the more accurate and general name.

12:01 Changeset [175337] by lforschler@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Fix the branch pre-Yosemite build by moving an #if to encompass the whole file.

  • Misc/WebSharingServicePickerController.mm:
11:56 Changeset [175336] by adachan@apple.com
  • 6 edits in trunk/Source/WebCore

Add API to mute/unmute a page.
https://bugs.webkit.org/show_bug.cgi?id=138150

Reviewed by Eric Carlson.

No new tests, since it's difficult to test whether the Page has indeed been muted.

  • dom/Document.cpp:

(WebCore::Document::setMuted):
Go through each AudioProducer and call setMuted() on it.

  • dom/Document.h:
  • page/AudioProducer.h:

Add setMuted(bool). HTMLMediaElement, the only derived class of AudioProducer so far,
has already implemented setMuted().

  • page/Page.cpp:

(WebCore::Page::setMuted):
Go through all its frames and call setMuted() on each frame's Document.

  • page/Page.h:
11:48 Changeset [175335] by timothy_horton@apple.com
  • 19 edits
    2 adds
    1 delete in trunk

Implement action menus for data detected items
https://bugs.webkit.org/show_bug.cgi?id=138178
<rdar://problem/18709436>

Reviewed by Anders Carlsson.

  • WebCore.exp.in:

Export a symbol from Position that we need.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/mac/DataDetectorsSPI.h:

Add a combined SPI header for all of the random bits of DataDetectors that we use.

  • Shared/API/c/WKActionMenuTypes.h:

Add a new type.

  • Shared/WebHitTestResult.cpp:

(WebKit::WebHitTestResult::Data::Data):
(WebKit::WebHitTestResult::Data::encode):
(WebKit::WebHitTestResult::Data::decode):

  • Shared/WebHitTestResult.h:

(WebKit::WebHitTestResult::isTextNode):
Determine, store, encode, and decode whether or not the hit node is a text node.

  • Shared/mac/ActionMenuHitTestResult.h:
  • Shared/mac/ActionMenuHitTestResult.mm: Renamed from Source/WebKit2/Shared/mac/ActionMenuHitTestResult.cpp.

(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):
Make ActionMenuHitTestResult an Obj-C++ file.
Store, encode, and decode (securely!) a DDActionContext and FloatRect
representing the bounding box of the data detected item, if any.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:context:configuration:webView:]):
(-[WKView willOpenMenu:withEvent:]): Deleted.
Stop using willOpenMenu; we'll use NSMenuDelegate's menuNeedsUpdate: instead.
Hook up WKActionMenuController as our action menu's delegate.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController prepareForMenu:withEvent:]):
Call _updateActionMenuItems *after* we've adjusted _state, so that it
can depend on the value being correct.

(-[WKActionMenuController willOpenMenu:withEvent:]):
(-[WKActionMenuController didPerformActionMenuHitTest:]):
Move menu updating to menuNeedsUpdate for more accurate timing.

(_updateActionMenuItems):
When building the menu, if we have a text node that is not a link,
and hit a data detected item, retrieve the menu from the DDActionContext.
If we have nothing, make sure to reset _type, and if the final hit-test
is still pending, build a menu with a dummy item.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::performActionMenuHitTestAtLocation): Moved to WebPageMac.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::rangeExpandedAroundPosition):
Factor this out of performDictionaryLookupAtLocation.

(WebKit::WebPage::performDictionaryLookupAtLocation):
Make use of rangeExpandedAroundPosition.

(WebKit::scanForDataDetectedItems):
Expand to four lines of context around the hit point.
Convert that range to plain text, and feed it to DataDetectors.
Find the result that intersects the hit point, and make a DDActionContext
for it. Also, store the bounding box of the first quad of the detected
text, to provide to Data Detectors as a hint for UI placement.

(WebKit::WebPage::performActionMenuHitTestAtLocation):
If the hit node is a text node, call scanForDataDetectedItems and
store the resultant DDActionContext and bounding rect on our
ActionMenuHitTestResult for transfer to the UI process.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
  • libWebKitSystemInterfaceYosemite.a:

Update WebKitSystemInterface.

11:22 Changeset [175334] by joepeck@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS] iPad: Occasional <select> crashes attempting to scroll to non-existing row 0 in viewWillAppear
https://bugs.webkit.org/show_bug.cgi?id=138165

Reviewed by David Kilzer.

This is a speculative fix for a crash attempting to scroll to a row in a
select picker on iPad. In these cases we are trying to scroll to the first
row of the first section, but no such row appears to exist. I was unable
to reproduce the issue, but if it is happening we should be able to protect
safely protect against crashing.

  • UIProcess/ios/forms/WKFormSelectPopover.mm:

(-[WKSelectTableViewController viewWillAppear:]):
Protect against trying to scroll to a section/row that does not exist
by pre-checking that the section/row is valid.

10:53 Changeset [175333] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[EME] NULL-dereference crash in MediaKeys::setMediaElement().
https://bugs.webkit.org/show_bug.cgi?id=138177

Reviewed by Eric Carlson.

NULL-check m_mediaElement->player() before using. It may have been cleared if the HTMLMediaElement
has previously had stop() called.

  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::setMediaElement):

10:53 Changeset [175332] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[EME] MediaKeySession resources persist across page reloads
https://bugs.webkit.org/show_bug.cgi?id=138176

Reviewed by Eric Carlson.

MediaKeySession is an ActiveDOMObject, so when told to stop() by our execution context,
close() the session, releasing all our resources.

  • Modules/encryptedmedia/MediaKeySession.h:
10:53 Changeset [175331] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[EME][Mac] MediaKeySession type "keyrelease" is ignored.
https://bugs.webkit.org/show_bug.cgi?id=138175

Reviewed by Eric Carlson.

To indicate that they would like to recevie expired session confirmation messages, clients
will create a MediaKeySession with a type parameter of "keyrelease". The code which validates
this type needs to be updated to recognize "keyrelease" as a valid type.

Also, the code which validates update() requests needs to allow updates containing the string
"acknowledged", so that clients can request the confirmation messages be discarded.

  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:

(WebCore::CDMPrivateMediaSourceAVFObjC::supportsMIMEType):

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:

(WebCore::CDMSessionMediaSourceAVFObjC::update):

10:41 Changeset [175330] by adachan@apple.com
  • 7 edits in trunk/Source/WebCore

Remove MediaSessionClient::hasMediaCharacteristics() and MediaSessionClient::mediaStateDidChange().
https://bugs.webkit.org/show_bug.cgi?id=138153

Reviewed by Jer Noble.

After http://trac.webkit.org/changeset/175273, Document no longer keeps a set of MediaSessions
and it doesn't need to query each MediaSession for its characteristics and play state.
MediaSessionClient::hasMediaCharacteristics() is no longer needed and MediaSessionClient::mediaStateDidChange()
can be removed if HTMLMediaElement calls Document::updateIsPlayingAudio() after m_playing has changed.

No new tests, no behavior change.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updatePlayState):
Call setPlaying() rather than setting m_playing directly.
(WebCore::HTMLMediaElement::setPlaying):
Update m_playing. If it has changed, call Document::updateIsPlayingAudio().
(WebCore::HTMLMediaElement::setPausedInternal):
Call setPlaying() rather than setting m_playing directly.
(WebCore::HTMLMediaElement::isPlayingAudio):
Call isPlaying() directly rather than checking the MediaSession's state.

  • html/HTMLMediaElement.h:
  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::setState):
MediaSessionClient::mediaStateDidChange() has been removed.
(WebCore::MediaSession::hasMediaCharacteristics): Deleted.

  • platform/audio/MediaSession.h:

(WebCore::MediaSessionClient::mediaStateDidChange): Deleted.

  • platform/audio/ios/AudioDestinationIOS.h:
  • platform/audio/mac/AudioDestinationMac.h:
10:16 Changeset [175329] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update Mavericks results after https://bugs.webkit.org/show_bug.cgi?id=137275
(Speed up line parsing for simple line layout)

  • platform/mac-mavericks/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
08:09 Changeset [175328] by cdumez@apple.com
  • 100 edits in trunk/Source/WebCore

Clean up virtual functions in html/
https://bugs.webkit.org/show_bug.cgi?id=138166

Reviewed by Andreas Kling.

Clean up virtual functions in html/ by:

  • Making virtual functions final when possible
  • Making classes final when possible
  • Using 'override' when appropriate
  • Explicitly marking functions / destructors as virtual when they are inherently virtual
  • Dropping virtual destructors when the class does not have subclasses and mark the class as final, to get rid of unnecessary vtables
  • Making isXXX() virtual functions private on XXX classes to avoid unnecessary type checks
  • De-virtualizing some functions that do not need to be virtual
  • Dropping final for virtual functions in classes already marked as final

No new tests, no behavior change.

  • html/ButtonInputType.h:
  • html/CheckboxInputType.h:
  • html/ColorInputType.h:
  • html/DOMSettableTokenList.h:
  • html/DateInputType.h:
  • html/DateTimeInputType.h:
  • html/DateTimeLocalInputType.h:
  • html/EmailInputType.h:
  • html/FTPDirectoryDocument.h:
  • html/HTMLAnchorElement.h:
  • html/HTMLDetailsElement.cpp:
  • html/HTMLFormControlElement.h:
  • html/HTMLFormControlsCollection.h:
  • html/HTMLFrameElement.h:
  • html/HTMLFrameElementBase.h:
  • html/HTMLFrameOwnerElement.h:
  • html/HTMLInputElement.h:
  • html/HTMLMarqueeElement.h:
  • html/HTMLMediaElement.h:
  • html/HTMLMediaSession.h:

(WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring): Deleted.

  • html/HTMLMeterElement.h:
  • html/HTMLNameCollection.h:
  • html/HTMLObjectElement.h:
  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.h:
  • html/HTMLSpanElement.h:
  • html/HTMLStyleElement.h:
  • html/HTMLSummaryElement.cpp:
  • html/HTMLSummaryElement.h:
  • html/HTMLUnknownElement.h:
  • html/HTMLVideoElement.h:
  • html/HiddenInputType.h:
  • html/ImageInputType.h:
  • html/MediaKeyEvent.h:
  • html/MonthInputType.h:
  • html/NumberInputType.h:
  • html/PasswordInputType.h:
  • html/PublicURLManager.h:
  • html/RadioInputType.h:
  • html/ResetInputType.h:
  • html/SubmitInputType.h:
  • html/TelephoneInputType.h:
  • html/TextInputType.h:
  • html/TimeInputType.h:
  • html/URLInputType.h:
  • html/WeekInputType.h:
  • html/canvas/ANGLEInstancedArrays.h:
  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/DOMPath.h:
  • html/canvas/EXTShaderTextureLOD.h:
  • html/canvas/EXTTextureFilterAnisotropic.h:
  • html/canvas/OESElementIndexUint.h:
  • html/canvas/OESStandardDerivatives.h:
  • html/canvas/OESTextureFloat.h:
  • html/canvas/OESTextureFloatLinear.h:
  • html/canvas/OESTextureHalfFloat.h:
  • html/canvas/OESTextureHalfFloatLinear.h:
  • html/canvas/OESVertexArrayObject.h:
  • html/canvas/WebGLBuffer.h:
  • html/canvas/WebGLCompressedTextureATC.h:
  • html/canvas/WebGLCompressedTexturePVRTC.h:
  • html/canvas/WebGLCompressedTextureS3TC.h:
  • html/canvas/WebGLContextAttributes.h:
  • html/canvas/WebGLContextEvent.h:
  • html/canvas/WebGLDebugRendererInfo.h:
  • html/canvas/WebGLDebugShaders.h:
  • html/canvas/WebGLDepthTexture.h:
  • html/canvas/WebGLDrawBuffers.h:
  • html/canvas/WebGLFramebuffer.h:

(WebCore::WebGLFramebuffer::isFramebuffer): Deleted.

  • html/canvas/WebGLLoseContext.h:
  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLRenderbuffer.h:
  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebGLShader.h:
  • html/canvas/WebGLSharedObject.h:

(WebCore::WebGLSharedObject::isFramebuffer): Deleted.

  • html/canvas/WebGLTexture.h:
  • html/canvas/WebGLVertexArrayObjectOES.h:

(WebCore::WebGLVertexArrayObjectOES::isVertexArray): Deleted.

  • html/shadow/ImageControlsRootElement.h:
  • html/shadow/InsertionPoint.h:
  • html/shadow/MediaControlElementTypes.h:
  • html/shadow/MediaControlElements.h:
  • html/shadow/MediaControls.h:
  • html/shadow/MediaControlsApple.h:
  • html/shadow/SpinButtonElement.h:
  • html/track/AudioTrack.h:
  • html/track/AudioTrackList.h:
  • html/track/DataCue.h:

(WebCore::DataCue::cueType): Deleted.

  • html/track/InbandDataTextTrack.h:
  • html/track/InbandGenericTextTrack.h:
  • html/track/InbandTextTrack.h:
  • html/track/InbandWebVTTTextTrack.h:
  • html/track/LoadableTextTrack.h:
  • html/track/TextTrackList.h:
  • html/track/TrackEvent.h:
  • html/track/VTTCue.h:

(WebCore::VTTCueBox::setFontSizeFromCaptionUserPrefs):

  • html/track/VTTRegion.h:
  • html/track/VideoTrack.h:
  • html/track/VideoTrackList.h:
  • html/track/WebVTTParser.h:

(WebCore::WebVTTCueData::~WebVTTCueData): Deleted.

03:45 Changeset [175327] by ossy@webkit.org
  • 2 edits in trunk/Tools

[EFL] build-webkit should try harder to avoid re-running cmake
https://bugs.webkit.org/show_bug.cgi?id=137949

Reviewed by Martin Robinson.

  • Scripts/webkitdirs.pm:

(shouldRemoveCMakeCache): Don't remove CMakeCache unconditionally for EFL.
(generateBuildSystemFromCMakeProject): Comment fix after r174681.

01:59 Changeset [175326] by lforschler@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175256. rdar://problem/18798121

01:57 Changeset [175325] by lforschler@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175238. rdar://problem/18797743

01:54 Changeset [175324] by lforschler@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r175229. rdar://problem/18451638

01:51 Changeset [175323] by lforschler@apple.com
  • 6 edits
    1 copy in branches/safari-600.3-branch/Source/WebKit2

Merged r175193. rdar://problem/18451638

01:49 Changeset [175322] by lforschler@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175190. <rdar://problem/18767397>

01:47 Changeset [175321] by lforschler@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175187. rdar://problem/18767859

01:44 Changeset [175320] by lforschler@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175185. rdar://problem/18758758

01:42 Changeset [175319] by lforschler@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175184. rdar://problem/18758758

01:40 Changeset [175318] by lforschler@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175181. rdar://problem/18758758

01:37 Changeset [175317] by lforschler@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175180. rdar://problem/18758758

01:33 Changeset [175316] by lforschler@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175179. rdar://problem/18758758

01:30 Changeset [175315] by lforschler@apple.com
  • 3 edits
    2 copies in branches/safari-600.3-branch/Source/WebKit2

Merged r175178. rdar://problem/18758758

01:30 Changeset [175314] by svillar@igalia.com
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: growthShare > 0 in WebCore::RenderGrid::distributeSpaceToTracks
https://bugs.webkit.org/show_bug.cgi?id=137772

Reviewed by Andreas Kling.

Source/WebCore:

We're hitting the ASSERTION because if the number of tracks an
item spans does greatly exceed the available logical space, then
the result of the division availableLogicalSpace/numberOfTracks is
truncated to 0. So the ASSERTION was theoretically right because
the result has to be always >0 (as the dividend > 0) but the fact
that the result is a LayoutUnit forces us to accept 0 as a valid
outcome of the operation.

Test: fast/css-grid-layout/tracks-number-greatly-exceeding-available-size-crash.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::distributeSpaceToTracks):

LayoutTests:

  • fast/css-grid-layout/tracks-number-greatly-exceeding-available-size-crash-expected.txt: Added.
  • fast/css-grid-layout/tracks-number-greatly-exceeding-available-size-crash.html: Added.
01:00 Changeset [175313] by lforschler@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WTF

Partial merge of r172749. rdar://problem/18757166

00:58 Changeset [175312] by cdumez@apple.com
  • 3 edits
    2 adds in trunk

Crash in CachedRawResource::canReuse() when reloading http://dnd.wizards.com/dungeons-and-dragons/story
https://bugs.webkit.org/show_bug.cgi?id=138164

Reviewed by Andreas Kling.

Source/WebCore:

This patch fixes a crash when reloading the following URL:
http://dnd.wizards.com/dungeons-and-dragons/story

We were crashing in CachedRawResource::canReuse() because header.key
would sometimes be a null String and we would call
HashMap::get(nullString).

The real issue was that header.key was null in the first place, which
means that even though the HTTPHeaderMap iterator is valid, it->key
is a null String, which should never happen. There was a bug in the
HTTPHeaderMapConstIterator() constructor that would cause the
iterator key/value pair to not get initialized if the HTTPHeaderMap
contained *only* uncommon HTTP headers. This patch updates the
constructor so that we fall back to updating the key/value from the
uncommon header map, if we failed to initialized from the common
header map (because it was empty).

Test: http/tests/cache/xhr-uncommon-header.html

  • platform/network/HTTPHeaderMap.h:

(WebCore::HTTPHeaderMap::HTTPHeaderMapConstIterator::HTTPHeaderMapConstIterator):

LayoutTests:

Add a layout test that does XHR loads from cache with only uncommon
HTTP headers to reproduce a crash in CachedRawResource::canReuse()
when iterating over a HTTPHeaderMap that had uncommon HTTP headers
but no common ones.

  • http/tests/cache/xhr-uncommon-header-expected.txt: Added.
  • http/tests/cache/xhr-uncommon-header.html: Added.
00:54 Changeset [175311] by lforschler@apple.com
  • 12 edits
    3 copies
    1 add in branches/safari-600.3-branch/Source

Merged r175147. rdar://problem/18757166

00:18 Changeset [175310] by lforschler@apple.com
  • 9 edits in branches/safari-600.3-branch

Merged r172542. rdar://problem/18757166

10/28/14:

23:33 Changeset [175309] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

23:28 Changeset [175308] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.6

New tag.

21:58 Changeset [175307] by lforschler@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r175183. rdar://problem/18451638

21:55 Changeset [175306] by lforschler@apple.com
  • 6 edits
    3 copies in branches/safari-600.3-branch/Source/WebKit

Merged r175182. rdar://problem/18451638

21:34 Changeset [175305] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merge r175132. <rdar://problem/18753175>

21:32 Changeset [175304] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merge r174841. <rdar://problem/18753175>

21:28 Changeset [175303] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merge r174837. <rdar://problem/18753175>

21:24 Changeset [175302] by dburkart@apple.com
  • 21 edits
    2 copies in branches/safari-600.3-branch/Source

Merge r174791. <rdar://problem/18753175>

21:21 Changeset [175301] by benjamin@webkit.org
  • 19 edits
    6 adds in trunk

CSS4 Selectors: Add the pseudo class :any-link
https://bugs.webkit.org/show_bug.cgi?id=138128

Reviewed by Andreas Kling.

Source/WebCore:

Defined here: http://dev.w3.org/csswg/selectors4/#the-any-link-pseudo

After :link and :-webkit-any-link were fixed, :any-link behaves
exactly like :-webkit-any-link. All I had left to do here was
make them synonyms when evaluating selectors.

Defined here: http://dev.w3.org/csswg/selectors4/#the-any-link-pseudo

After :link and :-webkit-any-link were fixed, :any-link behaves
exactly like :-webkit-any-link. All I had left to do here was
make them synonyms when evaluating selectors.

Tests: fast/selectors/any-link-basics-2.html

fast/selectors/any-link-basics.html
fast/selectors/any-link-styling.html

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:
  • css/RuleSet.cpp:

(WebCore::RuleSet::addRule):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::isCommonPseudoClassSelector):

  • css/SelectorPseudoClassAndCompatibilityElementMap.in:
  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching):

LayoutTests:

Story time: I implement only half of the patch and run
fast/selectors/webkit-any-link.html to make sure it fails...
and the test happily PASS.

I look into it and sure enough, a last minute change in
html-link-type-tests.js made it test nothing but :link.

I update html-link-type-tests.js to actually test the desired selector,
run the test again: PASS.

I debug a bit and I find why my code is not tested: html-link-type-tests.js
uses Element.matches() and that does not use the CSS JIT.

Fair enough, I add a querySelectorAll("#target' + selector + '") to run
through the JIT: PASS.

Since that selector is simple-#id + simple selector, we go through a fast
path for ids and skip the JIT. Arrrrg!

Finally, I added querySelectorAll(".target' + selector + '"), which covers
the CSS JIT.

The nice thing is: all those cases are tested now :)

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
  • fast/selectors/any-link-basics-2-expected.txt: Added.
  • fast/selectors/any-link-basics-2.html: Added.
  • fast/selectors/any-link-basics-expected.txt: Added.
  • fast/selectors/any-link-basics.html: Added.
  • fast/selectors/any-link-styling-expected.html: Added.
  • fast/selectors/any-link-styling.html: Added.
  • fast/selectors/images-with-usemap-should-not-match-link-expected.txt:
  • fast/selectors/images-with-usemap-should-not-match-link.html:
  • fast/selectors/link-basics-expected.txt:
  • fast/selectors/link-basics-xhtml-expected.txt:
  • fast/selectors/resources/html-link-type-tests.js:

(testHTMLElement):
(testHTMLTagsForLink):

  • fast/selectors/webkit-any-link-basics-expected.txt:
21:11 Changeset [175300] by dburkart@apple.com
  • 7 edits in branches/safari-600.3-branch

Merge r174525. <rdar://problem/18640876>

21:04 Changeset [175299] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Cast std::chrono::duration.count() to int64_t in ArgumentCoder
https://bugs.webkit.org/show_bug.cgi?id=136981

Patch by Ting-Wei Lan <lantw44@gmail.com> on 2014-10-28
Reviewed by Alexey Proskuryakov.

Explicitly cast the return value of std::chrono::duration.count() to
a fixed-size interger type, which prevents compilation error when
the return value type matches neither int32_t nor int64_t.

  • Platform/IPC/ArgumentCoders.h:
20:39 Changeset [175298] by dburkart@apple.com
  • 2 deletes in branches/safari-600.3-branch/Source/WebKit2/WebProcess/WebPage

Forgot to delete a couple files from merging r174524 (rdar://problem/18640868)

20:34 Changeset [175297] by dburkart@apple.com
  • 21 edits
    2 copies in branches/safari-600.3-branch/Source

Merge r174524. <rdar://problem/18640868>

19:26 Changeset [175296] by dburkart@apple.com
  • 54 edits
    6 copies
    4 deletes in branches/safari-600.3-branch/Source

Merged r174231. rdar://problem/18640833

18:28 Changeset [175295] by dbates@webkit.org
  • 2 edits in trunk/Tools

Unify logic in RunTests.run() to run the Python unit tests
https://bugs.webkit.org/show_bug.cgi?id=138160

Reviewed by Martin Robinson.

Unify the interactive and non-interactive code path for running the Python unit tests
in step RunTests so as to remove duplicate code to compute the the path to the script
test-webkitpy and log an informative message ("Running Python unit tests") to the console.

No new tests since no functionality was changed.

  • Scripts/webkitpy/port/base.py:

(Port.python_unittest_results_directory):

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

(RunTests.run):

17:58 Changeset [175294] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Make runtest.py call test-webkitpy with the --json flag when in
non-interactive mode.
https://bugs.webkit.org/show_bug.cgi?id=137667

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-28
Reviewed by Daniel Bates.

  • Scripts/webkitpy/port/base.py:

Adds the python_unittest_results_directory method.
(Port.python_unittest_results_directory):

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

Changes RunTests to call test-webkitpy with the --json flag if the
--non-interactive flag is set.
(RunTests):
(RunTests.run):

17:53 Changeset [175293] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merge r174541. <rdar://problem/18753175>

17:32 Changeset [175292] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merge r174516. <rdar://problem/18640864>

17:29 Changeset [175291] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merge r174457. <rdar://problem/18640864>

17:27 Changeset [175290] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merge r174456. <rdar://problem/18640864>

17:22 Changeset [175289] by dburkart@apple.com
  • 13 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r174369. <rdar://problem/18640842>

17:18 Changeset [175288] by jer.noble@apple.com
  • 22 edits
    2 adds in trunk/Source/WebKit2

[EME] Pass location for media key storage through from WebKit/WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=137120

Reviewed by Anders Carlsson.

Allow the location for media key storage to be passed into the WebProcess from the UIProcess
through the WebContextConfiguraiton struct.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode): Add mediaKeysStorageDirectory.
(WebKit::WebProcessCreationParameters::decode): Ditto.

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationCopyMediaKeysStorageDirectory): Added getter.
(WKContextConfigurationSetMediaKeysStorageDirectory): Added setter.

  • UIProcess/API/C/WKContextConfigurationRef.h:
  • UIProcess/API/C/WKOriginDataManager.h:
  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _initWithConfiguration:]): Provide a default location.

  • UIProcess/APIContextConfiguration.cpp:

(API::ContextConfiguration::webContextConfiguration): Set mediaKeysStorageDirectory.

  • UIProcess/APIContextConfiguration.h:

(API::ContextConfiguration::mediaKeysStorageDirectory): Added getter.
(API::ContextConfiguration::setMediaKeysStorageDirectory): Added setter.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::applyPlatformSpecificConfigurationDefaults): Apply mediaKeysStorageDirectory.
(WebKit::WebContext::WebContext): Initialize m_mediaKeysStorageDirectory.
(WebKit::WebContext::createNewWebProcess): Create a sandbox extension handle for mediaKeysStorageDirectory.

  • UIProcess/WebContext.h:
  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Return a default location.

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Ditto.

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Return an overridable default location.

  • WebProcess/MediaCache/WebMediaKeyStorageManager.cpp: Added.

(WebKit::WebMediaKeyStorageManager::initialize): Pull the mediaKeysStorageDirectory out of configuration.
(WebKit::WebMediaKeyStorageManager::supplementName): Return a configuration name.
(WebKit::WebMediaKeyStorageManager::mediaKeyStorageDirectoryForOrigin): Return the

correct storage directory based on the SecureOrigin.

(WebKit::WebMediaKeyStorageManager::getMediaKeyOrigins): Return the origins within the

storage directory.

(WebKit::removeAllMediaKeyStorageForOriginPath): Static, remove contents and directory at path.
(WebKit::WebMediaKeyStorageManager::deleteMediaKeyEntriesForOrigin): Use

removeAllMediaKeyStorageForOriginPath to remove origin data.

(WebKit::WebMediaKeyStorageManager::deleteMediaKeyEntriesModifiedBetweenDates): Ditto.
(WebKit::WebMediaKeyStorageManager::deleteAllMediaKeyEntries): Ditto.

  • WebProcess/MediaCache/WebMediaKeyStorageManager.h: Added.

(WebKit::WebMediaKeyStorageManager::WebMediaKeyStorageManager): Default constructor.
(WebKit::WebMediaKeyStorageManager::~WebMediaKeyStorageManager): Default virtual destructor.
(WebKit::WebMediaKeyStorageManager::mediaKeyStorageDirectory): Simple accessor.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess): Add WebMediaKeyStorageManager as a supplement.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess): Create a sandbox extension from the sandbox extension handle.

Add new source files to project(s).

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:

(WebKit::WebMediaKeyStorageManager::getMediaKeyOrigins):
(WebKit::removeAllMediaKeyStorageForOriginPath):

Drive-by fix: references to VoidCallback are ambiguous, since the same name is re-used in multiple namespaces.
Make references to WebCore::VoidCallback explicit where the entire WebCore (and other) namespaces are pulled in.

  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:

(WebKit::NotificationPermissionRequestManager::startRequest):
(WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):

  • WebProcess/WebCoreSupport/WebNotificationClient.cpp:

(WebKit::WebNotificationClient::requestPermission):

17:13 Changeset [175287] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit

Merge r174368. <rdar://problem/18753175>

16:54 Changeset [175286] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit

Merge r174321. <rdar://problem/18753175>

16:51 Changeset [175285] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit

Merge r174320. <rdar://problem/18753175>

16:51 Changeset [175284] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[EME][Mac] Adopt new AVStreamSession API: pass storageDirectoryAtURL at creation-time
https://bugs.webkit.org/show_bug.cgi?id=138149

Reviewed by Brent Fulgham.

AVStreamSession now requires its storage location at creation-time, rather than post-creation. This requires
us to move storage location code from CDMSessionMediaSourceAVFObjC to MediaPlayerPrivateMediaSourceAVFObjC.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:

(-[WebAVStreamDataParserListener streamDataParserWillProvideContentKeyRequestInitializationData:forTrackID:]): Renamed.
(WebCore::CDMSessionMediaSourceAVFObjC::update):
(WebCore::sessionStorageDirectory): Deleted.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::sessionStorageDirectory):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession):

16:50 Changeset [175283] by ggaren@apple.com
  • 2 edits in trunk/Source/WebCore

All networking crashes on Mac 32bit
https://bugs.webkit.org/show_bug.cgi?id=138157

Reviewed by Andy Estes.

NEFilterSource content filtering is not available on 32bit, so
soft-linking fails at runtime. The simplest solution is just to disable
it at compile time.

  • platform/ContentFilter.h:
16:49 Changeset [175282] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.12-branch/Source

Versioning.

16:38 Changeset [175281] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r174257. <rdar://problem/18753175>

16:28 Changeset [175280] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.12.3

New tag.

16:14 Changeset [175279] by commit-queue@webkit.org
  • 26 edits in trunk/Source

Add optimized fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=138044

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-10-28
Source/WebCore:

Reviewed by Jer Noble.

Enable different types of fullscreen video behavior.
Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen.
Add gesture for alternate fullscreen.

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::enterFullscreenOptimized): added

  • Modules/mediacontrols/MediaControlsHost.h: added enterFullscreenOptimized
  • Modules/mediacontrols/MediaControlsHost.idl: added enterFullscreenOptimized
  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handleBaseGestureChange): recognize alternate gesture

  • WebCore.exp.in: added parameter to setupFullscreen
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::removedFrom) : replace m_isInVideoFullscreen with m_videoFullscreenType
(WebCore::HTMLMediaElement::stop) : ditto
(WebCore::HTMLMediaElement::isFullscreen) : ditto
(WebCore::HTMLMediaElement::enterFullscreen): add parameter to enterVideoFullscreenForVideoElement
(WebCore::HTMLMediaElement::exitFullscreen): replace m_isInVideoFullscreen with m_videoFullscreenType
(WebCore::HTMLMediaElement::enterFullscreenOptimized): added

  • html/HTMLMediaElement.h: added enterFullscreenOptimized
  • page/ChromeClient.h:

(WebCore::ChromeClient::enterVideoFullscreenForVideoElement): added parameter

  • platform/ios/WebVideoFullscreenControllerAVKit.h: add parameter
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController enterFullscreen:type:]): add parameter
(-[WebVideoFullscreenController enterFullscreen:]): Deleted.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: reorder protected to after public
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController player]): this stub is now required
(-[WebAVPlayerController layoutSublayersOfLayer:]): this is a better way to update video frames
(WebVideoFullscreenInterfaceAVKit::setupFullscreen): implement optimized fullscreen interface
(WebVideoFullscreenInterfaceAVKit::enterFullscreen): ditto
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): ditto
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto

Source/WebKit/mac:

Reviewed by Jer Noble.

Enable different types of fullscreen video behavior.
Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen.

  • WebCoreSupport/WebChromeClient.h: Add fullscreenType parameter
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::enterVideoFullscreenForVideoElement): ditto

  • WebView/WebView.mm:

(-[WebView _enterVideoFullscreenForVideoElement:type:]): ditto
(-[WebView _enterVideoFullscreenForVideoElement:]): Deleted.

  • WebView/WebViewInternal.h: ditto

Source/WebKit2:

Reviewed by Anders Carlsson.

Enable different types of fullscreen video behavior.
Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h: Add fullscreenType parameter
  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: ditto
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): ditto

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::enterVideoFullscreenForVideoElement): ditto

  • WebProcess/WebCoreSupport/WebChromeClient.h: ditto
  • WebProcess/ios/WebVideoFullscreenManager.h: ditto
  • WebProcess/ios/WebVideoFullscreenManager.mm:

(WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): ditto
(WebKit::WebVideoFullscreenManager::didCleanupFullscreen): ditto

15:42 Changeset [175278] by cdumez@apple.com
  • 27 edits in trunk/Source/WebCore

Clean up virtual functions in accessibility/
https://bugs.webkit.org/show_bug.cgi?id=138148

Reviewed by Chris Fleizach.

Clean up virtual functions in accessibility/ by:

  • Marking classes as final when suitable
  • Marking virtual functions as final when suitable
  • Dropping final on virtual functions in classes that are already final
  • Make isXXX() virtual type checking functions in XXX classes to avoid useless type checks

No new tests, no behavior change.

  • accessibility/AccessibilityARIAGrid.h:
  • accessibility/AccessibilityARIAGridCell.h:
  • accessibility/AccessibilityARIAGridRow.h:
  • accessibility/AccessibilityImageMapLink.h:
  • accessibility/AccessibilityList.h:
  • accessibility/AccessibilityListBox.h:
  • accessibility/AccessibilityListBoxOption.h:
  • accessibility/AccessibilityMediaControls.h:
  • accessibility/AccessibilityMenuList.h:
  • accessibility/AccessibilityMenuListOption.h:
  • accessibility/AccessibilityMenuListPopup.h:
  • accessibility/AccessibilityMockObject.h:

(WebCore::AccessibilityMockObject::setParent):

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityProgressIndicator.h:
  • accessibility/AccessibilityRenderObject.h:
  • accessibility/AccessibilitySVGRoot.h:
  • accessibility/AccessibilityScrollView.h:
  • accessibility/AccessibilityScrollbar.h:
  • accessibility/AccessibilitySearchFieldButtons.h:
  • accessibility/AccessibilitySlider.h:
  • accessibility/AccessibilitySpinButton.h:
  • accessibility/AccessibilityTable.h:
  • accessibility/AccessibilityTableCell.h:
  • accessibility/AccessibilityTableColumn.h:
  • accessibility/AccessibilityTableHeaderContainer.h:
  • accessibility/AccessibilityTableRow.h:
15:38 Changeset [175277] by jpfau@apple.com
  • 2 edits in trunk/Source/WebCore

FrameProgressTracker expects Page to not have detached
https://bugs.webkit.org/show_bug.cgi?id=138061

Reviewed by Alexey Proskuryakov.

In some cases, a Page may be detached from a Frame before its
FrameLoader is torn down, causing FrameProgressTracker's destructor
to hit a null pointer.

No new tests; it is impossible to reliably simulate the null pointer
case without intrusive code changes.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):

15:36 Changeset [175276] by dburkart@apple.com
  • 8 edits
    2 copies in branches/safari-600.3-branch

Merge r174190. <rdar://problem/18640846>

15:15 Changeset [175275] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Added a Radar reference to a comment.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<Credential>::encodePlatformData):

15:14 Changeset [175274] by dburkart@apple.com
  • 3 edits
    4 copies in branches/safari-600.3-branch

Merge r173184. <rdar://problem/18428699>

15:00 Changeset [175273] by adachan@apple.com
  • 8 edits
    1 add in trunk/Source/WebCore

Introduce a new abstract class called AudioProducer and keep a set of AudioProducers
rather than the active MediaSessions in Document
https://bugs.webkit.org/show_bug.cgi?id=138107

Reviewed by Eric Carlson.

No new tests, no behavior change.

  • WebCore.xcodeproj/project.pbxproj:

Add AudioProducer.h to the project.

  • dom/Document.cpp:

(WebCore::Document::addAudioProducer):
(WebCore::Document::removeAudioProducer):
(WebCore::Document::updateIsPlayingAudio):
Go through the set of AudioProducers and see if any is playing audio.
Now that this method no longer refers to MediaSessions directly, this code
does not need to be guarded by #if ENABLE(VIDEO).
(WebCore::Document::registerMediaSession): Deleted.
(WebCore::Document::unregisterMediaSession): Deleted.

  • dom/Document.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::registerWithDocument):
(WebCore::HTMLMediaElement::unregisterWithDocument):
(WebCore::HTMLMediaElement::isPlayingAudio):
Return whether this element is playing audio.

  • html/HTMLMediaElement.h:
  • page/AudioProducer.h: Added.

(WebCore::AudioProducer::~AudioProducer):

  • page/Page.cpp:

(WebCore::Page::updateIsPlayingAudio):
This is no longer guarded with #if ENABLE(VIDEO) since the Document methods it calls
are no longer guarded.

  • page/Page.h:
14:42 Changeset [175272] by dburkart@apple.com
  • 4 edits
    2 copies in branches/safari-600.3-branch

Merge r173181. rdar://problem/18428697

13:12 Changeset [175271] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/multicol/multicol-crazy-nesting.html sometimes crashes
https://bugs.webkit.org/show_bug.cgi?id=138145

13:01 Changeset [175270] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] REGERESSION (r171801): Client certificate authentication is failing
https://bugs.webkit.org/show_bug.cgi?id=138144

Reviewed by Alexey Proskuryakov.

NSURLCredential’s implementation of NSSecureCoding fails to encode identity-based
credentials properly. Work around that by encoding the identity, certificate, and
persistence individually.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

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

12:57 Changeset [175269] by cdumez@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed comment fix from r175267.

Fix namespace name in comment.

  • css/StyleBuilderCustom.h:
12:37 Changeset [175268] by jer.noble@apple.com
  • 39 edits
    2 copies in trunk

REGRESSION(r171593) [Mac] Media controls create a large (and unnecessary) backing store
https://bugs.webkit.org/show_bug.cgi?id=137757

Reviewed by Eric Carlson.

Source/WebCore:

In r171593, a <div> was added to the media controls which is only ever used on iOS. Instead
of creating and adding this <div> in mediaControlsApple.js (which is used on OS X), this
<div> should be created and added in mediaControlsiOS.js, which requires overloading
Controller.addControls.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel.hidden): Drive-by fix: allow the panel itself to be hidden.
(video::-webkit-media-controls-panel-composited-parent): Deleted.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls): Remove the composited parent.
(Controller.prototype.addControls): Ditto.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createControls): Create the composited parent.
(ControllerIOS.prototype.addControls): Copied from (previous) apple.js.

LayoutTests:

  • platform/mac-mavericks/media/audio-controls-rendering-expected.png:
  • platform/mac-mavericks/media/audio-controls-rendering-expected.txt:
  • platform/mac-mavericks/media/controls-strict-expected.txt:
  • platform/mac-mavericks/media/controls-without-preload-expected.txt: Copied from LayoutTests/platform/mac/media/controls-without-preload-expected.txt.
  • platform/mac-mavericks/media/video-controls-rendering-expected.txt:
  • platform/mac-mavericks/media/video-display-toggle-expected.txt:
  • platform/mac-mavericks/media/video-empty-source-expected.txt: Copied from LayoutTests/platform/mac/media/video-empty-source-expected.txt.
  • platform/mac-mavericks/media/video-no-audio-expected.png:
  • platform/mac-mavericks/media/video-no-audio-expected.txt:
  • platform/mac-mavericks/media/video-volume-slider-expected.txt:
  • platform/mac-mavericks/media/video-zoom-controls-expected.png:
  • platform/mac-mavericks/media/video-zoom-controls-expected.txt:
  • platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/mac/fast/layers/video-layer-expected.txt:
  • platform/mac/media/audio-controls-rendering-expected.png:
  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/controls-after-reload-expected.png:
  • platform/mac/media/controls-after-reload-expected.txt:
  • platform/mac/media/controls-strict-expected.png:
  • platform/mac/media/controls-strict-expected.txt:
  • platform/mac/media/controls-without-preload-expected.png:
  • platform/mac/media/controls-without-preload-expected.txt:
  • platform/mac/media/media-controls-clone-expected.png:
  • platform/mac/media/media-controls-clone-expected.txt:
  • platform/mac/media/video-controls-rendering-expected.png:
  • platform/mac/media/video-controls-rendering-expected.txt:
  • platform/mac/media/video-display-toggle-expected.png:
  • platform/mac/media/video-display-toggle-expected.txt:
  • platform/mac/media/video-empty-source-expected.png:
  • platform/mac/media/video-empty-source-expected.txt:
  • platform/mac/media/video-no-audio-expected.png:
  • platform/mac/media/video-no-audio-expected.txt:
  • platform/mac/media/video-volume-slider-expected.png:
  • platform/mac/media/video-volume-slider-expected.txt:
  • platform/mac/media/video-zoom-controls-expected.png:
  • platform/mac/media/video-zoom-controls-expected.txt:
12:12 Changeset [175267] by cdumez@apple.com
  • 6 edits
    1 add in trunk/Source/WebCore

Move "Number" CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138125

Reviewed by Antti Koivisto.

Move "Number" CSS properties from DeprecatedStyleBuilder to the new
StyleBuilder:
-webkit-hyphenate-limit-after
-webkit-hyphenate-limit-before
-webkit-shape-image-threshold
-webkit-hyphenate-limit-lines

They are now generated from CSSPropertyNames.in

For -webkit-hyphenate-limit-lines, I used custom code instead of
the Number converter as it required special handling for the id
value. This patch thus adds support for [Custom=Value] to
CSSPropertyNames.in and the custom code goes into
css/StyleBuilderCustom.h.

No new tests, no behavior change.

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSPropertyNames.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyNumber::setValue): Deleted.
(WebCore::ApplyPropertyNumber::applyValue): Deleted.
(WebCore::ApplyPropertyNumber::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertNumber):

  • css/StyleBuilderCustom.h: Added.

(WebCore::StyleBuilderFunctions::applyValueWebkitHyphenateLimitLines):

  • css/makeprop.pl:
12:05 Changeset [175266] by joepeck@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS] iPhone should not allow selecting <optgroup> in <select multiple>
https://bugs.webkit.org/show_bug.cgi?id=137991

Reviewed by Darin Adler.

We seem to be getting the delegate when we are not supposed to.
Workaround the issue as best we can by reseting the styles
for the group's content view and not changing selections.

  • UIProcess/ios/forms/WKFormSelectPicker.mm:

(-[WKMultipleSelectPicker pickerView:row:column:checked:]):

11:46 Changeset [175265] by zandobersek@gmail.com
  • 7 edits in trunk/Source/WebCore

[WebCore] Remove uses of WTF::bind() in the Media Stream module
https://bugs.webkit.org/show_bug.cgi?id=138016

Reviewed by Eric Carlson.

Replace uses of WTF::bind() in the Media Stream module with C++11 lambdas.
Internal helper methods are removed in favor of inlining the code directly
into the lambdas. Range-based for-loops are deployed where appropriate.

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::scheduleEventDispatch):
(WebCore::MediaStreamTrack::dispatchQueuedEvents): Deleted.

  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/MediaStreamTrackSourcesRequest.cpp:

(WebCore::MediaStreamTrackSourcesRequest::didCompleteRequest):
(WebCore::MediaStreamTrackSourcesRequest::callCompletionHandler): Deleted.

  • Modules/mediastream/MediaStreamTrackSourcesRequest.h:
  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::constraintsValidated):
(WebCore::UserMediaRequest::userMediaAccessGranted):
(WebCore::UserMediaRequest::didCreateStream):
(WebCore::UserMediaRequest::failedToCreateStreamWithConstraintsError):
(WebCore::UserMediaRequest::failedToCreateStreamWithPermissionError):
(WebCore::UserMediaRequest::requestPermission): Deleted.
(WebCore::UserMediaRequest::createMediaStream): Deleted.
(WebCore::UserMediaRequest::callSuccessHandler): Deleted.
(WebCore::UserMediaRequest::callErrorHandler): Deleted.

  • Modules/mediastream/UserMediaRequest.h:
11:35 Changeset [175264] by ap@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

text-combine needs to center glyphs within the vertical area.
https://bugs.webkit.org/show_bug.cgi?id=138056

Adding pre-Yosemite test results.

  • platform/mac-mavericks/fast/text/tatechuyoko-expected.png: Added.
  • platform/mac-mavericks/fast/text/tatechuyoko-expected.txt: Added.
11:05 Changeset [175263] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Abandoned select option is reselected when shift selecting new options
https://bugs.webkit.org/show_bug.cgi?id=137553

Patch by Pascal Jacquemart <p.jacquemart@samsung.com> on 2014-10-28
Reviewed by Ryosuke Niwa.

Source/WebCore:

Previous active selection is wrongly recorded by HTMLSelectElement after selecting a new item using
typeAhead. Fixed by clearing previously selected options before starting a new active selection.

Test: fast/forms/listbox-selection-after-typeahead.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::selectOption): Code re-ordering

LayoutTests:

Test checking a combination of mouse and keyboard selection events
on select-multiple element

  • fast/forms/listbox-selection-after-typeahead-expected.txt: Added.
  • fast/forms/listbox-selection-after-typeahead.html: Added.
11:01 Changeset [175262] by rniwa@webkit.org
  • 4 edits in trunk/Websites/perf.webkit.org

Remove App.PaneController.bugsChangeCount in the new perf dashboard
https://bugs.webkit.org/show_bug.cgi?id=138111

Reviewed by Darin Adler.

  • public/v2/app.js:

(App.PaneController.bugsChangeCount): Removed.
(App.PaneController.actions.associateBug): Call _updateMarkedPoints instead of incrementing bugsChangeCount.
(App.PaneController._updateMarkedPoints): Extracted from App.InteractiveChartComponent._updateDotsWithBugs.
Finds the list of current run's points that are associated with bugs.
(App.InteractiveChartComponent._updateMarkedDots): Renamed from _updateDotsWithBugs.

  • public/v2/chart-pane.css:

(.chart .marked): Renamed from .hasBugs.

  • public/v2/index.html: Specify chartPointRadius and markedPoints.
11:00 Changeset [175261] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Use constants from wtf/MathExtras.h
https://bugs.webkit.org/show_bug.cgi?id=137967

Patch by Milan Crha <mcrha@redhat.com> on 2014-10-28
Reviewed by Darin Adler.

Source/WebCore:

  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::rotateCairoMatrixForVerticalOrientation):

  • rendering/mathml/RenderMathMLMenclose.cpp:

(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::updateLogicalHeight):

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator):

Source/WTF:

  • wtf/MathExtras.h:
10:58 Changeset [175260] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

Selection gap painting is ugly for ruby bases.
https://bugs.webkit.org/show_bug.cgi?id=138136

Reviewed by Dean Jackson.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::selectionGaps):
For ruby bases don't fill to the end of the block (in the block direction),
since ideographic baselines push that end below the text baseline.

(WebCore::RenderBlock::blockSelectionGaps):

  • rendering/RenderBlockFlow.cpp:

Skip ruby bases for block selection gap filling.

10:57 Changeset [175259] by zalan@apple.com
  • 142 edits
    4 adds in trunk

Speed up line parsing for simple line layout.
https://bugs.webkit.org/show_bug.cgi?id=137275

Reviewed by Antti Koivisto.
Source/WebCore:

This patch speeds up the line parsing for simple line layout by
reducing the number of text measurement calls.
The parsing logic hasn't changed. We simply walk over
the whitespace/non-whitespace fragments and measure them to
figure out whether they fit.
The performance gain mainly comes from the more efficient line wrapping
so that we don't re-measure the fragment when it is pushed to
the next line.

No change in behaviour. (except the empty line-break run removal.)

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::skipWhitespace):
(WebCore::SimpleLineLayout::computeLineLeft):
(WebCore::SimpleLineLayout::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::TextFragment::isEmpty):
(WebCore::SimpleLineLayout::LineState::LineState):
(WebCore::SimpleLineLayout::LineState::commitAndCreateRun): adds uncommitted text to the line and creates a run out of it.
(WebCore::SimpleLineLayout::LineState::addUncommitted): appends fragment to the uncommitted text.
(WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace): appends whitespace to the uncommitted text.
(WebCore::SimpleLineLayout::LineState::jumpTo): moves line's current position without committing text.
(WebCore::SimpleLineLayout::LineState::width): current width of the line including committed and uncommitted text.
(WebCore::SimpleLineLayout::LineState::fits): checks if committed + uncommitted text fits the line.
(WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace):
(WebCore::SimpleLineLayout::removeTrailingWhitespace): post processing the trailing whitespace.
(WebCore::SimpleLineLayout::initializeLine):
(WebCore::SimpleLineLayout::splitFragmentToFitLine): breaks the fragments into 2 so that the first (sub)fragment fits the line.
(WebCore::SimpleLineLayout::nextFragment): returns the next valid fragment of the text.
(WebCore::SimpleLineLayout::createLineRuns): creates runs for the current line and returns when we can't fit more text on the line.
(WebCore::SimpleLineLayout::updateLineConstrains): updates left/right constrains for the current line.
(WebCore::SimpleLineLayout::createTextRuns): creates runs for the whole text.
(WebCore::SimpleLineLayout::isWhitespace): Deleted.
(WebCore::SimpleLineLayout::skipWhitespaces): Deleted.
(WebCore::SimpleLineLayout::measureWord): Deleted.
(WebCore::SimpleLineLayout::adjustRunOffsets): Deleted.

  • rendering/SimpleLineLayout.h:

(WebCore::SimpleLineLayout::Run::Run):

LayoutTests:

This patch removes empty line-break runs. Rebaseline.

  • platform/mac-mountainlion/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/mac/css1/basic/containment-expected.txt:
  • platform/mac/css1/basic/contextual_selectors-expected.txt:
  • platform/mac/css1/basic/grouping-expected.txt:
  • platform/mac/css1/basic/id_as_selector-expected.txt:
  • platform/mac/css1/basic/inheritance-expected.txt:
  • platform/mac/css1/box_properties/border-expected.txt:
  • platform/mac/css1/box_properties/border_bottom-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_width-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_color-expected.txt:
  • platform/mac/css1/box_properties/border_color_inline-expected.txt:
  • platform/mac/css1/box_properties/border_inline-expected.txt:
  • platform/mac/css1/box_properties/border_left-expected.txt:
  • platform/mac/css1/box_properties/border_left_inline-expected.txt:
  • platform/mac/css1/box_properties/border_left_width-expected.txt:
  • platform/mac/css1/box_properties/border_left_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_right-expected.txt:
  • platform/mac/css1/box_properties/border_right_inline-expected.txt:
  • platform/mac/css1/box_properties/border_right_width-expected.txt:
  • platform/mac/css1/box_properties/border_right_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_style-expected.txt:
  • platform/mac/css1/box_properties/border_style_inline-expected.txt:
  • platform/mac/css1/box_properties/border_top-expected.txt:
  • platform/mac/css1/box_properties/border_top_inline-expected.txt:
  • platform/mac/css1/box_properties/border_top_width-expected.txt:
  • platform/mac/css1/box_properties/border_top_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_width-expected.txt:
  • platform/mac/css1/box_properties/border_width_inline-expected.txt:
  • platform/mac/css1/box_properties/clear-expected.txt:
  • platform/mac/css1/box_properties/clear_float-expected.txt:
  • platform/mac/css1/box_properties/float-expected.txt:
  • platform/mac/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/mac/css1/box_properties/float_margin-expected.txt:
  • platform/mac/css1/box_properties/height-expected.txt:
  • platform/mac/css1/box_properties/margin-expected.txt:
  • platform/mac/css1/box_properties/margin_bottom-expected.txt:
  • platform/mac/css1/box_properties/margin_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_left-expected.txt:
  • platform/mac/css1/box_properties/margin_left_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_right-expected.txt:
  • platform/mac/css1/box_properties/margin_right_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_top-expected.txt:
  • platform/mac/css1/box_properties/margin_top_inline-expected.txt:
  • platform/mac/css1/box_properties/padding-expected.txt:
  • platform/mac/css1/box_properties/padding_bottom-expected.txt:
  • platform/mac/css1/box_properties/padding_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_left-expected.txt:
  • platform/mac/css1/box_properties/padding_left_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_right-expected.txt:
  • platform/mac/css1/box_properties/padding_right_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_top-expected.txt:
  • platform/mac/css1/box_properties/padding_top_inline-expected.txt:
  • platform/mac/css1/box_properties/width-expected.txt:
  • platform/mac/css1/cascade/cascade_order-expected.txt:
  • platform/mac/css1/cascade/important-expected.txt:
  • platform/mac/css1/classification/display-expected.txt:
  • platform/mac/css1/classification/list_style-expected.txt:
  • platform/mac/css1/classification/list_style_image-expected.txt:
  • platform/mac/css1/classification/list_style_position-expected.txt:
  • platform/mac/css1/classification/list_style_type-expected.txt:
  • platform/mac/css1/classification/white_space-expected.txt:
  • platform/mac/css1/color_and_background/background-expected.txt:
  • platform/mac/css1/color_and_background/background_attachment-expected.txt:
  • platform/mac/css1/color_and_background/background_color-expected.txt:
  • platform/mac/css1/color_and_background/background_image-expected.txt:
  • platform/mac/css1/color_and_background/background_position-expected.txt:
  • platform/mac/css1/color_and_background/background_repeat-expected.txt:
  • platform/mac/css1/color_and_background/color-expected.txt:
  • platform/mac/css1/conformance/forward_compatible_parsing-expected.txt:
  • platform/mac/css1/font_properties/font-expected.txt:
  • platform/mac/css1/font_properties/font_family-expected.txt:
  • platform/mac/css1/font_properties/font_size-expected.txt:
  • platform/mac/css1/font_properties/font_style-expected.txt:
  • platform/mac/css1/font_properties/font_variant-expected.txt:
  • platform/mac/css1/font_properties/font_weight-expected.txt:
  • platform/mac/css1/formatting_model/canvas-expected.txt:
  • platform/mac/css1/formatting_model/floating_elements-expected.txt:
  • platform/mac/css1/formatting_model/height_of_lines-expected.txt:
  • platform/mac/css1/formatting_model/inline_elements-expected.txt:
  • platform/mac/css1/formatting_model/replaced_elements-expected.txt:
  • platform/mac/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/mac/css1/pseudo/anchor-expected.txt:
  • platform/mac/css1/pseudo/firstletter-expected.txt:
  • platform/mac/css1/pseudo/firstline-expected.txt:
  • platform/mac/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/mac/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
  • platform/mac/css1/text_properties/letter_spacing-expected.txt:
  • platform/mac/css1/text_properties/line_height-expected.txt:
  • platform/mac/css1/text_properties/text_align-expected.txt:
  • platform/mac/css1/text_properties/text_decoration-expected.txt:
  • platform/mac/css1/text_properties/text_indent-expected.txt:
  • platform/mac/css1/text_properties/text_transform-expected.txt:
  • platform/mac/css1/text_properties/vertical_align-expected.txt:
  • platform/mac/css1/text_properties/word_spacing-expected.txt:
  • platform/mac/css1/units/color_units-expected.txt:
  • platform/mac/css1/units/length_units-expected.txt:
  • platform/mac/css1/units/percentage_units-expected.txt:
  • platform/mac/css1/units/urls-expected.txt:
  • platform/mac/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/mac/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/mac/editing/selection/designmode-no-caret-expected.txt:
  • platform/mac/fast/css/empty-pseudo-class-expected.txt:
  • platform/mac/fast/css/first-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/last-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/only-child-pseudo-class-expected.txt:
  • platform/mac/fast/forms/targeted-frame-submission-expected.txt:
  • platform/mac/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/mac/fast/html/listing-expected.txt:
  • platform/mac/fast/invalid/junk-data-expected.txt:
  • platform/mac/fast/invalid/missing-end-tag-expected.txt:
  • platform/mac/fast/loader/text-document-wrapping-expected.txt:
  • platform/mac/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
  • platform/mac/fast/parser/xhtml-alternate-entities-expected.txt:
  • platform/mac/fast/table/border-collapsing/004-expected.txt:
  • platform/mac/fast/table/border-collapsing/004-vertical-expected.txt:
  • platform/mac/fast/text/whitespace/001-expected.txt: Added.
  • platform/mac/fast/text/whitespace/013-expected.txt: Added.
  • platform/mac/fast/text/whitespace/014-expected.txt: Added.
  • platform/mac/fast/text/whitespace/022-expected.txt: Added.
  • platform/mac/fast/text/whitespace/024-expected.txt:
  • platform/mac/fast/text/whitespace/030-expected.txt:
  • platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt:
  • platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/mac/http/tests/misc/acid3-expected.txt:
  • platform/mac/svg/custom/bug45331-expected.txt:
  • platform/mac/svg/custom/junk-data-expected.txt:
  • platform/mac/svg/custom/missing-xlink-expected.txt:
  • platform/mac/svg/custom/path-bad-data-expected.txt:
  • platform/mac/svg/custom/use-font-face-crash-expected.txt:
  • platform/mac/svg/hixie/error/012-expected.txt:
  • platform/mac/tables/mozilla/bugs/45621-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug139524-2-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
10:55 Changeset [175258] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

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

Appears to be failing some JS tests (Requested by mlam_ on
#webkit).

Reverted changeset:

"Holes are not copied properly when Arrays change shape to
ArrayStorage type."
https://bugs.webkit.org/show_bug.cgi?id=138118
http://trac.webkit.org/changeset/175249

10:52 Changeset [175257] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

import-w3c-tests should use re.escape() wherever it's handling file paths
https://bugs.webkit.org/show_bug.cgi?id=137934

This patch adds re.escape() to a few places where we're doing string
conversions. This prevents errors when attribute values coincidentally
have character sequences that can be interpreted as regular expressions.

Patch by Rebecca Hauck <rhauck@adobe.com> on 2014-10-28
Reviewed by Bem Jones-Bey.

  • Scripts/webkitpy/w3c/test_converter.py:

(_W3CTestConverter.convert_attributes_if_needed):

10:37 Changeset [175256] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove an inaccurate comment in WKActionMenuController
https://bugs.webkit.org/show_bug.cgi?id=138135

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForLink]):
The comment is wrong; the separator is there for spacing, not just as a workaround.

10:17 Changeset [175255] by commit-queue@webkit.org
  • 39 edits
    1 copy
    17 adds in trunk/LayoutTests

Update CSS shapes suite import
https://bugs.webkit.org/show_bug.cgi?id=138045

This patch is a full re-import of the CSS Shapes test suite from the W3C
test repo and an updated TestExpectations file to match the current
results.

Patch by Rebecca Hauck <rhauck@adobe.com> on 2014-10-28
Reviewed by Benjamin Poulain.

  • TestExpectations:
  • css3/shapes/shape-outside/shape-box/w3c-import.log:
  • css3/shapes/shape-outside/shape-image/gradients/w3c-import.log:
  • css3/shapes/shape-outside/shape-image/shape-image-000-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-001-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-002-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-002.html:
  • css3/shapes/shape-outside/shape-image/shape-image-003-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-003.html:
  • css3/shapes/shape-outside/shape-image/shape-image-004-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-005-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-005.html:
  • css3/shapes/shape-outside/shape-image/shape-image-006-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-006.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-007-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-007.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-008-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-008.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-009-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-009.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-010-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-010.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-011-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-011.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-013-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-013.html:
  • css3/shapes/shape-outside/shape-image/shape-image-014-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-014.html:
  • css3/shapes/shape-outside/shape-image/shape-image-015-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-015.html:
  • css3/shapes/shape-outside/shape-image/shape-image-016-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-016.html:
  • css3/shapes/shape-outside/shape-image/shape-image-017-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-017.html:
  • css3/shapes/shape-outside/shape-image/shape-image-024-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-024.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-025-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-025.html: Added.
  • css3/shapes/shape-outside/shape-image/support/animated.gif: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-20.png:
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle-20.png:
  • css3/shapes/shape-outside/shape-image/support/w3c-import.log:
  • css3/shapes/shape-outside/shape-image/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/circle/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/ellipse/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/inset/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html:
  • css3/shapes/shape-outside/supported-shapes/polygon/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/support/w3c-import.log: Copied from LayoutTests/css3/shapes/shape-outside/values/support/w3c-import.log.
  • css3/shapes/shape-outside/values/shape-image-threshold-001.html:
  • css3/shapes/shape-outside/values/support/w3c-import.log:
  • css3/shapes/shape-outside/values/w3c-import.log:
  • css3/shapes/spec-examples/shape-outside-019-expected.html:
  • css3/shapes/spec-examples/support/w3c-import.log:
  • css3/shapes/spec-examples/w3c-import.log:
  • css3/shapes/w3c-import.log:
09:44 Changeset [175254] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Windows build fix.

  • platform/network/cf/NetworkStorageSessionCFNet.cpp:

(WebCore::NetworkStorageSession::switchToNewTestingSession): Use a WTF function
for getting current process ID instead of getpid().

09:30 Changeset [175253] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL] Remove unnecessary defines from OptionsEfl.cmake
https://bugs.webkit.org/show_bug.cgi?id=138132

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

.:

  • Source/cmake/OptionsEfl.cmake:

Source/WTF:

  • wtf/Platform.h:
09:05 Changeset [175252] by mihnea@adobe.com
  • 6 edits in trunk/Source/WebCore

Clean up subtrees selection code
https://bugs.webkit.org/show_bug.cgi?id=137740

Reviewed by David Hyatt.

Clean up subtrees selection code. Add a new class SelectionSubtreeData
that keeps only the selection data. Have SelectionSubtreeRoot class embed
a SelectionSubtreeData member and keep the business logic methods.
No functionality changed therefore no new layout tests.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::selectionStartEnd):

  • rendering/RenderView.cpp:

(WebCore::RenderView::subtreeSelectionBounds):
(WebCore::RenderView::repaintSubtreeSelection):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::splitSelectionBetweenSubtrees):
(WebCore::RenderView::updateSelectionForSubtrees):
(WebCore::RenderView::clearSubtreeSelection):
(WebCore::RenderView::applySubtreeSelection):

  • rendering/RenderView.h:
  • rendering/SelectionSubtreeRoot.cpp:

(WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot):
(WebCore::SelectionSubtreeRoot::adjustForVisibleSelection):

  • rendering/SelectionSubtreeRoot.h:

(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStart):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEnd):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionClear):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartEndPositions):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStart):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStartPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEnd):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEndPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::clearSelection):
(WebCore::SelectionSubtreeRoot::selectionData):
(WebCore::SelectionSubtreeRoot::setSelectionData):
(WebCore::SelectionSubtreeRoot::selectionStart): Deleted.
(WebCore::SelectionSubtreeRoot::selectionStartPos): Deleted.
(WebCore::SelectionSubtreeRoot::selectionEnd): Deleted.
(WebCore::SelectionSubtreeRoot::selectionEndPos): Deleted.
(WebCore::SelectionSubtreeRoot::selectionStartEndPositions): Deleted.
(WebCore::SelectionSubtreeRoot::selectionClear): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionStart): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionStartPos): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionEnd): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionEndPos): Deleted.

09:04 Changeset [175251] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] The first software paint of a <video> element takes up to 2.5s.
https://bugs.webkit.org/show_bug.cgi?id=137754

Reviewed by Brent Fulgham.

It turns out that, if you pass nil to -[AVPlayerItemVideoOutput initWithPixelBufferAttributes:]
the video output will not attempt to conform the resulting pixel buffers into a particular format.
This means that adding such a video output to a AVPlayerItem should have almost no performance
penalty, since the video output does not even copy the resulting buffers, but rather just retains
and returns the ones from the AVPlayerLayer.

Create and attach an AVPlayerItemVideoOutput after creating the AVPlayerItem, but before attaching
the player item to the AVPlayer. This eliminates the reconfigure step which occurs after attaching
a video output to an already attached AVPlayerItem.

When creating the AVPlayerItemVideoOutput, pass in nil for the pixelBufferAttributes parameter.

Instead of blocking waiting for output from the AVPlayerItemVideoOutput during creating, block and
whait when asked to paint with the video output.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):

08:35 Changeset [175250] by cdumez@apple.com
  • 4 edits in trunk/Source/WebCore

Move text decoration CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138121

Reviewed by Antti Koivisto.

Move text decoration CSS properties from DeprecatedStyleBuilder to the
new StyleBuilder so that they are generated from CSSPropertyNames.in.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyTextDecoration::applyValue): Deleted.
(WebCore::ApplyPropertyTextDecoration::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertTextDecoration):

08:29 Changeset [175249] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Holes are not copied properly when Arrays change shape to ArrayStorage type.
<https://webkit.org/b/138118>

Reviewed by Mark Hahnenberg.

When we convert non-ArrayStorage typed arrays into ArrayStorage typed arrays,
we skipped the holes. As a result, the slots in the ArrayStorage vector that
corresponds to those holes are uninitialize. This is now fixed.

  • runtime/JSObject.cpp:

(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):

07:14 Changeset [175248] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Remove an unused include from Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=138130

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

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
06:53 Changeset [175247] by carlosgc@webkit.org
  • 1 copy in releases/WebKitGTK/webkit-2.7.1

WebKitGTK+ 2.7.1

06:52 Changeset [175246] by carlosgc@webkit.org
  • 4 edits in trunk

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.1 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.7.1.
05:49 Changeset [175245] by carlosgc@webkit.org
  • 3 edits in trunk/Source/WebCore

[GTK] Remove GDK dependency from SharedTimerGtk
https://bugs.webkit.org/show_bug.cgi?id=138092

Reviewed by Martin Robinson.

It depends on GDK just to use GDK_PRIORITY_REDRAW constant, we can
use its value directly instead.

  • PlatformGTK.cmake:
  • platform/gtk/SharedTimerGtk.cpp:

(WebCore::setSharedTimerFireInterval):

00:05 Changeset [175244] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] OS X Mavericks build broken with public SDK
https://bugs.webkit.org/show_bug.cgi?id=138108

Reviewed by Mark Rowe.

  • Shared/API/Cocoa/WKFoundation.h: Only define the NSEventModifierFlags type when using a

version of the OS X SDK that doesn’t define it.

10/27/14:

22:46 Changeset [175243] by mark.lam@apple.com
  • 3 edits
    6 adds in trunk

Crash when attempting to perform array iteration on a non-array with numeric keys not initialized.
<https://webkit.org/b/137814>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The arrayIteratorNextThunkGenerator() thunk was not checking for the case where
the butterfly may be NULL. This was the source of the crash, and is now fixed.

In addition, it is also not checking for the case where a property named "length"
may have been set on the iterated object. The thunk only checks the butterfly's
publicLength for its iteration operation. Array objects will work fine with this
because it always updates its butterfly's publicLength when its length changes.
In the case of iterable non-Array objects, the "length" property will require a
look up outside of the scope of this thunk. The fix is simply to limit the fast
case checks in this thunk to Array objects.

  • jit/ThunkGenerators.cpp:

(JSC::arrayIteratorNextThunkGenerator):

LayoutTests:

  • js/array-length-shortening-expected.txt: Added.
  • js/array-length-shortening.html: Added.
  • js/for-of-crash-expected.txt: Added.
  • js/for-of-crash.html: Added.
  • js/script-tests/array-length-shortening.js: Added.

(testLengthShortening):
(denseInt32Elements):
(denseDoubleElements):
(denseObjectElements):
(holeyInt32Elements):
(holeyDoubleElements):
(holeyObjectElements):
(arrayStorageInt32Elements):
(arrayStorageDoubleElements):
(arrayStorageObjectElements):
(sparseInt32Elements):
(sparseDoubleElements):
(sparseObjectElements):

  • js/script-tests/for-of-crash.js: Added.

(foo):

22:39 Changeset [175242] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Move RenderBlock::beingDestroyed() to RenderObject.
<https://webkit.org/b/138116>

Reviewed by Antti Koivisto.

Make "is being destroyed" a RenderObject concept instead of restricting
it to RenderBlocks. I'm guessing that this was specific to blocks due to
lack of bitfield space in RenderObject, and that's no longer an issue.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::willBeDestroyed):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::beingDestroyed): Deleted.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::destroy):

  • rendering/RenderObject.h:

(WebCore::RenderObject::beingDestroyed):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):

22:38 Changeset [175241] by cfleizach@apple.com
  • 3 edits
    2 adds in trunk

AX: input type=hidden is being exposed when aria-hidden=false
https://bugs.webkit.org/show_bug.cgi?id=138106

Reviewed by Benjamin Poulain.

Source/WebCore:

If an input type=hidden was inside an aria-hidden=false, it would appear because
the lack of a RenderObject behind that object was not blocking its adoption into the AX tree.
We should explicity check for whether the type is hidden and then return an appropriate role.

Test: accessibility/input-type-hidden-in-aria-hidden-false.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):

LayoutTests:

  • accessibility/input-type-hidden-in-aria-hidden-false-expected.txt: Added.
  • accessibility/input-type-hidden-in-aria-hidden-false.html: Added.
22:05 Changeset [175240] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Simplified some JSObject methods for converting arrays to ArrayStorage shape.
<https://webkit.org/b/138119>

Reviewed by Filip Pizlo.

Currently, for each Undecided, Int32, Double, and Contiguous array shapes,
there are 3 JSObject methods to convert them to ArrayStorage shape:

ArrayStorage* convert<shape>ToArrayStorage(VM&, NonPropertyTransition, unsigned neededLength);
ArrayStorage* convert<shape>ToArrayStorage(VM&, NonPropertyTransition);
ArrayStorage* convert<shape>ToArrayStorage(VM&);

However, the neededLength that is passed is always m_butterfly->vectorLength().
Hence, the method that takes a neededLength is really not needed. This patch
removes this unneeded verbosity.

  • runtime/JSObject.cpp:

(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToArrayStorage):

  • Also reordered the placement of the DeferGC statement so this Int32 function will look more similar to the others.

(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):

  • runtime/JSObject.h:
20:46 Changeset [175239] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175235. rdar://problem/18787412

20:05 Changeset [175238] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

NSSharingService protocol conformance should be internal to WKActionMenuController
https://bugs.webkit.org/show_bug.cgi?id=138112

Patch by Conrad Shultz <conrad_shultz@apple.com> on 2014-10-27
Reviewed by Tim Horton.

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

Move protocol conformance from the interface to a class extension.

19:49 Changeset [175237] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

https://trac.webkit.org/changeset/175233 broke many tests, fixing an incorrect '!'.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

18:00 Changeset [175236] by hyatt@apple.com
  • 4 edits
    3 adds in trunk

text-combine needs to center text within the vertical space using glyph bounds
https://bugs.webkit.org/show_bug.cgi?id=138056
<rdar://problem/15403667>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/text/tatechuyoko.html

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::RenderCombineText):
(WebCore::RenderCombineText::adjustTextOrigin):
(WebCore::RenderCombineText::combineText):

  • rendering/RenderCombineText.h:

LayoutTests:

  • fast/text/tatechuyoko.html: Added.
  • platform/mac/fast/text/tatechuyoko-expected.png: Added.
  • platform/mac/fast/text/tatechuyoko-expected.txt: Added.
17:36 Changeset [175235] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

WebContent crash in WebKit::WebPage::expandedRangeFromHandle.
https://bugs.webkit.org/show_bug.cgi?id=138023
rdar://problem/18787412

Reviewed by Ryosuke Niwa.

We must change that we have a valid currentRange before trying
to expand or contract.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::changeBlockSelection):

16:13 Changeset [175234] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

REGRESSION: commit logs are not shown sometimes on the new dashboard UI
https://bugs.webkit.org/show_bug.cgi?id=138099

Reviewed by Benjamin Poulain.

The bug was caused by _currentItemChanged not passing the previous point in the list of points and also
_showDetails inverting the order of the current and old measurements.

  • public/v2/app.js:

(App.PaneController._currentItemChanged): Pass in the previous point to _showDetails when there is one.
(App.PaneController._showDetails): Since points are ordered chronologically, the last point is the
current (latest) measurement and the first point is the oldest measurement.
(App.CommitsViewerComponent.commitsChanged): Don't show a single measurement as a range for clarity.

15:55 Changeset [175233] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Cleanup after r175213: fastGetAttribute().isNull() should be fastHasAttribute()

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
Darin spotted this mistake.

14:59 Changeset [175232] by ap@apple.com
  • 7 edits in trunk

http/tests/cookies/third-party-cookie-relaxing.html is flaky on bots
https://bugs.webkit.org/show_bug.cgi?id=138098

Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/network/cf/NetworkStorageSessionCFNet.cpp:

(WebCore::NetworkStorageSession::switchToNewTestingSession):
Create a separate session for each WKTR/DRT process when testing.

Source/WebKit2:

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:

Update for the new name of testing session. Memory regions are now of the form
"WebKit Test-<pid>-0".

LayoutTests:

  • platform/mac-wk1/TestExpectations: Removed the test from expectations. It's still

skipped on WK2, because we don't yet implement the necessary WKTR functionality.

14:08 Changeset [175231] by cdumez@apple.com
  • 13 edits in trunk/Source

Use separate HashMaps for common and uncommon headers in HTTPHeaderMap
https://bugs.webkit.org/show_bug.cgi?id=138079

Reviewed by Anders Carlsson.

Source/WebCore:

Use separate HashMaps for common and uncommon headers in HTTPHeaderMap:

  • a (faster) HashMap<HTTPHeaderMap, String> for common HTTP headers
  • a HashMap<String, String, CaseFoldingHash> for uncommon ones

This avoids having to construct Strings from HTTPHeaderMap values for
storing. This also means we have less isolated String copies to do when
creating cross-thread data. The common headers HashMap should also be
a bit more efficient due to faster hashing and faster key comparison in
case of collision.

Some calls sites can also benefit from having direct access to common
headers of the request in HTTPHeaderName type.

This patch adds a new HTTPHeaderMapConstIterator iterator type for
HTTPHeaderMap so that call sites that do not need / want to distinguish
common / uncommon headers still do not need to. They can keep using
modern C++ loops over HTTPHeaderMap objects and get <String, String>
key/value pairs.

No new tests, no behavior change.

  • loader/CrossOriginAccessControl.cpp:

(WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
Have isOnAccessControlSimpleRequestHeaderWhitelist() take a
HTTPHeaderName in argument instead of a String as only common headers
are in the whitelist.

(WebCore::isSimpleCrossOriginAccessRequest):
Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common
HTTP headers.

  • loader/CrossOriginAccessControl.h:

Have isOnAccessControlSimpleRequestHeaderWhitelist() take a
HTTPHeaderName in argument instead of a String as only common headers
are in the whitelist.

  • loader/CrossOriginPreflightResultCache.cpp:

(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common
HTTP headers.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):
Call httpHeaderFields().commonHeaders().find() instead of
httpHeaderFields().find() as we are looking for a common header.
HTTPHeaderMap::find(HTTPHeaderName) was removed now that we have a
HashMap dedicated to common headers.

  • loader/cache/CachedRawResource.cpp:

(WebCore::shouldIgnoreHeaderForCacheReuse):
Update argument type to be a HTTPHeaderName instead of a String as
only common HTTP headers can be ignored for cache reuse. The
implementation already dealt with HTTPHeaderName type and had to
call findHTTPHeaderName(). This is no longer needed now that the
call site now has direct access to common headers in HTTPHeaderName
type.

(WebCore::CachedRawResource::canReuse):

  • Only call shouldIgnoreHeaderForCacheReuse() for common HTTP headers.
  • Slightly optimize the second loop (the one over oldHeaderMap) to only check that the key is present in newHeaderMap, without actually comparing the String values. If the String values were different, the first loop would have seen it already and we would have returned early.

Source/WebKit2:

Update the WK2 IPC HTTPHeaderMap serialization / deserialization code
to leverage the fact that HTTPHeaderMap now stores common HTTP headers
and uncommon one in separate HashMaps. This speeds up deserialization
as we no longer need to call findHTTPHeaderName() for every decoded
header. We already know if the header is a common one or not, and if
it is then we already have a HTTPHeaderName type instead of a String.

I see that we spend ~40% less time in HTTPHeaderMap decoding when
loading http://flickr.com/explore, while the encoding takes about
the same amount of time as before.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<HTTPHeaderMap>::encode):
(IPC::ArgumentCoder<HTTPHeaderMap>::decode):

Source/WTF:

Add HashTraits for C++11 strong enum types. Using integer HashTraits for
strong enums would be inconvenient as it would require casting between
integer and strong enum types.

  • wtf/HashTraits.h:

(WTF::StrongEnumHashTraits::emptyValue):
(WTF::StrongEnumHashTraits::constructDeletedValue):
(WTF::StrongEnumHashTraits::isDeletedValue):

13:42 Changeset [175230] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Devirtualize RenderDeprecatedFlexibleBox::isStretchingChildren().
<https://webkit.org/b/138096>

Reviewed by Chris Dumez.

This function is only ever called on a renderer after we've checked
that it's a RenderDeprecatedFlexibleBox, so make it non-virtual.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeLogicalHeight):

  • rendering/RenderDeprecatedFlexibleBox.h:
  • rendering/RenderObject.h:
13:08 Changeset [175229] by bdakin@apple.com
  • 4 edits in trunk/Source/WebKit/mac

Provide a way for WebKit1 clients to override default action menu items
https://bugs.webkit.org/show_bug.cgi?id=138066
-and corresponding-
rdar://problem/18451638

Reviewed by Anders Carlsson.

WebActionMenuController now has an ivar for the WebActionMenuType so that it can
send that along to clients customizing the menu.

  • WebView/WebActionMenuController.h:
  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

New enum and new SPI to customize menus.

  • WebView/WebUIDelegatePrivate.h:
13:06 Changeset [175228] by cdumez@apple.com
  • 2 edits in trunk/Source/WebCore

Reintroduce null check removed in r175222
https://bugs.webkit.org/show_bug.cgi?id=138087

Reviewed by Andreas Kling.

Reintroduce null check removed in r175222 as several layout tests are
crashing on the bots without them. At least the Pair pointer can be
null according to the assertion hits on the bots.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertRadius):

12:43 Changeset [175227] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Add [ Yosemite ] modifier to a couple of tests in section 7.

These two tests fail with PPT, so they are expected to pass on 10.8. Our current
approach is a have separate sections for Mavericks and Yosemite, even for PPT
specific failures that affect both.

  • platform/mac-wk2/TestExpectations:
12:31 Changeset [175226] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebCore

Merged r175158. rdar://problem/18571212

12:03 Changeset [175225] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175157. rdar://problem/18739335

12:01 Changeset [175224] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175153. rdar://problem/18739335

11:31 Changeset [175223] by slewis@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/cookies/third-party-cookie-relaxing.html is flaky on bots.
https://bugs.webkit.org/show_bug.cgi?id=138098.

Updated Expectations.

  • platform/mac-wk1/TestExpectations:
11:26 Changeset [175222] by cdumez@apple.com
  • 4 edits in trunk/Source/WebCore

Move radius CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138087

Reviewed by Andreas Kling.

Move radius CSS properties from DeprecatedStyleBuilder to the new
StyleBuilder so that they are now generated from CSSPropertyNames.in.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyBorderRadius::setValue): Deleted.
(WebCore::ApplyPropertyBorderRadius::applyValue): Deleted.
(WebCore::ApplyPropertyBorderRadius::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertRadius):

11:06 Changeset [175221] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Shrink MathMLOperatorDictionary::dictionary table
https://bugs.webkit.org/show_bug.cgi?id=137914

Reviewed by Darin Adler.

Improve packing of the Entry structure that's used for elements
of the MathMLOperatorDictionary::dictionary table. This drops the
size of the struct from 16 bytes to just 4 bytes, and shrinks the
size of the dictionary table from rougly 16 kB down to 4 kB.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::MathMLOperatorDictionary::ExtractKey):
(WebCore::RenderMathMLOperator::setOperatorProperties):

  • rendering/mathml/RenderMathMLOperator.h:
10:33 Changeset [175220] by commit-queue@webkit.org
  • 1 edit
    54 deletes in trunk/LayoutTests

Some test for multicol were redundant.
https://bugs.webkit.org/show_bug.cgi?id=133084

Patch by Piotr Grad <p.grad@samsung.com> on 2014-10-27
Reviewed by Andreas Kling.

  • fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/continuation-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/continuation-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-float-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-float.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input-expected.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash.html: Removed.
10:20 Changeset [175219] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Move canContainFixedPositionObjects() to RenderElement.
<https://webkit.org/b/138088>

Reviewed by Mihnea Ovidenie.

Only RenderElement can contain other renderers, so it's not really
natural to answer this question on RenderObject anyway.

Moving it to RenderElement lets it access more efficient getters
that don't have to handle the RenderText case.

  • rendering/RenderElement.h:

(WebCore::RenderElement::canContainFixedPositionObjects):

  • rendering/RenderObject.h:

(WebCore::RenderObject::canContainFixedPositionObjects): Deleted.

10:08 Changeset [175218] by ap@apple.com
  • 2 edits in trunk/LayoutTests

media/track/audio-track.html is flaky on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=137882

  • platform/mac/TestExpectations: Marking it as such.
09:31 Changeset [175217] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175145. rdar://problem/18376333

01:09 Changeset [175216] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175143. rdar://problem/18692335

Note: See TracTimeline for information about the timeline view.