Timeline



Nov 28, 2015:

1:30 PM Changeset in webkit [192786] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

Stop unnecessarily copying WKWebViewConfiguration in a few places
https://bugs.webkit.org/show_bug.cgi?id=151639

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView dealloc]):
(-[WKWebView _contentProviderRegistry]):
(-[WKWebView _selectionGranularity]):
(-[WKWebView _setHasCustomContentView:loadedMIMEType:]):

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

(WebKit::PageClientImpl::mimeTypesWithCustomContentProviders):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setupInteraction]):
(-[WKContentView _stopAssistingKeyboard]):
Looking at allocation traces I noticed that we were making way more
WKWebViewConfigurations than made sense; looking at backtraces I found
a few internal callers of -[WKWebView configuration], which copies the
configuration. There's no reason for these internal callers to make
such a copy, though.

I'm not exactly sure what the usual approach is here, but I added
getters so WKContentViewInteraction and PageClientImplIOS can get to
the values they're looking for without using the configuration property.

12:53 AM Changeset in webkit [192785] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles sidebar placeholder is misaligned
https://bugs.webkit.org/show_bug.cgi?id=151638

Patch by Devin Rousso <Devin Rousso> on 2015-11-28
Reviewed by Brian Burg.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.css:

(.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):

12:51 AM Changeset in webkit [192784] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION: "Duplicate Selector" context menu item doesn't work
https://bugs.webkit.org/show_bug.cgi?id=151628

Patch by Devin Rousso <Devin Rousso> on 2015-11-28
Reviewed by Brian Burg.

Merged the two "add rule" functions inside DOMNodeStyles to create a
new rule with the given selector and use the generated best selector
for that node otherwise. This also preserves all fallbacks across all
functions for creating new CSS rules.

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype.addEmptyRule): Deleted.
(WebInspector.DOMNodeStyles.prototype.addRuleWithSelector): Deleted.
(WebInspector.DOMNodeStyles.prototype.addRule):
Creates a new CSS rule using either the provided selector or the best
selector for the current node.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent):

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked):

  • UserInterface/Views/VisualStyleSelectorSection.js:

(WebInspector.VisualStyleSelectorSection.prototype._addNewRule):

Nov 27, 2015:

9:50 AM Changeset in webkit [192783] by beidson@apple.com
  • 21 edits
    1 add in trunk/Source

Modern IDB: Class-ify IDBGetResult making it impossible to get the data members wrong.
https://bugs.webkit.org/show_bug.cgi?id=151627

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests (No change in behavior).

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/IDBGetResult.cpp: Added.

(WebCore::IDBGetResult::dataFromBuffer):
(WebCore::IDBGetResult::isolatedCopy):

  • Modules/indexeddb/IDBGetResult.h:

(WebCore::IDBGetResult::IDBGetResult):
(WebCore::IDBGetResult::valueBuffer):
(WebCore::IDBGetResult::keyData):
(WebCore::IDBGetResult::primaryKeyData):
(WebCore::IDBGetResult::keyPath):
(WebCore::IDBGetResult::setValueBuffer):
(WebCore::IDBGetResult::setKeyData):
(WebCore::IDBGetResult::setPrimaryKeyData):
(WebCore::IDBGetResult::setKeyPath):
(WebCore::IDBGetResult::dataFromBuffer): Deleted.
(WebCore::IDBGetResult::isolatedCopy): Deleted.

  • Modules/indexeddb/client/IDBCursorImpl.cpp:

(WebCore::IDBClient::IDBCursor::setGetResult):

  • Modules/indexeddb/client/IDBCursorImpl.h:
  • Modules/indexeddb/client/IDBTransactionImpl.cpp:

(WebCore::IDBClient::IDBTransaction::didGetRecordOnServer):

  • Modules/indexeddb/legacy/IDBTransactionBackendOperations.cpp:

(WebCore::GetOperation::perform):

  • Modules/indexeddb/server/IDBBackingStore.h:
  • Modules/indexeddb/server/MemoryCursor.h:
  • Modules/indexeddb/server/MemoryIndexCursor.cpp:

