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

Timeline



Jun 19, 2014:

11:52 PM Changeset in webkit [170175] by ryuan.choi@samsung.com
  • 4 edits in trunk

[EFL][CMAKE] Disable WebKit1 build as a default
https://bugs.webkit.org/show_bug.cgi?id=134093

Reviewed by Gyuyoung Kim.

.:
Disable WebKit1 build and enable WebKit2 build for the EFL port.

  • Source/cmake/OptionsEfl.cmake:

Tools:

  • CMakeLists.txt:
11:44 PM Changeset in webkit [170174] by Carlos Garcia Campos
  • 7 edits
    8 adds in trunk

[GTK] webkit_dom_document_create_tree_walker impossible to use due to WebKitDOMNodeFilter
https://bugs.webkit.org/show_bug.cgi?id=93002

Reviewed by Gustavo Noronha Silva.

Source/WebCore:
Add custom implementation of WebKitDOMNodeFilter to expose it as
an interface instead of a class.

  • PlatformGTK.cmake: Add new files to compilation.
  • bindings/gobject/GObjectNodeFilterCondition.cpp: Added.

(WebCore::GObjectNodeFilterCondition::~GObjectNodeFilterCondition):
Reset the NodeFilter WebCore object associated to the
WebKitDOMNodeFilter object.
(WebCore::GObjectNodeFilterCondition::acceptNode): Call webkit_dom_node_filter_accept_node().

  • bindings/gobject/GObjectNodeFilterCondition.h: Added.

(WebCore::GObjectNodeFilterCondition::create): Create a new
GObjectNodeFilterCondition for the given WebKitDOMNodeFilter.
(WebCore::GObjectNodeFilterCondition::GObjectNodeFilterCondition):

  • bindings/gobject/WebKitDOMNodeFilter.cpp: Added.

(webkit_dom_node_filter_default_init):
(webkit_dom_node_filter_accept_node):
(WebKit::nodeFilterMap): Map NodeFilter WebCore objects to
WebKitDOMNodeFilter objects.
(WebKit::nodeFilterObjectDestroyedCallback): Remove the node
filter form the map when the WebKitDOMNodeFilter objecrt is destroyed.
(WebKit::kit): Return the WebKitDOMNodeFilter object for the given
NodeFilter WebCore object.
(WebKit::core): Get or create a NodeFilter WebCore object
associated to the given WebKitDOMNodeFilter.

  • bindings/gobject/WebKitDOMNodeFilter.h: Added.
  • bindings/gobject/WebKitDOMNodeFilter.symbols: Added.
  • bindings/gobject/WebKitDOMNodeFilterPrivate.h: Added.
  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateFunction): Add exceptions for NodeFilter parameters since
the core method returns a PassRefPtr.

Tools:
Add unit tests to check WebKitDOMNodefilter API used from both
TreeWalker and NodeIterator.

  • Scripts/webkitpy/style/checker.py: Add exceptions for GTK+

public headers and add WebKitDOMNodeFilter to the list of exceptions.

  • TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Add new files to compilation.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeFilterTest.cpp: Added.

(webkitNodeFilterAcceptNode):
(webkitNodeFilterDOMNodeFilterIfaceInit):
(webkit_node_filter_init):
(webkit_node_filter_class_init):
(WebKitDOMNodeFilterTest::create):
(WebKitDOMNodeFilterTest::webPageFromArgs):
(WebKitDOMNodeFilterTest::testTreeWalker):
(WebKitDOMNodeFilterTest::testNodeIterator):
(WebKitDOMNodeFilterTest::runTest):
(registerTests):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNodeFilter.cpp: Added.

(runTest):
(testWebKitDOMNodeFilterTreeWalker):
(testWebKitDOMNodeFilterNodeIterator):
(beforeAll):
(afterAll):

  • gtk/webkitdom.py:

(WebKitDOMDocGeneratorSections.init):
(WebKitDOMDocGeneratorSections._symbol_list):
(WebKitDOMDocGeneratorSections.write_section):

11:24 PM Changeset in webkit [170173] by Carlos Garcia Campos
  • 29 edits in trunk

[GTK] Limit the amount of API exposed to GObject DOM bindings API
https://bugs.webkit.org/show_bug.cgi?id=133726

Reviewed by Gustavo Noronha Silva.

Source/WebCore:
Split the GObject DOM bindings API into stable and unstable. The
unstable API is not included in the main webkitdom.h file, so that
to use it users have to include the headers individually and
define a macro WEBKIT_DOM_USE_UNSTABLE_API. For unstable methods
of stable classes we generate a {ClassName}Unstable.h header file
containing the unstable API. From now on we only keep backwards
compatibility for the stable API.

  • PlatformGTK.cmake: Split GObject DOM bindings related variables

into Stable and Unstable. Add also

  • bindings/gobject/WebKitDOMCustom.cpp:

(webkit_dom_html_media_element_set_current_time): Deleted.
(webkit_dom_text_track_get_kind): Deleted.
(webkit_dom_text_track_get_mode): Deleted.
(webkit_dom_text_track_set_mode): Deleted.

  • bindings/gobject/WebKitDOMCustom.h:
  • bindings/gobject/WebKitDOMCustom.symbols: Remove custom symbols

added due to API changes.

  • bindings/gobject/WebKitDOMPrivate.h: Include webkitdomdefines-unstable.h.
  • bindings/gobject/webkitdom.symbols: Remove all unstable symbols.
  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipFunction): Do not skip webkit_dom_html_media_element_set_current_time anymore.
(GenerateHeader): Only force single header include for stable
headers and add WEBKIT_DOM_USE_UNSTABLE_API #ifdef to unstable headers.
(GenerateFunction): Only add stable symbols to the symbols
array. Add function prototypes to main header or unstable header
depending on whether it's an unstable symbol for a stable class or
not. Also add Stability gtk-doc tag to unstable methods.
(GenerateEndHeader): Add required #endifs
(WriteData): Write also an Unstable.h header when appropriate and
only generate a symbols file for stable classes.
(ReadStableSymbols): Read the stable symbols for the current class.
(GenerateInterface): Call ReadStableSymbols.

  • bindings/scripts/gobject-generate-headers.pl: Generate webkitdomdefines-unstable.h.
  • bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
  • bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
  • bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
  • bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
  • bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
  • bindings/scripts/test/GObject/WebKitDOMTestException.h:
  • bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.h:
  • bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
  • bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
  • bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h:
  • bindings/scripts/test/GObject/WebKitDOMTestNode.h:
  • bindings/scripts/test/GObject/WebKitDOMTestNondeterministic.h:
  • bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  • bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h:
  • bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
  • bindings/scripts/test/GObject/WebKitDOMattribute.h:
  • bindings/scripts/test/GObject/WebKitDOMreadonly.h:

Tools:
Don't make fatal finding files without a .symbols file, since now
only the stable DOM API has .symbols files.

  • gtk/webkitdom.py:

(get_all_webkitdom_symbol_files):

7:56 PM Changeset in webkit [170172] by gyuyoung.kim@samsung.com
  • 8 edits in trunk/Tools

Remove efl wk1 buildbot and ews
https://bugs.webkit.org/show_bug.cgi?id=134089

Reviewed by Benjamin Poulain.

EFL WK1 is not supported anymore. Removed all bots for EFL WK1 bots.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • QueueStatusServer/config/queues.py:
  • Scripts/webkitpy/common/config/ews.json:
  • Scripts/webkitpy/common/config/ports.py:

(DeprecatedPort.port):
(QtWK2Port.run_webkit_tests_command):
(EflPort): Deleted.
(EflPort.build_webkit_command): Deleted.

  • Scripts/webkitpy/port/builders.py:
  • TestResultServer/static-dashboards/flakiness_dashboard.js:
  • TestResultServer/static-dashboards/loader_unittests.js:
7:12 PM Changeset in webkit [170171] by achristensen@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed fix after r170130.

Corrected directory so it can find common.props when opening Visual Studio.

6:39 PM Changeset in webkit [170170] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

Removed unused SPI -[WKWebView _runJavaScriptInMainFrame:].

Rubber-stamped by Simon Fraser.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _runJavaScriptInMainFrame:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
6:31 PM Changeset in webkit [170169] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

When simulating memory pressure, GC *after* releasing WebCore resources.

Since clearing the page cache is likely to create lots of garbage, defer the
synchronous GC until after the WebCore pressure relief, so we can see the
effect of clearing out all those pages.

Rubber-stamped by Gavin Barraclough.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::install):

