WebKit-https.git
6 years agoTeach Buildbot dashboard to parse alternative revision format
dbates@webkit.org [Tue, 28 Jan 2014 23:30:29 +0000 (23:30 +0000)]
Teach Buildbot dashboard to parse alternative revision format
https://bugs.webkit.org/show_bug.cgi?id=127561

Reviewed by Alexey Proskuryakov.

Add support for extracting the OpenSource and Internal revision numbers when Buildbot
returns a dictionary for the value of property got_revision.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(isMultiCodebaseGotRevisionProperty): Added.
(parseRevisionProperty): Added; parses Buildbot revision property, which can either be a
string or a dictionary.
(BuildbotIteration.prototype.update.): Modified to call parseRevisionProperty() to determine
the OpenSource and Internal revision numbers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162971 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove some unneeded debugger code.
mark.lam@apple.com [Tue, 28 Jan 2014 23:29:30 +0000 (23:29 +0000)]
Remove some unneeded debugger code.
https://bugs.webkit.org/show_bug.cgi?id=127805.

Reviewed by Oliver Hunt.

JSC will now always support the debugger. Hence, the #if ENABLE(JAVASCRIPT_DEBUGGER)
checks can be removed.

DebuggerCallFrame::callFrame() is also unused and will be removed.

* debugger/Breakpoint.h:
* debugger/Debugger.cpp:
* debugger/DebuggerCallFrame.h:
* inspector/InjectedScript.cpp:
(Inspector::InjectedScript::wrapCallFrames):
* inspector/InjectedScript.h:
* inspector/JSGlobalObjectScriptDebugServer.cpp:
* inspector/JSGlobalObjectScriptDebugServer.h:
* inspector/JSJavaScriptCallFrame.cpp:
* inspector/JSJavaScriptCallFrame.h:
* inspector/JSJavaScriptCallFramePrototype.cpp:
* inspector/JSJavaScriptCallFramePrototype.h:
* inspector/JavaScriptCallFrame.cpp:
* inspector/JavaScriptCallFrame.h:
* inspector/ScriptDebugListener.h:
* inspector/ScriptDebugServer.cpp:
* inspector/ScriptDebugServer.h:
* inspector/agents/InspectorDebuggerAgent.cpp:
* inspector/agents/InspectorDebuggerAgent.h:
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::InspectorRuntimeAgent):
(Inspector::setPauseOnExceptionsState):
(Inspector::InspectorRuntimeAgent::evaluate):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getProperties):
* inspector/agents/InspectorRuntimeAgent.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162970 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION: JavascriptCore crash during OS Installation (due to
ggaren@apple.com [Tue, 28 Jan 2014 23:12:19 +0000 (23:12 +0000)]
REGRESSION: JavascriptCore crash during OS Installation (due to
Heap::m_operationInProgress ASSERT vs DelayedReleaseScope)
https://bugs.webkit.org/show_bug.cgi?id=127793

Reviewed by Mark Hahnenberg.

This was a mistaken ASSERT.

* API/tests/testapi.mm:
(-[EvilAllocationObject doEvilThingsWithContext:]): Added a test to verify
that GC from a DelayedReleaseScope doesn't crash.

* heap/DelayedReleaseScope.h:
(JSC::DelayedReleaseScope::~DelayedReleaseScope): Our contract is that
it is valid to do anything while running a DelayedReleaseScope -dealloc
method, so the Heap must be ready for new allocations and collections.

Change the Heap's operationInProgress value to NoOperation while running
-dealloc methods, so that it doesn't ASSERT in the face of new allocations
and collections.

* heap/Heap.h: Made DelayedReleaseScope a friend because exposing a setter
for m_operationInProgress seemed like the worse of the two options for
encapsulation: we don't really want arbitrary clients to set the Heap's
m_operationInProgress.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162968 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove WebPageProxy::canGoBack and WebPageProxy::canGoForward
andersca@apple.com [Tue, 28 Jan 2014 23:04:56 +0000 (23:04 +0000)]
Remove WebPageProxy::canGoBack and WebPageProxy::canGoForward
https://bugs.webkit.org/show_bug.cgi?id=127803

Reviewed by Andreas Kling.

* UIProcess/API/C/WKPage.cpp:
(WKPageCanGoForward):
(WKPageCanGoBack):
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController canGoForward]):
(-[WKBrowsingContextController canGoBack]):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::goForward):
(WebKit::WebPageProxy::goBack):
(WebKit::WebPageProxy::sendWheelEvent):
* UIProcess/WebPageProxy.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162967 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed follow-up to r162965. Better coding style.
joepeck@webkit.org [Tue, 28 Jan 2014 23:02:05 +0000 (23:02 +0000)]
Unreviewed follow-up to r162965. Better coding style.

Timothy Hatcher pointed out a clearer style for classes
on the <body> is to specify body.class. I agree.

* UserInterface/DashboardView.css:
(body.javascript .toolbar .dashboard):
(body.web .toolbar.collapsed .dashboard > .logs):
(body.javascript .toolbar .dashboard > .resourcesCount):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162966 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Tweak UI when debugging a JSContext
joepeck@webkit.org [Tue, 28 Jan 2014 22:47:03 +0000 (22:47 +0000)]
Web Inspector: Tweak UI when debugging a JSContext
https://bugs.webkit.org/show_bug.cgi?id=127799

Reviewed by Timothy Hatcher.

* UserInterface/DashboardView.css:
(.toolbar.javascript .dashboard):
(.toolbar.web.collapsed .dashboard > .logs):
(.toolbar.javascript .dashboard > .resourcesCount):
Adjust collapsed dashboard in web and javascript debugging modes.
JavaScript debugging mode is always treated as collapsed.

* UserInterface/Main.js:
(WebInspector.contentLoaded):
Adjust what is created and shown when in javascript debugging mode.

* UserInterface/NavigationSidebarPanel.css:
(.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item.small):
* UserInterface/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
* UserInterface/TimelineSidebarPanel.css:
(.sidebar > .panel.timeline > .status-bar):
(.sidebar > .panel.timeline > .title-bar):
When javascript debugging expect to put things at the root level, so hide
disclosure buttons and adjust the style so resources look nice here.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162965 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAPI::PolicyClient::decidePolicyForNavigationAction should take a NavigationActionData...
andersca@apple.com [Tue, 28 Jan 2014 22:46:43 +0000 (22:46 +0000)]
API::PolicyClient::decidePolicyForNavigationAction should take a NavigationActionData object
https://bugs.webkit.org/show_bug.cgi?id=127798

Reviewed by Tim Horton.

* UIProcess/API/APIPolicyClient.h:
(API::PolicyClient::decidePolicyForNavigationAction):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPagePolicyClient):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162964 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed GTK gardening.
commit-queue@webkit.org [Tue, 28 Jan 2014 22:44:43 +0000 (22:44 +0000)]
Unreviewed GTK gardening.

Remove failure/timeout expectations for the following passed tests:
    fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-non-intersecting-underline.html
    fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html
    svg/custom/mouse-move-on-svg-container.xhtml
    svg/custom/mouse-move-on-svg-root.xhtml
    fast/css/style-scoped/style-scoped-with-dom-operation.html

http/tests/download failures only affect gtk-wk1 now

Report and mark flaky tests:
    http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_attributes_order.html
    fast/spatial-navigation/snav-unit-overflow-and-scroll-in-direction.html
    fast/parser/document-write-basic.html
    http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_dynamic_insertion.html
    media/crash-closing-page-with-media-as-plugin-fallback.html

Add timeout to flaky test media/audio-garbage-collect.html

Report and mark failed tests:
     accessibility/range-alter-by-percent.html
     media/video-restricted-no-preload-auto.html

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

* platform/gtk/TestExpectations:
* platform/gtk-wk1/TestExpectations:
* platform/gtk-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162963 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDocument::topDocument() should return a reference
antti@apple.com [Tue, 28 Jan 2014 22:32:05 +0000 (22:32 +0000)]
Document::topDocument() should return a reference
https://bugs.webkit.org/show_bug.cgi?id=127786

Reviewed by Darin Adler.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::mainFrame):
(WebCore::AccessibilityObject::topDocument):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityContainer]):
* dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::createRenderTree):
(WebCore::Document::destroyRenderTree):
(WebCore::Document::clearAXObjectCache):
(WebCore::Document::existingAXObjectCache):
(WebCore::Document::axObjectCache):
(WebCore::Document::implicitClose):
(WebCore::Document::topDocument):
(WebCore::Document::topOrigin):
(WebCore::Document::webkitCancelFullScreen):
(WebCore::Document::webkitDidExitFullScreenForElement):
* dom/Document.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::incrementScrollEventListenersCount):
(WebCore::DOMWindow::decrementScrollEventListenersCount):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::isReplacementObscured):
* rendering/RenderView.cpp:
(WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162962 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agojs/dom/post-message-numeric-property.html is flaky
ap@apple.com [Tue, 28 Jan 2014 22:25:40 +0000 (22:25 +0000)]
js/dom/post-message-numeric-property.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=127713

Reviewed by Geoffrey Garen.

Plain testRunner and js-test-post.js approaches to being asynchronous don't work
together, you need one or the other.

* js/dom/post-message-numeric-property-expected.txt:
* js/dom/script-tests/post-message-numeric-property.js:
Updated to use jsTestIsAsync, as the wrapper includes js-test-post.js. The results
are now always printed in correct order, not flakily.

* js/dom/cross-global-object-inline-global-var-expected.txt:
* js/dom/script-tests/cross-global-object-inline-global-var.js:
Ditto.

* js/dom/function-prototype.html:
* js/dom/parse-error-external-script-in-eval.html:
* js/dom/parse-error-external-script-in-new-Function.html:
* js/dom/parse-syntax-error-in-initializer.html:
Removed waitUntilDone, these tests are not asynchronous at all.

* js/dom/script-tests/cross-frame-bad-time.js:
* js/dom/script-tests/cross-frame-really-bad-time-with-__proto__.js:
* js/dom/script-tests/cross-frame-really-bad-time.js:
Updated to use jsTestIsAsync. These tests were not flaky because they happened to
run synchronously in practice, but document.writing a script into subframe won't
necessarily execute it synchronously in the future.

* js/resources/fs-test-post.js: Removed. This file was unused.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162961 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSticky positioning is broken for table rows
commit-queue@webkit.org [Tue, 28 Jan 2014 22:21:47 +0000 (22:21 +0000)]
Sticky positioning is broken for table rows
https://bugs.webkit.org/show_bug.cgi?id=112024

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2014-01-28
Reviewed by Simon Fraser.

Source/WebCore:

Enable sticky positioning for table elements.
Also includes fix for bug ​wkb.ug/105654
I don't have access to this bug, but from related commit message I
assume it says about "Heap use after free problem".
Debugging showed that it wasn't heap use after free.
The real problem that RenderObject::container() returns object which is
not RenderBlock and it is used as RenderBlock in
RenderBox::containingBlockLogicalHeightForPositioned() method.
Added extra isRenderBlock check and search for containingBlock if
current block is not RenderBlock.

Tests: fast/css/sticky/sticky-table-row-top.html
       fast/css/sticky/sticky-table-thead-top.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
* rendering/RenderTableRow.h:

LayoutTests:

Add layout tests for sticky positioned table row and table thead.

* fast/css/sticky/sticky-table-row-top-expected.html: Added.
* fast/css/sticky/sticky-table-row-top.html: Added.
* fast/css/sticky/sticky-table-thead-top-expected.html: Added.
* fast/css/sticky/sticky-table-thead-top.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162960 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd an empty WKNavigation class
andersca@apple.com [Tue, 28 Jan 2014 22:20:04 +0000 (22:20 +0000)]
Add an empty WKNavigation class
https://bugs.webkit.org/show_bug.cgi?id=127796

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKNavigation.h: Added.
* UIProcess/API/Cocoa/WKNavigation.mm: Added.
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162959 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFixing several incorrect assumptions with handling isolated inlines.
mmaxfield@apple.com [Tue, 28 Jan 2014 22:03:57 +0000 (22:03 +0000)]
Fixing several incorrect assumptions with handling isolated inlines.
https://bugs.webkit.org/show_bug.cgi?id=127608

Reviewed by Simon Fraser.

Fixing capitalization.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::setUpResolverToResumeInIsolate):
(WebCore::constructBidiRunsForSegment):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162957 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFixing several incorrect assumptions with handling isolated inlines.
mmaxfield@apple.com [Tue, 28 Jan 2014 21:53:22 +0000 (21:53 +0000)]
Fixing several incorrect assumptions with handling isolated inlines.
https://bugs.webkit.org/show_bug.cgi?id=127608