(WebCore::IDBServer::MemoryIndexCursor::currentData):

  • Modules/indexeddb/server/MemoryObjectStoreCursor.cpp:

(WebCore::IDBServer::MemoryObjectStoreCursor::currentData):

  • platform/CrossThreadCopier.h:

Source/WebKit2:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::getRecordFromBackingStore):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<IDBGetResult>::encode):
(IPC::ArgumentCoder<IDBGetResult>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
8:54 AM Changeset in webkit [192782] by Carlos Garcia Campos
  • 9 edits in trunk

[GTK] Remove the remaining uses of GMainLoopSource
https://bugs.webkit.org/show_bug.cgi?id=151632

Reviewed by Žan Doberšek.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
(_WebKitWebViewBasePrivate::clearRedirectedWindowSoonTimerFired):
(webkitWebViewBaseClearRedirectedWindowSoon):
(webkitWebViewBaseEnterAcceleratedCompositingMode):

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:

(testWebViewSyncRequestOnMaxConns):

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::TestRunner):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:

(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):

  • WebKitTestRunner/gtk/TestControllerGtk.cpp:

(WTR::timeoutSource):
(WTR::TestController::notifyDone):
(WTR::TestController::platformRunUntil):

6:16 AM Changeset in webkit [192781] by Csaba Osztrogonác
  • 4 edits in trunk

[cmake] Add testb3 to the build system
https://bugs.webkit.org/show_bug.cgi?id=151619

Reviewed by Gyuyoung Kim.

Source/JavaScriptCore:

  • shell/CMakeLists.txt:

Tools:

  • Scripts/build-jsc:
5:56 AM Changeset in webkit [192780] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

[jhbuild] Fix pixman build with clang
https://bugs.webkit.org/show_bug.cgi?id=151441

Reviewed by Carlos Garcia Campos.

  • efl/jhbuild.modules:
  • gtk/jhbuild.modules:
5:24 AM Changeset in webkit [192779] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

Fix build warning in bignum.cc
https://bugs.webkit.org/show_bug.cgi?id=150797

Reviewed by Geoffrey Garen.

  • wtf/dtoa/bignum.cc:
5:01 AM Changeset in webkit [192778] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Use mark pragmas only if it is supported
https://bugs.webkit.org/show_bug.cgi?id=151621

Reviewed by Mark Lam.

  • b3/air/AirIteratedRegisterCoalescing.cpp:
5:01 AM Changeset in webkit [192777] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Fix the ENABLE(B3_JIT) build with GCC in B3Procedure.h
https://bugs.webkit.org/show_bug.cgi?id=151620

Reviewed by Mark Lam.

  • b3/B3Procedure.h:
4:59 AM Changeset in webkit [192776] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[cmake] Add new B3 source files to the build system
https://bugs.webkit.org/show_bug.cgi?id=151618

Reviewed by Gyuyoung Kim.

  • CMakeLists.txt:
12:37 AM Changeset in webkit [192775] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Do not use the WebCore garbage collector timer
https://bugs.webkit.org/show_bug.cgi?id=151623

Reviewed by Martin Robinson.

Now that garbage collector timers have been implemented in
JavaScriptCore for glib, we don't need to use another Timer in WebCore.

  • bindings/js/GCController.cpp:

(WebCore::GCController::garbageCollectSoon):
(WebCore::GCController::garbageCollectNowIfNotDoneRecently):

Nov 26, 2015:

8:43 AM Changeset in webkit [192774] by ddkilzer@apple.com
  • 2 edits
    2 adds in trunk/Tools

Extract prependToEnvironmentVariableList
<http://webkit.org/b/151536>

Reviewed by Daniel Bates.

Tests: webkitdirs_unittest/appendToEnvironmentVariableList.pl

webkitdirs_unittest/prependToEnvironmentVariableList.pl

  • Scripts/webkitdirs.pm: Export appendToEnvironmentVariableList