5:49 PM Changeset in webkit [170168] by mitz@apple.com
  • 5 edits in trunk/Source/WebKit2

Use a single map for all callback types in WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=134069

Reviewed by Tim Horton.

  • UIProcess/GenericCallback.h:

(WebKit::CallbackMap::take):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::printFinishedCallback):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::drawPagesForPrinting):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
(WebKit::WebPageProxy::attributedStringForCharacterRangeCallback):

4:42 PM Changeset in webkit [170167] by weinig@apple.com
  • 86 edits in trunk/Source/WebCore

Move generate prototype and constructor classes into the generated implementation files
https://bugs.webkit.org/show_bug.cgi?id=134054

Reviewed by Oliver Hunt.

In an effort to reduce the size of the generated bindings headers, which is important
as the generated headers get included in a lot of places, this patch moves the prototype
and constructor declarations from the header to implementation file. This works because,
for the most part, no code cares about the prototype or constructors except the instance.

There are a few exceptions which had to be accounted for:

  • The global objects (JSDOMWindow and JSWorkerGlobalScope) need to have their prototypes available during initialization, so they remain in the header.
  • JSLocation requires customizing some aspects of the prototype behavior, so its prototype, and any future class that uses JSCustomNamedGetterOnPrototype or JSCustomDefineOwnPropertyOnPrototype, remains in the header.
  • A few classes had custom constructor functions. Instead of keeping the entire constructor in the header, I opted for pulling just the static constructor function into the header, and modifying the custom constructors to use the DOMConstructorObject type as the callee, since the more specific type was unnecessary.

As a result of making these changes, I was also able to remove the #include of JSDOMBinding.h from
all the headers, which brought in quite a bit.

  • bindings/js/JSAudioContextCustom.cpp:

(WebCore::constructJSAudioContext):
(WebCore::JSAudioContextConstructor::constructJSAudioContext): Deleted.

  • bindings/js/JSBlobCustom.cpp:

(WebCore::constructJSBlob):
(WebCore::JSBlobConstructor::constructJSBlob): Deleted.

  • bindings/js/JSCryptoCustom.cpp:
  • bindings/js/JSDOMFormDataCustom.cpp:

(WebCore::constructJSDOMFormData):
(WebCore::JSDOMFormDataConstructor::constructJSDOMFormData): Deleted.

  • bindings/js/JSDOMMimeTypeArrayCustom.cpp:
  • bindings/js/JSDOMPluginArrayCustom.cpp:
  • bindings/js/JSDOMPluginCustom.cpp:
  • bindings/js/JSDataCueCustom.cpp:

(WebCore::constructJSDataCue):
(WebCore::JSDataCueConstructor::constructJSDataCue): Deleted.

  • bindings/js/JSDataTransferCustom.cpp:
  • bindings/js/JSEventCustom.cpp:
  • bindings/js/JSFileReaderCustom.cpp:
  • bindings/js/JSHistoryCustom.cpp:
  • bindings/js/JSIDBAnyCustom.cpp:
  • bindings/js/JSIDBDatabaseCustom.cpp:
  • bindings/js/JSIDBObjectStoreCustom.cpp:
  • bindings/js/JSImageConstructor.cpp:

(WebCore::JSImageConstructor::finishCreation):

  • bindings/js/JSImageDataCustom.cpp:
  • bindings/js/JSInspectorFrontendHostCustom.cpp:
  • bindings/js/JSLocationCustom.cpp:
  • bindings/js/JSMessagePortCustom.cpp:
  • bindings/js/JSMutationObserverCustom.cpp:

(WebCore::constructJSMutationObserver):
(WebCore::JSMutationObserverConstructor::constructJSMutationObserver): Deleted.

  • bindings/js/JSSQLResultSetRowListCustom.cpp:
  • bindings/js/JSSQLTransactionSyncCustom.cpp:
  • bindings/js/JSSVGLengthCustom.cpp:
  • bindings/js/JSSharedWorkerCustom.cpp:

(WebCore::constructJSSharedWorker):
(WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Deleted.

  • bindings/js/JSStorageCustom.cpp:
  • bindings/js/JSUserMessageHandlersNamespaceCustom.cpp:
  • bindings/js/JSWebKitPointCustom.cpp:

(WebCore::constructJSWebKitPoint):
(WebCore::JSWebKitPointConstructor::constructJSWebKitPoint): Deleted.

  • bindings/js/JSWorkerCustom.cpp:

(WebCore::constructJSWorker):
(WebCore::JSWorkerConstructor::constructJSWorker): Deleted.

  • bindings/js/SerializedScriptValue.cpp:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):
(GeneratePrototypeDeclaration):
(GenerateConstructorDeclaration):
(GenerateConstructorHelperMethods):
(HeaderNeedsPrototypeDeclaration):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.h:
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:
  • bindings/scripts/test/JS/JSTestEventTarget.h:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestException.h:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
  • bindings/scripts/test/JS/JSTestNamedConstructor.h:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestNode.h:
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:
  • bindings/scripts/test/JS/JSTestNondeterministic.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.h:
  • bindings/scripts/test/JS/JSattribute.cpp:
  • bindings/scripts/test/JS/JSattribute.h:
  • bindings/scripts/test/JS/JSreadonly.cpp:
  • bindings/scripts/test/JS/JSreadonly.h:
3:57 PM Changeset in webkit [170166] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Another build fix attempt.

  • Shared/API/Cocoa/WKFoundation.h:
3:50 PM Changeset in webkit [170165] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[iOS] Legacy processes are installed inside WebKit.framework
https://bugs.webkit.org/show_bug.cgi?id=134079

Reviewed by Anders Carlsson.

  • Configurations/All.xcconfig: Exclude the legacy processes on iOS so they don’t get copied.
  • Configurations/BaseLegacyProcess.xcconfig: Set SKIP_INSTALL to YES on iOS.
3:23 PM Changeset in webkit [170164] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

It's OS X, not OSX...

  • Shared/API/Cocoa/WKFoundation.h:
3:15 PM Changeset in webkit [170163] by Antti Koivisto
  • 4 edits in trunk/Source/WebKit2

Unfreeze the layer tree on DidFirstVisuallyNonEmptyLayout
https://bugs.webkit.org/show_bug.cgi?id=134073

Reviewed by Simon Fraser.

DidFirstLayout is too early and we usually get a blank page. This doesn't match the existing iOS behavior either.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidLayout):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

3:04 PM Changeset in webkit [170162] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the Mavericks build.

  • Shared/API/Cocoa/WKFoundation.h:
2:51 PM Changeset in webkit [170161] by fpizlo@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] StructureSet::onlyStructure() should return nullptr if it's not a singleton (instead of asserting)
https://bugs.webkit.org/show_bug.cgi?id=134077

Reviewed by Sam Weinig.

This makes StructureSet and StructureAbstractValue more consistent and fixes a debug assert
in the abstract interpreter.

  • bytecode/StructureSet.h:

(JSC::StructureSet::onlyStructure):

1:54 PM Changeset in webkit [170160] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Need SPI to determine if the WKWebView is displaying a standalone image
https://bugs.webkit.org/show_bug.cgi?id=134071

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _isDisplayingStandaloneImageDocument]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
1:47 PM Changeset in webkit [170159] by fpizlo@apple.com
  • 1 edit
    6 adds in branches/ftlopt/LayoutTests

[ftlopt] LICM should be able to hoist CheckStructure even if the loop clobbers structures so long as the structures being checked are watchable
https://bugs.webkit.org/show_bug.cgi?id=134056

Unreviewed, just landing the test cases for this attempted optimization. The test cases
will still be valid once we find a smart way of doing this optimization.

  • js/regress/hoist-poly-check-structure-effectful-loop-expected.txt: Added.
  • js/regress/hoist-poly-check-structure-effectful-loop.html: Added.
  • js/regress/hoist-poly-check-structure-expected.txt: Added.
  • js/regress/hoist-poly-check-structure.html: Added.
  • js/regress/script-tests/hoist-poly-check-structure-effectful-loop.js: Added.

(foo):
(test):

  • js/regress/script-tests/hoist-poly-check-structure.js: Added.

(foo):
(test):

12:59 PM Changeset in webkit [170158] by mitz@apple.com
  • 5 edits in trunk/Source/WebKit2

Use a single map for all callback types in WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=134069

Reviewed by Anders Carlsson.

  • UIProcess/GenericCallback.h:

(WebKit::CallbackBase::as): Added. Performs a dynamic cast to a specific callback type.
(WebKit::CallbackBase::CallbackBase): Added a type parameter, which is used to initialize
the new m_type member.
(WebKit::GenericCallback::GenericCallback): Pass the type to the base class constructor.
(WebKit::GenericCallback::type): Added. Returns a unique type.
(WebKit::GenericCallback::invalidate): Now virtual.

(WebKit::CallbackMap::put): Adds the callback to the map.
(WebKit::CallbackMap::take): Removes the callback from the map, and dynamically casts it to
the specified type.
(WebKit::CallbackMap::invalidate): Invalidates the map.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::validateCommand):
(WebKit::WebPageProxy::runJavaScriptInMainFrame):
(WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
(WebKit::WebPageProxy::getSourceForFrame):
(WebKit::WebPageProxy::getContentsAsString):
(WebKit::WebPageProxy::getBytecodeProfile):
(WebKit::WebPageProxy::getSelectionOrContentsAsString):
(WebKit::WebPageProxy::getSelectionAsWebArchiveData):
(WebKit::WebPageProxy::getMainResourceDataOfFrame):
(WebKit::WebPageProxy::getResourceDataFromFrame):
(WebKit::WebPageProxy::getWebArchiveOfFrame):
(WebKit::WebPageProxy::forceRepaint):
(WebKit::WebPageProxy::clearLoadDependentCallbacks):
(WebKit::WebPageProxy::voidCallback):
(WebKit::WebPageProxy::dataCallback):
(WebKit::WebPageProxy::imageCallback):
(WebKit::WebPageProxy::stringCallback):
(WebKit::WebPageProxy::scriptValueCallback):
(WebKit::WebPageProxy::computedPagesCallback):
(WebKit::WebPageProxy::validateCommandCallback):
(WebKit::WebPageProxy::unsignedCallback):
(WebKit::WebPageProxy::editingRangeCallback):
(WebKit::WebPageProxy::rectForCharacterRangeCallback):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::computePagesForPrinting):
(WebKit::WebPageProxy::drawRectToImage):
(WebKit::WebPageProxy::drawPagesToPDF):
(WebKit::WebPageProxy::getMarkedRangeAsync):
(WebKit::WebPageProxy::getSelectedRangeAsync):
(WebKit::WebPageProxy::characterIndexForPointAsync):
(WebKit::WebPageProxy::firstRectForCharacterRangeAsync):
(WebKit::WebPageProxy::takeSnapshot):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::gestureCallback):
(WebKit::WebPageProxy::touchesCallback):
(WebKit::WebPageProxy::autocorrectionDataCallback):
(WebKit::WebPageProxy::dictationContextCallback):
(WebKit::WebPageProxy::autocorrectionContextCallback):
(WebKit::WebPageProxy::selectWithGesture):
(WebKit::WebPageProxy::updateSelectionWithTouches):
(WebKit::WebPageProxy::requestAutocorrectionData):
(WebKit::WebPageProxy::applyAutocorrection):
(WebKit::WebPageProxy::requestDictationContext):
(WebKit::WebPageProxy::requestAutocorrectionContext):
(WebKit::WebPageProxy::selectWithTwoTouches):

12:51 PM Changeset in webkit [170157] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

No way to handle HTTP Authentication with WKWebView
https://bugs.webkit.org/show_bug.cgi?id=134067
<rdar://problem/17317874>

Reviewed by Dan Bernstein.

Add a public webView:didReceiveAuthenticationChallenge:completionHandler: delegate method and get rid of the SPI.

  • Shared/API/Cocoa/WKFoundation.h:
  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame):

12:23 PM Changeset in webkit [170156] by roger_fong@apple.com
  • 6 edits in trunk/Source/WebKit2

Don't kill the UIProcess until all local storage transactions have been committed.
https://bugs.webkit.org/show_bug.cgi?id=134042.
<rdar://problem/16660724>.

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm: Add a listener for the application will terminate notification.

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

  • UIProcess/WebContext.cpp: Calls code in StorageManager to cleanup local storage transactions upon application termination.

(WebKit::WebContext::applicationWillTerminate):

  • UIProcess/WebContext.h:
  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::applicationWillTerminate):
Dispatch local storage cleanup task to background thread and make sure the UIProcess can't exit early.

  • UIProcess/Storage/StorageManager.h:
11:56 AM Changeset in webkit [170155] by oliver@apple.com
  • 2 edits in trunk/Source/WebKit2

2014-06-19 Oliver Hunt <oliver@apple.com>

Switch to using the process parameters during initialisation
to determine whether we hsould be using the network process.

RS=Sam Weinig

  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):
11:33 AM Changeset in webkit [170154] by psolanki@apple.com
  • 6 edits in trunk/Source/WebKit2

Copy SharedBuffer data into IPC message directly
https://bugs.webkit.org/show_bug.cgi?id=133920

Reviewed by Anders Carlsson.

When data array callbacks are enabled, we currently merge all the CFDataRefs in SharedBuffer
into one contiguous memory buffer when creating IPC::DataReference. This patch creates a
subclass of DataReference that uses SharedBuffer::getSomeData() to copy the data directly
into the IPC message.

  • NetworkProcess/AsynchronousNetworkLoaderClient.cpp:

(WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):

  • Platform/IPC/ArgumentEncoder.cpp:

(IPC::ArgumentEncoder::reserve): Added.
(IPC::ArgumentEncoder::grow):

  • Platform/IPC/ArgumentEncoder.h:
  • Platform/IPC/DataReference.cpp:

(IPC::SharedBufferDataReference::encode):

  • Platform/IPC/DataReference.h:

(IPC::DataReference::~DataReference):

10:53 AM Changeset in webkit [170153] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Curl] Compile errors related to http header field names.
https://bugs.webkit.org/show_bug.cgi?id=134029

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-06-19
Reviewed by Brent Fulgham.

Http header field names should now be specified with an enum, not a string.

  • platform/network/curl/MultipartHandle.cpp:

(WebCore::MultipartHandle::didReceiveResponse):

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::getProtectionSpace):

10:48 AM Changeset in webkit [170152] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

check-webkit-style does not understand Obj-C literal syntax for NSDictionary
<http://webkit.org/b/134061>

Reviewed by Dan Bernstein.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_spacing): Ignore '@' immediately before '{'.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_spacing_before_braces): Add unit test for
'{' block syntax and '@{' Objective-C liternal NSDitionary
syntax.

10:41 AM Changeset in webkit [170151] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Put the divider in the right place.

  • DerivedSources.make:
10:41 AM Changeset in webkit [170150] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Address a review comment from Darin.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::willLoadXHR):

10:29 AM Changeset in webkit [170149] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/win

Try to fix Windows build.

  • WebFrame.h:
10:29 AM Changeset in webkit [170148] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Simplify two HistoryController member functions
https://bugs.webkit.org/show_bug.cgi?id=134064

Reviewed by Dan Bernstein.

Remove the FrameLoadType parameter from recursiveSetProvisionalItem,
use early returns and modern loops.

  • loader/HistoryController.cpp:

(WebCore::HistoryController::goToItem):
(WebCore::HistoryController::recursiveSetProvisionalItem):
(WebCore::HistoryController::recursiveGoToItem):

  • loader/HistoryController.h:
9:32 AM Changeset in webkit [170147] by Dániel Bátyai
  • 56 edits in trunk

Remove ENABLE(LLINT) and ENABLE(LLINT_C_LOOP) guards
https://bugs.webkit.org/show_bug.cgi?id=130389

Reviewed by Mark Lam.

Removed ENABLE(LLINT) since we always build with it, and changed ENABLE(LLINT_C_LOOP)
into !ENABLE(JIT) since they are mutually exclusive.

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • CMakeLists.txt:
  • assembler/MacroAssemblerCodeRef.h:

(JSC::MacroAssemblerCodePtr::createLLIntCodePtr):
(JSC::MacroAssemblerCodeRef::createLLIntCodeRef):

  • assembler/MaxFrameExtentForSlowPathCall.h:
  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFromLLInt):

  • bytecode/CodeBlock.cpp:

(JSC::dumpStructure):
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::~CodeBlock):
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::unlinkCalls):
(JSC::CodeBlock::unlinkIncomingCalls):
(JSC::CodeBlock::linkIncomingCall):
(JSC::CodeBlock::frameRegisterCount):

  • bytecode/CodeBlock.h:
  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt):

  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFromLLInt):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):

  • heap/Heap.cpp:

(JSC::Heap::gatherJSStackRoots):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::initialize):
(JSC::Interpreter::isOpcode):

  • interpreter/Interpreter.h:

(JSC::Interpreter::getOpcodeID):

  • interpreter/JSStack.cpp:

(JSC::JSStack::JSStack):
(JSC::JSStack::committedByteCount):

  • interpreter/JSStack.h:
  • interpreter/JSStackInlines.h:

(JSC::JSStack::ensureCapacityFor):
(JSC::JSStack::topOfFrameFor):
(JSC::JSStack::setStackLimit):

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator):

  • jit/JIT.h:

(JSC::JIT::compileCTINativeCall):

  • jit/JITExceptions.h:
  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiNativeCall):
(JSC::JITThunks::ctiNativeConstruct):

  • llint/LLIntCLoop.cpp:
  • llint/LLIntCLoop.h:
  • llint/LLIntData.cpp:

(JSC::LLInt::initialize):
(JSC::LLInt::Data::performAssertions):

  • llint/LLIntData.h:

(JSC::LLInt::Data::performAssertions): Deleted.

  • llint/LLIntEntrypoint.cpp:
  • llint/LLIntEntrypoint.h:
  • llint/LLIntExceptions.cpp:
  • llint/LLIntExceptions.h:
  • llint/LLIntOfflineAsmConfig.h:
  • llint/LLIntOffsetsExtractor.cpp:

(JSC::LLIntOffsetsExtractor::dummy):

  • llint/LLIntOpcode.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LLIntThunks.cpp:
  • llint/LLIntThunks.h:
  • llint/LowLevelInterpreter.cpp:
  • llint/LowLevelInterpreter.h:
  • runtime/CommonSlowPaths.cpp:
  • runtime/CommonSlowPaths.h:
  • runtime/ErrorHandlingScope.cpp:

(JSC::ErrorHandlingScope::ErrorHandlingScope):
(JSC::ErrorHandlingScope::~ErrorHandlingScope):

  • runtime/Executable.cpp:

(JSC::setupLLInt):

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

  • runtime/JSCJSValue.h:
  • runtime/JSCJSValueInlines.h:
  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::sanitizeStackForVM):

  • runtime/VM.h:

(JSC::VM::canUseJIT): Deleted.

Source/WTF:

  • wtf/OSAllocatorPosix.cpp:

(WTF::OSAllocator::reserveAndCommit):

  • wtf/Platform.h:
9:22 AM Changeset in webkit [170146] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL() leaks an NSMutableArray
<http://webkit.org/b/134052>

Reviewed by Eric Carlson.

Fixes the following static analyzer warning:

WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:688:43: warning: Potential leak of an object stored into 'outOfBandTracks'

NSMutableArray* outOfBandTracks = [[NSMutableArray alloc] init];


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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
Use RetainPtr<NSMutableArray> to prevent a leak. Use
Objective-C literals to clean up the code.

2:14 AM Changeset in webkit [170145] by mario.prada@samsung.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Updated text expectations after r170138.

  • platform/gtk/accessibility/image-map2-expected.txt: Updated.
  • platform/gtk/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Updated.
12:25 AM Changeset in webkit [170144] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Add expectations for failing svg/wicd/rightsizing-grid.xhtml layout test
https://bugs.webkit.org/show_bug.cgi?id=133982

Unreviewed gardening.

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-06-19

  • platform/efl/TestExpectations:

Jun 18, 2014:

10:54 PM Changeset in webkit [170143] by zandobersek@gmail.com
  • 14 edits in trunk/Source/WebCore

ScriptExecutionContext::Task, FileThread::Task parameters should be values
https://bugs.webkit.org/show_bug.cgi?id=134035

Reviewed by Anders Carlsson.

r170106 and similar previous changesets enforced ScriptExecutionContext::Task and
FileThread::Task parameters as rvalue references. There's technically nothing wrong
with that, but since both classes are move-only it is also not strictly required.
Accepting these parameters as values is more common in C++ value semantics as well.

  • dom/Document.cpp:

(WebCore::Document::postTask):

  • dom/Document.h:
  • dom/ScriptExecutionContext.h:
  • fileapi/FileThread.cpp:

(WebCore::FileThread::postTask):

  • fileapi/FileThread.h:
  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerProxy::postTaskToLoader):
(WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::postTask):

  • workers/WorkerGlobalScope.h:
  • workers/WorkerLoaderProxy.h:
  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::postTaskToLoader):
(WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):

  • workers/WorkerMessagingProxy.h:
  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::postTask):
(WebCore::WorkerRunLoop::postTaskAndTerminate):
(WebCore::WorkerRunLoop::postTaskForMode):
(WebCore::WorkerRunLoop::Task::create):
(WebCore::WorkerRunLoop::Task::Task):

  • workers/WorkerRunLoop.h:
10:37 PM Changeset in webkit [170142] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fixing the GTK+ build after r170114.

  • UIProcess/API/gtk/WebKitAuthenticationRequest.cpp:

(webkit_authentication_request_get_proposed_credential):
The core() accessor has been renamed to credential().

9:34 PM Changeset in webkit [170141] by fpizlo@apple.com
  • 17 edits
    21 adds in branches/ftlopt

DFG AI and constant folder should be able to precisely prune MultiGetByOffset/MultiPutByOffset even if the base structure abstract value is not a singleton
https://bugs.webkit.org/show_bug.cgi?id=133918

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

This also adds pruning of PutStructure, since I basically had no choice but
to implement such logic within MultiPutByOffset.

Also adds a bunch of PutById cache status dumping to bytecode dumping.

  • bytecode/GetByIdVariant.cpp:

(JSC::GetByIdVariant::dumpInContext):

  • bytecode/GetByIdVariant.h:

(JSC::GetByIdVariant::structureSet):

  • bytecode/PutByIdVariant.h:

(JSC::PutByIdVariant::oldStructure):

  • bytecode/StructureSet.cpp:

(JSC::StructureSet::filter):
(JSC::StructureSet::filterArrayModes):

  • bytecode/StructureSet.h:
  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::changeStructure):
(JSC::DFG::AbstractValue::contains):

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::couldBeType):
(JSC::DFG::AbstractValue::isType):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::emitGetByOffset):
(JSC::DFG::ConstantFoldingPhase::emitPutByOffset):
(JSC::DFG::ConstantFoldingPhase::addBaseCheck):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::freezeStrong):

  • dfg/DFGGraph.h:
  • dfg/DFGStructureAbstractValue.h:

(JSC::DFG::StructureAbstractValue::operator=):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset):

  • tests/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check.js: Added.

(foo):
(fu):
(bar):
(baz):
(.bar):
(.baz):

  • tests/stress/fold-multi-put-by-offset-to-put-by-offset-without-folding-the-structure-check.js: Added.

(foo):
(fu):
(bar):
(baz):
(.bar):
(.baz):

  • tests/stress/prune-multi-put-by-offset-replace-or-transition-variant.js: Added.

(foo):
(fu):
(bar):
(baz):
(.bar):
(.baz):

LayoutTests:

  • js/regress/fold-multi-get-by-offset-to-get-by-offset-expected.txt: Added.
  • js/regress/fold-multi-get-by-offset-to-get-by-offset.html: Added.
  • js/regress/fold-multi-get-by-offset-to-poly-get-by-offset-expected.txt: Added.
  • js/regress/fold-multi-get-by-offset-to-poly-get-by-offset.html: Added.
  • js/regress/fold-multi-put-by-offset-to-poly-put-by-offset-expected.txt: Added.
  • js/regress/fold-multi-put-by-offset-to-poly-put-by-offset.html: Added.
  • js/regress/fold-multi-put-by-offset-to-put-by-offset-expected.txt: Added.
  • js/regress/fold-multi-put-by-offset-to-put-by-offset.html: Added.
  • js/regress/fold-multi-put-by-offset-to-replace-or-transition-put-by-offset-expected.txt: Added.
  • js/regress/fold-multi-put-by-offset-to-replace-or-transition-put-by-offset.html: Added.
  • js/regress/fold-put-structure-expected.txt: Added.
  • js/regress/fold-put-structure.html: Added.
  • js/regress/script-tests/fold-multi-get-by-offset-to-get-by-offset.js: Added.

(foo):
(fu):
(bar):
(.bar):

  • js/regress/script-tests/fold-multi-get-by-offset-to-poly-get-by-offset.js: Added.

(foo):
(fu):
(bar):
(.bar):

  • js/regress/script-tests/fold-multi-put-by-offset-to-poly-put-by-offset.js: Added.

(foo):
(fu):
(bar):
(.bar):

  • js/regress/script-tests/fold-multi-put-by-offset-to-put-by-offset.js: Added.

