Timeline



Jul 8, 2014:

11:52 PM Changeset in webkit [170912] by Lucas Forschler
  • 1 copy in tags/Safari-538.45

New Tag.

11:50 PM Changeset in webkit [170911] by beidson@apple.com
  • 6 edits in trunk/Source/WebCore

DOMWindows should register themselves with the GamepadManager when they have event listeners
https://bugs.webkit.org/show_bug.cgi?id=134669

Reviewed by Dean Jackson.

No new tests (No effect in a currently tested config)

By having DOMWindows register with the GamepadManager when they have/don’t have gamepad event
listeners, we accomplish two things:
1 - It’s simple for GamepadManager to dispatch gamepad events directly to the DOMWindows interested.
2 - We know when to start monitoring for gamepad connections.

  • Modules/gamepad/GamepadManager.cpp:

(WebCore::GamepadManager::GamepadManager):
(WebCore::GamepadManager::registerNavigator):
(WebCore::GamepadManager::unregisterNavigator):
(WebCore::GamepadManager::registerDOMWindow):
(WebCore::GamepadManager::unregisterDOMWindow):
(WebCore::GamepadManager::maybeStartMonitoringGamepads): Start monitoring gamepads if there are any

registered DOMWindows or NavigatorGamepads, and we aren’t already monitoring them.

(WebCore::GamepadManager::maybeStopMonitoringGamepads): Stop monitoring gamepads if there aren’t any

registered DOMWindows or NavigatorGameads, and we have been monitoring them before now.

  • Modules/gamepad/GamepadManager.h:
  • dom/EventNames.h:

(WebCore::EventNames::isGamepadEventType):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::DOMWindow):
(WebCore::DOMWindow::~DOMWindow): If registered for gamepad events, unregister now.
(WebCore::DOMWindow::incrementGamepadEventListenerCount): If this is the first gamepad event

listener, register with the GamepadManager now.

(WebCore::DOMWindow::decrementGamepadEventListenerCount): If this was the last gamepad event

listener, unregister from the GamepadManager now.

(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):

  • page/DOMWindow.h:
10:56 PM Changeset in webkit [170910] by commit-queue@webkit.org
  • 5 edits in trunk

.: [EFL] Support Encrypted Media Extensions.
https://bugs.webkit.org/show_bug.cgi?id=134750

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2014-07-08
Reviewed by Gyuyoung Kim.

Webkit needs to play encrypted media contents when media player
is played by Media source extensions and normal video procedure.

  • Source/cmake/OptionsEfl.cmake: Turn on ENABLE_ENCRYPTED_MEDIA_V2

Source/WebCore: [EFL] Fix the build break when ENABLE_ENCRYPTED_MEDIA_V2 is turned on.
https://bugs.webkit.org/show_bug.cgi?id=134750

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2014-07-08
Reviewed by Gyuyoung Kim.

When turning ENABLE_ENCRYPTED_MEDIA_V2 on, build break occurs.
Some source files need to be included in CMakeLists.txt file for build.
And wrap the included header file which is built only on mac and wince.

  • CMakeLists.txt:
  • Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp:
10:13 PM Changeset in webkit [170909] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Restore the assertion changed with 170839

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::pop):
(JSC::ARMv7Assembler::push):
Revert the Assembler part of 170839. The assertions do not match both encoding.

I'll add specific version of push and pop instead.

9:53 PM Changeset in webkit [170908] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] user caption preferences not applied
https://bugs.webkit.org/show_bug.cgi?id=134599

Reviewed by Sam Weinig.

  • page/CaptionUserPreferences.cpp:

(WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride): All Pages in a PageGroup
do not necessarily use the same PageUserContentController, so apply and remove caption user
the style sheet directly to each page rather than to the page group.

8:00 PM Changeset in webkit [170907] by fpizlo@apple.com
  • 7 edits
    2 adds in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Phantom simplification should be in its own phase
https://bugs.webkit.org/show_bug.cgi?id=134742

Reviewed by Geoffrey Garen.

This moves Phantom simplification out of CSE, which greatly simplifies CSE and gives it
more focus. Also this finally adds a phase that removes empty Phantoms. We sort of had
this in CPSRethreading, but that phase runs too infrequently and doesn't run at all for
SSA.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAdjacencyList.h:
  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::run):
(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::eliminate):
(JSC::DFG::CSEPhase::performNodeCSE):
(JSC::DFG::CSEPhase::eliminateIrrelevantPhantomChildren): Deleted.

  • dfg/DFGPhantomRemovalPhase.cpp: Added.

(JSC::DFG::PhantomRemovalPhase::PhantomRemovalPhase):
(JSC::DFG::PhantomRemovalPhase::run):
(JSC::DFG::performCleanUp):

  • dfg/DFGPhantomRemovalPhase.h: Added.
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

5:51 PM Changeset in webkit [170906] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

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

"It broke the build on mountainlion release 32bit" (Requested
by mmirman on #webkit).

Reverted changeset:

"Added css jit profiler, disabled by default."
https://bugs.webkit.org/show_bug.cgi?id=134695
http://trac.webkit.org/changeset/170894

5:01 PM Changeset in webkit [170905] by Brent Fulgham
  • 4 edits
    1 add
    1 delete in trunk

[Win] Implement auto-version as a Perl program
https://bugs.webkit.org/show_bug.cgi?id=134745
<rdar://problem/17597801>

Reviewed by David Kilzer.

Source/WebKit:
Modify build commands to use new Perl version of the
auto-version script.

  • WebKit.vcxproj/Interfaces/InterfacesPreBuild.cmd:
  • WebKit.vcxproj/WebKit/WebKitPreBuild.cmd:

WebKitLibraries:
Translate the auto-version.sh bash script into an equivalent
Perl script.

  • win/tools/scripts/auto-version.pl: Added.
  • win/tools/scripts/auto-version.sh: Removed.
4:58 PM Changeset in webkit [170904] by Bem Jones-Bey
  • 2 edits in trunk/Websites/webkit.org

Update policy for Inactive Committer and Reviewer status
https://bugs.webkit.org/show_bug.cgi?id=134403

Reviewed by Nico Weber.

  • coding/commit-review-policy.html:
4:31 PM Changeset in webkit [170903] by jhoneycutt@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

RemoteInspector::shared() should not call WTF::initializeMainThread()
<https://bugs.webkit.org/show_bug.cgi?id=134747>
<rdar://problem/17161482>

Reviewed by Joseph Pecoraro.

  • inspector/remote/RemoteInspector.mm:

(Inspector::RemoteInspector::shared):
Don't call WTF::initializeMainThread(). WTF threading is initialized by
JSC::initializeThreading().

4:17 PM Changeset in webkit [170902] by timothy_horton@apple.com
  • 10 edits in trunk/Source/WebKit2

Remove WebBackForwardListItems when their owning page goes away
https://bugs.webkit.org/show_bug.cgi?id=134709
<rdar://problem/17584645>

Reviewed by Dan Bernstein.

  • Shared/WebBackForwardListItem.cpp:

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

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::pageID):
Add the associated PageID to the WebBackForwardListItem.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::restoreFromState):
Push the current PageID onto the WebBackForwardListItem.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::removeWebPage):
Remove all of the WebBackForwardListItems from m_backForwardListItemMap when
the page they are associated with is removed.

(WebKit::WebProcessProxy::addBackForwardItem):
Push the PageID from the WebProcess onto the WebBackForwardListItem.

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/WebPage/WebBackForwardListProxy.cpp:

(WebKit::idToHistoryItemMap):
(WebKit::historyItemToIDMap):
(WebKit::updateBackForwardItem):
(WebKit::WebBackForwardListProxy::addItemFromUIProcess):
(WebKit::WK2NotifyHistoryItemChanged):
(WebKit::WebBackForwardListProxy::idForItem):
(WebKit::WebBackForwardListProxy::addItem):
(WebKit::WebBackForwardListProxy::goToItem):
(WebKit::WebBackForwardListProxy::close):

  • WebProcess/WebPage/WebBackForwardListProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::restoreSession):
Keep track of the PageID that back-forward items were created by.
Pass the PageID along when registering WebBackForwardListItems.

4:11 PM Changeset in webkit [170901] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

WebVideoFullscreenInterfaceAVKit should lazily create m_playerController.
https://bugs.webkit.org/show_bug.cgi?id=134706

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-07-08
Reviewed by Simon Fraser.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
Don't set the delegate if m_playerController isn't created.

3:54 PM Changeset in webkit [170900] by Brian Burg
  • 2 edits in trunk/Tools

resolve-ChangeLogs fails when WebKit repository is a git submodule
https://bugs.webkit.org/show_bug.cgi?id=134734

Reviewed by David Kilzer.

When using resolve-ChangeLogs in a WebKit git repository with a
non-default arrangement of GIT_DIR and GIT_WORK_TREE, incorrect
paths are computed and the script fails mysteriously.

We were naively computing GIT_WORK_TREE as being one level above
GIT_DIR, but this is not the case for submodules or a manually
configured GIT_WORK_TREE or GIT_DIR location.

  • Scripts/VCSUtils.pm:

(gitTreeDirectory): Added. Find the equivalent of GIT_WORK_TREE.
(determineVCSRoot): Calculate the working tree root directly.

3:42 PM Changeset in webkit [170899] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Debugger popovers should not dismiss when mousing over them
https://bugs.webkit.org/show_bug.cgi?id=134687

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-07-08
Reviewed by David Kilzer.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):
Actually install the listeners in the set. Regression from code refactoring in r165052.

3:36 PM Changeset in webkit [170898] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

VM::lastCachedString should be a Strong, not a Weak.
<https://webkit.org/b/134746>

Using Weak<JSString> for this regressed some of our bindings perf tests
due to Weak having to allocate a new WeakImpl every time the last cached
string changed. Make it a Strong instead should make that problem go away.

Reviewed by Geoffrey Garen.

  • runtime/JSString.cpp:

(JSC::jsStringWithCacheSlowCase):

  • runtime/VM.h:
3:36 PM Changeset in webkit [170897] by commit-queue@webkit.org
  • 39 edits in trunk/LayoutTests

Remove webkit prefix from pointer lock tests.
https://bugs.webkit.org/show_bug.cgi?id=134744

Patch by Alex Christensen <achristensen@webkit.org> on 2014-07-08
Reviewed by Brady Eidson.

  • http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock-expected.txt:
  • http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock.html:
  • http/tests/pointer-lock/iframe-sandboxed-expected.txt:
  • http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock-expected.txt:
  • http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock.html:
  • http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock-expected.txt:
  • http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock.html:
  • http/tests/pointer-lock/iframe-sandboxed.html:
  • http/tests/pointer-lock/pointerlockelement-different-origin-expected.txt:
  • http/tests/pointer-lock/pointerlockelement-different-origin.html:
  • http/tests/pointer-lock/pointerlockelement-same-origin-expected.txt:
  • http/tests/pointer-lock/pointerlockelement-same-origin.html:
  • http/tests/pointer-lock/requestPointerLock-can-not-transfer-between-documents-expected.txt:
  • http/tests/pointer-lock/requestPointerLock-can-not-transfer-between-documents.html:
  • http/tests/resources/pointer-lock/iframe-common.js:

(document.onpointerlockchange):
(document.onpointerlockerror):
(document.onwebkitpointerlockchange): Deleted.
(document.onwebkitpointerlockerror): Deleted.

  • http/tests/resources/pointer-lock/pointer-lock-test-harness.js:

(expectOnlyChangeEvent):
(expectOnlyErrorEvent):
(expectNoEvents):

  • pointer-lock/bug90391-move-then-window-open-crash-expected.txt:
  • pointer-lock/bug90391-move-then-window-open-crash.html:
  • pointer-lock/lock-already-locked-expected.txt:
  • pointer-lock/lock-already-locked.html:
  • pointer-lock/lock-element-not-in-dom-expected.txt:
  • pointer-lock/lock-element-not-in-dom.html:
  • pointer-lock/locked-element-iframe-removed-from-dom-expected.txt:
  • pointer-lock/locked-element-iframe-removed-from-dom.html:
  • pointer-lock/locked-element-removed-from-dom-expected.txt:
  • pointer-lock/locked-element-removed-from-dom.html:
  • pointer-lock/mouse-event-api-expected.txt:
  • pointer-lock/mouse-event-api.html:
  • pointer-lock/mouse-event-delivery-expected.txt:
  • pointer-lock/mouse-event-delivery.html:
  • pointer-lock/pointer-lock-api-expected.txt:
  • pointer-lock/pointer-lock-api.html:
  • pointer-lock/pointerlockchange-event-on-lock-lost-expected.txt:
  • pointer-lock/pointerlockchange-event-on-lock-lost.html:
  • pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt:
  • pointer-lock/pointerlockchange-pointerlockerror-events.html:
  • pointer-lock/pointerlockelement-null-when-pending-expected.txt:
  • pointer-lock/pointerlockelement-null-when-pending.html:

Remove webkit prefix on pointer lock functions and events.
This should have been done in r170585.

3:24 PM Changeset in webkit [170896] by timothy_horton@apple.com
  • 10 edits in trunk