and prependToEnvironmentVariableList.
(appendToEnvironmentVariableList): Simplify variable name.
Switch to use $Config{path_sep}.
(prependToEnvironmentVariableList): Add new method.
(setupMacWebKitEnvironment): Switch to use
prependToEnvironmentVariableList().
(setupIOSWebKitEnvironment): Ditto.

  • Scripts/webkitperl/webkitdirs_unittest/appendToEnvironmentVariableList.pl: Added.
  • Scripts/webkitperl/webkitdirs_unittest/prependToEnvironmentVariableList.pl: Added.
5:52 AM Changeset in webkit [192773] by Carlos Garcia Campos
  • 10 edits in trunk/Source/JavaScriptCore

[GLIB] Implement garbage collector timers
https://bugs.webkit.org/show_bug.cgi?id=151391

Reviewed by Žan Doberšek.

Add GLib implementation using GSource.

  • heap/EdenGCActivityCallback.cpp:
  • heap/FullGCActivityCallback.cpp:
  • heap/GCActivityCallback.cpp:

(JSC::GCActivityCallback::GCActivityCallback):
(JSC::GCActivityCallback::scheduleTimer):
(JSC::GCActivityCallback::cancelTimer):

  • heap/GCActivityCallback.h:
  • heap/Heap.cpp:

(JSC::Heap::Heap):

  • heap/HeapTimer.cpp:

(JSC::HeapTimer::HeapTimer):
(JSC::HeapTimer::~HeapTimer):
(JSC::HeapTimer::timerDidFire):

  • heap/HeapTimer.h:
  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::IncrementalSweeper):
(JSC::IncrementalSweeper::scheduleTimer):
(JSC::IncrementalSweeper::cancelTimer):

  • heap/IncrementalSweeper.h:

Nov 25, 2015:

11:08 PM Changeset in webkit [192772] by aestes@apple.com
  • 5 edits
    3 adds in trunk

[Content Filtering] Crash in DocumentLoader::notifyFinished() when allowing a media document to load
https://bugs.webkit.org/show_bug.cgi?id=151433
rdar://problem/23506594

Reviewed by Alexey Proskuryakov.

Source/WebCore:

When the main resource of a media document commits, WebKit cancels its load since the plug-in or media engine
will do its own loading. If content filtering is enabled, and the filter waits allow the load until the entire
resource is downloaded, then ContentFilter will attempt to call DocumentLoader::notifyFinished() immediately
after delivering the buffered resource data to DocumentLoader. However, delivering the data will have nulled out
DocumentLoader's m_mainResource when the load was cancelled, leading to a crash in notifyFinished().

To resolve this, add a new Stopped state to ContentFilter. Set this state if DocumentLoader clears its main
resource or detaches from its frame. If ContentFilter is in the Stopped state after calling
DocumentLoader::dataReceived(), do not proceed to call DocumentLoader::notifyFinished().

Test: contentfiltering/allow-media-document.html

  • loader/ContentFilter.cpp:

(WebCore::ContentFilter::stopFilteringMainResource): Set m_state to Stopped. If m_mainResource is non-null,
removed ContentFilter as a client and set m_mainResource to null.
(WebCore::ContentFilter::notifyFinished): Stopped calling DocumentLoader::notifyFinished() if m_state is Stopped
after calling DocumentLoader::dataReceived().

  • loader/ContentFilter.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::detachFromFrame): Called ContentFilter::stopFilteringMainResource() instead of setting
m_contentFilter to null.
(WebCore::DocumentLoader::clearMainResource): Ditto.

LayoutTests:

  • contentfiltering/allow-media-document-expected.txt: Added.
  • contentfiltering/allow-media-document.html: Added.
  • contentfiltering/resources/test.mp4: Added.
12:53 PM Changeset in webkit [192771] by BJ Burg
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: save Inspector's breakpoints to localStorage whenever they are modified
https://bugs.webkit.org/show_bug.cgi?id=151581

Reviewed by Timothy Hatcher.

Serialize all breakpoints to the "breakpoints" Setting in local storage
whenever any breakpoint model object is added, removed, or modified.

Remove the old listener that attempted to save breakpoints on the
pagehide event. It did not fire in important scenarios like exiting
the browser via Cmd-Q or killing the process via Ctrl-C / SIGKILL.

