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

Timeline



Oct 24, 2015:

10:59 PM Changeset in webkit [191545] by timothy_horton@apple.com
  • 11 edits
    5 adds in trunk

Add a way to add user style sheets to WKUserContentController
https://bugs.webkit.org/show_bug.cgi?id=150531
<rdar://problem/23191691>

Reviewed by Darin Adler.

  • Shared/API/APIObject.h:
  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):
Boilerplate for a new API::UserStyleSheet.

  • UIProcess/API/APIUserStyleSheet.cpp: Added.

(API::generateIdentifier):
(API::UserStyleSheet::generateUniqueURL):

  • UIProcess/API/APIUserStyleSheet.h: Added.

Added API::UserStyleSheet, borrowing URL generation code from API::UserScript.

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController _addUserStyleSheet:]):
(-[WKUserContentController _removeAllUserStyleSheets]):
Forward add and remove-all to WebUserContentControllerProxy.

  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
  • UIProcess/API/Cocoa/_WKUserStyleSheet.h: Added.
  • UIProcess/API/Cocoa/_WKUserStyleSheet.mm: Added.

(toWTFStrings):
(-[_WKUserStyleSheet initWithSource:whitelistedURLPatterns:blacklistedURLPatterns:forMainFrameOnly:]):
(-[_WKUserStyleSheet source]):
(-[_WKUserStyleSheet isForMainFrameOnly]):
(-[_WKUserStyleSheet copyWithZone:]):
(-[_WKUserStyleSheet _apiObject]):

  • UIProcess/API/Cocoa/_WKUserStyleSheetInternal.h: Added.

(API::wrapper):

  • WebKit2.xcodeproj/project.pbxproj:

Add the new modern API object (as SPI for now).

  • TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:

(TEST):

10:41 PM Changeset in webkit [191544] by yoon@igalia.com
  • 3 edits in trunk/Source/WebCore

Remove setApplyDeviceScaleFactorInCompositor
https://bugs.webkit.org/show_bug.cgi?id=150538

Reviewed by Tim Horton.

It was used to support the device scale factor for chromium port and blackberry
port. But it was removed quite a while ago.

  • page/Settings.in:

applyDeviceScaleFactorInCompositor: Deleted

  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:

(WebCore::CompositingCoordinator::CompositingCoordinator): Remove uses
of applyDeviceScaleFactorInCompositor.

10:37 PM Changeset in webkit [191543] by timothy_horton@apple.com
  • 20 edits in trunk

Expose more information about the exception in WKErrorJavaScriptExceptionOccurred errors
https://bugs.webkit.org/show_bug.cgi?id=150525

Reviewed by Darin Adler.

Adjusted API test to cover this: WKWebView.EvaluateJavaScriptErrorCases.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):

  • bindings/js/JSDOMBinding.h:

Fill in the given struct with computed exception data if it was given.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::evaluate):
(WebCore::ScriptController::executeScript):

  • bindings/js/ScriptController.h:

Plumb aforementioned struct through ScriptController.

  • Scripts/webkit/messages.py:

(headers_for_type):

  • Shared/WebCoreArgumentCoders.cpp:

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

  • Shared/WebCoreArgumentCoders.h:

Learn how to en/decode ExceptionDetails.

  • UIProcess/API/C/WKPage.cpp:

(WKPageRunJavaScriptInMainFrame):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::runJavaScriptInMainFrame):
(WebKit::WebPageProxy::scriptValueCallback):

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

(WebKit::WebPage::runJavaScriptInMainFrame):
Plumb ExceptionDetails back through runJavaScriptInMainFrame, across the
process boundary.

  • UIProcess/API/Cocoa/WKError.mm:

(localizedDescriptionForErrorCode):

  • UIProcess/API/Cocoa/WKErrorInternal.h:
  • UIProcess/API/Cocoa/WKErrorPrivate.h:

Expose localizedDescriptionForErrorCode so that WKWebView can do special
things with its error.
Add new private userInfo keys for exception info.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView evaluateJavaScript:completionHandler:]):
Fill in the NSError userInfo with the exception info.

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewEvaluateJavaScript.mm:

(TEST):
Test the various new keys.

8:20 PM Changeset in webkit [191542] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Add a test expectation for imported/blink/transitions/unprefixed-perspective.html
https://bugs.webkit.org/show_bug.cgi?id=150541

7:23 PM Changeset in webkit [191541] by yoon@igalia.com
  • 5 edits in trunk/Source/WebCore

[TexMap] Clean up BitmapTexture and BitmapTextureGL.
https://bugs.webkit.org/show_bug.cgi?id=143298

Reviewed by Žan Doberšek.

No new tests, this is just a refactor.

  • platform/graphics/texmap/BitmapTexture.h:

(WebCore::BitmapTexture::canReuseWith): Deleted.
Reuseability of a BitmapTexture is only decided by its size.
We can use size() instead of this method.

  • platform/graphics/texmap/BitmapTextureGL.h:

(WebCore::driverSupportsExternalTextureBGRA): Deleted.
We do not have to check a suitable texture format in every
update/reset. It is enough to store the formats in construction time
and reuse them.

6:33 PM Changeset in webkit [191540] by Simon Fraser
  • 3 edits
    2 adds in trunk

REGRESSION (r187121): Delayed instantaneous animations not honouring ' forwards' fill-mode
https://bugs.webkit.org/show_bug.cgi?id=150326

Reviewed by Darin Adler.

Source/WebCore:

With a zero-duration, delayed fill-forwards animation, we'd end up trying
to interpolate between the last and first keyframes, and picking the first
because AnimationBase::progress() had a special case for zero duration. Removing
this check fixes the bug.

Test: animations/fill-mode-forwards-zero-duration.html

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::progress):

LayoutTests:

Test with a zero-duration, delayed fill-forwards animation.

  • animations/fill-mode-forwards-zero-duration-expected.txt: Added.
  • animations/fill-mode-forwards-zero-duration.html: Added.
5:51 PM Changeset in webkit [191539] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

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

Reverted changeset:

"Web Inspector: Autocompletion previews in the CSS sidebar do not apply"
https://bugs.webkit.org/show_bug.cgi?id=147720
http://trac.webkit.org/changeset/191419

4:36 PM Changeset in webkit [191538] by fred.wang@free.fr
  • 3 edits in trunk/Tools

check-webkit-style complains about missing operator whitespace inside character literal
https://bugs.webkit.org/show_bug.cgi?id=150396

Reviewed by Darin Adler.

  • Scripts/webkitpy/style/checkers/cpp.py: Improve matching of C++ character literal.
  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(WebKitStyleTest.test_spacing): Add a test to verify that the spacing for the character literal 'OS/2' is not tested.

2:39 PM Changeset in webkit [191537] by BJ Burg
  • 5 edits in trunk/Source/JavaScriptCore

Teach create_hash_table to omit builtins macros when generating tables for native-only objects
https://bugs.webkit.org/show_bug.cgi?id=150491

Reviewed by Yusuke Suzuki.

In order to support separate compilation for generated builtins files, we need to be able to
include specific builtins headers from generated .lut.h files. However, the create_hash_table
script isn't smart enough to figure out when a generated file might actually contain a builtin.
Without further help, we'd have to include an all-in-one header, mostly defeating the point of
generating separate .h and .cpp files for every builtin.

