Timeline



Mar 7, 2015:

10:51 PM Changeset in webkit [181221] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening on 8th Mar.

Mark emphasis text test, writing mode test, whitespace test to failure.
Besides update new failure tests to existing bugs.

  • platform/efl/TestExpectations:
8:57 PM Changeset in webkit [181220] by Brent Fulgham
  • 4 edits
    3 adds in trunk/Source/WTF

[Win] Revive WTF::WorkQueue on Windows
https://bugs.webkit.org/show_bug.cgi?id=142432

Reviewed by Darin Adler.

Revive the Windows implementation of WTF::WorkQueue.

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • wtf/WorkQueue.h:
  • wtf/win/WorkItemWin.cpp: Added.
  • wtf/win/WorkItemWin.h: Added.
  • wtf/win/WorkQueueWin.cpp: Added.
7:37 PM Changeset in webkit [181219] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Crash in WebCore::NotificationCenter::stop()
https://bugs.webkit.org/show_bug.cgi?id=142444
<rdar://problem/20082520>

Reviewed by Andreas Kling.

A use-after-free would sometimes cause us to crash in NotificationCenter::stop().
After investigation, it turns out that NotificationCenter::stop() calls
NotificationClient::clearNotifications() which will destroy the Notification
objects, all of which hold a strong reference to the NotificationCenter. If at
this point, only Notifications are ref'ing the NotificationCenter, this means
that the NotificationCenter will get destroyed right after the call to
NotificationClient::clearNotifications(). However, we reset m_client to null
after calling clearNotifications() and it causes us to crash in this case.

The issue is addressed by adding a Ref<NotificationCenter> protector in
NotificationCenter::stop() so that we make sure the NotificationCenter lives
at least until the end of the method execution.

I was able to consistently reproduce the crash by doing:
Tools/Scripts/run-webkit-tests -1 --debug --repeat-each=30 -g http/tests/notifications/event-listener-crash.html

No new tests, already covered by:
http/tests/notifications/event-listener-crash.html

  • Modules/notifications/NotificationCenter.cpp:

(WebCore::NotificationCenter::stop):

6:49 PM Changeset in webkit [181218] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Tidy up RenderLayerCompositor's CompositingState
https://bugs.webkit.org/show_bug.cgi?id=142445

Reviewed by Dan Bernstein.

Make CompositingState a private struct in RenderLayerCompositor.
Since it's a struct, remove the m_ prefix from its data members.

No behavior change.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::CompositingState::CompositingState):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::CompositingState::CompositingState): Deleted.

  • rendering/RenderLayerCompositor.h:
6:14 PM Changeset in webkit [181217] by Darin Adler
  • 1 edit
    2 moves
    1 delete in trunk/LayoutTests

Improve the event handler test
https://bugs.webkit.org/show_bug.cgi?id=142439

Reviewed by Ryosuke Niwa.

  • fast/dom/event-handler-attributes-expected.txt: Renamed from legacy-event-handler-attributes-expected.txt.

Also updated to reflect changes in the test.

  • fast/dom/event-handler-attributes.html: Renamed from legacy-event-handler-attributes.html.

Fixed bug in the test that was making document event handler tests falsely report failure.
Removed testing of some HTMLMediaElement attributes that are conditionally present; this test
is intended to test only unconditionally available event handler attributes at this time.

  • platform/win/fast/dom/legacy-event-handler-attributes-expected.txt: Removed. The conditional HTMLMediaElement

attributes are the reason the Windows-specific results were needed.

5:37 PM Changeset in webkit [181216] by Darin Adler
  • 4 edits in trunk/Source/WebCore

Unindent EventTarget, EventListener, JSEventLister.h files
https://bugs.webkit.org/show_bug.cgi?id=142440

Reviewed by Alexey Proskuryakov.

  • bindings/js/JSEventListener.h:
  • dom/EventListener.h:
  • dom/EventTarget.h:

Change indentation to match coding style rules.

4:23 PM Changeset in webkit [181215] by ggaren@apple.com
  • 17 edits
    5 deletes in trunk/Source

Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages
https://bugs.webkit.org/show_bug.cgi?id=140900

Reviewed by Mark Hahnenberg.

Re-landing just the removal of BlockAllocator, which is now unused.

Source/JavaScriptCore:

  • API/JSBase.cpp:
  • CMakeLists.txt:
  • JavaScriptCore.order:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/BlockAllocator.cpp: Removed.
  • heap/BlockAllocator.h: Removed.
  • heap/GCThreadSharedData.h:
  • heap/HandleBlockInlines.h:
  • heap/Heap.cpp:

(JSC::Heap::Heap):

  • heap/Heap.h:
  • heap/HeapInlines.h:

(JSC::Heap::blockAllocator): Deleted.

  • heap/HeapTimer.cpp:
  • heap/MarkedBlock.h:
  • heap/MarkedSpace.h:
  • heap/Region.h: Removed.
  • heap/SuperRegion.cpp: Removed.
  • heap/SuperRegion.h: Removed.

Source/WebCore:

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::install):

2:20 PM Changeset in webkit [181214] by commit-queue@webkit.org
  • 16 edits
    2 deletes in trunk/Source

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

Broke media/video-src-invalid-poster.html (Requested by kling
on #webkit).

Reverted changeset:

"Stale entries in WeakGCMaps are keeping tons of WeakBlocks
alive unnecessarily."
https://bugs.webkit.org/show_bug.cgi?id=142115
http://trac.webkit.org/changeset/181010

2:10 PM Changeset in webkit [181213] by rniwa@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

The code to link FunctionExecutable is duplicated everywhere
https://bugs.webkit.org/show_bug.cgi?id=142436

Reviewed by Darin Adler.

Reduced code duplication by factoring out linkInsideExecutable and linkGlobalCode.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock): Calls linkInsideExecutable.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::linkInsideExecutable): Renamed from link. Now takes care of startOffset.
This change was needed to use this function in CodeBlock::CodeBlock. Also, this function no longer takes
lineOffset since this information is already stored in the source code.
(JSC::UnlinkedFunctionExecutable::linkGlobalCode): Extracted from FunctionExecutable::fromGlobalCode.

  • bytecode/UnlinkedCodeBlock.h:
  • generate-js-builtins: Calls linkGlobalCode.
  • runtime/Executable.cpp:

(JSC::ProgramExecutable::initializeGlobalProperties): Calls linkGlobalCode.
(JSC::FunctionExecutable::fromGlobalCode): Calls linkGlobalCode.

1:51 PM Changeset in webkit [181212] by Darin Adler
  • 6 edits in trunk/Source/WebCore

Do a bit of EventNames tidying
https://bugs.webkit.org/show_bug.cgi?id=142438

Reviewed by Anders Carlsson.

  • dom/EventNames.h: Sorted the event names into a single list instead of

the rudimentary attempts at organizing the list that simply made it hard
to see what is and is not in the list. Removed two unused event names.
I'm sure there are more. Reorganized the EventName class, now a struct,
into a more conventional "public first" order. Got the function bodies
out of the struct so we can see more clearly what is in the struct.
Made more things const.
(WebCore::EventNames::touchEventNames): Changed the return value to a
std::array of reference wrappers rather than a vector of atomic strings.
This should eliminate unnecessary memory allocation and reference count churn.

  • dom/EventNames.cpp: Changed initialization based on the above.
  • dom/EventTarget.cpp:

(WebCore::EventTarget::getEventListeners): Use NeverDestroyed instead of
DEPRECATED_DEFINE_LOCAL and also just tightened up the function a bit.

  • dom/Node.cpp:

(WebCore::Node::didMoveToNewDocument): Streamlined this function with
modern for loops, auto, and also tried to make what it does a bit clearer,
by making loops that are just based on numbers of event listeners look a
bit less like code that actually iterates a vector of listeners. Also used
the type unsigned instead of size_t.

  • platform/ThreadGlobalData.h: Updated since it's a struct instead of class now.

(Why is this file in platform!?)

11:14 AM Changeset in webkit [181211] by bshafiei@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r181176. rdar://problem/20077856

11:04 AM Changeset in webkit [181210] by ggaren@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages
https://bugs.webkit.org/show_bug.cgi?id=140900

Reviewed by Mark Hahnenberg.

Re-landing just the MarkedBlock piece of this patch.

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateBlock):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::create):
(JSC::MarkedBlock::destroy):
(JSC::MarkedBlock::MarkedBlock):

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::capacity):

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::freeBlock):

10:03 AM Changeset in webkit [181209] by Brent Fulgham
  • 9 edits in trunk

Source/WebCore:
[Win] Increase TestWebKitAPI Test Coverage
https://bugs.webkit.org/show_bug.cgi?id=142433

Reviewed by Darin Adler.

Correct some build deficiencies that prevent TestWebKitAPI
from executing certain tests on Windows.

  • WebCore.vcxproj/copyForwardingHeaders.cmd: Copy the interpreter

headers.

  • css/CSSParser.h: Export necessary symbols
  • css/CSSParserMode.h: Ditto.
  • css/StyleProperties.h: Ditto.

Tools:
[Win] Increase TestWebKitAPI Test Coverage[Win] Increase TestWebKitAPI Test Coverage
https://bugs.webkit.org/show_bug.cgi?id=142433

Reviewed by Darin Adler.

Include more TestWebKitAPI tests when building for Windows. Also
fix a build error in MetaAllocator.cpp caused by one of the
Microsoft headers #defining 'small'.

  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj.filters:
  • TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
9:38 AM Changeset in webkit [181208] by rniwa@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

fromGlobalCode has an unused Debugger* argument
https://bugs.webkit.org/show_bug.cgi?id=142430

Reviewed by Darin Adler.