(foo):
(fu):
(bar):
(.bar):

  • js/regress/script-tests/fold-multi-put-by-offset-to-replace-or-transition-put-by-offset.js: Added.

(foo):
(fu):
(bar):
(.bar):

  • js/regress/script-tests/fold-put-structure.js: Added.

(foo):
(fu):
(bar):
(.bar):

9:16 PM Changeset in webkit [170140] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

Try to fix the Mountain Lion build.

  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame):

8:11 PM Changeset in webkit [170139] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

Remove RemoteLayerBackingStore’s RemoteLayerTreeContext pointer
https://bugs.webkit.org/show_bug.cgi?id=134055

Reviewed by Simon Fraser.

  • Shared/mac/RemoteLayerBackingStore.h:
  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::RemoteLayerBackingStore):
(WebKit::RemoteLayerBackingStore::~RemoteLayerBackingStore):
(WebKit::RemoteLayerBackingStore::ensureBackingStore):
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):
Remove RemoteLayerBackingStore's RemoteLayerTreeContext pointer. Instead, use the PlatformCALayer's.
Pass the PlatformCALayer in to the constructor, and remove it from ensureBackingStore();
RemoteLayerBackingStore is (for now) strictly tied to a single layer.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::ensureBackingStore):
(WebKit::PlatformCALayerRemote::updateBackingStore):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:

(WebKit::PlatformCALayerRemote::context):

7:19 PM Changeset in webkit [170138] by jcraig@apple.com
  • 11 edits in trunk

Web Inspector: AXI: expose aria-relevant
https://bugs.webkit.org/show_bug.cgi?id=130913

Reviewed by Joseph Pecoraro.

Expose ARIA live region relevance in Web Inspector.
E.g. "Live: Assertive (Additions, Text)"

Source/WebCore:
Test: inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties): Support for liveRegionRelevant.

  • inspector/protocol/DOM.json: Defined enum values and array passed to client.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js: New strings.
  • UserInterface/Models/DOMNode.js: One additional property passed.
  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI updates to support new property.

LayoutTests:

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Minor update.
  • inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion-expected.txt: Updated with new output.
  • inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html: Updated with new elements.
5:30 PM Changeset in webkit [170137] by mitz@apple.com
  • 4 edits in trunk/Source/WebKit2

[Cocoa] Modernize one-method authentication
https://bugs.webkit.org/show_bug.cgi?id=134051

Reviewed by Anders Carlsson.

Instead of an NSURLConnection-style delegate method that takes a challenge and responds to
its sender, provide an NSURLSession-style method that takes a challenge and a completion
handler.

  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Declared new delegate method, replacing

old unused method.

  • UIProcess/Cocoa/NavigationState.h: Renamed flag in m_navigationDelegateMethods struct.
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate): Check for new delegate method and update
new flag.

(WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame): If
the delegate implements the new method, return true (if it cannot handle the protection
space, it can reject it through the completion handler), except for server-trust
authentication, which is not supported yet.
(WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame): If the
delegate implements the new method, call it, passing a completion handler that calls the
right AuthenticationDecisionListener function based on its disposition and credential
parameters.

5:21 PM Changeset in webkit [170136] by Simon Fraser
  • 10 edits in trunk

Add rebeccapurple to CSS named color list
https://bugs.webkit.org/show_bug.cgi?id=133804

Reviewed by Jer Noble.

Source/WebCore:

Add the named color "rebeccapurple" (#639).

  • css/SVGCSSValueKeywords.in:
  • platform/ColorData.gperf:

Source/WebInspectorUI:

Add the named color "rebeccapurple" (#639).

  • UserInterface/External/CodeMirror/css.js:
  • UserInterface/Models/CSSKeywordCompletions.js:
  • UserInterface/Models/Color.js:

LayoutTests:

Add the named color "rebeccapurple" (#639).

  • fast/css/named-colors-expected.txt:
  • fast/css/named-colors.html:
5:20 PM Changeset in webkit [170135] by jpfau@apple.com
  • 4 edits in trunk

Fix flaky beforeload tests
https://bugs.webkit.org/show_bug.cgi?id=133685

Reviewed by David Kilzer.

Source/WebCore:

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):

LayoutTests:

  • platform/wk2/TestExpectations: Unskip tests that are no longer flaky
5:13 PM Changeset in webkit [170134] by andersca@apple.com
  • 19 edits in trunk/Source

Make FrameLoadType a strongly typed enum
https://bugs.webkit.org/show_bug.cgi?id=134047

Reviewed by Andreas Kling.

Source/WebCore:

  • history/BackForwardController.cpp:

(WebCore::BackForwardController::goBackOrForward):
(WebCore::BackForwardController::goBack):
(WebCore::BackForwardController::goForward):

  • history/PageCache.cpp:

(WebCore::logCanCachePageDecision):
(WebCore::PageCache::canCache):

  • loader/FrameLoader.cpp:

(WebCore::isBackForwardLoadType):
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::prepareForLoadStart):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::reloadWithOverrideEncoding):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::isReplacing):
(WebCore::FrameLoader::setReplacing):
(WebCore::FrameLoader::subresourceCachePolicy):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::addExtraFieldsToRequest):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::shouldPerformFragmentNavigation):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
(WebCore::FrameLoader::loadDifferentDocumentItem):

  • loader/FrameLoaderTypes.h:
  • loader/HistoryController.cpp:

(WebCore::HistoryController::restoreDocumentState):
(WebCore::HistoryController::updateForReload):
(WebCore::HistoryController::isReplaceLoadTypeWithProvisionalItem):
(WebCore::HistoryController::isReloadTypeWithProvisionalItem):

  • loader/NavigationAction.cpp:

(WebCore::navigationType):

  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::PolicyChecker):
(WebCore::PolicyChecker::checkNavigationPolicy):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::cachePolicy):

  • loader/icon/IconController.cpp:

(WebCore::IconController::startLoader):

Source/WebKit/mac:

  • WebView/WebFrame.mm:

(toWebFrameLoadType):
(-[WebFrame _loadType]):

  • WebView/WebView.mm:

(-[WebView _loadBackForwardListFromOtherView:]):
(-[WebView goToBackForwardItem:]):

Source/WebKit/win:

  • WebView.cpp:

(WebView::goToBackForwardItem):
(WebView::loadBackForwardListFromOtherView):

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::goForward):
(WebKit::WebPage::goBack):
(WebKit::WebPage::goToBackForwardItem):
(WebKit::shouldReuseCommittedSandboxExtension):
(WebKit::WebPage::didCommitLoad):

5:11 PM Changeset in webkit [170133] by andersca@apple.com
  • 14 edits in trunk/Source/WebKit2

Simplify WebSecurityOrigin
https://bugs.webkit.org/show_bug.cgi?id=134049

Reviewed by Andreas Kling.

  • Shared/API/c/WKSecurityOrigin.cpp:

(WKSecurityOriginCreateFromString):
(WKSecurityOriginCreateFromDatabaseIdentifier):
(WKSecurityOriginCopyDatabaseIdentifier):
(WKSecurityOriginCopyToString):
(WKSecurityOriginCopyProtocol):
(WKSecurityOriginCopyHost):
(WKSecurityOriginGetPort):

  • Shared/WebSecurityOrigin.h:

(WebKit::WebSecurityOrigin::securityOrigin):
(WebKit::WebSecurityOrigin::createFromDatabaseIdentifier): Deleted.
(WebKit::WebSecurityOrigin::protocol): Deleted.
(WebKit::WebSecurityOrigin::host): Deleted.
(WebKit::WebSecurityOrigin::port): Deleted.
(WebKit::WebSecurityOrigin::databaseIdentifier): Deleted.
(WebKit::WebSecurityOrigin::toString): Deleted.

  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
(WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::deleteEntriesForOrigin):

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/WebApplicationCacheManagerProxy.cpp:

(WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):

  • UIProcess/WebDatabaseManagerProxy.cpp:

(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
(WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
(WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
(WebKit::WebDatabaseManagerProxy::didModifyOrigin):
(WebKit::WebDatabaseManagerProxy::didModifyDatabase):

  • UIProcess/WebKeyValueStorageManager.cpp:

(WebKit::didGetStorageDetailsByOrigin):

  • UIProcess/WebOriginDataManagerProxy.cpp:

(WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::exceededDatabaseQuota):
(WebKit::WebPageProxy::requestGeolocationPermissionForFrame):

  • UIProcess/WebResourceCacheManagerProxy.cpp:

(WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):

  • UIProcess/ios/WKGeolocationProviderIOS.mm:

(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:window:]):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::exceededDatabaseQuota):

5:06 PM Changeset in webkit [170132] by achristensen@apple.com
  • 4 edits in trunk/Source/WebCore

[curl] Unreviewed speculative build fix after r170021.

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
(WebCore::CurlCacheEntry::parseResponseHeaders):

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::didReceiveHeader):

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::getProtectionSpace):
(WebCore::headerCallback):
Use HTTPHeaderName constants.