This is not expected to be a performance problem because most people
do not keep thousands of breakpoints active, and breakpoints are not
set very often. If it's a problem, we can mitigate it with coalescing.

  • UserInterface/Controllers/DebuggerManager.js:

(WebInspector.DebuggerManager.prototype.addBreakpoint):
(WebInspector.DebuggerManager.prototype.removeBreakpoint):
(WebInspector.DebuggerManager.prototype._breakpointDisabledStateDidChange):
(WebInspector.DebuggerManager.prototype._saveBreakpoints):
(WebInspector.DebuggerManager.prototype._inspectorClosing): Deleted.

11:04 AM Changeset in webkit [192770] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

Checks for buffer-overflows when reading characters from textRun
https://bugs.webkit.org/show_bug.cgi?id=151055
<rdar://problem/23251789>

Patch by Pranjal Jumde <pjumde@apple.com> on 2015-11-25
Reviewed by Myles C. Maxfield.

Source/WebCore:

Prevents an off by one error when adding the last font data to the GlyphBuffer.

  • Source/WebCore/platform/graphics/WidthIterator.cpp:
  • Source/WebCore/platform/graphics/FontCascade.cpp:

LayoutTests:

  • dom/html/level1/core/151055_asan.html:
  • dom/html/level1/core/151055_asan-expected.txt:
12:48 AM Changeset in webkit [192769] by aestes@apple.com
  • 25 edits
    1 copy
    2 adds in trunk

Teach MiniBrowser how to enable the mock content filter
https://bugs.webkit.org/show_bug.cgi?id=151540

Reviewed by Andreas Kling.

Source/WebCore:

Moved the implementation of MockContentFilterEnabler from TestWebKitAPI to here, renamed it to
WebMockContentFilterEnabler, and made it compatible with the legacy Objective-C runtime. Renamed Decision and
DecisionPoint to WebMockContentFilterDecision and WebMockContentFilterDecisionPoint, and changed them from enum
classes to CF_ENUMs so that they can be used by both C++ and Objective-C source files.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSMockContentFilterSettingsCustom.cpp:

(WebCore::JSMockContentFilterSettings::decisionPoint):
(WebCore::JSMockContentFilterSettings::setDecisionPoint):
(WebCore::toDecision):
(WebCore::JSMockContentFilterSettings::decision):
(WebCore::JSMockContentFilterSettings::setDecision):
(WebCore::JSMockContentFilterSettings::unblockRequestDecision):
(WebCore::JSMockContentFilterSettings::setUnblockRequestDecision):
(WebCore::toJSValue): Deleted.

  • testing/MockContentFilter.cpp:

(WebCore::MockContentFilter::willSendRequest):
(WebCore::MockContentFilter::responseReceived):
(WebCore::MockContentFilter::addData):
(WebCore::MockContentFilter::finishedAddingData):
(WebCore::MockContentFilter::unblockHandler):
(WebCore::MockContentFilter::maybeDetermineStatus):

  • testing/MockContentFilter.h:
  • testing/MockContentFilterEnabler.h: Added.
  • testing/MockContentFilterEnabler.mm: Added.

(-[WebMockContentFilterEnabler initWithDecision:decisionPoint:blockedString:]):
(-[WebMockContentFilterEnabler initWithCoder:]):
(-[WebMockContentFilterEnabler encodeWithCoder:]):
(-[WebMockContentFilterEnabler enable]):
(-[WebMockContentFilterEnabler dealloc]):
(+[WebMockContentFilterEnabler supportsSecureCoding]):
(-[WebMockContentFilterEnabler copyWithZone:]):

  • testing/MockContentFilterSettings.h:

(WebCore::MockContentFilterSettings::decisionPoint):
(WebCore::MockContentFilterSettings::setDecisionPoint):
(WebCore::MockContentFilterSettings::decision):
(WebCore::MockContentFilterSettings::setDecision):
(WebCore::MockContentFilterSettings::unblockRequestDecision):
(WebCore::MockContentFilterSettings::setUnblockRequestDecision):

