WebKit-https.git
7 years ago50% time on Dromaeo Selector * benchmark spent allocating oversized backing stores...
ggaren@apple.com [Thu, 30 Jan 2014 02:02:29 +0000 (02:02 +0000)]
50% time on Dromaeo Selector * benchmark spent allocating oversized backing stores (but not in Chrome)
https://bugs.webkit.org/show_bug.cgi?id=127879

Reviewed by Gavin Barraclough.

Let's not dynamically resize an array whose size is statically known,
mmmkay?

* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncConcat): Use nullptr to disambiguate vs the numeric
argument.

(JSC::arrayProtoFuncSlice): The fix.

(JSC::arrayProtoFuncSort):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncMap): Use nullptr.

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

7 years agoEventHandler::handleMouseReleaseEvent shouldn't call updateSelectionCachesIfSelection...
rniwa@webkit.org [Thu, 30 Jan 2014 01:53:42 +0000 (01:53 +0000)]
EventHandler::handleMouseReleaseEvent shouldn't call updateSelectionCachesIfSelectionIsInsideTextFormControl
and selectFrameElementInParentIfFullySelected
https://bugs.webkit.org/show_bug.cgi?id=127834

Reviewed by Alexey Proskuryakov.

Removed the calls and made setNonDirectionalSelectionIfNeeded pass in UserTriggered option.

In addition, removed the rather error-prone function override of setSelection since TextGranularity,
which is an enum, could be implicitly coerced into SetSelectionOptions which is a typedefed unsigned int.

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelectionByMouseIfDifferent): Renamed from setNonDirectionalSelectionIfNeeded.
Pass in DoNotRevealSelection to avoid revealing the selection to preserve the existing behavior.
There are two layout tests that fail without this.
(WebCore::FrameSelection::setSelection): Check the newly addeed DoNotRevealSelection option.
(WebCore::FrameSelection::wordSelectionContainingCaretSelection): Call

* editing/FrameSelection.h: Made updateSelectionCachesIfSelectionIsInsideTextFormControl and
selectFrameElementInParentIfFullySelected private as they are no longer called outside of FrameSelection.

* page/EventHandler.cpp:
(WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::handleMouseReleaseEvent): Removed calls to the functions.

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

7 years agoUnreviewed iOS build fix after 163050.
jer.noble@apple.com [Thu, 30 Jan 2014 01:41:33 +0000 (01:41 +0000)]
Unreviewed iOS build fix after 163050.

Import CALayer.h explicitly as (on iOS) it is not included by other headers.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

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

7 years agoWeb Inspector: Run JSC Inspector EventLoop in a custom run loop mode to prevent defau...
commit-queue@webkit.org [Thu, 30 Jan 2014 01:32:47 +0000 (01:32 +0000)]
Web Inspector: Run JSC Inspector EventLoop in a custom run loop mode to prevent default observers from running
https://bugs.webkit.org/show_bug.cgi?id=127865

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-01-29
Reviewed by Geoffrey Garen.

When hitting a breakpoint in a JSContext Inspector we want to entirely
pause the process and all access to the JSContext and only move forward
based on debugger commands. Having the nested run loop run in a default
mode allowed NSTimers scheduled on the thread to regularly run and
evaluate code in the JSContext. Using a custom run loop mode gets us
a bit closer to locking down the context. This doesn't handle scenarios
where background threads also access the JSContext, but it handles the
most common scenario.

* inspector/EventLoop.cpp:
(Inspector::EventLoop::cycle):

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

7 years ago-[WKWebView loadRequest:] should return a WKNavigation
andersca@apple.com [Thu, 30 Jan 2014 01:17:57 +0000 (01:17 +0000)]
-[WKWebView loadRequest:] should return a WKNavigation
https://bugs.webkit.org/show_bug.cgi?id=127873

Reviewed by Dan Bernstein.

Source/WebKit2:

For now this just returns a dummy navigation.

* UIProcess/API/Cocoa/WKNavigation.h:
* UIProcess/API/Cocoa/WKNavigation.mm:
(-[WKNavigation initWithRequest:]):
(-[WKNavigation request]):
* UIProcess/API/Cocoa/WKNavigationInternal.h: Added.
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadRequest:]):
* WebKit2.xcodeproj/project.pbxproj:

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm: Added.
(TEST):

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

7 years agoFix windows.
weinig@apple.com [Thu, 30 Jan 2014 01:14:01 +0000 (01:14 +0000)]
Fix windows.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

7 years agoWeb Inspector: Deadlock hitting breakpoint while inspecting JSContext
commit-queue@webkit.org [Thu, 30 Jan 2014 01:01:13 +0000 (01:01 +0000)]
Web Inspector: Deadlock hitting breakpoint while inspecting JSContext
https://bugs.webkit.org/show_bug.cgi?id=127864

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-01-29
Reviewed by Geoffrey Garen.

Temporarily drop the lock while we run the nested runloop.

* inspector/JSGlobalObjectScriptDebugServer.cpp:
(Inspector::JSGlobalObjectScriptDebugServer::runEventLoopWhilePaused):

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

7 years agoUnreviewed Mac Build fix after r163046.
jer.noble@apple.com [Thu, 30 Jan 2014 00:53:15 +0000 (00:53 +0000)]
Unreviewed Mac Build fix after r163046.

Forward define AVSampleLayerDisplayLayer and its methods.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

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

7 years ago* UIProcess/API/C/WKPage.cpp:
andersca@apple.com [Thu, 30 Jan 2014 00:39:12 +0000 (00:39 +0000)]
* UIProcess/API/C/WKPage.cpp:
(WKPageLoadURL):
Don't use the resource request constructor that takes a String.

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