Removed the debugger argument from UnlinkedFunctionExecutable::fromGlobalCode and
FunctionExecutable::fromGlobalCode since it's not used in either function.

Also use reference in other arguments.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::fromGlobalCode):

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

(JSC::FunctionExecutable::fromGlobalCode):

  • runtime/Executable.h:
  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck):

9:34 AM Changeset in webkit [181207] by ddkilzer@apple.com
  • 7 edits in trunk/Source/WebCore

Rename SOFT_LINK_FRAMEWORK_{HEADER,SOURCE} to SOFT_LINK_FRAMEWORK_FOR_{HEADER,SOURCE}
<http://webkit.org/b/142434>

Reviewed by Darin Adler.

  • platform/cf/CoreMediaSoftLink.cpp:
  • platform/cf/CoreMediaSoftLink.h:
  • platform/cf/MediaAccessibilitySoftLink.cpp:
  • platform/cf/MediaAccessibilitySoftLink.h:
  • platform/mac/SoftLinking.h:
  • platform/win/SoftLinking.h:
  • Do the rename.

Mar 6, 2015:

10:12 PM Changeset in webkit [181206] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Turn off a warning on Windows.

Reduce build logging noise on Windows.

10:10 PM Changeset in webkit [181205] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: JS Pretty Printing: "case" or "default" outside of switch causes unbalanced indentation
https://bugs.webkit.org/show_bug.cgi?id=142428

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-06
Reviewed by Timothy Hatcher.

  • Tools/PrettyPrinting/CodeMirrorFormatters.js:
  • UserInterface/Views/CodeMirrorFormatters.js:

Fix "case" and "default" indentation rules to only happen inside a switch.

  • Tools/PrettyPrinting/js-tests/switch-case-default-expected.js:
  • Tools/PrettyPrinting/js-tests/switch-case-default.js:

Add tests for "case" and "default" nested inside and outside of switches.

8:19 PM Changeset in webkit [181204] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening on 7th Mar.

Remove duplicated css nap scroll skip.
Mark printing, compositing mask, svg pattern, and webgl visibility tests to failures.

  • platform/efl/TestExpectations:
8:02 PM Changeset in webkit [181203] by commit-queue@webkit.org
  • 22 edits in trunk

Web Inspector: ES6: Improved Support for Iterator Objects
https://bugs.webkit.org/show_bug.cgi?id=142420

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-06
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Runtime.json:

Add new object subtype "iterator" for built-in iterator objects.

  • inspector/InjectedScriptSource.js:

Return iterator values as Entry objects.

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::subtype):
Identify "iterator" typed objects.

(Inspector::JSInjectedScriptHost::getInternalProperties):
Provide internal properties for the different Iterator objects.

(Inspector::JSInjectedScriptHost::iteratorEntries):
Fetch the next few iterator entries of a built-in iterator object.

  • inspector/JSInjectedScriptHost.h:
  • inspector/JSInjectedScriptHostPrototype.cpp:

(Inspector::JSInjectedScriptHostPrototype::finishCreation):
(Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries):
Call through to JSInjectedScriptHost.

  • runtime/JSArgumentsIterator.cpp:

(JSC::JSArgumentsIterator::clone):

  • runtime/JSArgumentsIterator.h:

(JSC::JSArgumentsIterator::iteratedValue):

  • runtime/JSArrayIterator.cpp:

(JSC::JSArrayIterator::kind):
(JSC::JSArrayIterator::iteratedValue):
(JSC::JSArrayIterator::clone):

  • runtime/JSArrayIterator.h:
  • runtime/JSMapIterator.cpp:

(JSC::JSMapIterator::finishCreation):
(JSC::JSMapIterator::clone):

  • runtime/JSMapIterator.h:

(JSC::JSMapIterator::kind):
(JSC::JSMapIterator::iteratedValue):

  • runtime/JSSetIterator.cpp:

(JSC::JSSetIterator::finishCreation):
(JSC::JSSetIterator::clone):

  • runtime/JSSetIterator.h:

(JSC::JSSetIterator::kind):
(JSC::JSSetIterator::iteratedValue):

  • runtime/JSStringIterator.cpp:

(JSC::JSStringIterator::iteratedValue):
(JSC::JSStringIterator::clone):

  • runtime/JSStringIterator.h:

Add accessors for internal properties and provide a way to clone the
iterator so we can be at the same index and peek at the next few
objects without modifying the original iterator object.

Source/WebInspectorUI:

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl):
Treat an iterator like an object.

  • UserInterface/Views/ObjectPreviewView.js:

Output iterator previews with []s, not {}s.

LayoutTests:

  • inspector/model/remote-object.html:

Update tests to include iterator objects.

7:47 PM Changeset in webkit [181202] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark svg/fonts/svg-font-horiz-orig.html as Image-only failing.

  • platform/win/TestExpectations:
7:22 PM Changeset in webkit [181201] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Create new buttons for media controls on OSX.
https://bugs.webkit.org/show_bug.cgi?id=142415.
<rdar://problem/20019441>
Reviewed by Eric Carlson.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-wireless-playback-picker-button):
(audio::-webkit-media-controls-wireless-playback-picker-button.playing):
(audio:-webkit-full-screen::-webkit-media-controls-wireless-playback-picker-button):

6:41 PM Changeset in webkit [181200] by weinig@apple.com
  • 37 edits
    3 moves
    4 adds in trunk

[Content Extensions] Move compiling of content extensions to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=142402

Reviewed by Benjamin Poulain.

Source/WebCore:

  • contentextensions/CompiledContentExtension.cpp:

(WebCore::ContentExtensions::CompiledContentExtension::~CompiledContentExtension):
(WebCore::ContentExtensions::CompiledContentExtension::create): Deleted.
(WebCore::ContentExtensions::CompiledContentExtension::CompiledContentExtension): Deleted.

  • contentextensions/CompiledContentExtension.h:

(WebCore::ContentExtensions::CompiledContentExtension::bytecode): Deleted.
(WebCore::ContentExtensions::CompiledContentExtension::actions): Deleted.
Convert CompiledContentExtension to be an abstract base class so that we can back it however
we like at the WebKit level. Since it doesn't necessarily use Vectors for its backing store
any more, change the interface to use pointer/length.

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::compileRuleList):

  • contentextensions/ContentExtensionCompiler.h:

Change compileRuleList to return compiled result as the raw Vectors rather than as
a CompiledContentExtension, since that class is now abstract. It is up to the caller
to copy the data into its final home.

  • contentextensions/ContentExtensionRule.cpp:

(WebCore::ContentExtensions::Action::deserialize):

  • contentextensions/ContentExtensionRule.h:

Switch Action::deserialize to take pointer/length rather than a Vector.

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForURL):
Pull getting the serialized actions from the compiled extension out of the loop
to avoid calling the virtual function multiple times. Pass the bytecode and actions
as pointer/length pairs rather than Vectors.

  • contentextensions/DFABytecodeInterpreter.cpp:

(WebCore::ContentExtensions::getBits):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):

  • contentextensions/DFABytecodeInterpreter.h:

(WebCore::ContentExtensions::DFABytecodeInterpreter::DFABytecodeInterpreter):
Switch the interpreter to take pointer/length rather than a Vector.

  • page/UserContentController.cpp:

(WebCore::UserContentController::addUserContentExtension):
(WebCore::UserContentController::removeUserContentExtension):
(WebCore::UserContentController::removeAllUserContentExtensions):
(WebCore::UserContentController::addUserContentFilter): Deleted.
(WebCore::UserContentController::removeUserContentFilter): Deleted.
(WebCore::UserContentController::removeAllUserContentFilters): Deleted.

  • page/UserContentController.h:

Unify terminology to use the term UserContentExtension rather than UserContentFilter.

Source/WebKit2:

  • Shared/API/APIObject.h:

Rename UserContentFilter type to UserContentExtension to match new unified naming.

  • Shared/WebCompiledContentExtension.cpp: Added.

(WebKit::WebCompiledContentExtension::create):
(WebKit::WebCompiledContentExtension::WebCompiledContentExtension):
(WebKit::WebCompiledContentExtension::~WebCompiledContentExtension):
(WebKit::WebCompiledContentExtension::bytecode):
(WebKit::WebCompiledContentExtension::bytecodeLength):
(WebKit::WebCompiledContentExtension::actions):
(WebKit::WebCompiledContentExtension::actionsLength):

  • Shared/WebCompiledContentExtension.h: Added.

Add new WebKit2 implementation of CompiledContentExtension. Right now it is the same as the old
WebCore based CompiledContentExtension, but in subsequent patches, it will use shared/file backed
memory.

  • Shared/WebCompiledContentExtensionData.cpp: Added.

(WebKit::WebCompiledContentExtensionData::encode):
(WebKit::WebCompiledContentExtensionData::decode):

  • Shared/WebCompiledContentExtensionData.h: Added.

Add encodable/decodable holder for the compiled content extension data for use in IPC. Right
now it is doing the naive thing and always copying the data, but in subsequent patches, it will
use shared/file backed memory.

  • Shared/WebPageGroupData.cpp:

(WebKit::WebPageGroupData::encode):
(WebKit::WebPageGroupData::decode):

  • Shared/WebPageGroupData.h:

Rename member to match new unification on the name userContentExtension. Change the value from
the serialized JSON (as a String) to WebCompiledContentExtensionData.

  • UIProcess/API/APIUserContentExtension.cpp: Copied from Source/WebKit2/UIProcess/API/APIUserContentFilter.cpp.

