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

Timeline



Jul 3, 2014:

10:38 PM Changeset in webkit [170786] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Enhance the Minibrowser to show text search count and close search bar.
https://bugs.webkit.org/show_bug.cgi?id=134486

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-07-03
Reviewed by Gyuyoung Kim.

Use on_search_close_button_clicked() callback to close search bar and on_search_text_found() callback to show search count.

  • MiniBrowser/efl/main.c:

(search_box_show):
(search_box_hide):
(on_search_close_button_clicked):
(on_search_text_found):
(window_create):

6:12 PM Changeset in webkit [170785] by barraclough@apple.com
  • 7 edits in trunk/Source/WebKit2

Should not take background task assertion for NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=134622

Reviewed by Tim Horton.

When the WebContent wants to complete a task in the background we take a process assertion on the child process, and also need to prevent the UI process from suspending.
However for the NetworkProcess we always just hold a process assertion, and don't want this to interfere with UIApp suspension.

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):

  • ProcessAssertion -> ProcessAndUIAssertion
  • UIProcess/ProcessAssertion.cpp:

(WebKit::ProcessAssertion::ProcessAssertion):

  • assignment -> initializer list.

(WebKit::ProcessAndUIAssertion::ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::~ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::setState):

  • added no-op implementation.

(WebKit::ProcessAssertion::~ProcessAssertion): Deleted.

  • UIProcess/ProcessAssertion.h:
    • removed ~ProcessAssertion, added ProcessAndUIAssertion class.
  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::didConnnectToProcess):

  • ProcessAssertion -> ProcessAndUIAssertion
  • UIProcess/ProcessThrottler.h:
    • ProcessAssertion -> ProcessAndUIAssertion
  • UIProcess/ios/ProcessAssertionIOS.mm:

(WebKit::ProcessAssertion::ProcessAssertion):

  • assignment -> initializer list.
  • moved code to manage WKProcessAssertionBackgroundTaskManager

(WebKit::ProcessAssertion::setState):

  • moved code to manage WKProcessAssertionBackgroundTaskManager

(WebKit::ProcessAndUIAssertion::ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::~ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::setState):

  • moved code to manage WKProcessAssertionBackgroundTaskManager from ProcessAssertion.

(WebKit::ProcessAssertion::~ProcessAssertion): Deleted.

  • delete - moved code to manage WKProcessAssertionBackgroundTaskManager
6:09 PM Changeset in webkit [170784] by Simon Fraser
  • 5 edits in trunk/Source/WebKit2

Clean up Brady's mess on iOS.

  • Platform/mac/StringUtilities.h:
  • Platform/mac/StringUtilities.mm:
5:48 PM Changeset in webkit [170783] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

[iOS WK2] Compositing layers draw outside page bounds
https://bugs.webkit.org/show_bug.cgi?id=134619
<rdar://problem/16953222>

Reviewed by Benjamin Poulain.

With the new rubber-banding behavior, we no longer have the root content layer clipping all
the web layers, but this resulted in web layers which were moved outside the viewport by CSS
transforms not being clipped.

Fix by adding a clipping layer inside the scroll view, above _rootContentView. This layer
normally has the same bounds as the content, but when rubber-banding or pinching,
it takes the union of the content bounds and the rect used for fixed positioning.
To make scrolling work as expected in this scenario, when it has non-zero offset, it
has to compensate by setting its bounds origin.

The bounds of the clipping layer are updated on scrolling/zooming, and when the
layer commit tells us that the content size changed.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateScrollViewBackground]):

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView initWithFrame:context:configuration:webView:]):
(-[WKContentView updateFixedClippingView:]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
(-[WKContentView _didCommitLayerTree:]):

5:39 PM Changeset in webkit [170782] by beidson@apple.com
  • 15 edits
    1 copy
    1 add in trunk/Source

When showing the selection menu, include menu options for all selected phone numbers.
<rdar://problem/16983434>, <rdar://problem/16874568>, and https://bugs.webkit.org/show_bug.cgi?id=134613

Reviewed by Tim Horton.

Source/WebCore:

  • English.lproj/Localizable.strings:
  • dom/Range.cpp:

(WebCore::rangesOverlap): Fix reversed arguments that caused some types of overlaps to not be detected.

Source/WebKit2:
Move some telephone number menu logic from WebKitSystemInterface here.
Also provide utility to get just the one menu item relevant to a telephone number.

  • Platform/mac/MenuUtilities.h:
  • Platform/mac/MenuUtilities.mm: Added.

(WebKit::menuItemForTelephoneNumber):
(WebKit::menuItemsForTelephoneNumber):

  • Platform/mac/StringUtilities.h:
  • Platform/mac/StringUtilities.mm:

(WebKit::formattedPhoneNumberString): Return a localized formatted phone number.

Add a member to track the selected phone numbers:

  • Shared/ContextMenuContextData.h:

(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::selectedTelephoneNumbers):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::setupServicesMenu): Also add menu items for each phone number that is

in the selection.

Switch away from a WKSI method, and remove a lot of unneeded forward declarations and soft linking:

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::showTelephoneNumberMenu):
(WebKit::WebPageProxy::showSelectionServiceMenu):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::drawSelectionHighlight):
(WebKit::ServicesOverlayController::handleClick): Pass the phone numbers along.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::handleSelectionServiceClick): Pass the phone numbers along.

5:36 PM Changeset in webkit [170781] by barraclough@apple.com
  • 2 edits in trunk/Source/WebKit2

WKProcessAssertionBackgroundTaskManager should clear member if task expires
https://bugs.webkit.org/show_bug.cgi?id=134618

Reviewed by Anders Carlson.

Failure to do so results in a warning, and could result in us erroneously completing a background task too soon.

  • UIProcess/ios/ProcessAssertionIOS.mm:

(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):

  • remove local variable, _backgroundTask = UIBackgroundTaskInvalid;
5:15 PM Changeset in webkit [170780] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

Unreviewed iOS build fix for r170774.

Remove some unnecessary WTF::moves on iOS:
error: static_assert failed "T is not an lvalue reference; move() is unnecessary."

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::getQueuedTouchEventsForPage):
(WebKit::EventDispatcher::touchEvent):

5:08 PM Changeset in webkit [170779] by andersca@apple.com
  • 3 edits
    1 add in trunk/Source/WebKit2

Try to fix the iOS build.

Add WebPageProxyCocoa.mm for code shared between iOS and OS X. Put the recent searches save/restore code there.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm: Added.

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

  • UIProcess/mac/WebPageProxyMac.mm:
  • WebKit2.xcodeproj/project.pbxproj:
4:47 PM Changeset in webkit [170778] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WTF

Unreivewed, fix build break on EFL and GTK since r170767.

  • wtf/CMakeLists.txt: Exclude Decoder.h and Encoder.h because those files were removed.
4:46 PM Changeset in webkit [170777] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

4:31 PM Changeset in webkit [170776] by mitz@apple.com
  • 14 edits in trunk/Source/WebKit2

<rdar://problem/16337741> The UI process needs to track the number of HTTP subresource loads in progress (or at least whether there are any)
https://bugs.webkit.org/show_bug.cgi?id=134615

Reviewed by Anders Carlsson.

Added a _networkRequestsInProgress boolean property to WKWebView.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm: Added no-op overrides of new

PageLoadStateObserver member functions.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _networkRequestsInProgress]): New getter that gets this state from the
PageLoadState.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h: Declared new property.
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::willChangeNetworkRequestsInProgress):: Override this new
PageLoadState::Observer member function by sending the appropriate KVO change message to the
WKWebView.
(WebKit::NavigationState::didChangeNetworkRequestsInProgress): Ditto.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::commitChanges): Check for changes to networkRequestsInProgress
and call the observers if needed.
(WebKit::PageLoadState::reset): Reset networkRequestsInProgress in the uncommitted state.
(WebKit::PageLoadState::setNetworkRequestsInProgress): Set networkRequestsInProgress in the
uncommitted state.

  • UIProcess/PageLoadState.h:

(WebKit::PageLoadState::networkRequestsInProgress): Added this getter.
(WebKit::PageLoadState::Data::Data): Initialize new networkRequestsInProgress member.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setNetworkRequestsInProgress): Added. Updates the PageLoadState.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Added SetNetworkRequestsInProgress message.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest): Call
WebPage::addResourceRequest.
(WebKit::WebFrameLoaderClient::dispatchDidFinishLoading): Call
WebPage::removeResourceRequest.
(WebKit::WebFrameLoaderClient::dispatchDidFailLoading): Ditto.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::addResourceRequest): Added. If the new request is for an HTTP-family URL,
add its identifier to the set of network resourece request identifiers. If the set was
previously empty, send the WebPageProxy a message.
(WebKit::WebPage::removeResourceRequest): Added. Remove the identifier from the set. If it
becomes empty, send the WebPageProxy a message.

  • WebProcess/WebPage/WebPage.h:
3:31 PM Changeset in webkit [170775] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Remove two unused functions
https://bugs.webkit.org/show_bug.cgi?id=134614

Reviewed by Andreas Kling.

  • UIProcess/LegacySessionStateCoding.h:
  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::encodeLegacySessionHistoryEntryData): Deleted.