Reviewed by Dave Hyatt.

Source/WebCore:

First, when an isolated inline spans multiple lines, we aren't guaranteed
to exit BidiResolver with a nested inline count of zero. Removing the
assert that says otherwise.

Previously in constructBidiRunsForSegment, we called bidiFirst in
an attempt to properly setup the isolatedResolver for any dom/style
that applied, but this only worked on the first line the isolated
inline appeared in. Adding a function that approaches this properly
by recursing through the parents of the starting object for the line
and post-fixing direction attributes to the resolver.

Finally, addressing an issue where the line following a removed isolated
inline (with a continuation) failed to be marked dirty.

Blink: https://chromium.googlesource.com/chromium/blink/+/72698f203b1c50900e535b80945563b92b7eef23
Tests: fast/text/nested-bidi-assert.html
       fast/text/nested-bidi-with-continuation-crash.html

* platform/text/BidiResolver.h:
(WebCore::Run>::~BidiResolver):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::setupResolverToResumeInIsolate):
(WebCore::constructBidiRunsForSegment):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):

LayoutTests:

See file-specific info.

Blink: https://chromium.googlesource.com/chromium/blink/+/72698f203b1c50900e535b80945563b92b7eef23
* fast/text/nested-bidi-assert-expected.txt: Added.
* fast/text/nested-bidi-assert.html: Added. Tests that no crash occurs
when an isolated inline spans several lines
* fast/text/nested-bidi-with-continuation-crash-expected.txt: Added.
* fast/text/nested-bidi-with-continuation-crash.html: Added. Tests that
no crash occurs when additional isolates need to be set up for a
continuation

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162956 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRebase fast/repaint/background-shorthand-with-gradient-and-height-changes.html after...
antti@apple.com [Tue, 28 Jan 2014 21:37:12 +0000 (21:37 +0000)]
Rebase fast/repaint/background-shorthand-with-gradient-and-height-changes.html after https://trac.webkit.org/r162947

* fast/repaint/background-shorthand-with-gradient-and-height-changes-expected.txt:
* fast/repaint/background-shorthand-with-gradient-and-height-changes.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162954 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRebaseline some repaint test results after https://trac.webkit.org/r162947
antti@apple.com [Tue, 28 Jan 2014 21:26:23 +0000 (21:26 +0000)]
Rebaseline some repaint test results after https://trac.webkit.org/r162947

There are less repaint rects.

* compositing/repaint/resize-repaint-expected.txt:
* fast/box-shadow/shadow-repaint-expected.txt:
* fast/css-grid-layout/grid-element-change-columns-repaint-expected.txt:
* fast/css-grid-layout/grid-element-change-rows-repaint-expected.txt:
* fast/css-grid-layout/grid-item-change-column-repaint-expected.txt:
* fast/css-grid-layout/grid-item-change-row-repaint-expected.txt:
* fast/regions/repaint/element-in-named-flow-absolute-from-fixed-expected.txt:
* fast/regions/repaint/element-in-named-flow-fixed-from-absolute-expected.txt:
* fast/regions/repaint/element-inflow-fixed-from-outflow-static-expected.txt:
* fast/regions/repaint/element-outflow-static-from-inflow-fixed-expected.txt:
* fast/regions/repaint/invalid-region-repaint-crash-expected.txt:
* fast/regions/repaint/repaint-element-inside-relative-region-expected.txt:
* fast/regions/repaint/repaint-regions-overflow-expected.txt:
* fast/repaint/horizontal-bt-overflow-child-expected.txt:
* fast/repaint/horizontal-bt-overflow-parent-expected.txt:
* fast/repaint/horizontal-bt-overflow-same-expected.txt:
* fast/repaint/negative-text-indent-with-overflow-hidden-expected.txt:
* fast/repaint/overflow-flipped-writing-mode-table-expected.txt:
* fast/repaint/reflection-table-layout-expected.txt:
* fast/repaint/transform-table-layout-expected.txt:
* fast/repaint/vertical-overflow-child-expected.txt:
* fast/repaint/vertical-overflow-parent-expected.txt:
* fast/repaint/vertical-overflow-same-expected.txt:
* platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/mac/fast/images/repaint-subrect-grid-expected.txt:
* svg/repaint/repaint-webkit-svg-shadow-container-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162952 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd a NavigationActionData object for easy storage of navigation action data
andersca@apple.com [Tue, 28 Jan 2014 21:15:23 +0000 (21:15 +0000)]
Add a NavigationActionData object for easy storage of navigation action data
https://bugs.webkit.org/show_bug.cgi?id=127787

Reviewed by Tim Horton.

* Scripts/webkit2/messages.py:
(struct_or_class):
* Shared/NavigationActionData.cpp: Added.
(WebKit::NavigationActionData::NavigationActionData):
(WebKit::NavigationActionData::encode):
(WebKit::NavigationActionData::decode):
* Shared/NavigationActionData.h: Added.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162951 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the Mountain Lion build.
timothy_horton@apple.com [Tue, 28 Jan 2014 20:49:49 +0000 (20:49 +0000)]
Fix the Mountain Lion build.

* UIProcess/mac/ViewGestureController.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):
* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::recordSnapshot):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162950 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the iOS build.
timothy_horton@apple.com [Tue, 28 Jan 2014 20:25:24 +0000 (20:25 +0000)]
Fix the iOS build.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::recordNavigationSnapshot):
* UIProcess/mac/ViewSnapshotStore.h:
* UIProcess/mac/ViewSnapshotStore.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162949 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove unneeded “WebCore::” prefixing in two .cpp files.
beidson@apple.com [Tue, 28 Jan 2014 20:01:59 +0000 (20:01 +0000)]
Remove unneeded “WebCore::” prefixing in two .cpp files.

Rubberstamped by Alexey Proskuryakov.

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162948 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(r162837): 5% regression on html5-full-render and 3% regression in DoYouEve...
antti@apple.com [Tue, 28 Jan 2014 19:40:05 +0000 (19:40 +0000)]
REGRESSION(r162837): 5% regression on html5-full-render and 3% regression in DoYouEvenBench
https://bugs.webkit.org/show_bug.cgi?id=127722

Reviewed by Darin Adler.

Accumulate repaint region in RendeView instead of flushing rects directly to the system.

* dom/Document.cpp:
(WebCore::Document::recalcStyle):
(WebCore::Document::updateLayout):
(WebCore::Document::topDocument):

    Make less silly.

* page/FrameView.cpp:
(WebCore::FrameView::layout):
* rendering/RenderView.cpp:
(WebCore::RenderView::repaintViewRectangle):
(WebCore::RenderView::flushAccumulatedRepaintRegion):
(WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
(WebCore::RenderView::RepaintRegionAccumulator::~RepaintRegionAccumulator):
* rendering/RenderView.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162947 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWebKit2 View Gestures (Swipe): Snapshots should be purgeable
timothy_horton@apple.com [Tue, 28 Jan 2014 19:33:49 +0000 (19:33 +0000)]
WebKit2 View Gestures (Swipe): Snapshots should be purgeable
https://bugs.webkit.org/show_bug.cgi?id=127390
<rdar://problem/15876775>

Reviewed by Anders Carlsson.

Make snapshots be purgeable, and implement a straightforward
(if perhaps expensive, for now) cache eviction strategy to limit the
number of snapshots to 20.

* UIProcess/mac/ViewGestureController.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
When beginning a gesture, attempt to make the retrieved snapshot
non-volatile. If it was purged while volatile, we won't use it, but if it
is still valid, we'll go ahead and use it as the swipe layer's contents.

(WebKit::ViewGestureController::removeSwipeSnapshot):
When removing the swipe snapshot, make it volatile once again.

* UIProcess/mac/ViewSnapshotStore.h:
Store a creation time along with the image.
Store and return IOSurfaces instead of CGImages.
Store snapshots and render tree sizes separately, so that we can
throw away snapshots but keep the render tree sizes indefinitely.

* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::pruneSnapshots):
Cap the number of snapshots we'll ever have live at 20.
Enforce this cap by first trying to remove snapshots farthest
from the current back-forward list's current item, falling back
to removing the least recently created snapshot if there are no
snapshots owned by the current back-forward list.

(WebKit::createIOSurfaceFromImage):
Build an IOSurface from the CGImage snapshot we took, for ease of
use of its purgeability API.

(WebKit::ViewSnapshotStore::recordSnapshot):
Bail from taking the snapshot if the image is empty; this can happen
if the view is out of the window when the snapshot is taken.

Mark snapshots as purgeable as soon as they go into the cache.

(WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
Return the target render tree size even if there is no snapshot image.
Take care not to look up an empty UUID.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162946 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoHTMLMediaElement::m_platformLayerBorrowed is uninitialized.
commit-queue@webkit.org [Tue, 28 Jan 2014 19:26:21 +0000 (19:26 +0000)]
HTMLMediaElement::m_platformLayerBorrowed is uninitialized.
https://bugs.webkit.org/show_bug.cgi?id=127759

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-01-28
Reviewed by Eric Carlson.

Initalize m_platformLayerBorrowed to false.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162945 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac] Use explicit, rather than canonical, AudioFormatFlags and types.
jer.noble@apple.com [Tue, 28 Jan 2014 18:22:07 +0000 (18:22 +0000)]
[Mac] Use explicit, rather than canonical, AudioFormatFlags and types.
https://bugs.webkit.org/show_bug.cgi?id=127781

Reviewed by Eric Carlson.

Since every mac platform uses Float32 audio samples, use these types explicitly
rather than the implicit, canonical AudioSampleType type. Once we're using Float32
explicity, we can also use the explicit kAudioFormatFlagsNativeFloatPacked flag
rather than the canonical version.

* platform/audio/mac/AudioDestinationMac.cpp:
(WebCore::AudioDestinationMac::configure):
* platform/audio/mac/AudioFileReaderMac.cpp:
(WebCore::AudioFileReader::createBus):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162944 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoExpose SQL database creation and modification times
ap@apple.com [Tue, 28 Jan 2014 18:18:47 +0000 (18:18 +0000)]
Expose SQL database creation and modification times
https://bugs.webkit.org/show_bug.cgi?id=127728

Reviewed by Brady Eidson.

Source/WebCore:

* platform/FileSystem.h:
* platform/posix/FileSystemPOSIX.cpp:
(WebCore::getFileCreationTime):
* platform/win/FileSystemWin.cpp:
(WebCore::getFileCreationTimeFromFindData):
(WebCore::getFileCreationTime):
Added functions to get file creation times. Not all OSes support that, but Darwin
and Windows do, as (I think) various BSD flavors.

* platform/gtk/FileSystemGtk.cpp: Added a stub for getFileCreationTime().

* platform/sql/SQLiteFileSystem.h:
* platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::databaseCreationTime):
(WebCore::SQLiteFileSystem::databaseModificationTime):
Expose it in the same strange manner other database file operations are.

* Modules/webdatabase/DatabaseDetails.h:
(WebCore::DatabaseDetails::DatabaseDetails):
(WebCore::DatabaseDetails::creationTime):
(WebCore::DatabaseDetails::modificationTime):
Added creation and modification times to DatabaseDetails.

* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
(WebCore::DatabaseManager::openDatabaseBackend):
ProposedDatabase is an unfortunate mechanism for communicating quota errors to the
client, we should really straighten it up. But for now, just leave the times uninitialized.

* Modules/webdatabase/DatabaseBackendBase.cpp: (WebCore::DatabaseBackendBase::details):
This code path is for handling quota errors, so there is no need to initialize most
of DatabaseDetails here as well.