This patch segregates the pure native and partially builtin sources in the build system, and
gives hints to create_hash_table so that it doesn't even generate checks for builtins if the
input file has no builtin method implementations. Also do some modernization and code cleanup.

  • CMakeLists.txt:

Generate each group with different flags to create_hash_table. Change the macro to take
flags through the variable LUT_GENERATOR_FLAGS. Set this as necessary before calling macro.
Add an additional hint to CMake that the .cpp source file depends on the generated file.

  • DerivedSources.make:

Generate each group with different flags to create_hash_table. Clean up the 'all' target
so that static dependencies are listed first. Use static patterns to decide which .lut.h
files require which flags. Reduce fragile usages of implicit variables.

Add some missing .lut.h files to the Derived Sources group. Sort the project.

  • create_hash_table:

Parse options in a sane way using GetOpt::Long. Remove ability to specify a custom namespace
since this isn't actually used anywhere. Normalize placement of newlines in quoted strings.
Only generate builtins macros and includes if the source file is known to have some builtins.

1:04 PM Changeset in webkit [191536] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebKit2

[EFL] Fix a wrong enum variable use
https://bugs.webkit.org/show_bug.cgi?id=150522

Reviewed by Csaba Osztrogonác.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::requestPopupMenu):
Use kWKPopupItemTextDirectionLTR instead of EWK_TEXT_DIRECTION_LEFT_TO_RIGHT.

8:57 AM Changeset in webkit [191535] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] _WKFormInputSession should provide access to the focused element info
https://bugs.webkit.org/show_bug.cgi?id=150512

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/_WKFormInputSession.h: Added focusedElementInfo property to the protocol.
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKFormInputSession initWithContentView:focusedElementInfo:userObject:]): Added the

focusedElementInfo argument, used to initialize a new ivar.

(-[WKFormInputSession focusedElementInfo]): Added this getter for the new

_WKFormInputSession property.

(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):

Create the WKFocusedElementInfo unconditionally and pass it to the new WKFormInputSession
initializer.

8:54 AM Changeset in webkit [191534] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[iOS] Allow clients to specify a custom input view to be used for a form input session
https://bugs.webkit.org/show_bug.cgi?id=150395

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/_WKFormInputSession.h: Added customInputView property to the protocol.
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKFormInputSession customInputView]): Added this getter.
(-[WKFormInputSession setCustomInputView:]): Added this setter, which reloads the input

views when the custom input view changes.

(-[WKContentView inputView]): Changed to return the custom view from the input session if

there is one.

Oct 23, 2015:

10:53 PM Changeset in webkit [191533] by Chris Dumez
  • 13 edits in trunk

RadioNodeList should be exposed on Window
https://bugs.webkit.org/show_bug.cgi?id=148869
<rdar://problem/22589828>

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline existing W3C tests now that more checks are passing.

  • web-platform-tests/html/dom/interfaces-expected.txt:
  • web-platform-tests/html/semantics/forms/the-form-element/form-elements-nameditem-01-expected.txt:

Source/WebCore:

RadioNodeList should be exposed on on the global Window object, as per
the HTML specification:
https://html.spec.whatwg.org/multipage/infrastructure.html#radionodelist

This patch addresses the issue, and aligns our behavior with Firefox
and Chrome.

No new tests, already covered by existing tests.

  • html/RadioNodeList.idl:

LayoutTests:

Rebaseline existing layout test now that RadioNodeList is exposed on the
global Window object.

  • js/dom/global-constructors-attributes-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
8:58 PM Changeset in webkit [191532] by commit-queue@webkit.org
  • 15 edits in trunk/Source

Web Inspector: Remove unused ScrollLayer Timeline EventType
https://bugs.webkit.org/show_bug.cgi?id=150518

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-23
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Timeline.json:

Source/WebCore:

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willScrollLayerImpl): Deleted.
(WebCore::InspectorInstrumentation::didScrollLayerImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willScrollLayer): Deleted.
(WebCore::InspectorInstrumentation::didScrollLayer): Deleted.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::willScroll): Deleted.
(WebCore::InspectorTimelineAgent::didScroll): Deleted.

  • inspector/InspectorTimelineAgent.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo): Deleted.

Source/WebInspectorUI:

  • UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
  • Versions/Inspector-iOS-7.0.json:
  • Versions/Inspector-iOS-8.0.json:
  • Versions/Inspector-iOS-9.0.json:
8:56 PM Changeset in webkit [191531] by commit-queue@webkit.org
  • 24 edits
    1 delete in trunk/Source

Web Inspector: Clean up InspectorInstrumentation includes
https://bugs.webkit.org/show_bug.cgi?id=150523

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-23
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::consoleMessageArgumentCounts): Deleted.

  • inspector/agents/InspectorConsoleAgent.h:

Source/WebCore:

  • Modules/webdatabase/DatabaseManager.cpp:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/MediaQueryEvaluator.cpp:
  • dom/EventDispatcher.cpp:
  • dom/ExtensionStyleSheets.cpp:
  • inspector/InspectorController.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:
  • inspector/InspectorDatabaseInstrumentation.h: Removed.
  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didOpenDatabase):

  • inspector/InspectorPageAgent.cpp:
  • inspector/InspectorTimelineAgent.cpp:

(WebCore::toProtocol): Deleted.

  • loader/ResourceLoadScheduler.cpp:
  • loader/mac/ResourceLoaderMac.mm:
  • page/Screen.cpp:
  • rendering/TextAutosizer.cpp:
  • testing/Internals.cpp:

(WebCore::Internals::consoleMessageArgumentCounts): Deleted.

  • testing/Internals.h:
  • testing/Internals.idl:
  • workers/AbstractWorker.cpp:
6:45 PM Changeset in webkit [191530] by msaboff@apple.com
  • 16 edits
    3 adds in trunk

REGRESSION (r179357-r179359): WebContent Crash using AOL Mail @ com.apple.JavascriptCore JSC::linkPolymorphicCall(JSC::ExecState*, JSC::CallLinkInfo&, JSC::CallVariant, JSC::RegisterPreservationMode) + 1584
https://bugs.webkit.org/show_bug.cgi?id=150513

Reviewed by Saam Barati.

Source/JavaScriptCore:

Add check in linkPolymorphicCall() to make sure we have a CodeBlock for the newly added variant.
If not, we turn the call into a virtual call.

The bug was caused by a stack overflow when preparing the function for execution. This properly
threw an exception, however linkPolymorphicCall() didn't check for this error case.

Added a new test function "failNextNewCodeBlock()" to test tools to simplify the testing.

  • API/JSCTestRunnerUtils.cpp:

(JSC::failNextNewCodeBlock):
(JSC::numberOfDFGCompiles):

  • API/JSCTestRunnerUtils.h:
  • jit/Repatch.cpp:

(JSC::linkPolymorphicCall):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionTransferArrayBuffer):
(functionFailNextNewCodeBlock):
(functionQuit):

  • runtime/Executable.cpp:

(JSC::ScriptExecutable::prepareForExecutionImpl):

  • runtime/TestRunnerUtils.cpp:

(JSC::optimizeNextInvocation):
(JSC::failNextNewCodeBlock):
(JSC::numberOfDFGCompiles):

  • runtime/TestRunnerUtils.h:
  • runtime/VM.h:

(JSC::VM::setFailNextNewCodeBlock):
(JSC::VM::getAndClearFailNextNewCodeBlock):
(JSC::VM::stackPointerAtVMEntry):

Tools:

Added a new test function, failNextNewCodeBlock() to simplify the writing of a regression test.

  • DumpRenderTree/TestRunner.cpp:

(simulateWebNotificationClickCallback):
(failNextCodeBlock):
(numberOfDFGCompiles):
(TestRunner::staticFunctions):

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setBlockAllPlugins):
(WTR::TestRunner::failNextCodeBlock):
(WTR::TestRunner::numberOfDFGCompiles):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

LayoutTests:

New regression test.

  • js/regress-150513-expected.txt: Added.
  • js/regress-150513.html: Added.
  • js/script-tests/regress-150513.js: Added.

(test):

  • resources/standalone-pre.js: Added failNextNewCodeBlock to testRunner object.
6:26 PM Changeset in webkit [191529] by commit-queue@webkit.org
  • 24 edits
    10 deletes in trunk/Source/JavaScriptCore

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

Broke two JSC regression tests (Requested by msaboff on
#webkit).

Reverted changeset:

"[ES6] Add DFG/FTL support for accessor put operations"
https://bugs.webkit.org/show_bug.cgi?id=148860
http://trac.webkit.org/changeset/191500

6:11 PM Changeset in webkit [191528] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix CMake compile error and add correct null check
https://bugs.webkit.org/show_bug.cgi?id=150520

Patch by Alex Christensen <achristensen@webkit.org> on 2015-10-23
Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _doAfterNextPresentationUpdate:]):

6:01 PM Changeset in webkit [191527] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Removing [ Release ] flag from flaky imported blink tests that are timing out in debug too
https://bugs.webkit.org/show_bug.cgi?id=150050

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-23
Reviewed by Tim Horton.

  • platform/mac-wk1/TestExpectations:
5:57 PM Changeset in webkit [191526] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning

5:52 PM Changeset in webkit [191525] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Avoid SVG-induced layouts inside Element::absoluteEventBounds()
https://bugs.webkit.org/show_bug.cgi?id=150516

Reviewed by Zalan Bujtas.

Speculative fix for a crash under RenderObject::localToContainerQuad() when
computing the wheel event handler region, which uses Element::absoluteEventHandlerBounds().
Element::absoluteEventBounds() was calling SVGElement::getBoundingBox() in a way
that could trigger a layout.

  • dom/Element.cpp:

(WebCore::Element::absoluteEventBounds):

5:46 PM Changeset in webkit [191524] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove unnecessary details from Other Crashes section
https://bugs.webkit.org/show_bug.cgi?id=150514
<rdar://problem/23235458>

Patch by Aakash Jain <aakash_jain@apple.com> on 2015-10-23
Reviewed by Alexey Proskuryakov.

  • fast/harness/results.html: Create separate other-crash-tests-table.
5:44 PM Changeset in webkit [191523] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.3.6

New Tag.

5:43 PM Changeset in webkit [191522] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.1.46.43

New Tag.

5:42 PM Changeset in webkit [191521] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Marking more http/tests/xmlhttprequest/timeout/ tests as flaky, removing Yosemite-only flag
https://bugs.webkit.org/show_bug.cgi?id=150378

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-23
Reviewed by Alexey Proskuryakov.

  • platform/mac-wk2/TestExpectations:
5:26 PM Changeset in webkit [191520] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Invoke the context menu delegate callback right before we return the menu
https://bugs.webkit.org/show_bug.cgi?id=150521

Reviewed by Tim Horton.

Move the getCustomMenuFromDefaultItems to WebHTMLView wholesale. This will allow us to get rid of the ContextMenuClient function from WebCore.

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::getCustomMenuFromDefaultItems):
(isPreVersion3Client): Deleted.
(isPreInspectElementTagClient): Deleted.
(fixMenusToSendToOldClients): Deleted.
(fixMenusReceivedFromOldClients): Deleted.

  • WebView/WebHTMLView.mm:

(isPreVersion3Client):
(isPreInspectElementTagClient):
(fixMenusToSendToOldClients):
(fixMenusReceivedFromOldClients):
(customMenuFromDefaultItems):
(-[WebHTMLView menuForEvent:]):

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

Web Inspector: xlink:href should be linkified
https://bugs.webkit.org/show_bug.cgi?id=150505

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-23
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

When opening a URL with a fragment, prefer opening a resource
that has the same URL without the fragment, otherwise this would
open in a new tab.

  • UserInterface/Base/URLUtilities.js:

(absoluteURL):
Better handling absoluteURL("#frag", baseURL).

  • UserInterface/Views/CodeMirrorAdditions.js:
  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
Allow for more "href" style attributes, such as XML namespaced
"xlink:href" attribute names.

4:55 PM Changeset in webkit [191518] by achristensen@apple.com
  • 9 edits
    2 deletes in trunk/Source

Progress towards CMake on Mac
https://bugs.webkit.org/show_bug.cgi?id=150517

Reviewed by Tim Horton.

Source/WebCore:

  • PlatformMac.cmake:

Source/WebKit:

  • PlatformMac.cmake:

Source/WebKit2:

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp: Removed.
  • WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: Removed.
4:47 PM Changeset in webkit [191517] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

More context menu simplification
https://bugs.webkit.org/show_bug.cgi?id=150519

Reviewed by Tim Horton.

There's no need to convert the menu items back to ContextMenuItems just so we can check whether its
represented object is the sharing service picker. Also, move the check to the second loop.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView menuForEvent:]):

4:07 PM Changeset in webkit [191516] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Updating test expectation for animations/fill-forwards-end-state.html
https://bugs.webkit.org/show_bug.cgi?id=150328#c11

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-23
Reviewed by Alexey Proskuryakov.

  • animations/fill-forwards-end-state-expected.txt:
4:03 PM Changeset in webkit [191515] by matthew_hanson@apple.com
  • 6 edits in branches/safari-601-branch

Rollout r191395. rdar://problem/22847057

3:45 PM Changeset in webkit [191514] by matthew_hanson@apple.com
  • 6 edits in branches/safari-601.1.46-branch

Rollout r191395. rdar://problem/22846455

3:32 PM Changeset in webkit [191513] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601-branch/Source

Merge r191484.

2:34 PM Changeset in webkit [191512] by andersca@apple.com
  • 4 edits in trunk

Simplify the WebKitLegacy menu conversion code
https://bugs.webkit.org/show_bug.cgi?id=150509

Reviewed by Andreas Kling.

Source/WebKit/mac:

  • WebCoreSupport/WebContextMenuClient.mm:

(fixMenusToSendToOldClients):
(fixMenusReceivedFromOldClients):
(WebContextMenuClient::getCustomMenuFromDefaultItems):

Tools:

Implement the context menu delegate method so we'll test that code path.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController webView:contextMenuItemsForElement:defaultMenuItems:]):

2:25 PM Changeset in webkit [191511] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

  • UIProcess/Cocoa/WebViewImpl.h:

Whoops.

2:03 PM Changeset in webkit [191510] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView hitTest:]):
(-[WKView _processDidExit]):
(-[WKView _setThumbnailView:]):
(-[WKView _thumbnailView]):
(-[WKFlippedView isFlipped]): Deleted.
(-[WKView dealloc]): Deleted.
(-[WKView _setAcceleratedCompositingModeRootLayer:]): Deleted.
(-[WKView _acceleratedCompositingModeRootLayer]): Deleted.
(-[WKView _updateThumbnailViewLayer]): Deleted.
(-[WKView _reparentLayerTreeInThumbnailView]): Deleted.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Cocoa/WebViewImpl.h:

(WebKit::WebViewImpl::acceleratedCompositingRootLayer):
(WebKit::WebViewImpl::layerHostingView):
(WebKit::WebViewImpl::thumbnailView):

  • UIProcess/Cocoa/WebViewImpl.mm:

(-[WKFlippedView isFlipped]):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::setAcceleratedCompositingRootLayer):
(WebKit::WebViewImpl::setThumbnailView):
(WebKit::WebViewImpl::reparentLayerTreeInThumbnailView):
(WebKit::WebViewImpl::updateThumbnailViewLayer):

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::enterAcceleratedCompositingMode):
(WebKit::PageClientImpl::exitAcceleratedCompositingMode):
(WebKit::PageClientImpl::updateAcceleratedCompositingMode):
(WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
(WebKit::PageClientImpl::acceleratedCompositingRootLayer):
Move accelerated compositing and thumbnail view code.

1:50 PM Changeset in webkit [191509] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _superRemoveTrackingRect:]):
(-[WKView addTrackingRect:owner:userData:assumeInside:]):
(-[WKView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
(-[WKView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]):
(-[WKView removeTrackingRect:]):
(-[WKView _removeTrackingRects:count:]):
(-[WKView view:stringForToolTip:point:userData:]):
(-[WKView _toolTipChangedFrom:to:]):
(-[WKView _setAcceleratedCompositingModeRootLayer:]): Deleted.
(-[WKView _acceleratedCompositingModeRootLayer]): Deleted.
(takeWindowSnapshot): Deleted.

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

(WebKit::WebViewImpl::addTrackingRect):
(WebKit::WebViewImpl::addTrackingRectWithTrackingNum):
(WebKit::WebViewImpl::addTrackingRectsWithTrackingNums):
(WebKit::WebViewImpl::removeTrackingRect):
(WebKit::WebViewImpl::removeTrackingRects):
(WebKit::WebViewImpl::sendToolTipMouseExited):
(WebKit::WebViewImpl::sendToolTipMouseEntered):
(WebKit::WebViewImpl::stringForToolTip):
(WebKit::WebViewImpl::toolTipChanged):
Move tooltip code.

1:49 PM Changeset in webkit [191508] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _interpretKeyEvent:completionHandler:]):
(-[WKView inputContext]):
(-[WKView performKeyEquivalent:]):
(-[WKView keyDown:]):
(-[WKView _doneWithKeyEvent:eventWasHandled:]):
(-[WKView _setPluginComplexTextInputState:]): Deleted.
(-[WKView _disableComplexTextInputIfNecessary]): Deleted.
(-[WKView _handlePluginComplexTextInputKeyDown:]): Deleted.
(-[WKView _tryHandlePluginComplexTextInputKeyDown:]): Deleted.
(-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]): Deleted.
(-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): Deleted.
(-[WKView _setPluginComplexTextInputState:pluginComplexTextInputIdentifier:]): Deleted.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Cocoa/WebViewImpl.h:

(WebKit::WebViewImpl::pluginComplexTextInputState):
(WebKit::WebViewImpl::pluginComplexTextInputIdentifier):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::setPluginComplexTextInputState):
(WebKit::WebViewImpl::setPluginComplexTextInputStateAndIdentifier):
(WebKit::WebViewImpl::disableComplexTextInputIfNecessary):
(WebKit::WebViewImpl::handlePluginComplexTextInputKeyDown):
(WebKit::WebViewImpl::tryHandlePluginComplexTextInputKeyDown):
(WebKit::WebViewImpl::pluginFocusOrWindowFocusChanged):
(WebKit::WebViewImpl::tryPostProcessPluginComplexTextInputKeyDown):

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
(WebKit::PageClientImpl::setPluginComplexTextInputState):
Move a few more methods.

1:21 PM Changeset in webkit [191507] by peavo@outlook.com
  • 4 edits in trunk

[WinCairo] Improve test results for fast layouttests.
https://bugs.webkit.org/show_bug.cgi?id=150464

Reviewed by Alex Christensen.

Source/WebCore:

Disable the Mac ascent hack for WinCairo.

  • platform/graphics/win/SimpleFontDataCairoWin.cpp:

(WebCore::Font::platformInit):

Tools:

Set custom device scale factor to 1.0.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(createWebViewAndOffscreenWindow):

12:19 PM Changeset in webkit [191506] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Don't override already existing represented objects on menu items
https://bugs.webkit.org/show_bug.cgi?id=150508

Reviewed by Tim Horton.

This fixes a crash/exception when a client implements webView:contextMenuItemsForElement:defaultMenuItems: and
the default menu has a share menu item.

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::getCustomMenuFromDefaultItems):

12:06 PM Changeset in webkit [191505] by commit-queue@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

[Content Extensions] Add test for hiding content on <a ping> pings
https://bugs.webkit.org/show_bug.cgi?id=150499

Patch by Roopesh Chander <roop@roopc.net> on 2015-10-23
Reviewed by Alex Christensen.

Test for ensuring that <a ping> pings are subject to
'css-display-none' content blocking rules.

  • http/tests/contentextensions/hide-on-ping-expected.txt: Added.
  • http/tests/contentextensions/hide-on-ping.html: Added.
  • http/tests/contentextensions/hide-on-ping.html.json: Added.
12:01 PM Changeset in webkit [191504] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebKit2

[MediaStream] Fix UserMediaPermissionRequestProxy::invalidate
https://bugs.webkit.org/show_bug.cgi?id=150503
<rdar://problem/23235386>

Reviewed by Dean Jackson.

  • UIProcess/UserMediaPermissionRequestProxy.cpp:

(WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): m_manager is a pointer.
(WebKit::UserMediaPermissionRequestProxy::allow): Return early if m_manager is null, clear it after

calling the manager.

(WebKit::UserMediaPermissionRequestProxy::deny): Ditto.
(WebKit::UserMediaPermissionRequestProxy::invalidate): Clear m_manager.

  • UIProcess/UserMediaPermissionRequestProxy.h: Change m_manager from a reference to a pointer so it can be cleared.
11:41 AM Changeset in webkit [191503] by Claudio Saavedra
  • 3 edits in trunk/Source/WebKit2

[GTK] Minor web editor fixes
https://bugs.webkit.org/show_bug.cgi?id=150501

Reviewed by Carlos Garcia Campos.

  • UIProcess/gtk/KeyBindingTranslator.cpp: Remove

"MoveParagraphForward/Backward" as these commands do not exist in
WebKit (anymore?).

  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:

(WebKit::WebEditorClient::executePendingEditorCommands):
Editor::Command can take a String, no need to convert to a C char.