(WebKit::decodeLegacySessionHistoryEntryData): Deleted.

3:13 PM Changeset in webkit [170774] by dbates@webkit.org
  • 689 edits in trunk

Add WTF::move()
https://bugs.webkit.org/show_bug.cgi?id=134500

Source/JavaScriptCore:
Rubber-stamped by Anders Carlsson.

Substitute WTF::move() for std::move().

  • bytecode/CodeBlock.h:
  • bytecode/UnlinkedCodeBlock.cpp:
  • bytecompiler/BytecodeGenerator.cpp:
  • dfg/DFGGraph.cpp:
  • dfg/DFGJITCompiler.cpp:
  • dfg/DFGStackLayoutPhase.cpp:
  • dfg/DFGWorklist.cpp:
  • heap/DelayedReleaseScope.h:
  • heap/HeapInlines.h:

[...]

Source/WebCore:
Rubber-stamped by Anders Carlsson.

Substitute WTF::move() for std::move().

  • Modules/battery/NavigatorBattery.cpp:
  • Modules/encryptedmedia/MediaKeys.cpp:
  • Modules/gamepad/NavigatorGamepad.cpp:
  • Modules/gamepad/deprecated/NavigatorGamepad.cpp:
  • Modules/geolocation/NavigatorGeolocation.cpp:
  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
  • Modules/indexeddb/IDBDatabaseBackend.cpp:
  • Modules/indexeddb/IDBDatabaseBackend.h:

[...]

Source/WebKit/ios:
Rubber-stamped by Anders Carlsson.

Substitute WTF::move() for std::move().

  • WebCoreSupport/WebFixedPositionContent.mm:

(-[WebFixedPositionContent setViewportConstrainedLayers:stickyContainerMap:]):

  • WebCoreSupport/WebInspectorClientIOS.mm:

(WebInspectorFrontendClient::WebInspectorFrontendClient):

Source/WebKit/mac:
Rubber-stamped by Anders Carlsson.

Substitute WTF::move() for std::move().

  • History/WebHistoryItem.mm:

(-[WebHistoryItem initFromDictionaryRepresentation:]):

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:

(WebKit::NetscapePluginInstanceProxy::setCurrentReply):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebFrameLoaderClient::dispatchWillSubmitForm):

  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorClient::openInspectorFrontend):
(WebInspectorFrontendClient::WebInspectorFrontendClient):

  • WebView/WebArchive.mm:

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

Source/WebKit/win:
Rubber-stamped by Anders Carlsson.

Substitute WTF::move() for std::move().

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorClient::openInspectorFrontend):
(WebInspectorFrontendClient::WebInspectorFrontendClient):

  • WebHistory.cpp:

(createUserInfoFromArray):

  • WebHistoryItem.cpp:

(WebHistoryItem::initFromDictionaryRepresentation):

  • WebView.cpp:

(WebView::addToDirtyRegion):
(WebView::scrollBackingStore):

Source/WebKit2:
Rubber-stamped by Anders Carlsson.

Substitute WTF::move() for std::move().

  • DatabaseProcess/DatabaseProcess.cpp:
  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:
  • Platform/IPC/ArgumentCoders.h:
  • Platform/IPC/ArgumentDecoder.cpp:
  • Platform/IPC/Connection.cpp:
  • Platform/IPC/Connection.h:

[...]

Source/WTF:
Reviewed by Darin Adler.

Substitution of WTF::move() for std::move() rubber-stamped by Anders Carlsson.

Implement WTF::move(), a replacement for std::move(). WTF::move() is less error
prone than std::move() as it compile asserts that its argument is a non-const
lvalue reference before ultimately casting it to a rvalue reference (via std::move).

  • wtf/Deque.h: Substitute WTF::move() for std::move().
  • wtf/HashMap.h: Ditto.
  • wtf/HashSet.h: Ditto.
  • wtf/HashTable.h: Ditto.
  • wtf/IteratorAdaptors.h: Ditto.
  • wtf/IteratorRange.h: Ditto.
  • wtf/ListHashSet.h: Ditto.
  • wtf/MainThread.cpp: Ditto.

[...]

  • wtf/StdLibExtras.h:

(WTF::move): Added.
[...]

Tools:
Rubber-stamped by Anders Carlsson.

Substitute WTF::move() for std::move().

  • DumpRenderTree/win/DRTDataObject.cpp:
  • TestWebKitAPI/Tests/WTF/HashMap.cpp:
  • TestWebKitAPI/Tests/WTF/HashSet.cpp:
  • TestWebKitAPI/Tests/WTF/RefPtr.cpp:
  • TestWebKitAPI/Tests/WTF/Vector.cpp:
  • TestWebKitAPI/Tests/WTF/WTFString.cpp:
  • TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm: Added FIXME comments that explain that some of the sub-tests

aren't actually testing move semantics in tests: MoveAssignmentFromSameType, MoveAssignmentFromSimilarType,
ConstructionFromSameType, and ConstructionFromSimilarType.

  • TestWebKitAPI/Tests/WebCore/CalculationValue.cpp:
3:11 PM Changeset in webkit [170773] by benjamin@webkit.org
  • 6 edits in trunk/Source

[iOS][WK2] Fix small bugs of dynamicViewportSizeUpdate that were causing inaccuracies in the computed target
https://bugs.webkit.org/show_bug.cgi?id=134582

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

Source/WebCore:

  • WebCore.exp.in:
  • platform/ScrollView.h:

(WebCore::ScrollView::unobscuredContentSize):

  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::unobscuredContentRect):
(WebCore::ScrollView::setUnobscuredContentSize):

Source/WebKit2:
This patch fixes two small bugs that were causing "jumpiness" on animated resize:
1) The new scale was less accurate than the target scale, making the WebProcess force a worse scale on the content.
2) The code putting back the rects in view was ignoring the obscured insets, constraining the scroll position more

than it should be.

The first problem was cause by a series of rounding issues accumulating to the fact that "scale != targetScale"
was almost never true.

The first issue is that the unobscured content size was stored in integer coordinates. Because of that, it was
impossible to determine accurately how much content is in the view.
The outcome was that visibleHorizontalFraction was very inaccurate compared to what the UIProcess computed.

Another issue affecting the scale is that scaleAfterViewportWidthChange was computing the widthToKeepInView
on floating point. Since ARM64 does all those computations on doubles in the UIProcess, the value would be quite
different from the received targetScale.

Finally, the code uses withinEpsilon() instead of a strict equality to reduce the effect of rounding errors.

For the second issue, the problem was that I was bounding the exposed rect to the page bounds. It is completely
valid to have an exposed rect outside the page bounds, that area is just under the obscured insets.

On the other hand, the unobscured rect needs to be within the bounds as we do not want to rotate to a rubberbanding
position. The fix is simply to put the right rect into bounds, and the horizontal/vertical adjustement applies on
both rects.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::scaleAfterViewportWidthChange):
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::updateVisibleContentRects):

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

Fix build.

  • UIProcess/mac/WebPageProxyMac.mm:
2:34 PM Changeset in webkit [170771] by bshafiei@apple.com
  • 4 edits in tags/Safari-538.44.1/Source/WebCore

Merged r170762.

2:29 PM Changeset in webkit [170770] by bshafiei@apple.com
  • 4 edits in tags/Safari-538.44.1/Source/WebCore

Relanding r170578, incorrect roll out was done in r170742.

2:04 PM Changeset in webkit [170769] by fpizlo@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

SSA DCE should process blocks in forward order
https://bugs.webkit.org/show_bug.cgi?id=134611

Reviewed by Andreas Kling.

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::run):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::addExitArgumentForNode):

  • tests/stress/dead-value-with-mov-hint-in-another-block.js: Added.

(foo):

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

Get rid of WebPageProxyCF.cpp
https://bugs.webkit.org/show_bug.cgi?id=134609

Reviewed by Dan Bernstein.

  • UIProcess/cf/WebPageProxyCF.cpp: Removed.
  • UIProcess/mac/WebPageProxyMac.mm:

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

  • WebKit2.xcodeproj/project.pbxproj:
1:46 PM Changeset in webkit [170767] by andersca@apple.com
  • 6 edits
    2 deletes in trunk/Source

Get rid of Encoder.h and Decoder.h from WTF
https://bugs.webkit.org/show_bug.cgi?id=134600

Reviewed by Darin Adler.

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/Decoder.h: Removed.
  • wtf/Encoder.h: Removed.
1:22 PM Changeset in webkit [170766] by fpizlo@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

JSActivation::symbolTablePut() should invalidate variable watchpoints
https://bugs.webkit.org/show_bug.cgi?id=134602

Reviewed by Oliver Hunt.

Usually stores to captured variables cause us to invalidate the variable watchpoint because CodeBlock does so
during linking - we essentially assume that if it's at all possible for an inner function to store to a
variable we declare then this variable cannot be a constant. But this misses the dynamic store case, i.e.
JSActivation::symbolTablePut(). Part of the problem here is that JSActivation duplicates
JSSymbolTableObject's symbolTablePut() logic, which did have the invalidation. This patch keeps that code
duplicated, but fixes JSActivation::symbolTablePut() to do the right thing.

  • runtime/JSActivation.cpp:

(JSC::JSActivation::symbolTablePut):

  • runtime/JSSymbolTableObject.h:

(JSC::symbolTablePut):

  • tests/stress/constant-closure-var-with-dynamic-invalidation.js: Added.

(.):

1:10 PM Changeset in webkit [170765] by Brent Fulgham
  • 5 edits
    2 adds in trunk

[Mac] WebKit1 WebView iframe not responding to scroll gestures
https://bugs.webkit.org/show_bug.cgi?id=134569
<rdar://problem/17309008>

Reviewed by Simon Fraser.

Source/WebCore:
New test: platform/mac/fast/scrolling/scroll-iframe-fragment.html

WK1 scrollable areas are implemented on top of PlatformWidget (i.e., NSView) objects. They only
perform a scroll operation if the EventHandler::handleWheelEvent method returns 'false', indicating
that the Cocoa layer should do scrolling work. This is in contrast to WK2, where the scrolling is
handled separately and we return 'true' from EventHandler::handleWheelEvent to indicate that the
scroll event has been handled and that no other work is needed. This mismatch in the meaning of
EventHandler::handleWheelEvent means that WK1 views do not properly handle scroll wheel events.

To correct this, we need to see if we are acting on an Element backed by a PlatformWidget. When we
are (the WK1 case) we want to return 'false' to instruct the Cocoa object to do the scroll operation.
To implement proper latching behavior in WK1, we must return 'true' in the case where we are latched
to a PlatformWidget, and that PlatformWidget did not start the scroll gesture at the edge of
the region in the dominant scroll direction.

Finally, additional logic was needed to determine whether the PlatformWidget is scrolled to the
edge in the dominant scroll direction.

  • page/EventHandler.cpp:

(WebCore::EventHandler::platformCompleteWheelEvent): Added stub.
(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Added stub.
(WebCore::EventHandler::handleWheelEvent): Call new platformCompletePlatformWidgetWheelEvent if the
event was handled for a PlatformWidget.

  • page/EventHandler.h:
  • page/mac/EventHandlerMac.mm:

(WebCore::widgetForEventTarget): Added helper function.
(WebCore::scrollViewForEventTarget): Added helper function.
(WebCore::eventTargetIsPlatformWidget): Added helper function.
(WebCore::EventHandler::platformPrepareForWheelEvents): Check whether we are at a scrolled edge
for the NSView (PlatformWidget) case.
(WebCore::EventHandler::platformCompleteWheelEvent): Return 'false' when handling WK1-style scrolls.
(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Added. We generally want to
return false so the PlatformWidget handles scrolling, except in the case where we are latched to
a PlatformWidget, which has already performed its scroll, and we want to avoid propegating a
scroll event to an enclosing region.

LayoutTests:

  • platform/mac/fast/scrolling/scroll-iframe-fragment-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-iframe-fragment.html: Added.
1:06 PM Changeset in webkit [170764] by ryuan.choi@samsung.com
  • 4 edits in trunk

Broken build with build-webkit --no-video
https://bugs.webkit.org/show_bug.cgi?id=134587

Reviewed by Darin Adler.

MEDIA_CONTROLS_SCRIPT requires VIDEO enabled.

.:

  • Source/cmake/WebKitFeatures.cmake: Added the dependency for ENABLE_MEDIA_CONTROLS_SCRIPT.

Source/WTF:

  • wtf/FeatureDefines.h: Added error message for dependency failure.
1:01 PM Changeset in webkit [170763] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2] Revise the flat find indicator secondary highlight shadows
https://bugs.webkit.org/show_bug.cgi?id=134607
<rdar://problem/17554828>

Reviewed by Brady Eidson.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::drawRect):
Bring back the secondary highlight shadow, with new constants.

12:48 PM Changeset in webkit [170762] by psolanki@apple.com
  • 4 edits in trunk/Source/WebCore

Preserve old behavior of creating an NSURLRequest of the exact same type as passed to us
https://bugs.webkit.org/show_bug.cgi?id=134605
<rdar://problem/17544641>

Reviewed by Andreas Kling.

We have client code that passes us a subclass of NSURLRequest to load resource. Later when
we call willSendRequest, they test to make sure they get an object of the same type. My
optimization in r170642 broke this path when I cleared out the NSURLRequest object. We
already had code in updateNSURLRequest() that was taking this quirk into account but I broke
that. Fix it by reverting to old behavior for such clients.

No new tests though we need one. I will add it later.

  • platform/network/cf/ResourceRequest.h:
  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
(WebCore::ResourceRequest::setStorageSession):

  • platform/network/ios/ResourceRequestIOS.mm:

(WebCore::ResourceRequest::updateNSURLRequest):
(WebCore::ResourceRequest::clearOrUpdateNSURLRequest):

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

[iOS][WK2] Sometimes the swipe snapshot stays up too long
https://bugs.webkit.org/show_bug.cgi?id=134506
<rdar://problem/17496803>

Reviewed by Simon Fraser.

Implement a transaction callback mechanism.
The UI process can register a callback at any point, generally immediately after sending a message to the Web process.
It will then send another message (in-order) with the callback ID to the Web process, which will put it into the next transaction
(scheduling a new one if needed). When the transaction comes back to the UI process, the callbacks are performed.
This ensures that the callback fires alongside a commit that includes the results of whatever messages were sent before it was registered.
For now, all callbacks are fired just before committing layer changes, but it's possible future patches will want post-commit callbacks.

Make use of this to remove the ViewGestureControllerIOS snapshots at the right time.

  • Shared/mac/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::callbackIDs):
(WebKit::RemoteLayerTreeTransaction::setCallbackIDs):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
Add a vector of callback IDs to the transaction; encode and decode as appropriate.

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::dispatchAfterEnsuringDrawing):
(WebKit::DrawingAreaProxy::lastVisibleTransactionID): Deleted.

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

(WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing):
Add dispatchAfterEnsuringDrawing, which takes a function.
When a callback is added, we send the callback ID to the Web process via the AddTransactionCallbackID message.
Perform callbacks listed in the incoming transaction's vector of callback IDs.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::addTransactionCallbackID):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
(WebKit::RemoteLayerTreeDrawingArea::addTransactionCallbackID):
Keep track of the pending callback IDs on the drawing area, and move them into the transaction.
We schedule a flush when installing a transaction callback on the premise that
sometimes the action (goToBackForwardListItem in the swipe case) might have already occurred
and been committed by the time the Web process receives AddTransactionCallbackID, so we need
to cause another commit to send the callbacks across. If said commit is still pending, this is a no-op.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(allViewGestureControllers):
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::~ViewGestureController):
(WebKit::ViewGestureController::endSwipeGesture):
(WebKit::ViewGestureController::willCommitPostSwipeTransitionLayerTree):
(WebKit::ViewGestureController::setRenderTreeSize):

  • UIProcess/mac/ViewGestureController.h:

Keep a side-map of page IDs to ViewGestureControllers, so that we can safely get back to
our ViewGestureController from the callback.

When the callback fires, if it succeeded, set m_shouldRemoveSnapshotWhenTargetRenderTreeSizeHit,
so that the commit (which is about to occur immediately after the callback returns) which calls
setRenderTreeSize will (perhaps) remove the snapshot.

If it failed, we remove the snapshot immediately, as this usually happens if the Web process crashed.

12:16 PM Changeset in webkit [170760] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Followup to "rects sent to ServicesOverlayController are wrong"
https://bugs.webkit.org/show_bug.cgi?id=134568

Rubberstamped by Tim Horton.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::drawSelectionHighlight): Don’t check to see if the

proposed rect intersects the dirty rect. We always need to include all rects that form
the selection when creating the DDHighlight.

12:04 PM Changeset in webkit [170759] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

[WK2] RemoteLayerTreeDrawingAreaProxy re-checks a preference every commit for no reason
https://bugs.webkit.org/show_bug.cgi?id=134586

Reviewed by Benjamin Poulain.

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::setShouldShowDebugIndicator):
(WebKit::DrawingAreaProxy::showDebugIndicator): Deleted.
(WebKit::DrawingAreaProxy::isShowingDebugIndicator): Remove this, nobody is using it.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::preferencesDidChange):

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

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::setShouldShowDebugIndicator):
(WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator): Deleted.
Check the debug indicator pref at construction time, and update the state when it changes.
Checking it every commit was surprisingly expensive.

10:56 AM Changeset in webkit [170758] by beidson@apple.com
  • 16 edits in trunk/Source

Selection rects sent to ServicesOverlayController are wrong.
<rdar://problem/16727796> and https://bugs.webkit.org/show_bug.cgi?id=134568

Reviewed by Darin Adler (and Tim Horton and Ryosuke Niwa).

Source/WebCore:

  • WebCore.exp.in:

Update the gatherer to keep GapRects separate from LayoutRects:

  • editing/SelectionRectGatherer.cpp:

(WebCore::SelectionRectGatherer::addRects):
(WebCore::SelectionRectGatherer::Notifier::~Notifier):
(WebCore::SelectionRectGatherer::clearAndCreateNotifier):

  • editing/SelectionRectGatherer.h:
  • page/EditorClient.h:

(WebCore::EditorClient::selectionRectsDidChange): Updated to take LayoutRects and GapRects separately.

Change RenderSelectionInfo to also hang on to the individual rects that formed the final bounding rect:

  • rendering/RenderSelectionInfo.h:

(WebCore::RenderSelectionInfo::RenderSelectionInfo): If the RenderObject is a RenderText, then call

collectSelectionRectsForLineBoxes instead of selectionRectForRepaint.

(WebCore::RenderSelectionInfo::rects):

  • rendering/RenderText.cpp:

(WebCore::RenderText::collectSelectionRectsForLineBoxes): Added
(WebCore::RenderText::selectionRectForRepaint):

  • rendering/RenderText.h:
  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::collectSelectionRectsForRange): Added

  • rendering/RenderTextLineBoxes.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::setSubtreeSelection): Add the list of rects to the gatherer instead of just

the bounding rect.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::selectionRectsDidChange): Also pass the GapRects to the ServicesOverlayController.

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebPage/ServicesOverlayController.h:
  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::expandForGap):
(WebKit::compactRectsWithGapRects): Combine 3+ rects down to exactly 3 rects, then expand them based on GapRects.
(WebKit::ServicesOverlayController::selectionRectsDidChange): Call compactRectsWithGapRects, then reverse the list.
(WebKit::ServicesOverlayController::drawSelectionHighlight): Tell data detectors to flip this.
(WebKit::ServicesOverlayController::drawTelephoneNumberHighlight): Tell data detectors to flip this.
(WebKit::ServicesOverlayController::drawCurrentHighlight): No need to flip this anymore.

10:13 AM Changeset in webkit [170757] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Ensure frame creation messages get through to UI process
https://bugs.webkit.org/show_bug.cgi?id=134591
<rdar://problem/16918218>

Reviewed by Anders Carlsson.

If we are middle of handling a synchronous message from UI process a frame creation message back gets delayed.
The subsequent synchronous DecidePolicyForNavigationAction message expects that the frame creation
message has arrived first and fails.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::createWithCoreMainFrame):
(WebKit::WebFrame::createSubframe):

Send messages with DispatchMessageEvenWhenWaitingForSyncReply so they always go through in order.

10:09 AM Changeset in webkit [170756] by andersca@apple.com
  • 4 edits
    4 deletes in trunk/Source/WebKit2

Get rid of DecoderAdapter and EncoderAdapter
https://bugs.webkit.org/show_bug.cgi?id=134598

Reviewed by Andreas Kling.

  • CMakeLists.txt:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/DecoderAdapter.cpp: Removed.
  • WebProcess/WebPage/DecoderAdapter.h: Removed.
  • WebProcess/WebPage/EncoderAdapter.cpp: Removed.
  • WebProcess/WebPage/EncoderAdapter.h: Removed.
  • WebProcess/WebPage/WebPage.cpp:
10:05 AM Changeset in webkit [170755] by andersca@apple.com
  • 6 edits in trunk/Source

Stop using EncoderAdapter/DecoderAdapter for FormData
https://bugs.webkit.org/show_bug.cgi?id=134571

Reviewed by Andreas Kling.

Source/WebCore:

  • WebCore.exp.in:
  • platform/network/FormData.cpp:

(WebCore::encodeElement): Deleted.
(WebCore::decodeElement): Deleted.
(WebCore::FormData::encode): Deleted.
(WebCore::FormData::decode): Deleted.

  • platform/network/FormData.h:

(WebCore::FormDataElement::encode):
(WebCore::FormDataElement::decode):
(WebCore::FormData::encode):
(WebCore::FormData::decode):

Source/WebKit2:

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):

9:19 AM Changeset in webkit [170754] by beidson@apple.com
  • 8 edits in trunk/Source

Possible crash in IconDatabase in WebCore::IconDatabase::dispatchDidRemoveAllIconsOnMainThread
<rdar://problem/17437687> and https://bugs.webkit.org/show_bug.cgi?id=134517

Reviewed by Eric Carlson.

Source/WebCore:
Since WebCore::IconDatabase is not RefCounted there’s no obvious way to keep it alive until it is
truly no longer needed.

This isn’t generally a problem because they are usually a singleton that lasts the lifetime of the process.

In the WebKit2 case, WebCore::IconDatabases can come and go as their owning WebIconDatabases come and go.

So we can rely on WebIconDatabase to handle the lifetime appropriately.

  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::close): If the database is actually closed, notify the client.
(WebCore::IconDatabase::IconDatabase):
(WebCore::IconDatabase::isOpen): Take into account whether there’s any main thread callbacks, plus what

is covered by isOpenBesidesMainThreadCallbacks.

(WebCore::IconDatabase::isOpenBesidesMainThreadCallbacks): Take into account whether the sync thread

is still running and whether or not the database file is still open.

(WebCore::IconDatabase::checkClosedAfterMainThreadCallback): Checks to see if the database has just

become 100% closed and - if so - notify the client.

(WebCore::IconDatabase::dispatchDidImportIconURLForPageURLOnMainThread): Updated to increment the main thread

callback count and to call checkClosedAfterMainThreadCallback when done.

(WebCore::IconDatabase::dispatchDidImportIconDataForPageURLOnMainThread): Ditto.
(WebCore::IconDatabase::dispatchDidRemoveAllIconsOnMainThread): Ditto.
(WebCore::IconDatabase::dispatchDidFinishURLImportOnMainThread): Ditto.

  • loader/icon/IconDatabase.h:
  • loader/icon/IconDatabaseClient.h:

(WebCore::IconDatabaseClient::didClose): Added. For the IconDatabase to tell its client it is 100% closed.

Source/WebKit2:

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::~WebContext): Instead of directly deref’ing the WebIconDatabase, ask it to

deref itself when appropriate.

  • UIProcess/WebIconDatabase.cpp:

(WebKit::WebIconDatabase::WebIconDatabase):
(WebKit::WebIconDatabase::didClose): If this WebIconDatabase is supposed to deref itself when

appropriate, do so now.

(WebKit::WebIconDatabase::derefWhenAppropriate): If the WebCore::IconDatabase is still open then

defer this deref.

  • UIProcess/WebIconDatabase.h:
8:46 AM Changeset in webkit [170753] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: VoiceOver does not read aria-expanded attribute on controls in Safari
https://bugs.webkit.org/show_bug.cgi?id=134527

Reviewed by Mario Sanchez Prada.

Expose whether the ARIA expanded property is present or not.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilitySupportsARIAExpanded]):

7:55 AM Changeset in webkit [170752] by llango.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

[JavaScriptCore] Add --cmakeargs option to build-jsc.
https://bugs.webkit.org/show_bug.cgi?id=134590

Reviewed by Ryosuke Niwa.

  • Scripts/build-jsc:
7:17 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
6:36 AM Changeset in webkit [170751] by Carlos Garcia Campos
  • 2 edits in trunk

[GTK] The list of features shown by cmake is not accurate
https://bugs.webkit.org/show_bug.cgi?id=134588

Reviewed by Gustavo Noronha Silva.

The problem is that some options might change after the feature
list has been printed.

  • Source/cmake/OptionsGTK.cmake: Find package dependencies before

setting the default values of features and set WEBGL value
depending on the dependencies, and API_TEST depending on whether
developer mode is enabled or not.

5:49 AM Changeset in webkit [170750] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add option to specify jsc args in run-sunspider.
https://bugs.webkit.org/show_bug.cgi?id=134341

Patch by Gergo Balogh <gbalogh.u-szeged@partner.samsung.com> on 2014-07-03
Reviewed by Csaba Osztrogonác.

  • Scripts/run-sunspider:
1:04 AM Changeset in webkit [170749] by ryuan.choi@samsung.com
  • 4 edits in trunk

[CMAKE] Add WEBKIT_OPTION_DEPEND macro to resolve macro dependency
https://bugs.webkit.org/show_bug.cgi?id=134578

Reviewed by Gyuyoung Kim.

Some options depend on another option such as ENABLE_VIDEO_TRACK and ENABLE_VIDEO.
This patch adds WEBKIT_OPTION_DEPEND to check the depending option and
disable related option if it is not ON.

  • Source/cmake/OptionsEfl.cmake: Removed hack for option dependency.
  • Source/cmake/OptionsGTK.cmake: Ditto.
  • Source/cmake/WebKitFeatures.cmake: Added WEBKIT_OPTION_DEPEND macro.
12:56 AM Changeset in webkit [170748] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r170676): [GTK] UI process crashes when the Web Process crashes
https://bugs.webkit.org/show_bug.cgi?id=134541

Reviewed by Gyuyoung Kim.

It happens when attaching a new web process, because it tries to
encode a null SessionState.

  • UIProcess/LegacySessionStateCodingNone.cpp:

(WebKit::encodeLegacySessionState): Return an empty API::Data
object instead of nullptr.
(WebKit::encodeLegacySessionHistoryEntryData): Ditto.

12:53 AM Changeset in webkit [170747] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