[WK2] Expose a few drawing/compositing settings on WKPreferences(Private)
https://bugs.webkit.org/show_bug.cgi?id=134645

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _compositingBordersVisible]):
(-[WKPreferences _setCompositingBordersVisible:]):
(-[WKPreferences _compositingRepaintCountersVisible]):
(-[WKPreferences _setCompositingRepaintCountersVisible:]):
(-[WKPreferences _tiledScrollingIndicatorVisible]):
(-[WKPreferences _setTiledScrollingIndicatorVisible:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Expose layer borders, repaint counters, and the tiled scrolling indicator on WKPreferences, as SPI.

  • WebView/WebPreferences.mm:

(-[WebPreferences setSubpixelCSSOMElementMetricsEnabled:]):
Remove an extra unnecessary space.

  • MiniBrowser/mac/BrowserWindowController.h:
  • MiniBrowser/mac/MainMenu.xib:

Add menu items for layer borders and the tiled scrolling indicator.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController validateMenuItem:]):
(-[WK1BrowserWindowController layerBordersAreVisible]):
(-[WK1BrowserWindowController toggleLayerBordersVisibility:]):
Add getters/setters/validators for layer borders.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController layerBordersAreVisible]):
(-[WK2BrowserWindowController toggleLayerBordersVisibility:]):
(-[WK2BrowserWindowController tiledScrollingIndicatorIsVisible]):
(-[WK2BrowserWindowController toggleTiledScrollingIndicatorVisibility:]):
Add getters/setters/validators for layer borders and the tiled scrolling indicator.

(-[WK2BrowserWindowController isSubpixelCSSOMElementMetricsEnabled]): Deleted.
(-[WK2BrowserWindowController toggleSubpixelCSSOMElementMetricsEnabled:]): Deleted.
Remove the WebKit2 version of the subpixel metrics pref, because it doesn't work, because
nothing in WebKit2 reads this default, and there is no WebKit2 API for adjusting this preference.

3:10 PM Changeset in webkit [170895] by Bem Jones-Bey
  • 3 edits
    5 adds in trunk

Ensure we compute the height of replaced elements to 'auto' when appropriate.
https://bugs.webkit.org/show_bug.cgi?id=134700

Reviewed by David Hyatt.

Source/WebCore:
This fixes two issues:

1) If a replaced element has a percentage height specified then its
height should compute to 'auto' when its containing block does not
have a height 'specified explicitly'. We were taking this to mean when
its containing block's specified height value is 'auto' - in fact it
means when the containing block's computed height is auto.

2) Top and bottom on the containing block should only affect the
height of the block if that block has absolute or fixed position.

This brings us into line with IE, Firefox, and Chrome.

This is a port of Blink patches by Rob Hogan and David Vest.

Tests: css2.1/20110323/height-percentage-005.htm

fast/css/replaced-element-ignore-top-bottom.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):

LayoutTests:

  • css2.1/20110323/height-percentage-005-expected.html: Added.
  • css2.1/20110323/height-percentage-005.htm: Added.
  • css2.1/20110323/support/black96x96.png: Added.
  • fast/css/replaced-element-ignore-top-bottom-expected.txt: Added.
  • fast/css/replaced-element-ignore-top-bottom.html: Added.
2:47 PM Changeset in webkit [170894] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

Added css jit profiler, disabled by default.
https://bugs.webkit.org/show_bug.cgi?id=134695

Patch by Alex Christensen <achristensen@webkit.org> on 2014-07-08
Reviewed by Benjamin Poulain.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::ruleMatches):
Tell the RuleData when its compiled selector is used.

  • css/RuleSet.cpp:

(WebCore::RuleData::RuleData):
Initialize the compiled selector use count to 0.

  • css/RuleSet.h:

(WebCore::RuleData::~RuleData):
(WebCore::RuleData::compiledSelectorUsed):
Count and log the number of times a compiled selector is used.

  • cssjit/SelectorCompiler.h:

Added option for CSS_SELECTOR_JIT_PROFILING set to 0 by default.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker):
(WebCore::SelectorDataList::execute):
Tell the SelectorData when its compiled selector is used.

  • dom/SelectorQuery.h:

(WebCore::SelectorDataList::SelectorData::SelectorData):
(WebCore::SelectorDataList::SelectorData::~SelectorData):
(WebCore::SelectorDataList::SelectorData::compiledSelectorUsed):
Count and log the number of times a compiled selector is used.

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

WKProcessPoolConfigurationPrivate's maximumProcessCount property has no effect
https://bugs.webkit.org/show_bug.cgi?id=134711

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _initWithConfiguration:]):
Respect the maximumProcessCount.
Currently the default limit is UINT_MAX; if maximumProcessCount = 0 (the default), we'll use that limit.

11:45 AM Changeset in webkit [170892] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Steps towards CMake on Windows.
https://bugs.webkit.org/show_bug.cgi?id=134716

Patch by Alex Christensen <achristensen@webkit.org> on 2014-07-08
Reviewed by Martin Robinson.

  • CMakeLists.txt:

Added AppleWin and WinCairo to list of CMake ports.

  • Source/cmake/OptionsAppleWin.cmake: Added.
  • Source/cmake/OptionsWinCairo.cmake: Added.
  • Source/cmake/OptionsWindows.cmake:

Windows needs to use the system malloc. Other options to come.

10:53 AM Changeset in webkit [170891] by commit-queue@webkit.org
  • 25 edits
    7 adds in trunk

[GTK] Move user style sheet API out of WebKitWebViewGroup
https://bugs.webkit.org/show_bug.cgi?id=134551

Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2014-07-08
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

  • PlatformGTK.cmake: Include the new source files in the build.
  • UIProcess/API/C/gtk/WKView.cpp:

(WKViewCreate):
Adapt to the additional webkitWebViewBaseCreateWebPage() parameter.

  • UIProcess/API/gtk/WebKitUserContent.cpp: Added.

(toUserContentInjectedFrames):
(toUserStyleLevel):
(toStringVector):
(_WebKitUserStyleSheet::_WebKitUserStyleSheet):
(webkit_user_style_sheet_ref):
(webkit_user_style_sheet_unref):
(webkit_user_style_sheet_new):
(webkitWebKitUserStyleSheetToUserStyleSheet):

  • UIProcess/API/gtk/WebKitUserContent.h: Added.
  • UIProcess/API/gtk/WebKitUserContentManager.cpp: Added.

(_WebKitUserContentManagerPrivate::_WebKitUserContentManagerPrivate):
(webkit_user_content_manager_class_init):
(webkit_user_content_manager_new):
(webkit_user_content_manager_add_style_sheet):
(webkit_user_content_manager_remove_all_style_sheets):
(webkitUserContentManagerGetUserContentControllerProxy):

  • UIProcess/API/gtk/WebKitUserContentManager.h: Added.
  • UIProcess/API/gtk/WebKitUserContentManagerPrivate.h: Added.
  • UIProcess/API/gtk/WebKitUserContentPrivate.h: Added.
  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextCreatePageForWebView): Add a new parameter to allow
passing the WebKitUserContentManager that the web view will use.

  • UIProcess/API/gtk/WebKitWebContextPrivate.h: Ditto.
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewConstructed): Added handling of the
"user-content-manager" property on construction.
(webkitWebViewSetProperty): Added support for the
"user-content-manager" property.
(webkitWebViewGetProperty): Added support for the
"user-content-manager" property.
(webkit_web_view_class_init): Added the "user-content-manager"
property definition to the WebKitWebView class.
(webkit_web_view_new_with_related_view): Made related views share
the same WebKitUserContentManager used by the view they are
related to.
(webkit_web_view_new_with_user_content_manager): Added.
(webkit_web_view_get_user_content_manager): Added.

  • UIProcess/API/gtk/WebKitWebView.h: Add new API methods.
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseCreate): Added a parameter to pass the user
content manager.
(webkitWebViewBaseCreateWebPage): Added a parameter to pass the user
content manager.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Ditto.
  • UIProcess/API/gtk/WebKitWebViewGroup.cpp: Removed the bits related

to user style sheet support from WebKitWebViewGroup.
(webkit_web_view_group_set_settings):
(toAPIArray): Deleted.
(webkit_web_view_group_add_user_style_sheet): Deleted.
(webkit_web_view_group_remove_all_user_style_sheets): Deleted.

  • UIProcess/API/gtk/WebKitWebViewGroup.h: Deleted the API methods

for user style sheet handling.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added the new API

functions and types, and removed the methods which are no longer
available in WebKitWebViewGroup.

  • UIProcess/API/gtk/webkit2.h: Add the new headers.
  • UIProcess/UserContent/WebUserContentControllerProxy.cpp: Added

methods to add and remove user style sheets, alike those used for
user scripts.
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addUserStyleSheet):
(WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):

  • UIProcess/UserContent/WebUserContentControllerProxy.h: Ditto.
  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Adapt to the additional webkitWebViewBaseCreateWebPage() parameter.

  • WebProcess/UserContent/WebUserContentController.cpp: Added methods

to add and remove user style sheets, alike those used for user scripts.
(WebKit::WebUserContentController::addUserStyleSheets):
(WebKit::WebUserContentController::removeAllUserStyleSheets):

  • WebProcess/UserContent/WebUserContentController.h: Ditto.
  • WebProcess/UserContent/WebUserContentController.messages.in:

Ditto.

Tools:
Removes testing user style sheet injection from
TestWebKitWebViewGroup and moves that into a new
TestWebKitUserContentManager, adapting the existing tests to the new
API. Also, it contains a new test case for
webkit_web_view_new_with_user_content_manager().

  • TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp: Added.

(UserContentManagerTest::UserContentManagerTest):
(testWebViewNewWithUserContentManager):
(isStyleSheetInjectedForURLAtPath):
(fillURLListFromPaths):
(removeOldInjectedStyleSheetsAndResetLists):
(testUserContentManagerInjectedStyleSheet):
(serverCallback):
(beforeAll):
(afterAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp:

(beforeAll):
(afterAll):
(isStyleSheetInjectedForURLAtPath): Deleted.
(fillURLListFromPaths): Deleted.
(removeOldInjectedStyleSheetsAndResetLists): Deleted.
(testWebViewGroupInjectedStyleSheet): Deleted.
(serverCallback): Deleted.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:

(WebViewTest::WebViewTest):

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:
10:50 AM Layout Test Protocol edited by dfarler@apple.com
(diff)
10:50 AM Changeset in webkit [170890] by fpizlo@apple.com
  • 9 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Get rid of Node::misc by moving the fields out of the union so that you can use replacement and owner simultaneously
https://bugs.webkit.org/show_bug.cgi?id=134730

Reviewed by Mark Lam.

This will allow for a better GCSE implementation.

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::setReplacement):

  • dfg/DFGEdgeDominates.h:

(JSC::DFG::EdgeDominates::operator()):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::clearReplacements):
(JSC::DFG::Graph::initializeNodeOwners):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::performSubstitutionForEdge):

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::attemptHoist):

  • dfg/DFGNode.h:

(JSC::DFG::Node::Node):

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

10:49 AM Layout Test Protocol edited by dfarler@apple.com
(diff)
10:43 AM Layout Test Protocol edited by dfarler@apple.com
(diff)
10:33 AM Changeset in webkit [170889] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Gstreamer missing from the install-dependencies script
https://bugs.webkit.org/show_bug.cgi?id=134727

Patch by Ziran Sun <ziran.sun@samsung.com> on 2014-07-08
Reviewed by Mario Sanchez Prada.

Added missing gstreamer dependencies for debian based systems.

  • gtk/install-dependencies: Added 2 dependencies for apt-get.
10:26 AM Layout Test Protocol edited by dfarler@apple.com
(diff)
10:25 AM Layout Test Protocol edited by dfarler@apple.com
(diff)
10:03 AM Layout Test Protocol edited by dfarler@apple.com
(diff)
10:01 AM Layout Test Protocol created by dfarler@apple.com
9:41 AM Changeset in webkit [170888] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

Add myself to the watchlist for text-related files
https://bugs.webkit.org/show_bug.cgi?id=134707

Reviewed by Timothy Horton.

  • Scripts/webkitpy/common/config/watchlist:
9:34 AM Changeset in webkit [170887] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

[GTK] Guard uses of RedirectedXCompositeWindow in WebKitWebViewBase with PLATFORM(X11)
https://bugs.webkit.org/show_bug.cgi?id=133871

Reviewed by Martin Robinson.

Guard uses of the RedirectedXCompositeWindow object in WebKitWebViewBase with the
PLATFORM(X11) build guard. This is required to properly support building the GTK
port only for the Wayland target.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseConstructed):
(webkitWebViewRenderAcceleratedCompositingResults):
(resizeWebKitWebViewBaseFromAllocation):
(webkitWebViewBaseUpdatePreferences):
(webkitWebViewBaseCreateWebPage):

8:26 AM Changeset in webkit [170886] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.4.4

Tagging the WebKitGTK+ 2.4.4 release

8:20 AM Changeset in webkit [170885] by Carlos Garcia Campos
  • 1 edit
    1 add in trunk/Source/WebCore

Unreviewed. Fix GObject DOM bindings API breaks test after r170700.

Add missing WebKitDOMXPathNSResolver.symbols that I forgot to add
in r170700.

  • bindings/gobject/WebKitDOMXPathNSResolver.symbols: Added.
5:08 AM Changeset in webkit [170884] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Unreviewed. Update NEWS and Versions.m4 for 2.4.4 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.4.4.
5:06 AM Changeset in webkit [170883] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Unreviewed. Fix make distcheck.

  • GNUmakefile.am:
2:40 AM Changeset in webkit [170882] by Carlos Garcia Campos
  • 9 edits in releases/WebKitGTK/webkit-2.4

[GTK][Stable] Google Maps doesn't work with Version/X in the user agent
https://bugs.webkit.org/show_bug.cgi?id=134631

Reviewed by Sergio Villar Senin.

Source/WebCore:

Because of the JSC version used in stable branch, when the
Version/X string is present in the user agent, google maps uses
JavaScript API that we don't support. Move the google domain quirks
from WebKit1 to WebCore and add a quirk for google maps.

  • platform/gtk/UserAgentGtk.cpp:

(WebCore::googleDomains):
(WebCore::otherGoogleDomains):
(WebCore::isGoogleDomain): Returns whether the given host is a
known google domain
(WebCore::buildUserAgentString): Do not include the Version/X
string in the user agent if the ShouldNotIncludeSafariVersion
quirk is present.
(WebCore::standardUserAgentForURL): Add RequiresStandardUserAgent
quirk for any google doamin and ShouldNotIncludeSafariVersion for
Google Maps.