7 years agoCaptionUserPreferences should not be on the PageGroup if they are not really per...
weinig@apple.com [Thu, 30 Jan 2014 00:35:31 +0000 (00:35 +0000)]
CaptionUserPreferences should not be on the PageGroup if they are not really per-PageGroup (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=127666

Reviewed by Eric Carlson.

This patch:
- Makes CaptionUserPreferences a singleton (temporary) that is accessed
  via Page.
- Simplifies overriding system preferences by requiring that a Document be
  be passed so the correct Settings object can be obtained (and not just a
  random one).
- Stops using UserStyleSheets for captions style injection, and instead
  adds a new style sheet to the DocumentStyleSheetCollection.
- Move caption style sheet creation into its own file - CaptionStyleSheetMediaAF.h/cpp

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
Add new files.

* WebCore.exp.in:
Update exports.

* css/DocumentRuleSets.cpp:
* css/InspectorCSSOMWrappers.cpp:
* dom/Document.cpp:
* dom/DocumentStyleSheetCollection.cpp:
* dom/DocumentStyleSheetCollection.h:
Switch from using the user style sheet mechanism, which is meant for, you guessed it, users,
to an explicit caption style sheet.

* Modules/mediacontrols/MediaControlsHost.cpp:
* html/HTMLMediaElement.cpp:
* html/shadow/MediaControlElements.cpp:
Get the CaptionUserPreferences via the Page.

* page/CaptionStyleSheetMediaAF.cpp: Added.
* page/CaptionStyleSheetMediaAF.h: Added.
Move caption style sheet creation here. If the global style changes, the sheet is invalidated
and this is called again.

* page/CaptionUserPreferences.cpp:
* page/CaptionUserPreferences.h:
- Removes unused m_havePreferences member.
- Change userPrefersFoo() functions to take a Document&. Use it to check its Settings.
- Remove setUserPrefersFoo() functions and just set the Settings directly.
- Move all the testing only pieces together.

* page/CaptionUserPreferencesMediaAF.cpp:
* page/CaptionUserPreferencesMediaAF.h:
- Extract caption style sheet creation into CaptionStyleSheetMediaAF.h/cpp
- Stop waiting for an interested party, and just register for appearance change
  notifications right away. Media elements are common enough that this should not
  make a difference.

* page/Page.cpp:
(WebCore::Page::updateStyleForAllPagesForCaptionPreferencesChanged):
Add helper to call captionPreferencesChanged() on all the Pages.

(WebCore::Page::captionPreferences):
Add accessor for the CaptionUserPreferences. Currently this returns a singleton, but I plan
to extract the singleton aspects of it into another class, and leave the per-Page parts here.

* page/Page.h:
* page/PageGroup.cpp:
* page/PageGroup.h:
Remove CaptionUserPreferences from here.

* testing/InternalSettings.cpp:
(WebCore::InternalSettings::setShouldDisplayTrackKind):
(WebCore::InternalSettings::shouldDisplayTrackKind):
Override the settings for the page directly.

* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::Internals):
(WebCore::Internals::captionsStyleSheetOverride):
(WebCore::Internals::setCaptionsStyleSheetOverride):
(WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
(WebCore::Internals::setCaptionDisplayMode):
Get the CaptionUserPreferences via the Page.

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

7 years agoUpdate clip-path tests to use new shape syntax
bjonesbe@adobe.com [Thu, 30 Jan 2014 00:31:05 +0000 (00:31 +0000)]
Update clip-path tests to use new shape syntax
https://bugs.webkit.org/show_bug.cgi?id=127862

Reviewed by Dirk Schulze.

Update the tests to reflect the new shape syntax. The inset tests are
copied from the rectangle tests that will be removed when the old
syntax is removed.

* css3/masking/clip-path-inset-expected.txt: Added.
* css3/masking/clip-path-inset.html: Added.
* svg/clip-path/clip-path-shape-circle-1.svg:
* svg/clip-path/clip-path-shape-circle-2.svg:
* svg/clip-path/clip-path-shape-ellipse-1.svg:
* svg/clip-path/clip-path-shape-ellipse-2.svg:
* svg/clip-path/clip-path-shape-rounded-inset-1-expected.svg: Added.
* svg/clip-path/clip-path-shape-rounded-inset-1.svg: Copied from LayoutTests/svg/clip-path/clip-path-shape-circle-1.svg.
* svg/clip-path/clip-path-shape-rounded-inset-2-expected.svg: Added.
* svg/clip-path/clip-path-shape-rounded-inset-2.svg: Copied from LayoutTests/svg/clip-path/clip-path-shape-circle-1.svg.

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

7 years ago[MSE][Mac] In SourceBufferPrivateAVFObjC, only include those headers actually necessa...
jer.noble@apple.com [Thu, 30 Jan 2014 00:02:08 +0000 (00:02 +0000)]
[MSE][Mac] In SourceBufferPrivateAVFObjC, only include those headers actually necessary to compile.
https://bugs.webkit.org/show_bug.cgi?id=127846

Reviewed by Darin Adler.

To work around a compile issue, only include those paths containing classes and typedefs
which are used within SourceBufferPrivateAVFObjC, rather than all of AVFoundation.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

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

7 years agoIDB: Fully implement IDBKeyData encoding/decoding
beidson@apple.com [Thu, 30 Jan 2014 00:00:25 +0000 (00:00 +0000)]
IDB: Fully implement IDBKeyData encoding/decoding
https://bugs.webkit.org/show_bug.cgi?id=127863

Rubberstamped by Alexey Proskuryakov.

Source/WebCore:

* platform/KeyedCoding.h:

* Modules/indexeddb/IDBKeyData.cpp:
(WebCore::IDBKeyData::encode):
(WebCore::IDBKeyData::decode):

* WebCore.exp.in:

Source/WebKit2:

Handle invalid buffers, and pass IDBKeyData decoding along:
* DatabaseProcess/IndexedDB/IDBSerialization.cpp:
(WebKit::deserializeIDBKeyPath):
(WebKit::serializeIDBKeyData):
(WebKit::deserializeIDBKeyData):
* DatabaseProcess/IndexedDB/IDBSerialization.h:

Implement decodeBool and decodeDouble:
* Shared/cf/KeyedDecoder.cpp:
(WebKit::KeyedDecoder::decodeBool):
(WebKit::KeyedDecoder::decodeDouble):
* Shared/cf/KeyedDecoder.h:

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

7 years agoclip-path swaps bottom radii for the inset shape
bjonesbe@adobe.com [Wed, 29 Jan 2014 23:30:18 +0000 (23:30 +0000)]
clip-path swaps bottom radii for the inset shape
https://bugs.webkit.org/show_bug.cgi?id=127859

Reviewed by Dirk Schulze.

Source/WebCore:

The bottom right and bottom left radii were passed in the wrong order,
causing the wrong corner to be clipped in the resultant rendering.

Test: css3/masking/clip-path-inset-corners.html

* rendering/style/BasicShapes.cpp:
(WebCore::BasicShapeInset::path): Change the parameter order to be
correct.

LayoutTests:

Test that all the inset radii are applied to the correct corners.

* css3/masking/clip-path-inset-corners-expected.html: Added.
* css3/masking/clip-path-inset-corners.html: Added.

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

7 years agoWebKit2 View Gestures (Swipe): Update rubberBandsAt{Left,Right} when WebKit swipe...
timothy_horton@apple.com [Wed, 29 Jan 2014 23:06:45 +0000 (23:06 +0000)]
WebKit2 View Gestures (Swipe): Update rubberBandsAt{Left,Right} when WebKit swipe is enabled
https://bugs.webkit.org/show_bug.cgi?id=127855
<rdar://problem/15933878>

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView setAllowsBackForwardNavigationGestures:]):
Enable implicit control of rubberbanding when using WebKit2's swipe implementation.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::sendWheelEvent):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::setShouldUseImplicitRubberBandControl):
(WebKit::WebPageProxy::shouldUseImplicitRubberBandControl):
Rename away from "legacy" name, since we're using it on purpose now.

* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::expectsLegacyImplicitRubberBandControl):
(WebKit::WebPageProxy::platformInitialize):
Since NSVersionOfLinkTimeLibrary doesn't work for applications that
don't link directly against the library (like Safari), let's explicitly
check if Safari is expecting the legacy behavior, otherwise using
the linked version of WebKit2, but using the new behavior if we can't
determine the linked version of WebKit2 and are not Safari.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
Enable swipe in MiniBrowser for testing purposes.

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

7 years agoMake WKWebView limp along on OS X
andersca@apple.com [Wed, 29 Jan 2014 22:46:59 +0000 (22:46 +0000)]
Make WKWebView limp along on OS X
https://bugs.webkit.org/show_bug.cgi?id=127857

Reviewed by Tim Horton.

On Mac, create a WKView and add it as a subview of the WKWebVew so we'll actually get something
on screen when creating a WKWebView.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
Create a WKView.

(-[WKWebView resizeSubviewsWithOldSize:]):
Resize the WKView.

* UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:configuration:]):
Add new initializer.

* UIProcess/API/mac/WKViewInternal.h:
Use a class extension for internal methods and add the new initializer.

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

7 years ago[MediaControls][iOS] Hook up the fullscreen button
jer.noble@apple.com [Wed, 29 Jan 2014 22:14:53 +0000 (22:14 +0000)]
[MediaControls][iOS] Hook up the fullscreen button
https://bugs.webkit.org/show_bug.cgi?id=127850

Reviewed by Eric Carlson.

For the fullscreen button, do the same thing we do for the play button: handle touchstart,
touchend, and touchcancel, and perform the action (i.e., 'click') on touchend.

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.createControls): Add listeners for the fullscreenButton.
(ControllerIOS.prototype.isFullScreen): Override.
(ControllerIOS.prototype.handleFullscreenButtonClicked): Override.
(ControllerIOS.prototype.handleFullscreenTouchStart): Added.
(ControllerIOS.prototype.handleFullscreenTouchEnd): Added.
(ControllerIOS.prototype.handleFullscreenTouchCancel): Added.

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