(API::UserContentExtension::UserContentExtension):
(API::UserContentExtension::~UserContentExtension):
(API::UserContentFilter::UserContentFilter): Deleted.
(API::UserContentFilter::~UserContentFilter): Deleted.

  • UIProcess/API/APIUserContentExtension.h: Copied from Source/WebKit2/UIProcess/API/APIUserContentFilter.h.
  • UIProcess/API/APIUserContentFilter.cpp: Removed.
  • UIProcess/API/APIUserContentFilter.h: Removed.

Renamed UserContentFilter to APIUserContentExtension. Updated to store the compiled extension (as a WebCompiledContentExtension)
rather than the serialized JSON.

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKPageGroup.cpp:

(WKPageGroupAddUserContentFilter):
(WKPageGroupRemoveUserContentFilter):
(WKPageGroupRemoveAllUserContentFilters):

  • UIProcess/API/C/WKUserContentControllerRef.cpp:

(WKUserContentControllerAddUserContentFilter):
(WKUserContentControllerRemoveAllUserContentFilters):

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController _addUserContentFilter:]):
(-[WKUserContentController _removeUserContentFilter:]):
(-[WKUserContentController _removeAllUserContentFilters]):
Update for rename of APIUserContentFilter -> UserContentExtension.

  • UIProcess/API/C/WKUserContentFilterRef.cpp:

(WKUserContentFilterGetTypeID):
(WKUserContentFilterCreate):
Update for rename of APIUserContentFilter -> UserContentExtension. Also make WKUserContentFilterCreate eagerly
compile rule list to a WebCompiledContentExtensionData.

  • UIProcess/API/Cocoa/_WKUserContentFilter.mm:

(-[_WKUserContentFilter initWithName:serializedRules:]):
(-[_WKUserContentFilter dealloc]):
(-[_WKUserContentFilter _apiObject]):
Update for rename of APIUserContentFilter -> UserContentExtension. Also make initWithName:serializedRules: eagerly
compile rule list to a WebCompiledContentExtensionData.

  • UIProcess/API/Cocoa/_WKUserContentFilterInternal.h:

(WebKit::wrapper):
Update for rename of APIUserContentFilter -> UserContentExtension.

  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addUserContentExtension):
(WebKit::WebUserContentControllerProxy::removeUserContentExtension):
(WebKit::WebUserContentControllerProxy::removeAllUserContentExtensions):
(WebKit::WebUserContentControllerProxy::addUserContentFilter): Deleted.
(WebKit::WebUserContentControllerProxy::removeUserContentFilter): Deleted.
(WebKit::WebUserContentControllerProxy::removeAllUserContentFilters): Deleted.

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • UIProcess/WebPageGroup.cpp:

(WebKit::WebPageGroup::addUserContentExtension):
(WebKit::WebPageGroup::removeUserContentExtension):
(WebKit::WebPageGroup::removeAllUserContentExtensions):
(WebKit::WebPageGroup::addUserContentFilter): Deleted.
(WebKit::WebPageGroup::removeUserContentFilter): Deleted.
(WebKit::WebPageGroup::removeAllUserContentFilters): Deleted.

  • UIProcess/WebPageGroup.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::addUserContentExtensions):
(WebKit::WebUserContentController::removeUserContentExtension):
(WebKit::WebUserContentController::removeAllUserContentExtensions):
(WebKit::WebUserContentController::addUserContentFilters): Deleted.
(WebKit::WebUserContentController::removeUserContentFilter): Deleted.
(WebKit::WebUserContentController::removeAllUserContentFilters): Deleted.

  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/UserContent/WebUserContentController.messages.in:
  • WebProcess/WebPage/WebPageGroupProxy.cpp:

(WebKit::WebPageGroupProxy::WebPageGroupProxy):
(WebKit::WebPageGroupProxy::addUserContentExtension):
(WebKit::WebPageGroupProxy::removeUserContentExtension):
(WebKit::WebPageGroupProxy::removeAllUserContentExtensions):
(WebKit::WebPageGroupProxy::addUserContentFilter): Deleted.
(WebKit::WebPageGroupProxy::removeUserContentFilter): Deleted.
(WebKit::WebPageGroupProxy::removeAllUserContentFilters): Deleted.

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

Pipe the compiled extension from the UIProcess to the WebProcess.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: Copied from Tools/TestWebKitAPI/Tests/WebCore/ContentFilter.cpp.

(TestWebKitAPI::InMemoryCompiledContentExtension::create):
(TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension):
(TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebCore/ContentFilter.cpp: Removed.

Update test for new name (ContentFilter -> ContentExtensions) and API (CompiledContentExtension
is now abstract).

6:00 PM Changeset in webkit [181199] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark svg/fonts/svg-font-horiz-orig.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=142423

  • platform/win/TestExpectations:
5:58 PM Changeset in webkit [181198] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Redraw timeline background when updating media time.
https://bugs.webkit.org/show_bug.cgi?id=142421.
<rdar://problem/20065104>
Reviewed by Brent Fulgham.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handleTimeUpdate):

5:52 PM Changeset in webkit [181197] by diorahman@rockybars.com
  • 10 edits in trunk/Source/WebCore

Enable selectors level 4's :lang() by default
https://bugs.webkit.org/show_bug.cgi?id=142302

Reviewed by Benjamin Poulain.

No behavior change.

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

(WebCore::CSSParser::detectFunctionTypeToken):

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::setLangArgumentList):

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

(WebCore::appendLangArgumentList):
(WebCore::CSSSelector::selectorText):
(WebCore::CSSSelector::setLangArgumentList):

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

(WebCore::SelectorChecker::checkOne):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesLangPseudoClass):
(WebCore::matchesLangPseudoClassDeprecated): Deleted.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):

5:48 PM Changeset in webkit [181196] by Brent Fulgham
  • 1 edit
    2 adds in trunk/LayoutTests

Add inherit support from scroll snap CSS properties
https://bugs.webkit.org/show_bug.cgi?id=136344
<rdar://problem/18162329>

Reviewed by Dean Jackson.

  • css3/scroll-snap/scroll-snap-inherit.html: Added.
  • css3/scroll-snap/scroll-snap-inherit-expected.txt: Added.
5:39 PM Changeset in webkit [181195] by rniwa@webkit.org
  • 4 edits in trunk

REGRESSION(r180595): construct varargs fails in FTL
https://bugs.webkit.org/show_bug.cgi?id=142030

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Increase sizeOfCallVarargs as done for sizeOfConstructVarargs in r180651.

  • ftl/FTLInlineCacheSize.cpp:

(JSC::FTL::sizeOfCallVarargs):

LayoutTests:

Re-enable the test on 64-bit iOS.

  • js/regress/script-tests/deltablue-varargs.js:
5:29 PM Changeset in webkit [181194] by Brent Fulgham
  • 3 edits
    2 adds in trunk

Setting scroll-snap-desination to (100% 100%) locks up WebKit
https://bugs.webkit.org/show_bug.cgi?id=142414
<rdar://problem/20077275>

Reviewed by Dean Jackson.

Source/WebCore:

Tested by css3/scroll-snap/scroll-snap-desination-lock-up.html.

Correct an infinite loop that is triggered when you combine a repeating (100%)
scroll-snap-point-{x,y} along with a 100% scroll-snap-destination value.

  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::updateFromStyle): Make sure we break out of the loop properly when
the scroll-snap-point-{x,y} step is the same as the scroll-snap-destination.

LayoutTests:

  • css3/scroll-snap/scroll-snap-desination-lock-up.html: Added.
  • css3/scroll-snap/scroll-snap-desination-lock-up-expected.txt: Added.
5:03 PM Changeset in webkit [181193] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

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

Unreviewed build fix.

  • platform/spi/cocoa/QuartzCoreSPI.h: Add kCAFilterPlusL.
4:41 PM Changeset in webkit [181192] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Correct Windows build.

Rubberstamped by Michael Saboff

  • win/AssembleBuildLogs/AssembleLogs.cmd: Correct cut/paste error

in the GOTO labels.

4:08 PM Changeset in webkit [181191] by dino@apple.com
  • 19 edits
    2 adds in trunk

Support "plus-lighter" in mix-blend mode
https://bugs.webkit.org/show_bug.cgi?id=142416
<rdar://problem/19993979>

Reviewed by Darin Adler and Sam Weinig.

Source/WebCore:

Support the "plus-lighter" blending mode to CSS.
See my reply to: https://lists.w3.org/Archives/Public/public-fx/2015JanMar/0021.html

Test: css3/blending/svg-blend-plus-lighter.html

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue): mix-blend-mode can now accept the
new keyword.

  • css/CSSPrimitiveValueMappings.h: Add the mappings to/from the GraphicsType.

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator BlendMode):

  • css/CSSValueKeywords.in: Add comment to show plus-darker and plus-lighter

are available.

  • platform/graphics/GraphicsTypes.cpp: New GraphicsType for PlusLighter.
  • platform/graphics/GraphicsTypes.h:
  • platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Map to the CA filter.

(PlatformCAFilters::setBlendingFiltersOnLayer):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation): Map to the CG
blending flag.

Source/WebKit2:

Output the appropriate blending type when logging.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTextStream::operator<<):

LayoutTests:

Add tests and new expected results for plus-lighter.

  • css3/blending/blend-mode-property-parsing-expected.txt:
  • css3/blending/blend-mode-simple-composited.html:
  • css3/blending/blend-mode-simple.html:
  • css3/blending/script-tests/blend-mode-property-parsing.js:
  • css3/blending/svg-blend-plus-lighter.html: Added.
  • platform/mac/css3/blending/blend-mode-simple-composited-expected.png:
  • platform/mac/css3/blending/blend-mode-simple-composited-expected.txt:
  • platform/mac/css3/blending/blend-mode-simple-expected.png:
  • platform/mac/css3/blending/blend-mode-simple-expected.txt:
  • platform/mac/css3/blending/svg-blend-plus-lighter-expected.txt: Added.