* Modules/webdatabase/DatabaseTracker.cpp: (WebCore::DatabaseTracker::detailsForNameAndOrigin):
* Modules/webdatabase/DatabaseTracker.h:
Fill in database file times. Inlined and removed usageForDatabase function to
avoid rebuilding the path multiple times.

Source/WebKit2:

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<DatabaseDetails>::encode):
(IPC::ArgumentCoder<DatabaseDetails>::decode):
Encode and decode new DatabaseDetails member variables.

* UIProcess/API/C/WKDatabaseManager.cpp:
(WKDatabaseManagerGetDatabaseDetailsCreationTimeKey):
(WKDatabaseManagerGetDatabaseDetailsModificationTimeKey):
* UIProcess/API/C/WKDatabaseManager.h:
Added new keys for database details.

* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::databaseDetailsCreationTimeKey):
(WebKit::WebDatabaseManagerProxy::databaseDetailsModificationTimeKey):
(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
* UIProcess/WebDatabaseManagerProxy.h:
Set the new keys if times are valid.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162943 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Tue, 28 Jan 2014 17:55:17 +0000 (17:55 +0000)]
Unreviewed EFL gardening

Skip crashing http tests.

* platform/efl-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162942 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSetting muted attribute on <video> element is not reflected in controls
jer.noble@apple.com [Tue, 28 Jan 2014 17:49:58 +0000 (17:49 +0000)]
Setting muted attribute on <video> element is not reflected in controls
https://bugs.webkit.org/show_bug.cgi?id=127726

Reviewed by Eric Carlson.

Source/WebCore:

If the 'muted' IDL attribute is queried after the 'muted' and 'src' content attributes are
set but before loading begins, it will return 'false' until loading begins, but with no
way to query whether that value is valid, nor firing a volumechange event when its value
changes.

The HTML spec says that the 'muted' content attribute controls whether audio output is
muted "when the media element is created", not when loading begins, but we don't
necessarily have a signal that the element is fully parsed.  Additionally, this means its
impossible to make an element via script and get this behavior.

So the new behavior is that the 'muted' IDL attribute will always reflect the 'muted'
content attribute up until one of the following three conditions:

- The 'muted' IDL attribute is set via script.
- The element is inserted in the document.
- The element begins loading.

After the first one of the above conditions, the 'muted' IDL attribute will no longer
change when the 'muted' content attribute changes.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLMediaElement.h:

LayoutTests:

* media/video-defaultmuted-expected.txt:
* media/video-defaultmuted.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162941 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoJettison DFG code when neither breakpoints or the profiler are active.
mark.lam@apple.com [Tue, 28 Jan 2014 17:43:07 +0000 (17:43 +0000)]
Jettison DFG code when neither breakpoints or the profiler are active.
<https://webkit.org/b/127766>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

We need to jettison the DFG CodeBlocks under the following circumstances:
1. When adding breakpoints to a CodeBlock, jettison it if it is a DFG CodeBlock.
2. When enabling stepping mode in a CodeBlock, jettison it if it a DFG CodeBlock.
3. When settign the enabled profiler in the VM, we need to jettison all DFG
   CodeBlocks.

Instead of emitting speculation checks, the DFG code will now treat Breakpoint,
ProfileWillCall, and ProfileDidCall as no-ops similar to a Phantom node. We
still need to track these nodes so that they match the corresponding opcodes
in the baseline JIT when we jettison and OSR exit. Without them, we would OSR
exit to the wrong location in the baseline JIT code.

In DFGDriver's compileImpl() and DFGPlan's finalizeWithoutNotifyingCallback()
we fail the compilation effort with a CompilationInvalidated result. This allows
the DFG compiler to re-attampt the compilation of the function after some time
if it is hot. The CompilationInvalidated result is supposed to cause the DFG
to exercise an exponential back off before re-attempting compilation again
(see runtime/CompilationResult.h).

This patch improves the Octane score from ~2950 to ~3067.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::addBreakpoint):
(JSC::CodeBlock::setSteppingMode):
* bytecode/CodeBlock.h:
* debugger/Debugger.h:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::finalizeWithoutNotifyingCallback):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* profiler/LegacyProfiler.cpp:
(JSC::LegacyProfiler::startProfiling):
(JSC::LegacyProfiler::stopProfiling):
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::SetEnabledProfilerFunctor::operator()):
(JSC::VM::setEnabledProfiler):
* runtime/VM.h:
(JSC::VM::enabledProfiler):

LayoutTests:

Added a test to exercise setting a breakpoint in 2 DFG compiled functions:
1 not inlined, and 1 inlined.

* inspector-protocol/debugger/resources/breakpoint.js:
(notInlineable):
(inlineable):
(notInliningFoo):
(inliningFoo):
(dfgWithoutInline):
(dfgWithInline):
* inspector-protocol/debugger/setBreakpoint-dfg-expected.txt: Added.
* inspector-protocol/debugger/setBreakpoint-dfg.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162940 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoActually turn stack stats back off.
andersca@apple.com [Tue, 28 Jan 2014 17:38:49 +0000 (17:38 +0000)]
Actually turn stack stats back off.

* wtf/StackStats.cpp:
* wtf/StackStats.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162939 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTurn stack stats back off.
andersca@apple.com [Tue, 28 Jan 2014 17:36:54 +0000 (17:36 +0000)]
Turn stack stats back off.

* wtf/StackStats.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162938 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd stubbed out VisitedLinkProvider class
andersca@apple.com [Tue, 28 Jan 2014 17:28:44 +0000 (17:28 +0000)]
Add stubbed out VisitedLinkProvider class
https://bugs.webkit.org/show_bug.cgi?id=127744

Reviewed by Andreas Kling.

This is a first step towards moving responsibility of visited links from
the page group to a separate object.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* page/PageGroup.cpp:
(WebCore::PageGroup::PageGroup):
* page/PageGroup.h:
(WebCore::PageGroup::visitedLinkProvider):
* page/VisitedLinkProvider.cpp: Added.
(WebCore::VisitedLinkProvider::VisitedLinkProvider):
(WebCore::VisitedLinkProvider::~VisitedLinkProvider):
* page/VisitedLinkProvider.h: Added.
(WebCore::VisitedLinkProvider::create):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162937 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWebKit2 View Gestures (Swipe): Use CGSCaptureWindowsContentsToRect for now
timothy_horton@apple.com [Tue, 28 Jan 2014 17:19:05 +0000 (17:19 +0000)]
WebKit2 View Gestures (Swipe): Use CGSCaptureWindowsContentsToRect for now
https://bugs.webkit.org/show_bug.cgi?id=127768
<rdar://problem/15923662>

Reviewed by Simon Fraser.

* UIProcess/API/mac/WKView.mm:
(-[WKView _takeViewSnapshot]):
Until <rdar://problem/15709646> is resolved, we'll use
CGSCaptureWindowsContentsToRect instead of CGWindowListCreateImage.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162936 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUse std::mutex instead of WTF::Mutex in WTF
andersca@apple.com [Tue, 28 Jan 2014 17:13:41 +0000 (17:13 +0000)]
Use std::mutex instead of WTF::Mutex in WTF
https://bugs.webkit.org/show_bug.cgi?id=127783

Reviewed by Antti Koivisto.

* wtf/CryptographicallyRandomNumber.cpp:
* wtf/MainThread.cpp:
(WTF::mainThreadFunctionQueueMutex):
(WTF::functionQueue):
(WTF::dispatchFunctionsFromMainThread):
(WTF::callOnMainThread):
(WTF::cancelCallOnMainThread):
* wtf/StackStats.cpp:
(WTF::StackStats::initialize):
(WTF::StackStats::CheckPoint::CheckPoint):
(WTF::StackStats::CheckPoint::~CheckPoint):
(WTF::StackStats::probe):
(WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
(WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint):
* wtf/StackStats.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162935 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd support for menclose element
commit-queue@webkit.org [Tue, 28 Jan 2014 16:34:52 +0000 (16:34 +0000)]
Add support for menclose element
https://bugs.webkit.org/show_bug.cgi?id=85729

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-01-28
Reviewed by Chris Fleizach.

Source/WebCore:

Added support for menclose element. MathML <menclose> element renders
its content inside an enclosing notation specified by the notation
attribute. The notation attribute can have values longdiv, box, left,
right, top, bottom , radical, madruwb, actuarial, roundedbox, circle,
updiagonalstrike, downdiagonalstrike, verticalstrike and
horizontalstrike.

Tests: mathml/presentation/menclose-add-children.html
       mathml/presentation/menclose-notation-attribute-add.html
       mathml/presentation/menclose-notation-attribute-change-value.html
       mathml/presentation/menclose-notation-attribute-remove.html
       mathml/presentation/menclose-notation-attribute-set1.html
       mathml/presentation/menclose-notation-attribute-set2.html
       mathml/presentation/menclose-notation-no-overlap.html
       mathml/presentation/menclose-notation-radical.html
       mathml/presentation/menclose-remove-children.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* css/mathml.css:
(mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
(math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose):
* mathml/MathMLAllInOne.cpp:
* mathml/MathMLElement.h:
* mathml/MathMLInlineContainerElement.cpp:
* mathml/MathMLMencloseElement.cpp: Added.
(WebCore::MathMLMencloseElement::MathMLMencloseElement):
(WebCore::MathMLMencloseElement::create):
(WebCore::MathMLMencloseElement::createElementRenderer):
(WebCore::MathMLMencloseElement::isPresentationAttribute):
(WebCore::MathMLMencloseElement::finishParsingChildren):
(WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
(WebCore::MathMLMencloseElement::longDivLeftPadding):
* mathml/MathMLMencloseElement.h: Added.
(WebCore::toMathMLMencloseElement):
* mathml/mathattrs.in:
* mathml/mathtags.in:
* rendering/mathml/RenderMathMLMenclose.cpp: Added.
(WebCore::RenderMathMLMenclose::RenderMathMLMenclose):
(WebCore::RenderMathMLMenclose::addChild):
(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::updateLogicalHeight):
(WebCore::RenderMathMLMenclose::paint):
(WebCore::RenderMathMLMenclose::checkNotationalValuesValidity):
* rendering/mathml/RenderMathMLMenclose.h: Added.
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::RenderMathMLRoot):
* rendering/mathml/RenderMathMLRoot.h:
* rendering/mathml/RenderMathMLSquareRoot.cpp:
(WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
(WebCore::RenderMathMLSquareRoot::createAnonymousWithParentRenderer):
* rendering/mathml/RenderMathMLSquareRoot.h:
Added new file related to menclose element implementation. Menclose
element is created and while parsing its notation attribute based on
its values like top, left CSSBorder properties are applied and for
values like circle, verticalstrike, longidv its taken care in paint.
For radical value an anonymous RenderMathMLSquareRoot is created as
a child of menclose.

LayoutTests:

* mathml/presentation/inferred-mrow-baseline-expected.txt:
* mathml/presentation/inferred-mrow-baseline.html:
* mathml/presentation/inferred-mrow-stretchy-expected.txt:
* mathml/presentation/inferred-mrow-stretchy.html:
Rebaselining existing tests as per the new behavior.

* mathml/presentation/menclose-add-children-expected.html: Added.
* mathml/presentation/menclose-add-children.html: Added.
* mathml/presentation/menclose-notation-attribute-add-expected.html: Added.
* mathml/presentation/menclose-notation-attribute-add.html: Added.
* mathml/presentation/menclose-notation-attribute-change-value-expected.html: Added.
* mathml/presentation/menclose-notation-attribute-change-value.html: Added.
* mathml/presentation/menclose-notation-attribute-remove-expected.html: Added.
* mathml/presentation/menclose-notation-attribute-remove.html: Added.
* mathml/presentation/menclose-notation-attribute-set1-expected.txt: Added.
* mathml/presentation/menclose-notation-attribute-set1.html: Added.
* mathml/presentation/menclose-notation-attribute-set2-expected-mismatch.html: Added.
* mathml/presentation/menclose-notation-attribute-set2.html: Added.
* mathml/presentation/menclose-notation-no-overlap-expected.txt: Added.
* mathml/presentation/menclose-notation-no-overlap.html: Added.
* mathml/presentation/menclose-notation-radical-expected.html: Added.
* mathml/presentation/menclose-notation-radical.html: Added.
* mathml/presentation/menclose-remove-children-expected.html: Added.
* mathml/presentation/menclose-remove-children.html: Added.
Added new test cases for verifying the behaviour of menclose element
with different values of notation attribute and removing/changing/adding
notation attribute.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162933 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[ATK] accessibility/range-alter-by-percent.html is failing after r162587.
k.czech@samsung.com [Tue, 28 Jan 2014 16:29:26 +0000 (16:29 +0000)]
[ATK] accessibility/range-alter-by-percent.html is failing after r162587.
https://bugs.webkit.org/show_bug.cgi?id=127774

Reviewed by Mario Sanchez Prada.

Implicit value of step in range type elements should be one or larger.

No new tests. Covered by exiting one.

* accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
(webkitAccessibleValueGetMinimumIncrement):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162932 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: In a DataGrid, store value of columnIdentifier to DOM node representin...
commit-queue@webkit.org [Tue, 28 Jan 2014 15:40:29 +0000 (15:40 +0000)]
Web Inspector: In a DataGrid, store value of columnIdentifier to DOM node representing a cell
https://bugs.webkit.org/show_bug.cgi?id=127613

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-01-28
Reviewed by Timothy Hatcher.

* UserInterface/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView.prototype._editingCallback):
* UserInterface/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype._keyDown):
(WebInspector.DataGrid.prototype._contextMenuInDataTable):
(WebInspector.DataGridNode.prototype.createCell):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162931 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove unnecessary forward declarations of MessagePortChannel, MessagePortChannelArra...
zandobersek@gmail.com [Tue, 28 Jan 2014 15:08:31 +0000 (15:08 +0000)]
Remove unnecessary forward declarations of MessagePortChannel, MessagePortChannelArray in DumpRenderTreeSupportEfl.h
https://bugs.webkit.org/show_bug.cgi?id=127654

Reviewed by Alexey Proskuryakov.

* WebCoreSupport/DumpRenderTreeSupportEfl.h: Remove the forward declarations of MessagePortChannel
and MessagePortChannelArray. They were most likely at one point used in DRT support methods, but are
not necessary anymore.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162930 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago<https://webkit.org/b/127767> Disable some deprecation warnings to fix the build.
mrowe@apple.com [Tue, 28 Jan 2014 10:40:58 +0000 (10:40 +0000)]
<https://webkit.org/b/127767> Disable some deprecation warnings to fix the build.

Reviewed by Ryosuke Niwa.

Source/WebCore:

* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper renderWidgetChildren]):
* platform/audio/mac/AudioDestinationMac.cpp:
(WebCore::AudioDestinationMac::configure):
* platform/audio/mac/AudioFileReaderMac.cpp:
(WebCore::AudioFileReader::createBus):