Source/WebKit/gtk:

Remove user agent quirks for google domains, since they are now
implemented in WebCore.

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::userAgent): Pass the WebCore::URL
const reference to webkitWebSettingsUserAgentForURI().

  • webkit/webkitwebsettings.cpp:

(webkitWebSettingsUserAgentForURI): Use
WebCore::standardUserAgentForURL() when site specific quirks are enabled.

  • webkit/webkitwebsettingsprivate.h:

Tools:

Move user agent quirks tests from WebKit1 to WebCore.

  • TestWebKitAPI/Tests/WebCore/gtk/UserAgentQuirks.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitGtk/testwebsettings.c:

(test_webkit_web_settings_user_agent):

2:24 AM Changeset in webkit [170881] by commit-queue@webkit.org
  • 4 edits in trunk

Add option to specify output file location in sunspider.
https://bugs.webkit.org/show_bug.cgi?id=134339

Patch by Gergo Balogh <gbalogh.u-szeged@partner.samsung.com> on 2014-07-08
Reviewed by Darin Adler.

PerformanceTests/SunSpider:

  • sunspider:

Tools:

  • Scripts/run-sunspider:

Jul 7, 2014:

10:56 PM Changeset in webkit [170880] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. iOS build fix after r170871.

  • rendering/RenderThemeIOS.mm:

(WebCore::adjustInputElementButtonStyle):

10:51 PM Changeset in webkit [170879] by achristensen@apple.com
  • 2 edits in trunk/Tools

Unreviewed build fix.

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:

Make Common.cpp excluded from both 32-bit and 64-bit builds.

9:35 PM Changeset in webkit [170878] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix the build after r170876

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-07

  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::linkCode):

9:26 PM Changeset in webkit [170877] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Subpixel rendering: icloud.com password arrow has clipped circle at some window sizes.
https://bugs.webkit.org/show_bug.cgi?id=134710
<rdar://problem/17545291>

Reviewed by Simon Fraser.

Transparent layer clipping needs device pixel snapping.

Source/WebCore:
Test: fast/layers/wrong-clipping-semi-transparent-layer-on-subpixel-position.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::beginTransparencyLayers):

LayoutTests:

  • fast/layers/wrong-clipping-semi-transparent-layer-on-subpixel-position-expected.html: Added.
  • fast/layers/wrong-clipping-semi-transparent-layer-on-subpixel-position.html: Added.
9:23 PM Changeset in webkit [170876] by benjamin@webkit.org
  • 35 edits in trunk/Source

LinkBuffer should not keep a reference to the MacroAssembler
https://bugs.webkit.org/show_bug.cgi?id=134668

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
In FTL, the LinkBuffer can outlive the MacroAssembler that was used for code generation.
When that happens, the pointer m_assembler points to released memory. That was not causing
issues because the attribute is not used after linking, but that was not particularily
future proof.

This patch refactors LinkBuffer to avoid any lifetime risk. The MacroAssembler is now passed
as a reference, it is used for linking but no reference is ever stored with the LinkBuffer.

While fixing the call sites to use a reference, I also discovered LinkBuffer.h was included
everywhere. I refactored some #include to avoid that.

  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::copyCompactAndLinkCode):
(JSC::LinkBuffer::linkCode):

  • assembler/LinkBuffer.h:

(JSC::LinkBuffer::LinkBuffer):

  • bytecode/Watchpoint.cpp:
  • dfg/DFGDisassembler.cpp:
  • dfg/DFGDisassembler.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::linkFunction):

  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGPlan.cpp:
  • dfg/DFGThunks.cpp:

(JSC::DFG::osrExitGenerationThunkGenerator):
(JSC::DFG::osrEntryThunkGenerator):

  • ftl/FTLCompile.cpp:

(JSC::FTL::generateICFastPath):
(JSC::FTL::fixFunctionBasedOnStackMaps):

  • ftl/FTLJSCall.cpp:
  • ftl/FTLJSCall.h:
  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLowerDFGToLLVM.cpp:
  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLThunks.cpp:

(JSC::FTL::osrExitGenerationThunkGenerator):
(JSC::FTL::slowPathCallThunkGenerator):

  • jit/ArityCheckFailReturnThunks.cpp:

(JSC::ArityCheckFailReturnThunks::returnPCsFor):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JITCall.cpp:

(JSC::JIT::privateCompileClosureCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::privateCompileClosureCall):

  • jit/JITDisassembler.cpp:
  • jit/JITDisassembler.h:
  • jit/JITOpcodes.cpp:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompilePutByVal):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::stringGetByValStubGenerator):

  • jit/RegisterPreservationWrapperGenerator.cpp:

(JSC::generateRegisterPreservationWrapper):
(JSC::registerRestorationThunkGenerator):

  • jit/Repatch.cpp:

(JSC::generateByIdStub):
(JSC::tryCacheGetByID):
(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStub):
(JSC::tryRepatchIn):
(JSC::linkClosureCall):

  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::finalize):

  • jit/ThunkGenerators.cpp:

(JSC::throwExceptionFromCallSlowPathGenerator):
(JSC::linkForThunkGenerator):
(JSC::linkClosureCallForThunkGenerator):
(JSC::virtualForThunkGenerator):
(JSC::nativeForGenerator):
(JSC::arityFixup):

  • llint/LLIntThunks.cpp:

(JSC::LLInt::generateThunkWithJumpTo):

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::compile):

Source/WebCore:

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):

9:13 PM Changeset in webkit [170875] by Alan Bujtas
  • 6 edits
    2 adds in trunk

Subpixel rendering: Inline box decoration rounds to integral.
https://bugs.webkit.org/show_bug.cgi?id=134523
<rdar://problem/17530298>

Reviewed by Darin Adler.

This patch removes 2 integral roundings from InlineFlowBox:

  1. Border and padding sizes are implicitly integral truncated by the 'int' return type of borderLogicalLeft/Right()/paddingLogicalLeft/Right(). It results in losing fractional border/padding values.
  2. Painting rectangle is explicitly rounded which pushes border and other decoration elements to odd device pixel positions on retina displays.

These values get pixel snapped right before calling in to GraphicsContext::*.

Source/WebCore:
Test: fast/inline/hidpi-inline-text-decoration-with-subpixel-value.html

  • rendering/InlineBox.h:

(WebCore::InlineBox::frameRect):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::nodeAtPoint):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):
(WebCore::InlineFlowBox::roundedFrameRect): Deleted.

  • rendering/InlineFlowBox.h:

(WebCore::InlineFlowBox::borderLogicalLeft):
(WebCore::InlineFlowBox::borderLogicalRight):
(WebCore::InlineFlowBox::paddingLogicalLeft):
(WebCore::InlineFlowBox::paddingLogicalRight):

LayoutTests:

  • fast/inline/hidpi-inline-text-decoration-with-subpixel-value-expected.html: Added.
  • fast/inline/hidpi-inline-text-decoration-with-subpixel-value.html: Added.
  • platform/mac/css1/formatting_model/inline_elements-expected.txt:
9:00 PM Changeset in webkit [170874] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] gardening after r170864
https://bugs.webkit.org/show_bug.cgi?id=134713

Unreviewed, EFL gardening.

Patch by Hunseop Jeong <Hunseop Jeong> on 2014-07-07

  • platform/efl/TestExpectations: Report and mark several unexpected image-only failures.
8:22 PM Changeset in webkit [170873] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Pass RenderLayer reference instead of pointer to RenderLayer::paintingExtent().
https://bugs.webkit.org/show_bug.cgi?id=134714

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/RenderLayer.cpp: * -> &

(WebCore::expandClipRectForRegionAndReflection):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::transparencyClipBox):
(WebCore::paintingExtent):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
(WebCore::RenderLayer::paintingExtent): Deleted.

  • rendering/RenderLayer.h:
7:40 PM Changeset in webkit [170872] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Turn on accelerated drawing for WebKit2 by default
https://bugs.webkit.org/show_bug.cgi?id=134708
<rdar://problem/17584642>

Reviewed by Simon Fraser.

  • Shared/WebPreferencesDefinitions.h:

Make Mac match iOS, in that accelerated drawing is on by default.

7:27 PM Changeset in webkit [170871] by mmaxfield@apple.com
  • 8 edits in trunk/Source/WebCore

Remove misleadingly-named Font::isSVGFont()
https://bugs.webkit.org/show_bug.cgi?id=134697

Reviewed by Dean Jackson.

Being a SVG font is a property of the FontData object, not
the Font object. Providing an isSVGFont() function on the
Font class will likely lead to incorrect code and non-obvious
bugs.

No new tests because there is no behavior change.

  • platform/graphics/Font.h:

(WebCore::Font::isSVGFont): Deleted.

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::primaryFontDataIsSystemFont):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::constructTextRun):

  • rendering/RenderBlock.cpp:

(WebCore::constructTextRunInternal):

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::constructTextRun):

  • rendering/svg/SVGTextMetrics.cpp:

(WebCore::SVGTextMetrics::constructTextRun):
(WebCore::SVGTextMetrics::SVGTextMetrics):

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

Don't leak _WKRemoteObjectRegistry in WKBrowsingContextController
https://bugs.webkit.org/show_bug.cgi?id=134703

Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController _remoteObjectRegistry]):
Adoption is important!!

6:52 PM Changeset in webkit [170869] by beidson@apple.com
  • 13 edits in trunk/Source/WebCore

Move Gamepad index down into PlatformGamepad.
https://bugs.webkit.org/show_bug.cgi?id=134670

Reviewed by Darin Adler.

PlatformGamepads always have an inherent index anyways.
This will make things easier in all upcoming work.

  • Modules/gamepad/Gamepad.cpp:

(WebCore::Gamepad::Gamepad):

  • Modules/gamepad/Gamepad.h:
  • Modules/gamepad/GamepadManager.cpp:

(WebCore::GamepadManager::platformGamepadConnected):
(WebCore::GamepadManager::platformGamepadDisconnected):
(WebCore::GamepadManager::makeGamepadsVisibileToBlindNavigators):

  • Modules/gamepad/GamepadManager.h:
  • Modules/gamepad/NavigatorGamepad.cpp:

(WebCore::NavigatorGamepad::gamepadsBecameVisible):
(WebCore::NavigatorGamepad::gamepadConnected):
(WebCore::NavigatorGamepad::gamepadDisconnected):

  • Modules/gamepad/NavigatorGamepad.h:
  • platform/GamepadProviderClient.h:
  • platform/PlatformGamepad.h:

(WebCore::PlatformGamepad::index):
(WebCore::PlatformGamepad::PlatformGamepad):

  • platform/mac/HIDGamepad.cpp:

(WebCore::HIDGamepad::HIDGamepad):

  • platform/mac/HIDGamepad.h:
  • platform/mac/HIDGamepadProvider.cpp:

(WebCore::HIDGamepadProvider::deviceAdded):
(WebCore::HIDGamepadProvider::deviceRemoved):
(WebCore::HIDGamepadProvider::removeGamepadForDevice):

  • platform/mac/HIDGamepadProvider.h:
6:38 PM Changeset in webkit [170868] by jonowells@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: CSS style declaration editor should ignore empty lines when determining prefix whitespace
https://bugs.webkit.org/show_bug.cgi?id=134704

Reviewed by Joseph Pecoraro.

When checking for zero-length prefix whitespace, completely empty lines are now ignored
as these lines are most often used for organizing rules into groups and often have their
whitespace removed due to trailing whitespace removal conventions.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:
5:14 PM Changeset in webkit [170867] by Lucas Forschler
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

5:10 PM Changeset in webkit [170866] by Lucas Forschler
  • 1 copy in tags/Safari-537.75.18

New Tag.

5:07 PM Changeset in webkit [170865] by Lucas Forschler
  • 4 edits in branches/safari-537.75-branch/Source

Merged r169927. <rdar://problem/17563093>

4:44 PM Changeset in webkit [170864] by Simon Fraser
  • 15 edits in trunk/Source

[UI-side compositing] Support reflections on custom layers like video
https://bugs.webkit.org/show_bug.cgi?id=134701

Reviewed by Tim Horton.

Source/WebCore:

Add a LayerTypeWebGLLayer layer type, and support casting to PlatformCALayerRemoteCustom.

  • WebCore.exp.in: Export PlatformCALayerMac::layerTypeForPlatformLayer(CALayer*), and sort.
  • platform/graphics/ca/PlatformCALayer.h:

(WebCore::PlatformCALayer::isPlatformCALayerRemoteCustom):

  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::layerTypeForPlatformLayer):
(PlatformCALayerMac::PlatformCALayerMac):
(PlatformCALayerMac::commonInit):

Source/WebKit2:

For video reflections, we have to support cloning of PlatformCALayerRemoteCustom
in the web process. Do so by implementing PlatformCALayerRemoteCustom::clone(),
which does the right gyrations to get AVPlayerLayers cloned, then makes a
new PlatformCALayerRemoteCustom to wrap the new layer. This ends up getting
its own context hosting ID, allowing the clone to show in the UI process.

Attempt to do the same for WebGL, but turn it off because it breaks.

  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::drawInContext):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode): Unconditionally encode/decode