4:03 PM Changeset in webkit [181190] by achristensen@apple.com
  • 6 edits
    2 adds in trunk/Source/WebCore

Soft link MediaAccessibility using new macros.
https://bugs.webkit.org/show_bug.cgi?id=142406

Reviewed by David Kilzer.

  • Configurations/WebCore.unexp:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • page/CaptionUserPreferencesMediaAF.cpp:
  • platform/cf/MediaAccessibilitySoftLink.cpp: Added.
  • platform/cf/MediaAccessibilitySoftLink.h: Added.
3:39 PM Changeset in webkit [181189] by Brent Fulgham
  • 16 edits
    2 adds in trunk

Add 'initial' keyword support for scroll snap CSS properties
https://bugs.webkit.org/show_bug.cgi?id=136345
<rdar://problem/18162325>

Reviewed by Dean Jackson.

Source/WebCore:

Tested by css3/scroll-snap/scroll-snap-initial.html

The existing implementation already had 'initial' keyword support, but did not fully follow
the CSS specification. In particular, the 'initial' state for the scroll-snap-points-x and
scroll-snap-points-y properties was not handled correctly.

Revise implementation to represent ScrollSnapPoints as a pointer, so that 'none' is a valid
state.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::scrollSnapPoints): If 'points' is null, return CSSValueNone.

  • css/CSSPropertyNames.in: Provide custom initial/inherit handles for snap point x/y sets.
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertScrollSnapPoints): Update to represent ScrollSnapPoints
as a pointer.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInitialWebkitScrollSnapPointsX): Provide custom pointer-based
implementation for ScrollSnapPoints.
(WebCore::StyleBuilderCustom::applyInheritWebkitScrollSnapPointsX): Ditto.
(WebCore::StyleBuilderCustom::applyInitialWebkitScrollSnapPointsY): Ditto.
(WebCore::StyleBuilderCustom::applyInheritWebkitScrollSnapPointsY): Ditto."

  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::updateFromStyle): Handle ScrollSnapPoints as pointers.
(WebCore::updateSnapOffsetsForScrollableArea): Ditto.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::scrollSnapPointsX): Update to use pointer-based representation of ScrollSnapPoints.
(WebCore::RenderStyle::scrollSnapPointsY): Ditto.
(WebCore::RenderStyle::setScrollSnapPointsX): Ditto.
(WebCore::RenderStyle::setScrollSnapPointsY): Ditto.
(WebCore::RenderStyle::initialScrollSnapPointsX): Deleted.
(WebCore::RenderStyle::initialScrollSnapPointsY): Deleted.

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleScrollSnapPoints.cpp:

(WebCore::StyleScrollSnapPoints::StyleScrollSnapPoints): Revise constructor to handle pointer argument.

  • rendering/style/StyleScrollSnapPoints.h:

LayoutTests:

  • css3/scroll-snap/scroll-snap-property-computed-style.js: Update for corrected 'initial' behavior.
  • css3/scroll-snap/scroll-snap-property-computed-style-expected.txt: Rebaselined.
  • css3/scroll-snap/scroll-snap-initial.html: Added.
  • css3/scroll-snap/scroll-snap-initial-expected.txt: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/win/TestExpectations:
3:13 PM Changeset in webkit [181188] by Lucas Forschler
  • 6 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r180337. rdar://problem/20074071

3:08 PM Changeset in webkit [181187] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.11

New tag.

2:41 PM Changeset in webkit [181186] by Joseph Pecoraro
  • 11 edits in trunk/Source/WebInspectorUI

Web Inspector: Adopt Object Literal Method Property Syntax
https://bugs.webkit.org/show_bug.cgi?id=142409

Reviewed by Timothy Hatcher.

Mechanical change touching lots of files.

2:41 PM Changeset in webkit [181185] by Joseph Pecoraro
  • 55 edits in trunk/Source

Web Inspector: Adopt Object Literal Shorthand Property Construction Syntax
https://bugs.webkit.org/show_bug.cgi?id=142374

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/InjectedScriptSource.js:

Source/WebInspectorUI:

Mechanical change touching lots of files.

2:33 PM Changeset in webkit [181184] by jonowells@apple.com
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Populate Debugger sidebar with all debuggable resources
https://bugs.webkit.org/show_bug.cgi?id=141232

Reviewed by Timothy Hatcher.

All debuggable resources now show in the debugger sidebar. The _resourceAdded handler now adds a script resource
to the sidebar regardless of whether it has any breakpoints set on it. The new function
_getTreeElementForSourceCodeAndAddToContentTreeOutline adds the element to the debugger sidebar before
_addBreakpointsForSourceCode is called. Removing all breakpoints from a resource no longer removes that
resource from the debugger sidebar. TreeOutline.prototype.removeChild has been updated so the disclosure
button will disappear and reappear correctly when removing/adding breakpoints.

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel.prototype._addBreakpoint): Expand resource if first breakpoint is added.
(WebInspector.DebuggerSidebarPanel.prototype._getTreeElementForSourceCodeAndAddToContentTreeOutline): Created.
(WebInspector.DebuggerSidebarPanel.prototype._resourceAdded): Checks resource type and adds scripts to sidebar.
(WebInspector.DebuggerSidebarPanel.prototype._mainResourceChanged):
(WebInspector.DebuggerSidebarPanel.prototype._scriptAdded):
(WebInspector.DebuggerSidebarPanel.prototype._removeBreakpointTreeElement): No longer removes empty parent.
(WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected): Displays scripts without breakpoints now.

  • UserInterface/Views/GeneralTreeElement.js:

(WebInspector.GeneralTreeElement.prototype.get disclosureButton): Drive-by fix. Unused. Deleted.

  • UserInterface/Views/TreeOutline.js:

(TreeOutline.prototype.removeChild):
Remove parent class and set hasChildren to false if necessary to properly hide and reveal disclosure button
for elements whose children have been removed.

2:31 PM Changeset in webkit [181183] by commit-queue@webkit.org
  • 4 edits
    6 adds in trunk

ES6: Object Literal Extensions - Methods
https://bugs.webkit.org/show_bug.cgi?id=142390

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-06
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Support method syntax in object literals.

  • parser/Parser.h:
  • parser/Parser.cpp:

(JSC::stringForFunctionMode):
(JSC::Parser<LexerType>::parseProperty):
Methods are allowed for identifier, string, and numeric names,
and computed property names.

(JSC::Parser<LexerType>::parsePropertyMethod):
Helper for parsing a property method.

LayoutTests:

  • js/object-literal-computed-methods-expected.txt: Added.
  • js/object-literal-computed-methods.html: Added.
  • js/object-literal-methods-expected.txt: Added.
  • js/object-literal-methods.html: Added.
  • js/script-tests/object-literal-computed-methods.js: Added.
  • js/script-tests/object-literal-methods.js: Added.
2:29 PM Changeset in webkit [181182] by Lucas Forschler
  • 4 edits
    3 copies in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r180234. rdar://problem/20057246

2:25 PM Changeset in webkit [181181] by Lucas Forschler
  • 2 edits
    1 copy in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merge patch for rdar://problem/20058799.

2:01 PM Changeset in webkit [181180] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

2015-03-06 Geoffrey Garen <ggaren@apple.com>

Fix crashes seen on the the Windows buildbots after my last patch.

Unreviewed.

  • wtf/FastMalloc.cpp: (WTF::fastAlignedMalloc): Let's pass these arguments in the right order.
1:31 PM Changeset in webkit [181179] by Joseph Pecoraro
  • 12 edits in trunk

proto shorthand property should not modify prototype in Object Literal construction
https://bugs.webkit.org/show_bug.cgi?id=142382

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

When parsing shorthand property syntax we know we will do a
put direct, even if the property name is proto. Pass that
information through to bytecode generation.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitDirectPutById):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::PropertyListNode::emitPutConstantProperty):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createProperty):

  • parser/NodeConstructors.h:

(JSC::PropertyNode::PropertyNode):

  • parser/Nodes.h:

(JSC::PropertyNode::putType):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseProperty):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createProperty):

LayoutTests:

  • js/object-literal-shorthand-construction-expected.txt:
  • js/script-tests/object-literal-shorthand-construction.js:

Update test to cover the proto shorthand case which is
different from longhand case.

1:29 PM Changeset in webkit [181178] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Reskin Captions button and container on OSX.
https://bugs.webkit.org/show_bug.cgi?id=142383.
<rdar://problem/20061466>
Reviewed by Eric Carlson.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-toggle-closed-captions-button): Create new captions button icon.
Update caption container to match rest of media controls better.
(audio::-webkit-media-controls-closed-captions-container):
(audio::-webkit-media-controls-closed-captions-container .list):
(audio::-webkit-media-controls-closed-captions-container h3):
(audio::-webkit-media-controls-closed-captions-container ul):
(audio::-webkit-media-controls-closed-captions-container li):
(audio::-webkit-media-controls-closed-captions-container li:focus):
(audio::-webkit-media-controls-closed-captions-container li:hover):
Fix up some fonts to make fonts between captions, status display and time displays consistent.
(audio::-webkit-media-controls-status-display):
(audio::-webkit-media-controls-time-remaining-display):

12:19 PM Changeset in webkit [181177] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

2015-03-06 Geoffrey Garen <ggaren@apple.com>

Fix crashes seen on the the 32-bit buildbots after my last patch.