7 years agoFix JSONP requests made by the WebKit Bot Watcher's Dashboard following <http://trac...
dbates@webkit.org [Wed, 29 Jan 2014 21:21:33 +0000 (21:21 +0000)]
Fix JSONP requests made by the WebKit Bot Watcher's Dashboard following <trac.webkit.org/changeset/163034>
(https://bugs.webkit.org/show_bug.cgi?id=127784)

Use dot-notation instead of array index notation to access the dictionary value for key jsonpCallbackName
in the specified options dictionary.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:
(JSON.load):

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

7 years agoFix build.
andersca@apple.com [Wed, 29 Jan 2014 21:17:28 +0000 (21:17 +0000)]
Fix build.

* WebView/WebPDFView.mm:
(_applicationInfoForMIMEType):

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

7 years agoIDB: Opening an existing database is broken
beidson@apple.com [Wed, 29 Jan 2014 21:15:48 +0000 (21:15 +0000)]
IDB: Opening an existing database is broken
https://bugs.webkit.org/show_bug.cgi?id=127851

Reviewed by Tim Hatcher.

Source/WebCore:

* Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
(WebCore::IDBDatabaseBackend::didOpenInternalAsync): Remember if this method has completed.
(WebCore::IDBDatabaseBackend::processPendingCalls): If didOpenInternalAsync hasn’t
  been called yet, then it is incorrect to process any pending calls right now.
* Modules/indexeddb/IDBDatabaseBackend.h:

Source/WebKit2:

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): Save the request to get metadata
  to the set before posting the task to the thread.
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): Actually save the retrieved
  object store metadata to the database metadata.

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

7 years agoConsolidate page loading functions
andersca@apple.com [Wed, 29 Jan 2014 20:54:09 +0000 (20:54 +0000)]
Consolidate page loading functions
https://bugs.webkit.org/show_bug.cgi?id=127847

Reviewed by Tim Horton.

Get rid of the loadURL functions (and the LoadURL message), rename
loadURLRequest to loadRequest and change it to take a ResourceRequest instead
of an API::URLRequest.

* UIProcess/API/C/WKPage.cpp:
(WKPageLoadURL):
(WKPageLoadURLWithUserData):
(WKPageLoadURLRequest):
(WKPageLoadURLRequestWithUserData):
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController loadRequest:userData:]):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadRequest:]):
* UIProcess/WebInspectorProxy.cpp:
(WebKit::decidePolicyForNavigationAction):
(WebKit::WebInspectorProxy::createInspectorPage):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::loadFile):
* UIProcess/WebPageProxy.h:
* UIProcess/cf/WebPageProxyCF.cpp:
(WebKit::WebPageProxy::restoreFromSessionStateData):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadRequest):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

7 years ago2014-01-29 Oliver Hunt <oliver@apple.com>
oliver@apple.com [Wed, 29 Jan 2014 20:38:48 +0000 (20:38 +0000)]
2014-01-29  Oliver Hunt  <oliver@apple.com>

        This dereference should not actually be necessary, and
        is producing deprecation warnings with newer perls

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateAttributesHashTable):

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

7 years agoMake DOM attributes appear to be faux accessor properties
oliver@apple.com [Wed, 29 Jan 2014 20:33:13 +0000 (20:33 +0000)]
Make DOM attributes appear to be faux accessor properties
https://bugs.webkit.org/show_bug.cgi?id=127797

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Add flag so we can identify which properties should have the old
custom property semantics vs. the new faux accessors. Update the
inspector protocol accordingly.

These faux accessors produce descriptors with "get" and "set"
properties, but both values are undefined so can't be used
directly. A few custom properties actually require their
existing magical behaviour, so we now have a flag to
distinguish the expected output.

* inspector/InjectedScriptSource.js:
(.):
* runtime/JSObject.cpp:
(JSC::JSObject::getOwnPropertyDescriptor):
* runtime/PropertyDescriptor.cpp:
(JSC::PropertyDescriptor::setCustomDescriptor):
* runtime/PropertyDescriptor.h:
* runtime/PropertySlot.h:

Source/WebCore:

Refactor the bindings generator, and make sure we emit
the CustomAccessor flag on properties that should
appear to be accessors.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateAttributesHashTable):
(GenerateImplementation):

LayoutTests:

These properties now show up as accessors in these tests

* fast/dom/Window/replaceable-expected.txt:
* fast/dom/Window/replaceable.html:
* js/dom/getOwnPropertyDescriptor-expected.txt:
* js/resources/getOwnPropertyDescriptor.js:

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

7 years agoWebKit Bot Watcher's Dashboard: Add support for using HTTP authentication with Buildbot
dbates@webkit.org [Wed, 29 Jan 2014 20:23:00 +0000 (20:23 +0000)]
WebKit Bot Watcher's Dashboard: Add support for using HTTP authentication with Buildbot
https://bugs.webkit.org/show_bug.cgi?id=127784

Reviewed by Alexey Proskuryakov.

Implement support for querying a Buildbot that requires HTTP authentication to access it.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
(Buildbot): Add optional argument, options, to pass a dictionary of Buildbot options.
For now, we only support a single option, needsAuthentication, to indicate whether the
Buildbots requires HTTP authentication (defaults to false - HTTP authentication is
not required).
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype.loadLayoutTestResults): Modified to pass JSONP callback name
to JSON.load() using the option dictionary.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue.prototype.update): Modified to pass withCredentials to JSON.load().
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:
(JSON.load): Removed optional argument jsonpCallbackName and added optional argument options,
which is a dictionary. The argument jsonpCallbackName is now specified as an entry in the
options dictionary. Added boolean options withCredentials to toggle querying with HTTP
authentication credentials.

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

7 years agoEFL port should stop using COMPILE_ASSERT_MATCHING_ENUM macros
ryuan.choi@samsung.com [Wed, 29 Jan 2014 20:17:37 +0000 (20:17 +0000)]
EFL port should stop using COMPILE_ASSERT_MATCHING_ENUM macros
https://bugs.webkit.org/show_bug.cgi?id=127801

Reviewed by Anders Carlsson.

Source/WebKit:

* PlatformEfl.cmake: Removed AssertMatchingEnums.cpp

Source/WebKit/efl:

Instead of COMPILE_ASSERT_MATCHING_ENUMS with static_cast, this patch
added switch and conversion functions if needed.

* WebCoreSupport/AssertMatchingEnums.cpp: Removed.
* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForNavigationAction):
* ewk/ewk_contextmenu.cpp:
(toEwkContextMenuAction):
* ewk/ewk_contextmenu.h:
Added missing enum variables. These are required not to break the build.
* ewk/ewk_frame.cpp:
(ewk_frame_text_selection_type_get):
* ewk/ewk_touch_event.cpp:
(toPlatformTouchPointState):
(WebKitPlatformTouchEvent::WebKitPlatformTouchEvent):
* ewk/ewk_view.cpp:
(ewk_view_text_direction_set):
(ewk_view_navigation_policy_decision):
(toViewMode):
(toEwkViewMode):
(ewk_view_mode_set):
(ewk_view_mode_get):
(ewk_view_visibility_state_get):
* ewk/ewk_view_private.h:

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

7 years ago[GTK] [CMake] Fix the build after r162835
mrobinson@webkit.org [Wed, 29 Jan 2014 19:51:24 +0000 (19:51 +0000)]
[GTK] [CMake] Fix the build after r162835
https://bugs.webkit.org/show_bug.cgi?id=127753

Reviewed by Gustavo Noronha Silva.

* CMakeLists.txt: Add support for using the prefix header (GCC / clang only for now)
when WebKit2_USE_PREFIX_HEADER is set to true.
* PlatformGTK.cmake: Set WebKit2_USE_PREFIX_HEADER support and no longer process some message.in files.
* WebKit2Prefix.h: Add support for the CMake GTK+ build.

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

7 years agoBuild fix.
bdakin@apple.com [Wed, 29 Jan 2014 19:40:00 +0000 (19:40 +0000)]
Build fix.

* bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp:
* llint/LowLevelInterpreter.cpp:

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

7 years agoBuild fix.
mitz@apple.com [Wed, 29 Jan 2014 19:38:41 +0000 (19:38 +0000)]
Build fix.

* bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp: Added a newline at the end of the
file.

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

7 years agobuild.webkit.org/dashboard links to an old failing build rather than the most recent
ap@apple.com [Wed, 29 Jan 2014 19:35:55 +0000 (19:35 +0000)]
build.webkit.org/dashboard links to an old failing build rather than the most recent
https://bugs.webkit.org/show_bug.cgi?id=127765
<rdar://problem/15795228>

Reviewed by Timothy Hatcher.

This patch changes builder view to not show how many failures there were in a row,
because it is not very relevant, and complicates the UI. Instead, we just show the
latest failing build and the latest successful one.