Source/WebKit/mac:

* WebCoreSupport/PopupMenuMac.mm:
(PopupMenuMac::populate):

Source/WebKit2:

* UIProcess/API/mac/WKView.mm:
(-[WKView _updateWindowAndViewFrames]):
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162929 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Add API to allow setting the process model in WebKitWebContext
commit-queue@webkit.org [Tue, 28 Jan 2014 10:22:47 +0000 (10:22 +0000)]
[GTK] Add API to allow setting the process model in WebKitWebContext
https://bugs.webkit.org/show_bug.cgi?id=125463

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2014-01-28
Reviewed by Carlos Garcia Campos.

Implements accessors in WebKitWebContext for the process model.
The default behavior is unchanged, and a single web process is
used. Using WEBKIT_PROCESS_MODEL_ONE_SECONDARY_PROCESS_PER_WEB_VIEW
as the process model will make use one web process for each
WebKitWebView. This also enables the network process. Setting
the process model must be done as early as possible, before the
very first web process is spawned.

Source/WebKit2:

* UIProcess/API/gtk/WebKitWebContext.cpp:
Add accessors in the API to get/set the process model.
(webkit_web_context_set_process_model):
(webkit_web_context_get_process_model):
* UIProcess/API/gtk/WebKitWebContext.h:
Define the WebKitProcessModel enum.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
Add new public API bits to the documentation.

Tools:

* MiniBrowser/gtk/main.c:
(main):
Enable multiple process mode if the MINIBROWSER_MULTIPROCESS
environment variable is defined and not empty.
* TestWebKitAPI/GNUmakefile.am:
Add new TestMultiprocess test case.
* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
Add new TestMultiprocess test case.
* TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp: Added.
(loadChanged):
(testMultipleSecondaryProcesses):
(initializeWebExtensions):
(beforeAll):
(afterAll):
* TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(methodCallCallback):
Implement the GetProcessIdentifier D-Bus method.
(makeBusName):
Choose a different bus name when the web extension is used
from TestMultiprocess.
(webkit_web_extension_initialize_with_user_data):
Use makeBusName() to choose the bus name.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162928 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoVersioning.
bshafiei@apple.com [Tue, 28 Jan 2014 09:21:07 +0000 (09:21 +0000)]
Versioning.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162924 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[SOUP] Remove soupURIToKURL
carlosgc@webkit.org [Tue, 28 Jan 2014 09:08:40 +0000 (09:08 +0000)]
[SOUP] Remove soupURIToKURL
https://bugs.webkit.org/show_bug.cgi?id=127104

Reviewed by Martin Robinson.

Source/WebCore:

In favor of a URL constructor receiving a SoupURI. Also add a
method to URL to create a soupURI.

* GNUmakefile.list.am: Remove SoupURIUtils and add URLSoup.
* PlatformEfl.cmake: Ditto.
* PlatformGTK.cmake: Ditto.
* platform/URL.h: Add URL constructor receiving a SoupURI and
createSoupURI() to create a new soupURI for the URL.
* platform/network/soup/CookieJarSoup.cpp:
(WebCore::setCookiesFromDOM): Use URL::createSoupURI().
(WebCore::cookiesForSession): Ditto.
(WebCore::getRawCookies): Ditto.
(WebCore::deleteCookie): Ditto.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::doRedirect): Use the new URL constructor instead of
soupURIToKURL.
(WebCore::createSoupRequestAndMessageForHandle): Use URL::createSoupURI().
* platform/network/soup/ResourceRequest.h: Rename soupURI as
createSoupURI to make it clear that the method returns a newly
created SoupURI.
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessageMembers): Use URL::createSoupURI().
(WebCore::ResourceRequest::updateSoupMessage): Ditto.
(WebCore::ResourceRequest::updateFromSoupMessage): Use the new URL
constructor instead of soupURIToKURL.
(WebCore::ResourceRequest::createSoupURI): Use URL::createSoupURI().
* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage): Use the new
URL constructor instead of soupURIToKURL.
* platform/network/soup/SoupURIUtils.cpp: Removed.
* platform/network/soup/SoupURIUtils.h: Removed.
* platform/soup/URLSoup.cpp: Added.
(WebCore::URL::URL):
(WebCore::URL::createSoupURI):

Tools:

* TestWebKitAPI/GNUmakefile.am: Add soup cppflags to WebCore unit
tests, because URL.h now includes GUniquePtrSoup.h.
* TestWebKitAPI/CMakeLists.txt: Ditto.
* WebKitTestRunner/PlatformEfl.cmake: Add soup cppflags to WTR,
because URL.h now includes GUniquePtrSoup.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162922 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Avoid unnecessary string duplications in FileSystemGtk
carlosgc@webkit.org [Tue, 28 Jan 2014 08:15:39 +0000 (08:15 +0000)]
[GTK] Avoid unnecessary string duplications in FileSystemGtk
https://bugs.webkit.org/show_bug.cgi?id=127469

Reviewed by Martin Robinson.

We are using fileSystemRepresentation() everywhere internally
which returns a CString that always duplicates the string.
Add unescapedFilename() internal helper function that returns a
GUniquePtr and used it everywhere instead of fileSystemRepresentation().

* platform/gtk/FileSystemGtk.cpp:
(WebCore::unescapedFilename):
(WebCore::fileSystemRepresentation):
(WebCore::filenameForDisplay):
(WebCore::fileExists):
(WebCore::deleteFile):
(WebCore::deleteEmptyDirectory):
(WebCore::getFileStat):
(WebCore::getFileSize):
(WebCore::getFileModificationTime):
(WebCore::getFileMetadata):
(WebCore::pathByAppendingComponent):
(WebCore::makeAllDirectories):
(WebCore::pathGetFileName):
(WebCore::directoryName):
(WebCore::listDirectory):
(WebCore::openFile):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162921 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols
carlosgc@webkit.org [Tue, 28 Jan 2014 07:52:01 +0000 (07:52 +0000)]
[GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols
https://bugs.webkit.org/show_bug.cgi?id=127614

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Add API to set the page identifier that initiated the request to
ResourceRequest, and remove the initiatingPageID() method from the
NetworkingContext class.

* platform/network/NetworkingContext.h:
* platform/network/ResourceHandle.h:
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::createSoupRequestAndMessageForHandle):
* platform/network/soup/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::initiatingPageID):
(WebCore::ResourceRequest::setInitiatingPageID):
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupRequest):
(WebCore::ResourceRequest::updateFromSoupRequest):

Source/WebKit/efl:

Remove initiatingPageID() method form the FrameNetworkingContext.

* WebCoreSupport/FrameNetworkingContextEfl.cpp:
* WebCoreSupport/FrameNetworkingContextEfl.h:

Source/WebKit/gtk:

Remove initiatingPageID() method from FrameNetworkingContext.

* WebCoreSupport/FrameNetworkingContextGtk.cpp:
* WebCoreSupport/FrameNetworkingContextGtk.h:

Source/WebKit2:

* NetworkProcess/RemoteNetworkingContext.h: Remove
initiatingPageID() method.
* NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: Ditto.
* Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
(WebKit::CustomProtocolManagerImpl::send): Create the request with
the ResourceRequest constructor that receives a SoupRequest.
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): Encode initiatingPageID.
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): Decode initiatingPageID.
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestCreate): Remove initiatingPageID parameter
and get it from the given ResourceRequest.
* UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextStartLoadingCustomProtocol): Update to
webkitURISchemeRequestCreate API change.
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(willSendRequestForFrame): Set the initiatingPageID to the ResourceRequest.
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
(WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
Remove initiatingPageID() method.
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
* WebProcess/soup/WebSoupRequestManager.cpp:
(WebKit::WebSoupRequestManager::send): Get the initiatingPageID
from the SoupRequest using the ResourceRequest API.

Tools:

* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp: Bring
back the custom URI scheme WebView check.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162920 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL][WK1] Remove ewk_history_item_time_last_visited_get and ewk_history_item_visit_count
ryuan.choi@samsung.com [Tue, 28 Jan 2014 07:43:02 +0000 (07:43 +0000)]
[EFL][WK1] Remove ewk_history_item_time_last_visited_get and ewk_history_item_visit_count
https://bugs.webkit.org/show_bug.cgi?id=127662

Reviewed by Gyuyoung Kim.

These APIs are exposing WebCore's internal structure, but they removed
from WebCore since 162808.

This patch removed not to support them because applications can do it
if they want.

* ewk/ewk_history.cpp:
* ewk/ewk_history.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162919 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago-[JSContext evaluteScript:] calls JSEvaluteScript with startingLineNumber 0, later...
joepeck@webkit.org [Tue, 28 Jan 2014 07:29:57 +0000 (07:29 +0000)]
-[JSContext evaluteScript:] calls JSEvaluteScript with startingLineNumber 0, later interpreted as a oneBasedInt
https://bugs.webkit.org/show_bug.cgi?id=127648

Reviewed by Geoffrey Garen.

The actual bug being fixed here is that the line number for
scripts evaluated via the JSC APIs is now sane. However,
there is no good infrastructure in place right now to test that.

* API/tests/testapi.c:
(main):
* API/tests/testapi.mm:
(testObjectiveCAPI):
Add tests for exception line numbers and handling of bad
startingLineNumbers in public APIs. These tests were already
passing, I just add them to make sure they are not regressed
in the future.