the hostingContextID. It will be 0 for most layers.
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
(WebKit::RemoteLayerTreeTransaction::description):

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::create): Creation with a custom PlatformLayer* always
creates a PlatformCALayerRemoteCustom.
(WebKit::PlatformCALayerRemote::clone): Factor some code.
(WebKit::PlatformCALayerRemote::updateClonedLayerProperties):
(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:

(WebKit::PlatformCALayerRemoteCustom::create):
(WebKit::PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
(WebKit::PlatformCALayerRemoteCustom::clone): Clone by making an instance of the
correct type of platform layer when possible, then wrapping a PlatformCALayerRemoteCustom
around it.
(WebKit::PlatformCALayerRemoteCustom::contents):
(WebKit::PlatformCALayerRemoteCustom::setContents):

  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::layerWasCreated):
(WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):

4:44 PM Changeset in webkit [170863] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exception debugging iOS 7 NetworkAgent.loadResource is unavailable
https://bugs.webkit.org/show_bug.cgi?id=134689

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-07-07
Reviewed by Darin Adler.

Gracefully handle if NetworkAgent.loadResource is unavailable.

  • UserInterface/Controllers/SourceMapManager.js:

(WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):

  • UserInterface/Models/SourceMapResource.js:
4:44 PM Changeset in webkit [170862] by Simon Fraser
  • 5 edits in trunk/Source

[UI-side compositing] Crash when starting a filter transition on a reflected layer
https://bugs.webkit.org/show_bug.cgi?id=134694

Reviewed by Tim Horton.

Source/WebCore:

Don't call the owner if we failed to find the animation key (which actually
isn't used by PlatformCALayerMac anyway).

  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(-[WebAnimationDelegate animationDidStart:]):

Source/WebKit2:

When cloned layers had animations, we would fire two animationDidStart callbacks,
but the second would pass an empty animationKey string to the web process, resulting
in a crash.

Fix by not blindly copying all layer properties when cloning PlatformCALayerRemotes,
since the clone would include addedAnimations, and then get the same animations
added on top by the caller.

Also protect against an empty animation key in the animationDidStart callback.

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::animationDidStart):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::PlatformCALayerRemote):
(WebKit::PlatformCALayerRemote::clone): Don't copy all the properties; copy
them manually as PlatformCALayerMac does. Only copy the big things if they don't
have their default values.
(WebKit::PlatformCALayerRemote::copyFiltersFrom): Need an implementation of this
for clone() to call.

4:44 PM Changeset in webkit [170861] by Simon Fraser
  • 2 edits in trunk/Tools

Have MiniBrowser log and reload if the Web Content Process crashes
https://bugs.webkit.org/show_bug.cgi?id=134691

Reviewed by Tim Horton.

Implement _webViewWebProcessDidCrash, log and reload when the web process
crashes.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController _webViewWebProcessDidCrash:]):

4:33 PM Changeset in webkit [170860] by mhahnenberg@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

Merge r170011 from trunk.

2014-06-16 Michael Saboff <msaboff@apple.com>


Convert ASSERT in inlineFunctionForCapabilityLevel to early return
https://bugs.webkit.org/show_bug.cgi?id=133903


Reviewed by Mark Hahnenberg.


Hardened code by Converting ASSERT to return CannotCompile.


  • dfg/DFGCapabilities.h: (JSC::DFG::inlineFunctionForCapabilityLevel):
4:18 PM Changeset in webkit [170859] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Nearly everything in the UIProcess "leaks" when WKWebView is torn down
https://bugs.webkit.org/show_bug.cgi?id=134699
<rdar://problem/17581777>

Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
Adoption is important!

2:42 PM Changeset in webkit [170858] by enrica@apple.com
  • 9 edits in trunk/Source/WebKit2

REGRESSION(iOS WK2): arrow keys movements don't work.
https://bugs.webkit.org/show_bug.cgi?id=134561
<rdar://problem/16827629>

Reviewed by Benjamin Poulain.

This change add the implementations for cursor movement selectors.
It also provides a mechanism to ensure that every selection
change in WebKit is reflected in UIKit so that it can update the
autocorrection data. This way we ensure that the autocorraction state
is consistent even when selection changes are originated by JavaScript.
WebPageProxy::editorStateChanged now notifies the page client when the
selection is about to change as well as when it actually changed.

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

(WebKit::WebPageProxy::editorStateChanged):

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

(WebKit::PageClientImpl::selectionWillChange):

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

(-[WKContentView cut:]): Removed incorrect calls to textWillChange and
textDidChange.
(-[WKContentView paste:]):
(-[WKContentView _moveUp:withHistory:]):
(-[WKContentView _moveDown:withHistory:]):
(-[WKContentView _moveLeft:withHistory:]):
(-[WKContentView _moveRight:withHistory:]):
(-[WKContentView _moveToStartOfWord:withHistory:]):
(-[WKContentView _moveToStartOfParagraph:withHistory:]):
(-[WKContentView _moveToStartOfLine:withHistory:]):
(-[WKContentView _moveToStartOfDocument:withHistory:]):
(-[WKContentView _moveToEndOfWord:withHistory:]):
(-[WKContentView _moveToEndOfParagraph:withHistory:]):
(-[WKContentView _moveToEndOfLine:withHistory:]):
(-[WKContentView _moveToEndOfDocument:withHistory:]):
(-[WKContentView _selectionWillChange]):
(-[WKContentView _selectionChanged]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::notifySelectionWillChange):

2:06 PM Changeset in webkit [170857] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fast path for jsStringWithCache() when asked for the same string repeatedly.
<https://webkit.org/b/134635>

Reviewed by Darin Adler.

Follow-up to r170818 addressing a review comment by Geoff Garen.

  • runtime/JSString.cpp:

(JSC::jsStringWithCacheSlowCase):

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

Add SPI for saving and restoring a WKWebView's _WKSessionState
https://bugs.webkit.org/show_bug.cgi?id=134693

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKPage.cpp:

(WKPageRestoreFromSessionState):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _sessionState]):
(-[WKWebView _restoreFromSessionStateData:]):
(-[WKWebView _restoreFromSessionState:]):
(-[WKWebView _restoreSessionState:andNavigate:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKSessionState.mm:

(-[_WKSessionState _initWithSessionState:]):

  • UIProcess/API/Cocoa/_WKSessionStateInternal.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::restoreFromSessionState):

  • UIProcess/WebPageProxy.h:
1:39 PM Changeset in webkit [170855] by fpizlo@apple.com
  • 36 edits
    14 adds in branches/ftlopt

[ftlopt] Infer immutable object properties
https://bugs.webkit.org/show_bug.cgi?id=134567

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

This introduces a new way of inferring immutable object properties. A property is said to
be immutable if after its creation (i.e. the transition that creates it), we never
overwrite it (i.e. replace it) or delete it. Immutability is a property of an "own
property" - so if we say that "f" is immutable at "o" then we are implying that "o" has "f"
directly and not on a prototype. More specifically, the immutability inference will prove
that a property on some structure is immutable. This means that, for example, we may have a
structure S1 with property "f" where we claim that "f" at S1 is immutable, but S1 has a
transition to S2 that adds a new property "g" and we may claim that "f" at S2 is actually
mutable. This is mainly for convenience; it allows us to decouple immutability logic from
transition logic. Immutability can be used to constant-fold accesses to objects at
DFG-time. The DFG needs to prove the following to constant-fold the access:

  • The base of the access must be a constant object pointer. We prove that a property at a structure is immutable, but that says nothing of its value; each actual instance of that property may have a different value. So, a constant object pointer is needed to get an actual constant instance of the immutable value.


  • A check (or watchpoint) must have been emitted proving that the object has a structure that allows loading the property in question.


  • The replacement watchpoint set of the property in the structure that we've proven the object to have is still valid and we add a watchpoint to it lazily. The replacement watchpoint set is the key new mechanism that this change adds. It's possible that we have proven that the object has one of many structures, in which case each of those structures needs a valid replacement watchpoint set.


The replacement watchpoint set is created the first time that any access to the property is
cached. A put replace cache will create, and immediately invalidate, the watchpoint set. A
get cache will create the watchpoint set and make it start watching. Any non-cached put
access will invalidate the watchpoint set if one had been created; the underlying algorithm
ensures that checking for the existence of a replacement watchpoint set is very fast in the
common case. This algorithm ensures that no cached access needs to ever do any work to
invalidate, or check the validity of, any replacement watchpoint sets. It also has some
other nice properties:

  • It's very robust in its definition of immutability. The strictest that it will ever be is that for any instance of the object, the property must be written to only once, specifically at the time that the property is created. But it's looser than this in practice. For example, the property may be written to any number of times before we add the final property that the object will have before anyone reads the property; this works since for optimization purposes we only care if we detect immutability on the structure that the object will have when it is most frequently read from, not any previous structure that the object had. Also, we may write to the property any number of times before anyone caches accesses to it.


  • It is mostly orthogonal to structure transitions. No new structures need to be created to track the immutability of a property. Hence, there is no risk from this feature causing more polymorphism. This is different from the previous "specificValue" constant inference, which did cause additional structures to be created and sometimes those structures led to fake polymorphism. This feature does leverage existing transitions to do some of the watchpointing: property deletions don't fire the replacement watchpoint set because that would cause a new structure and so the mandatory structure check would fail. Also, this feature is guaranteed to never kick in for uncacheable dictionaries because those wouldn't allow for cacheable accesses - and it takes a cacheable access for this feature to be enabled.


  • No memory overhead is incurred except when accesses to the property are cached. Dictionary properties will typically have no meta-data for immutability. The number of replacement watchpoint sets we allocate is proportional to the number of inline caches in the program, which is typically must smaller than the number of structures or even the number of objects.


This inference is far more powerful than the previous "specificValue" inference, so this
change also removes all of that code. It's interesting that the amount of code that is
changed to remove that feature is almost as big as the amount of code added to support the
new inference - and that's if you include the new tests in the tally. Without new tests,
it appears that the new feature actually touches less code!

There is one corner case where the previous "specificValue" inference was more powerful.
You can imagine someone creating objects with functions as self properties on those
objects, such that each object instance had the same function pointers - essentially,
someone might be trying to create a vtable but failing at the whole "one vtable for many
instances" concept. The "specificValue" inference would do very well for such programs,
because a structure check would be sufficient to prove a constant value for all of the
function properties. This new inference will fail because it doesn't track the constant
values of constant properties; instead it detects the immutability of otherwise variable
properties (in the sense that each instance of the property may have a different value).
So, the new inference requires having a particular object instance to actually get the
constant value. I think it's OK to lose this antifeature. It took a lot of code to support
and was a constant source of grief in our transition logic, and there doesn't appear to be
any real evidence that programs benefited from that particular kind of inference since
usually it's the singleton prototype instance that has all of the functions.

This change is a speed-up on everything. date-format-xparb and both SunSpider/raytrace and
V8/raytrace seem to be the biggest winners among the macrobenchmarks; they see >5%
speed-ups. Many of our microbenchmarks see very large performance improvements, even 80% in
one case.

  • bytecode/ComplexGetStatus.cpp:

(JSC::ComplexGetStatus::computeFor):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::computeFor):

  • bytecode/GetByIdVariant.cpp:

(JSC::GetByIdVariant::GetByIdVariant):
(JSC::GetByIdVariant::operator=):
(JSC::GetByIdVariant::attemptToMerge):
(JSC::GetByIdVariant::dumpInContext):

  • bytecode/GetByIdVariant.h:

(JSC::GetByIdVariant::alternateBase):
(JSC::GetByIdVariant::specificValue): Deleted.

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeForStubInfo):
(JSC::PutByIdStatus::computeFor):

  • bytecode/PutByIdVariant.cpp:

(JSC::PutByIdVariant::operator=):
(JSC::PutByIdVariant::setter):
(JSC::PutByIdVariant::dumpInContext):

  • bytecode/PutByIdVariant.h:

(JSC::PutByIdVariant::specificValue): Deleted.

  • bytecode/Watchpoint.cpp:

(JSC::WatchpointSet::fireAllSlow):
(JSC::WatchpointSet::fireAll): Deleted.

  • bytecode/Watchpoint.h:

(JSC::WatchpointSet::fireAll):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleGetByOffset):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::handlePutById):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::emitGetByOffset):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::isStringPrototypeMethodSane):
(JSC::DFG::FixupPhase::canOptimizeStringObjectAccess):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::tryGetConstantProperty):
(JSC::DFG::Graph::visitChildren):

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

(JSC::DFG::WatchableStructureWatchingPhase::run):

  • ftl/FTLLowerDFGToLLVM.cpp:

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

  • jit/JITOperations.cpp:
  • jit/Repatch.cpp:

(JSC::repatchByIdSelfAccess):
(JSC::generateByIdStub):
(JSC::tryCacheGetByID):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::putToScopeCommon):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::tryCachePutToScopeGlobal):

  • runtime/IntendedStructureChain.cpp:

(JSC::IntendedStructureChain::mayInterceptStoreTo):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::putToPrimitive):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):

  • runtime/JSObject.cpp:

(JSC::JSObject::put):
(JSC::JSObject::putDirectNonIndexAccessor):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::defaultValue):
(JSC::getCallableObjectSlow): Deleted.
(JSC::JSObject::getPropertySpecificValue): Deleted.

  • runtime/JSObject.h:

(JSC::JSObject::getDirect):
(JSC::JSObject::getDirectOffset):
(JSC::JSObject::inlineGetOwnPropertySlot):
(JSC::JSObject::putDirectInternal):
(JSC::JSObject::putOwnDataProperty):
(JSC::JSObject::putDirect):
(JSC::JSObject::putDirectWithoutTransition):
(JSC::getCallableObject): Deleted.

  • runtime/JSScope.cpp:

(JSC::abstractAccess):

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyMapEntry::PropertyMapEntry):
(JSC::PropertyTable::copy):

  • runtime/PropertyTable.cpp:

(JSC::PropertyTable::clone):
(JSC::PropertyTable::PropertyTable):
(JSC::PropertyTable::visitChildren): Deleted.

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::materializePropertyMap):
(JSC::Structure::addPropertyTransitionToExistingStructureImpl):
(JSC::Structure::addPropertyTransitionToExistingStructure):
(JSC::Structure::addPropertyTransitionToExistingStructureConcurrently):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::changePrototypeTransition):
(JSC::Structure::attributeChangeTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::preventExtensionsTransition):
(JSC::Structure::takePropertyTableOrCloneIfPinned):
(JSC::Structure::nonPropertyTransition):
(JSC::Structure::addPropertyWithoutTransition):
(JSC::Structure::allocateRareData):
(JSC::Structure::ensurePropertyReplacementWatchpointSet):
(JSC::Structure::startWatchingPropertyForReplacements):
(JSC::Structure::didCachePropertyReplacement):
(JSC::Structure::startWatchingInternalProperties):
(JSC::Structure::copyPropertyTable):
(JSC::Structure::copyPropertyTableForPinning):
(JSC::Structure::getConcurrently):
(JSC::Structure::get):
(JSC::Structure::add):
(JSC::Structure::visitChildren):
(JSC::Structure::prototypeChainMayInterceptStoreTo):
(JSC::Structure::dump):
(JSC::Structure::despecifyDictionaryFunction): Deleted.
(JSC::Structure::despecifyFunctionTransition): Deleted.
(JSC::Structure::despecifyFunction): Deleted.
(JSC::Structure::despecifyAllFunctions): Deleted.
(JSC::Structure::putSpecificValue): Deleted.

  • runtime/Structure.h:

(JSC::Structure::startWatchingPropertyForReplacements):
(JSC::Structure::startWatchingInternalPropertiesIfNecessary):
(JSC::Structure::startWatchingInternalPropertiesIfNecessaryForEntireChain):
(JSC::Structure::transitionDidInvolveSpecificValue): Deleted.
(JSC::Structure::disableSpecificFunctionTracking): Deleted.

  • runtime/StructureInlines.h:

(JSC::Structure::getConcurrently):
(JSC::Structure::didReplaceProperty):
(JSC::Structure::propertyReplacementWatchpointSet):

  • runtime/StructureRareData.cpp:

(JSC::StructureRareData::destroy):

  • runtime/StructureRareData.h:
  • tests/stress/infer-constant-global-property.js: Added.

(foo.Math.sin):
(foo):

  • tests/stress/infer-constant-property.js: Added.

(foo):

  • tests/stress/jit-cache-poly-replace-then-cache-get-and-fold-then-invalidate.js: Added.

(foo):
(bar):

  • tests/stress/jit-cache-replace-then-cache-get-and-fold-then-invalidate.js: Added.

(foo):
(bar):

  • tests/stress/jit-put-to-scope-global-cache-watchpoint-invalidate.js: Added.

(foo):
(bar):

  • tests/stress/llint-cache-replace-then-cache-get-and-fold-then-invalidate.js: Added.

(foo):
(bar):

  • tests/stress/llint-put-to-scope-global-cache-watchpoint-invalidate.js: Added.

(foo):
(bar):

  • tests/stress/repeat-put-to-scope-global-with-same-value-watchpoint-invalidate.js: Added.

(foo):
(bar):

LayoutTests:

  • js/regress/infer-constant-global-property-expected.txt: Added.
  • js/regress/infer-constant-global-property.html: Added.
  • js/regress/infer-constant-property-expected.txt: Added.
  • js/regress/infer-constant-property.html: Added.
  • js/regress/script-tests/infer-constant-global-property.js: Added.
  • js/regress/script-tests/infer-constant-property.js: Added.
1:28 PM Changeset in webkit [170854] by andersca@apple.com
  • 3 edits
    5 copies in trunk/Source/WebKit2

Add a stubbed out _WKSessionState class
https://bugs.webkit.org/show_bug.cgi?id=134690

Reviewed by Geoffrey Garen.

  • UIProcess/API/Cocoa/_WKSessionState.h: Copied from Source/WebKit2/UIProcess/LegacySessionStateCoding.h.
  • UIProcess/API/Cocoa/_WKSessionState.mm: Copied from Source/WebKit2/UIProcess/LegacySessionStateCoding.h.

(-[_WKSessionState initWithData:]):
(-[_WKSessionState data]):

  • UIProcess/API/Cocoa/_WKSessionStateInternal.h: Copied from Source/WebKit2/UIProcess/LegacySessionStateCoding.h.
  • UIProcess/Cocoa/SessionStateCoding.h: Copied from Source/WebKit2/UIProcess/LegacySessionStateCoding.h.
  • UIProcess/Cocoa/SessionStateCoding.mm: Copied from Source/WebKit2/UIProcess/LegacySessionStateCoding.h.

(WebKit::encodeSessionState):
(WebKit::decodeSessionState):

  • UIProcess/LegacySessionStateCoding.h:
  • WebKit2.xcodeproj/project.pbxproj:
12:52 PM Changeset in webkit [170853] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Some of the WKPreferences (API) property getters read like questions
https://bugs.webkit.org/show_bug.cgi?id=134678
<rdar://problem/17576847>

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences javaScriptIsEnabled]):
(-[WKPreferences javaIsEnabled]):
(-[WKPreferences plugInsAreEnabled]):
(-[WKPreferences isJavaScriptEnabled]): Deleted.
(-[WKPreferences isJavaEnabled]): Deleted.
(-[WKPreferences arePlugInsEnabled]): Deleted.

11:50 AM Changeset in webkit [170852] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

ServicesOverlayController menus show up in the wrong place.
<rdar://problem/17130576> and https://bugs.webkit.org/show_bug.cgi?id=134684

Reviewed by Tim Horton.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged): Handle cases where

the telephone number is in a subframe.

(WebKit::ServicesOverlayController::handleClick): The click point is always in main frame document

coordinates, so convert it to window coordinates using the main frame’s FrameView.

11:31 AM Changeset in webkit [170851] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Add missing ENABLE(FTL_JIT) guards
https://bugs.webkit.org/show_bug.cgi?id=134680

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-07-07
Reviewed by Darin Adler.

  • ftl/FTLDWARFDebugLineInfo.cpp:
  • ftl/FTLDWARFDebugLineInfo.h:
  • ftl/FTLGeneratedFunction.h:
11:30 AM Changeset in webkit [170850] by bshafiei@apple.com
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

11:21 AM Changeset in webkit [170849] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS WebGL] Fix crash with too many nested glsl functions.
https://bugs.webkit.org/show_bug.cgi?id=134683
<rdar://problem/17541529>

Patch by Alex Christensen <achristensen@webkit.org> on 2014-07-07
Reviewed by Geoffrey Garen.

This fixes the Khronos WebGL 1.0.3 test nested-functions-should-not-crash.html.

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
Add SH_LIMIT_CALL_STACK_DEPTH to extraCompileOptions.

11:18 AM Changeset in webkit [170848] by berto@igalia.com
  • 2 edits in trunk/Tools

update-webkitgtk-libs script fails by unsatisfied dependencies
https://bugs.webkit.org/show_bug.cgi?id=134547

Reviewed by Martin Robinson.

Install libxcb-xfixes0-dev, needed to build Mesa.

  • gtk/install-dependencies:
10:52 AM Changeset in webkit [170847] by dbates@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Add test to ensure that SVGDocumentExtensions::rebuildElements() doesn't rebuild invalid elements
https://bugs.webkit.org/show_bug.cgi?id=134417
<rdar://problem/17479854>

Reviewed by David Kilzer.

Add a test that implicitly checks that the list of SVG elements to be rebuilt doesn't contain
removed elements. Run this test in DRT with Guard Malloc/MallocScribble (or the platform-
specific equivalent) enabled.

  • svg/custom/overwrite-page-that-has-use-elements-expected.txt: Added.
  • svg/custom/overwrite-page-that-has-use-elements.html: Added.
10:20 AM Changeset in webkit [170846] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

Unreviewed Mac gardening after r170817.

  • platform/mac-wk2/TestExpectations:
9:21 AM Changeset in webkit [170845] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] Assertion failure in NavigationState::LoaderClient::didStartProvisionalLoadForFrame (navigationID) when navigating through the page cache
https://bugs.webkit.org/show_bug.cgi?id=134682

Reviewed by Tim Horton.

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame): Replaced the
assertion with a FIXME.
(WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
Ditto.
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): Ditto.
(WebKit::NavigationState::LoaderClient::didCommitLoadForFrame): Ditto.
(WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame): Ditto.
(WebKit::NavigationState::LoaderClient::didFinishLoadForFrame): Ditto.
(WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame): Ditto.

4:48 AM Changeset in webkit [170844] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL] Fix cursor artifacts on naver map site.
https://bugs.webkit.org/show_bug.cgi?id=134649

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2014-07-07
Reviewed by Gyuyoung Kim.

Old evas cursor and ecore x cursor are reset before new cursor is applied.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::updateCursor):

2:04 AM Changeset in webkit [170843] by zandobersek@gmail.com
  • 5 edits in trunk/Source

Enable ARMv7 disassembler for the GTK port
https://bugs.webkit.org/show_bug.cgi?id=134676

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

  • CMakeLists.txt: Add ARMv7DOpcode.cpp file to the build.
  • disassembler/ARMv7/ARMv7DOpcode.cpp: Include the string.h header for strlen().

Source/WTF:

  • wtf/Platform.h: Enable the ARMv7 disassembler for the GTK port when

targeting the ARMv7 architecture.

12:38 AM Changeset in webkit [170842] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

Remove failure expectations for tests that have been passing after r168046, r168350, r168400,
r168479, r169309, r169620, r169689 and r169799.

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-07-07

  • platform/gtk/TestExpectations:
12:16 AM Changeset in webkit [170841] by Ion Rosca
  • 6 edits
    6 adds in trunk

[CSS Blending]The background images set on the root element will blend on an initial white backdrop.
https://bugs.webkit.org/show_bug.cgi?id=134342

Reviewed by Dean Jackson.

Source/WebCore:
Tests: css3/blending/background-blend-mode-body-image.html

css3/blending/background-blend-mode-body-transparent-color-and-image.html
css3/blending/background-blend-mode-body-transparent-image.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintFillLayers):
If the background layers have blend modes, we paint the base background color first,
before starting a new transparency layer. After creating the transparency layer,
the base background will be skipped, and the background layers will blend on top of
a transparent backdrop.
(WebCore::RenderBox::paintFillLayer):

  • rendering/RenderBox.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
This method is able to paint only the base background color (BaseBackgroundColorOnly),
skipping the background-color and background-images. This option is available only
on bottom layer of the root renderer and only if the background color is not opaque,
otherwise the method will return early.
Another option is to paint the root background without using the base background color
(BaseBackgroundColorSkip).

  • rendering/RenderBoxModelObject.h:

Adding the BaseBackgroundColorUsage enum.

LayoutTests:

  • css3/blending/background-blend-mode-body-image-expected.html: Added.
  • css3/blending/background-blend-mode-body-image.html: Added.
  • css3/blending/background-blend-mode-body-transparent-color-and-image-expected.html: Added.
  • css3/blending/background-blend-mode-body-transparent-color-and-image.html: Added.
  • css3/blending/background-blend-mode-body-transparent-image-expected.html: Added.
  • css3/blending/background-blend-mode-body-transparent-image.html: Added.
12:14 AM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)

Jul 6, 2014:

11:26 PM Changeset in webkit [170840] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] The tap highlight ID is not invalidated when a long press ends
https://bugs.webkit.org/show_bug.cgi?id=134660

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-06
Reviewed by Darin Adler.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _cancelInteraction]):
(-[WKContentView _finishInteraction]):
(cancelPotentialTapIfNecessary):
I messed that up in r170600. I only accounted for the web process being too fast.

If the web process is too slow, _cancelInteraction or _finishInteraction happen before
_didGetTapHighlightForRequest:, and we also need to nuke the tap highlight.

11:24 PM Changeset in webkit [170839] by benjamin@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

[ARMv7] Use 16 bits instructions for push/pop when possible
https://bugs.webkit.org/show_bug.cgi?id=134656

Reviewed by Andreas Kling.

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::pop):
(JSC::ARMv7Assembler::push):
(JSC::ARMv7Assembler::ARMInstructionFormatter::oneWordOp7Imm9):
Add the 16 bits version of push and pop.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::pop):
(JSC::MacroAssemblerARMv7::push):
Use the new push/pop instead of a regular load/store.

  • disassembler/ARMv7/ARMv7DOpcode.cpp:

(JSC::ARMv7Disassembler::ARMv7DOpcode::appendRegisterList):

  • disassembler/ARMv7/ARMv7DOpcode.h:

(JSC::ARMv7Disassembler::ARMv7DOpcodeMiscPushPop::registerMask):
Fix the disassembler for push/pop:
-The register mask was on 7 bits for some reason.
-The code printing the registers was comparing a register ID with a register

mask.

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

[WK2] Don't support dynamically enabling the RemoteLayerTree debug indicator
https://bugs.webkit.org/show_bug.cgi?id=134644

Reviewed by Darin Adler.

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::setShouldShowDebugIndicator): Deleted.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::preferencesDidChange):

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

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::initializeDebugIndicator):
(WebKit::RemoteLayerTreeDrawingAreaProxy::setShouldShowDebugIndicator): Deleted.
The indicator depends on the live layer tree commits coming in, including layer creation,
so it can't be turned on after the root layer is created. Even a refresh is insufficient
to get it working; the debug indicator really needs to exist from the first commit.
So, don't even attempt to dynamically enable the indicator; create it at
RemoteLayerTreeDrawingAreaProxy construction time if the pref is enabled.

10:02 PM Changeset in webkit [170837] by yoav@yoav.ws
  • 18 edits in trunk

Turn on img@sizes compile flag
https://bugs.webkit.org/show_bug.cgi?id=134634

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Moved compile flag to alphabetical order.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Moved compile flag to alphabetical order.

Source/WebKit:

  • mac/Configurations/FeatureDefines.xcconfig: Moved compile flag to alphabetical order.

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Moved compile flag to alphabetical order.