The patch also removes commit history popovers from revisions that can not be correlated
with any change. These popovers are only helpful in the first line, when there is
another line for comparison below. In this case, it's useful to see what changed
between the revisions, but even then, only if it was an actual failure, not a buildbot
exception.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:
(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView.prototype._presentPopoverForRevisionRange):
(BuildbotQueueView.prototype._revisionPopoverContentForIteration):
(BuildbotQueueView.prototype.revisionContentForIteration):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):

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

7 years agoPrepare for accelerated compositing on WinCairo.
alex.christensen@flexsim.com [Wed, 29 Jan 2014 19:20:34 +0000 (19:20 +0000)]
Prepare for accelerated compositing on WinCairo.
https://bugs.webkit.org/show_bug.cgi?id=127843

Reviewed by Anders Carlsson.

Source/WebCore:

* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::setupFormData):
Remove VS2005 warning workaround.
* WebCore.vcxproj/WebCore.vcxproj:
Remove StyleCachedImageSet.cpp and CSSImageSetValue.cpp from the Win64 build
to avoid warnings because they are also included in StyleAllInOne.cpp and
CSSAllInOne.cpp, respectively.

Source/WebKit/win:

* WebPreferences.cpp:
Moved CACFLayerTreeHost.h inclusion to Apple-specific includes
to avoid compile errors in WinCairo when using accelerated compositing.

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

7 years agoMerge the jsCStack branch
msaboff@apple.com [Wed, 29 Jan 2014 19:18:54 +0000 (19:18 +0000)]
Merge the jsCStack branch
https://bugs.webkit.org/show_bug.cgi?id=127763

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
up to changeset 162958.

Source/WebCore:

Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
up to changeset 162958.

Source/WTF:

Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
up to changeset 162958.

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

7 years agoFixed the iOS build.
mitz@apple.com [Wed, 29 Jan 2014 18:52:16 +0000 (18:52 +0000)]
Fixed the iOS build.

* bindings/js/JSDOMWindowCustom.cpp: Updated for header renames.

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

7 years agoAdd a WebCrypto test to verify that BigInteger allows for leading zeroes
ap@apple.com [Wed, 29 Jan 2014 18:51:04 +0000 (18:51 +0000)]
Add a WebCrypto test to verify that BigInteger allows for leading zeroes
https://bugs.webkit.org/show_bug.cgi?id=127804

Reviewed by Darin Adler.

This already worked, but wasn't tested for.

* crypto/subtle/rsassa-pkcs1-v1_5-generate-key-with-leading-zeroes-in-exponent-expected.txt: Added.
* crypto/subtle/rsassa-pkcs1-v1_5-generate-key-with-leading-zeroes-in-exponent.html: Added.

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

7 years agoRemove ENABLE(JAVASCRIPT_DEBUGGER) guards
ossy@webkit.org [Wed, 29 Jan 2014 18:31:56 +0000 (18:31 +0000)]
Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
https://bugs.webkit.org/show_bug.cgi?id=127840

Reviewed by Mark Lam.

.:

* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

* inspector/scripts/CodeGeneratorInspector.py:

Source/WebCore:

* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::supportsProfiling):
(WebCore::JSDOMWindowBase::supportsRichSourceInfo):
* bindings/js/PageScriptDebugServer.cpp:
* bindings/js/PageScriptDebugServer.h:
* bindings/js/ScriptProfile.cpp:
* bindings/js/ScriptProfile.h:
* bindings/js/ScriptProfileNode.h:
* bindings/js/ScriptProfiler.cpp:
* bindings/js/ScriptProfiler.h:
* bindings/js/WorkerScriptDebugServer.cpp:
* bindings/js/WorkerScriptDebugServer.h:
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::resume):
* inspector/InspectorController.h:
* inspector/InspectorDOMDebuggerAgent.cpp:
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorHeapProfilerAgent.cpp:
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
(WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
(WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
(WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
(WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::profilerEnabledImpl):
(WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
(WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
(WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
* inspector/InspectorInstrumentation.h:
* inspector/InspectorProfilerAgent.cpp:
* inspector/InspectorProfilerAgent.h:
* inspector/InstrumentingAgents.cpp:
(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):
* inspector/InstrumentingAgents.h:
* inspector/PageDebuggerAgent.cpp:
* inspector/PageDebuggerAgent.h:
* inspector/ScriptProfile.idl:
* inspector/ScriptProfileNode.idl:
* inspector/WebDebuggerAgent.cpp:
* inspector/WebDebuggerAgent.h:
* inspector/WorkerDebuggerAgent.cpp:
* inspector/WorkerDebuggerAgent.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
(WebCore::WorkerInspectorController::resume):
* inspector/WorkerInspectorController.h:
* inspector/WorkerRuntimeAgent.cpp:
(WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):
* inspector/WorkerRuntimeAgent.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
* page/Console.cpp:
* page/Console.h:
* page/Console.idl:
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
* workers/WorkerMessagingProxy.cpp:
(WebCore::connectToWorkerGlobalScopeInspectorTask):
(WebCore::WorkerMessagingProxy::connectToInspector):
(WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
(WebCore::WorkerMessagingProxy::disconnectFromInspector):
(WebCore::dispatchOnInspectorBackendTask):
(WebCore::WorkerMessagingProxy::sendMessageToInspector):

Source/WebKit/gtk:

* webkit/webkitwebinspector.cpp:
(webkit_web_inspector_set_property):
(webkit_web_inspector_get_property):

Source/WebKit2:

* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::startJavaScriptDebugging):
(WebKit::WebInspector::stopJavaScriptDebugging):
(WebKit::WebInspector::setJavaScriptProfilingEnabled):
(WebKit::WebInspector::startJavaScriptProfiling):
(WebKit::WebInspector::stopJavaScriptProfiling):

Source/WTF:

* wtf/FeatureDefines.h:

Tools:

* Scripts/webkitperl/FeatureList.pm:

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

7 years ago[iOS] cleanup MediaPlayer.cpp
eric.carlson@apple.com [Wed, 29 Jan 2014 17:36:06 +0000 (17:36 +0000)]
[iOS] cleanup MediaPlayer.cpp
https://bugs.webkit.org/show_bug.cgi?id=127821

Reviewed by Jer Noble.

Don't register MediaPlayerPrivateIOS unless the runtime setting for media player proxy is set.

* platform/graphics/MediaPlayer.cpp: Don't define PlatformMediaEngineClassName on iOS
(WebCore::installedMediaEngines): Drive by cleanup to return early if registration has
    already happened.
(WebCore::MediaPlayer::MediaPlayer): Don't force-register the first media engine unless
    isVideoPluginProxyEnabled returns true.

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

7 years agoSource/WebCore: Have XHR.getResponseHeader() return null and XHR.getAllResponseHeader...
commit-queue@webkit.org [Wed, 29 Jan 2014 17:03:59 +0000 (17:03 +0000)]
Source/WebCore: Have XHR.getResponseHeader() return null and XHR.getAllResponseHeader() return the empty string in initial ready states
https://bugs.webkit.org/show_bug.cgi?id=125840

Patch by Youenn Fablet <youennf@gmail.com> on 2014-01-29
Reviewed by Alexey Proskuryakov.

Merging https://chromium.googlesource.com/chromium/blink/+/d201caf874a0bd6f101f517462b3cf1d8c5fce3d
This patch makes it clear that null/empty string is returned whenever the error flag is set.
This new code path is covered by the added test.

Test: http/tests/xmlhttprequest/response-access-on-error.html

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::getAllResponseHeaders):
(WebCore::XMLHttpRequest::getResponseHeader):
* xml/XMLHttpRequest.h:
* xml/XMLHttpRequest.idl:

LayoutTests: Have XHR.getResponseHeader() return null and XHR.getAllResponseHeaders() return empty string in initial ready states
https://bugs.webkit.org/show_bug.cgi?id=125840

Patch by Youenn Fablet <youennf@gmail.com> on 2014-01-29
Reviewed by Alexey Proskuryakov.

Merging https://chromium.googlesource.com/chromium/blink/+/d201caf874a0bd6f101f517462b3cf1d8c5fce3d
The new test exercices the new code path in case xhr received HTTP headers but m_error is set

* http/tests/xmlhttprequest/getAllResponseHeaders-expected.txt:
* http/tests/xmlhttprequest/getAllResponseHeaders.html:
* http/tests/xmlhttprequest/getResponseHeader-expected.txt:
* http/tests/xmlhttprequest/getResponseHeader.html:
* http/tests/xmlhttprequest/response-access-on-error-expected.txt: Added.
* http/tests/xmlhttprequest/response-access-on-error.html: Added.

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

7 years agoREGRESSION (r162947): Repaint test results are different between WK1 and WK2
antti@apple.com [Wed, 29 Jan 2014 16:26:31 +0000 (16:26 +0000)]
REGRESSION (r162947): Repaint test results are different between WK1 and WK2
https://bugs.webkit.org/show_bug.cgi?id=127814

Source/WebCore:

Reviewed by Anders Carlsson.

* page/FrameView.cpp:
(WebCore::FrameView::repaintContentRectangle):

    Move repaint rect logging to RenderView.

* rendering/RenderView.cpp:
(WebCore::RenderView::repaintViewRectangle):

    Record raw repaint rects instead of optimized ones.

LayoutTests:

Revert test results changes. We now always log raw repaint rects which are same between platforms.

* 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/background-shorthand-with-gradient-and-height-changes-expected.txt:
* fast/repaint/background-shorthand-with-gradient-and-height-changes.html:
* 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-wk2/TestExpectations:
* 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@163021 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIDB: Serialize IDBKeyDatas to disk, not IDBKeys
beidson@apple.com [Wed, 29 Jan 2014 16:17:51 +0000 (16:17 +0000)]
IDB: Serialize IDBKeyDatas to disk, not IDBKeys
https://bugs.webkit.org/show_bug.cgi?id=127829

Reviewed by Tim Horton.

Source/WebCore:

Move encode/decode from IDBKey to IDBKeyData.

* Modules/indexeddb/IDBKey.cpp:
* Modules/indexeddb/IDBKey.h:

* Modules/indexeddb/IDBKeyData.cpp:
(WebCore::IDBKeyData::IDBKeyData):
(WebCore::IDBKeyData::encode):
(WebCore::IDBKeyData::decode):
* Modules/indexeddb/IDBKeyData.h:

* WebCore.exp.in:

Source/WebKit2:

Serialize IDBKeyDatas, not IDBKeys.

* DatabaseProcess/IndexedDB/IDBSerialization.cpp:
(WebKit::deserializeIDBKeyPath):
(WebKit::serializeIDBKeyData):
* DatabaseProcess/IndexedDB/IDBSerialization.h:

* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):

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

7 years agoREGRESSION (r162947): css3/flexbox/multiline-justify-content.html and css3/flexbox...
antti@apple.com [Wed, 29 Jan 2014 16:11:47 +0000 (16:11 +0000)]
REGRESSION (r162947): css3/flexbox/multiline-justify-content.html and css3/flexbox/position-absolute-child.html are timing out
https://bugs.webkit.org/show_bug.cgi?id=127809

Reviewed by Anders Carlsson.

Source/WebCore:

These tests generate very large number of small repaint rectangles that overwhelm the region code.

* page/FrameView.cpp:
(WebCore::FrameView::repaintContentRectangle):
* platform/graphics/Region.h:
(WebCore::Region::gridSize):
(WebCore::Region::Shape::gridSize):

    Add accessor for getting the current region grid complexity.

* rendering/RenderView.cpp:
(WebCore::RenderView::repaintViewRectangle):

    If the region gets very complex merge the repaint rects into a single big rectangle.

LayoutTests:

* platform/mac/TestExpectations:

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

7 years ago[CSSRegions] Unable to scroll a scrollable container for regions using mouse wheel
stavila@adobe.com [Wed, 29 Jan 2014 15:20:56 +0000 (15:20 +0000)]
[CSSRegions] Unable to scroll a scrollable container for regions using mouse wheel
https://bugs.webkit.org/show_bug.cgi?id=123886

Source/WebCore:

When an element flowed into a scrollable region is scrolled using the mouse wheel, the event
needs to be propagated to the region containing that element, on top of which the cursor
is located.

Reviewed by Antti Koivisto.

Tests: fast/regions/wheel-scroll-abspos.html
       fast/regions/wheel-scroll.html

* page/EventHandler.cpp:
(WebCore::scrollNode):
(WebCore::EventHandler::defaultWheelEventHandler):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::scroll):
(WebCore::RenderBox::scrollWithWheelEventLocation):
* rendering/RenderBox.h:
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::regionFromAbsolutePointAndBox):
* rendering/RenderFlowThread.h:

LayoutTests:

Added tests for scrolling elements flowed into scrollable regions.

Reviewed by Antti Koivisto.

* fast/regions/wheel-scroll-abspos-expected.html: Added.
* fast/regions/wheel-scroll-abspos.html: Added.
* fast/regions/wheel-scroll-expected.html: Added.
* fast/regions/wheel-scroll.html: Added.

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

7 years agoREGRESSION(r162922): [SOUP] Several tests are failing in EFL and GTK+ after r162922
carlosgc@webkit.org [Wed, 29 Jan 2014 14:52:22 +0000 (14:52 +0000)]
REGRESSION(r162922): [SOUP] Several tests are failing in EFL and GTK+ after r162922
https://bugs.webkit.org/show_bug.cgi?id=127836

Reviewed by Gustavo Noronha Silva.

The problem is that I assumed that several things done in
ResourceRequest::soupURI() were always desired, so I moved them to
URL. This patch restores the previous behaviour, so that those
tings are only done right before making a request.

* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::createSoupURI):
* platform/soup/URLSoup.cpp:
(WebCore::URL::createSoupURI):

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

7 years ago[EFL][WK2] REGRESSION (r162586-r162589): accessibility/range-alter-by-percent.html...
k.czech@samsung.com [Wed, 29 Jan 2014 14:24:08 +0000 (14:24 +0000)]
[EFL][WK2] REGRESSION (r162586-r162589): accessibility/range-alter-by-percent.html failing
https://bugs.webkit.org/show_bug.cgi?id=127724

Unreviewed EFL gardening. Passes after r162932.

* platform/efl/TestExpectations: Test is no longer failing.

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

7 years agoWeb Inspector: [REGRESSION(r162931)] Tab navigation broken in DataGrid
commit-queue@webkit.org [Wed, 29 Jan 2014 13:57:53 +0000 (13:57 +0000)]
Web Inspector: [REGRESSION(r162931)] Tab navigation broken in DataGrid
https://bugs.webkit.org/show_bug.cgi?id=127816

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

* UserInterface/DataGrid.js:
(WebInspector.DataGrid.prototype.moveToNextIfNeeded):
(WebInspector.DataGrid.prototype._editingCommitted):
Change columnIdentifier values 0 and 1 to strings "0" and "1".

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

7 years ago[ATK] Expose aria-describedby with ATK_RELATION_DESCRIBED_BY
k.czech@samsung.com [Wed, 29 Jan 2014 13:16:27 +0000 (13:16 +0000)]
[ATK] Expose aria-describedby with ATK_RELATION_DESCRIBED_BY
https://bugs.webkit.org/show_bug.cgi?id=121684

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Exposed aria-describedby by ATK_RELATION_DESCRIBED_BY.
Moved elementsFromAttribut to AccessibilityObject to have common interface
for AccessibilityNodeObject and AccessibilityRenderObject. Implemented
supportsARIADescribedBy and ariaDescribedByElements to better deal with aria-describedby attribute.

No new tests. Covered by existed one.

* accessibility/AccessibilityNodeObject.cpp:
* accessibility/AccessibilityNodeObject.h:
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::elementsFromAttribute):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::supportsARIADescribedBy):
(WebCore::AccessibilityObject::ariaDescribedByElements):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::supportsARIADescribedBy):
(WebCore::AccessibilityRenderObject::ariaDescribedByElements):
* accessibility/AccessibilityRenderObject.h:
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(setAtkRelationSetFromCoreObject):

Tools:

Implementing helpText by using relation ATK_RELATION_DESCRIBED_BY.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::helpText):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::helpText):

LayoutTests:

Slightly extended test so that it could test aria-describedby with multiple id references.

* accessibility/aria-describedby-on-input-expected.txt:
* accessibility/aria-describedby-on-input.html:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:

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