Unreviewed.

  • heap/CopiedBlock.h: (JSC::CopiedBlock::payload):
  • heap/CopiedSpace.cpp: (JSC::CopiedSpace::tryAllocateOversize): Round up to the right alignment, since the size of the CopiedBlock class is not guaranteed to be the right alignment, and is in fact the wrong alignment on 32-bit.
12:13 PM Changeset in webkit [181176] by Beth Dakin
  • 4 edits in trunk/Source/WebKit2

REGRESSION (r180782): Data Detector popovers are not dismissed on scroll or zoom
https://bugs.webkit.org/show_bug.cgi?id=142371
-and corresponding-
rdar://problem/20059224

Reviewed by Tim Horton.

This patch has the WKImmediateActionController keep track of whether or not it has
an active immediate action. Then we only call into Lookup and DD if the window is
key OR if the WKView’s immediateActionController has an active action.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _dismissContentRelativeChildWindows]):

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

(-[WKImmediateActionController initWithPage:view:recognizer:]):
(-[WKImmediateActionController willDestroyView:]):
(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController hasActiveImmediateAction]):
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):

11:56 AM Changeset in webkit [181175] by Antti Koivisto
  • 3 edits in trunk/LayoutTests

Enable disk cache validation test on iOS
https://bugs.webkit.org/show_bug.cgi?id=142405

Reviewed by Andreas Kling.

The features is enabled.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
11:31 AM Changeset in webkit [181174] by jer.noble@apple.com
  • 3 edits
    3 adds in trunk

[Web Audio] Decoding specific .m4a file crashes tab
https://bugs.webkit.org/show_bug.cgi?id=139545

Reviewed by Eric Carlson.

Source/WebCore:

Test: webaudio/decode-audio-data-too-short.html

Bail out early if CoreAudio reports the number of frames in the file to be negative.

  • platform/audio/mac/AudioFileReaderMac.cpp:

(WebCore::AudioFileReader::createBus):

LayoutTests:

  • webaudio/decode-audio-data-too-short-expected.txt: Added.
  • webaudio/decode-audio-data-too-short.html: Added.
  • webaudio/resources/media/too-short.m4a: Added.
11:28 AM Changeset in webkit [181173] by commit-queue@webkit.org
  • 15 edits in trunk/Source

Scroll to make the video element visible when exiting fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=141439

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-03-06
Reviewed by Simon Fraser.

Source/WebCore:

This patch will scroll the element so it is visible when exiting fullscreen,
but only if the element is completely scrolled off screen.
Also update the element screen rect so exit animation goes to the correct location.

  • dom/Element.cpp:

(WebCore::Element::scrollIntoViewIfNotVisible): Added.

  • dom/Element.h: Add declaration for scrollIntoViewIfNotVisible.
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController fullscreenMayReturnToInline]):

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

(-[WebAVPlayerController playerViewController:restoreUserInterfaceForOptimizedFullscreenStopWithCompletionHandler:]):
(-[WebAVPlayerController playerViewControllerWillCancelOptimizedFullscree:]):
(WebVideoFullscreenInterfaceAVKit::setupFullscreen):
(WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal):
(WebVideoFullscreenInterfaceAVKit::exitFullscreen):
(WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal):
(WebVideoFullscreenInterfaceAVKit::preparedToReturnToInline):
(WebVideoFullscreenInterfaceAVKit::fullscreenMayReturnToInline):

  • rendering/ScrollBehavior.cpp:
  • rendering/ScrollBehavior.h:

Source/WebKit2:

This patch will restore interface state when exiting fullscreen.
Adds preparedToReturnToInline to continue exiting once the interface is updated.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):
(WebKit::WebVideoFullscreenManagerProxy::fullscreenMayReturnToInline):
(WebKit::WebVideoFullscreenManagerProxy::preparedToReturnToInline): added.

  • WebProcess/ios/WebVideoFullscreenManager.h:
  • WebProcess/ios/WebVideoFullscreenManager.messages.in:
  • WebProcess/ios/WebVideoFullscreenManager.mm:

(WebKit::WebVideoFullscreenManager::fullscreenMayReturnToInline):

11:08 AM Changeset in webkit [181172] by mmaxfield@apple.com
  • 7 edits
    2 adds in trunk

Crash in -[WebCascadeList objectAtIndex:] + 195
https://bugs.webkit.org/show_bug.cgi?id=141274

Reviewed by David Kilzer.

Source/WebCore:

CTFontDescriptorRefs can live forever in caches inside CoreText, which means our
WebCascadeList can too.

Test: platform/mac/fast/text/crash-complextextcontroller-custom-cascade-list.html

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::FontCascade): Initialize WeakPtrFactory.

  • platform/graphics/FontCascade.h:

(WebCore::FontCascade::createWeakPtr):

  • platform/graphics/mac/ComplexTextControllerCoreText.mm: Migrate the raw pointer

to WeakPtr.
(-[WebCascadeList initWithFont:character:]):
(-[WebCascadeList count]):
(-[WebCascadeList objectAtIndex:]):

Source/WTF:

  • wtf/WeakPtr.h:

(WTF::WeakPtrFactory::createWeakPtr): WebCascadeList uses a const FontCascade,
and it calls createWeakPtr() on it. Therefore, createWeakPtr has to be marked
const.
(WTF::WeakPtrFactory::operator=): Removed because it was broken and had no
callers

LayoutTests:

  • platform/mac/fast/text/crash-complextextcontroller-custom-cascade-list-expected.txt: Added.
  • platform/mac/fast/text/crash-complextextcontroller-custom-cascade-list.html: Added.
11:06 AM Changeset in webkit [181171] by mmaxfield@apple.com
  • 6 edits
    1 move in trunk/Source/WebCore

Rename BreakingContextInlineHeaders.h to BreakingContext.h
https://bugs.webkit.org/show_bug.cgi?id=142404

Reviewed by Simon Fraser.

No point naming it "InlineHeaders" when there are no non-inline-headers files.

No new tests because this is just a rename of a file.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderBlockLineLayout.cpp:
  • rendering/line/BreakingContext.h: Renamed from Source/WebCore/rendering/line/BreakingContextInlineHeaders.h.