* API/JSBase.cpp:
(JSEvaluateScript):
(JSCheckScriptSyntax):
* API/JSBase.h:
* API/JSObjectRef.cpp:
(JSObjectMakeFunction):
* API/JSObjectRef.h:
* API/JSScriptRef.cpp:
* API/JSScriptRefPrivate.h:
* API/JSStringRef.h:
- Clarify documentation that startingLineNumber is 1 based and clamped.
- Add clamping in the implementation to put sane values into JSC::SourceProvider.

* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::didParseSource):
Remove the FIXME now that the SourceProvider is giving us expected values.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162918 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRevert yet one more tiny part of r162629 that didn't get reverted in r162883
timothy_horton@apple.com [Tue, 28 Jan 2014 07:25:58 +0000 (07:25 +0000)]
Revert yet one more tiny part of r162629 that didn't get reverted in r162883

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::pluginLoadPolicy):
* WebKitTestRunner/TestController.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162917 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRevert one more tiny part of r162629 that didn't get reverted in r162883.
timothy_horton@apple.com [Tue, 28 Jan 2014 07:20:57 +0000 (07:20 +0000)]
Revert one more tiny part of r162629 that didn't get reverted in r162883.

... which was also causing test failures!

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162916 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoLots of varied and random crashes on the scrolling thread (ScrollbarPainters are...
timothy_horton@apple.com [Tue, 28 Jan 2014 07:16:15 +0000 (07:16 +0000)]
Lots of varied and random crashes on the scrolling thread (ScrollbarPainters are going away)
https://bugs.webkit.org/show_bug.cgi?id=127734
<rdar://problem/15906263>

Reviewed by Simon Fraser.

* page/scrolling/ScrollingStateScrollingNode.h:
Retain the ScrollbarPainters in the scrolling state tree.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162915 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed iOS build fix. FALLTHROUGHs for iOS.
joepeck@webkit.org [Tue, 28 Jan 2014 05:19:48 +0000 (05:19 +0000)]
Unreviewed iOS build fix. FALLTHROUGHs for iOS.

Source/WebCore:

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityTraits]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):

Source/WebKit/ios:

* Misc/WebNSStringDrawing.mm:
(needsBidiLayout):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162913 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWebGLLoadPolicy::WebGLAsk is an unnecessary value.
roger_fong@apple.com [Tue, 28 Jan 2014 05:09:51 +0000 (05:09 +0000)]
WebGLLoadPolicy::WebGLAsk is an unnecessary value.
https://bugs.webkit.org/show_bug.cgi?id=127755

Reviewed by Anders Carlsson.

* UIProcess/API/C/WKAPICast.h:
(WebKit::toWebGLLoadPolicy):
* UIProcess/API/C/WKPageLoaderClient.h:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
* loader/FrameLoaderTypes.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162912 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIDB: Cursor support - Messaging, IPC, Threading plumbing
beidson@apple.com [Tue, 28 Jan 2014 05:03:45 +0000 (05:03 +0000)]
IDB: Cursor support - Messaging, IPC, Threading plumbing
https://bugs.webkit.org/show_bug.cgi?id=127736

Reviewed by Sam Weinig.

Source/WebCore:

* Modules/indexeddb/IDBCursorBackendOperations.h:
(WebCore::CursorIterationOperation::cursorID):
(WebCore::CursorAdvanceOperation::cursorID):

* Modules/indexeddb/IDBTransactionBackendOperations.h:
(WebCore::OpenCursorOperation::transactionID):

* WebCore.exp.in:

Source/WebKit2:

Pipe three cursor-related calls to the DatabaseProcess, and handle messages
from the database process when it is done handling them:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::didOpenCursor):
(WebKit::WebIDBServerConnection::didAdvanceCursor):
(WebKit::WebIDBServerConnection::didIterateCursor):
(WebKit::WebIDBServerConnection::openCursor):
(WebKit::WebIDBServerConnection::cursorAdvance):
(WebKit::WebIDBServerConnection::cursorIterate):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

Pipe the calls through to the appropriate UniqueIDBDatabase:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::openCursor):
(WebKit::DatabaseProcessIDBConnection::cursorAdvance):
(WebKit::DatabaseProcessIDBConnection::cursorIterate):
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

Pass the calls to the backing store thread, then message back to the WebProcess
when the requests are complete.
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::openCursor):
(WebKit::UniqueIDBDatabase::cursorAdvance):
(WebKit::UniqueIDBDatabase::cursorIterate):
(WebKit::UniqueIDBDatabase::openCursorInBackingStore):
(WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
(WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
(WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore):
(WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
(WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

* Shared/WebCrossThreadCopier.cpp:
(WebCore::Vector<char>>::copy):
* Shared/WebCrossThreadCopier.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162911 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: CRASH when debugger closes remote inspecting JSContext
commit-queue@webkit.org [Tue, 28 Jan 2014 04:55:55 +0000 (04:55 +0000)]
Web Inspector: CRASH when debugger closes remote inspecting JSContext
https://bugs.webkit.org/show_bug.cgi?id=127738

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-01-27
Reviewed by Timothy Hatcher.

RemoteInspectorXPCConnection could be accessed in a background dispatch
queue, while being deallocated on the main thread when a connection
was suddenly terminated.

Make RemoteInspectorXPCConnection a ThreadSafeRefCounted object. Always
keep the connection object ref'd until the main thread calls close()
and removes its reference. At that point we can close the connection,
queue, and deref safely on the background queue.

* inspector/remote/RemoteInspector.h:
* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
(Inspector::RemoteInspector::xpcConnectionFailed):
For simplicity RemoteInspectorXPCConnections's don't have any threading
primatives to prevent client callbacks after they are closed. RemoteInspector
does, so it just ignores possible callbacks from connections it no longer
cares about.

* inspector/remote/RemoteInspectorXPCConnection.h:
* inspector/remote/RemoteInspectorXPCConnection.mm:
(Inspector::RemoteInspectorXPCConnection::RemoteInspectorXPCConnection):
(Inspector::RemoteInspectorXPCConnection::~RemoteInspectorXPCConnection):
(Inspector::RemoteInspectorXPCConnection::close):
Keep the connection alive as long as the queue it can be used on
is alive. Clean up everything on the queue when close() is called.

(Inspector::RemoteInspectorXPCConnection::handleEvent):
Checking if closed here is not thread safe so it is meaningless.
Remove the check.

(Inspector::RemoteInspectorXPCConnection::sendMessage):
Bail based on the m_closed state.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162910 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWebKit2: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
joepeck@webkit.org [Tue, 28 Jan 2014 04:04:56 +0000 (04:04 +0000)]
WebKit2: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
https://bugs.webkit.org/show_bug.cgi?id=127665

Reviewed by Anders Carlsson.

* Shared/UserData.cpp:
(WebKit::UserData::encode):
These look like they should not have fallen through!

* Configurations/Base.xcconfig:
* Shared/mac/ObjCObjectGraphCoders.mm:
(WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162909 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWebKit1: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
joepeck@webkit.org [Tue, 28 Jan 2014 04:04:54 +0000 (04:04 +0000)]
WebKit1: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
https://bugs.webkit.org/show_bug.cgi?id=127664

Reviewed by Darin Adler.

* Configurations/Base.xcconfig:
* History/BinaryPropertyList.cpp:
(BinaryPropertyListSerializer::appendObjectReference):
(BinaryPropertyListSerializer::startObject):
(BinaryPropertyListSerializer::addAggregateObjectReference):
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162908 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
joepeck@webkit.org [Tue, 28 Jan 2014 04:04:52 +0000 (04:04 +0000)]
WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
https://bugs.webkit.org/show_bug.cgi?id=127671

Source/WebCore:

Reviewed by Ryosuke Niwa.

* Configurations/Base.xcconfig:
Enable the warning.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
Caught a bug. CSSPropertyWebkitAlt could fall through to CSSPropertyQuotes.

* css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
Caught a bug. CSSPropertyWebkitSvgShadow could fall through to CSSPropertyMaskType.

* platform/Decimal.cpp:
(WebCore::Decimal::fromString):
Possible bug. Implementation doesn't seem to match its documentation.
Filed an issue to follow-up on this unclear function.

* css/makeprop.pl:
* css/makevalues.pl:
* platform/ColorData.gperf:
Ignore implicit fallthrough warnings in generated code. gperf outputs
a "/*FALLTHROUGH*/" comment, but is not easily customizable to change
this output. Easiest to just ignore the warning for now.

* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
(WebCore::AutoTableLayout::layout):
There has been a "fall through" comment immediately followed by a break
since its introduction in 2003. Removing the inaccurate comment.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::canHaveChildren):
(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::AccessibilityNodeObject::title):
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase accessibilityDescription]):
(-[WebAccessibilityObjectWrapperBase accessibilityHelpText]):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::deserialize):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseContent):
(WebCore::CSSParser::realLex):
* css/CSSSelector.cpp:
(WebCore::CSSSelector::extractPseudoType):
(WebCore::CSSSelector::selectorText):
* css/StyleProperties.cpp:
(WebCore::StyleProperties::asText):
* css/StyleSheetContents.cpp:
(WebCore::childRulesHaveFailedOrCanceledSubresources):
* dom/Node.cpp:
(WebCore::appendTextContent):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
(WebCore::HTMLTreeBuilder::processEndOfFile):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* page/EventSource.cpp:
(WebCore::EventSource::parseEventStream):
* platform/DateComponents.cpp:
(WebCore::DateComponents::toStringForTime):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::updateStates):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::platformInit):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::totalBytes):
* platform/graphics/win/FullScreenController.cpp:
(FullScreenController::Private::fullscreenClientWndProc):
* platform/text/BidiResolver.h:
(WebCore::Run>::updateStatusLastFromCurrentDirection):
(WebCore::Run>::createBidiRunsForLine):
* platform/text/win/LocaleWin.cpp:
(WebCore::LocaleWin::initializeLocaleData):
* rendering/PointerEventsHitRules.cpp:
(WebCore::PointerEventsHitRules::PointerEventsHitRules):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::newLine):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateFillTileSize):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::originalText):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::replacedContentRect):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setWordSpacing):
* rendering/svg/RenderSVGResource.cpp:
(WebCore::requestPaintingResource):
* rendering/svg/SVGMarkerData.h:
(WebCore::SVGMarkerData::updateMarkerDataForPathElement):
* svg/SVGPathParser.cpp:
(WebCore::SVGPathParser::parsePathDataFromSource):
* svg/SVGTransformDistance.cpp:
(WebCore::SVGTransformDistance::SVGTransformDistance):
(WebCore::SVGTransformDistance::scaledDistance):
(WebCore::SVGTransformDistance::addSVGTransforms):
(WebCore::SVGTransformDistance::addToSVGTransform):
(WebCore::SVGTransformDistance::distance):
Add annotation or break before falling into a default:break;

Source/WTF:

Reviewed by Ryosuke Niwa.

* wtf/text/WTFString.h:
(WTF::appendNumber):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162907 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoJavaScriptCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where...
joepeck@webkit.org [Tue, 28 Jan 2014 04:04:45 +0000 (04:04 +0000)]
JavaScriptCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
https://bugs.webkit.org/show_bug.cgi?id=127647

Reviewed by Anders Carlsson.

Explicitly annotate switch case fallthroughs in JavaScriptCore and
enable warnings for unannotated fallthroughs.

* dfg/DFGArithMode.h:
(doesOverflow):
Only insert FALLTHROUGH in release builds. In debug builds, the
FALLTHROUGH would be unreachable (due to the ASSERT_NOT_REACHED)
and would through a warning.

* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt52):
Due to the templatized nature of this function, a fallthrough
in one of the template expansions would be unreachable. Disable
the warning for this function.