Tools:

  • MiniBrowser/Configurations/Base.xcconfig: Added WebCoreTestSupport and WTF to HEADER_SEARCH_PATHS.
  • MiniBrowser/Configurations/MiniBrowser.xcconfig: Linked against libWebCoreTestSupport.
  • MiniBrowser/Configurations/MiniBrowserBundle.xcconfig: Ditto.
  • MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Added blocked-page.html.
  • MiniBrowser/MiniBrowserWebProcessPlugIn.m:

(-[MiniBrowserWebProcessPlugIn webProcessPlugIn:initializeWithObject:]): Observed the WebMockContentFilterEnabler key path.
(-[MiniBrowserWebProcessPlugIn dealloc]):
(-[MiniBrowserWebProcessPlugIn observeValueForKeyPath:ofObject:change:context:]): Stored the value in _contentFilterEnabler.

  • MiniBrowser/blocked-page.html: Added.
  • MiniBrowser/mac/AppDelegate.m:

(defaultConfiguration): Created a _WKProcessPoolConfiguration with MiniBrowser.wkbundle as the injected bundle.

  • MiniBrowser/mac/BrowserWindowController.h:
  • MiniBrowser/mac/BrowserWindowController.m:

(+[BrowserWindowController contentFilteringBlockedString]): Returned an NSString containing blocked-page.html.

  • MiniBrowser/mac/SettingsController.h:
  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _populateMenu]): Added [self _contentFilteringMenuItem] to the Settings menu.
(-[SettingsController validateMenuItem:]): Validated the new menu items. Disabled Decision and Decision Point items if filtering is disabled.
(-[SettingsController _contentFilteringMenuItem]): Returned a new Content Filtering menu item with a submenu.
(-[SettingsController toggleContentFilteringEnabled:]): Toggled ContentFilteringEnabledKey.
(-[SettingsController contentFilteringEnabled]): Returned value of ContentFilteringEnabledKey.
(-[SettingsController setContentFilteringDecision:]): Set ContentFilterDecisionKey and called -[BrowserAppDelegate didChangeSettings].
(-[SettingsController contentFilteringDecision]): Returned the value of ContentFilterDecisionKey as a WebMockContentFilterDecision.
Defaulted to WebMockContentFilterDecisionAllow if the value is invalid.
(-[SettingsController setContentFilteringDecisionPoint:]): Set ContentFilterDecisionPointKey and called -[BrowserAppDelegate didChangeSettings].
(-[SettingsController contentFilteringDecisionPoint]): Returned the value of ContentFilterDecisionPointKey as a WebMockContentFilterDecisionPoint.
Defaulted to WebMockContentFilterDecisionPointAfterWillSendRequest if the value is invalid.

  • MiniBrowser/mac/WK1BrowserWindowController.h:
  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController dealloc]):
(-[WK1BrowserWindowController didChangeSettings]): Created a WebMockContentFilterEnabler with the current settings and stored it in _contentFilterEnabler.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController didChangeSettings]): Created a WebMockContentFilterEnabler and set it as the object for the eponymous bundle parameter.

  • TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Linked against libWebCoreTestSupport.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm:

(configurationWithContentFilterSettings): Converted to use WebMockContentFilterEnabler, WebMockContentFilterDecision, and WebMockContentFilterDecisionPoint.
(TEST): Ditto.
(downloadTest): Ditto.
(+[MockContentFilterEnabler supportsSecureCoding]): Deleted.
(-[MockContentFilterEnabler copyWithZone:]): Deleted.
(-[MockContentFilterEnabler initWithCoder:]): Deleted.
(-[MockContentFilterEnabler initWithDecision:decisionPoint:]): Deleted.
(-[MockContentFilterEnabler encodeWithCoder:]): Deleted.

  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFilteringPlugIn.mm:

(-[ContentFilteringPlugIn webProcessPlugIn:initializeWithObject:]): Converted to use WebMockContentFilterEnabler.
(-[ContentFilteringPlugIn dealloc]): Ditto.
(-[ContentFilteringPlugIn observeValueForKeyPath:ofObject:change:context:]): Ditto.
(+[MockContentFilterEnabler supportsSecureCoding]): Deleted.
(-[MockContentFilterEnabler copyWithZone:]): Deleted.
(-[MockContentFilterEnabler initWithCoder:]): Deleted.
(-[MockContentFilterEnabler dealloc]): Deleted.
(-[MockContentFilterEnabler encodeWithCoder:]): Deleted.