11:29 AM Changeset in webkit [191502] by Simon Fraser
  • 4 edits
    2 adds in trunk

REGRESSION (r187121): Multiple-keyframe animations not honouring ' forwards' fill-mode
https://bugs.webkit.org/show_bug.cgi?id=150328

Reviewed by Dean Jackson.

Source/WebCore:

AnimationBase::getElapsedTime() for a finished animation would return 1 (a progress),
rather than a time value as the caller expects. Fix it to return the total duration
if the animation has finished. This fixes the bug.

Change CompositeAnimation::pauseAnimationAtTime() to be more permissive, allowing
testing of filling-forwards animations with the pause API.

Test: animations/fill-forwards-end-state.html

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::getElapsedTime):

  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::pauseAnimationAtTime):

LayoutTests:

Filling-forwards test with an animation whose duration is greater than one second,
which showed the bug.

  • animations/fill-forwards-end-state-expected.txt: Added.
  • animations/fill-forwards-end-state.html: Added.
11:07 AM Changeset in webkit [191501] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build by unapplying review comments.

  • UIProcess/Cocoa/WebViewImpl.h:
11:05 AM Changeset in webkit [191500] by Yusuke Suzuki
  • 24 edits
    10 adds in trunk/Source/JavaScriptCore

[ES6] Add DFG/FTL support for accessor put operations
https://bugs.webkit.org/show_bug.cgi?id=148860

Reviewed by Geoffrey Garen.

This patch introduces accessor defining ops into DFG and FTL.
The following DFG nodes are introduced.

op_put_getter_by_id => PutGetterById
op_put_setter_by_id => PutSetterById
op_put_getter_setter => PutGetterSetterById
op_put_getter_by_val => PutGetterByVal
op_put_setter_by_val => PutSetterByVal

These DFG nodes just call operations. But it does not prevent compiling in DFG/FTL.

To use operations defined for baseline JIT, we clean up existing operations.
And reuse these operations in DFG and FTL.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasAccessorAttributes):
(JSC::DFG::Node::accessorAttributes):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePutAccessorById):
(JSC::DFG::SpeculativeJIT::compilePutGetterSetterById):
(JSC::DFG::SpeculativeJIT::compilePutAccessorByVal):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutAccessorById):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutGetterSetterById):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutAccessorByVal):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_put_getter_by_id):
(JSC::JIT::emit_op_put_setter_by_id):
(JSC::JIT::emit_op_put_getter_setter):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_put_getter_by_id):
(JSC::JIT::emit_op_put_setter_by_id):
(JSC::JIT::emit_op_put_getter_setter):

  • tests/stress/dfg-put-accessors-by-id-class.js: Added.

(shouldBe):
(testAttribute):
(getter.Cocoa.prototype.get hello):
(getter.Cocoa):
(getter):
(setter.Cocoa):
(setter.Cocoa.prototype.set hello):
(setter):
(accessors.Cocoa):
(accessors.Cocoa.prototype.get hello):
(accessors.Cocoa.prototype.set hello):
(accessors):

  • tests/stress/dfg-put-accessors-by-id.js: Added.

(shouldBe):
(testAttribute):
(getter.object.get hello):
(getter):
(setter.object.set hello):
(setter):
(accessors.object.get hello):
(accessors.object.set hello):
(accessors):

  • tests/stress/dfg-put-getter-by-id-class.js: Added.

(shouldBe):
(testAttribute):
(getter.Cocoa):
(getter.Cocoa.prototype.get hello):
(getter.Cocoa.prototype.get name):
(getter):

  • tests/stress/dfg-put-getter-by-id.js: Added.

(shouldBe):
(testAttribute):
(getter.object.get hello):
(getter):

  • tests/stress/dfg-put-getter-by-val-class.js: Added.

(shouldBe):
(testAttribute):
(getter.Cocoa):
(getter.Cocoa.prototype.get name):
(getter):

  • tests/stress/dfg-put-getter-by-val.js: Added.

(shouldBe):
(testAttribute):
(getter.object.get name):
(getter):

  • tests/stress/dfg-put-setter-by-id-class.js: Added.

(shouldBe):
(testAttribute):
(getter.Cocoa):
(getter.Cocoa.prototype.set hello):
(getter.Cocoa.prototype.get name):
(getter):

  • tests/stress/dfg-put-setter-by-id.js: Added.

(shouldBe):
(testAttribute):
(setter.object.set hello):
(setter):

  • tests/stress/dfg-put-setter-by-val-class.js: Added.

(shouldBe):
(testAttribute):
(setter.Cocoa):
(setter.Cocoa.prototype.set name):
(setter):

  • tests/stress/dfg-put-setter-by-val.js: Added.

(shouldBe):
(testAttribute):
(setter.object.set name):
(setter):