* Configurations/Base.xcconfig:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
* dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validateCPS):
* parser/Lexer.cpp:
(JSC::Lexer<T>::lex):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseStatement):
(JSC::Parser<LexerType>::parseProperty):
* runtime/JSArray.cpp:
(JSC::JSArray::push):
* runtime/JSONObject.cpp:
(JSC::Walker::walk):
* runtime/JSObject.cpp:
(JSC::JSObject::putByIndex):
(JSC::JSObject::putByIndexBeyondVectorLength):
* runtime/JSObject.h:
(JSC::JSObject::setIndexQuickly):
(JSC::JSObject::initializeIndex):
* runtime/LiteralParser.cpp:
(JSC::LiteralParser<CharType>::parse):
* yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::backtrackParenthesesOnceBegin):
(JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd):
* yarr/YarrParser.h:
(JSC::Yarr::Parser::CharacterClassParserDelegate::atomPatternCharacter):
(JSC::Yarr::Parser::CharacterClassParserDelegate::atomBuiltInCharacterClass):
(JSC::Yarr::Parser::parseEscape):
(JSC::Yarr::Parser::parseTokens):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162906 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WebKit2] Add SPI to disable the WebCore memory cache
aestes@apple.com [Tue, 28 Jan 2014 02:56:45 +0000 (02:56 +0000)]
[WebKit2] Add SPI to disable the WebCore memory cache
https://bugs.webkit.org/show_bug.cgi?id=127747

Reviewed by Tim Horton.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
Initialized memoryCacheDisabled to false.
(WebKit::WebProcessCreationParameters::encode):
Encoded memoryCacheDisabled.
(WebKit::WebProcessCreationParameters::decode):
Decoded memoryCacheDisabled.
* Shared/WebProcessCreationParameters.h:
* UIProcess/API/C/WKContext.cpp:
(WKContextSetMemoryCacheDisabled):
Called WebContext::setMemoryCacheDisabled().
* UIProcess/API/C/WKContextPrivate.h: Declared new SPI.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext): Initialized m_memoryCacheDisabled to false.
(WebKit::WebContext::createNewWebProcess):
Set WebProcessCreationParameters::memoryCacheDisabled to m_memoryCacheDisabled.
(WebKit::WebContext::setMemoryCacheDisabled): Set m_memoryCacheDisabled
and sent new value to all existing processes.
* UIProcess/WebContext.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
Called WebProcess::setMemoryCacheDisabled().
(WebKit::WebProcess::setMemoryCacheDisabled):
Called MemoryCache::setDisabled() if the disabled state changed.
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162904 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd -[WKWebView loadRequest:] API
andersca@apple.com [Tue, 28 Jan 2014 02:04:30 +0000 (02:04 +0000)]
Add -[WKWebView loadRequest:] API
https://bugs.webkit.org/show_bug.cgi?id=127727

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView loadRequest:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162899 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoiOS DumpRenderTree.app dies loading fonts
dfarler@apple.com [Tue, 28 Jan 2014 02:02:56 +0000 (02:02 +0000)]
iOS DumpRenderTree.app dies loading fonts
https://bugs.webkit.org/show_bug.cgi?id=127730

Reviewed by Daniel Bates.

* DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
- Add Ahem to the __DATA section
* DumpRenderTree/mac/DumpRenderTree.mm:
(activateFontsIOS):
- Load "WeightWatcher100" instead.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162898 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAllow mmap encoded data replacement for WOFF fonts.
akling@apple.com [Tue, 28 Jan 2014 01:59:20 +0000 (01:59 +0000)]
Allow mmap encoded data replacement for WOFF fonts.
<https://webkit.org/b/127737>

We always have to convert WOFF fonts to SFNT format. This happens
in a separate buffer from the CachedFont's internal resource buffer.
Because of this, there's no need to protect the original buffer from
mmap replacement.

With this change, WOFF web fonts are no longer duplicated between
the network and web processes.

Reviewed by Brady Eidson.

* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::CachedFont):
(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::mayTryReplaceEncodedData):
* loader/cache/CachedFont.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162897 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: clean up initialization of managers and observers in InspectorTest
bburg@apple.com [Tue, 28 Jan 2014 01:56:54 +0000 (01:56 +0000)]
Web Inspector: clean up initialization of managers and observers in InspectorTest
https://bugs.webkit.org/show_bug.cgi?id=127707

Reviewed by Timothy Hatcher.

The test harness was setting up managers and observers before
telling the frontend host that the page loaded. The InspectorObserver
was also not being initialized.

For clarity, rename importInspectorScripts to initializeInspectorModels.
For easier debugging, make model test assertions use InspectorTest.log.

* http/tests/inspector-protocol/resources/InspectorTest.js:
(InspectorTest.initializeInspectorModels.console.error.window.onerror):
(InspectorTest.initializeInspectorModels.console.assert):
(InspectorTest.initializeInspectorModels):
* inspector-protocol/model/content-flow-content-nodes.html:
* inspector-protocol/model/content-flow-content-removal.html:
* inspector-protocol/model/content-flow-list.html:
* inspector-protocol/model/content-node-region-info.html:
* inspector-protocol/model/main-frame-resource.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162896 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac] Extra logging output from run-safari --no-saved-state
ap@apple.com [Tue, 28 Jan 2014 01:50:27 +0000 (01:50 +0000)]
[Mac] Extra logging output from run-safari --no-saved-state
https://bugs.webkit.org/show_bug.cgi?id=127732

Reviewed by Daniel Bates.

* Scripts/webkitdirs.pm: (argumentsForRunAndDebugMacWebKitApp): Use an option that
disables saved state without logging.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162895 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[New Multicolumn] Add support for block progression axis and reverse direction
hyatt@apple.com [Tue, 28 Jan 2014 01:26:37 +0000 (01:26 +0000)]
[New Multicolumn] Add support for block progression axis and reverse direction
https://bugs.webkit.org/show_bug.cgi?id=127715

Reviewed by thorton.

This patch adds support for -webkit-progression-direction and -webkit-progression-axis
to the new column code. This allows columns to stack along the block axis instead of
the inline axis or to reverse directions along that progression axis.

Added fast/multicol/newmulticol/progression-reverse.html and
      fast/multicol/newmulticol/progression-reverse-overflow.html

Source/WebCore:

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isTopLayoutOverflowAllowed):
(WebCore::RenderBlock::isLeftLayoutOverflowAllowed):
New functions have been added for top and left layout overflow in order to get
a bunch of code out of RenderBox that didn't belong there. RenderBlock is overriding
the functions for the old multicolumn layout code to keep it working.

* rendering/RenderBlock.h:
Added the new top/left overflow functions.

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::determineLogicalLeftPositionForChild):
Moved from RenderBlock, since it didn't belong there.

(WebCore::RenderBlockFlow::isTopLayoutOverflowAllowed):
(WebCore::RenderBlockFlow::isLeftLayoutOverflowAllowed):
* rendering/RenderBlockFlow.h:
Overridden for the new multi-column code to specify when top/left overflow are
allowed (e.g., when the columns go backwards).

* rendering/RenderBox.cpp:
(WebCore::RenderBox::addLayoutOverflow):
Overridden to use the new top/left overflow functions.

* rendering/RenderBox.h:
(WebCore::RenderBox::isTopLayoutOverflowAllowed):
(WebCore::RenderBox::isLeftLayoutOverflowAllowed):
Added base definitions that look at direction and writing-mode.

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::isTopLayoutOverflowAllowed):
(WebCore::RenderFlexibleBox::isLeftLayoutOverflowAllowed):
* rendering/RenderFlexibleBox.h:
Overrides for flexible box of the top/left overflow functions.

* rendering/RenderMultiColumnFlowThread.h:
Make sure requiresBalancing() is set to false if the axis of the columns
is block, since at least right now, we don't support balancing columns
along the block axis. (In theory we could support this in the future, but
nobody has requested it.)

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::updateLogicalWidth):
Remove the code that expands the width of multi column sets. We now always
let their logical width match the containing block's content width and instead
add the overflow to the set itself.

(WebCore::RenderMultiColumnSet::columnRectAt):
(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
(WebCore::RenderMultiColumnSet::paintColumnRules):
(WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting):
(WebCore::RenderMultiColumnSet::collectLayerFragments):
(WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
Patch all of these functions to know how to handle a block axis or reversed
direction.

(WebCore::RenderMultiColumnSet::addOverflowFromChildren):
* rendering/RenderMultiColumnSet.h:
Make multi-column set add in its overflow in the same way that the old
multi-column code did, by looking at the last column rect. (This is really
not a very good way to do it, but it's the same as the old code for now.)

LayoutTests:

* fast/multicol/newmulticol/progression-reverse-expected.html: Added.
* fast/multicol/newmulticol/progression-reverse-overflow-expected.html: Added.
* fast/multicol/newmulticol/progression-reverse-overflow.html: Added.
* fast/multicol/newmulticol/progression-reverse.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162892 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIDB: Rename "IDBTransactionIdentifier" to be more general purpose (take 2)
beidson@apple.com [Tue, 28 Jan 2014 01:17:40 +0000 (01:17 +0000)]
IDB: Rename "IDBTransactionIdentifier" to be more general purpose (take 2)
https://bugs.webkit.org/show_bug.cgi?id=127717

Reviewed by Tim Horton.

Update all related variable names since the type no longer contains the relevant info.

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
* Shared/WebCrossThreadCopier.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162891 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed EFL gardening. Add test expectations for failing tests.
jinwoo7.song@samsung.com [Tue, 28 Jan 2014 01:12:50 +0000 (01:12 +0000)]
Unreviewed EFL gardening. Add test expectations for failing tests.

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162890 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the Mac build following <http://trac.webkit.org/changeset/162887>
dbates@webkit.org [Tue, 28 Jan 2014 01:01:57 +0000 (01:01 +0000)]
Fix the Mac build following <trac.webkit.org/changeset/162887>
(https://bugs.webkit.org/show_bug.cgi?id=127703)

Export symbol for WebCore::AXObjectCache::enableAccessibility().

* WebCore.exp.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162889 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac] Unreviewed build fix. Add missing export symbol.
roger_fong@apple.com [Tue, 28 Jan 2014 00:49:25 +0000 (00:49 +0000)]
[Mac] Unreviewed build fix. Add missing export symbol.

* WebCore.exp.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162888 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Tests crashing on Windows after r162816.
roger_fong@apple.com [Tue, 28 Jan 2014 00:31:06 +0000 (00:31 +0000)]
[Windows] Tests crashing on Windows after r162816.
https://bugs.webkit.org/show_bug.cgi?id=127703.

Reviewed by Alexey Proskuryakov.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::enableAccessibility):
(WebCore::AXObjectCache::disableAccessibility):
* accessibility/AXObjectCache.h: Un-inline some methods so that they can be exported.
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove variable export in favor of function export.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162887 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCopy relevant code from the iOS version of WKView to WKWebView
andersca@apple.com [Tue, 28 Jan 2014 00:24:56 +0000 (00:24 +0000)]
Copy relevant code from the iOS version of WKView to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=127721

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView setFrame:]):
(-[WKWebView setBounds:]):
(-[WKWebView scrollView]):
(-[WKWebView browsingContextController]):
(-[WKWebView contentView:contentsSizeDidChange:]):
(-[WKWebView contentViewDidCommitLoadForMainFrame:]):
(-[WKWebView contentViewDidReceiveMobileDocType:]):
(-[WKWebView contentView:didChangeViewportArgumentsSize:initialScale:minimumScale:maximumScale:allowsUserScaling:]):
(-[WKWebView viewportHandlerDidChangeScales:]):
(-[WKWebView viewportHandler:didChangeViewportSize:]):
(-[WKWebView viewForZoomingInScrollView:]):
(-[WKWebView scrollViewWillBeginZooming:withView:]):
(-[WKWebView _didFinishScroll]):
(-[WKWebView scrollViewDidEndDragging:willDecelerate:]):
(-[WKWebView scrollViewDidEndDecelerating:]):
(-[WKWebView scrollViewDidScrollToTop:]):
(-[WKWebView scrollViewDidScroll:]):
(-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _setDocumentScale:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162886 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate bindings test expectations after r162872
aestes@apple.com [Tue, 28 Jan 2014 00:20:58 +0000 (00:20 +0000)]
Update bindings test expectations after r162872

* bindings/scripts/test/ObjC/DOMTestInterface.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162885 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening, unskip now passing webgl tests on EFL port.
gyuyoung.kim@samsung.com [Tue, 28 Jan 2014 00:18:55 +0000 (00:18 +0000)]
Unreviewed gardening, unskip now passing webgl tests on EFL port.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162884 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRevert the parts of r162629 that add a new pluginLoadPolicy and the context menu...
timothy_horton@apple.com [Tue, 28 Jan 2014 00:07:30 +0000 (00:07 +0000)]
Revert the parts of r162629 that add a new pluginLoadPolicy and the context menu item.

We're leaving the parts that make us use PDFPlugin instead of showing the blocked
plugin indicator intact, though.

* UIProcess/API/APILoaderClient.h:
(API::LoaderClient::pluginLoadPolicy):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
* UIProcess/API/C/WKPageLoaderClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::findPlugin):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::PDFPlugin):
(WebKit::PDFPlugin::handleContextMenuEvent):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
(WebKit::WebPage::canPluginHandleResponse):

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162883 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd a WKContentView initializer that takes a WKWebViewConfiguration
andersca@apple.com [Tue, 28 Jan 2014 00:04:39 +0000 (00:04 +0000)]
Add a WKContentView initializer that takes a WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=127718