4:49 PM Changeset in webkit [170131] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Move the removeNode() tree walking from ScrollingStateNote into ScrollingStateTree
https://bugs.webkit.org/show_bug.cgi?id=134043

Reviewed by Beth Dakin.

It's cleaner if ScrollingStateTree does the descendant walk when removing nodes.
We can simply start the "willBeRemoved" walk at the node in question.

Have willRemoveNode() just remove the node from the m_stateNodeMap directly, rather
than this happening in a separate walk of m_nodesRemovedSinceLastCommit.

  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::removeDescendant): Deleted.
(WebCore::ScrollingStateNode::willBeRemovedFromStateTree): Deleted.

  • page/scrolling/ScrollingStateNode.h:
  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::attachNode):
(WebCore::ScrollingStateTree::detachNode):
(WebCore::ScrollingStateTree::clear):
(WebCore::ScrollingStateTree::removeNodeAndAllDescendants):
(WebCore::ScrollingStateTree::recursiveNodeWillBeRemoved):
(WebCore::ScrollingStateTree::willRemoveNode):
(WebCore::ScrollingStateTree::removeNode): Deleted.

  • page/scrolling/ScrollingStateTree.h:
4:42 PM Changeset in webkit [170130] by achristensen@apple.com
  • 7 edits
    5 adds in trunk/Source

Add FTL to Windows build.
https://bugs.webkit.org/show_bug.cgi?id=134015

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Added ftl source files.

Added ftl and llvm directories to include path.

(JSC::FTL::LowerDFGToLLVM::compileArithMinOrMax):
MSVC doesn't like to divide by zero while compiling. Use std::nan instead.

  • llvm/InitializeLLVMWin.cpp: Added.

(JSC::initializeLLVMImpl):
Implemented dynamic loading and linking for Windows.

Source/WebKit:

  • WebKit.vcxproj/WebKit.sln:

Added libllvmForJSC with a dependency on JavaScriptCoreGenerated, but don't build it yet.

4:16 PM Changeset in webkit [170129] by mhahnenberg@apple.com
  • 19 edits in branches/ftlopt/Source/JavaScriptCore

Remove CompoundType and LeafType
https://bugs.webkit.org/show_bug.cgi?id=134037

Reviewed by Filip Pizlo.

We don't use them for anything. We'll replace them with a generic CellType type for all
the objects that are JSCells, aren't JSObjects, and for which we generally don't care about
their JSType at runtime.

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • runtime/ArrayBufferNeuteringWatchpoint.cpp:

(JSC::ArrayBufferNeuteringWatchpoint::createStructure):

  • runtime/Executable.h:

(JSC::ExecutableBase::createStructure):
(JSC::NativeExecutable::createStructure):

  • runtime/JSPromiseDeferred.h:

(JSC::JSPromiseDeferred::createStructure):

  • runtime/JSPromiseReaction.h:

(JSC::JSPromiseReaction::createStructure):

  • runtime/JSPropertyNameIterator.h:

(JSC::JSPropertyNameIterator::createStructure):

  • runtime/JSType.h:
  • runtime/JSTypeInfo.h:

(JSC::TypeInfo::TypeInfo):

  • runtime/MapData.h:

(JSC::MapData::createStructure):

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyTable::createStructure):

  • runtime/RegExp.h:

(JSC::RegExp::createStructure):

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayValueMap::createStructure):

  • runtime/Structure.cpp:

(JSC::Structure::Structure):

  • runtime/StructureChain.h:

(JSC::StructureChain::createStructure):

  • runtime/StructureRareData.cpp:

(JSC::StructureRareData::createStructure):

  • runtime/SymbolTable.h:

(JSC::SymbolTable::createStructure):

  • runtime/WeakMapData.h:

(JSC::WeakMapData::createStructure):

4:14 PM Changeset in webkit [170128] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS WebGL] Fixed WEBGL_compressed_texture_pvrtc.
https://bugs.webkit.org/show_bug.cgi?id=133561

Based on Blink r153971 by bajones@chromium.org.

Reviewed by Dean Jackson.

No new tests, but this should fix webgl-compressed-texture-pvrtc.html.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::validateCompressedTexDimensions):
(WebCore::WebGLRenderingContext::validateCompressedTexSubDimensions):
Added checks for pvrtc.

4:13 PM Changeset in webkit [170127] by Lucas Forschler
  • 3 edits in tags/Safari-538.41/Source/WebKit2

Merged r170126.

4:04 PM Changeset in webkit [170126] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add back WKPageRunJavaScriptInMainFrame_b for now
https://bugs.webkit.org/show_bug.cgi?id=134045
<rdar://problem/17368879>

Reviewed by Tim Horton.

Reverted changeset:

"Remove WKPageRunJavaScriptInMainFrame_b"
https://bugs.webkit.org/show_bug.cgi?id=133926
http://trac.webkit.org/changeset/169991

3:57 PM Changeset in webkit [170125] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit/win

Remove IWebFramePrivate::loadType
https://bugs.webkit.org/show_bug.cgi?id=134044

Reviewed by Tim Horton.

  • Interfaces/IWebFramePrivate.idl:
  • WebFrame.cpp:

(WebFrame::loadType): Deleted.
(WebFrame::unused2): Deleted.

  • WebFrame.h:
3:32 PM Changeset in webkit [170124] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Work around a Windows compiler crash.

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::createFromSelection):

3:32 PM Changeset in webkit [170123] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Simplify WebPageProxy::saveRecentSearches and WebPageProxy::loadRecentSearches
https://bugs.webkit.org/show_bug.cgi?id=134041

Reviewed by Andreas Kling.

  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::saveRecentSearches):
(WebKit::WebPageProxy::loadRecentSearches):

3:19 PM Changeset in webkit [170122] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

All of MiniBrowser's WKWebViews should share a configuration
https://bugs.webkit.org/show_bug.cgi?id=134017

Reviewed by Anders Carlsson.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):
Share a single WKWebViewConfiguration between all of MiniBrowser's views.
This means that they'll share things like preferences, visited links, etc.
It also means that we'll properly share processes once we hit the process limit.

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

Subtrees with :first-child and :last-child are not invalidated when siblings are added/removed
https://bugs.webkit.org/show_bug.cgi?id=133934

Reviewed by Antti Koivisto.

Source/WebCore:
When adding/removing nodes on an element, we try to invalidate only the elements that are
affected. In the case of :first-child and :last-child, that optimizations is implemented
through two types of flags that are updated during style resolution.

The first flag is childrenAffectedByFirstChildRules (childrenAffectedByLastChildRules),
set on the parent of any element that could be affected by :first-child (:last-child).

The other part of the optimization is marking the style itself with firstChildState (lastChildState)
to further reduce invalidations.

The problem in this case happen with a subtree of element is detached. Since there is no renderer,
the computed style is resolved ad-hoc and stored directly on the element. When the element is moved,
the computed style was never cleared because the invalidation optimizations were not handling
elements without style.

Credit to Yusuke Suzuki for discovering the issue and creating test cases.

Tests: fast/css/getComputedStyle/empty-update-without-renderer.html

fast/css/getComputedStyle/first-child-update-without-renderer.html
fast/css/getComputedStyle/last-child-update-without-renderer.html

  • dom/Element.cpp:

(WebCore::checkForEmptyStyleChange):
Clean up: pull the style directly from the function instead of expection the call sites to do that.
Refine the checks to avoid invalidation.

(WebCore::checkForSiblingStyleChanges):
Do not early return if the parent is detached, the children may still need invalidation.

When there is no renderer, assume the worst first-child/last-child and force the invalidation.

(WebCore::Element::childrenChanged):

LayoutTests:

  • fast/css/getComputedStyle/empty-update-without-renderer-expected.txt: Added.
  • fast/css/getComputedStyle/empty-update-without-renderer.html: Added.
  • fast/css/getComputedStyle/first-child-update-without-renderer-expected.txt: Added.
  • fast/css/getComputedStyle/first-child-update-without-renderer.html: Added.
  • fast/css/getComputedStyle/last-child-update-without-renderer-expected.txt: Added.
  • fast/css/getComputedStyle/last-child-update-without-renderer.html: Added.