Source/WTF:

  • wtf/FeatureDefines.h: Added compile flag definition.

Tools:

  • Scripts/webkitperl/FeatureList.pm: Turn on the img@sizes feature.

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props: Added compile flag.

LayoutTests:

9:49 PM Changeset in webkit [170836] by fpizlo@apple.com
  • 27 edits in branches/ftlopt/Source/JavaScriptCore

Add more coverage for the profile_types_with_high_fidelity op code.
https://bugs.webkit.org/show_bug.cgi?id=134616

Patch by Saam Barati <sbarati@apple.com> on 2014-07-03
Reviewed by Filip Pizlo.

More operations are now being recorded by the profile_types_with_high_fidelity
opcode. Specifically: function parameters, function return values,
function 'this' value, get_by_id, get_by_value, resolve nodes, function return
values at the call site. Added more flags to the profile_types_with_high_fidelity
opcode so more focused tasks can take place when the instruction is
being linked in CodeBlock. Re-worked the type profiler to search
through character offset ranges when asked for the type of an expression
at a given offset. Removed redundant calls to Structure::toStructureShape
in HighFidelityLog and TypeSet by caching calls based on StructureID.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::scopeDependentProfile):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::returnStatementTypeSet):

  • bytecode/TypeLocation.h:
  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedCodeBlock::highFidelityTypeProfileExpressionInfoForBytecodeOffset):
(JSC::UnlinkedCodeBlock::addHighFidelityTypeProfileExpressionInfo):

  • bytecode/UnlinkedCodeBlock.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitMove):
(JSC::BytecodeGenerator::emitProfileTypesWithHighFidelity):
(JSC::BytecodeGenerator::emitGetFromScopeWithProfile):
(JSC::BytecodeGenerator::emitPutToScope):
(JSC::BytecodeGenerator::emitPutToScopeWithProfile):
(JSC::BytecodeGenerator::emitPutById):
(JSC::BytecodeGenerator::emitPutByVal):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::emitHighFidelityTypeProfilingExpressionInfo):

  • bytecompiler/NodesCodegen.cpp:

(JSC::ResolveNode::emitBytecode):
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::FunctionCallDotNode::emitBytecode):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PostfixNode::emitBracket):
(JSC::PostfixNode::emitDot):
(JSC::PrefixNode::emitResolve):
(JSC::PrefixNode::emitBracket):
(JSC::PrefixNode::emitDot):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::ReadModifyDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode):
(JSC::ReadModifyBracketNode::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::FunctionBodyNode::emitBytecode):

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getRuntimeTypeForVariableAtOffset):
(Inspector::InspectorRuntimeAgent::getRuntimeTypeForVariableInTextRange): Deleted.

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/protocol/Runtime.json:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::getFromScopeCommon):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • runtime/HighFidelityLog.cpp:

(JSC::HighFidelityLog::processHighFidelityLog):
(JSC::HighFidelityLog::actuallyProcessLogThreadFunction):
(JSC::HighFidelityLog::recordTypeInformationForLocation): Deleted.

  • runtime/HighFidelityLog.h:

(JSC::HighFidelityLog::recordTypeInformationForLocation):

  • runtime/HighFidelityTypeProfiler.cpp:

(JSC::HighFidelityTypeProfiler::getTypesForVariableInAtOffset):
(JSC::HighFidelityTypeProfiler::getGlobalTypesForVariableAtOffset):
(JSC::HighFidelityTypeProfiler::getLocalTypesForVariableAtOffset):
(JSC::HighFidelityTypeProfiler::insertNewLocation):
(JSC::HighFidelityTypeProfiler::findLocation):
(JSC::HighFidelityTypeProfiler::getTypesForVariableInRange): Deleted.
(JSC::HighFidelityTypeProfiler::getGlobalTypesForVariableInRange): Deleted.
(JSC::HighFidelityTypeProfiler::getLocalTypesForVariableInRange): Deleted.
(JSC::HighFidelityTypeProfiler::getLocationBasedHash): Deleted.

  • runtime/HighFidelityTypeProfiler.h:

(JSC::LocationKey::LocationKey): Deleted.
(JSC::LocationKey::hash): Deleted.
(JSC::LocationKey::operator==): Deleted.

  • runtime/Structure.cpp:

(JSC::Structure::toStructureShape):

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

(JSC::TypeSet::TypeSet):
(JSC::TypeSet::addTypeForValue):
(JSC::TypeSet::seenTypes):
(JSC::TypeSet::removeDuplicatesInStructureHistory): Deleted.

  • runtime/TypeSet.h:

(JSC::StructureShape::setConstructorName):

  • runtime/VM.cpp:

(JSC::VM::getTypesForVariableAtOffset):
(JSC::VM::dumpHighFidelityProfilingTypes):
(JSC::VM::getTypesForVariableInRange): Deleted.

  • runtime/VM.h:
8:42 PM Changeset in webkit [170835] by hw1008.kim@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers.

  • Scripts/webkitpy/common/config/contributors.json:
7:06 PM Changeset in webkit [170834] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Flags value of SourceCodeKey should be unique for each case.
https://bugs.webkit.org/show_bug.cgi?id=134435

Patch by Daewoong Jang <daewoong.jang@navercorp.com> on 2014-07-06
Reviewed by Darin Adler.

Different combinations of CodeType and JSParserStrictness could generate same m_flags value because
the value of CodeType and the value of JSParserStrictness shares a bit inside m_flags member variable.
Shift the value of CodeType one bit farther to the left so those values don't overlap.

  • runtime/CodeCache.h:

(JSC::SourceCodeKey::SourceCodeKey):

6:22 PM Changeset in webkit [170833] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Generate isMathMLFoo() toMathMLFoo() by using NODE_TYPE_CASTS macro and generateTypeHelpers
https://bugs.webkit.org/show_bug.cgi?id=134647

Reviewed by Andreas Kling.

Use type cast macro and generation tag for isFoo() and toFoo() in some MathML classes.

No new tests, no behavior change.

  • mathml/MathMLElement.h: Place MathMLElementTypeHelpers.h to the bottom of the

file so that functions from that file can use the Element|Node classes and other things defined in this file.

  • mathml/MathMLMencloseElement.h:

(WebCore::toMathMLMencloseElement): Deleted.

  • mathml/mathtags.in:
6:18 PM Changeset in webkit [170832] by Yusuke Suzuki
  • 10 edits in trunk/Source/WebCore

CSS JIT: Ensure resolvingMode size is 1 byte
https://bugs.webkit.org/show_bug.cgi?id=134662

Reviewed by Benjamin Poulain.

Since selector compiler uses MacroAssembler::branch8 for SelectorChecker::Mode,
we should ensure sizeof(SelectorChecker::Mode) == 1.
Old implementation works only in little endianness environments.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::matchedResult):
(WebCore::ElementRuleCollector::matchedRuleList):
(WebCore::ElementRuleCollector::collectMatchingRules):
(WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
(WebCore::ElementRuleCollector::hasAnyMatchingRules):

  • css/ElementRuleCollector.h:

(WebCore::ElementRuleCollector::ElementRuleCollector):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::match):
(WebCore::SelectorChecker::matchRecursively):
(WebCore::SelectorChecker::checkOne):

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

(WebCore::invalidateStyleRecursively):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::pseudoStyleRulesForElement):

  • css/StyleResolver.h:

(WebCore::checkRegionSelector):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNotResolvingStyle):
(WebCore::SelectorCompiler::elementIsActiveForStyleResolution):
(WebCore::SelectorCompiler::elementIsHoveredForStyleResolution):

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::selectorMatches):

5:01 PM Changeset in webkit [170831] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit2

Speculative fix for: NetworkProcess sometimes hangs under copyDefaultCredentialForProtectionSpace
https://bugs.webkit.org/show_bug.cgi?id=134666

Reviewed by Tim Horton.

  • Shared/mac/SecItemRequestData.cpp:

(WebKit::SecItemRequestData::encode): Encode whether or not the query dictionary exists.
(WebKit::SecItemRequestData::decode): Only fail when query dictionary fails to decode if we expect one.

  • UIProcess/mac/SecItemShimProxy.cpp:

(WebKit::SecItemShimProxy::secItemRequest): If the request is of type Invalid, log an error message asking

for a bug, and respond with an "invalid parameter" error.

1:05 PM Changeset in webkit [170830] by Antti Koivisto
  • 5 edits in trunk/Source

Don't throttle layer flushes when the main resource is a GIF
https://bugs.webkit.org/show_bug.cgi?id=134650

Source/WebCore:
<rdar://problem/17490712>

Reviewed by Simon Fraser.

Avoid throttling big image animations.

  • page/FrameView.cpp:

(WebCore::determineLayerFlushThrottleState):

Disable for image documents.

(WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
(WebCore::FrameView::updateLayerFlushThrottling):

Refactor a bit.

  • page/LayerFlushThrottleState.h:


Rename the flag.

Source/WebKit2:

Reviewed by Simon Fraser.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::adjustLayerFlushThrottling):

11:03 AM Changeset in webkit [170829] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Inline NodeListsNodeData helpers more aggressively.
<https://webkit.org/b/134654>

Get rid of call overhead costs when retrieving NodeLists and
HTMLCollections from Document. These functions have very few clients,
so there's no real reason to keep them out of line.

Reviewed by Antti Koivisto.

  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::addCacheWithAtomicName):
(WebCore::NodeListsNodeData::addCacheWithName):

11:01 AM Changeset in webkit [170828] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Inline Node's rare data getters.
<https://webkit.org/b/134652>

There was a fair bit of overhead when calling Node::ensureRareData()
from Document's collection getters. This patch inlines the case where
we've already materialized the rare data.

Reviewed by Antti Koivisto.

  • dom/Node.cpp:

(WebCore::Node::materializeRareData):
(WebCore::Node::rareData): Deleted.
(WebCore::Node::ensureRareData): Deleted.

  • dom/Node.h:
  • dom/NodeRareData.h:

(WebCore::Node::rareData):
(WebCore::Node::ensureRareData):

Jul 5, 2014:

5:03 PM Changeset in webkit [170827] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] MediaDocument should set a viewport
https://bugs.webkit.org/show_bug.cgi?id=134658
<rdar://problem/17552339>

Reviewed by Zalan Bujtas.

A MediaDocument should fill the viewport, so set its
initial-scale to 1 and make it non-zoomable.

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure): Create
a <head> element and a <meta> element with a 1:1 viewport.

10:56 AM Changeset in webkit [170826] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

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

broke debug builds (Requested by kling on #webkit).

Reverted changeset:

"Generate isMathMLFoo() toMathMLFoo() by using NODE_TYPE_CASTS
macro and generateTypeHelpers"
https://bugs.webkit.org/show_bug.cgi?id=134647
http://trac.webkit.org/changeset/170825

10:36 AM Changeset in webkit [170825] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Generate isMathMLFoo() toMathMLFoo() by using NODE_TYPE_CASTS macro and generateTypeHelpers
https://bugs.webkit.org/show_bug.cgi?id=134647

Reviewed by Andreas Kling.

Use type cast macro and generation tag for isFoo() and toFoo() in some MathML classes.

No new tests, no behavior change.

  • mathml/MathMLElement.h: Place MathMLElementTypeHelpers.h to the bottom of the

file so that functions from that file can use the Element|Node classes and other things defined in this file.
(WebCore::isMathMLElement): Deleted.

  • mathml/MathMLMencloseElement.h:

(WebCore::toMathMLMencloseElement): Deleted.

  • mathml/mathtags.in:
3:29 AM Changeset in webkit [170824] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Add libgeoclue-dev to Tools/efl/install-dependencies.
https://bugs.webkit.org/show_bug.cgi?id=134648

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2014-07-05
Reviewed by Gyuyoung Kim.

As Geoclue is enabled for EFL, libgeoclue-dev is also added to Tools/efl/install-dependencies.

  • efl/install-dependencies:

Jul 4, 2014:

11:33 PM Changeset in webkit [170823] by gyuyoung.kim@samsung.com
  • 8 edits in trunk

[EFL] Support Geolocation
https://bugs.webkit.org/show_bug.cgi?id=134439

Reviewed by Antonio Gomes.

.:

  • Source/cmake/OptionsEfl.cmake: Turn on ENABLE_GEOLOCATION.

Source/WebCore:
Add geoclue files in order to enable geolocation for EFL port.

  • PlatformEfl.cmake:

Tools:

  • Scripts/webkitperl/FeatureList.pm: Enable geolocation for EFL port.

LayoutTests:

  • platform/efl/TestExpectations: Unskip geolocation tests.
10:25 PM Changeset in webkit [170822] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

CSS JIT: compile :in-range and :out-of-range
https://bugs.webkit.org/show_bug.cgi?id=134639

Reviewed by Andreas Kling.

The pseudo class :in-range and :out-of-range are trivial non-inlined selectors.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::isInRange):
(WebCore::isOutOfRange):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):

9:43 PM Changeset in webkit [170821] by fpizlo@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

Merge trunk r169595.

2014-06-04 Filip Pizlo <fpizlo@apple.com>


DFG::Safepoint::begin() should set m_didCallBegin before releasing the rightToRun lock, because otherwise, Safepoint::checkLivenessAndVisitChildren() may assert due to a race
https://bugs.webkit.org/show_bug.cgi?id=133525
<rdar://problem/16790296>


Reviewed by Oliver Hunt.


  • dfg/DFGSafepoint.cpp: (JSC::DFG::Safepoint::begin):
9:28 PM Changeset in webkit [170820] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Enhance the Minibrowser to show selected/highlighted text in search bar, if any.
https://bugs.webkit.org/show_bug.cgi?id=134485

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

Use script_execute_callback to get selected/highlighted text and show in search bar.

  • MiniBrowser/efl/main.c:

(script_execute_callback):
(on_key_down):