REGRESSION(r170743): [GTK] [EFL] Build broken.
https://bugs.webkit.org/show_bug.cgi?id=134585

Reviewed by Philippe Normand.

Add ENABLE(PRIMARY_SNAPSHOTTED_PLUGIN_HEURISTIC) guards where needed.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::initializePlugin):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):

Jul 2, 2014:

9:25 PM Changeset in webkit [170746] by jhoneycutt@apple.com
  • 4 edits in trunk/Source/WebCore

Removing an element with CSS -webkit-overflow-scrolling: touch breaks
subsequent touch events

<https://bugs.webkit.org/show_bug.cgi?id=134584>
<rdar://problem/17202021>

This issue is caused by the order of teardown for RenderLayers.

RenderLayer clears its m_backing in its destructor, calling the
RenderLayerBacking destructor. The RenderLayerBacking destructor calls
RenderLayerCompositor::willRemoveScrollingLayer(), which tries to
access the RenderLayer's backing that has already been cleared. This
causes us to skip the call to ChromeClient::removeScrollingLayer(),
resulting in a stale view that can block touch events.

Reviewed by Simon Fraser.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateScrollingLayers):
When calling willRemoveScrollingLayerWithBacking(), pass both the layer
and the RenderLayerBacking.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::willRemoveScrollingLayerWithBacking):
Renamed. Use the passed RenderLayerBacking, as the RenderLayer's
backing might have already been cleared.
(WebCore::RenderLayerCompositor::willRemoveScrollingLayer): Deleted.

  • rendering/RenderLayerCompositor.h:

Renamed willRemoveScrollingLayer() to
willRemoveScrollingLayerWithBacking() and added a parameter.

9:03 PM Changeset in webkit [170745] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk

Tools: [GTK] Unreviewed gardening.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-07-02

  • Scripts/run-gtk-tests:

(TestRunner): Report and mark flaky test WebKit2Gtk/TestCookieManager:persistent-storage

LayoutTests: Unreviewed gardening.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-07-02

  • platform/gtk/TestExpectations: Report and mark several flaky tests.
  • platform/gtk/fast/text/indic-expected.txt: Added. Add baseline for GTK.
  • platform/mac-wk2/TestExpectations: Report and mark flaky test http/tests/cache/iframe-304-crash.html.
8:52 PM Changeset in webkit [170744] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Make is safe/fast to use the animated resize API without resizing anything
https://bugs.webkit.org/show_bug.cgi?id=134570

Reviewed by Enrica Casucci.

Today, if someone calls _beginAnimatedResizeWithUpdates-_endAnimatedResize, it is always a very heavy process
forcing a relayout and can cause synchronous operations.

We should not force the caller of the API to maintain their own state tracking, we should do that for them.

With this patch, we track everything we need for a resize and only do the heavy lifting if anything has actually changed.

  • UIProcess/API/Cocoa/WKWebView.mm:

(activeMinimumLayoutSize):
(activeMinimumLayoutSizeForMinimalUI):
(activeMaximumUnobscuredSize):
(activeOrientation):
This code is used in both _didRelaunchProcess and _beginAnimatedResizeWithUpdates. It is moved to static functions
to avoid having it in two places.

(-[WKWebView _didRelaunchProcess]):

(-[WKWebView _beginAnimatedResizeWithUpdates:]):
The updates now goes like this:
1) Set _isAnimatingResize to prevent the undesired side effects updateBlock() if we really need to resize.
2) Get all the original values before calling the update block.
3) Call the update block.
4a) If nothing useful for resize has changed, reset _isAnimatingResize to false.

We also need to update the visible content rect because the update block may have changed something unrelated
to the view size (scale, scroll position, etc).

4b) If we really need to resize, proceed as usual.

(-[WKWebView _endAnimatedResize]):
With the changes in _beginAnimatedResizeWithUpdates:, _isAnimatingResize is only set for real cases of animated resize,
bail out early if that flag isn't set.

The remaining code is unchanged, it is just not indented due to the removal of the if() branch.

8:31 PM Changeset in webkit [170743] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebKit2

Improve handling of primary offscreen plugins.
https://bugs.webkit.org/show_bug.cgi?id=134528.
<rdar://problem/17471864>

Reviewed by Dean Jackson.

  • WebProcess/Plugins/PluginView.cpp:

Determine whether or not the plugin starts offscreen when the plugin is initialized.
(WebKit::PluginView::initializePlugin):
(WebKit::PluginView::pluginSnapshotTimerFired):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):
Use the PluginProcessTypeNormal for offscreen plugins that are potentially primary plugins.

8:03 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
7:47 PM Changeset in webkit [170742] by bshafiei@apple.com
  • 4 edits in tags/Safari-538.44.1/Source/WebCore

Roll out r170578.

7:31 PM Changeset in webkit [170741] by gyuyoung.kim@samsung.com
  • 6 edits in trunk/Tools

Clean up unused EFL buildbot information in BuildSlaveSupport and TestResultServer
https://bugs.webkit.org/show_bug.cgi?id=134581

Reviewed by Tim Horton.

Should be removed unused EFL bot info.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js:

(EWS):

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

(WebKitBuildbot):

  • TestResultServer/static-dashboards/builders.jsonp:
  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(test):

7:14 PM Changeset in webkit [170740] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.44.1/Source

Versioning.

7:03 PM Changeset in webkit [170739] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.44.1

New tag.

5:59 PM Changeset in webkit [170738] by enrica@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION(WK2): Undo does not work in text fields in Safari.
https://bugs.webkit.org/show_bug.cgi?id=134572
<rdar://problem/17542238>

Reviewed by Benjamin Poulain.

This patch adds for iOS the same implementation we have already for OS X.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(-[WKEditCommandObjC initWithWebEditCommandProxy:]):
(-[WKEditCommandObjC command]):
(-[WKEditorUndoTargetObjC undoEditing:]):
(-[WKEditorUndoTargetObjC redoEditing:]):
(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::registerEditCommand):
(WebKit::PageClientImpl::clearAllEditCommands):
(WebKit::PageClientImpl::canUndoRedo):
(WebKit::PageClientImpl::executeUndoRedo):

5:55 PM Changeset in webkit [170737] by barraclough@apple.com
  • 4 edits in trunk/Source/WebKit2

ProcessAssertion should also prevent UIApp suspension
https://bugs.webkit.org/show_bug.cgi?id=134563

Reviewed by Dan Bernstein.

If the application suspends then the child processes will, too.
Use beginBackgroundTaskWithName:expirationHandler: to request that the application remain runnable
while waiting for background tasks to complete.

  • UIProcess/ProcessAssertion.cpp:

(WebKit::ProcessAssertion::~ProcessAssertion):

  • Added destructor.
  • UIProcess/ProcessAssertion.h:
    • Added destructor.
  • UIProcess/ios/ProcessAssertionIOS.mm:

(+[WKProcessAssertionBackgroundTaskManager shared]):

  • singleton WKProcessAssertionBackgroundTaskManager.

(-[WKProcessAssertionBackgroundTaskManager init]):
(-[WKProcessAssertionBackgroundTaskManager dealloc]):

  • register/remove notification handlers.

(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):

  • if we need to be runnable make sure we're holding a BackgroundTask, if not release it.

(-[WKProcessAssertionBackgroundTaskManager _applicationDidEnterBackgroundOrWillEnterForeground:]):

  • detect when the app enters/leaves foreground; calls to _updateBackgroundTask.

(-[WKProcessAssertionBackgroundTaskManager incrementNeedsToRunInBackgroundCount]):
(-[WKProcessAssertionBackgroundTaskManager decrementNeedsToRunInBackgroundCount]):

  • interface to update the count; calls to _updateBackgroundTask.

(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::~ProcessAssertion):

  • count ProcessAssertions in and out of existance.

(WebKit::ProcessAssertion::setState):

  • count when the state changes.
4:41 PM Changeset in webkit [170736] by mmirman@apple.com
  • 12 edits
    2 adds in branches/ftlopt/Source/JavaScriptCore

Added In for cells to the FTL

4:02 PM Changeset in webkit [170735] by mrowe@apple.com
  • 5 edits in trunk/Source/WebCore

Ensure that the WebKit bundle version in the user agent string continues to match the current format.
<https://webkit.org/b/134524> / <rdar://problem/17447771>

Reviewed by Simon Fraser.

  • page/cocoa/UserAgent.h:
  • page/cocoa/UserAgent.mm:

(WebCore::userVisibleWebKitBundleVersionFromFullVersion): Updated to take an NSString now that it's internal
to the file.
(WebCore::userAgentBundleVersionFromFullVersionString): Limit the bundle version included in the user agent
string to three components.

  • page/ios/UserAgentIOS.mm:

(WebCore::standardUserAgentWithApplicationName): Update to call userAgentBundleVersionFromFullVersionString.

  • page/mac/UserAgentMac.mm:

(WebCore::standardUserAgentWithApplicationName): Ditto.

4:02 PM Changeset in webkit [170734] by mrowe@apple.com
  • 10 edits in trunk/Source

<https://webkit.org/b/134522> Remove duplication in code that prepares the user agent string on Mac and iOS