2:52 PM Changeset in webkit [170120] by dbates@webkit.org
  • 7 edits
    10 adds in trunk

REGRESSION (r167856): Unable to log into HSBC app
https://bugs.webkit.org/show_bug.cgi?id=133991
<rdar://problem/17044839>

Reviewed by David Kilzer.

Source/WebCore:
Following <http://trac.webkit.org/changeset/167856> we disallow "navigation to any URL that is
invalid, except for JavaScript URLs, which need not be valid." A byproduct of this policy
decision is that we no longer notify the WebKit client to about a navigation if the destination
URL is invalid. And some apps, including the HSBC app for iOS, have logic to intercept URLs
as a means to pass data from their WebView-embedded web app to the WebView. We should expose a
setting called allowNavigationToInvalidURL (disabled by default on all ports and conditionally
enabled on iOS) to toggle whether WebCore allows navigation to any URL, even if its invalid,
so as to not break clients that intercept URLs and have custom logic to handle them.

Tests: fast/loader/allow-redirect-to-invalid-url-using-javascript.html

fast/loader/allow-redirect-to-invalid-url-using-meta-refresh.html
fast/loader/disallow-redirect-to-invalid-url-using-javascript.html
fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh.html

  • loader/NavigationScheduler.cpp:

(WebCore::NavigationScheduler::shouldScheduleNavigation): Modified to only validate
the URL when the setting allowNavigationToInvalidURL is disabled.

  • page/Settings.in: Added setting allowNavigationToInvalidURL (disabled by default).

Source/WebKit/mac:
Only enable the setting allowNavigationToInvalidURL for iOS app linked against WebKit/UIKit before iOS 8.

  • Misc/WebKitVersionChecks.h: Added macro constant WEBKIT_FIRST_VERSION_WITH_NAVIGATION_URL_VALIDATION.
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]): Enable or disable the setting allowNavigationToInvalidURL as appropriate.

LayoutTests:
Add tests to ensure that the WebKit client will be notified to service a redirect to an invalid
URL when the setting allowNavigationToInvalidURL is enabled and will not be notified when
the setting is disabled.

  • fast/loader/allow-redirect-to-invalid-url-using-javascript-expected.txt: Added.
  • fast/loader/allow-redirect-to-invalid-url-using-javascript.html: Added.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Added.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh.html: Added.
  • fast/loader/disallow-redirect-to-invalid-url-using-javascript-expected.txt: Added.
  • fast/loader/disallow-redirect-to-invalid-url-using-javascript.html: Added.
  • fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Added.
  • fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh.html: Added.
  • fast/loader/resources/redirect-to-invalid-url-using-javascript.html: Added.
  • fast/loader/resources/redirect-to-invalid-url-using-meta-refresh.html: Added.
2:50 PM Changeset in webkit [170119] by achristensen@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix after r170107.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithMod):
Use non-template sub for armv7s.

2:43 PM Changeset in webkit [170118] by Simon Fraser
  • 17 edits in trunk/Source

Make ScrollingStateNodes refcounted, and other minor cleanup
https://bugs.webkit.org/show_bug.cgi?id=134040

Reviewed by Beth Dakin.

Source/WebCore:
Prepare for future scrolling frame gyrations by making
ScrollingStateNodes refcounted.

Rename ScrollingStateNode::removeChild() to removeDescendant()
since that's what it does. Also rename didRemoveNode() to willRemoveNode()
to better match the behavior.

Use 'auto' in more places.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::syncChildPositions):

  • page/scrolling/ScrollingStateFixedNode.cpp:

(WebCore::ScrollingStateFixedNode::create):
(WebCore::ScrollingStateFixedNode::clone):

  • page/scrolling/ScrollingStateFixedNode.h:
  • page/scrolling/ScrollingStateFrameScrollingNode.cpp:

(WebCore::ScrollingStateFrameScrollingNode::create):
(WebCore::ScrollingStateFrameScrollingNode::clone):

  • page/scrolling/ScrollingStateFrameScrollingNode.h:
  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::cloneAndReset):
(WebCore::ScrollingStateNode::appendChild):
(WebCore::ScrollingStateNode::removeDescendant):
(WebCore::ScrollingStateNode::willBeRemovedFromStateTree):
(WebCore::ScrollingStateNode::removeChild): Deleted.

  • page/scrolling/ScrollingStateNode.h:

(WebCore::ScrollingStateNode::children):

  • page/scrolling/ScrollingStateOverflowScrollingNode.cpp:

(WebCore::ScrollingStateOverflowScrollingNode::create):
(WebCore::ScrollingStateOverflowScrollingNode::clone):

  • page/scrolling/ScrollingStateOverflowScrollingNode.h:
  • page/scrolling/ScrollingStateStickyNode.cpp:

(WebCore::ScrollingStateStickyNode::create):
(WebCore::ScrollingStateStickyNode::clone):

  • page/scrolling/ScrollingStateStickyNode.h:
  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::attachNode):
(WebCore::ScrollingStateTree::removeNode):
(WebCore::ScrollingStateTree::willRemoveNode):
(WebCore::ScrollingStateTree::didRemoveNode): Deleted.

  • page/scrolling/ScrollingStateTree.h:

(WebCore::ScrollingStateTree::setRootStateNode):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::updateTreeFromStateNode):

Source/WebKit2:

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(WebKit::encodeNodeAndDescendants):

2:41 PM Changeset in webkit [170117] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

-[JSContext setName:] leaks NSString
<http://webkit.org/b/134038>

Reviewed by Joseph Pecoraro.

Fixes the following static analyzer warning:

JavaScriptCore/API/JSContext.mm:200:73: warning: Potential leak of an object

JSStringRef nameJS = name ? JSStringCreateWithCFString((CFStringRef)[name copy]) : nullptr;


  • API/JSContext.mm:

(-[JSContext setName:]): Autorelease the copy of |name|.

2:40 PM Changeset in webkit [170116] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Do not add padding when magnifying replaced elements
https://bugs.webkit.org/show_bug.cgi?id=134019

Reviewed by Tim Horton.

Having margins for regular blocks make sense to improve readability. For replaced elements,
we should follow iOS's UI and display edge to edge.

  • UIProcess/ios/SmartMagnificationController.mm:

(WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):

2:38 PM Changeset in webkit [170115] by benjamin@webkit.org
  • 7 edits in trunk/Source/WebKit2

[iOS][WK2] Re-sync didCommitLoadForMainFrame with its corresponding tile update
https://bugs.webkit.org/show_bug.cgi?id=134009

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-18
Reviewed by Tim Horton.

WKWebView assumed the first _didCommitLayerTree: after _didCommitLoadForMainFrame
had the state of the page being loaded.

This is not always true. Sometimes, a set of tiles can be rendering asynchronously while the next
page is loaded, and does not flush the queue until after didCommitLoadForMainFrame is executed.

Tim introduced a transactionID with each layer tree update. This patch uses that to synchronize
WKWebView with the right set of tiles.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLoadForMainFrame]):
(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _updateVisibleContentRects]):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:

(WebKit::RemoteLayerTreeDrawingAreaProxy::nextLayerTreeTransactionID):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::willCommitLayerTree):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):

1:56 PM Changeset in webkit [170114] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Simplify WebCredential
https://bugs.webkit.org/show_bug.cgi?id=134036

Reviewed by Andreas Kling.

  • UIProcess/API/C/WKCredential.cpp:

(WKCredentialCreate):
(WKCredentialCreateWithCertificateInfo):
(WKCredentialCopyUser):

  • UIProcess/Authentication/AuthenticationChallengeProxy.cpp:

(WebKit::AuthenticationChallengeProxy::useCredential):

  • UIProcess/Authentication/WebCredential.cpp:

(WebKit::WebCredential::credential):
(WebKit::WebCredential::core): Deleted.
(WebKit::WebCredential::user): Deleted.

  • UIProcess/Authentication/WebCredential.h:

(WebKit::WebCredential::create): Deleted.

12:40 PM Changeset in webkit [170113] by andersca@apple.com
  • 18 edits in trunk/Source

Adopt modern C++11 loops and fix WebArchive creation functions
https://bugs.webkit.org/show_bug.cgi?id=134032

Reviewed by Andreas Kling.

Source/WebCore:
Use modern loops in a couple of places, fix DocumentLoader::subresources() to return a Vector,
and stop using Vectors of PassRefPtrs.

  • WebCore.exp.in:
  • dom/Document.cpp:

(WebCore::Document::textInserted):
(WebCore::Document::textRemoved):
(WebCore::Document::textNodesMerged):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::subresources):
(WebCore::DocumentLoader::getSubresources): Deleted.

  • loader/DocumentLoader.h:
  • loader/appcache/ApplicationCache.cpp:

(WebCore::ApplicationCache::dump):

  • loader/appcache/ApplicationCache.h:

(WebCore::ApplicationCache::resources):
(WebCore::ApplicationCache::begin): Deleted.
(WebCore::ApplicationCache::end): Deleted.

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::fillResourceList):

  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
(WebCore::ApplicationCacheStorage::store):
(WebCore::ApplicationCacheStorage::empty):
(WebCore::ApplicationCacheStorage::storeCopyOfCache):

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create):
(WebCore::LegacyWebArchive::createFromSelection):

  • loader/archive/cf/LegacyWebArchive.h:
  • xml/XMLHttpRequestProgressEventThrottle.cpp:

(WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):

Source/WebKit/mac:

  • WebView/WebArchive.mm:

(-[WebArchive initWithMainResource:subresources:subframeArchives:]):

  • WebView/WebDataSource.mm:

(-[WebDataSource subresources]):

Source/WebKit2:

  • Shared/APIWebArchive.cpp:

(API::WebArchive::WebArchive):

12:19 PM Changeset in webkit [170112] by jonowells@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION: Style declaration editor: placeholder misaligned
https://bugs.webkit.org/show_bug.cgi?id=134012

Reviewed by Timothy Hatcher.

Removed a rule needed to align the placeholder for selectors in
the style declation text editors with no rules declared in
http://trac.webkit.org/changeset/170077. The necessary
rule has been added back to fix the issue.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.css:

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

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

Give WKWebView on iOS a mobile user agent
https://bugs.webkit.org/show_bug.cgi?id=134034
<rdar://problem/17346489>

Reviewed by Enrica Casucci.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

12:14 PM Changeset in webkit [170110] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

Remove stale include, header was removed in r170101.

Unreviewed build fix.

  • Shared/API/Cocoa/WebKitPrivate.h:
11:57 AM Changeset in webkit [170109] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

DFGGraph::m_doubleConstantMap will not map 0 values correctly.
<https://webkit.org/b/133994>

Reviewed by Geoffrey Garen.

DFGGraph::m_doubleConstantsMap should not use a double as a key to its HashMap,
because it means two unfortunate things:

  • It will probably break for zero.
  • It will think that -0 is the same as +0 under some circumstances, size -0==+0 even though they are distinct values (for example 1/-0 != 1/+0).

The fix is to use std::unordered_map which does not require special empty
and deleted values, and to use the raw bits instead of the double value as
the key.

  • dfg/DFGGraph.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::addressOfDoubleConstant):

11:03 AM Changeset in webkit [170108] by andersca@apple.com
  • 4 edits
    1 add in trunk/Source

Add CF type cast function templates and use them in KeyedDecoder in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=134033

Reviewed by Sam Weinig.

Source/WebKit2:

  • Shared/cf/KeyedDecoder.cpp:

(WebKit::KeyedDecoder::KeyedDecoder):
(WebKit::KeyedDecoder::decodeBytes):
(WebKit::KeyedDecoder::decodeBool):
(WebKit::KeyedDecoder::decodeInt32):
(WebKit::KeyedDecoder::decodeInt64):
(WebKit::KeyedDecoder::decodeFloat):
(WebKit::KeyedDecoder::decodeDouble):
(WebKit::KeyedDecoder::decodeString):
(WebKit::KeyedDecoder::beginObject):
(WebKit::KeyedDecoder::beginArray):
(WebKit::KeyedDecoder::beginArrayElement):

Source/WTF:

  • WTF.xcodeproj/project.pbxproj:
  • wtf/cf/TypeCasts.h: Added.

(WTF::dynamic_cf_cast):
Returns null if the given CFTypeRef object doesn't have the right type.

(WTF::checked_cf_cast):
ASSERTs (with security implication) if the given CFTypeRef object is null or doesn't have the right type.

10:58 AM Changeset in webkit [170107] by achristensen@apple.com
  • 5 edits in trunk/Source

Remove duplicate code using sdiv.
https://bugs.webkit.org/show_bug.cgi?id=133764

Reviewed by Daniel Bates.

Source/JavaScriptCore:

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::sdiv):
Make sdiv a template to match arm64.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileArithMod):
Remove duplicate code that was identical except for sdiv not being a template.

Source/WebCore:

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
Use template sdiv for apple armv7s and arm64.

10:53 AM Changeset in webkit [170106] by zandobersek@gmail.com
  • 12 edits in trunk/Source/WebCore

ScriptExecutionContext::Task parameters should always be rvalue references
https://bugs.webkit.org/show_bug.cgi?id=133615

Reviewed by Darin Adler.

ScriptExecutionContext::Task parameters should be rvalue references as the
passed-in objects are always ScriptExecutionContext::Task rvalues that were
implicitly constructed from a lambda function or rvalues of objects that
derive from ScriptExecutionContext::Task.

This isn't really necessary since ScriptExecutionContext::Task is non-copyable
and we have to use move semantics anyway, but it makes it clear that these
objects are expiring rvalues that must be properly dealt with.

  • dom/Document.cpp:

(WebCore::Document::postTask):

  • dom/Document.h:
  • dom/ScriptExecutionContext.h:
  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerProxy::postTaskToLoader):
(WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::postTask):

  • workers/WorkerGlobalScope.h:
  • workers/WorkerLoaderProxy.h:
  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::postTaskToLoader):
(WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):

  • workers/WorkerMessagingProxy.h:
  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::postTask):
(WebCore::WorkerRunLoop::postTaskAndTerminate):
(WebCore::WorkerRunLoop::postTaskForMode):
(WebCore::WorkerRunLoop::Task::create):
(WebCore::WorkerRunLoop::Task::Task):

  • workers/WorkerRunLoop.h:
10:48 AM Changeset in webkit [170105] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[GTK] Bump the GLib and GTK+ dependencies in jhbuild-wayland.modules
https://bugs.webkit.org/show_bug.cgi?id=133971

Reviewed by Martin Robinson.

  • gtk/jhbuild-wayland.modules: Bump the GTK+ dependency that's required for

building for the Wayland target. The latest 3.12 version is required to match
the xdg_shell protocol version used in Weston 1.5. GLib dependency is bumped
as well due to GTK+ depending on a newer version.

10:21 AM Changeset in webkit [170104] by Lucas Forschler
  • 4 edits in tags/Safari-538.41/Source/WebKit2

Merged r170100.

10:20 AM Changeset in webkit [170103] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[WinCairo] Compile errors when trying to compile CA code.
https://bugs.webkit.org/show_bug.cgi?id=134030

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-06-18
Reviewed by Simon Fraser.

WinCairo does not USE(CA).

  • WebCore.vcxproj/WebCore.vcxproj:
  • platform/graphics/ca/TileController.h:
10:08 AM Changeset in webkit [170102] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

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

Introduced a layouttest failure to the mac bots (Requested by
bradeeoh on #webkit).

Reverted changeset:

"Mark mathml/wbr-in-mroot-crash.html as "Timeout Pass""
https://bugs.webkit.org/show_bug.cgi?id=130353
http://trac.webkit.org/changeset/170099

10:02 AM Changeset in webkit [170101] by mitz@apple.com
  • 6 edits
    1 delete in trunk/Source/WebKit2

Remove the unused _WKBackForwardListDidChangeNotification.

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKBackForwardList.mm:
  • UIProcess/API/Cocoa/WKBackForwardListInternal.h:
  • UIProcess/API/Cocoa/WKBackForwardListPrivate.h: Removed.
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::LoaderClient::didChangeBackForwardList): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
8:09 AM Changeset in webkit [170100] by akling@apple.com
  • 4 edits in trunk/Source/WebKit2

Set main thread QoS policies after IPC initialization.
<https://webkit.org/b/134014>

Something was flipping the QoS level back to "unspecified" after
setting it in the ChildProcess initialization code. Pending a better
understanding of what really happens, move the code to a later stage,
after IPC channels are up and running. Now the priority sticks.

Reviewed by Anders Carlsson.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::initialize):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

6:03 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
12:45 AM Changeset in webkit [170099] by fred.wang@free.fr
  • 3 edits in trunk/LayoutTests

Mark mathml/wbr-in-mroot-crash.html as "Timeout Pass"
https://bugs.webkit.org/show_bug.cgi?id=130353

Unreviewed gardening.

  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
Note: See TracTimeline for information about the timeline view.