9:13 PM Changeset in webkit [170819] by fpizlo@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt][REGRESSION] debug tests fail because PutByIdDirect is now implemented in terms of In
https://bugs.webkit.org/show_bug.cgi?id=134642

Rubber stamped by Andreas Kling.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

8:36 PM Changeset in webkit [170818] by akling@apple.com
  • 10 edits in trunk/Source

Fast path for jsStringWithCache() when asked for the same string repeatedly.
<https://webkit.org/b/134635>

Source/JavaScriptCore:
Also moved the whole thing from WebCore to JavaScriptCore since it
makes more sense here, and inline the lightweight checks, leaving only
the hashmap stuff out of line.

Reviewed by Darin Adler.

  • runtime/JSString.cpp:

(JSC::jsStringWithCacheSlowCase):

  • runtime/JSString.h:

(JSC::jsStringWithCache):

  • runtime/VM.h:

Source/WebCore:
Reviewed by Darin Adler.

  • WebCore.exp.in:
  • bindings/js/JSDOMBinding.cpp:

(WebCore::jsStringWithCache): Deleted.

  • bindings/js/JSDOMBinding.h:

(WebCore::JSValueTraits<String>::arrayJSValue):
(WebCore::jsStringWithCache): Deleted.

  • bridge/c/c_utility.cpp:

(JSC::Bindings::convertNPVariantToValue):

  • loader/cache/CachedResourceHandle.h:
8:03 PM Changeset in webkit [170817] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Subpixel rendering: ebay.com rotating billboard on the main page has cut off buttons.
https://bugs.webkit.org/show_bug.cgi?id=134636
<rdar://problem/17529112>

Reviewed by Darin Adler.

Missing pixel snapping when clipping the transparency layer for BackgroundBleedUseTransparencyLayer.
Clipping needs to take the same snapping strategy as the rest of the painting code.

Source/WebCore:
Test: fast/borders/border-radius-on-subpixel-position-non-hidpi.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations):

LayoutTests:

  • fast/borders/border-radius-on-subpixel-position-non-hidpi-expected.html: Added.
  • fast/borders/border-radius-on-subpixel-position-non-hidpi.html: Added.
6:29 PM Changeset in webkit [170816] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

QualifiedName should use RefPtr<QualifiedNameImpl> internally.
<https://webkit.org/b/132796>

We were not inlining ~QualifiedName() and it was showing up in some
profiles (over 1% on dom-attr.html.)

This patch modernizes QualifiedName a bit by using RefPtr to store
the QualifiedNameImpl instead of doing manual ref() and deref()
in out-of-line functions.

Reviewed by Darin Adler.

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

(WebCore::QNameComponentsTranslator::translate):
(WebCore::QualifiedName::QualifiedName):
(WebCore::QualifiedName::~QualifiedName): Deleted.
(WebCore::QualifiedName::deref): Deleted.

  • dom/QualifiedName.h:

(WebCore::QualifiedName::QualifiedNameImpl::create):
(WebCore::QualifiedName::QualifiedName):
(WebCore::QualifiedName::isHashTableDeletedValue):
(WebCore::QualifiedName::~QualifiedName):
(WebCore::QualifiedName::operator=):
(WebCore::QualifiedName::impl):
(WebCore::QualifiedName::ref): Deleted.

4:03 PM Changeset in webkit [170815] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] [Media] Prevent page zoom if it started in the video element
https://bugs.webkit.org/show_bug.cgi?id=134640
<rdar://problem/16630794>

Reviewed by Sam Weinig.

In r170572 I attempted to prevent the page zoom from happening
when the user was attempting to fullscreen the video. That fix was
not complete, because it relied on the touchstart event being
sent before a gesture event. It turns out this doesn't always happen,
so we need to apply the same check in the gesture event - if the
gesture began with two fingers on the media, don't do a page zoom.
The exception is zooming out, if you've managed to make the video
cover the entire screen (also, the pinch-out-of-fullscreen gesture
does not get handled by WebKit).

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handleBaseGestureChange): Add a check to
make sure our pinch didn't start in the video element.

3:27 PM Changeset in webkit [170814] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2]Fix build break in EFL WK2
https://bugs.webkit.org/show_bug.cgi?id=134629

Unreviewed build fix.

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-07-04

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:

(WebKit::CoordinatedDrawingArea::scheduleCompositingLayerFlushImmediately):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
3:26 PM Changeset in webkit [170813] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[CoordinatedGraphics] Use the C++11 syntax to clean-up for loops
https://bugs.webkit.org/show_bug.cgi?id=134594

Patch by Hunseop Jeong <Hunseop Jeong> on 2014-07-04
Reviewed by Darin Adler.

Convert a couple of loops to range-based for

No change in functionality, no new tests.

  • platform/graphics/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::updateTileBuffers):
(WebCore::TiledBackingStore::resizeEdgeTiles):
(WebCore::TiledBackingStore::setKeepRect):

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

(WebCore::CompositingCoordinator::~CompositingCoordinator):
(WebCore::CompositingCoordinator::flushPendingImageBackingChanges):
(WebCore::CompositingCoordinator::setVisibleContentsRect):
(WebCore::CompositingCoordinator::purgeBackingStores):

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

(WebCore::CoordinatedBackingStore::removeAllTiles):
(WebCore::CoordinatedBackingStore::paintToTextureMapper):
(WebCore::CoordinatedBackingStore::drawBorder):
(WebCore::CoordinatedBackingStore::drawRepaintCounter):
(WebCore::CoordinatedBackingStore::commitTileOperations):

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

(WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):
(WebCore::CoordinatedGraphicsScene::commitPendingBackingStoreOperations):

2:54 PM Changeset in webkit [170812] by mitz@apple.com
  • 2 edits in trunk/Tools

Build fix after r170811.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController reload:]):

2:00 PM Changeset in webkit [170811] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] -[WKWebView _reload] is unused
https://bugs.webkit.org/show_bug.cgi?id=134638

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _reload]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
1:49 PM Changeset in webkit [170810] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2] Take TopContentInset into account when sending dictionary lookup point to PluginView
https://bugs.webkit.org/show_bug.cgi?id=134624
<rdar://problem/17222041>

Reviewed by Sam Weinig.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::performDictionaryLookupAtLocation):
Perform the same coordinate conversion we use for mouse events, which happens
to take the top content inset into account.

12:54 PM Changeset in webkit [170809] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

CTTE: ScriptElement always has a HTTPScriptElement or SVGScriptElement.
<https://webkit.org/b/134637>

Have ScriptElement store the pointer to the more specific subclass
element as a reference. Also made the constructor protected since
nobody should instantiate ScriptElement directly.

Reviewed by Antti Koivisto.

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::ScriptElement):
(WebCore::ScriptElement::childrenChanged):
(WebCore::ScriptElement::dispatchErrorEvent):
(WebCore::ScriptElement::prepareScript):
(WebCore::ScriptElement::requestScript):
(WebCore::ScriptElement::executeScript):
(WebCore::ScriptElement::notifyFinished):
(WebCore::ScriptElement::ignoresLoadRequest):
(WebCore::ScriptElement::scriptContent):

  • dom/ScriptElement.h:

(WebCore::ScriptElement::element):

  • dom/ScriptRunner.cpp:

(WebCore::ScriptRunner::queueScriptForExecution):

  • html/HTMLScriptElement.cpp:

(WebCore::HTMLScriptElement::HTMLScriptElement):

  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::SVGScriptElement):

12:12 PM Changeset in webkit [170808] by commit-queue@webkit.org
  • 10 edits in trunk

input type=range element should only fire change events after committing a value
https://bugs.webkit.org/show_bug.cgi?id=134545

Patch by Julien Quint <pom@graougraou.com> on 2014-07-04
Reviewed by Dean Jackson.

Source/WebCore:
A "change" event was fired every time the slider thumb element was dragged
by the user. The "change" event is now fired only after the thumb
element has stopped moving; previously, both "input" and "change" events
where dispatched while changes were being made. This new behavior is
consistent with the specification (cf.
http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#event-input-change),
as well as other implementations such as Firefox and Chrome.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls): Listen to the "input" event
rather than the "change" event for the timeline control in order to
keep track of value changes when the user is dragging the thumb.

  • accessibility/AccessibilitySlider.cpp:

(WebCore::AccessibilitySlider::setValue): Dispatch "change" event while
setting the new value rather than dispatching later, since setting the
value now clears the change flag.

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::setValue): Update the text value of the
control in the case when no event is to be dispatched, so that this
value can be checked the next time a "change" event dispatch is
requested.

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::setPositionFromPoint): Removed the
dispatch of the "change" event, and no longer track the text value of
the element as a result of dispatching a "change" event.
(WebCore::SliderThumbElement::stopDragging): Dispatch the "change" event
on completing the drag.

LayoutTests:
Two existing tests are updated to count "input" events as well as
"change" events. The tests now verify that "change" is only fired once
after every slider drag completes, whereas "input" may be fired more
than once.

  • fast/forms/range/range-drag-expected.txt:
  • fast/forms/range/range-drag-when-toggled-disabled-expected.txt:
  • fast/forms/range/range-drag-when-toggled-disabled.html:
  • fast/forms/range/range-drag.html:
11:07 AM Changeset in webkit [170807] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

CTTE: ApplicationCacheHost always has a DocumentLoader.
<https://webkit.org/b/b/128435>

Have ApplicationCacheHost store the backpointer to its owning
DocumentLoader as a reference.