7 years ago[CSS Grid Layout] minmax() should be a CSSFunction instead of a CSSValueList
svillar@igalia.com [Wed, 29 Jan 2014 10:56:48 +0000 (10:56 +0000)]
[CSS Grid Layout] minmax() should be a CSSFunction instead of a CSSValueList
https://bugs.webkit.org/show_bug.cgi?id=127057

Source/WebCore:

Reviewed by Antti Koivisto.

We were incorrectly dumping minmax(x,y) as "x y" instead of
"minmax(x,y)". That's because we were treating minmax() internally
as a CSSValueList instead of a CSSFunction. Replaced that and also
added some extra information to our tests in order to check that
we don't regress. From now on the CSS grid layout testing helper
functions print not only the computed style but also the contents
of element.style.webkitGridDefinition{Columns|Rows}.

* css/CSSFunctionValue.h:
(WebCore::CSSFunctionValue::arguments):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTrackRepeatFunction):
(WebCore::CSSParser::parseGridTrackSize):
* css/CSSParser.h:
* css/StyleResolver.cpp:
(WebCore::createGridTrackSize):

LayoutTests:

Include the output of element.style.webkitGridDefinition{Columns|Rows}
as part of the expected output.

* fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
* fast/css-grid-layout/named-grid-line-get-set-expected.txt:
* fast/css-grid-layout/named-grid-line-get-set.html:
* fast/css-grid-layout/resources/grid-definitions-parsing-utils.js:
(testGridDefinitionsSetJSValues):
(testNonGridDefinitionsSetJSValues):
(checkGridDefinitionsSetJSValues):

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

7 years agoRename notifyRendererOfSelectionChange
rniwa@webkit.org [Wed, 29 Jan 2014 09:32:29 +0000 (09:32 +0000)]
Rename notifyRendererOfSelectionChange
https://bugs.webkit.org/show_bug.cgi?id=127831

Reviewed by Antti Koivisto.

Renamed notifyRendererOfSelectionChange to updateSelectionCachesIfSelectionIsInsideTextFormControl.

* WebCore.order: Removed the exported symbol name as it's not used in WebKit or WebKit2 code.
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl): Don't update the style since the existence
of text form control's shadow DOM no longer depends on renderer.
* editing/FrameSelection.h:
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::selectionChanged): Don't check renderer() for the same reason.
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseReleaseEvent):

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

7 years agoUnreviewed. Fix GTK+ build after r162981.
carlosgc@webkit.org [Wed, 29 Jan 2014 08:31:46 +0000 (08:31 +0000)]
Unreviewed. Fix GTK+ build after r162981.

* GNUmakefile.list.am: Add WebProcess/WebPage/WebDocumentLoader to
the compilation.

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

7 years agoUnreviewed. Actually fix the GTK+ build after r162967.
carlosgc@webkit.org [Wed, 29 Jan 2014 08:23:17 +0000 (08:23 +0000)]
Unreviewed. Actually fix the GTK+ build after r162967.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_can_go_back):
(webkit_web_view_can_go_forward):

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

7 years agoUnreviewed EFL gardening after r162972.
jinwoo7.song@samsung.com [Wed, 29 Jan 2014 07:59:43 +0000 (07:59 +0000)]
Unreviewed EFL gardening after r162972.

* platform/efl/fast/table/quote-text-around-iframe-expected.txt:

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

7 years agoUnreviewed followup to r163006. That change incorrectly modified
zandobersek@gmail.com [Wed, 29 Jan 2014 07:58:33 +0000 (07:58 +0000)]
Unreviewed followup to r163006. That change incorrectly modified
webkit_web_view_go_forward when webkit_web_view_can_go_forward needed fixing.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_go_forward):
(webkit_web_view_can_go_forward):

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

7 years agoRebaseline quote-text-around-iframe.html after r162972
mmaxfield@apple.com [Wed, 29 Jan 2014 07:52:03 +0000 (07:52 +0000)]
Rebaseline quote-text-around-iframe.html after r162972
https://bugs.webkit.org/show_bug.cgi?id=127822

Reviewed by Alexey Proskuryakov.

Forgot to rebaseline fast/table/quote-text-around-iframe.html

* platform/mac/fast/table/quote-text-around-iframe-expected.txt:

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

7 years agoUnreviewed GTK build fix after r162967.
zandobersek@gmail.com [Wed, 29 Jan 2014 07:21:14 +0000 (07:21 +0000)]
Unreviewed GTK build fix after r162967.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_can_go_back):
(webkit_web_view_go_forward):

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

7 years agoUnreviewed EFL gardening after r162972.
jinwoo7.song@samsung.com [Wed, 29 Jan 2014 06:42:29 +0000 (06:42 +0000)]
Unreviewed EFL gardening after r162972.

* platform/efl/fast/css-generated-content/005-expected.txt:
* platform/efl/fast/css-generated-content/beforeAfter-interdocument-expected.txt:
* platform/efl/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt:
* platform/efl/fast/css-generated-content/no-openclose-quote-expected.txt:

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

7 years agoCrashes in ViewGestureController::wheelEventWasNotHandledByWebCore
timothy_horton@apple.com [Wed, 29 Jan 2014 06:12:19 +0000 (06:12 +0000)]
Crashes in ViewGestureController::wheelEventWasNotHandledByWebCore
https://bugs.webkit.org/show_bug.cgi?id=127828
<rdar://problem/15932902>

Reviewed by Dan Bernstein.

* UIProcess/API/mac/WKView.mm:
(-[WKView _wheelEventWasNotHandledByWebCore:]):
Null check. ViewGestureController only needs unhandled wheel events after it has been created.

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

7 years agoFix the Mountain Lion build if you have private headers.
timothy_horton@apple.com [Wed, 29 Jan 2014 06:03:52 +0000 (06:03 +0000)]
Fix the Mountain Lion build if you have private headers.

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

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

7 years ago[iOS] UI process crashes whenever web process crashes
commit-queue@webkit.org [Wed, 29 Jan 2014 05:22:38 +0000 (05:22 +0000)]
[iOS] UI process crashes whenever web process crashes
https://bugs.webkit.org/show_bug.cgi?id=127826

Patch by Ian Henderson <ianh@apple.com> on 2014-01-28
Reviewed by Tim Horton.

* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView _updateFixedPositionRect]): Null-check the drawing
area before calling size() on it.

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

7 years agoWKRemoteObjectCoder should support more argument types
commit-queue@webkit.org [Wed, 29 Jan 2014 05:14:06 +0000 (05:14 +0000)]
WKRemoteObjectCoder should support more argument types
https://bugs.webkit.org/show_bug.cgi?id=127824

Patch by Ian Henderson <ianh@apple.com> on 2014-01-28
Reviewed by Anders Carlsson.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeInvocation): Support encoding char values.
(decodeInvocationArguments): Support decoding char values.

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

7 years ago[Mac] Handle NSURLAuthenticationMethodServerTrust challenges from -resourceLoader...
jer.noble@apple.com [Wed, 29 Jan 2014 04:44:56 +0000 (04:44 +0000)]
[Mac] Handle NSURLAuthenticationMethodServerTrust challenges from -resourceLoader:shouldWaitForResponseToAuthenticationChallenge:
https://bugs.webkit.org/show_bug.cgi?id=127806

Reviewed by Eric Carlson.

In addition to the normal "user/password" NSURLAuthenticationChallenges, the
-resourceLoader:shouldWaitForResponseToAuthenticationChallenge: delegate method will
ask us to confirm server certificate chains. Rather than pop up an authentication
dialog (which won't work anyway) we will now just drop such requests and continue
on normally.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):

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

7 years agoUnreviewed, rolling out r162987.
commit-queue@webkit.org [Wed, 29 Jan 2014 04:18:20 +0000 (04:18 +0000)]
Unreviewed, rolling out r162987.
http://trac.webkit.org/changeset/162987
https://bugs.webkit.org/show_bug.cgi?id=127825