Nov 24, 2015:

5:43 PM Changeset in webkit [192768] by commit-queue@webkit.org
  • 7 edits
    3 adds in trunk/Source/JavaScriptCore

[JSC] support Computed Property Names in destructuring Patterns
https://bugs.webkit.org/show_bug.cgi?id=151494

Patch by Caitlin Potter <caitp@igalia.com> on 2015-11-24
Reviewed by Saam Barati.

Add support for computed property names in destructuring BindingPatterns
and AssignmentPatterns.

Productions BindingProperty(1) and AssignmentProperty(2) allow for any valid
PropertName(3), including ComputedPropertyName(4)

1: http://tc39.github.io/ecma262/#prod-BindingProperty
2: http://tc39.github.io/ecma262/#prod-AssignmentProperty
3: http://tc39.github.io/ecma262/#prod-PropertyName
4: http://tc39.github.io/ecma262/#prod-ComputedPropertyName

  • bytecompiler/NodesCodegen.cpp:

(JSC::ObjectPatternNode::bindValue):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::appendObjectPatternEntry):

  • parser/Nodes.h:

(JSC::ObjectPatternNode::appendEntry):

  • parser/Parser.cpp:

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

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::operatorStackPop):

  • tests/es6.yaml:
  • tests/es6/destructuring_assignment_computed_properties.js: Added.

(test):
(test.computeName):
(test.loadValue):
(test.out.get a):
(test.out.set a):
(test.out.get b):
(test.out.set b):
(test.out.get c):
(test.out.set c):
(test.get var):

4:20 PM Changeset in webkit [192767] by Gyuyoung Kim
  • 2 edits in trunk/Tools

REGRESSION(r192053): MiniBrowser doesn't exit when clicking on the close-window button
https://bugs.webkit.org/show_bug.cgi?id=151567

Reviewed by Darin Adler.

  • MiniBrowser/efl/main.c: Call window_close() instead of ewk_view_try_close().

(on_window_deletion):

1:37 PM Changeset in webkit [192766] by commit-queue@webkit.org
  • 5 edits
    3 deletes in trunk

Unreviewed, rolling out r192536, r192722, and r192743.
https://bugs.webkit.org/show_bug.cgi?id=151593

Still causing trouble. (Requested by kling on #webkit).

Reverted changesets:

"[JSC] JSPropertyNameEnumerator could be destructorless."
https://bugs.webkit.org/show_bug.cgi?id=151242
http://trac.webkit.org/changeset/192536

"REGRESSION(r192536): Null pointer dereference in
JSPropertyNameEnumerator::visitChildren()."
https://bugs.webkit.org/show_bug.cgi?id=151495
http://trac.webkit.org/changeset/192722

"REGRESSION(r192536): Null pointer dereference in
JSPropertyNameEnumerator::visitChildren()."
https://bugs.webkit.org/show_bug.cgi?id=151495
http://trac.webkit.org/changeset/192743

10:47 AM Changeset in webkit [192765] by calvaris@igalia.com
  • 12 edits
    2 adds in trunk

[Streams API] Implement pipeTo method in readable Stream
https://bugs.webkit.org/show_bug.cgi?id=151588

Reviewed by Darin Adler.

Source/WebCore:

Implemented pipeTo method according to the reference implementation in the spec as the spec is not written
yet. It can be found at https://github.com/whatwg/streams/blob/632b26a05f3106650b1ec91239ad5b012e6c64af/reference-implementation/lib/readable-stream.js#L75.

Tests: streams/pipe-to.html

streams/reference-implementation/brand-checks.html
streams/reference-implementation/pipe-through.html
streams/reference-implementation/pipe-to.html
streams/reference-implementation/pipe-to-options.html
streams/reference-implementation/readable-stream-templated

  • Modules/streams/ReadableStream.js:

(doPipe): Internal function of pipeTo.
(closeDest): Internal function of pipeTo.
(abortDest): Internal function of pipeTo.
(pipeTo): Implemented as per spec with some other internal functions as helpers.

LayoutTests:

Test "Piping to a writable stream that does not consume the writes fast enough exerts backpressure on the
source" was moved to its own file because it causes timing issues.

  • streams/reference-implementation/pipe-to.html: Moved "Piping to a writable stream that does not consume the

writes fast enough exerts backpressure on the source" test to its own file.

  • streams/pipe-to.html: Added with "Piping to a writable stream that does not consume the writes fast enough

exerts backpressure on the source" test.

  • streams/reference-implementation/brand-checks.html: Fixed issue with the creation of a ReadableStreamReader.
  • streams/pipe-to-expected.txt:
  • streams/reference-implementation/brand-checks-expected.txt:
  • streams/reference-implementation/pipe-through-expected.txt:
  • streams/reference-implementation/pipe-to-expected.txt:
  • streams/reference-implementation/pipe-to-options-expected.txt:
  • streams/reference-implementation/readable-stream-templated-expected.txt: Expectations.
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations: Flagged pipe-to test because of webkit.org/b/147933.
10:22 AM Changeset in webkit [192764] by BJ Burg
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Cmd-1 to Cmd-9 shortcuts should select tabs by ordinal
https://bugs.webkit.org/show_bug.cgi?id=151577

Reviewed by Timothy Hatcher.

The shortcuts only work if a tab at the specified ordinal exists.

  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded):