Reviewed by Sam Weinig.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::startLoadingMainResource):

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::ApplicationCacheHost):
(WebCore::ApplicationCacheHost::~ApplicationCacheHost):
(WebCore::ApplicationCacheHost::selectCacheWithoutManifest):
(WebCore::ApplicationCacheHost::selectCacheWithManifest):
(WebCore::ApplicationCacheHost::maybeLoadMainResource):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
(WebCore::ApplicationCacheHost::failedLoadingMainResource):
(WebCore::ApplicationCacheHost::finishedLoadingMainResource):
(WebCore::ApplicationCacheHost::maybeLoadResource):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForError):
(WebCore::ApplicationCacheHost::maybeLoadSynchronously):
(WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
(WebCore::ApplicationCacheHost::stopDeferringEvents):
(WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
(WebCore::ApplicationCacheHost::update):
(WebCore::ApplicationCacheHost::swapCache):
(WebCore::ApplicationCacheHost::abort):
(WebCore::ApplicationCacheHost::isApplicationCacheEnabled):

  • loader/appcache/ApplicationCacheHost.h:

(WebCore::ApplicationCacheHost::documentLoader): Deleted.

8:31 AM Changeset in webkit [170806] by mario.prada@samsung.com
  • 17 edits
    1 add in trunk/LayoutTests

buildAccessibilityTree() needs to be removed from individual layout tests
https://bugs.webkit.org/show_bug.cgi?id=95286

Reviewed by Chris Fleizach.

Extracted two functions to 'dump' and 'touch' the accessibility
hierarchies out of different layout tests and into a single file,
living in LayoutTests/resources/accessibility-helper.js

  • resources/accessibility-helper.js: Added.

(dumpAccessibilityTree): New, based on buildAccessibilityTree()
for the cases where it was used to actually 'dump' it into the output.
(touchAccessibilityTree): Same, but for the cases where we don't
want to dump the accessibility tree, just to make sure is generated.

Updated affected layout tests to use the newly added helper functions.

  • accessibility/adjacent-continuations-cause-assertion-failure.html: Updated.
  • accessibility/children-changed-sends-notification.html: Ditto.
  • accessibility/deleting-iframe-destroys-axcache.html: Ditto.
  • accessibility/div-within-anchors-causes-crash.html: Ditto.
  • accessibility/first-letter-text-transform-causes-crash.html: Ditto.
  • accessibility/image-map-update-parent-crash.html: Ditto.
  • accessibility/table-with-empty-thead-causes-crash.html: Ditto.
  • platform/efl/accessibility/media-emits-object-replacement.html: Ditto.
  • platform/gtk/accessibility/entry-and-password.html: Ditto.
  • platform/gtk/accessibility/media-emits-object-replacement.html: Ditto.
  • platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html: Ditto.

Updated Mac specific expectations not to print the "End of test" element.

  • platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: Updated.
  • platform/mac/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt: Ditto.
  • platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: Ditto.
  • platform/mac/accessibility/div-within-anchors-causes-crash-expected.txt: Ditto.
6:55 AM Changeset in webkit [170805] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION(r159345): Lines are clipped between pages when printing web content from Safari
https://bugs.webkit.org/show_bug.cgi?id=134633

Source/WebCore:
<rdar://problem/17088936>

Reviewed by Zalan Bujtas.

Test: printing/simple-lines-break.html

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):

Disable simple lines if global pagination is enabled.
Printing does not currently use flow threads which we already test for.

LayoutTests:

Reviewed by Zalan Bujtas.

  • printing/simple-lines-break-expected.html: Added.
  • printing/simple-lines-break.html: Added.
4:19 AM Changeset in webkit [170804] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r170707 - [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.
3:46 AM Changeset in webkit [170803] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.4

Merge r163519 - Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro
https://bugs.webkit.org/show_bug.cgi?id=128267

Reviewed by Andreas Kling.

Source/WTF:

Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro that was manually defined for compilers
that support the C++11 initializer lists. The feature is well supported in Clang, MSVC and also GCC. It
was actually already used unguarded in HashSet.

  • wtf/Compiler.h:
  • wtf/HashMap.h:

(WTF::HashMap::HashMap):

  • wtf/Vector.h:

(WTF::Vector::Vector):

Tools:

Remove the COMPILER_SUPPORTS(CXX_GENERALIZED_INITIALIZERS) as the underlying macro is also
being removed since the feature is supported by all the compilers the project approves.

  • TestWebKitAPI/Tests/WTF/HashMap.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

3:33 AM Changeset in webkit [170802] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Typo in watchlist config means four specific people get Cc'd on everything
https://bugs.webkit.org/show_bug.cgi?id=134626

Reviewed by Gyuyoung Kim.

  • Scripts/webkitpy/common/config/watchlist:

Remove leading pipe, which meant that this rule matched everything!

2:58 AM Changeset in webkit [170801] by Philippe Normand
  • 3 edits in trunk/Source/WebKit2

2014-07-04 Philippe Normand <pnormand@igalia.com>

Unreviewed, GTK WK2 build fix after r170787.

  • WebProcess/WebPage/DrawingAreaImpl.cpp: (WebKit::DrawingAreaImpl::scheduleCompositingLayerFlushImmediately):
  • WebProcess/WebPage/DrawingAreaImpl.h:
1:55 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:55 AM Changeset in webkit [170800] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r170526 - [GTK] 8tracks.com triggers annoying pop-up window/installation of "About protocol source plugin" (GStreamer?)
https://bugs.webkit.org/show_bug.cgi?id=133605

Reviewed by Carlos Garcia Campos.

Don't attempt to load blank URLs with the GStreamer media
player. Those URLs trigger the codec installer which is useless in
this scenario. This patch also renames some of the variables of
the ::load method, as suggested by Carlos.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
Check video-sink validity before disconnecting its signal handlers.
(WebCore::MediaPlayerPrivateGStreamer::load): Don't load blank
URLs (about:blank).

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
Disconnect repaint handler only if it's valid.

1:50 AM Changeset in webkit [170799] by zandobersek@gmail.com
  • 7 edits in trunk/Source

Source/WebCore: Unreviewed. Fixing the build after r170795.

Mac didn't like that change as it seems to properly typedef long long to int64_t.
That's not the case on 64-bit Linux (for some reason), so I'm changing the type of
the two long long variables in FormDataElement to int64_t to avoid any further trouble.

  • platform/network/FormData.h:

Source/WebKit2: Unreviewed. Reverting the bad changes introduced in r170795.

  • Platform/IPC/ArgumentDecoder.cpp:

(IPC::ArgumentDecoder::decode): Deleted.

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

(IPC::ArgumentEncoder::encode): Deleted.

  • Platform/IPC/ArgumentEncoder.h:
1:48 AM Changeset in webkit [170798] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r169896 - [GTK] fails to build with --disable-webgl --disable-accelerated-compositing
https://bugs.webkit.org/show_bug.cgi?id=131267

Reviewed by Philippe Normand.

Add missing headers needed for Float32Array::create().

  • Modules/webaudio/AudioBuffer.cpp:
1:48 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:38 AM Changeset in webkit [170797] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r169935 - [GTK] GLContextEGL.cpp: conflicting declaration 'typedef ptrdiff_t GLintptr'
https://bugs.webkit.org/show_bug.cgi?id=133550

Reviewed by Gustavo Noronha Silva.

Cairo includes some definitions from GLX that conflict with the
ones provided by our GLES2 headers (GLintptr, GLsizeiptr).

Since GLContextEGL doesn't use any GLX functions we can safely
disable the inclusion of those functions in that source file.

  • platform/graphics/egl/GLContextEGL.cpp:
1:36 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:28 AM Changeset in webkit [170796] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Tools

Merge r169768 - [GTK][gtkdoc] remove -Wcast-align
https://bugs.webkit.org/show_bug.cgi?id=133640

Apparently gcc warns that GParamSpec is not castable to
GParamSpecInt64/GParamSpecUInt64/GParamSpecDouble due they are 64bit, even
though ARM hackers claim that those only need 4byte alignment. As long as gcc
behaves that way, this warning is not very useful, also they break the Debian
packaging.

This patch appends the compiler flag -Wno-align-cast for the gtkdoc
scanner compilation, thus the compiler ignores the previous
-Waling-cast flag.

Reviewed by Martin Robinson.

  • gtk/generate-gtkdoc:

(get_generator_for_config):

1:27 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:24 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:23 AM Changeset in webkit [170795] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebKit2

Unreviewed. Fixing the build for ports on 64-bit Linux.

Add IPC encoding and decoding overloads for the long long type, needed
after r170755 started encoding and decoding long long variables in
FormDataElement.

  • Platform/IPC/ArgumentDecoder.cpp:

(IPC::ArgumentDecoder::decode):

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

(IPC::ArgumentEncoder::encode):

  • Platform/IPC/ArgumentEncoder.h:
1:09 AM Changeset in webkit [170794] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

[GTK] [Stable] Crash while playing a video
https://bugs.webkit.org/show_bug.cgi?id=133940

Unreviewed. Rolling out r160688.

  • jit/CCallHelpers.h:
  • jit/Repatch.cpp:

(JSC::generateProtoChainAccessStub):
(JSC::tryBuildGetByIDList):

12:55 AM Changeset in webkit [170793] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.4

Merge r170359 - Source/WebCore: [ATK] Don't ignore links rendered as blocks.
https://bugs.webkit.org/show_bug.cgi?id=130941

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-06-24
Reviewed by Mario Sanchez Prada.

  • /m/usr/src/webkit-trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(WebCore::AccessibilityObject::objectFocusedAndCaretOffsetUnignored): Don't ignore links
when they are renderered with display:block.

LayoutTests: [ATK] Extended the test for accessibility of text inside "span" block in "a" block
with the tests for caret movements in these cases.
https://bugs.webkit.org/show_bug.cgi?id=130941

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-06-24
Reviewed by Mario Sanchez Prada.

  • platform/gtk/accessibility/text-in-span-block-in-a-block-expected.txt:
  • platform/gtk/accessibility/text-in-span-block-in-a-block.html:

Added testing for text-caret-moved signal. Added one more "a" element to the set.

12:55 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:50 AM Changeset in webkit [170792] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r169936 - Source/WebCore: [ATK] Fix text inside "span" block in "a" block was not accessible.
https://bugs.webkit.org/show_bug.cgi?id=132349

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-06-13
Reviewed by Mario Sanchez Prada.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp: Add link role to the list of roles whose objects always expose atk_text interface.

LayoutTests: [ATK] Add test for accessibility of text inside "span" block in "a" block.
https://bugs.webkit.org/show_bug.cgi?id=132349

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-06-13
Reviewed by Mario Sanchez Prada.

  • platform/gtk/accessibility/text-in-span-block-in-a-block-expected.txt: Added.
  • platform/gtk/accessibility/text-in-span-block-in-a-block.html: Added.
12:48 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:43 AM Changeset in webkit [170791] by Carlos Garcia Campos
  • 10 edits
    6 adds in releases/WebKitGTK/webkit-2.4

Merge r169483 - Tools: [ATK] Added new accessibility signal: text-caret-moved.
Make AccessibilityUIElement.setSelectedTextRange work
as atk_text_set_caret_offset when given offset == 0.
https://bugs.webkit.org/show_bug.cgi?id=132527

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-05-30
Reviewed by Mario Sanchez Prada.

text-caret-moved signal in accessibilityController is needed to
implement tests from Tools/TestWebKitAPI/Tests/WebKitGtk/testatk.c
as LayoutTests. Add the signal to the controller.

  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(setSelectedTextRange): Change return type to bool.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(setSelectedTextRange): Call atk_text_set_caret_offset and return bool.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:

(axObjectEventListener): Add notification name AXTextCaretMoved, allow
for extra arguments passed to handler and use it for text-caret-moved offset.
(WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):
Connect callback to new listener for ATK:AtkText:text-caret-moved.
Refactor so that failures be reported.
Initialize atk interfaces before trying to connect to them, see
https://bugzilla.gnome.org/show_bug.cgi?id=729922
(WTR::AccessibilityNotificationHandler::disconnectAccessibilityCallbacks):
Simplify code by using a vector in place of dozen variables.

  • DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp:

Comment about not synchronizing with accessibilityController.

LayoutTests: [ATK] Convert caret offset tests from testatk.c.
https://bugs.webkit.org/show_bug.cgi?id=132527

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-05-30
Reviewed by Mario Sanchez Prada.

The tests are replicated from testatk.c file, functions

testWebkitAtkCaretOffsets()
testWebkitAtkCaretOffsetsAndExtranousWhiteSpaces()

The file was present in webkit1. Removed from trunk in r166977, so
the last version was
https://trac.webkit.org/browser/trunk/Tools/TestWebKitAPI/Tests/WebKitGtk/testatk.c?rev=166976
What could not be verified in the same way:

  1. Whether element implements ATK_TEXT. If setCaretOffset

succeeds, it confirms that element is text as well. But in cases
when setCaretOffset must fail I see no way to confirm it is text
element.

  1. Whether position is correct through a call to

atk_text_get_caret_offset. text-caret-moved signal value is
tested instead.

Anyway these cases don't look crucial, so they are skipped.

  • platform/gtk/resources/atk-helpers.js: Added.

(setCaretOffset): Added.

  • platform/gtk/accessibility/caret-offsets-and-extraneous-white-spaces-expected.txt: Added.
  • platform/gtk/accessibility/caret-offsets-and-extraneous-white-spaces.html: Added.
  • platform/gtk/accessibility/caret-offsets-expected.txt: Added.
  • platform/gtk/accessibility/caret-offsets.html: Added.
12:43 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:26 AM Changeset in webkit [170790] by Carlos Garcia Campos
  • 19 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r170423 - [GTK] Windowed plugins visibility doesn't work
https://bugs.webkit.org/show_bug.cgi?id=131487

Reviewed by Anders Carlsson.

Implement plugins visibility changes and add a new message to
notify the UI process when a windowed plugin is shown/hidden to
show/hide the plugin widget.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::visibilityDidChange): Add
implementation to notify the plugin about visibility change.
(WebKit::PluginControllerProxy::windowedPluginVisibilityDidChange):
Send WindowedPluginVisibilityDidChange to the plugin proxy.

  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/PluginControllerProxy.messages.in: Add VisibilityDidChange message.
  • UIProcess/WebPageProxy.h: Add windowedPluginVisibilityDidChange

to handle WindowedPluginVisibilityDidChange message.

  • UIProcess/WebPageProxy.messages.in: Add WindowedPluginVisibilityDidChange message.
  • UIProcess/efl/WebPageProxyEfl.cpp:

(WebKit::WebPageProxy::windowedPluginVisibilityDidChange):

  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::createPluginContainer): Do not show the
plugins by default.
(WebKit::WebPageProxy::windowedPluginVisibilityDidChange): Show or hide the plugin widget.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::NetscapePlugin): Initialize m_isVisible.
(WebKit::NetscapePlugin::visibilityDidChange): Add visible parameter and save it in m_isVisible
member, calling platformVisibilityDidChange() only when it has actually changed.

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformVisibilityDidChange): Notify the controller about visibility change.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/Plugin.h:
  • WebProcess/Plugins/PluginController.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::visibilityDidChange): Send VisibilityDidChange message to the plugin controller proxy.
(WebKit::PluginProxy::windowedPluginVisibilityDidChange): Notify the controller about visibility change.

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginProxy.messages.in: Add WindowedPluginVisibilityDidChange message.
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::didInitializePlugin): Also call viewVisibilityDidChange() when the plugin is initialized.
(WebKit::PluginView::setParentVisible): Override this Widget method to update the plugin visibility when parent
widget is shown/hidden.
(WebKit::PluginView::viewVisibilityDidChange): Pass visible parameter to visibilityDidChange().
(WebKit::PluginView::windowedPluginVisibilityDidChange): Send WindowedPluginVisibilityDidChange message to the UI process.

  • WebProcess/Plugins/PluginView.h:
12:26 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:16 AM Changeset in webkit [170789] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r170633 - [GTK] Annotations for WebResource.get_data produce wrong signature in Vala binding
https://bugs.webkit.org/show_bug.cgi?id=134476

Patch by Evan Nemerson <evan@nemerson.com> on 2014-07-01
Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/WebKitWebResource.cpp: Add array length and

element-type annotations to return value of webkit_web_resource_get_data_finish().

12:14 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:13 AM Changeset in webkit [170788] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/ThirdParty/ANGLE

[GTK] [Stable] Crash in TSymbolTableLevel::~TSymbolTableLevel with GCC 4.9
https://bugs.webkit.org/show_bug.cgi?id=134593

Unreviewed. Backported from Mozilla by Mike Hommey <mh+mozilla@glandium.org>
https://bugzilla.mozilla.org/show_bug.cgi?id=1025576
https://code.google.com/p/angleproject/issues/detail?id=651

  • src/compiler/SymbolTable.cpp:

(TSymbolTableLevel::~TSymbolTableLevel):

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

[iOS][WK2] Black web view after un-suspending process
https://bugs.webkit.org/show_bug.cgi?id=134623
<rdar://problem/17513223>

Reviewed by Simon Fraser.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::viewStateDidChange):
Add an argument to viewStateDidChange that allows callers (-[WKContentView _applicationWillEnterForeground:])
to force us to wait for a synchronous reply from the Web process after performing a view state change.

(WebKit::WebPageProxy::dispatchViewStateChange):
Move the has-been-in-window-and-now-is-newly-in-window check into dispatchViewStateChange.
Adjust the logic surrounding going into/out of window by factoring out the IsInWindow-did-change check, for clarity.

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

(-[WKContentView _applicationWillEnterForeground:]):
As previously mentioned, wait for a reply when foregrounding.

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

(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlushImmediately):
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
(WebKit::RemoteLayerTreeDrawingArea::viewStateDidChange):
Make sure to schedule a commit immediately if the UI process is waiting for a reply.
Previously we assumed that a commit would be scheduled anyway because we would have to reparent the
layer tree, but that doesn't happen in the suspension-without-unparenting case. Also, we want to skip
all throttling in this case.

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

(WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerFlushImmediately):

Note: See TracTimeline for information about the timeline view.