Broke Mountain Lion build (Requested by andersca on #webkit).

Source/JavaScriptCore:

* inspector/InjectedScriptSource.js:
(.):
* runtime/JSObject.cpp:
(JSC::JSObject::getOwnPropertyDescriptor):
* runtime/PropertyDescriptor.cpp:
* runtime/PropertyDescriptor.h:
* runtime/PropertySlot.h:

Source/WebCore:

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateAttributesHashTable):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectConstructor):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterConstructor):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::jsTestEventConstructorConstructor):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetConstructor):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::jsTestExceptionConstructor):
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::jsTestGenerateIsReachableConstructor):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfaceConstructor):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerConstructor):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::jsTestNamedConstructorConstructor):
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodeConstructor):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjConstructor):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::jsTestOverloadedConstructorsConstructor):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::jsTestSerializedScriptValueInterfaceConstructor):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsConstructor):
* bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::jsattributeConstructor):
* bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::jsreadonlyConstructor):

LayoutTests:

* fast/dom/Window/replaceable-expected.txt:
* fast/dom/Window/replaceable.html:
* js/dom/getOwnPropertyDescriptor-expected.txt:
* js/resources/getOwnPropertyDescriptor.js:

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

7 years agoAdd support for ActionSheets in WK2 for iOS.
enrica@apple.com [Wed, 29 Jan 2014 04:09:12 +0000 (04:09 +0000)]
Add support for ActionSheets in WK2 for iOS.
https://bugs.webkit.org/show_bug.cgi?id=127586
<rdar://problem/15283667>

Reviewed by Benjamin Poulain.

This patch contains some WebCore changes required to
implement support for ActionSheets.
It adds copyURL implementation for iOS in the Editor
class and fixes some bugs in the iOS specific pasteboard
writing code.
The changes to Localizable.strings are the result of
running update-webkit-localizedstrings script.

* English.lproj/Localizable.strings:
* WebCore.exp.in:
* editing/Editor.cpp:
* editing/Editor.h:
* editing/ios/EditorIOS.mm:
(WebCore::Editor::writeImageToPasteboard):
* platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::write):
* platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::write):

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

7 years agoUnreviewed build fix on the cmake based port after r162981
ryuan.choi@samsung.com [Wed, 29 Jan 2014 03:24:01 +0000 (03:24 +0000)]
Unreviewed build fix on the cmake based port after r162981

One more build fix.

* CMakeLists.txt: Added WebDocumentLoader.cpp

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

7 years ago[iOS] REGRESSION (r162663): Webpages have strange artifacts or corruption around...
aestes@apple.com [Wed, 29 Jan 2014 03:06:01 +0000 (03:06 +0000)]
[iOS] REGRESSION (r162663): Webpages have strange artifacts or corruption around tile boundaries
https://bugs.webkit.org/show_bug.cgi?id=127823

Reviewed by Daniel Bates.

Original patch by Simon Fraser.

* platform/ScrollView.cpp: Specify LegacyIOSDocumentViewRect when calling visibleContentRect().

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

7 years agoUnreviewed build fix on the EFL build after r162984
ryuan.choi@samsung.com [Wed, 29 Jan 2014 02:58:04 +0000 (02:58 +0000)]
Unreviewed build fix on the EFL build after r162984

r162984 added wheelEventWasNotHandledByWebCore which is guarded to PLATFORM(MAC).

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveEvent):

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

7 years agoFix a thinko.
andersca@apple.com [Wed, 29 Jan 2014 01:44:47 +0000 (01:44 +0000)]
Fix a thinko.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::goBack):
Remove early return if isValid() is true.

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

7 years agoWebPage should be in charge of creating document loaders
andersca@apple.com [Wed, 29 Jan 2014 01:39:32 +0000 (01:39 +0000)]
WebPage should be in charge of creating document loaders
https://bugs.webkit.org/show_bug.cgi?id=127818

Reviewed by Dan Bernstein.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createDocumentLoader):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createDocumentLoader):
* WebProcess/WebPage/WebPage.h:

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

7 years ago[CSS Shapes] Adjust inset sizing syntax to the latest specification
zoltan@webkit.org [Wed, 29 Jan 2014 01:22:16 +0000 (01:22 +0000)]
[CSS Shapes] Adjust inset sizing syntax to the latest specification
https://bugs.webkit.org/show_bug.cgi?id=127785

Reviewed by Bem Jones-Bey.

Source/WebCore:

According to the latest CSS Shapes specification [1], the width arguments of inset should
follow the syntax of the margin shorthand, which let us set all four insets with one, two
or four values. This patch updates the behavior and updates the affected tests.

[1] http://dev.w3.org/csswg/css-shapes/#funcdef-inset

Existing tests have been updated.

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

LayoutTests:

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

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

7 years agoUnreviewed GTK build fix after r162951.
commit-queue@webkit.org [Wed, 29 Jan 2014 01:19:50 +0000 (01:19 +0000)]
Unreviewed GTK build fix after r162951.
https://bugs.webkit.org/show_bug.cgi?id=127815

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

* GNUmakefile.list.am: Adding missing build targets.

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

7 years agoMake DOM attributes appear to be faux accessor properties
oliver@apple.com [Wed, 29 Jan 2014 01:13:02 +0000 (01:13 +0000)]
Make DOM attributes appear to be faux accessor properties
https://bugs.webkit.org/show_bug.cgi?id=127797

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Add flag so we can identify which properties should have the old
custom property semantics vs. the new faux accessors. Update the
inspector protocol accordingly.

These faux accessors produce descriptors with "get" and "set"
properties, but both values are undefined so can't be used
directly. A few custom properties actually require their
existing magical behaviour, so we now have a flag to
distinguish the expected output.

* inspector/InjectedScriptSource.js:
(.):
* runtime/JSObject.cpp:
(JSC::JSObject::getOwnPropertyDescriptor):
* runtime/PropertyDescriptor.cpp:
(JSC::PropertyDescriptor::setCustomDescriptor):
* runtime/PropertyDescriptor.h:
* runtime/PropertySlot.h:

Source/WebCore:

Refactor the bindings generator, and make sure we emit
the CustomAccessor flag on properties that should
appear to be accessors.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateAttributesHashTable):
(GenerateImplementation):

LayoutTests:

These properties now show up as accessors in these tests

* fast/dom/Window/replaceable-expected.txt:
* fast/dom/Window/replaceable.html:
* js/dom/getOwnPropertyDescriptor-expected.txt:
* js/resources/getOwnPropertyDescriptor.js:

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

7 years agoAX: Support @scope in HTML tables
cfleizach@apple.com [Wed, 29 Jan 2014 01:05:07 +0000 (01:05 +0000)]
AX: Support @scope in HTML tables
https://bugs.webkit.org/show_bug.cgi?id=127688

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Add support for scope attribute so that row headers and column headers
are now exposed at the table cell level where appropriate.

Test: platform/mac/accessibility/table-scope.html

* accessibility/AccessibilityARIAGridCell.cpp:
(WebCore::AccessibilityARIAGridCell::parentTable):
* accessibility/AccessibilityARIAGridCell.h:
* accessibility/AccessibilityARIAGridRow.cpp:
(WebCore::AccessibilityARIAGridRow::parentTable):
* accessibility/AccessibilityARIAGridRow.h:
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::columns):
(WebCore::AccessibilityTable::rows):
* accessibility/AccessibilityTable.h:
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::parentTable):
(WebCore::AccessibilityTableCell::isTableHeaderCell):
(WebCore::AccessibilityTableCell::isTableCellInSameRowGroup):
(WebCore::AccessibilityTableCell::isTableCellInSameColGroup):
(WebCore::AccessibilityTableCell::columnHeaders):
(WebCore::AccessibilityTableCell::rowHeaders):
* accessibility/AccessibilityTableCell.h:
* accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::parentTable):
* accessibility/AccessibilityTableRow.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

Tools:

Add support for rowHeaders and columnHeaders.

* DumpRenderTree/AccessibilityUIElement.cpp:
(convertElementsToObjectArray):
(columnHeadersCallback):
(rowHeadersCallback):
(uiElementArrayAttributeValueCallback):
(AccessibilityUIElement::columnHeaders):
(AccessibilityUIElement::rowHeaders):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::rowHeaders):
(AccessibilityUIElement::columnHeaders):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):
(WTR::AccessibilityUIElement::rowHeaders):
(WTR::AccessibilityUIElement::columnHeaders):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::convertElementsToObjectArray):
(WTR::AccessibilityUIElement::rowHeaders):
(WTR::AccessibilityUIElement::columnHeaders):
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):