10:57 AM Changeset in webkit [191499] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebKit2

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView renewGState]):
(-[WKView writeSelectionToPasteboard:types:]):
(-[WKView centerSelectionInVisibleArea:]):
(-[WKView scrollWheel:]):
(-[WKView swipeWithEvent:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
(-[WKView pressureChangeWithEvent:]):
(-[WKView acceptsFirstMouse:]):
(-[WKView shouldDelayWindowOrderingForEvent:]):
(-[WKView performKeyEquivalent:]):
(-[WKView keyUp:]):
(-[WKView keyDown:]):
(-[WKView flagsChanged:]):
(-[WKView _superQuickLookWithEvent:]):
(-[WKView _addFontPanelObserver]):
(-[WKView viewWillMoveToWindow:]):
(-[WKView viewDidMoveToWindow]):
(-[WKView viewDidChangeBackingProperties]):
(-[WKView enableAccessibilityIfNecessary]):
(-[WKView quickLookWithEvent:]):
(-[WKView _colorSpace]):
(-[WKView _didRelaunchProcess]):
(-[WKView _setTextIndicator:]):
(-[WKView _setTextIndicator:withLifetime:]):
(-[WKView _clearTextIndicatorWithAnimation:]):
(-[WKView _setTextIndicatorAnimationProgress:]):
(-[WKView initWithFrame:processPool:configuration:webView:]):
(-[WKView _didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
(-[WKView _internalImmediateActionAnimationControllerForHitTestResult:withType:userData:]):
(-[WKView _internalPrepareForImmediateActionAnimation]):
(-[WKView _internalCancelImmediateActionAnimation]):
(-[WKView _internalCompleteImmediateActionAnimation]):
(-[WKView _internalDismissContentRelativeChildWindowsWithAnimation:]):
(-[WKView beginDeferringViewInWindowChanges]):
(-[WKView endDeferringViewInWindowChanges]):
(-[WKView endDeferringViewInWindowChangesSync]):
(-[WKView _prepareForMoveToWindow:withCompletionHandler:]):
(-[WKView isDeferringViewInWindowChanges]):
(-[WKView allowsLinkPreview]):
(-[WKView setAllowsLinkPreview:]):
(-[WKView _setIgnoresAllEvents:]):
(-[WKView _setIgnoresNonWheelMouseEvents:]):
(-[WKView _setIgnoresNonWheelEvents:]):
(-[WKView _ignoresNonWheelEvents]):
(-[WKView _ignoresAllEvents]):
(-[WKView _setOverrideDeviceScaleFactor:]):
(-[WKView _overrideDeviceScaleFactor]):
(-[WKView _setTopContentInset:]):
(-[WKView _topContentInset]):
(-[WKView _dismissContentRelativeChildWindows]):
(-[WKView _dismissContentRelativeChildWindowsWithAnimation:]):
(-[WKView _setAutomaticallyAdjustsContentInsets:]):
(-[WKView _automaticallyAdjustsContentInsets]):
(-[WKWindowVisibilityObserver initWithView:]): Deleted.
(-[WKWindowVisibilityObserver startObserving:]): Deleted.
(-[WKWindowVisibilityObserver stopObserving:]): Deleted.
(-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]): Deleted.
(-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]): Deleted.
(-[WKView dealloc]): Deleted.
(-[WKView _updateWindowAndViewFrames]): Deleted.
(-[WKView updateFontPanelIfNeeded]): Deleted.
(-[WKView _selectionChanged]): Deleted.
(-[WKView addWindowObserversForWindow:]): Deleted.
(-[WKView removeWindowObservers]): Deleted.
(-[WKView doWindowDidChangeScreen]): Deleted.
(-[WKView _windowDidBecomeKey:]): Deleted.
(-[WKView _windowDidChangeScreen:]): Deleted.
(-[WKView _windowDidChangeLayerHosting:]): Deleted.
(-[WKView _windowDidResignKey:]): Deleted.
(-[WKView _windowDidMiniaturize:]): Deleted.
(-[WKView _windowDidDeminiaturize:]): Deleted.
(-[WKView _windowDidMove:]): Deleted.
(-[WKView _windowDidResize:]): Deleted.
(-[WKView _windowDidOrderOffScreen:]): Deleted.
(-[WKView _windowDidOrderOnScreen:]): Deleted.
(-[WKView _windowDidChangeBackingProperties:]): Deleted.
(-[WKView _windowDidChangeOcclusionState:]): Deleted.
(-[WKView _prepareForDictionaryLookup]): Deleted.
(-[WKView _dictionaryLookupPopoverWillClose:]): Deleted.
(-[WKView _accessibilityRegisterUIProcessTokens]): Deleted.
(-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): Deleted.
(-[WKView _intrinsicDeviceScaleFactor]): Deleted.
(-[WKView _preferencesDidChange]): Deleted.
(-[WKView _targetWindowForMovePreparation]): Deleted.
(-[WKView _updateContentInsetsIfAutomatic]): Deleted.
(-[WKView observeValueForKeyPath:ofObject:change:context:]): Deleted.
(-[WKView _dispatchSetTopContentInset]): Deleted.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Cocoa/WebViewImpl.h:

(WebKit::WebViewImpl::automaticallyAdjustsContentInsets):
(WebKit::WebViewImpl::topContentInset):
(WebKit::WebViewImpl::overrideDeviceScaleFactor):
(WebKit::WebViewImpl::isDeferringViewInWindowChanges):
(WebKit::WebViewImpl::targetWindowForMovePreparation):
(WebKit::WebViewImpl::lastPressureEvent):
(WebKit::WebViewImpl::allowsLinkPreview):
(WebKit::WebViewImpl::ignoresNonWheelEvents):
(WebKit::WebViewImpl::ignoresAllEvents):
(WebKit::WebViewImpl::createWeakPtr):

  • UIProcess/Cocoa/WebViewImpl.mm:

(SOFT_LINK_CONSTANT_MAY_FAIL):
(-[WKWindowVisibilityObserver initWithView:impl:]):
(-[WKWindowVisibilityObserver dealloc]):
(-[WKWindowVisibilityObserver startObserving:]):
(-[WKWindowVisibilityObserver stopObserving:]):
(-[WKWindowVisibilityObserver startObservingFontPanel]):
(-[WKWindowVisibilityObserver startObservingLookupDismissal]):
(-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]):
(-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]):
(-[WKWindowVisibilityObserver _windowDidBecomeKey:]):
(-[WKWindowVisibilityObserver _windowDidResignKey:]):
(-[WKWindowVisibilityObserver _windowDidMiniaturize:]):
(-[WKWindowVisibilityObserver _windowDidDeminiaturize:]):
(-[WKWindowVisibilityObserver _windowDidMove:]):
(-[WKWindowVisibilityObserver _windowDidResize:]):
(-[WKWindowVisibilityObserver _windowDidChangeBackingProperties:]):
(-[WKWindowVisibilityObserver _windowDidChangeScreen:]):
(-[WKWindowVisibilityObserver _windowDidChangeLayerHosting:]):
(-[WKWindowVisibilityObserver _windowDidChangeOcclusionState:]):
(-[WKWindowVisibilityObserver observeValueForKeyPath:ofObject:change:context:]):
(-[WKWindowVisibilityObserver _dictionaryLookupPopoverWillClose:]):
(-[WKEditCommandObjC initWithWebEditCommandProxy:]):
(-[WKEditCommandObjC command]):
(-[WKEditorUndoTargetObjC undoEditing:]):
(-[WKEditorUndoTargetObjC redoEditing:]):
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::becomeFirstResponder):
(WebKit::WebViewImpl::resignFirstResponder):
(WebKit::WebViewImpl::renewGState):
(WebKit::WebViewImpl::updateWindowAndViewFrames):
(WebKit::WebViewImpl::setAutomaticallyAdjustsContentInsets):
(WebKit::WebViewImpl::updateContentInsetsIfAutomatic):
(WebKit::WebViewImpl::setTopContentInset):
(WebKit::WebViewImpl::dispatchSetTopContentInset):
(WebKit::WebViewImpl::setOverrideDeviceScaleFactor):
(WebKit::WebViewImpl::intrinsicDeviceScaleFactor):
(WebKit::WebViewImpl::windowDidOrderOffScreen):
(WebKit::WebViewImpl::windowDidOrderOnScreen):
(WebKit::WebViewImpl::windowDidBecomeKey):
(WebKit::WebViewImpl::windowDidResignKey):
(WebKit::WebViewImpl::windowDidMiniaturize):
(WebKit::WebViewImpl::windowDidDeminiaturize):
(WebKit::WebViewImpl::windowDidMove):
(WebKit::WebViewImpl::windowDidResize):
(WebKit::WebViewImpl::windowDidChangeBackingProperties):
(WebKit::WebViewImpl::windowDidChangeScreen):
(WebKit::WebViewImpl::windowDidChangeLayerHosting):
(WebKit::WebViewImpl::windowDidChangeOcclusionState):
(WebKit::WebViewImpl::viewWillMoveToWindow):
(WebKit::WebViewImpl::viewDidMoveToWindow):
(WebKit::WebViewImpl::viewDidChangeBackingProperties):
(WebKit::WebViewImpl::postFakeMouseMovedEventForFlagsChangedEvent):
(WebKit::WebViewImpl::colorSpace):
(WebKit::WebViewImpl::beginDeferringViewInWindowChanges):
(WebKit::WebViewImpl::endDeferringViewInWindowChanges):
(WebKit::WebViewImpl::endDeferringViewInWindowChangesSync):
(WebKit::WebViewImpl::prepareForMoveToWindow):
(WebKit::WebViewImpl::pressureChangeWithEvent):
(WebKit::WebViewImpl::isEditable):
(WebKit::WebViewImpl::executeEditCommand):
(WebKit::WebViewImpl::registerEditCommand):
(WebKit::WebViewImpl::clearAllEditCommands):
(WebKit::WebViewImpl::writeSelectionToPasteboard):
(WebKit::WebViewImpl::centerSelectionInVisibleArea):
(WebKit::WebViewImpl::selectionDidChange):
(WebKit::WebViewImpl::startObservingFontPanel):
(WebKit::WebViewImpl::updateFontPanelIfNeeded):
(WebKit::WebViewImpl::preferencesDidChange):
(WebKit::WebViewImpl::setTextIndicator):
(WebKit::WebViewImpl::clearTextIndicatorWithAnimation):
(WebKit::WebViewImpl::setTextIndicatorAnimationProgress):
(WebKit::WebViewImpl::dismissContentRelativeChildWindows):
(WebKit::WebViewImpl::quickLookWithEvent):
(WebKit::WebViewImpl::prepareForDictionaryLookup):
(WebKit::WebViewImpl::setAllowsLinkPreview):
(WebKit::WebViewImpl::immediateActionAnimationControllerForHitTestResult):
(WebKit::WebViewImpl::prepareForImmediateActionAnimation):
(WebKit::WebViewImpl::cancelImmediateActionAnimation):
(WebKit::WebViewImpl::completeImmediateActionAnimation):
(WebKit::WebViewImpl::setIgnoresNonWheelEvents):
(WebKit::WebViewImpl::setIgnoresAllEvents):
(WebKit::WebViewImpl::accessibilityRegisterUIProcessTokens):

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