Reviewed by Simon Fraser.

Source/WebCore:

  • page/cocoa/UserAgent.h:
  • page/cocoa/UserAgent.mm:

(WebCore::userVisibleWebKitBundleVersionFromFullVersion): Moved from WebKit2.

  • page/ios/UserAgentIOS.mm:

(WebCore::standardUserAgentWithApplicationName): Pass the WebKit bundle version through userVisibleWebKitBundleVersionFromFullVersion
before including it in the user agent string.

  • page/mac/UserAgentMac.mm:

(WebCore::standardUserAgentWithApplicationName): Ditto.

Source/WebKit/mac:

  • WebView/WebView.mm:

(webKitBundleVersionString): Return the entire CFBundleVersion now that WebCore handles formatting it.
(+[WebView _standardUserAgentWithApplicationName:]):

Source/WebKit2:

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::webKitBundleVersionString): Return the entire CFBundleVersion now that WebCore handles formatting it.
(WebKit::WebPageProxy::standardUserAgent):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::webKitBundleVersionString): Ditto.
(WebKit::WebPageProxy::standardUserAgent):

3:54 PM Changeset in webkit [170733] by oliver@apple.com
  • 10 edits in trunk/Source/WebKit2

Restrict network process sandbox
https://bugs.webkit.org/show_bug.cgi?id=134360

Reviewed by Sam Weinig.

Add more restrictions to the network process sandbox.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

Always use the cache directory provided in the initialization parameters,
and make sure we consume the cookie directory extension.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:

Make the sandbox profile much more restrictive.

  • Shared/Network/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode): (WebKit::NetworkProcessCreationParameters::decode):
  • Shared/Network/NetworkProcessCreationParameters.h:

The network process now requires an extension to access
its cookie storage.

  • Shared/mac/SandboxUtilities.cpp: (WebKit::pathForProcessContainer):
  • Shared/mac/SandboxUtilities.h:

We need to be able to get hold of our container so
that we can get the correct cookie storage directory.

  • UIProcess/WebContext.cpp: (WebKit::WebContext::ensureNetworkProcess):

We have to pass in the an extension for the cookie storage directory when

initalising the network process

  • UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformDefaultCookieStorageDirectory):

Make sure we provide the correct location on IOS

  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):

Consume the cookie storage extension

3:52 PM Changeset in webkit [170732] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r170725.

  • CMakeLists.txt: Removed Shared/LegacySessionState.cpp.
3:52 PM Changeset in webkit [170731] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r170719 for !CF platforms.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::sessionStateData): Deleted.
(WebKit::WebPageProxy::restoreFromSessionStateData): Deleted.

3:38 PM Changeset in webkit [170730] by mrowe@apple.com
  • 7 edits
    1 copy
    3 moves
    1 add in trunk/Source

<https://webkit.org/b/134521> iOS should use shared code to determine the system marketing version

Reviewed by Simon Fraser.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj: Add the new files, and sort the groups they're in.
  • page/cocoa/UserAgent.h: Copied from Source/WebCore/page/mac/UserAgent.h.
  • page/cocoa/UserAgent.mm: Renamed from Source/WebCore/page/mac/UserAgent.h.

Move systemMarketingVersionForUserAgentString to a location where it can be shared between
Mac and iOS.

  • page/ios/UserAgentIOS.mm:

(WebCore::standardUserAgentWithApplicationName): Switch to systemMarketingVersionForUserAgentString.

  • page/mac/UserAgentMac.mm:
  • platform/cocoa/SystemVersion.h: Renamed from Source/WebCore/platform/mac/SystemVersionMac.h.
  • platform/cocoa/SystemVersion.mm: Renamed from Source/WebCore/platform/mac/SystemVersionMac.mm.

Move to a location that makes it clear this is shared between Mac and iOS. Enable the modern Mac
codepath for iOS as well.

Source/WebKit2:

  • Shared/ios/ChildProcessIOS.mm: Update #import.
  • Shared/mac/ChildProcessMac.mm: Ditto.
3:34 PM Changeset in webkit [170729] by fpizlo@apple.com
  • 4 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Allocate a new GetterSetter if we change the value of any of its entries other than when they were previously null, so that if we constant-infer an accessor slot then we immediately get the function constant for free
https://bugs.webkit.org/show_bug.cgi?id=134518

Reviewed by Mark Hahnenberg.

This has no real effect right now, particularly since almost all uses of
setSetter/setGetter were already allocating a branch new GetterSetter. But once we start
doing more aggressive constant property inference, this change will allow us to remove
all runtime checks from getter/setter calls.

  • runtime/GetterSetter.cpp:

(JSC::GetterSetter::withGetter):
(JSC::GetterSetter::withSetter):

  • runtime/GetterSetter.h:

(JSC::GetterSetter::setGetter):
(JSC::GetterSetter::setSetter):

  • runtime/JSObject.cpp:

(JSC::JSObject::defineOwnNonIndexProperty):

3:14 PM Changeset in webkit [170728] by fpizlo@apple.com
  • 3 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Rename notifyTransitionFromThisStructure to didTransitionFromThisStructure

Rubber stamped by Mark Hahnenberg.

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::nonPropertyTransition):
(JSC::Structure::didTransitionFromThisStructure):
(JSC::Structure::notifyTransitionFromThisStructure): Deleted.

  • runtime/Structure.h:
3:12 PM Changeset in webkit [170727] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Remove keyed coding from FormData
https://bugs.webkit.org/show_bug.cgi?id=134565

Reviewed by Tim Horton.

  • platform/network/FormData.cpp:

(WebCore::encodeElement): Deleted.
(WebCore::decodeElement): Deleted.
(WebCore::FormData::encode): Deleted.
(WebCore::FormData::decode): Deleted.

  • platform/network/FormData.h:
3:04 PM Changeset in webkit [170726] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Get rid of the HistoryItem encoding/decoding in WebCore
https://bugs.webkit.org/show_bug.cgi?id=134564

Reviewed by Beth Dakin.

  • WebCore.exp.in:
  • history/HistoryItem.cpp:

(WebCore::HistoryItem::encodeBackForwardTree): Deleted.
(WebCore::encodeRect): Deleted.
(WebCore::encodeSize): Deleted.
(WebCore::HistoryItem::encodeBackForwardTreeNode): Deleted.
(WebCore::DecodeRecursionStackElement::DecodeRecursionStackElement): Deleted.
(WebCore::decodeRect): Deleted.
(WebCore::decodeSize): Deleted.
(WebCore::HistoryItem::decodeBackForwardTree): Deleted.

  • history/HistoryItem.h:
2:49 PM Changeset in webkit [170725] by andersca@apple.com
  • 6 edits
    2 deletes in trunk/Source/WebKit2

Rip out more dead code
https://bugs.webkit.org/show_bug.cgi?id=134562

Reviewed by Andreas Kling.

  • Shared/LegacySessionState.cpp: Removed.
  • Shared/LegacySessionState.h: Removed.
  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::WebBackForwardListItem): Deleted.
(WebKit::WebBackForwardListItem::backForwardData): Deleted.
(WebKit::WebBackForwardListItem::setBackForwardData): Deleted.
(WebKit::WebBackForwardListItem::encode): Deleted.
(WebKit::WebBackForwardListItem::decode): Deleted.

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::create): Deleted.
(WebKit::WebBackForwardListItem::setOriginalURL): Deleted.
(WebKit::WebBackForwardListItem::setURL): Deleted.
(WebKit::WebBackForwardListItem::setTitle): Deleted.

  • UIProcess/WebPageProxy.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:
2:35 PM Changeset in webkit [170724] by fpizlo@apple.com
  • 5 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Remove the functionality for cloning StructureRareData since we never do that anymore.

Rubber stamped by Mark Hahnenberg.

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::cloneRareDataFrom): Deleted.

  • runtime/Structure.h:
  • runtime/StructureRareData.cpp:

(JSC::StructureRareData::clone): Deleted.
(JSC::StructureRareData::StructureRareData): Deleted.

  • runtime/StructureRareData.h:

(JSC::StructureRareData::needsCloning): Deleted.

2:31 PM Changeset in webkit [170723] by andersca@apple.com
  • 10 edits in trunk/Source/WebKit2

RestoreSession should take a vector of BackForwardListItemStates
https://bugs.webkit.org/show_bug.cgi?id=134558

Reviewed by Tim Horton.

  • Scripts/webkit2/messages.py:

(struct_or_class):
(headers_for_type):

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::itemStates):

  • UIProcess/WebBackForwardList.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::restoreFromSessionState):
(WebKit::WebPageProxy::creationParameters):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::restoreSession):
(WebKit::WebPage::restoreSessionAndNavigateToCurrentItem): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
2:13 PM Changeset in webkit [170722] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Store the back forward list item id inside BackForwardListItemState
https://bugs.webkit.org/show_bug.cgi?id=134557

Reviewed by Tim Horton.

  • Shared/SessionState.cpp:

(WebKit::BackForwardListItemState::encode):
(WebKit::BackForwardListItemState::decode):

  • Shared/SessionState.h:
  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::create):