Reviewed by Tim Horton.

This initializer will be used by WKWebView.

* UIProcess/API/ios/WKContentView.h:
* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView initWithFrame:configuration:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162882 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoScrub WebKit API headers of WTF macros
aestes@apple.com [Tue, 28 Jan 2014 00:01:28 +0000 (00:01 +0000)]
Scrub WebKit API headers of WTF macros
https://bugs.webkit.org/show_bug.cgi?id=127706

Reviewed by David Kilzer.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.

Source/WebCore:

* Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.
* bindings/objc/DOMEvents.h: Guarded include of
DOM{Gesture,Touch}Event.h with TARGET_OS_IPHONE, since those features
are always enabled on iOS.
* platform/graphics/mac/MediaPlayerProxy.h: Replaced PLATFORM(IOS) with
TARGET_OS_IPHONE and ensured ENABLE_IOS_AIRPLAY is defined.
* platform/ios/SystemMemory.h: Replaced PLATFORM(IOS) with
TARGET_OS_IPHONE.
* platform/ios/wak/WKGraphics.h: Replaced PLATFORM(IOS_SIMULATOR) with
TARGET_IPHONE_SIMULATOR.

Source/WebKit/ios:

* WebCoreSupport/WebMIMETypeRegistry.h: Changed PLATFORM(IOS) to
TARGET_OS_IPHONE.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.
* WebView/WebPreferenceKeysPrivate.h: Changed ENABLE(REMOTE_INSPECTOR)
to !defined(ENABLE_REMOTE_INSPECTOR) || ENABLE_REMOTE_INSPECTOR. We are
in a TARGET_OS_IPHONE block, and ENABLE_REMOTE_INSPECTOR is enabled by
default on iOS, so include this block unless the feature is explicitly
disabled.
* postprocess-headers.sh: Stopped processing ENABLE_IOS_TOUCH_EVENTS
and ENABLE_IOS_GESTURE_EVENTS. These are now defined in DOMEvents.h.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.

Tools:

* Scripts/check-for-inappropriate-macros-in-external-headers: Modified
the regex to require a '(' after the macro name in order to be
considered a match. This prevents things like 'ENABLE_SOME_FEATURE'
from being flagged as an ENABLE() macro.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162881 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCrashes in RemoteScrollingCoordinatorProxy::rootScrollingNodeID
timothy_horton@apple.com [Mon, 27 Jan 2014 23:56:18 +0000 (23:56 +0000)]
Crashes in RemoteScrollingCoordinatorProxy::rootScrollingNodeID

Reviewed by Simon Fraser.

* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::rootScrollingNodeID):
Null-check the root scrolling node, in case something scrolls before
we've made the first remote layer/scrolling tree commit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162880 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Use callOnMainThread() not dispatch_async() in MediaPlayerPrivateAVFoundationObjC
jer.noble@apple.com [Mon, 27 Jan 2014 23:51:19 +0000 (23:51 +0000)]
[iOS] Use callOnMainThread() not dispatch_async() in MediaPlayerPrivateAVFoundationObjC
https://bugs.webkit.org/show_bug.cgi?id=127701

Reviewed by Eric Carlson.

dispatch_async(dispatch_get_main_queue(), ...) used to be fine so long as the main
thread was also the web thread. But since that's not the case on iOS, we should be
using callOnMainThread() instead (because it dispatches to the web thread, not as
its name implies, the main thread).

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createWeakPtr):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
(-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162879 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove Conditional=BLOB from URL interface to Blob-related methods, to prepare for...
mjs@apple.com [Mon, 27 Jan 2014 23:50:52 +0000 (23:50 +0000)]
Move Conditional=BLOB from URL interface to Blob-related methods, to prepare for adding URL API
https://bugs.webkit.org/show_bug.cgi?id=127719

Reviewed by Sam Weinig.

* html/DOMURL.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162878 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIDB: Rename "IDBTransactionIdentifier" to be more general purpose
beidson@apple.com [Mon, 27 Jan 2014 23:48:45 +0000 (23:48 +0000)]
IDB: Rename "IDBTransactionIdentifier" to be more general purpose
https://bugs.webkit.org/show_bug.cgi?id=127717

Reviewed by Tim Horton.

Global rename of IDBTransactionIdentifier to IDBIdentifier.

* DatabaseProcess/IndexedDB/IDBIdentifier.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h.

* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:

* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

* Shared/WebCrossThreadCopier.cpp:
* Shared/WebCrossThreadCopier.h:

* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162877 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove underlying C++ objects to class extensions
andersca@apple.com [Mon, 27 Jan 2014 23:39:47 +0000 (23:39 +0000)]
Move underlying C++ objects to class extensions
https://bugs.webkit.org/show_bug.cgi?id=127716

Reviewed by Tim Horton.

This allows us to get at the internals without calling any Obj-C methods.

* UIProcess/API/Cocoa/WKProcessClass.mm:
* UIProcess/API/Cocoa/WKProcessClassInternal.h:
* UIProcess/API/ios/WKContentView.mm:
* UIProcess/API/ios/WKContentViewInternal.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162876 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove unused USE(OPENTYPE_SANITIZER) code.
akling@apple.com [Mon, 27 Jan 2014 23:29:07 +0000 (23:29 +0000)]
Remove unused USE(OPENTYPE_SANITIZER) code.
<https://webkit.org/b/127710>

This code was only used by the Chromium port.

Reviewed by Darin Adler.

* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:
* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::ensureCustomFontData):
* platform/graphics/WOFFFileFormat.cpp:
* platform/graphics/WOFFFileFormat.h:
* platform/graphics/opentype/OpenTypeSanitizer.cpp: Removed.
* platform/graphics/opentype/OpenTypeSanitizer.h: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162875 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Feature Check all Protocol Generated Interfaces to get JSContext Inspe...
commit-queue@webkit.org [Mon, 27 Jan 2014 23:25:17 +0000 (23:25 +0000)]
Web Inspector: Feature Check all Protocol Generated Interfaces to get JSContext Inspection working
https://bugs.webkit.org/show_bug.cgi?id=127712

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-01-27
Reviewed by Timothy Hatcher.

Feature check protocol generated interfaces (e.g. FooAgent and registerFooObserver).
Also drive by handle a possible exception if a SourceCode's URL is null, which is possible.

* UserInterface/ApplicationCacheManager.js:
(WebInspector.ApplicationCacheManager):
(WebInspector.ApplicationCacheManager.prototype.initialize):
* UserInterface/CSSCompletions.js:
(WebInspector.CSSCompletions.requestCSSNameCompletions):
* UserInterface/CSSStyleManager.js:
(WebInspector.CSSStyleManager):
(WebInspector.CSSStyleManager.prototype.canForcePseudoClasses):
* UserInterface/DebuggerManager.js:
* UserInterface/FrameResourceManager.js:
(WebInspector.FrameResourceManager):
(WebInspector.FrameResourceManager.prototype.initialize):
* UserInterface/Main.js:
(WebInspector.loaded):
* UserInterface/ProfileManager.js:
(WebInspector.ProfileManager):
* UserInterface/StorageManager.js:
(WebInspector.StorageManager):
Type check generated interfaces.

(WebInspector.DebuggerManager):
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
Null check a SourceCode URL, which can be null for a Script with no URL.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162874 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoImplement the _injectedBundleURL property
andersca@apple.com [Mon, 27 Jan 2014 23:22:39 +0000 (23:22 +0000)]
Implement the _injectedBundleURL property
https://bugs.webkit.org/show_bug.cgi?id=127714

Reviewed by Tim Horton.

Properties declared in class categories need to be implemented. Do this
for the _injectedBundleURL property.

* UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
(-[WKProcessClassConfiguration _injectedBundleURL]):
(-[WKProcessClassConfiguration _setInjectedBundleURL:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162873 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoStop the code generator from adding ENABLE() macros to Objective-C DOM headers
aestes@apple.com [Mon, 27 Jan 2014 23:15:17 +0000 (23:15 +0000)]
Stop the code generator from adding ENABLE() macros to Objective-C DOM headers
https://bugs.webkit.org/show_bug.cgi?id=127706

Reviewed by David Kilzer.

Instead of adding ENABLE() macros to generated Objective-C DOM
headers, which might become Public or Private headers, elide generated
code for disabled features.

* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateInterface): Passed $defines to GenerateHeader.
(ConditionalIsEnabled): Checked if the given conditional is found in
$defines. Handled conditionals with '&' and '|'.
(GenerateHeader): Rather than calling GenerateConditionalString to
generate an "#if ENABLE(...)", called ConditionalIsEnabled() to see
whether we should generate code for the given constant, attribute, or
function.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162872 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Shapes] Remove restriction of negative values for inset parameters
zoltan@webkit.org [Mon, 27 Jan 2014 23:03:56 +0000 (23:03 +0000)]
[CSS Shapes] Remove restriction of negative values for inset parameters
https://bugs.webkit.org/show_bug.cgi?id=127704

Reviewed by Darin Adler.

Source/WebCore:

The latest version of CSS Shapes (http://www.w3.org/TR/css-shapes/) specification
doesn't contain any restriction of using negative values for the inset sizing.
I removed the restriction from the code and added testing for them.

Existing tests have been extended with the new cases.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseBasicShapeInset):

LayoutTests:

* fast/shapes/parsing/parsing-shape-lengths-expected.txt:
* fast/shapes/parsing/parsing-shape-lengths.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162871 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] preload=none prevents play()
eric.carlson@apple.com [Mon, 27 Jan 2014 22:47:27 +0000 (22:47 +0000)]
[iOS] preload=none prevents play()
https://bugs.webkit.org/show_bug.cgi?id=127702

Reviewed by Jer Noble.

No new tests, covered by existing tests.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::potentiallyPlaying): Cleanup logic to make it simpler to understand,
    fix logic error introduced in r161973
(WebCore::HTMLMediaElement::updatePlayState): Conditionalize some iOS-only code on whether or not
    we are using the plug-in proxy.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162870 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIDB: LevelDB backing store shouldn't know about IDBCursor or IDBCallbacks
beidson@apple.com [Mon, 27 Jan 2014 22:38:41 +0000 (22:38 +0000)]
IDB: LevelDB backing store shouldn't know about IDBCursor or IDBCallbacks
https://bugs.webkit.org/show_bug.cgi?id=127708

Reviewed by Tim Horton.

Source/WebCore:

Move that knowledge to the IDBCursorBackendOperations inside the callback.

* Modules/indexeddb/IDBCursorBackendOperations.cpp:
(WebCore::CursorAdvanceOperation::perform):
(WebCore::CursorIterationOperation::perform):
* Modules/indexeddb/IDBCursorBackendOperations.h:

* Modules/indexeddb/IDBServerConnection.h:
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
(WebCore::IDBServerConnectionLevelDB::cursorAdvance):
(WebCore::IDBServerConnectionLevelDB::cursorIterate):
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

Source/WebKit2:

Update to new callback signatures:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::cursorAdvance):
(WebKit::WebIDBServerConnection::cursorIterate):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162869 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTweak the WKWebView and WKWebViewConfiguration headers
andersca@apple.com [Mon, 27 Jan 2014 21:45:10 +0000 (21:45 +0000)]
Tweak the WKWebView and WKWebViewConfiguration headers
https://bugs.webkit.org/show_bug.cgi?id=127705

Reviewed by Dan Bernstein.

Add WK_API_CLASS to WKWebView and make WKWebView.h and WKWebViewConfiguration.h public.

* UIProcess/API/Cocoa/WKWebView.h:
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162865 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIDB: Remove unused concept of "cursor prefetch"
beidson@apple.com [Mon, 27 Jan 2014 21:29:16 +0000 (21:29 +0000)]
IDB: Remove unused concept of "cursor prefetch"
https://bugs.webkit.org/show_bug.cgi?id=127700

Reviewed by Tim Horton.

Source/WebCore:

* Modules/indexeddb/IDBCursorBackend.cpp:
* Modules/indexeddb/IDBCursorBackend.h:
* Modules/indexeddb/IDBCursorBackendOperations.cpp:
* Modules/indexeddb/IDBCursorBackendOperations.h:
* Modules/indexeddb/IDBServerConnection.h:
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

Source/WebKit2:

* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162864 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WK2] callOnMainThread() from main thread sometimes results in ASSERTs.
jer.noble@apple.com [Mon, 27 Jan 2014 21:16:50 +0000 (21:16 +0000)]
[WK2] callOnMainThread() from main thread sometimes results in ASSERTs.
https://bugs.webkit.org/show_bug.cgi?id=127370

Reviewed by Alexey Proskuryakov.

When WEB_THREAD is enabled, and callOnMainThread() is called from the main
thread, if the web thread is locked, a timer is set and the passed-in function
is called on the next run-loop. However, by that time the web thread may have
been unlocked, and isMainThread() will no longer return true, resulting in
an assert.

Instead, scheduleDispatchFunctionsOnMainThread() should check isWebThread(),
which is equivalent to isMainThread() when the WEB_THREAD is disabled, but
will do the correct thing when WEB_THREAD is enabled.

* wtf/mac/MainThreadMac.mm:
(WTF::scheduleDispatchFunctionsOnMainThread):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162862 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the build on case-sensitive filesystems
timothy_horton@apple.com [Mon, 27 Jan 2014 20:53:33 +0000 (20:53 +0000)]
Fix the build on case-sensitive filesystems

* WebProcess/WebPage/ViewGestureGeometryCollector.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162859 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(r162837): fast/writing-mode/ruby-text-logical-left.html fails on WK1
antti@apple.com [Mon, 27 Jan 2014 20:52:17 +0000 (20:52 +0000)]
REGRESSION(r162837): fast/writing-mode/ruby-text-logical-left.html fails on WK1

* TestExpectations: skip for now

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162858 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBuild fix.
mitz@apple.com [Mon, 27 Jan 2014 20:51:35 +0000 (20:51 +0000)]
Build fix.

* wtf/ThreadSafeRefCounted.h: Added a necessary #include.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162857 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIDB: Refactor out the last of the operation callbacks that are called by the LevelDB...
beidson@apple.com [Mon, 27 Jan 2014 20:34:55 +0000 (20:34 +0000)]
IDB: Refactor out the last of the operation callbacks that are called by the LevelDB backing store
https://bugs.webkit.org/show_bug.cgi?id=127592

Reviewed by Tim Horton.

Source/WebCore:

For each of the 3 remaining operations where the backing store calls callbacks directly,
factor out the callbacks to the operation itself.

* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::OpenCursorOperation::perform):
(WebCore::CountOperation::perform):
(WebCore::DeleteRangeOperation::perform):
* Modules/indexeddb/IDBTransactionBackendOperations.h:

* Modules/indexeddb/IDBServerConnection.h:
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
(WebCore::IDBServerConnectionLevelDB::openCursor):
(WebCore::IDBServerConnectionLevelDB::count):
(WebCore::IDBServerConnectionLevelDB::deleteRange):
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

Source/WebKit2:

Update the WebIDBServerConnection to the new callback signatures:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::openCursor):
(WebKit::WebIDBServerConnection::count):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162856 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r162755.
commit-queue@webkit.org [Mon, 27 Jan 2014 20:31:09 +0000 (20:31 +0000)]
Unreviewed, rolling out r162755.
http://trac.webkit.org/changeset/162755
https://bugs.webkit.org/show_bug.cgi?id=127696

not quite right, breaks subframe scrolling in some cases
(Requested by thorton on #webkit).

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::ScrollingTree):
(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
(WebCore::ScrollingTree::removeDestroyedNodes):
* page/scrolling/ScrollingTree.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162855 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWebKit2 View Gestures: Fluid back-forward swipe
timothy_horton@apple.com [Mon, 27 Jan 2014 20:21:21 +0000 (20:21 +0000)]
WebKit2 View Gestures: Fluid back-forward swipe
https://bugs.webkit.org/show_bug.cgi?id=127363

Reviewed by Anders Carlsson.

Add support for a "back-forward swipe", which allows fluid swiping between
items in the back-forward list. Currently disabled by default.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetViewGestureDebuggingEnabled):
(WKPreferencesGetViewGestureDebuggingEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
Add a ViewGestureDebuggingEnabled preference, which currently causes snapshots to be blurred.
Additional view gesture debugging features could come in the future.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _ensureGestureController]):
(-[WKView scrollWheel:]):
If back-forward navigation gestures are enabled, intercept scrollWheel events
on the WKView and let the ViewGestureController take the first crack at them.

(-[WKView setAllowsBackForwardNavigationGestures:]):
(-[WKView allowsBackForwardNavigationGestures]):
* UIProcess/API/mac/WKViewInternal.h:
Add allowsBackForwardNavigationGesture property, which enables the gesture.

* UIProcess/mac/ViewGestureController.h:
Add swipe-related methods, which will be described below.

Add an enum for the swipe transition style. Currently only Overlap is accessible,
but in the future one could see having API to choose the style.
'Overlap' has the outgoing page swipe out to the right (when swiping right)
or the incoming page swipe in from the right (when swiping left).
'Push' has the pages push each other along in sync, as if all the pages in the
back-forward list were oriented from left to right.

* UIProcess/mac/ViewGestureController.messages.in:
* UIProcess/mac/ViewGestureController.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.cpp.
Use some CAFilter SPI to blur the snapshot if ViewGestureDebuggingEnabled is on.

(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::~ViewGestureController):
(WebKit::ViewGestureController::endMagnificationGesture):
Move m_activeGestureType clearing to each end* function instead of one global place,
so that each gesture can handle when it ends separately.

(WebKit::ViewGestureController::handleScrollWheelEvent):
If we receive a scroll wheel event which is appropriate for starting a
fluid swipe, in a direction where the main frame is pinned to the appropriate
edge of the view, start tracking a swipe.

This should eventually have some hysterisis to avoid stealing scrolls that
venture into the wrong direction, but for now it starts tracking immediately.

Forward events from the tracking loop to {begin, handle, end}SwipeGesture.

(WebKit::ViewGestureController::beginSwipeGesture):
Create a layer with the destination page's snapshot, and set it up.

(WebKit::ViewGestureController::handleSwipeGesture):
Appropriately adjust the position of the root layer and snapshot layer,
given the transition style and swipe direction.

(WebKit::ViewGestureController::endSwipeGesture):
When the gesture ends, do the navigation, and tell the WebProcess to
inform us when the render tree hits half the size it was when the
snapshot was taken (when that happens, we will remove the snapshot
and the gesture will be truly complete). Also, start a watchdog timer
in case the render tree never hits that size, after which we will
also remove the snapshot.

(WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
(WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired):
(WebKit::ViewGestureController::removeSwipeSnapshot):
Tear down the swipe snapshot layer, and mark our current gesture as complete.

(WebKit::ViewGestureController::endActiveGesture):
Simplify endActiveGesture; it only has work to do for a pinch-zoom gesture,
as those are the only gestures where the user is directly in control of when they end.

* WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::ViewGestureGeometryCollector):
(WebKit::ViewGestureGeometryCollector::mainFrameDidLayout):
(WebKit::ViewGestureGeometryCollector::renderTreeSizeNotificationTimerFired):
* WebProcess/WebPage/ViewGestureGeometryCollector.h:
(WebKit::ViewGestureGeometryCollector::setRenderTreeSizeNotificationThreshold):
* WebProcess/WebPage/ViewGestureGeometryCollector.messages.in:
ViewGestureController pushes a render-tree size threshold to the WebProcess;
ViewGestureGeometryCollector (whose name is now more unfortunate than before)
monitors render-tree size changes and informs ViewGestureController when
it reaches that threshold via the 'DidHitRenderTreeSizeThreshold' message.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/ios/PageClientImplIOS.h:
* UIProcess/API/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::acceleratedCompositingRootLayer):
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::acceleratedCompositingRootLayer):
* UIProcess/API/mac/WKView.mm:
(-[WKView _acceleratedCompositingModeRootLayer]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::acceleratedCompositingRootLayer):
Add a getter for the accelerated compositing root layer.

* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
Don't extract the CGImageRef from a RetainPtr just to put it back in one.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162853 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r162846.
commit-queue@webkit.org [Mon, 27 Jan 2014 19:49:10 +0000 (19:49 +0000)]
Unreviewed, rolling out r162846.
http://trac.webkit.org/changeset/162846
https://bugs.webkit.org/show_bug.cgi?id=127695

"Broke the WebKit Bot Watcher's Dashboard; will fix offline"
(Requested by dydz on #webkit).

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype.update.):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162850 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Shapes] inset() function with multiple spaces on element style
zoltan@webkit.org [Mon, 27 Jan 2014 19:15:25 +0000 (19:15 +0000)]
[CSS Shapes] inset() function with multiple spaces on element style
https://bugs.webkit.org/show_bug.cgi?id=127617

Reviewed by Dirk Schulze.

Source/WebCore:

When only a subset of parameters were defined for an inset shape, the built
inset string contained some extra spaces. This patch fixes the behavior and
adds tests for the case. I also removed the string allocation optimization from
buildInsetString, since it's not worthwhile to always allocate as many memory
as needed for a fully defined inset.

I added the new test cases to the shapes parser code test.

* css/CSSBasicShapes.cpp:
(WebCore::buildInsetString):

LayoutTests:

* fast/shapes/parsing/parsing-shape-inside-expected.txt:
* fast/shapes/parsing/parsing-shape-outside-expected.txt:
* fast/shapes/parsing/parsing-test-utils.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162848 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd support for displaying results from multiple Buildbots on WebKit Bot Watcher...
dbates@webkit.org [Mon, 27 Jan 2014 19:08:51 +0000 (19:08 +0000)]
Add support for displaying results from multiple Buildbots on WebKit Bot Watcher's Dashboard
https://bugs.webkit.org/show_bug.cgi?id=127564

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162847 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTeach Buildbot dashboard to parse alternative revision format
dbates@webkit.org [Mon, 27 Jan 2014 19:06:40 +0000 (19:06 +0000)]
Teach Buildbot dashboard to parse alternative revision format
https://bugs.webkit.org/show_bug.cgi?id=127561

Reviewed by Alexey Proskuryakov.

Add support for extracting the OpenSource and Internal revision numbers when Buildbot
returns a dictionary for the value of property got_revision.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(parseRevisionProperty): Added; parses Buildbot revision property, which can either be a
string or a dictionary.
(BuildbotIteration.prototype.update.): Modified to call parseRevisionProperty() to determine
the OpenSource and Internal revision numbers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162846 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove unused CodeBlock::createActivation().
mark.lam@apple.com [Mon, 27 Jan 2014 18:53:26 +0000 (18:53 +0000)]
Remove unused CodeBlock::createActivation().
<https://webkit.org/b/127686>

Reviewed by Filip Pizlo.

* bytecode/CodeBlock.cpp:
* bytecode/CodeBlock.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162845 268f45cc-cd09-0410-ab3c-d52691b4dbfc