(WebKit::PageClientImpl::activeWindow):
(WebKit::PageClientImpl::preferencesDidChange):
(WebKit::PageClientImpl::registerEditCommand):
(WebKit::PageClientImpl::clearAllEditCommands):
(WebKit::PageClientImpl::selectionDidChange):
(WebKit::PageClientImpl::didPerformDictionaryLookup):
(-[WKEditCommandObjC initWithWebEditCommandProxy:]): Deleted.
(-[WKEditCommandObjC command]): Deleted.
(-[WKEditorUndoTargetObjC undoEditing:]): Deleted.
(-[WKEditorUndoTargetObjC redoEditing:]): Deleted.
(WebKit::PageClientImpl::PageClientImpl): Deleted.
Move more things to WebViewImpl.
This also introduces an unfortunate pattern that is required for things which
clients override on WKView, where we have a flow like this:

  • somebody (PageClient, etc.) calls WebViewImpl::x
  • WebViewImpl::x does nothing except call [WKView _x]
  • [WKView _x] calls WebViewImpl::xFromViewOnly, which does the real work

As long as no clients call the -FromViewOnly variant, this will mean that
all callers are bottlenecked through the overridable WKView method.
How this works with WKWebView, I am not sure yet.

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

(-[WKImmediateActionController initWithPage:view:viewImpl:recognizer:]):
(-[WKImmediateActionController willDestroyView:]):
(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
(-[WKImmediateActionController menuItem:viewAtScreenPoint:]):
(-[WKImmediateActionController menuItem:previewItemAtPoint:]):
(-[WKImmediateActionController menuItem:itemFrameForPoint:]):
(-[WKImmediateActionController menuItem:maxSizeForPoint:]):
(-[WKImmediateActionController _animationControllerForDataDetectedText]):
(-[WKImmediateActionController _animationControllerForDataDetectedLink]):
(-[WKImmediateActionController _animationControllerForText]):
(-[WKImmediateActionController initWithPage:view:recognizer:]): Deleted.
Keep a generic NSView, use the WebViewImpl for WK*View related things.

10:55 AM Changeset in webkit [191498] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] update-webkitgtk-libs should use mesa tarball

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

update-webkitgtk-libs downloads all build dependencies; in fixing
bug 148941 mesa was switched from ftp to git access. Now an http
tarball is available, which is preferred over accessing via git.

Patch by Mark Salisbury <mark.salisbury@hp.com> on 2015-10-23
Reviewed by Philippe Normand

  • gtk/jhbuild.modules:

Mesa access changed to http tarball.

10:47 AM Changeset in webkit [191497] by Chris Dumez
  • 4 edits in trunk

A label element not in a document should not label an element in a document
https://bugs.webkit.org/show_bug.cgi?id=148863
<rdar://problem/22589300>

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline W3C HTML test now that one more check is passing.

  • web-platform-tests/html/semantics/forms/the-label-element/label-attributes-expected.txt:

Source/WebCore:

As per the HTML specification, a label element's 'for' attribute may be
specified to indicate a form control with which the caption is to be
associated. If the attribute is specified, the attribute's value must
be the ID of a labelable element in the same Document as the label
element:
https://html.spec.whatwg.org/multipage/forms.html#attr-label-for

However, our code was failing to check if the label element was actually
in the document before calling document.getElementById(). In such case,
we would potentially return a labelable Element that is not in the same
document as the label Element. This patch fixes the problem.

The new behavior is consistent with Firefox.

No new tests, already covered by existing test.

  • html/HTMLLabelElement.cpp:

(WebCore::HTMLLabelElement::control):

10:11 AM Changeset in webkit [191496] by Nikita Vasilyev
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Command-Enter in Debugger should show a popover with evaluation result
https://bugs.webkit.org/show_bug.cgi?id=149195

Currenty, the only way to display the popover is to hover over the text with a mouse cursor.
Provide a way to display it via a keyboard shortcut.

Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/CodeMirrorCompletionController.js:

(WebInspector.CodeMirrorCompletionController): Deleted.
(WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): Deleted.
Don't evaluate selected text from Debugger or Sources in the console.

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController):
(WebInspector.CodeMirrorTokenTrackingController.prototype._handleCommandEnterKey):
(WebInspector.CodeMirrorTokenTrackingController.prototype._hidePopover):
Cmd-Enter triggers the popover, Esc hides it.

(WebInspector.CodeMirrorTokenTrackingController.prototype.set mode):
(WebInspector.CodeMirrorTokenTrackingController.prototype.removeHighlightedRange):
Don't use delete.

(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedWithMarkedText):
When a token isn't hovered, hide it only when it was triggered not by the keyboard.

(WebInspector.CodeMirrorTokenTrackingController.prototype._markedTextIsNoLongerHovered):
Don't use delete.

(WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
(WebInspector.CodeMirrorTokenTrackingController.prototype._getTokenInfoForPosition):
Abstract out a no side effects _getTokenInfoForPosition method, which is also used by _handleCommandEnterKey.

(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOutOfEditor):
(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
Don't use delete.

(WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
(WebInspector.CodeMirrorTokenTrackingController.prototype._processNonSymbolToken):
(WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
Pass tokenInfo as an argument to explicitly state that these methods require it.

(WebInspector.CodeMirrorTokenTrackingController.prototype._resetTrackingStates):
Don't use delete.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeReleased):
Allow to hide the popover regardless of mouse position. Used when the text cursor moves or
when Esc key is pressed.

7:07 AM Changeset in webkit [191495] by matthew_hanson@apple.com
  • 10 edits in branches/safari-601.1.46-branch

Merge r191487. rdar://problem/22811325

1:39 AM Changeset in webkit [191494] by commit-queue@webkit.org
  • 11 edits
    6 adds in trunk

Support for SVG beginEvent event and onbegin attribute
https://bugs.webkit.org/show_bug.cgi?id=150442

Patch by Antoine Quint <Antoine Quint> on 2015-10-23
Reviewed by Dean Jackson.

Source/WebCore:

Add support for the SVG beginEvent event, which is fired as an SVG timing element enters its active interval.
Also add support for the SVG onbegin attribute which allows the definition of a JS event listener declaratively
for the SVG beginEvent event.

Tests: svg/animations/begin-event-attribute.svg

svg/animations/begin-event-script.svg
svg/animations/begin-event-syncbase.svg

  • dom/EventNames.h:
  • svg/animation/SVGSMILElement.cpp:

(WebCore::smilBeginEventSender):
(WebCore::smilEndEventSender):
(WebCore::SVGSMILElement::~SVGSMILElement):
(WebCore::SVGSMILElement::parseAttribute):
(WebCore::SVGSMILElement::progress):
(WebCore::SVGSMILElement::dispatchPendingEvent):

  • svg/svgattrs.in:

LayoutTests:

  • svg/animations/begin-event-attribute-expected.svg: Added.
  • svg/animations/begin-event-attribute.svg: Added.

Test for the newly supported onbegin attribute.

  • svg/animations/begin-event-script-expected.svg: Added.
  • svg/animations/begin-event-script.svg: Added.

Test for the newly supported beginEvent event handled via addEventListener().

  • svg/animations/begin-event-syncbase-expected.svg: Added.
  • svg/animations/begin-event-syncbase.svg: Added.

Test for the newly supported beginEvent event used as a syncbase value in a
timing attribute.

  • svg/animations/end-event-attribute-expected.svg:
  • svg/animations/end-event-attribute.svg:
  • svg/animations/end-event-script-expected.svg:
  • svg/animations/end-event-script.svg:
  • svg/animations/end-event-syncbase-expected.svg:
  • svg/animations/end-event-syncbase.svg:

Cleaned up tests previously added to remove unnecessary XLink namespace, DOCTYPE and
processing instruction to match new tests.

1:36 AM WebKitW3CTesting edited by youenn.fablet@crf.canon.fr
(diff)
1:10 AM Changeset in webkit [191493] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebInspectorUI

Web Inspector: Visual sidebar should support multiple backgrounds
https://bugs.webkit.org/show_bug.cgi?id=148310

Patch by Devin Rousso <Devin Rousso> on 2015-10-23
Reviewed by Timothy Hatcher.

Changes the layout of the Background - Style section in the Visual sidebar
to be a list instead of a single editable field for a background-image URL.
Allows for comma-separated background properties (both shorthand and
longhand) and displays them all in a single list for editing.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/VisualStyleColorPicker.js:

(WebInspector.VisualStyleColorPicker):

  • UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:

(.visual-style-property-container.comma-separated-keyword-editor):

  • UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:

(WebInspector.VisualStyleCommaSeparatedKeywordEditor):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._generateTextFromLonghandProperties.propertyValue):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._generateTextFromLonghandProperties):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.modifyPropertyText):
Comma separated properties will now try to assemble a value from related longhand
properties so that a single shorthand property with commas may be used.

  • UserInterface/Views/VisualStyleDetailsPanel.css:

(.sidebar > .panel.details.css-style .visual > .details-section.background .details-section.background-style .visual-style-property-container.comma-separated-keyword-editor.background):

  • UserInterface/Views/VisualStyleDetailsPanel.js:

(WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection):
(WebInspector.VisualStyleDetailsPanel.prototype._noRemainingCommaSeparatedEditorItems):
(WebInspector.VisualStyleDetailsPanel.prototype._selectedCommaSeparatedEditorItemValueChanged):
(WebInspector.VisualStyleDetailsPanel.prototype._commaSeparatedEditorTreeItemSelected):
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.noRemainingTreeItems): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.selectedBoxShadowItemValueChanged): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.boxShadowItemSelected): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.noRemainingTreeItems): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.selectedtransitionItemValueChanged): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.transitionItemSelected): Deleted.
Made the "background-image" property into a comma separated editor.

  • UserInterface/Views/VisualStyleFontFamilyListEditor.js:

(WebInspector.VisualStyleFontFamilyListEditor):

  • UserInterface/Views/VisualStyleKeywordIconList.js:

(WebInspector.VisualStyleKeywordIconList.prototype.set value):
(WebInspector.VisualStyleKeywordIconList.prototype._handleKeywordChanged):
(WebInspector.VisualStyleKeywordIconList):

  • UserInterface/Views/VisualStyleKeywordPicker.js:

(WebInspector.VisualStyleKeywordPicker.prototype.updateEditorValues):
(WebInspector.VisualStyleKeywordPicker.prototype._setValue):

  • UserInterface/Views/VisualStyleNumberInputBox.js:

(WebInspector.VisualStyleNumberInputBox.prototype.set value):

  • UserInterface/Views/VisualStylePropertyCombiner.js:

(WebInspector.VisualStylePropertyCombiner):
(WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateCompatibleEditor):
(WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText):

  • UserInterface/Views/VisualStylePropertyEditor.js:

(WebInspector.VisualStylePropertyEditor):
(WebInspector.VisualStylePropertyEditor.prototype.update):
(WebInspector.VisualStylePropertyEditor.prototype.getValuesFromText):
(WebInspector.VisualStylePropertyEditor.prototype.get propertyMissing):
(WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
Moved "propertyMissing" into a member variable for better access.

  • UserInterface/Views/VisualStyleURLInput.js:

(WebInspector.VisualStyleURLInput):
(WebInspector.VisualStyleURLInput.prototype.get synthesizedValue):
(WebInspector.VisualStyleURLInput.prototype.parseValue):
Added support for specific keywords to be used in the input field.

12:37 AM Changeset in webkit [191492] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Source/WebCore:
ConvolverNode.buffer must have same sample-rate as the AudioContext
https://bugs.webkit.org/show_bug.cgi?id=150385

Patch by Hyemi Shin <hyemi.sin@samsung.com> on 2015-10-23
Reviewed by Chris Dumez.

ConvolverNode.buffer must be of the same sample-rate as the AudioContext
or an NOT_SUPPORTED_ERR exception MUST be thrown.

Test : webaudio/convolver-setBuffer-different-samplerate.html

  • Modules/webaudio/ConvolverNode.cpp:

(WebCore::ConvolverNode::setBuffer):

  • Modules/webaudio/ConvolverNode.h:
  • Modules/webaudio/ConvolverNode.idl:

LayoutTests:
ConvolverNode.buffer must have same sample rate as the AudioContext
https://bugs.webkit.org/show_bug.cgi?id=150385

Patch by Hyemi Shin <hyemi.sin@samsung.com> on 2015-10-23
Reviewed by Chris Dumez.

  • webaudio/convolver-setBuffer-different-samplerate-expected.txt: Added.
  • webaudio/convolver-setBuffer-different-samplerate.html: Added.
Note: See TracTimeline for information about the timeline view.