LayoutTests:

* platform/mac/accessibility/aria-columnrowheaders-expected.txt:
* platform/mac/accessibility/table-attributes-expected.txt:
* platform/mac/accessibility/table-cell-spans-expected.txt:
* platform/mac/accessibility/table-cells-expected.txt:
* platform/mac/accessibility/table-scope-expected.txt: Added.
* platform/mac/accessibility/table-scope.html: Added.
* platform/mac/accessibility/table-sections-expected.txt:

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

7 years agoImprove latching behavior for wheel events
bfulgham@apple.com [Wed, 29 Jan 2014 00:59:52 +0000 (00:59 +0000)]
Improve latching behavior for wheel events
https://bugs.webkit.org/show_bug.cgi?id=127386
<rdar://problem/12176858>

Reviewed by Simon Fraser.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::clearLatchedNode): Added
(WebCore::ScrollingTree::latchedNode): Added
(WebCore::ScrollingTree::removeDestroyedNodes): Clear latched node if it's being removed.
(WebCore::ScrollingTree::ScrollingTree): Initialize new value used for tracking
scroll latching state.
(WebCore::ScrollingTree::setLatchedNode): Added
(WebCore::ScrollingTree::setOrClearLatchedNode): Added
Set latched node when beginning a swipe event, or clear latched node when scroll/momentum ends.
(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Check for an existing
latched node and stay in fast scrolling mode if possible. If the current event should
start a swipe event, clear the current latched node so we can correctly find and assign
the new latch node.
* page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::hasLatchedNode): Added
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): Determine latching state
based on wheel event state and position of mouse pointer in the document.
* platform/ScrollAnimator.cpp:
(ScrollAnimator::handleWheelEvent): Always treat PlatformWheelEventPhaseMayBegin
as successfully handled so that it does not "bubble back up" to the root of
the scrolling tree.

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

7 years agoWebKit2 View Gestures (Swipe): Give WebCore the first crack at scroll events if it...
timothy_horton@apple.com [Wed, 29 Jan 2014 00:50:56 +0000 (00:50 +0000)]
WebKit2 View Gestures (Swipe): Give WebCore the first crack at scroll events if it needs it
https://bugs.webkit.org/show_bug.cgi?id=127396

Reviewed by Anders Carlsson.

* UIProcess/API/ios/PageClientImplIOS.h:
* UIProcess/API/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):
* UIProcess/API/mac/WKView.mm:
(-[WKView _wheelEventWasNotHandledByWebCore:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveEvent):
In addition to informing the page client about un-handled wheel events,
inform the ViewGestureController, in a roundabout way.

* UIProcess/mac/ViewGestureController.h:
Add and use SwipeDirection enum instead of 'bool willSwipeLeft'.

* UIProcess/mac/ViewGestureController.mm:
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::handleScrollWheelEvent):
If we get a Begin scroll wheel event, any previously deferred
swipes are invalid.

If the page has subframes or wheel handlers, defer starting the
swipe until we get a wheelEventWasNotHandledByWebCore back from the WebProcess.

(WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
Start the swipe if the WebProcess didn't eat the event.

(WebKit::ViewGestureController::trackSwipeGesture):
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::handleSwipeGesture):
Use SwipeDirection.

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

7 years agoFix build.
andersca@apple.com [Wed, 29 Jan 2014 00:42:12 +0000 (00:42 +0000)]
Fix build.

* WebProcess/WebPage/WebFrame.cpp:

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

7 years agoAdd WebDocumentLoader, a WebCore::DocumentLoader subclass
andersca@apple.com [Wed, 29 Jan 2014 00:39:42 +0000 (00:39 +0000)]
Add WebDocumentLoader, a WebCore::DocumentLoader subclass
https://bugs.webkit.org/show_bug.cgi?id=127817

Reviewed by Tim Horton.

We need a place to store navigation IDs, and since they are per document loader, putting them
in a DocumentLoader subclass seems like a good idea.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createDocumentLoader):
* WebProcess/WebPage/WebDocumentLoader.cpp: Added.
(WebKit::WebDocumentLoader::WebDocumentLoader):
(WebKit::WebDocumentLoader::setNavigationID):
* WebProcess/WebPage/WebDocumentLoader.h: Added.
(WebKit::WebDocumentLoader::create):
(WebKit::WebDocumentLoader::navigationID):

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

7 years agoSimplify WebFrame::isMainFrame
andersca@apple.com [Wed, 29 Jan 2014 00:16:00 +0000 (00:16 +0000)]
Simplify WebFrame::isMainFrame
https://bugs.webkit.org/show_bug.cgi?id=127812

Reviewed by Sam Weinig.

* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::isMainFrame):

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

7 years agoREGRESSION (r162947): Repaint test results are different between WK1 and WK2
ap@apple.com [Wed, 29 Jan 2014 00:07:24 +0000 (00:07 +0000)]
REGRESSION (r162947): Repaint test results are different between WK1 and WK2
https://bugs.webkit.org/show_bug.cgi?id=127814

* platform/mac-wk2/TestExpectations: Marking them as failing for now.

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

7 years ago[iOS] Set INSTALL_PATH_ACTUAL when building WebKit2 for the iOS Simulator
aestes@apple.com [Tue, 28 Jan 2014 23:55:40 +0000 (23:55 +0000)]
[iOS] Set INSTALL_PATH_ACTUAL when building WebKit2 for the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=127811

Reviewed by Dan Bernstein.

* Configurations/WebKit2.xcconfig:

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

7 years agoUnreviewed EFL WebKit2 build fix.
jinwoo7.song@samsung.com [Tue, 28 Jan 2014 23:51:30 +0000 (23:51 +0000)]
Unreviewed EFL WebKit2 build fix.

* CMakeLists.txt: Added Shared/NavigationActionData.cpp

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

7 years agoREGRESSION (r162947): css3/flexbox/multiline-justify-content.html and
ap@apple.com [Tue, 28 Jan 2014 23:46:30 +0000 (23:46 +0000)]
REGRESSION (r162947): css3/flexbox/multiline-justify-content.html and
css3/flexbox/position-absolute-child.html are timing out
https://bugs.webkit.org/show_bug.cgi?id=127809

* platform/mac/TestExpectations: Skipping for now, Antti is going to take a look tomorrow.

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

7 years agoASSERT_WITH_SECURITY_IMPLICATION in WebCore::InlineTextBox::paint
mmaxfield@apple.com [Tue, 28 Jan 2014 23:36:04 +0000 (23:36 +0000)]
ASSERT_WITH_SECURITY_IMPLICATION in WebCore::InlineTextBox::paint
https://bugs.webkit.org/show_bug.cgi?id=114586

Reviewed by Dave Hyatt.

Taken mostly from https://chromium.googlesource.com/chromium/blink/+/cb2297db16f2e9328cb4dd8b552093d6b22340a8

If RenderQuote is a subclass of RenderObject, it can't be split by the first-letter CSS pseudoclass.
Instead, we should make it a subclass of RenderElement, so that it can be split properly.

Source/WebCore:

Test: fast/css-generated-content/quote-first-letter.html

* dom/PseudoElement.cpp:
(WebCore::PseudoElement::didRecalcStyle):
* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::RenderQuote):
(WebCore::RenderQuote::willBeDestroyed):
(WebCore::RenderQuote::willBeRemovedFromTree):
(WebCore::RenderQuote::styleDidChange):
(WebCore::RenderQuote::updateText):
(WebCore::RenderQuote::computeText):
(WebCore::RenderQuote::updateDepth):
* rendering/RenderQuote.h:
* rendering/style/ContentData.cpp:
(WebCore::QuoteContentData::createContentRenderer):

LayoutTests:

This adds a test to make sure that the splitting behavior occurs, as well as updates existing tests that
didn't use the splitting behavior.

* fast/css-generated-content/quote-first-letter-expected.html: Added.
* fast/css-generated-content/quote-first-letter.html: Added.
* platform/mac/fast/css-generated-content/005-expected.txt:
* platform/mac/fast/css-generated-content/beforeAfter-interdocument-expected.txt:
* platform/mac/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt:
* platform/mac/fast/css-generated-content/no-openclose-quote-expected.txt:

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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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