(WebCore::WordMeasurement::WordMeasurement):
(WebCore::BreakingContext::BreakingContext):
(WebCore::BreakingContext::currentObject):
(WebCore::BreakingContext::lineBreak):
(WebCore::BreakingContext::lineWidth):
(WebCore::BreakingContext::atEnd):
(WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
(WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
(WebCore::BreakingContext::InlineIteratorHistory::InlineIteratorHistory):
(WebCore::BreakingContext::InlineIteratorHistory::push):
(WebCore::BreakingContext::InlineIteratorHistory::update):
(WebCore::BreakingContext::InlineIteratorHistory::renderer):
(WebCore::BreakingContext::InlineIteratorHistory::offset):
(WebCore::BreakingContext::InlineIteratorHistory::atTextParagraphSeparator):
(WebCore::BreakingContext::InlineIteratorHistory::previousInSameNode):
(WebCore::BreakingContext::InlineIteratorHistory::get):
(WebCore::BreakingContext::InlineIteratorHistory::current):
(WebCore::BreakingContext::InlineIteratorHistory::historyLength):
(WebCore::BreakingContext::InlineIteratorHistory::moveTo):
(WebCore::BreakingContext::InlineIteratorHistory::increment):
(WebCore::BreakingContext::InlineIteratorHistory::clear):
(WebCore::BreakingContext::initializeForCurrentObject):
(WebCore::BreakingContext::increment):
(WebCore::BreakingContext::handleBR):
(WebCore::borderPaddingMarginStart):
(WebCore::borderPaddingMarginEnd):
(WebCore::shouldAddBorderPaddingMargin):
(WebCore::previousInFlowSibling):
(WebCore::inlineLogicalWidth):
(WebCore::BreakingContext::handleOutOfFlowPositioned):
(WebCore::BreakingContext::handleFloat):
(WebCore::shouldSkipWhitespaceAfterStartObject):
(WebCore::BreakingContext::handleEmptyInline):
(WebCore::BreakingContext::handleReplaced):
(WebCore::firstPositiveWidth):
(WebCore::iteratorIsBeyondEndOfRenderCombineText):
(WebCore::nextCharacter):
(WebCore::updateCounterIfNeeded):
(WebCore::measureHyphenWidth):
(WebCore::textWidth):
(WebCore::ensureCharacterGetsLineBox):
(WebCore::tryHyphenating):
(WebCore::BreakingContext::handleText):
(WebCore::textBeginsWithBreakablePosition):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
(WebCore::checkMidpoints):
(WebCore::BreakingContext::handleEndOfLine):
(WebCore::BreakingContext::optimalLineBreakLocationForTrailingWord):

  • rendering/line/LineBreaker.cpp:
10:47 AM Changeset in webkit [181170] by mitz@apple.com
  • 3 edits
    1 add in trunk/Source/WebCore

Expose some of the functionality of extract-localizable-strings.pl as a module
https://bugs.webkit.org/show_bug.cgi?id=142038

Reviewed by Sam Weinig.

  • LocalizableStrings.pm: Copied from Source/WebCore/extract-localizable-strings.pl.

(setTreatWarningsAsErrors): Added this setter for the variable moved here.
(sawError): Added a getter.
(emitError): Added. Emits the error message and sets $sawError.
(unescapeHexSequence): Moved from extract-localizable-strings.pl and renamed to start with
a lowercase letter.
(keyCollisionCount): Added this getter.
(localizedCount): Added this getter.
(HandleUIString): Moved from extract-localizable-strings.pl and made it increment the
localized string count.
(writeStringsFile): Moved code from extract-localizable-strings.pl into this new subroutine.
(verifyStringsFile): Ditto.

  • WebCore.xcodeproj/project.pbxproj: Added LocalizableStrings.pm to the Copy Scripts build

phase.

  • extract-localizable-strings.pl:

(emitWarning): Moved to the module.
(UnescapeHexSequence): Ditto.
(HandleUIString): Ditto.

10:45 AM Changeset in webkit [181169] by Darin Adler
  • 46 edits in trunk/Source/WebCore

Remove unused C++ DOM event handler attribute functions
https://bugs.webkit.org/show_bug.cgi?id=142398

Reviewed by Anders Carlsson.

  • dom/EventTarget.h: Removed now-unneeded macros: DEFINE_ATTRIBUTE_EVENT_LISTENER,

DECLARE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER, DEFINE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER,
DEFINE_WINDOW_ATTRIBUTE_EVENT_LISTENER, DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER,
DECLARE_FORWARDING_ATTRIBUTE_EVENT_LISTENER, DEFINE_FORWARDING_ATTRIBUTE_EVENT_LISTENER.

  • Modules/webaudio/AudioScheduledSourceNode.cpp:

(WebCore::AudioScheduledSourceNode::setOnended): Deleted.
(WebCore::AudioScheduledSourceNode::finish): Rewrote this to use dispatchEvent
instead of one-off event-sending code. Also use a lambda to avoid needing two
additional member functions to implement this.
(WebCore::AudioScheduledSourceNode::notifyEndedDispatch): Deleted.
(WebCore::AudioScheduledSourceNode::notifyEnded): Deleted.

  • Modules/webaudio/AudioScheduledSourceNode.h: Updated for above.
  • Modules/battery/BatteryManager.h: Removed onxxx and setOnxxx functions,

including ones created with macros from EventTarget.h.

  • Modules/encryptedmedia/MediaKeySession.h: Ditto.
  • Modules/indexeddb/IDBDatabase.h: Ditto.
  • Modules/indexeddb/IDBOpenDBRequest.h: Ditto.
  • Modules/indexeddb/IDBRequest.h: Ditto.
  • Modules/indexeddb/IDBTransaction.h: Ditto.
  • Modules/mediastream/MediaStream.h: Ditto.
  • Modules/mediastream/MediaStreamTrack.h: Ditto.
  • Modules/mediastream/RTCDTMFSender.h: Ditto.
  • Modules/mediastream/RTCDataChannel.h: Ditto.
  • Modules/mediastream/RTCPeerConnection.h: Ditto.
  • Modules/notifications/Notification.h: Ditto.
  • Modules/speech/SpeechSynthesisUtterance.h: Ditto.
  • Modules/webaudio/AudioContext.h: Ditto.
  • Modules/webaudio/ScriptProcessorNode.cpp: Ditto.
  • Modules/webaudio/ScriptProcessorNode.h: Ditto.
  • Modules/websockets/WebSocket.h: Ditto.
  • css/FontLoader.h: Ditto.
  • dom/Document.h: Ditto.
  • dom/Element.cpp: Ditto.
  • dom/Element.h: Ditto.
  • dom/MessagePort.h: Ditto.
  • fileapi/FileReader.h: Ditto.
  • html/HTMLBodyElement.h: Ditto.
  • html/HTMLFormElement.h: Ditto.
  • html/HTMLFrameSetElement.h: Ditto.
  • html/HTMLInputElement.h: Ditto.
  • html/HTMLMediaElement.h: Ditto.
  • html/HTMLVideoElement.h: Ditto.
  • html/track/TextTrack.h: Ditto.
  • html/track/TextTrackCue.h: Ditto.
  • html/track/TrackListBase.h: Ditto.
  • loader/appcache/DOMApplicationCache.h: Ditto.
  • page/DOMWindow.h: Ditto.
  • page/EventSource.h: Ditto.
  • page/Performance.h: Ditto.
  • workers/AbstractWorker.h: Ditto.
  • workers/DedicatedWorkerGlobalScope.h: Ditto.
  • workers/Worker.h: Ditto.
  • workers/WorkerGlobalScope.h: Ditto.
  • xml/XMLHttpRequest.h: Ditto.
  • xml/XMLHttpRequestUpload.h: Ditto.
10:44 AM Changeset in webkit [181168] by commit-queue@webkit.org
  • 5 edits
    8 adds in trunk

Setting any of the <object> element plugin controlling attributes does not have any affect.
https://bugs.webkit.org/show_bug.cgi?id=141936.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-03-06
Reviewed by Simon Fraser.
Source/WebCore:

When setting any of the <object> element plugin controlling attributes
dynamically we need to mark the the element to be dirty by calling
setNeedsStyleRecalc(), so it has to recreate its renderer when needed.

Tests: fast/css/image-object-hover-inherit.html

svg/as-object/svg-in-object-dynamic-attribute-change.html

  • dom/Element.h: Delete unimplemented function.
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parseAttribute): Mark the element dirty by
calling setNeedsStyleRecalc() when one of the plugin controlling attributes
gets changed. We have to clear m_useFallbackContent because the attribute's
new value might fix the object rendering.

  • html/HTMLObjectElement.h: Add a function to clear m_useFallbackContent.

LayoutTests:

  • fast/css/image-object-hover-inherit-expected.html: Added.
  • fast/css/image-object-hover-inherit.html: Added.

A guarding test to catch the case of reconstructing the image <object>
renderer while performing a synchronous resolveTree() followed by page
rendering or dump render tree.

  • svg/as-object/resources/lime100x100.html: Added.
  • svg/as-object/resources/lime100x100.png: Added.
  • svg/as-object/resources/lime100x100.svg: Added.
  • svg/as-object/resources/red100x100.svg: Added.
  • svg/as-object/svg-in-object-dynamic-attribute-change-expected.html: Added.
  • svg/as-object/svg-in-object-dynamic-attribute-change.html: Added.

Ensure that changing the 'type' and the 'data' attributes of the <object>
element will have the expected outcome. Also make sure that the <object>
element renderer falls back correctly when setting any of the attributes
to some unexpected value.

10:21 AM Changeset in webkit [181167] by mmaxfield@apple.com
  • 3 edits
    5 adds in trunk

Test horiz-origin-x and horiz-origin-y in SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=142403

Source/WebCore:

Reviewed by Simon Fraser.

Remove incorrect comment.

Test: svg/fonts/svg-font-horiz-origin.html

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::CFFBuilder::CFFBuilder):

LayoutTests:

Simply moving to the origin in glyph-space at the beginning
of path parsing won't work if subsequent coordinates are absolute.

Reviewed by Simon Fraser.

  • svg/fonts/resources/svg-font-horiz-origin-font.svg: Added.
  • svg/fonts/svg-font-horiz-origin-expected.html: Added.
  • svg/fonts/svg-font-horiz-origin.html: Added.
10:20 AM Changeset in webkit [181166] by Simon Fraser
  • 47 edits in trunk/Source

Allow tree dumping functions to be used in release builds by switching a flag
https://bugs.webkit.org/show_bug.cgi?id=142379

Reviewed by Zalan Bujtas.

There are various tree dumping functions that are useful for debugging, and sometimes
you want to be able to use them in release builds. Currently they are surrounded by
in config.h

  • config.h:
  • dom/DocumentMarkerController.cpp:
  • dom/DocumentMarkerController.h:
  • dom/Element.cpp:
  • dom/Element.h:
  • dom/Node.cpp:
  • dom/Node.h:
  • dom/Position.cpp: Position::debugPosition(const char* msg) was available in release builds, but this changes

is to respect ENABLE_TREE_DEBUGGING, which I think is correct.

  • dom/Position.h:
  • dom/Range.cpp:
  • dom/Range.h:
  • dom/Text.cpp:
  • dom/Text.h:
  • rendering/CounterNode.cpp:
  • rendering/CounterNode.h:
  • rendering/InlineBox.cpp:
  • rendering/InlineBox.h:
  • rendering/InlineFlowBox.cpp:
  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.cpp:
  • rendering/InlineTextBox.h:
  • rendering/RenderBlockFlow.cpp:
  • rendering/RenderBlockFlow.h:
  • rendering/RenderCounter.cpp:
  • rendering/RenderCounter.h:
  • rendering/RenderLayer.cpp:
  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createGraphicsLayer):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateForegroundLayer):
(WebCore::RenderLayerBacking::updateBackgroundLayer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::CompositingState::CompositingState):
(WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
(WebCore::RenderLayerCompositor::ensureRootLayer):

  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h: showTreeCharacterOffset was unused.
  • rendering/RootInlineBox.cpp:
  • rendering/RootInlineBox.h:
  • rendering/SimpleLineLayoutFunctions.cpp:
  • rendering/SimpleLineLayoutFunctions.h:
  • rendering/svg/SVGResources.cpp:
  • rendering/svg/SVGResources.h:
10:15 AM Changeset in webkit [181165] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

An SVG element without intrinsic size inherits the container size as its viewport instead of inheriting the container viewport.
https://bugs.webkit.org/show_bug.cgi?id=141725.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-03-06
Reviewed by Darin Adler.

Source/WebCore:

The current viewport of the <svg> element should be retrieved from its
renderer if the renderer is available. If the renderer is not created yet,
this means the viewport is needed to calculate the size of the renderer.
In this case, we should return the element size if it is intrinsic size.

Test: svg/css/svg-css-different-intrinsic-sizes.html

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::currentViewportSize): Change the order for
returning the viewport of the <svg> element. We should consider the case
of a valid renderer before considering the case of an intrinsic size.

LayoutTests:

  • svg/css/svg-css-different-intrinsic-sizes-expected.html: Added.
  • svg/css/svg-css-different-intrinsic-sizes.html: Added.

The intrinsic size of the <svg> element is overridden by CSS. The elements
inside the <svg> should consider the css size (which is equal to the <svg>
element viewport) instead of the <svg> element intrinsic size.