4:40 AM Changeset in webkit [192763] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION (r190983): Non-element, non-text nodes should not be distributed to slots
https://bugs.webkit.org/show_bug.cgi?id=151566
rdar://problem/23430177

Reviewed by Zalan Bujtas.

Source/WebCore:

We don't invalidate slot assignments except for text or element children. Fix by not
not assigning other nodes to slots as it is not useful.

Test: fast/html/details-comment-crash.html

  • dom/SlotAssignment.cpp:

(WebCore::slotNameFromSlotAttribute):
(WebCore::SlotAssignment::findAssignedSlot):
(WebCore::SlotAssignment::assignSlots):

LayoutTests:

  • fast/html/details-comment-crash-expected.html: Added.
  • fast/html/details-comment-crash.html: Added.
12:37 AM Changeset in webkit [192762] by peavo@outlook.com
  • 2 edits in trunk/Source/WebKit/win

[Win] Implement methods to get and set inner html.
https://bugs.webkit.org/show_bug.cgi?id=151569

Reviewed by Alex Christensen.

  • DOMHTMLClasses.cpp:

(DOMHTMLElement::innerHTML):
(DOMHTMLElement::setInnerHTML):
(DOMHTMLElement::innerText):

12:01 AM Changeset in webkit [192761] by Carlos Garcia Campos
  • 8 edits in trunk

[GTK] Use the network process unconditionally
https://bugs.webkit.org/show_bug.cgi?id=151541

Reviewed by Alex Christensen.

Source/WebKit2:

Make the shared secondary process model become multiple secondary
process model with a limit of 1 web process. Use the same options
when creating a context with legacy configuration (unit tests and
inspector proxy).

  • NetworkProcess/gtk/NetworkProcessMainGtk.cpp:
  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::createWithLegacyOptions):

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextConstructed):
(webkit_web_context_set_process_model):
(webkit_web_context_get_process_model):
(webkit_web_context_set_web_process_count_limit):
(webkit_web_context_get_web_process_count_limit):
(toWebKitProcessModel): Deleted.

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:
  • UIProcess/gtk/WebProcessPoolGtk.cpp:

(WebKit::WebProcessPool::setIgnoreTLSErrors):
(WebKit::WebProcessPool::platformInitializeWebProcess):

Tools:

Fix TestInspectorServer test. Do not assume we already have the
title we want when the page has been loaded, since the title is
changed afterwards. So, check if the title has already been set,
and if not wait for it.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:

(openRemoteDebuggingSession):

Note: See TracTimeline for information about the timeline view.