(WebKit::WebBackForwardListItem::WebBackForwardListItem):
(WebKit::WebBackForwardListItem::encode):

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::itemID):

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::restoreFromState):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::addBackForwardItem):

2:05 PM Changeset in webkit [170721] by Manuel Rego Casasnovas
  • 2 edits in trunk/Source/WebKit2

Unreviewed. EFL and GTK build fix after r170716.

  • UIProcess/LegacySessionStateCodingNone.cpp:

(WebKit::decodeLegacySessionState): Update method signature.

2:03 PM Changeset in webkit [170720] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.44/Source/WTF

Merged r170713.

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

Begin ripping out the old session state code
https://bugs.webkit.org/show_bug.cgi?id=134556

Reviewed by Andreas Kling.

  • UIProcess/WebBackForwardList.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/cf/WebBackForwardListCF.cpp: Removed.
  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::sessionStateData): Deleted.
(WebKit::WebPageProxy::restoreFromSessionStateData): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
1:29 PM Changeset in webkit [170718] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[WebGL] Fix crash when glsl expressions are too complex.
https://bugs.webkit.org/show_bug.cgi?id=134554
<rdar://problem/17540462>

Reviewed by Dean Jackson.

This fixes the Khronos test conformance/glsl/bugs/long-expressions-should-not-crash.html.

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
Add SH_LIMIT_EXPRESSION_COMPLEXITY to the ANGLE compile options.

1:22 PM Changeset in webkit [170717] by Antti Koivisto
  • 1 edit
    2 adds in trunk/LayoutTests

REGRESSION(160908): vube.com video won't play after going into and out of fullscreen
https://bugs.webkit.org/show_bug.cgi?id=134489

Reviewed by Zalan Bujtas.

  • fullscreen/full-screen-plugin-expected.txt: Added.
  • fullscreen/full-screen-plugin.html: Added.
1:19 PM Changeset in webkit [170716] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Use legacy state coding directly in WKWebView
https://bugs.webkit.org/show_bug.cgi?id=134553

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKPage.cpp:

(WKPageRestoreFromSessionState):

  • UIProcess/API/C/WKSessionStateRef.cpp:

(WKSessionStateCreateFromData):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _sessionStateData]):
(-[WKWebView _sessionState]):
(-[WKWebView _restoreFromSessionStateData:]):
(-[WKWebView _restoreFromSessionState:]):
(releaseNSData): Deleted.

  • UIProcess/LegacySessionStateCoding.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::restoreFromSessionState):
(WebKit::WebPageProxy::restoreFromState): Deleted.

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::decodeLegacySessionState):

12:55 PM Changeset in webkit [170715] by achristensen@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Moved self to reviewers list.

  • Scripts/webkitpy/common/config/contributors.json:

Moved self to reviewers list, added WebGL to expertise.

12:48 PM Changeset in webkit [170714] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebCore

WebCore JIT: rename registerCount to something less generic and add new types for lists of registers and lists of stack references
https://bugs.webkit.org/show_bug.cgi?id=134552

Reviewed by Alex Christensen.

Little cleanup:
-The name registerCount was a little too generic. Rename that to "maximumRegisterCount" to avoid confusion.
-Add a new type RegisterVector for any vector holding registers. This is just to avoid repeating the inline

size everywhere, no functional change.

-Same idea for the stack: welcome StackReferenceVector!

  • cssjit/FunctionCall.h:

(WebCore::FunctionCall::saveAllocatedCallerSavedRegisters):
Remove the appendVector here. It was unnecessarily cautious, StackAllocator already protect us
from mistakes.

  • cssjit/RegisterAllocator.h:

(WebCore::RegisterAllocator::allocatedRegisters):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
Changing from the count of "calleeSavedRegisterCount" to "maximumRegisterCount" will cause
calleeSavedRegisterStackReferences to always overallocate.
The code generator is never on the heap, so that should not change anything.

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::push):
(WebCore::StackAllocator::pop):

12:40 PM Changeset in webkit [170713] by enrica@apple.com
  • 2 edits in trunk/Source/WTF

iOS build fix after http://trac.webkit.org/changeset/170697.

Unreviewed.

  • wtf/Deque.h:
11:30 AM Changeset in webkit [170712] by dino@apple.com
  • 2 edits in trunk/LayoutTests

Skip fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image.html
on Mountain Lion. It doesn't support such large textures (or at least our
bots don't).

  • platform/mac/TestExpectations:
10:40 AM Changeset in webkit [170711] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add -[WKWebView _sessionStateData] and -[WKWebView _restoreFromSessionStateData:]
https://bugs.webkit.org/show_bug.cgi?id=134549

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _sessionState]):
(-[WKWebView _sessionStateData]):
(-[WKWebView _restoreFromSessionState:]):
(-[WKWebView _restoreFromSessionStateData:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
10:33 AM Changeset in webkit [170710] by mitz@apple.com
  • 16 edits in trunk/Source

Remove some code only needed for versions of Safari that are no longer supported
https://bugs.webkit.org/show_bug.cgi?id=134537

Reviewed by Anders Carlsson.

Source/WebCore:

  • bindings/objc/DOMHTML.mm:

(-[DOMHTMLInputElement _rectOnScreen]): Deleted.
(-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): Deleted.
(-[DOMHTMLInputElement _selectedRange]): Deleted.

  • bindings/objc/DOMPrivate.h:
  • editing/EditorCommand.cpp:

(WebCore::createCommandMap):

Source/WebKit/mac:

  • History/WebHistoryItem.mm:
  • Misc/WebKitVersionChecks.h:
  • WebCoreSupport/WebSecurityOrigin.mm:

(-[WebSecurityOrigin domain]): Deleted.

  • WebInspector/WebInspector.mm:

(-showTimeline:): Deleted.
(+webInspector): Deleted.
(-setWebFrame:): Deleted.
(-window): Deleted.
(-showWindow:): Deleted.

  • WebView/WebFrame.mm:

(-[WebFrame reload]):

  • WebView/WebPDFView.mm:

(-[WebPDFView menuForEvent:]):
(-[WebPDFView _anyPDFTagsFoundInMenu:]): Deleted.

  • WebView/WebView.mm:

(-[WebView _initWithFrame:frameName:groupName:]):
(-[WebView _preferencesChanged:]):
(-[WebView initWithFrame:frameName:groupName:]):
(-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]): Deleted.
(+[WebView _setAlwaysUseATSU:]): Deleted.
(-[WebView _needsUnrestrictedGetMatchedCSSRules]): Deleted.

  • WebView/WebViewPrivate.h:

Source/WTF:

  • wtf/Assertions.cpp:
  • wtf/Assertions.h:
9:02 AM Changeset in webkit [170709] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GStreamer] MediaPlayerPrivateGStreamer.cpp fails to build when VIDEO_TRACK is enabled and using GSTREAMER_MPEGTS
https://bugs.webkit.org/show_bug.cgi?id=134548

Reviewed by Philippe Normand.

Include AtomicStringHash.h when ENABLE(VIDEO_TRACK) && USE(GSTREAMER_MPEGTS)
since it's used by HashMap<AtomicString, RefPtr<InbandMetadataTextTrackPrivateGStreamer>>

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
8:24 AM Changeset in webkit [170708] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Unstable headers should include webkitdomdefines-unstable.h
https://bugs.webkit.org/show_bug.cgi?id=134540

Reviewed by Martin Robinson.

Instead of the class header that can only be included from webkitdom.h.

  • bindings/scripts/CodeGeneratorGObject.pm:

(WriteData):

8:22 AM Changeset in webkit [170707] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] WebKitVersion.h should be shared between UI and Web Process APIs
https://bugs.webkit.org/show_bug.cgi?id=134538

Reviewed by Martin Robinson.

To be able to check current version from web extensions too.

  • UIProcess/API/gtk/WebKitVersion.h.in: Allow to include WebKitVersion.h also from webkit-web-extension.h.
  • WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h: Include WebKitVersion.h.
8:13 AM Changeset in webkit [170706] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Make dist only works when run from the source directory
https://bugs.webkit.org/show_bug.cgi?id=134543

Reviewed by Martin Robinson.

Since the paths in the manifest are relative to the source dir,
and the script expects the current working directory to be the
source directory, resolve all passed in relative paths while
parsing the arguments and then change the current working
directory.

  • gtk/make-dist.py:
8:11 AM Changeset in webkit [170705] by Carlos Garcia Campos
  • 5 edits in trunk

[GTK] make dist is broken
https://bugs.webkit.org/show_bug.cgi?id=134542

Reviewed by Martin Robinson.

.:

  • Source/PlatformGTK.cmake: Remove ENABLE_WEBKIT check.

Tools:

  • gtk/make-dist.py: Rename command line options to match what cmake uses.
  • gtk/manifest.txt: Remove WebKit1 references and add WebKitDOM documentation.
4:03 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
2:52 AM Changeset in webkit [170704] by mario.prada@samsung.com
  • 4 edits in trunk

REGRESSION(r170008): [GTK] Layout Tests fast/forms/option-constructor-selected.html and fast/forms/select-live-pseudo-selectors.html crash.
https://bugs.webkit.org/show_bug.cgi?id=134399