10:14 AM Changeset in webkit [181164] by Simon Fraser
  • 7 edits
    2 adds in trunk

Allow composited clip-path to be updated without a layer repaint
https://bugs.webkit.org/show_bug.cgi?id=142384

Reviewed by Zalan Bujtas.

Source/WebCore:

When clip-path is mapped to a compositing shape layer mask, we can just
push a new shape to the GraphicsLayer to update the clip path, without
needing to repaint.

Achieve this by adding ContextSensitivePropertyClipPath. When set, and the
stars are aligned, issue a StyleDifferenceRecompositeLayer rather than
a StyleDifferenceRepaint.

We ask RenderLayerCompositor whether the clip path can be composited
to hide platform differences related to whether GraphicsLayer supports
shape masks.

Test: compositing/masks/compositing-clip-path-change-no-repaint.html

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::adjustStyleDifference): Remove obvious comment
about opacity. Handle ContextSensitivePropertyClipPath.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::canCompositeClipPath): If we have a mask
we have to paint the mask + clip path into the mask layer (mirrors code in
RenderLayerBacking::updateMaskingLayer but isn't quite similar enough to share).

  • rendering/RenderLayerCompositor.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresRepaint): Set ContextSensitivePropertyClipPath
and don't return, as is normal for context-sensitive property handling.

  • rendering/style/RenderStyleConstants.h: Line things up to avoid future bit

fumbles, and remove unnecessary braces.

LayoutTests:

Test repaint with a clip-path change.

  • compositing/masks/compositing-clip-path-change-no-repaint-expected.txt: Added.
  • compositing/masks/compositing-clip-path-change-no-repaint.html: Added.
10:13 AM Changeset in webkit [181163] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Content Extensions] Process all actions when blocking a URL.
https://bugs.webkit.org/show_bug.cgi?id=142363

Patch by Alex Christensen <achristensen@webkit.org> on 2015-03-06
Reviewed by Darin Adler.

This can only be tested once we implement css selectors.

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForURL):
Do not return early when adding a block action.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):
Process all actions before returning.

10:09 AM Changeset in webkit [181162] by Antti Koivisto
  • 2 edits
    1 move in trunk/Source/WebKit2

Rename NetworkCacheStorageCocoa.mm to NetworkCacheStorage.cpp
https://bugs.webkit.org/show_bug.cgi?id=142401

Rubber-stamped by Anders Carlsson.

It is now fully cross-platform.

  • NetworkProcess/cache/NetworkCacheStorage.cpp: Copied from Source/WebKit2/NetworkProcess/cache/NetworkCacheStorageCocoa.mm.

(WebKit::NetworkCache::Storage::shrinkIfNeeded):

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
9:30 AM Changeset in webkit [181161] by Antti Koivisto
  • 4 edits in trunk/Source/WebKit2

Don't use dispatch_semaphore in NetworkCacheStorage
https://bugs.webkit.org/show_bug.cgi?id=142395

Reviewed by Anders Carlsson.

  • NetworkProcess/cache/NetworkCacheIOChannel.h:
  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:

(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::readSync):

Add readSync to encapsulate the semaphore.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCache::Storage::traverse):

9:25 AM Changeset in webkit [181160] by Antti Koivisto
  • 5 edits in trunk/Source/WebKit2

Move dispatch_data use behind NetworkCache::Data abstraction
https://bugs.webkit.org/show_bug.cgi?id=142392

Reviewed by Anders Carlsson.

  • NetworkProcess/cache/NetworkCacheData.h:

(WebKit::NetworkCache::DispatchPtr::DispatchPtr):

  • NetworkProcess/cache/NetworkCacheDataCocoa.mm:

(WebKit::NetworkCache::Data::Data):
(WebKit::NetworkCache::Data::apply):
(WebKit::NetworkCache::Data::subrange):
(WebKit::NetworkCache::concatenate):
(WebKit::NetworkCache::mapFile):

  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:

(WebKit::NetworkCache::IOChannel::read):

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCache::hashData):
(WebKit::NetworkCache::decodeEntryMetaData):
(WebKit::NetworkCache::decodeEntryHeader):
(WebKit::NetworkCache::decodeEntry):
(WebKit::NetworkCache::encodeEntryMetaData):
(WebKit::NetworkCache::encodeEntryHeader):
(WebKit::NetworkCache::Storage::dispatchFullWriteOperation):
(WebKit::NetworkCache::mapFile): Deleted.

9:21 AM Changeset in webkit [181159] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Test /webkit2/WebKitWebView/sync-request-on-max-conns might fail after finished
https://bugs.webkit.org/show_bug.cgi?id=142385

Reviewed by Sergio Villar Senin.

Use stack allocated GMainLoopSources to make sure they are
cancelled automatically if the test finishes before they have
been processed.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:

(testWebViewSyncRequestOnMaxConns):

9:06 AM Changeset in webkit [181158] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Use WTF abstraction for page size in NetworkCacheStorage
https://bugs.webkit.org/show_bug.cgi?id=142396

Reviewed by Darin Adler.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCache::decodeEntryMetaData):
(WebKit::NetworkCache::Storage::dispatchFullWriteOperation):

8:58 AM Changeset in webkit [181157] by ggaren@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages
https://bugs.webkit.org/show_bug.cgi?id=140900

Reviewed by Mark Hahnenberg.

Re-landing just the CopiedBlock piece of this patch.

  • heap/CopiedBlock.h:

(JSC::CopiedBlock::createNoZeroFill):
(JSC::CopiedBlock::destroy):
(JSC::CopiedBlock::create):
(JSC::CopiedBlock::CopiedBlock):
(JSC::CopiedBlock::isOversize):
(JSC::CopiedBlock::payloadEnd):
(JSC::CopiedBlock::capacity):

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::~CopiedSpace):
(JSC::CopiedSpace::tryAllocateOversize):
(JSC::CopiedSpace::tryReallocateOversize):

  • heap/CopiedSpaceInlines.h:

(JSC::CopiedSpace::recycleEvacuatedBlock):
(JSC::CopiedSpace::recycleBorrowedBlock):
(JSC::CopiedSpace::allocateBlockForCopyingPhase):
(JSC::CopiedSpace::allocateBlock):
(JSC::CopiedSpace::startedCopying):

  • heap/CopyWorkList.h:
8:30 AM Changeset in webkit [181156] by Darin Adler
  • 27 edits in trunk/Source/WebCore

Make JavaScript binding get and set legacy event listener attributes directly
https://bugs.webkit.org/show_bug.cgi?id=142282

Reviewed by Antti Koivisto.

Test: fast/dom/legacy-event-handler-attributes.html

This patch changes the JavaScript getters and setters for these attributes
to work directly without requiring any functions in the C++ DOM implementation.
A subsequent patch will remove the now-unused C++ DOM implementation.

  • Modules/webaudio/AudioScheduledSourceNode.cpp:

(WebCore::AudioScheduledSourceNode::setOnended): Remove code to set
m_hasEndedListener; this was incorrect since it only detected event listeners
set up with the event handler attribute, not with addEventListener.
(WebCore::AudioScheduledSourceNode::addEventListener): Added code to update
m_hasEndedListener after making changes to the event listeners.
(WebCore::AudioScheduledSourceNode::removeEventListener): Ditto.
(WebCore::AudioScheduledSourceNode::removeAllEventListeners): Ditto.

  • Modules/webaudio/AudioScheduledSourceNode.h: Added above overrides.
  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::setOnaudioprocess): Remove code to set
m_hasAudioProcessListener; this was incorrect since it only detected event listeners
set up with the event handler attribute, not with addEventListener.
(WebCore::ScriptProcessorNode::addEventListener): Added code to update
m_hasAudioProcessListener after making changes to the event listeners.
(WebCore::ScriptProcessorNode::removeEventListener): Ditto.
(WebCore::ScriptProcessorNode::removeAllEventListeners): Ditto.

  • Modules/webaudio/ScriptProcessorNode.h: Added above overrides.
  • bindings/js/JSEventListener.cpp:

(WebCore::legacyEventListenerAttribute): Added.
(WebCore::createEventListenerForLegacyAttribute): Added.
(WebCore::setLegacyEventListenerAttribute): Added.
(WebCore::legacyWindowEventListenerAttribute): Added.
(WebCore::setLegacyWindowEventListenerAttribute): Added.

  • bindings/js/JSEventListener.h:

(WebCore::createJSEventListenerForAttribute): Deleted.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeEventListenerCall): Deleted.
(LegacyEventListenerAttributeEventName): Added.
(LegacyEventListenerAttributePrefix): Added.
(GenerateImplementation): Use "auto" in lots of places to simplify the code
generation. Replaced the old inlined code to deal with legacy event listener
attributes with code that simply calls the new functions from JSEventLister.h.
(GenerateCallWith): Use "auto".
(GenerateConstructorDefinition): Ditto.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Updated expected

results since these now use auto.

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestException.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestNode.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestTypedefs.cpp: Ditto.
  • bindings/scripts/test/JS/JSattribute.cpp: Ditto.
  • bindings/scripts/test/JS/JSreadonly.cpp: Ditto.
  • dom/MessagePort.cpp:

(WebCore::MessagePort::addEventListener): Moved logic that calls the start
function in here from setOnmessage, since the latter will no longer be called.

  • dom/MessagePort.h: Ditto.
7:37 AM Changeset in webkit [181155] by mmaxfield@apple.com
  • 9 edits in trunk/Source

[iOS] SVG fonts are garbled
https://bugs.webkit.org/show_bug.cgi?id=142377

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-03-06
Reviewed by Simon Fraser.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