Reviewed by Chris Fleizach.

Source/WebCore:
Check that the value of optionIndex passed as a parameter is valid
before calling didUpdateActiveOption() over the item of the menu
list, to prevent crashes in platforms where renderers (and therefore
accessibility objects) might not be created for items at the time
of calling AccessibilityMenuList::didUpdateActiveOption().

  • accessibility/AccessibilityMenuList.cpp:

(WebCore::AccessibilityMenuList::didUpdateActiveOption): Added check.

LayoutTests:
Removing Crash expectations for two layout tests.

  • platform/gtk/TestExpectations: Updated.
1:22 AM Changeset in webkit [170703] by Lucas Forschler
  • 1 copy in tags/Safari-538.44

New Tag.

12:19 AM Changeset in webkit [170702] by Carlos Garcia Campos
  • 22 edits
    3 adds in trunk

[GTK] WebKitWebView::create should receive information about the navigation action
https://bugs.webkit.org/show_bug.cgi?id=133680

Reviewed by Martin Robinson.

Source/WebKit2:
Add WebKitNavigationAction boxed type representing a navigation
action to be passed as parameter of WebKitWebView::create
signal. In the future it could be also for the
WebKitNavigationPolicyDecision class. The class contains
information about a navigation action like the navigation type,
the request, the mouse button and key modifiers and whether it was
started by a user gesture. This information is needed to be able
to implement a proper popup blocker. Since all that information is
not provided by the C API, we have switched the UI client to use a
custom client derived from API::UIClient. This also avoids a lot
of toAPI -> toImpl unneeded conversions.

  • PlatformGTK.cmake: Add new files to compilation.
  • UIProcess/API/gtk/WebKitHitTestResult.cpp:

(webkitHitTestResultCreate): Use a WebHitTestResult::Data const
reference instead of a pointer to a WebHitTestResult.
(webkitHitTestResultCompare): Ditto.

  • UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
  • UIProcess/API/gtk/WebKitNavigationAction.cpp: Added.

(webkitNavigationActionCreate): Create a WebKitNavigationAction
for the given ResourceRequest and NavigationActionData.
(webkit_navigation_action_copy):
(webkit_navigation_action_free):
(webkit_navigation_action_get_navigation_type):
(webkit_navigation_action_get_mouse_button):
(webkit_navigation_action_get_modifiers):
(webkit_navigation_action_get_request):
(webkit_navigation_action_is_user_gesture):

  • UIProcess/API/gtk/WebKitNavigationAction.h: Added.
  • UIProcess/API/gtk/WebKitNavigationActionPrivate.h: Added.
  • UIProcess/API/gtk/WebKitNavigationPolicyDecision.h:
  • UIProcess/API/gtk/WebKitPrivate.cpp:

(toGdkModifiers):
(toWebKitNavigationType):
(toWebKitMouseButton):

  • UIProcess/API/gtk/WebKitPrivate.h:
  • UIProcess/API/gtk/WebKitUIClient.cpp:

(UIClient::UIClient): Implement the UIClient using a custom class.
(attachUIClientToView): Set the UIClient directly to the WebPageProxy.
(createNewPage): Deleted.
(showPage): Deleted.
(closePage): Deleted.
(runJavaScriptAlert): Deleted.
(runJavaScriptConfirm): Deleted.
(runJavaScriptPrompt): Deleted.
(toolbarsAreVisible): Deleted.
(setToolbarsAreVisible): Deleted.
(menuBarIsVisible): Deleted.
(setMenuBarIsVisible): Deleted.
(statusBarIsVisible): Deleted.
(setStatusBarIsVisible): Deleted.
(isResizable): Deleted.
(setIsResizable): Deleted.
(getWindowFrame): Deleted.
(setWindowFrame): Deleted.
(mouseDidMoveOverElement): Deleted.
(printFrame): Deleted.
(runOpenPanel): Deleted.
(decidePolicyForGeolocationPermissionRequest): Deleted.
(runModal): Deleted.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewCreate): Add WebKitNavigationAction parameter.
(webkit_web_view_class_init): Add WebKitNavigationAction paramter
to CREATE signal.
(webkitWebViewCreateNewPage): Add WebKitNavigationAction parameter
and pass it to the signal callbacks.
(webkitWebViewMouseTargetChanged): Use a WebHitTestResult::Data
const reference.
(webkitWebViewPopulateContextMenu): Ditto.

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
  • UIProcess/API/gtk/WebKitWindowProperties.cpp:

(webkitWindowPropertiesUpdateFromWebWindowFeatures): Use a
WebCore::WindowFeatures const reference.

  • UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section.
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
  • UIProcess/API/gtk/webkit2.h: Include WebKitNavigationAction.h.

Tools:
Add unit test to check the WebKitNavigationAction passed to
WebKitWebView::create callback.

  • MiniBrowser/gtk/BrowserWindow.c:

(webViewCreate): Add WebKitNavigationAction parameter.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:

(testWebViewCreateNavigationData):
(beforeAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitPolicyClient.cpp:

(createCallback):

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

[GTK] Do not add forward declaration of class struct for interfaces
https://bugs.webkit.org/show_bug.cgi?id=134297

Reviewed by Martin Robinson.

Source/WebCore:

  • PlatformGTK.cmake: Make files generated by

gobject-generate-headers.pl script depend on it.

  • bindings/gobject/WebKitDOMEventTarget.h: Remove forward declaration.
  • bindings/gobject/WebKitDOMNodeFilter.h: Ditto
  • bindings/gobject/WebKitDOMXPathNSResolver.h: Ditto.
  • bindings/scripts/gobject-generate-headers.pl: Use Iface instead

of Class suffix for interfaces.

Tools:
Add Iface symbol to documentation instead of Class for interfaces.

  • gtk/webkitdom.py:

(WebKitDOMDocGeneratorSections.write_section):

12:04 AM Changeset in webkit [170700] by Carlos Garcia Campos
  • 7 edits
    7 adds in trunk

[GTK] XPathNSResolver should be exposed as an interface instead of as a class
https://bugs.webkit.org/show_bug.cgi?id=134028

Reviewed by Gustavo Noronha Silva.

Source/WebCore:
Add custom implementation of WebKitDOMXPathNSResolver to expose it
as an interface instead of a class. It also includes an internal
default implementation of the interface to support methods that
create a XPathNSResolver using the native implementation.

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

(WebCore::GObjectXPathNSResolver::~GObjectXPathNSResolver):
(WebCore::GObjectXPathNSResolver::lookupNamespaceURI): Call
webkit_dom_xpath_ns_resolver_lookup_namespace_uri().

  • bindings/gobject/GObjectXPathNSResolver.h: Added.

(WebCore::GObjectXPathNSResolver::create):
(WebCore::GObjectXPathNSResolver::GObjectXPathNSResolver): Create
a new GObjectXPathNSResolver for the given WebKitDOMXPathNSResolver.

  • bindings/gobject/WebKitDOMXPathNSResolver.cpp: Added.

(webkit_dom_xpath_ns_resolver_default_init):
(webkit_dom_xpath_ns_resolver_lookup_namespace_uri):
(webkitDOMNativeXPathNSResolverFinalize):
(webkitDOMNativeXPathNSResolverConstructor):
(webkit_dom_native_xpath_ns_resolver_init):
(webkit_dom_native_xpath_ns_resolver_class_init):
(webkitDOMNativeXPathNSResolverLookupNamespaceURI):
(webkitDOMXPathNSResolverIfaceInit):
(WebKit::core): Return the native XPathNSResolver when using the
internal implementation or create a custom XPathNSResolver when
using a user provided WebKitDOMXPathNSResolver.
(WebKit::kit):

  • bindings/gobject/WebKitDOMXPathNSResolver.h: Added.
  • bindings/gobject/WebKitDOMXPathNSResolverPrivate.h: Added.
  • bindings/scripts/CodeGeneratorGObject.pm:

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

Tools:
Add unit tests to check WebKitDOMXPathNSResolver API when using the
native one and a user provided one.

  • Scripts/webkitpy/style/checker.py: Add WebKitDOMXPathNSResolver

to the list of GTK+ public API exceptions.

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

(webkitXPathNSResolverLookupNamespaceURI):
(webkitXPathNSResolverDOMXPathNSResolverIfaceInit):
(webkit_xpath_ns_resolver_init):
(webkit_xpath_ns_resolver_class_init):
(WebKitDOMXPathNSResolverTest::create):
(WebKitDOMXPathNSResolverTest::webPageFromArgs):
(WebKitDOMXPathNSResolverTest::evaluateFooChildTextAndCheckResult):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverNative):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverCustom):
(WebKitDOMXPathNSResolverTest::runTest):
(registerTests):

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

(runTest):
(testWebKitDOMXPathNSResolverNative):
(testWebKitDOMXPathNSResolverCustom):
(serverCallback):
(beforeAll):
(afterAll):

  • gtk/webkitdom.py:

(WebKitDOMDocGeneratorSections.write_section): Add
WebKitDOMXPathNSResolver to the list of interfaces.

Note: See TracTimeline for information about the timeline view.