The C++ spec says that casting a negative floating point number to
an unsigned integer is undefined. Instead, use clamping.

Covered by existing SVG font tests.

  • Configurations/FeatureDefines.xcconfig:
  • svg/SVGToOTFFontConversion.cpp:

(WebCore::writeCFFEncodedNumber):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
6:34 AM Changeset in webkit [181154] by commit-queue@webkit.org
  • 38 edits in trunk/Source/WebCore

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

"Caused many crashes in API tests and layout tests in Debug
builds on bots." (Requested by ddkilzer on #webkit).

Reverted changeset:

"Allow tree dumping functions to be used in release builds by
switching a flag"
https://bugs.webkit.org/show_bug.cgi?id=142379
http://trac.webkit.org/changeset/181139

6:10 AM Changeset in webkit [181153] by Philippe Normand
  • 11 edits in trunk/Source/WebCore

[MediaStream] new load method for MediaStreamPrivate objects
https://bugs.webkit.org/show_bug.cgi?id=142346

Reviewed by Eric Carlson.

No new tests, existing mediastream tests cover this use-case.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadResource): Use new load method for MediaStreams.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::NullMediaPlayerPrivate::load): New stub.
(WebCore::MediaPlayer::load): New load method for
MediaStreamPrivate.
(WebCore::MediaPlayer::nextBestMediaEngine): Set a new boolean on
the MediaEngineSupportParameters to differenciate with MSE and
normal video resources.
(WebCore::MediaPlayer::loadWithNextMediaEngine): Defer loading of
the MediaStream to the MediaPlayerPrivate backend.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaEngineSupportParameters::MediaEngineSupportParameters):

  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::load): New empty load
method for MediaStreamPrivate objects.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::load): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:

(WebCore::MediaPlayerPrivateQTKit::load): Ditto.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
6:07 AM Changeset in webkit [181152] by Philippe Normand
  • 45 edits
    5 moves in trunk/Source/WebCore

Rename MediaStreamSource to RealtimeMediaSource
https://bugs.webkit.org/show_bug.cgi?id=142330

Reviewed by Eric Carlson.

MediaStreamSource is a misleading name, it's not the source of a
MediaStream.

The chain from high level to low level is: MediaStream -
MediaStreamTrack - MediaStreamTrackPrivate - RealTimeMediaSource
and a MediaStream can contains several MediaStreamTrack objects of
different types.

MediaStreamSourceStates was also renamed to
RealtimeMediaSourceStates, and MediaStreamSourceCapabilities to
RealtimeMediaSourceCapabilities, for consistency.

3:14 AM Changeset in webkit [181151] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed WinCairo port build fix since r181136.

  • platform/network/curl/ResourceRequest.h:

(WebCore::ResourceRequest::doPlatformAdopt): Missing ":" in std::unique_ptr.

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

Unguarded GTK-specific member and method usage in DrawingAreaImpl
https://bugs.webkit.org/show_bug.cgi?id=142391

Reviewed by Carlos Garcia Campos.

r180924 introduced unguarded use of m_nativeSurfaceHandleForCompositing
and LayerTreeHost::setNativeSurfaceHandleForCompositing() in DrawingAreaImpl.
Definitions for both of these are guarded with USE(TEXTURE_MAPPER_GL) and PLATFORM(GTK),
so their use should be as well.

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):

2:37 AM Changeset in webkit [181149] by Csaba Osztrogonác
  • 3 edits
    2 deletes in trunk

Remove Mountain Lion libraries since ML isn't supported
https://bugs.webkit.org/show_bug.cgi?id=142332

Reviewed by Darin Adler.

Tools:

  • Scripts/copy-webkitlibraries-to-product-directory:

WebKitLibraries:

  • LLVMIncludesMountainLion.tar.bz2: Removed.
  • LLVMLibrariesMountainLion.tar.bz2: Removed.
1:50 AM Changeset in webkit [181148] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening on 6th Mar.

Skip tests regardening attachment download progress and unskip a passing test.

  • platform/efl/TestExpectations:
1:38 AM Changeset in webkit [181147] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION (r181140): WebKit2 fails to build on Mavericks buildbot

Work around Xcode dependency tracking issues by making changes
to source files that need to be recompiled.

  • NetworkProcess/NetworkProcess.cpp: Update copyright. Include

NetworkCache.h since it didn't appear to be included by
NetworkCacheCoders.h.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: Update copyright.
1:27 AM Changeset in webkit [181146] by youenn.fablet@crf.canon.fr
  • 5 edits
    1 delete in trunk

Layout tests imported/w3c/web-platform-tests certificates should not be tracked on WebKit VCS
https://bugs.webkit.org/show_bug.cgi?id=142083

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • resources/config.json: Replaced the _certs directory by a string to be replaced when copying this file to the web-platform-tests directory.
  • web-platform-tests/.gitignore: Updated to stop ignoring _certs.
  • web-platform-tests/_certs/01.pem: Removed.
  • web-platform-tests/_certs/02.pem: Removed.
  • web-platform-tests/_certs/cacert.pem: Removed.
  • web-platform-tests/_certs/cakey.pem: Removed.
  • web-platform-tests/_certs/index.txt.attr: Removed.
  • web-platform-tests/_certs/index.txt.attr.old: Removed.
  • web-platform-tests/_certs/index.txt.old: Removed.
  • web-platform-tests/_certs/localhost.key: Removed.
  • web-platform-tests/_certs/localhost.pem: Removed.
  • web-platform-tests/_certs/serial: Removed.
  • web-platform-tests/_certs/serial.old: Removed.

Tools:

Modifying on the fly wpt config.json to set the directory where to generate/read certificates as a subfolder of the layout test results folder.

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:

(WebPlatformTestServer._copy_webkit_test_files):

1:23 AM Changeset in webkit [181145] by Csaba Osztrogonác
  • 4 edits
    4 adds in trunk/Tools

setup-git-clone fails due to the failure to download python-irclib-0.4.8
https://bugs.webkit.org/show_bug.cgi?id=141946

Reviewed by Ryosuke Niwa.

Check in ircbot.py and irclib.py to avoid network problems in the future.

  • Scripts/webkitpy/common/net/irc/ircbot.py:
  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook.find_module):
(AutoinstallImportHook._install_irc): Deleted.

  • Scripts/webkitpy/thirdparty/init_unittest.py:

(ThirdpartyTest.test_imports):

  • Scripts/webkitpy/thirdparty/irc/init.py: Added.
  • Scripts/webkitpy/thirdparty/irc/ircbot.py: Added.
  • Scripts/webkitpy/thirdparty/irc/irclib.py: Added.
1:20 AM Changeset in webkit [181144] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

Dashboard: Perf bot status is missing for Apple {Mavericks,Yosemite} Release builds

See also fix to config.json in r181097.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot): Add missing "WK2" to the names of the perf
bots.

1:18 AM Changeset in webkit [181143] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

run-jsc-stress-tests should determine the architecture from ELF binaries
https://bugs.webkit.org/show_bug.cgi?id=142335

Reviewed by Darin Adler.

  • Scripts/run-jsc-stress-tests:
1:16 AM Changeset in webkit [181142] by ddkilzer@apple.com
  • 5 edits in trunk/Source/WebCore

Rename SOFT_LINK_{CONSTANT,FUNCTION}_{HEADER,SOURCE} to SOFT_LINK_{CONSTANT,FUNCTION}_FOR_{HEADER,SOURCE}
<http://webkit.org/b/142177>

Reviewed by Alex Christensen.

  • platform/cf/CoreMediaSoftLink.cpp:
  • Rename SOFT_LINK_{CONSTANT,FUNCTION}_SOURCE() to SOFT_LINK_{CONSTANT,FUNCTION}_FOR_SOURCE().
  • platform/cf/CoreMediaSoftLink.h:
  • Rename SOFT_LINK_{CONSTANT,FUNCTION}_HEADER() to SOFT_LINK_{CONSTANT,FUNCTION}_FOR_HEADER().
  • platform/mac/SoftLinking.h:
  • platform/win/SoftLinking.h:
  • Rename SOFT_LINK_{CONSTANT,FUNCTION}_{HEADER,SOURCE}() to SOFT_LINK_{CONSTANT,FUNCTION}_FOR_{HEADER,SOURCE}().
12:55 AM Changeset in webkit [181141] by svillar@igalia.com
  • 3 edits
    2 adds in trunk

[CSS Grid Layout] ASSERTION FAILED !track.growthLimitIsInfinite() in RenderGrid::computeUsedBreadthOfGridTracks
https://bugs.webkit.org/show_bug.cgi?id=142265

Reviewed by Darin Adler.

Source/WebCore:

The problem is that computeUsedBreadthOfGridTracks() could return

-1 for rows because we're calling computeContentLogicalHeight()
which can indeed return -1. In those cases we should clamp the
value to 0 the same as Flexbox does otherwise we could end up with
a negative value in the min track sizing function.

Test: fast/css-grid-layout/grid-indefinite-calculated-height-crash.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):

LayoutTests:

New test that crashes on Debug builds if we don't handle the case
of computeUsedBreadthOfGridTracks() returning -1.

  • fast/css-grid-layout/grid-indefinite-calculated-height-crash-expected.txt: Added.
  • fast/css-grid-layout/grid-indefinite-calculated-height-crash.html: Added.
12:00 AM Changeset in webkit [181140] by Antti Koivisto
  • 21 edits in trunk/Source/WebKit2

Move disk cache classes to namespace
https://bugs.webkit.org/show_bug.cgi?id=142339

Reviewed by Anders Carlsson.

Move everything to NetworkCache namespace.

Note: See TracTimeline for information about the timeline view.