WebKit-https.git
8 years agoWeb Inspector: add runtime flag to determine if inspector's source files were flattened.
commit-queue@webkit.org [Mon, 4 Mar 2013 08:37:42 +0000 (08:37 +0000)]
Web Inspector: add runtime flag to determine if inspector's source files were flattened.
https://bugs.webkit.org/show_bug.cgi?id=111184

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-04
Reviewed by Pavel Feldman.

Source/WebCore:

- Add a file "buildSystemOnly.js" which will be included into
devtools.html only by GYP build system. This script sets a single flag
which essentially means that inspector source files were run
through a build system and flattened.
- Update "importScript" and "registerRequiredCSS" functions to correct
paths according to the "flattenImports" flag.

No new tests: no change in behaviour.

* WebCore.gypi:
* inspector/front-end/CodeMirrorTextEditor.js:
(WebInspector.CodeMirrorTextEditor):
* inspector/front-end/View.js:
(WebInspector.View.prototype.registerRequiredCSS):
* inspector/front-end/buildSystemOnly.js: Added.
* inspector/front-end/utilities.js:

Source/WebKit/chromium:

Included "buildSystemOnly.js" in devtools.html by generate_devtools_html.py script.

* WebKit.gyp:
* scripts/generate_devtools_html.py: Add script tag to include buildSystemOnly.js
(write_devtools_html):

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

8 years ago[Qt] Unreviewed gardening.
kadam@inf.u-szeged.hu [Mon, 4 Mar 2013 08:36:11 +0000 (08:36 +0000)]
[Qt] Unreviewed gardening.
https://bugs.webkit.org/show_bug.cgi?id=111290

* platform/qt/TestExpectations: Skipped failing test after r144461.

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

8 years agoWeb Inspector: Fix front-end compilation
vsevik@chromium.org [Mon, 4 Mar 2013 08:06:50 +0000 (08:06 +0000)]
Web Inspector: Fix front-end compilation
https://bugs.webkit.org/show_bug.cgi?id=111286

Reviewed by Alexander Pavlov.

* inspector/InjectedScriptSource.js:
* inspector/front-end/FileSystemProjectDelegate.js:
* inspector/front-end/NavigatorView.js:
(WebInspector.NavigatorView.prototype.removeUISourceCode):
(WebInspector.NavigatorTreeNode.prototype.reset):
(WebInspector.NavigatorFolderTreeNode.prototype.didAddChild):

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

8 years ago[EFL][WebGL] Add proper checks to enable GraphicsSurface usage on EGL without XCompos...
commit-queue@webkit.org [Mon, 4 Mar 2013 07:57:44 +0000 (07:57 +0000)]
[EFL][WebGL] Add proper checks to enable GraphicsSurface usage on EGL without XCompositeWindow.
https://bugs.webkit.org/show_bug.cgi?id=108034

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-03-03
Reviewed by Laszlo Gombos.

Covered by existing WebGL tests.

Currently, we set GRAPHICS_SURFACE to true if support for XCompositeWindow
is identified during compile time. This is ok, when using GLX. We might not
have support for XCompositeWindow when using EGL and GLES2.0. This patch
makes changes so that GRAPHICS_SURFACE is always enabled with EGL and adds
GLX guard to the parts of code dependent on XCompositeWindow support.

* platform/graphics/opengl/GLPlatformSurface.cpp:
* platform/graphics/surfaces/glx/GLXConfigSelector.h:
(WebCore::GLXConfigSelector::findMatchingConfig):
* platform/graphics/surfaces/glx/X11Helper.cpp:
(WebCore::X11Helper::createOffScreenWindow):
(WebCore::X11Helper::isXRenderExtensionSupported):
* platform/graphics/surfaces/glx/X11Helper.h:

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

8 years agoWeb Inspector: [PageAgent] can't find frame by security origin.
apavlov@chromium.org [Mon, 4 Mar 2013 07:44:50 +0000 (07:44 +0000)]
Web Inspector: [PageAgent] can't find frame by security origin.
https://bugs.webkit.org/show_bug.cgi?id=110849

Use toRawString() in order to compare Frames' SecurityOrigins for storage-related goals.

Reviewed by Vsevolod Vlasov.

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):

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

8 years agoUnreviewed, rolling out r144455.
apavlov@chromium.org [Mon, 4 Mar 2013 07:28:53 +0000 (07:28 +0000)]
Unreviewed, rolling out r144455.
http://trac.webkit.org/changeset/144455
https://bugs.webkit.org/show_bug.cgi?id=111165

A simpler solution to the SecurityOrigin -> localStorage
lookup exists

Source/WebCore:

* inspector/front-end/DOMStorage.js:
(WebInspector.DOMStorage.storageId):
(WebInspector.DOMStorage.prototype.get id):
(WebInspector.DOMStorage.prototype.getItems):
(WebInspector.DOMStorage.prototype.setItem):
(WebInspector.DOMStorage.prototype.removeItem):
(WebInspector.DOMStorageModel.prototype._securityOriginAdded):
(WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
(WebInspector.DOMStorageModel.prototype._storageKey):
* inspector/front-end/ExtensionAuditCategory.js:
* inspector/front-end/FileSystemModel.js:
(WebInspector.FileSystemModel.prototype._reset):
(WebInspector.FileSystemModel.prototype._securityOriginAdded):
(WebInspector.FileSystemModel.prototype._securityOriginRemoved):
(WebInspector.FileSystemModel.prototype._addOrigin):
(WebInspector.FileSystemModel.prototype._removeOrigin):
(WebInspector.FileSystemModel.prototype._requestFileSystemRoot):
(WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
(WebInspector.FileSystemModel.prototype._removeFileSystem):
(WebInspector.FileSystemModel.FileSystem.prototype.get name):
* inspector/front-end/IndexedDBModel.js:
(WebInspector.IndexedDBModel.prototype._reset):
(WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
(WebInspector.IndexedDBModel.prototype._securityOriginAdded):
(WebInspector.IndexedDBModel.prototype._securityOriginRemoved):
(WebInspector.IndexedDBModel.prototype._addOrigin):
(WebInspector.IndexedDBModel.prototype._removeOrigin):
(WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
(WebInspector.IndexedDBModel.prototype._loadDatabaseNames):
(WebInspector.IndexedDBModel.prototype._loadDatabase):
(WebInspector.IndexedDBModel.prototype.):
(WebInspector.IndexedDBModel.prototype._requestData):
(WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
* inspector/front-end/IndexedDBViews.js:
(WebInspector.IDBDatabaseView.prototype._refreshDatabase):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel):
(WebInspector.ResourceTreeModel.prototype._addFrame):
(WebInspector.ResourceTreeModel.prototype._addSecurityOrigin):
(WebInspector.ResourceTreeModel.prototype._removeSecurityOrigin):
(WebInspector.ResourceTreeModel.prototype.securityOrigins):
(WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached):
(WebInspector.ResourceTreeModel.prototype._frameNavigated):
(WebInspector.ResourceTreeModel.prototype._frameDetached):
(WebInspector.ResourceTreeFrame):
(WebInspector.ResourceTreeFrame.prototype._navigate):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.IDBDatabaseTreeElement):
(WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
(WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
(WebInspector.IDBIndexTreeElement.prototype.get itemURL):
(WebInspector.DOMStorageTreeElement):
(WebInspector.DOMStorageTreeElement.prototype.get itemURL):
(WebInspector.FileSystemTreeElement):

LayoutTests:

* http/tests/inspector-enabled/dom-storage-open.html:
* http/tests/inspector/filesystem/delete-entry.html:
* http/tests/inspector/filesystem/request-filesystem-root.html:
* http/tests/inspector/indexeddb/database-data.html:
* http/tests/inspector/indexeddb/database-names.html:
* http/tests/inspector/indexeddb/database-structure.html:
* http/tests/inspector/resource-tree/resource-tree-events.html:

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

8 years agoPDFPlugin: Rename delegate method from openWithPreview to openWithNativeApplication
timothy_horton@apple.com [Mon, 4 Mar 2013 07:09:14 +0000 (07:09 +0000)]
PDFPlugin: Rename delegate method from openWithPreview to openWithNativeApplication
https://bugs.webkit.org/show_bug.cgi?id=111258

Reviewed by Alexey Proskuryakov.

* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate openWithNativeApplication]):
Rename from openWithPreview to openWithNativeApplication to match PDFKit.

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

8 years agoWeb Inspector: Let user know when file system based uiSourceCode was changed on disk.
vsevik@chromium.org [Mon, 4 Mar 2013 06:53:18 +0000 (06:53 +0000)]
Web Inspector: Let user know when file system based uiSourceCode was changed on disk.
https://bugs.webkit.org/show_bug.cgi?id=110133

Reviewed by Pavel Feldman.

We now check if file system based uiSourceCode content was updated externally when
UISourceCodeFrame is shown or inspector window is focused.
If there is no working copy being edited right now we replace old content with the new one silently.
Otherwise ask user if he wants to replace his working copy with the new content.

* English.lproj/localizedStrings.js:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/DefaultTextEditor.js:
(WebInspector.DefaultTextEditor.prototype.editRange):
* inspector/front-end/FileSystemProjectDelegate.js:
(WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
(WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
(WebInspector.FileSystemProjectDelegate.prototype._contentRequestFinished):
(WebInspector.FileSystemProjectDelegate.prototype.requestUpdatedFileContent):
(WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
(WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype.wasShown):
(WebInspector.JavaScriptSourceFrame.prototype.willHide):
* inspector/front-end/SimpleWorkspaceProvider.js:
(WebInspector.SimpleProjectDelegate.prototype.requestUpdatedFileContent):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.setContent):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode.prototype.checkContentUpdated.updatedContentLoaded):
(WebInspector.UISourceCode.prototype.checkContentUpdated):
* inspector/front-end/UISourceCodeFrame.js:
(WebInspector.UISourceCodeFrame.prototype.wasShown):
(WebInspector.UISourceCodeFrame.prototype.willHide):
(WebInspector.UISourceCodeFrame.prototype._windowFocused):
(WebInspector.UISourceCodeFrame.prototype._checkContentUpdated):
* inspector/front-end/Workspace.js:
(WebInspector.ProjectDelegate.prototype.requestUpdatedFileContent):
(WebInspector.Project.prototype.requestUpdatedFileContent):

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

8 years agoUnreviewed chromium gardening
toyoshim@chromium.org [Mon, 4 Mar 2013 06:34:20 +0000 (06:34 +0000)]
Unreviewed chromium gardening

Remove failure annotation on tests which was already fixed.

* platform/chromium/TestExpectations:

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

8 years ago[Mac] Get rid of a useless method from DOMHTMLInputElement
benjamin@webkit.org [Mon, 4 Mar 2013 06:28:55 +0000 (06:28 +0000)]
[Mac] Get rid of a useless method from DOMHTMLInputElement
https://bugs.webkit.org/show_bug.cgi?id=111279

Reviewed by Sam Weinig.

Source/WebKit/mac:

* DOM/WebDOMOperations.mm:
* DOM/WebDOMOperationsPrivate.h:
setValueForUser: is already privately exposed by DOMHTMLInputElement,
no need to have it twice.

Tools:

* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setValueForUser):
The method _setValueForUser: was added for testing. This feature is already
exposed by DOMHTMLInputElement as a private API and it is how this code is exercised
in real use cases. Get rid of the method created for testing, use the real thing
instead.

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

8 years agocreateAttribute/setAttributeNode does not properly normalize case
commit-queue@webkit.org [Mon, 4 Mar 2013 05:51:46 +0000 (05:51 +0000)]
createAttribute/setAttributeNode does not properly normalize case
https://bugs.webkit.org/show_bug.cgi?id=90341

Patch by Arpita Bahuguna <a.bah@samsung.com> on 2013-03-03
Reviewed by Darin Adler.

Source/WebCore:

setAttributeNode() verifies for existing attributes in a case sensitive
manner. Thus, it would add another attribute if specified in a case
different from the existing one. Instead, like setAttribute(), it too
should modify the existing attribute's value.

Test: fast/dom/Element/setAttributeNode-case-insensitivity.html

* dom/Element.cpp:
(WebCore::Element::setAttributeNode):
Made changes to check for an existing attribute by converting the
specified attribute's localName to lowercase.

LayoutTests:

* fast/dom/Element/setAttributeNode-case-insensitivity-expected.txt: Added.
* fast/dom/Element/setAttributeNode-case-insensitivity.html: Added.
Testcase for verifying that setAttributeNode() checks against existing
attributes in a case insensitive manner. It updates the value of an
existing attribute (in lower case) with that of the one set using
setAttributeNode() (in upper case).
The test also verifies the behavior of attributes when specified with
namespace and prefix.

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

8 years agoUnreviewed. Rebaselined run-bindings-tests.
haraken@chromium.org [Mon, 4 Mar 2013 01:42:53 +0000 (01:42 +0000)]
Unreviewed. Rebaselined run-bindings-tests.

* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::TestActiveDOMObjectV8Internal::indexedSecurityCheck):
(TestActiveDOMObjectV8Internal):
(WebCore::TestActiveDOMObjectV8Internal::namedSecurityCheck):
(WebCore::ConfigureV8TestActiveDOMObjectTemplate):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(V8TestActiveDOMObject):

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

8 years agoUnreviewed build fix after r144590.
haraken@chromium.org [Mon, 4 Mar 2013 01:39:26 +0000 (01:39 +0000)]
Unreviewed build fix after r144590.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateSecurityCheckFunctions):

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

8 years agoUnreviewed build fix after r144587.
haraken@chromium.org [Mon, 4 Mar 2013 01:36:32 +0000 (01:36 +0000)]
Unreviewed build fix after r144587.

* bindings/v8/V8Binding.cpp:
(WebCore::toV8Context):
* bindings/v8/V8MutationCallback.cpp:
(WebCore::V8MutationCallback::V8MutationCallback):

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

8 years ago[V8] HTMLDocument.all should have [Replaceable]
haraken@chromium.org [Mon, 4 Mar 2013 00:16:35 +0000 (00:16 +0000)]
[V8] HTMLDocument.all should have [Replaceable]
https://bugs.webkit.org/show_bug.cgi?id=111230

Reviewed by Adam Barth.

(Although HTMLDocument.all is already removed from the spec,)
it is expected to behave as a [Replaceable] attribute. By adding
a [Replaceable] IDL attribute, we can remove custom implementation
of HTMLDocument.all.

I confimed that exactly the same code is generated for .all getter
and setter.

No tests. No change in behavior.

* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
* html/HTMLDocument.idl:

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

8 years ago[V8] indexedSecurityCheck() and namedSecurityCheck() should be auto-generated
haraken@chromium.org [Mon, 4 Mar 2013 00:12:06 +0000 (00:12 +0000)]
[V8] indexedSecurityCheck() and namedSecurityCheck() should be auto-generated
https://bugs.webkit.org/show_bug.cgi?id=111225

Reviewed by Adam Barth.

indexedSecurityCheck() and namedSecurityCheck() should be auto-generated,
except for DOMWindow's ones.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateSecurityCheckFunctions):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::namedSecurityCheckCustom):
(WebCore::V8DOMWindow::indexedSecurityCheckCustom):
* bindings/v8/custom/V8HistoryCustom.cpp:
* bindings/v8/custom/V8LocationCustom.cpp:

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

8 years agoShrink JSC::HashTable entries.
akling@apple.com [Mon, 4 Mar 2013 00:11:08 +0000 (00:11 +0000)]
Shrink JSC::HashTable entries.
<http://webkit.org/b/111275>
<rdar://problem/13333511>

Reviewed by Anders Carlsson.

Move the Intrinsic value out of the function-specific part of the union,
and store it next to m_attributes. Reduces the size of HashEntry by 8 bytes.

990 kB progression on Membuster3. (PTUS: 797 kB)

* runtime/Lookup.h:
(JSC::HashEntry::initialize):
(JSC::HashEntry::intrinsic):
(HashEntry):

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

8 years ago[V8] Rename $implContentDecls to $implContentInternals in CodeGeneratorV8.pm
haraken@chromium.org [Mon, 4 Mar 2013 00:09:26 +0000 (00:09 +0000)]
[V8] Rename $implContentDecls to $implContentInternals in CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=111214

Reviewed by Adam Barth.

$implContentDecls stores generated code that is put in a namespace 'XXXV8Internal'.
For clarification, it should be renamed to $implContentInternals.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateDomainSafeFunctionGetter):
(GenerateDomainSafeFunctionSetter):
(GenerateConstructorGetter):
(GenerateNormalAttrGetterCallback):
(GenerateNormalAttrGetter):
(GenerateReplaceableAttrSetterCallback):
(GenerateReplaceableAttrSetter):
(GenerateNormalAttrSetterCallback):
(GenerateNormalAttrSetter):
(GenerateOverloadedFunction):
(GenerateFunctionCallback):
(GenerateFunction):
(GenerateOverloadedConstructorCallback):
(GenerateSingleConstructorCallback):
(GenerateEventConstructor):
(GenerateTypedArrayConstructor):
(GenerateImplementation):
(WriteData):

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

8 years ago[V8] Rename getWorld() to isolatedWorld(), and getWorldForEnteredContext() to isolate...
haraken@chromium.org [Mon, 4 Mar 2013 00:05:48 +0000 (00:05 +0000)]
[V8] Rename getWorld() to isolatedWorld(), and getWorldForEnteredContext() to isolatedWorldForEnteredContext()
https://bugs.webkit.org/show_bug.cgi?id=111212

Reviewed by Adam Barth.

The rename I did in r142424 was wrong. Given that getWorld() returns 0
for the main world, it should be named isolatedWorld(). Similarly,
given that getWorldForEnteredContext() returns 0 for the main world,
it should be named isolatedWorldForEnteredContext().

No tests. No change in behavior.

* bindings/v8/CustomElementHelpers.cpp:
(WebCore::CustomElementHelpers::isFeatureAllowed):
* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::current):
* bindings/v8/DOMWrapperWorld.cpp:
(WebCore::DOMWrapperWorld::makeContextWeak):
* bindings/v8/DOMWrapperWorld.h:
(WebCore::DOMWrapperWorld::isolatedWorld):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
(WebCore::ScriptController::currentWorldContext):
* bindings/v8/V8Binding.h:
(WebCore::isolatedWorldForEnteredContext):
* bindings/v8/WorldContextHandle.cpp:
(WebCore::WorldContextHandle::WorldContextHandle):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::wrap):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::wrap):
* bindings/v8/custom/V8SVGDocumentCustom.cpp:
(WebCore::wrap):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::constructorCustom):

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

8 years ago[EFL][QT][WK2] Turn on ApplyDeviceScaleFactorInCompositor always.
commit-queue@webkit.org [Sun, 3 Mar 2013 23:54:12 +0000 (23:54 +0000)]
[EFL][QT][WK2] Turn on ApplyDeviceScaleFactorInCompositor always.
https://bugs.webkit.org/show_bug.cgi?id=110298

Patch by Huang Dongsung <luxtella@company100.net> on 2013-03-03
Reviewed by Kenneth Rohde Christiansen.

Currently, EFL and Qt turn on ApplyDeviceScaleFactorInCompositor when using
fixed layout, but ApplyDeviceScaleFactorInCompositor is not related to fixed
layout. It is confusing that a platform WebView deals with device view size or
DIP view size case by case. So this patch always turns on
ApplyDeviceScaleFactorInCompositor.

In addition, move the code that turns on ScrollingCoordinatorEnabled to
CoordinatedLayerTreeHost.

* UIProcess/API/efl/EwkView.cpp:
(EwkView::setDeviceScaleFactor):
    We should make WebPage know new DIP size.
(EwkView::setSize):
    When we set ApplyDeviceScaleFactorInCompositor to true, make WebPage
    know the DIP size as a view size.
* UIProcess/efl/WebView.cpp:
(WebKit::WebView::updateViewportSize):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::DrawingAreaImpl):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setUseFixedLayout):
    WebPage sends the DIP size to Web Process even when we don't use fixed layout.

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

8 years ago[V8] Move HTMLDocument::getNamedProperty() to DOMWindowShell
haraken@chromium.org [Sun, 3 Mar 2013 23:52:42 +0000 (23:52 +0000)]
[V8] Move HTMLDocument::getNamedProperty() to DOMWindowShell
https://bugs.webkit.org/show_bug.cgi?id=111223

Reviewed by Adam Barth.

HTMLDocument::getNamedProperty() is used by DOMWindowShell.
It can be a static method in DOMWindowShell.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::getNamedProperty):
(WebCore):
(WebCore::getter):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:

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

8 years agoSome perf. tests have variances that differ greatly between runs
rniwa@webkit.org [Sun, 3 Mar 2013 23:19:31 +0000 (23:19 +0000)]
Some perf. tests have variances that differ greatly between runs
https://bugs.webkit.org/show_bug.cgi?id=97510

Reviewed by Benjamin Poulain.

PerformanceTests:

In order to control the number of iterations and processes to use from run-perf-tests, always use 20
iterations on all tests except Dromaeo, where even doing 5 iterations is prohibitively slow, by default.
Without this change, it'll become extremely hard for us to tweak the number of iterations and processes
to use from run-perf-tests.

* Animation/balls.html:
* DOM/DOMTable.html:
* DOM/resources/dom-perf.js:
(runBenchmarkSuite.PerfTestRunner.measureTime):
* Dromaeo/resources/dromaeorunner.js:
* Layout/floats_100_100.html:
* Layout/floats_100_100_nested.html:
* Layout/floats_20_100.html:
* Layout/floats_20_100_nested.html:
* Layout/floats_2_100.html:
* Layout/floats_2_100_nested.html:
* Layout/floats_50_100.html:
* Layout/floats_50_100_nested.html:
* Layout/subtree-detaching.html:
* Parser/html5-full-render.html:
* SVG/SvgHitTesting.html:
* resources/runner.js:
* resources/results-template.html:

Tools:

Use multiple instances of DumpRenderTree or WebKitTestRunner to amortize the effect of the runtime
environment on test results (we run each instance after one another, not in parallel).

We use 4 instances of the test runner, each executing 5 in-process iterations, for the total of 20
iterations as it was done previously in single process. These values are hard-coded in perftest.py
and runner.js but they are to be configurable in the future.

Set of 5 iterations obtained by the same test runner is treated as an "iteration group" and each
metric now reports an array of the length 4 with each element containing an array of 5 iteration
values obtained by each test runner instance as opposed to a flattened array of 20 iteration values.

Unfortunately, we can use the same trick on Dromaeo because we're already doing only 5 iterations
and repeating the entire Dromaeo 4 times will take too long. We need to disable more Dromaeo tests
as needed. To this end, added SingleProcessPerfTest to preserve the old behavior.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTestMetric.append_group): Renamed from append.
(PerfTestMetric.grouped_iteration_values): Added.
(PerfTestMetric.flattened_iteration_values): Renamed from iteration_values.

(PerfTest.__init__): Takes the number of processes (drivers) to run tests with.
This parameter is only used by SingleProcessPerfTest.

(PerfTest.run): Repeat tests using different driver processes.
(PerfTest._run_with_driver): Returns a boolean instead of a list of measured metrics
since metrics are shared between multiple drivers (i.e. multiple calls to _run_with_driver).
We instead use _ensure_metrics to obtain the matched metrics and store the data there.
(PerfTest._ensure_metrics): Added.

(SingleProcessPerfTest): Added. Used to run Dromaeo tests where running it on 4 different
instances of DumpRenderTree/WebKitTestRunner takes too long.
(SingleProcessPerfTest.__init__):

(ReplayPerfTest._run_with_driver): Updated to use _ensure_metrics.

(PerfTestFactory): Use SingleProcessPerfTest to run Dromaeo tests.

* Scripts/webkitpy/performance_tests/perftest_unittest.py: Updated various tests that expect
_run_with_driver to return a list of metrics. Now it returns a boolean indicating whether
the test succeeded or not. Obtain the dictionary of metrics via test._metrics instead.

(TestPerfTestMetric.test_append): Updated per name and added some test cases for
grouped_iteration_values.

(TestPerfTest._assert_results_are_correct):

(TestSingleProcessPerfTest): Added.
(TestSingleProcessPerfTest.test_use_only_one_process):
(TestSingleProcessPerfTest.test_use_only_one_process.run_single):

(TestReplayPerfTest.test_run_with_driver_accumulates_results):
(TestReplayPerfTest.test_run_with_driver_accumulates_memory_results):

* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py: Updated values of
sample standard deviations since we're now running tests 4 times.
(MainTest._test_run_with_json_output.mock_upload_json):
(MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):

LayoutTests:

Use dromaeoIterationCount now that we no longer support iterationCount.

* fast/harness/perftests/runs-per-second-iterations.html:

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

8 years ago[chromium] Remove WebLayerTreeView::setViewportSize call
aelias@chromium.org [Sun, 3 Mar 2013 22:15:46 +0000 (22:15 +0000)]
[chromium] Remove WebLayerTreeView::setViewportSize call
https://bugs.webkit.org/show_bug.cgi?id=110727

Reviewed by James Robinson.

After https://codereview.chromium.org/12328080 lands,
setViewportSize is called from the Chromium side. The multiplication
by deviceScaleFactor here was prone to off-by-one errors.
The layoutSize() function was only used here so delete it as well.

DumpRenderTree WebViewHost must now call this method as well.

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::updateLayerTreeViewport):
* src/WebViewImpl.h:
(WebViewImpl):

Tools:

* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::initializeLayerTreeView):
(WebViewHost::setWindowRect):
(WebViewHost::setDeviceScaleFactor):
(WebViewHost::updateViewportSize):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

8 years agoShared Web Workers have an incorrect visible process name
weinig@apple.com [Sun, 3 Mar 2013 22:15:00 +0000 (22:15 +0000)]
Shared Web Workers have an incorrect visible process name
https://bugs.webkit.org/show_bug.cgi?id=111277

Reviewed by Dan Bernstein.

* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::initializeSharedWorkerProcess):
* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
* SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
(WebKit::SharedWorkerProcess::initializeProcessName):
The SharedWorkerProcess is not an internet plug-in!

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

8 years agoBuild fix after r144565. Reverted r144533.
mitz@apple.com [Sun, 3 Mar 2013 20:43:44 +0000 (20:43 +0000)]
Build fix after r144565. Reverted r144533.

* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:

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

8 years agoAttempt to fix the Qt build after r144498
abarth@webkit.org [Sun, 3 Mar 2013 19:57:39 +0000 (19:57 +0000)]
Attempt to fix the Qt build after r144498
https://bugs.webkit.org/show_bug.cgi?id=111272

Reviewed by Eric Seidel.

Update the Qt version of the XML parser to call the new API.

* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::resumeParsing):
(WebCore::XMLDocumentParser::appendFragmentSource):

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

8 years agoPlug-ins that are appropriately large w.r.t page size should autostart
dino@apple.com [Sun, 3 Mar 2013 19:36:33 +0000 (19:36 +0000)]
Plug-ins that are appropriately large w.r.t page size should autostart
https://bugs.webkit.org/show_bug.cgi?id=111242

Reviewed by Brady Eidson.

A "full-page" plug-in site should never snapshot. The trick is
how to determine what is full-page. This change implements the
following algorithm.

- The plug-in is in the main frame (not an iframe).
- The plug-in is sized with width and height 100%.
- The displayed area of the plug-in is more than 96% of the viewport area.

This is definitely not foolproof. For example, zombo.com has a slight
border around its plug-in. As the window size gets smaller, the body margin
takes up more than 5% of the width or height, and the plug-in doesn't pass
the tests above.

* html/HTMLPlugInImageElement.cpp:
(WebCore): New static constant: sizingFullPageThresholdPercentage
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Implements
    the rules described above.

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

8 years ago[Win] IDLParser.pm fails to parse OESTextureHalfFloat and causes a build failure
rniwa@webkit.org [Sun, 3 Mar 2013 16:16:21 +0000 (16:16 +0000)]
[Win] IDLParser.pm fails to parse OESTextureHalfFloat and causes a build failure
https://bugs.webkit.org/show_bug.cgi?id=111267

Reviewed by Kentaro Hara.

Allow empty definitions.

* bindings/scripts/IDLParser.pm:
(Parse):

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

8 years agoBUILD FIX: RenderLayerFilterInfo.h needs to include Element.h with ENABLE(SVG)
ddkilzer@apple.com [Sun, 3 Mar 2013 15:59:17 +0000 (15:59 +0000)]
BUILD FIX: RenderLayerFilterInfo.h needs to include Element.h with ENABLE(SVG)

Fixes the following build failures:

    In file included from Source/WebCore/rendering/RenderLayerFilterInfo.cpp:33:
    Source/WebCore/rendering/RenderLayerFilterInfo.h:118:19: error: use of undeclared identifier 'Element'
        Vector<RefPtr<Element> > m_internalSVGReferences;
                      ^
    Source/WebCore/rendering/RenderLayerFilterInfo.h:118:28: error: expected a type
        Vector<RefPtr<Element> > m_internalSVGReferences;
                               ^
    Source/WebCore/rendering/RenderLayerFilterInfo.h:118:30: error: private field 'm_internalSVGReferences' is not used [-Werror,-Wunused-private-field]
        Vector<RefPtr<Element> > m_internalSVGReferences;
                                 ^
    3 errors generated.

* rendering/RenderLayerFilterInfo.h: Include Element.h within
ENABLE(SVG).  Move ENABLE(SVG) block below unconditional
headers.

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

8 years agoWindows build fix attempt after r144547.
rniwa@webkit.org [Sun, 3 Mar 2013 12:05:04 +0000 (12:05 +0000)]
Windows build fix attempt after r144547.

* WebKit.vcproj/WebKitExports.def.in:

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

8 years agoUnreviewed, rolling out r144567.
commit-queue@webkit.org [Sun, 3 Mar 2013 11:47:47 +0000 (11:47 +0000)]
Unreviewed, rolling out r144567.
http://trac.webkit.org/changeset/144567
https://bugs.webkit.org/show_bug.cgi?id=111266

Does not compile on apple-win (Requested by abarth on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-03

.:

* Source/autotools/symbols.filter:

Source/WebCore:

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::iconURLs):
* dom/Document.h:
(Document):
* loader/icon/IconController.cpp:
(WebCore::IconController::iconURL):
(WebCore::IconController::urlsForTypes):
* loader/icon/IconController.h:
(IconController):
* testing/Internals.cpp:
(WebCore::Internals::iconURLs):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:

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

Source/WebKit/chromium:

* public/WebFrame.h:
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::iconURLs):
* src/WebFrameImpl.h:
(WebFrameImpl):

Source/WebKit/win:

* WebKit.vcproj/WebKitExports.def.in:

LayoutTests:

* fast/dom/icon-url-change.html:
* fast/dom/icon-url-list-apple-touch-expected.txt: Removed.
* fast/dom/icon-url-list-apple-touch.html: Removed.
* fast/dom/icon-url-list.html:
* fast/dom/icon-url-property.html:
* platform/chromium-android/fast/dom/icon-url-list-apple-touch-expected.txt: Removed.

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

8 years agoCSP 1.1: Support CSP 1.1 directives on the unprefixed header.
mkwst@chromium.org [Sun, 3 Mar 2013 11:06:19 +0000 (11:06 +0000)]
CSP 1.1: Support CSP 1.1 directives on the unprefixed header.
https://bugs.webkit.org/show_bug.cgi?id=111254

Reviewed by Adam Barth.

Source/WebCore:

We'd like to ensure that early adopters don't get stuck on a prefixed
header; when CSP 1.1 is baked enough to be supported in multiple
browsers, everything should Just Work™.

This patch changes WebKit's behavior regarding CSP_NEXT features.
Currently, they're only exposed on the prefixed header ('X-WebKit-CSP').
This patch exposes those features on the canonical header, assuming
that the runtime flag is set. This shouldn't have any effect at all on
ports that haven't yet enabled CSP_NEXT, and will simply clear the way
for a clean deployment to a wider audience once the specification
process is further along.

This change shouldn't have any effect on the existing tests: they
should run just as they did before. The next step will be to adjust
the LayoutTests for 1.1 to prefer the canonical header, but I'll do
that in another patch to reduce churn.

Related, the enum names no longer made sense: the difference between the
canonical 'Content-Security-Policy' header and 'X-WebKit-CSP' is the
prefix, not the functionality. This patch renames them for clarity.

* dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument):
    Use the new enum names.
* page/ContentSecurityPolicy.cpp:
(CSPDirectiveList):
(WebCore::CSPDirectiveList::CSPDirectiveList):
(WebCore::CSPDirectiveList::addDirective):
    Drop the 'm_experimental' property from CSPDirectiveList; we'll
    control the behavior via the runtime flag from now on.

    Also, this fixes a small bug in 'addDirective()': we never threw
    unrecognized directive errors for users who were sending the
    prefixed header. Oops!
(WebCore::ContentSecurityPolicy::deprecatedHeaderType):
    Use the new enum names.
* page/ContentSecurityPolicy.h:
    Redefine the enum for clarity: 'PrefixedReport' and 'Report'
    rather than 'ReportAllDirectives' and 'ReportStableDirectives'.

Source/WebKit/chromium:

The enum names no longer made sense: the difference between the
canonical 'Content-Security-Policy' header and 'X-WebKit-CSP' is the
prefix, not the functionality. This patch renames them for clarity.

* public/WebContentSecurityPolicy.h:
* src/AssertMatchingEnums.cpp:
    Rename the Chromium side of the enums.

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

8 years agoSource/WebCore: Another Windows build fix attempt after r144567.
rniwa@webkit.org [Sun, 3 Mar 2013 10:47:41 +0000 (10:47 +0000)]
Source/WebCore: Another Windows build fix attempt after r144567.
Try touching the IDL file in a hope it'll regenerate JSInternals.cpp.

* testing/Internals.idl:

Source/WebKit/win: That was a wrong fix. Revert r144569.

* WebKit.vcproj/WebKitExports.def.in:

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

8 years agoWindows build fix attempt after r144567.
rniwa@webkit.org [Sun, 3 Mar 2013 10:34:03 +0000 (10:34 +0000)]
Windows build fix attempt after r144567.

* WebKit.vcproj/WebKitExports.def.in:

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

8 years agoUnreviewed attempted build fix. Adds back some includes removed in
abarth@webkit.org [Sun, 3 Mar 2013 10:12:59 +0000 (10:12 +0000)]
Unreviewed attempted build fix. Adds back some includes removed in
http://trac.webkit.org/changeset/144565.

Source/WebCore:

* Modules/mediastream/RTCPeerConnection.cpp:
* bindings/ScriptControllerBase.cpp:
* bindings/objc/DOM.mm:
* bindings/v8/ScriptController.cpp:
* bindings/v8/V8DOMWindowShell.cpp:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
* css/CSSFontSelector.cpp:
* css/WebKitCSSSVGDocumentValue.cpp:
* dom/DOMImplementation.cpp:
* dom/PendingScript.h:
* dom/ScriptElement.cpp:
* dom/ScriptElement.h:
* history/CachedFrame.cpp:
* html/DOMURL.cpp:
* html/HTMLAnchorElement.cpp:
* html/HTMLAppletElement.cpp:
* html/HTMLElement.cpp:
* html/HTMLEmbedElement.cpp:
* html/HTMLFrameSetElement.cpp:
* html/HTMLHtmlElement.cpp:
* html/HTMLImageElement.cpp:
* html/HTMLObjectElement.cpp:
* html/HTMLPlugInElement.cpp:
* html/ImageDocument.cpp:
* html/ImageInputType.cpp:
* html/MediaDocument.cpp:
* html/PluginDocument.cpp:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
* html/parser/HTMLConstructionSite.cpp:
* html/parser/HTMLParserOptions.cpp:
* html/parser/XSSAuditorDelegate.cpp:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorFileSystemAgent.cpp:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/InspectorPageAgent.cpp:
* inspector/NetworkResourcesData.cpp:
* inspector/NetworkResourcesData.h:
(WebCore):
* loader/CookieJar.cpp:
* loader/CrossOriginAccessControl.cpp:
* loader/FrameLoader.cpp:
* loader/MainResourceLoader.cpp:
* loader/MixedContentChecker.cpp:
* loader/PingLoader.cpp:
* loader/SubframeLoader.cpp:
* loader/SubresourceLoader.cpp:
* loader/appcache/ApplicationCacheGroup.cpp:
* loader/appcache/ApplicationCacheHost.cpp:
* loader/cache/CachedResource.cpp:
* loader/icon/IconController.cpp:
* page/DOMWindowExtension.cpp:
* page/Frame.cpp:
* page/PerformanceTiming.cpp:
* page/PointerLockController.cpp:
* page/animation/CSSPropertyAnimation.cpp:
* platform/chromium/PasteboardChromium.cpp:
* platform/efl/ErrorsEfl.cpp:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
* platform/gtk/ErrorsGtk.cpp:
* platform/gtk/PasteboardGtk.cpp:
* platform/gtk/PasteboardHelper.h:
* platform/mac/ClipboardMac.mm:
* platform/mac/HTMLConverter.mm:
* platform/qt/PasteboardQt.cpp:
* plugins/DOMMimeType.cpp:
* plugins/PluginView.cpp:
* rendering/HitTestResult.cpp:
* rendering/RenderImage.cpp:
* rendering/RenderImageResource.cpp:
* rendering/RenderImageResourceStyleImage.cpp:
* rendering/RenderLayer.cpp:
* rendering/RenderLayerBacking.cpp:
* svg/SVGImageLoader.cpp:
* svg/SVGUseElement.cpp:
* testing/MockPagePopupDriver.cpp:
* xml/XSLStyleSheet.h:
(WebCore):

Source/WebKit/chromium:

* src/ApplicationCacheHost.cpp:
* src/AssociatedURLLoader.cpp:
* src/EditorClientImpl.cpp:
* src/SharedWorkerRepository.cpp:
* src/WebDataSourceImpl.cpp:
* src/WebFrameImpl.h:
(WebCore):
* src/WebNode.cpp:
* src/WebSharedWorkerImpl.cpp:
* tests/FrameLoaderClientImplTest.cpp:

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* ewk/ewk_frame.cpp:

Source/WebKit/mac:

* DOM/WebDOMOperations.mm:
* Misc/WebNSPasteboardExtras.mm:
* WebCoreSupport/WebFrameNetworkingContext.mm:
* WebView/WebRenderLayer.mm:
* WebView/WebRenderNode.mm:

Source/WebKit/qt:

* WebCoreSupport/NotificationPresenterClientQt.cpp:
* WebCoreSupport/QWebPageAdapter.cpp:

Source/WebKit2:

* Shared/WebRenderLayer.cpp:
* Shared/WebRenderObject.cpp:
* WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
* WebProcess/Plugins/PluginView.cpp:
* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
* WebProcess/WebPage/mac/WebPageMac.mm:
* WebProcess/WebProcess.cpp:
* WebProcess/soup/WebProcessSoup.cpp:

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

8 years ago<link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
commit-queue@webkit.org [Sun, 3 Mar 2013 09:54:08 +0000 (09:54 +0000)]
<link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
https://bugs.webkit.org/show_bug.cgi?id=109061

Patch by Ruslan Abdikeev <aruslan@chromium.org> on 2013-03-03
Reviewed by Adam Barth.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

Test: fast/dom/icon-url-list-apple-touch.html

Added iconTypes parameter to Document::iconURLs().
Added Document::shortcutIconURLs() with original semantics of iconURLs().
Fixed IconController.cpp to provide iconTypesMask to iconURLs().
Renamed iconTypes to iconTypesMask to make the meaning clearer.

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::shortcutIconURLs):
(WebCore):
(WebCore::Document::iconURLs):
* dom/Document.h:
(Document):
* loader/icon/IconController.cpp:
(WebCore::IconController::iconURL):
(WebCore::IconController::urlsForTypes):
* testing/Internals.cpp:
(WebCore::Internals::iconURLs):
(WebCore::Internals::shortcutIconURLs):
(WebCore):
(WebCore::Internals::allIconURLs):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

Added test for apple-touch-icon in allIconURLs().
Changed iconURLs() to shortcutIconURLs().

* fast/dom/icon-url-change.html:
* fast/dom/icon-url-list-apple-touch-expected.txt: Added.
* fast/dom/icon-url-list-apple-touch.html: Added.
* fast/dom/icon-url-list.html:
* fast/dom/icon-url-property.html:

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

8 years agoCSP: Throw a warning when a '*-report-only' header doesn't contain a 'report-uri...
mkwst@chromium.org [Sun, 3 Mar 2013 09:28:53 +0000 (09:28 +0000)]
CSP: Throw a warning when a '*-report-only' header doesn't contain a 'report-uri' directive.
https://bugs.webkit.org/show_bug.cgi?id=111208

Reviewed by Adam Barth.

Source/WebCore:

Developers in the wild have been observed to serve a report-only CSP
header with a policy that doesn't contain a 'report-uri' directive.
This has zero effect, of course, and we should help them understand
that by throwing a warning up on the console.

Test: http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.html

* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::isReportOnly): Added.
(WebCore::CSPDirectiveList::reportURIs): Added.
(WebCore::CSPDirectiveList::create):
    After creating a CSPDirectiveList, check whether it's in
    report-only mode without a report-uri. If so, warn the developer.
(WebCore::ContentSecurityPolicy::reportMissingReportURI): Added.
    Write an exciting message to the console, warning the developer
    about her expensive no-op machine.

LayoutTests:

* http/tests/security/contentSecurityPolicy/report-only-report-uri-missing-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.html: Added.

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

8 years agoUnreviewed rollout of http://trac.webkit.org/r144530
abarth@webkit.org [Sun, 3 Mar 2013 09:16:26 +0000 (09:16 +0000)]
Unreviewed rollout of trac.webkit.org/r144530
As described in https://bugs.webkit.org/show_bug.cgi?id=111167 and
https://bugs.webkit.org/show_bug.cgi?id=111035, this patch caused a
large number of ASSERTs in chromium-win.

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/RTCPeerConnection.cpp:
* Modules/notifications/Notification.cpp:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/ScriptControllerBase.cpp:
* bindings/js/JSNodeCustom.cpp:
* bindings/js/ScriptController.cpp:
* bindings/js/ScriptSourceCode.h:
(WebCore):
* bindings/objc/DOM.mm:
* bindings/v8/ScriptController.cpp:
* bindings/v8/V8DOMWindowShell.cpp:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
* css/CSSCrossfadeValue.h:
(WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
(WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
* css/CSSFontFaceSource.h:
* css/CSSFontSelector.cpp:
* css/WebKitCSSSVGDocumentValue.cpp:
* css/WebKitCSSSVGDocumentValue.h:
(WebCore):
* dom/Clipboard.cpp:
(WebCore::Clipboard::Clipboard):
* dom/ContainerNode.cpp:
* dom/DOMImplementation.cpp:
* dom/PendingScript.h:
* dom/ScriptElement.cpp:
* dom/ScriptElement.h:
* history/CachedFrame.cpp:
* html/DOMURL.cpp:
* html/HTMLAnchorElement.cpp:
* html/HTMLAppletElement.cpp:
* html/HTMLElement.cpp:
* html/HTMLEmbedElement.cpp:
* html/HTMLFrameSetElement.cpp:
* html/HTMLHtmlElement.cpp:
* html/HTMLImageElement.cpp:
* html/HTMLObjectElement.cpp:
* html/HTMLPlugInElement.cpp:
* html/ImageDocument.cpp:
* html/ImageInputType.cpp:
* html/MediaDocument.cpp:
* html/PluginDocument.cpp:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
* html/parser/HTMLConstructionSite.cpp:
* html/parser/HTMLParserOptions.cpp:
* html/parser/HTMLScriptRunner.h:
* html/parser/XSSAuditor.cpp:
* html/parser/XSSAuditorDelegate.cpp:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorFileSystemAgent.cpp:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorInstrumentation.h:
(WebCore):
* inspector/InspectorPageAgent.cpp:
* inspector/NetworkResourcesData.cpp:
* inspector/NetworkResourcesData.h:
(WebCore):
* loader/CookieJar.cpp:
* loader/CrossOriginAccessControl.cpp:
* loader/CrossOriginAccessControl.h:
(WebCore):
* loader/CrossOriginPreflightResultCache.h:
* loader/DocumentThreadableLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
* loader/FrameLoader.h:
(WebCore):
(WebCore::FrameLoader::policyChecker):
* loader/ImageLoader.cpp:
* loader/ImageLoader.h:
* loader/LinkLoader.h:
(WebCore):
* loader/MainResourceLoader.cpp:
* loader/MainResourceLoader.h:
(WebCore):
* loader/MixedContentChecker.cpp:
* loader/PingLoader.cpp:
* loader/PolicyChecker.h:
(WebCore):
* loader/ProgressTracker.cpp:
* loader/SubframeLoader.cpp:
* loader/SubresourceLoader.cpp:
* loader/TextTrackLoader.cpp:
* loader/TextTrackLoader.h:
(WebCore):
* loader/ThreadableLoader.h:
* loader/appcache/ApplicationCacheGroup.cpp:
* loader/appcache/ApplicationCacheGroup.h:
(WebCore):
* loader/appcache/ApplicationCacheHost.cpp:
* loader/archive/cf/LegacyWebArchive.cpp:
* loader/cache/CachedFont.cpp:
* loader/cache/CachedFont.h:
(CachedFontClient):
(WebCore::CachedFontClient::~CachedFontClient):
(WebCore::CachedFontClient::expectedType):
(WebCore::CachedFontClient::resourceClientType):
(WebCore::CachedFontClient::fontLoaded):
(WebCore):
* loader/cache/CachedFontClient.h: Removed.
* loader/cache/CachedImage.cpp:
* loader/cache/CachedRawResource.cpp:
* loader/cache/CachedRawResource.h:
(WebCore):
(CachedRawResourceClient):
(WebCore::CachedRawResourceClient::~CachedRawResourceClient):
(WebCore::CachedRawResourceClient::expectedType):
(WebCore::CachedRawResourceClient::resourceClientType):
(WebCore::CachedRawResourceClient::dataSent):
(WebCore::CachedRawResourceClient::responseReceived):
(WebCore::CachedRawResourceClient::dataReceived):
(WebCore::CachedRawResourceClient::redirectReceived):
(WebCore::CachedRawResourceClient::dataDownloaded):
* loader/cache/CachedRawResourceClient.h: Removed.
* loader/cache/CachedResource.cpp:
* loader/cache/CachedResourceHandle.cpp:
(WebCore):
* loader/cache/CachedResourceHandle.h:
(WebCore):
(WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
(WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
* loader/cache/CachedSVGDocument.h:
(CachedSVGDocumentClient):
(WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
(WebCore::CachedSVGDocumentClient::expectedType):
(WebCore::CachedSVGDocumentClient::resourceClientType):
(WebCore):
* loader/cache/CachedSVGDocumentClient.h: Removed.
* loader/cache/CachedSVGDocumentReference.cpp: Removed.
* loader/cache/CachedSVGDocumentReference.h:
(WebCore):
(WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
(WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
* loader/cache/CachedStyleSheetClient.h:
(WebCore):
* loader/cache/MemoryCache.h:
(WebCore):
(MemoryCache):
* loader/chromium/CachedRawResourceChromium.cpp:
* loader/icon/IconController.cpp:
* loader/icon/IconLoader.h:
* loader/mac/ResourceLoaderMac.mm:
* page/DOMWindowExtension.cpp:
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore):
(WebCore::Frame::reportMemoryUsage):
* page/Frame.h:
(WebCore):
(Frame):
(WebCore::Frame::init):
(WebCore::Frame::loader):
* page/PerformanceNavigation.cpp:
* page/PerformanceTiming.cpp:
* page/PointerLockController.cpp:
* page/Settings.cpp:
* page/animation/CSSPropertyAnimation.cpp:
* platform/chromium/PasteboardChromium.cpp:
* platform/efl/ErrorsEfl.cpp:
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/filters/FilterOperation.cpp:
(WebCore):
* platform/graphics/filters/FilterOperation.h:
(WebCore):
(WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
(WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
* platform/gtk/ErrorsGtk.cpp:
* platform/gtk/PasteboardGtk.cpp:
* platform/gtk/PasteboardHelper.h:
* platform/mac/ClipboardMac.h:
* platform/mac/ClipboardMac.mm:
* platform/mac/HTMLConverter.mm:
* platform/mac/PasteboardMac.mm:
* platform/network/AuthenticationChallengeBase.cpp:
* platform/network/cf/CookieJarCFNet.cpp:
* platform/network/cf/ResourceRequestCFNet.cpp:
* platform/network/mac/CookieStorageMac.mm:
* platform/qt/PasteboardQt.cpp:
* plugins/DOMMimeType.cpp:
* plugins/PluginRequest.h: Removed.
* plugins/PluginStream.h:
(PluginStreamClient):
(WebCore::PluginStreamClient::~PluginStreamClient):
(WebCore::PluginStreamClient::streamDidFinishLoading):
(WebCore):
* plugins/PluginStreamClient.h: Removed.
* plugins/PluginView.cpp:
* plugins/PluginView.h:
(WebCore):
(PluginRequest):
(WebCore::PluginRequest::PluginRequest):
(WebCore::PluginRequest::frameLoadRequest):
(WebCore::PluginRequest::notifyData):
(WebCore::PluginRequest::sendNotification):
(WebCore::PluginRequest::shouldAllowPopups):
* rendering/HitTestResult.cpp:
* rendering/InlineFlowBox.cpp:
* rendering/RenderBox.cpp:
* rendering/RenderEmbeddedObject.cpp:
* rendering/RenderImage.cpp:
* rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::RenderImageResource):
(WebCore):
* rendering/RenderImageResource.h:
(WebCore::RenderImageResource::image):
(WebCore::RenderImageResource::errorOccurred):
(WebCore::RenderImageResource::usesImageContainerSize):
(WebCore::RenderImageResource::imageHasRelativeWidth):
(WebCore::RenderImageResource::imageHasRelativeHeight):
(WebCore::RenderImageResource::imageSize):
* rendering/RenderImageResourceStyleImage.cpp:
* rendering/RenderLayer.cpp:
* rendering/RenderLayerBacking.cpp:
* rendering/RenderLayerFilterInfo.h:
(WebCore):
* rendering/RenderListItem.cpp:
* rendering/RenderListMarker.cpp:
* rendering/RenderSnapshottedPlugIn.cpp:
* rendering/RenderTableCol.cpp:
* rendering/RenderTableRow.cpp:
* rendering/RenderTableSection.cpp:
* rendering/style/StyleCachedShader.h:
* rendering/style/StyleCustomFilterProgram.cpp: Removed.
* rendering/style/StyleCustomFilterProgram.h:
(WebCore):
(WebCore::StyleCustomFilterProgram::vertexShaderString):
(StyleCustomFilterProgram):
(WebCore::StyleCustomFilterProgram::fragmentShaderString):
(WebCore::StyleCustomFilterProgram::isLoaded):
(WebCore::StyleCustomFilterProgram::willHaveClients):
(WebCore::StyleCustomFilterProgram::didRemoveLastClient):
(WebCore::StyleCustomFilterProgram::notifyFinished):
* svg/SVGFEImageElement.h:
* svg/SVGFontFaceUriElement.h:
(SVGFontFaceUriElement):
* svg/SVGImageLoader.cpp:
* svg/SVGUseElement.cpp:
* svg/SVGUseElement.h:
* svg/graphics/SVGImageCache.cpp:
* testing/MockPagePopupDriver.cpp:
* xml/XSLStyleSheet.h:
(WebCore):
* xml/XSLTProcessorLibxslt.cpp:
* xml/parser/XMLDocumentParser.cpp:
* xml/parser/XMLDocumentParser.h:
* xml/parser/XMLDocumentParserLibxml2.cpp:

Source/WebKit/chromium:

* src/ApplicationCacheHost.cpp:
* src/AssociatedURLLoader.cpp:
* src/EditorClientImpl.cpp:
* src/SharedWorkerRepository.cpp:
* src/WebDataSourceImpl.cpp:
* src/WebFrameImpl.h:
(WebCore):
* src/WebNode.cpp:
* src/WebSharedWorkerImpl.cpp:
* tests/FrameLoaderClientImplTest.cpp:

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* ewk/ewk_frame.cpp:

Source/WebKit/gtk:

* webkit/webkitwebpolicydecision.cpp:

Source/WebKit/mac:

* DOM/WebDOMOperations.mm:
* Misc/WebNSPasteboardExtras.mm:
* WebCoreSupport/WebFrameNetworkingContext.mm:
* WebView/WebRenderLayer.mm:
* WebView/WebRenderNode.mm:

Source/WebKit/qt:

* WebCoreSupport/NotificationPresenterClientQt.cpp:
* WebCoreSupport/QWebPageAdapter.cpp:

Source/WebKit2:

* NetworkProcess/HostRecord.h:
* NetworkProcess/NetworkResourceLoadScheduler.h:
* NetworkProcess/NetworkResourceLoader.h:
(WebCore):
* Shared/WebRenderLayer.cpp:
* Shared/WebRenderObject.cpp:
* WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
* WebProcess/Plugins/PluginView.cpp:
* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
* WebProcess/WebPage/mac/WebPageMac.mm:
* WebProcess/WebProcess.cpp:
* WebProcess/soup/WebProcessSoup.cpp:

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

8 years agoWebKit API for enabling DOM logging for certain worlds
commit-queue@webkit.org [Sun, 3 Mar 2013 08:56:45 +0000 (08:56 +0000)]
WebKit API for enabling DOM logging for certain worlds
https://bugs.webkit.org/show_bug.cgi?id=110779

Patch by Ankur Taly <ataly@google.com> on 2013-03-03
Reviewed by Kentaro Hara.

* WebKit.gyp:

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

8 years ago[V8] Remove TranslateParameter() from CodeGeneratorV8.pm
haraken@chromium.org [Sun, 3 Mar 2013 08:52:17 +0000 (08:52 +0000)]
[V8] Remove TranslateParameter() from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=111218

Reviewed by Adam Barth.

TranslateParameter() does nothing. It tries to convert TimeoutHandler to DOMString,
but there is no non-custom method that uses TimeoutHandler.

The only place where TimeoutHandler is used in the WebKit IDL is setTimeout() and setInterval().
However, the latest spec uses 'any' instead of TimeoutHandler.
http://dev.w3.org/html5/spec-LC/timers.html
Thus, this patch updates the IDL declarations of setTimeout() and setInterval()
according to the spec. By this change, TimeoutHandler is gone away from the WebKit IDL.
(Anyway this IDL change has no effect, because setTimeout() and setInterval() are written
in custom bindings.)

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateParametersCheck):
* page/DOMWindow.idl:
* workers/WorkerContext.idl:

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

8 years agokeydown and keyup events have zero keycode for some numeric pad keys under Chromium...
commit-queue@webkit.org [Sun, 3 Mar 2013 08:46:03 +0000 (08:46 +0000)]
keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
https://bugs.webkit.org/show_bug.cgi?id=85642

Source/WebCore:

Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.

Patch by James Weatherall <wez@chromium.org> on 2013-03-03
Reviewed by Adam Barth.

* platform/chromium/KeyCodeConversionGtk.cpp:
(WebCore::windowsKeyCodeForKeyEvent):

Source/WebKit/chromium:

Add tests to verify that the fixed keys generate the same keyCode values as their equivalents.

Patch by James Weatherall <wez@chromium.org> on 2013-03-03
Reviewed by Adam Barth.

* WebKit.gypi:
* tests/KeyCodeConversionTestGtk.cpp: Added.
(WebCore):
(WebCore::TEST):

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

8 years agoREGRESSION(144520): Does not compile on chromium-win
abarth@webkit.org [Sun, 3 Mar 2013 08:33:44 +0000 (08:33 +0000)]
REGRESSION(144520): Does not compile on chromium-win
https://bugs.webkit.org/show_bug.cgi?id=111261

Unreviewed rollout of http://trac.webkit.org/changeset/144520. This
patch does not compile for chromium-win. See the bug for the compile
error.

* rendering/ExclusionShapeInsideInfo.cpp:
* rendering/ExclusionShapeInsideInfo.h:
(WebCore):
(LineSegmentRange):
(WebCore::LineSegmentRange::LineSegmentRange):
(WebCore::ExclusionShapeInsideInfo::isEnabledFor):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::willBeDestroyed):
(WebCore::RenderBlock::exclusionShapeInsideInfo):
(WebCore):
(WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange):
* rendering/RenderBlock.h:
(WebCore):
(RenderBlock):
(RenderBlockRareData):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::constructBidiRunsForLine):

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

8 years agoREGRESSION (r144517): IndexedDB layout test failures on GTK
zandobersek@gmail.com [Sun, 3 Mar 2013 07:13:29 +0000 (07:13 +0000)]
REGRESSION (r144517): IndexedDB layout test failures on GTK
https://bugs.webkit.org/show_bug.cgi?id=111243

Reviewed by Martin Robinson.

Source/WebCore:

Changes to the custom JSC bindings for IDBAny are required after r144517,
specifically the case of IDBAny object having the KeyPathType type has to be covered.
These changes are analogous to those made to the V8 bindings in the mentioned commit.

No new tests - already covered by existing tests.

* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS): A helper function that wraps an IDBKeyPath into a JSValue.
(WebCore): Shuffle the order inside the switch statement a bit to match the V8 custom bindings.
Cover the case where the IDBAny object has the KeyPathType, calling the new helper method.

LayoutTests:

* platform/gtk/TestExpectations: Removing failure expectations for IDB tests that again pass.

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

8 years agoAnother try at fixing the build.
darin@apple.com [Sun, 3 Mar 2013 06:55:45 +0000 (06:55 +0000)]
Another try at fixing the build.

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

8 years agoTry to fix build.
darin@apple.com [Sun, 3 Mar 2013 06:31:24 +0000 (06:31 +0000)]
Try to fix build.

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

8 years agoCut down the number of source files that depend on Clipboard.h
darin@apple.com [Sun, 3 Mar 2013 05:55:53 +0000 (05:55 +0000)]
Cut down the number of source files that depend on Clipboard.h
https://bugs.webkit.org/show_bug.cgi?id=110030

Reviewed by Ryosuke Niwa.

Source/WebCore:

I am doing some work on Clipboard and it's better to recompile 50 files
each time we touch the header instead of 700. Also cut down on includes
of DragState.h.

* WebCore.exp.in: Updated for new MouseEvent::create function.

* dom/ClipboardEvent.cpp: Added include of Clipboard.h since we use it
here and the world no longer includes it everywhere.

* dom/ClipboardEvent.h: Forward declared Clipboard instead of including
Clipboard.h. Also made some overrides private because they can be.

* dom/DataTransferItem.h: Removed unneeded include of Clipboard.h.

* dom/MouseEvent.cpp: Added include of Clipboard.h since we use it
here and the world no longer includes it everywhere.
(WebCore::MouseEvent::create): Made the create function non-inline
since we can't compile it without including Clipboard.h and we don't
want to include Clipboard.h in the header. This is not so commonly
used or so hot that this needs to be inlined.

* dom/MouseEvent.h: Forward declared Clipboard instead of including
Clipboard.h. Made MouseEvent::create a non-inline function and also
used overloading instead of default arguments, since we can't compile
a default argument of type PassRefPtr<Clipboard> without including
Clipboard.h.

* dom/WheelEvent.cpp: Added include of Clipboard.h since we use it
here and the world no longer includes it everywhere.

* dom/WheelEvent.h: Forward declare PlatformWheelEvent since it is used
in this header. Previously we'd get it indirectly from including a header
that included Clipboard.h.

* editing/Editor.cpp: Added include of Clipboard.h since we use it here
and the world no longer includes it everywhere.

* inspector/InspectorDebuggerAgent.cpp: Added include of CachedResource.h.
We used to get this indirectly through Clipboard.h.

* inspector/InspectorFrontendHost.cpp: Added includes of ResourceError.h
and ResourceResponse.h. We used to get these indirectly through Clipboard.h.
Also removed unneeded include of <wtf/RefPtr.h>.

* inspector/NetworkResourcesData.cpp: Added include of CachedResource.h.
We used to get this indirectly through Clipboard.h.

* loader/PingLoader.cpp: Added include of ResourceResponse.h.
We used to get this indirectly through Clipboard.h.

* page/DragController.cpp: Added include of DragState.h.
We used to get this indirectly through EventHandler.h

* page/EventHandler.h: Forward declared DragState and Element instead of
including DragState.h. Also added an include of LayoutPoint.h, which we
used to get indirectly through DragState.h.

Source/WebKit/chromium:

* src/SharedWorkerRepository.cpp: Add include of ResourceResponse.h
here. We used to get this indirectly through Clipboard.h.

Source/WebKit/mac:

* WebView/WebPDFView.mm: Add include of Clipboard.h since we use it
here and the world no longer includes it everywhere.

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

8 years agoStringHasher functions require alignment that call sites do not all guarantee
darin@apple.com [Sun, 3 Mar 2013 05:47:27 +0000 (05:47 +0000)]
StringHasher functions require alignment that call sites do not all guarantee
https://bugs.webkit.org/show_bug.cgi?id=110171

Reviewed by Benjamin Poulain.

Source/WebCore:

* platform/graphics/WidthCache.h:
(WebCore::WidthCache::SmallStringKey::SmallStringKey): Use the newly added
addCharactersAssumingAligned to make sure we don't slow this call site down.
It's safe since this code always adds characters two at a time.

Source/WTF:

The StringHasher class is optimized for clients who pass it two characters at
a time. However, the function named addCharacters did not make this clear to
clients, and one calculateStringHashAndLengthFromUTF8MaskingTop8Bits got it wrong.
Fix by making addCharacters work regardless of hasher alignment and adding a new
function, addCharactersAssumingAligned, for use when we want a faster path and can
guarantee we are adding characters two at a time.

* wtf/StringHasher.h:
(WTF::StringHasher::addCharactersAssumingAligned): Renamed the addCharacters function
addCharactersAssumingAligned, since it only works if the hasher is currently aligned,
meaning it contains an even number of characters. The function already asserts
that this is true, but the calculateStringHashAndLengthFromUTF8MaskingTop8Bits
function was using it in cases where the assertion could fire. Also updated to
call addCharactersInternal by its new name. Also added some new overloads that take
data pointers and lengths so callers can always use addCharactersAssumingAligned
instead of addCharacters if they know the hasher is aligned.
(WTF::StringHasher::addCharacter): Updated to call the public
addCharactersAssumingAligned function since that's simpler and a bit cleaner.
(WTF::StringHasher::addCharacters): Added functions with this name that handle
the case where the hasher is not aligned. These will be called by existing call sites
that were formerly using the function named addCharactersAssumingAligned above.
Also add an overload that works with the default converter automatically.
(WTF::StringHasher::computeHashAndMaskTop8Bits): Changed to call
addCharactersAssumingAligned to eliminate copied and pasted code. The hasher is empty,
so definitely aligned.
(WTF::StringHasher::computeHash): Ditto.
(WTF::StringHasher::addCharactersInternal): Renamed from addCharactersToHash, since
the former name did not make clear how this differs from the public functions.
The real difference is that this is like addCharactersAssumingAligned, but without
the assertion, so addCharactersAssumingAligned is called instead, even within the
class's implementation.

Tools:

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/GNUmakefile.am:
* TestWebKitAPI/TestWebKitAPI.gypi:
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj.filters:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/WTF.pro:
* TestWebKitAPI/win/TestWebKitAPI.vcproj:
Added the StringHasher.cpp file.

* TestWebKitAPI/Tests/WTF/StringHasher.cpp: Added. Contains a bunch of tests
for the functions in the StringHasher class.

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

8 years agoWebKit2 is missing the setShowsURLsInToolTips preference
weinig@apple.com [Sun, 3 Mar 2013 02:53:28 +0000 (02:53 +0000)]
WebKit2 is missing the setShowsURLsInToolTips preference
https://bugs.webkit.org/show_bug.cgi?id=111259
<rdar://problem/12991891>

Reviewed by Maciej Stachowiak.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetShowsURLsInToolTipsEnabled):
(WKPreferencesGetShowsURLsInToolTipsEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Pipe it through.

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

8 years agoXSSAuditor has a subtle race condition when used with the threaded HTML parser
abarth@webkit.org [Sun, 3 Mar 2013 01:45:58 +0000 (01:45 +0000)]
XSSAuditor has a subtle race condition when used with the threaded HTML parser
https://bugs.webkit.org/show_bug.cgi?id=111253

Reviewed by Eric Seidel.

We were refing and derefing a StringImpl for a main-thread
AtomicString. Using QualifiedNames on the background thread is very
fragile and we should figure out a more robust solution.

* html/parser/XSSAuditor.cpp:
(WebCore::findAttributeWithName):

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

8 years agoExport a missing symbol after r144547.
benjamin@webkit.org [Sun, 3 Mar 2013 00:57:26 +0000 (00:57 +0000)]
Export a missing symbol after r144547.

Unreviewed.

* WebKit.vcproj/WebKitExports.def.in:

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

8 years agoMove computedStyleIncludingVisitedInfo from TestRunner to Internals
benjamin@webkit.org [Sun, 3 Mar 2013 00:08:44 +0000 (00:08 +0000)]
Move computedStyleIncludingVisitedInfo from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=109772

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-03-02
Reviewed by Andreas Kling.

Source/WebCore:

The function computedStyleIncludingVisitedInfo() is purely internal to WebCore,
it is better defined on Internals than on TestRunner.

* testing/Internals.cpp:
(WebCore::Internals::computedStyleIncludingVisitedInfo):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit/blackberry:

* WebKitSupport/DumpRenderTreeSupport.cpp:
* WebKitSupport/DumpRenderTreeSupport.h:
(DumpRenderTreeSupport):

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):

Source/WebKit/mac:

* WebView/WebView.mm:
* WebView/WebViewPrivate.h:

Source/WebKit/qt:

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Source/WebKit2:

* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
* WebProcess/WebPage/WebFrame.cpp:
* WebProcess/WebPage/WebFrame.h:
(WebFrame):

Tools:

* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
(TestRunner):
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
* DumpRenderTree/efl/TestRunnerEfl.cpp:
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
* DumpRenderTree/mac/TestRunnerMac.mm:
* DumpRenderTree/qt/TestRunnerQt.cpp:
* DumpRenderTree/qt/TestRunnerQt.h:
(TestRunner):
* DumpRenderTree/win/TestRunnerWin.cpp:
* DumpRenderTree/wx/TestRunnerWx.cpp:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):

LayoutTests:

Update the tests.

* fast/history/multiple-classes-visited.html:
* fast/history/nested-visited-test.html:
* fast/history/self-is-visited.html:
* fast/history/sibling-visited-test.html:
* fast/loader/stateobjects/state-url-sets-links-visited.html:
* platform/win/TestExpectations: unskip the tests.
* platform/chromium/TestExpectations:

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

8 years agoBUILD FIX (r143637): Export ScriptController::javaScriptContext() on iOS
ddkilzer@apple.com [Sat, 2 Mar 2013 23:42:41 +0000 (23:42 +0000)]
BUILD FIX (r143637): Export ScriptController::javaScriptContext() on iOS
<http://webkit.org/b/106059>

Fixes the following build failure:

    Undefined symbols for architecture armv7:
      "__ZN7WebCore16ScriptController17javaScriptContextEv", referenced from:
          -[WebFrame javaScriptContext] in WebFrame.o
          __ZN20WebFrameLoaderClient35dispatchDidClearWindowObjectInWorldEPN7WebCore15DOMWrapperWorldE in WebFrameLoaderClient.o
    ld: symbol(s) not found for architecture armv7

* WebCore.exp.in: Export ScriptController::javaScriptContext()
even more unconditionally.

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

8 years agoBUILD FIX (r143637): Predeclare JSContext as an Objective-C class
ddkilzer@apple.com [Sat, 2 Mar 2013 23:36:00 +0000 (23:36 +0000)]
BUILD FIX (r143637): Predeclare JSContext as an Objective-C class
<http://webkit.org/b/106059>

Fixes the following build failure:

    In file included from Source/WebKit/ios/DefaultDelegates/WebDefaultFrameLoadDelegate.m:11:
    In file included from Source/WebKit/mac/WebView/WebFrameLoadDelegatePrivate.h:29:
    Source/WebKit/mac/WebView/WebFrameLoadDelegate.h:215:64: error: expected a type
    - (void)webView:(WebView *)webView didCreateJavaScriptContext:(JSContext *)context forFrame:(WebFrame *)frame;
                                                                   ^
    1 error generated.

* WebView/WebFrameLoadDelegate.h: Add @class JSContext
declaration.

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

8 years agoRemove two unnecessary mallocs from the main-thread-parser code path
eric@webkit.org [Sat, 2 Mar 2013 21:06:57 +0000 (21:06 +0000)]
Remove two unnecessary mallocs from the main-thread-parser code path
https://bugs.webkit.org/show_bug.cgi?id=111249

Reviewed by Adam Barth.

I noticed these while fixing up our Vector -> String conversions
but never went back to fix the FIXME.

AtomicString(Vector<UChar, capacity>) is smart enough to avoid mallocing
if the represented string is already in the AtomicString table.  It
also handles 8bit vs. 16bit and empty() just like nameString() does.

I also removed a 3rd caller to nameString() in the XSSAuditor which
was causing an unnecessary malloc in both the main and background
thread parser paths.

* html/parser/AtomicHTMLToken.h:
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
* html/parser/HTMLToken.h:
* html/parser/XSSAuditor.cpp:
(WebCore):
(WebCore::threadSafeMatch):
(WebCore::hasName):

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

8 years agoconstructTreeFromCompactHTMLToken should call clearExternalCharacters
eric@webkit.org [Sat, 2 Mar 2013 18:09:53 +0000 (18:09 +0000)]
constructTreeFromCompactHTMLToken should call clearExternalCharacters
https://bugs.webkit.org/show_bug.cgi?id=111248

Reviewed by Adam Barth.

I don't know how to write a test for this.  It's possible characters()
is never accessed from HTMLStackItem::token(), but it's better to be
safe than sorry here.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::constructTreeFromCompactHTMLToken):

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

8 years agoText overflow ellipsis wrong color when using webkit-text-fill-color
rwlbuis@webkit.org [Sat, 2 Mar 2013 15:02:45 +0000 (15:02 +0000)]
Text overflow ellipsis wrong color when using webkit-text-fill-color
https://bugs.webkit.org/show_bug.cgi?id=54841

Reviewed by David Hyatt.

Source/WebCore:

Take -webkit-text-fill-color into account for ellipsis painting.

Test: fast/css/text-overflow-ellipsis-color.html

* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):

LayoutTests:

Add reftest for using -webkit-text-fill-color in combination with text-overflow:ellipsis.

* fast/css/text-overflow-ellipsis-color-expected.html: Added.
* fast/css/text-overflow-ellipsis-color.html: Added.

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

8 years ago[EFL] Unskip some passing tests.
rakuco@webkit.org [Sat, 2 Mar 2013 14:39:08 +0000 (14:39 +0000)]
[EFL] Unskip some passing tests.

* platform/efl/TestExpectations: Remove tests that pass after
r140006 and r139217.

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

8 years agoRedo r144538 (after r144530).
rniwa@webkit.org [Sat, 2 Mar 2013 12:36:10 +0000 (12:36 +0000)]
Redo r144538 (after r144530).

* WebCoreSupport/WebFrameNetworkingContext.cpp:
* WebCoreSupport/WebFrameNetworkingContext.h:
* WebCoreSupport/WebPlatformStrategies.cpp:

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

8 years agoYet another build fix attempt after r144530.
rniwa@webkit.org [Sat, 2 Mar 2013 10:14:04 +0000 (10:14 +0000)]
Yet another build fix attempt after r144530.

* WebCoreSupport/WebFrameNetworkingContext.cpp:
* WebCoreSupport/WebPlatformStrategies.cpp:

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

8 years agoAnother build fix attempt after r144530.
rniwa@webkit.org [Sat, 2 Mar 2013 09:54:34 +0000 (09:54 +0000)]
Another build fix attempt after r144530.

* WebCoreSupport/WebFrameNetworkingContext.cpp:

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

8 years agoFix a typo in my previous commit (r144534).
rniwa@webkit.org [Sat, 2 Mar 2013 09:07:37 +0000 (09:07 +0000)]
Fix a typo in my previous commit (r144534).

* platform/win/PasteboardWin.cpp:

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

8 years ago[WebGL] Support for texImage2D of type HALF_FLOAT_OES with ArrayBufferView.
nayankk@motorola.com [Sat, 2 Mar 2013 09:02:31 +0000 (09:02 +0000)]
[WebGL] Support for texImage2D of type HALF_FLOAT_OES with ArrayBufferView.
https://bugs.webkit.org/show_bug.cgi?id=110818

Reviewed by Kenneth Russell.

As per OES_texture_half_float specification texImage2D and texSubImage2D entry
points taking ArrayBufferView should extended to accept null with the pixel type
HALF_FLOAT_OES.

Source/WebCore:

Tests: fast/canvas/webgl/oes-texture-half-float-not-supported.html
       fast/canvas/webgl/oes-texture-half-float.html

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::toV8Object):
* html/canvas/OESTextureHalfFloat.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
(WebCore):
(WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
(WebCore::OESTextureHalfFloat::~OESTextureHalfFloat):
(WebCore::OESTextureHalfFloat::getName):
(WebCore::OESTextureHalfFloat::create):
* html/canvas/OESTextureHalfFloat.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
(WebCore):
(OESTextureHalfFloat):
* html/canvas/OESTextureHalfFloat.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
* html/canvas/WebGLExtension.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texSubImage2D):
(WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
(WebCore::WebGLRenderingContext::validateTexFuncData):
* html/canvas/WebGLRenderingContext.h:
(WebCore):
(WebGLRenderingContext):
* html/canvas/WebGLRenderingContext.idl:
* platform/graphics/Extensions3D.h:
(Extensions3D):
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/GraphicsTypes3D.h:
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::texImage2D):

LayoutTests:

* fast/canvas/webgl/constants.html:
* fast/canvas/webgl/oes-texture-half-float-expected.txt: Added.
* fast/canvas/webgl/oes-texture-half-float-not-supported-expected.txt: Added.
* fast/canvas/webgl/oes-texture-half-float-not-supported.html: Added.
* fast/canvas/webgl/oes-texture-half-float.html: Added.

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

8 years agoWindows build fix attempt after r144530.
rniwa@webkit.org [Sat, 2 Mar 2013 08:57:00 +0000 (08:57 +0000)]
Windows build fix attempt after r144530.

* platform/win/PasteboardWin.cpp:

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

8 years agoTried to fix the build after r144530.
mitz@apple.com [Sat, 2 Mar 2013 07:46:51 +0000 (07:46 +0000)]
Tried to fix the build after r144530.

* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Include the header for the
base class.

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Sat, 2 Mar 2013 07:00:13 +0000 (07:00 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Adding failure expectations for IndexedDB tests
that regressed on platforms using JavaScriptCore with r144517.

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

8 years agoRemove unused member variable m_useLatchedEventNode from PlatformWheelEvent.h
tdanderson@chromium.org [Sat, 2 Mar 2013 06:41:41 +0000 (06:41 +0000)]
Remove unused member variable m_useLatchedEventNode from PlatformWheelEvent.h
https://bugs.webkit.org/show_bug.cgi?id=107314

Reviewed by Darin Adler.

EventHandler::handleGestureScrollCore() was removed in http://trac.webkit.org/changeset/140177,
and this was the only place where the member variable |m_useLatchedEventNode| in
PlatformWheelEvent was mutated. This variable is no longer needed and so it should be removed.

No change in behavior, so no new tests needed.

* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
(WebCore::PlatformWheelEvent::useLatchedEventNode):
(PlatformWheelEvent):

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

8 years ago Reduce amount of rebuilding when touching networking headers
ap@apple.com [Sat, 2 Mar 2013 06:36:29 +0000 (06:36 +0000)]
    Reduce amount of rebuilding when touching networking headers
        https://bugs.webkit.org/show_bug.cgi?id=111035

        Reviewed by Eric Seidel.

        This uses a number of common unsurprising techniques. One interesting observation
        is that including CachedResource related headers is very expensive. We can usually
        get away with their Client counterparts, and with CachedResourceHandle.

        * page/Frame.cpp:
        * page/Frame.h:
        Don't include FrameLoader, greatly reducing include graph for most non-loader files.
        This required making Frame::init() non-inline - I'm not sure why it ever was.

        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:
        Even though FrameLoader is logically on loading side of WebCore, it's included in
        too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
        largest wins. As a future improvement, we should probably convert other members
        to OwnPtrs.

        * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
        definition of a class it holds, but default construction does not.

        * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
        not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.

        * loader/cache/CachedFont.h:
        * loader/cache/CachedFontClient.h: Added.
        * loader/cache/CachedRawResource.h:
        * loader/cache/CachedRawResourceClient.h: Added.
        * loader/cache/CachedSVGDocument.h:
        * loader/cache/CachedSVGDocumentClient.h: Added.
        These types were defining client types in the same headers, making it impossible
        to avoid including networking headers through CachedResource. Moved clients into
        separate files.

        * plugins/PluginStream.h:
        * plugins/PluginStreamClient.h: Added.
        Similar situation here.

        * loader/cache/CachedResourceHandle.cpp:
        * loader/cache/CachedResourceHandle.h:
        Moved functions that need to know about CachedResource to .cpp file. This is another
        huge win. Added a destructor, so that CachedResource woudn't be needed in all files
        that include CachedResourceHandle.

        * loader/cache/CachedSVGDocumentReference.cpp: Added.
        * loader/cache/CachedSVGDocumentReference.h:
        Moved constructor and virtual function implementations to a .cpp file - they need
        not inlining, and this lets us avoid including CachedSVGDocument.h in the header.

        * platform/graphics/filters/FilterOperation.cpp:
        * platform/graphics/filters/FilterOperation.h:
        Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
        CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
        rendering code that it seems best to cut any ties with resources and loading.
        Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
        classes are generally harmful (due to code bloat).

        * plugins/PluginRequest.h: Added.
        * plugins/PluginView.h:
        Moved PluginRequest into a separate file, it was out of place in a view hierarchy
        class file.

        * rendering/RenderImageResource.cpp:
        * rendering/RenderImageResource.h:
        Moved definitions of virtual functions to a .cpp file. Thre is no win from having
        them inline, and now we don't need CachedImage.h in the header.

        * rendering/style/StyleCustomFilterProgram.cpp: Added.
        * rendering/style/StyleCustomFilterProgram.h:
        Ditto.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Modules/mediastream/RTCPeerConnection.cpp:
        * Modules/notifications/Notification.cpp:
        * Target.pri:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/ScriptControllerBase.cpp:
        * bindings/js/JSNodeCustom.cpp:
        * bindings/js/ScriptController.cpp:
        * bindings/js/ScriptSourceCode.h:
        * bindings/objc/DOM.mm:
        * bindings/v8/ScriptController.cpp:
        * bindings/v8/V8DOMWindowShell.cpp:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        * css/CSSFontFaceSource.h:
        * css/CSSFontSelector.cpp:
        * css/WebKitCSSSVGDocumentValue.cpp:
        * css/WebKitCSSSVGDocumentValue.h:
        * dom/Clipboard.cpp:
        * dom/ContainerNode.cpp:
        * dom/DOMImplementation.cpp:
        * dom/PendingScript.h:
        * dom/ScriptElement.cpp:
        * dom/ScriptElement.h:
        * history/CachedFrame.cpp:
        * html/DOMURL.cpp:
        * html/HTMLAnchorElement.cpp:
        * html/HTMLAppletElement.cpp:
        * html/HTMLElement.cpp:
        * html/HTMLEmbedElement.cpp:
        * html/HTMLFrameSetElement.cpp:
        * html/HTMLHtmlElement.cpp:
        * html/HTMLImageElement.cpp:
        * html/HTMLObjectElement.cpp:
        * html/HTMLPlugInElement.cpp:
        * html/ImageDocument.cpp:
        * html/ImageInputType.cpp:
        * html/MediaDocument.cpp:
        * html/PluginDocument.cpp:
        * html/canvas/WebGLRenderingContext.cpp:
        * html/parser/HTMLConstructionSite.cpp:
        * html/parser/HTMLParserOptions.cpp:
        * html/parser/HTMLScriptRunner.h:
        * html/parser/XSSAuditor.cpp:
        * html/parser/XSSAuditorDelegate.cpp:
        * inspector/InspectorDebuggerAgent.cpp:
        * inspector/InspectorFileSystemAgent.cpp:
        * inspector/InspectorFrontendHost.cpp:
        * inspector/InspectorInstrumentation.h:
        * inspector/InspectorPageAgent.cpp:
        * inspector/NetworkResourcesData.cpp:
        * inspector/NetworkResourcesData.h:
        * loader/CookieJar.cpp:
        * loader/CrossOriginAccessControl.cpp:
        * loader/CrossOriginPreflightResultCache.h:
        * loader/DocumentThreadableLoader.h:
        * loader/ImageLoader.cpp:
        * loader/ImageLoader.h:
        * loader/LinkLoader.h:
        * loader/MainResourceLoader.cpp:
        * loader/MainResourceLoader.h:
        * loader/MixedContentChecker.cpp:
        * loader/PingLoader.cpp:
        * loader/PolicyChecker.h:
        * loader/ProgressTracker.cpp:
        * loader/SubframeLoader.cpp:
        * loader/SubresourceLoader.cpp:
        * loader/TextTrackLoader.cpp:
        * loader/TextTrackLoader.h:
        * loader/ThreadableLoader.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        * loader/appcache/ApplicationCacheGroup.h:
        * loader/appcache/ApplicationCacheHost.cpp:
        * loader/archive/cf/LegacyWebArchive.cpp:
        * loader/cache/CachedFont.cpp:
        * loader/cache/CachedImage.cpp:
        * loader/cache/CachedRawResource.cpp:
        * loader/cache/CachedResource.cpp:
        * loader/cache/CachedStyleSheetClient.h:
        * loader/cache/MemoryCache.cpp:
        * loader/cache/MemoryCache.h:
        * loader/chromium/CachedRawResourceChromium.cpp:
        * loader/icon/IconController.cpp:
        * loader/icon/IconLoader.h:
        * loader/mac/ResourceLoaderMac.mm:
        * page/DOMWindowExtension.cpp:
        * page/DragController.cpp:
        * page/PerformanceNavigation.cpp:
        * page/PerformanceTiming.cpp:
        * page/PointerLockController.cpp:
        * page/Settings.cpp:
        * page/animation/CSSPropertyAnimation.cpp:
        * platform/chromium/PasteboardChromium.cpp:
        * platform/efl/ErrorsEfl.cpp:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        * platform/gtk/ErrorsGtk.cpp:
        * platform/gtk/PasteboardGtk.cpp:
        * platform/gtk/PasteboardHelper.h:
        * platform/mac/ClipboardMac.h:
        * platform/mac/ClipboardMac.mm:
        * platform/mac/HTMLConverter.mm:
        * platform/mac/PasteboardMac.mm:
        * platform/network/AuthenticationChallengeBase.cpp:
        * platform/network/cf/CookieJarCFNet.cpp:
        * platform/network/cf/ResourceRequestCFNet.cpp:
        * platform/network/mac/CookieStorageMac.mm:
        * platform/qt/PasteboardQt.cpp:
        * plugins/DOMMimeType.cpp:
        * plugins/PluginView.cpp:
        * rendering/HitTestResult.cpp:
        * rendering/InlineFlowBox.cpp:
        * rendering/RenderBox.cpp:
        * rendering/RenderEmbeddedObject.cpp:
        * rendering/RenderImage.cpp:
        * rendering/RenderImageResourceStyleImage.cpp:
        * rendering/RenderLayer.cpp:
        * rendering/RenderLayerBacking.cpp:
        * rendering/RenderLayerFilterInfo.h:
        * rendering/RenderListItem.cpp:
        * rendering/RenderListMarker.cpp:
        * rendering/RenderSnapshottedPlugIn.cpp:
        * rendering/RenderTableCol.cpp:
        * rendering/RenderTableRow.cpp:
        * rendering/RenderTableSection.cpp:
        * rendering/style/StyleCachedShader.h:
        * svg/SVGFEImageElement.h:
        * svg/SVGFontFaceUriElement.h:
        * svg/SVGImageLoader.cpp:
        * svg/SVGUseElement.cpp:
        * svg/SVGUseElement.h:
        * svg/graphics/SVGImageCache.cpp:
        * testing/MockPagePopupDriver.cpp:
        * xml/XSLStyleSheet.h:
        * xml/XSLTProcessorLibxslt.cpp:
        * xml/parser/XMLDocumentParser.cpp:
        * xml/parser/XMLDocumentParser.h:
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        Many self-evident changes - removing unnecessary header includes, adding smaller
        more local ones that are now necessary.

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

8 years ago[New Multicolumn] Transformed objects inside fragmented transparent objects don't...
hyatt@apple.com [Sat, 2 Mar 2013 06:14:28 +0000 (06:14 +0000)]
[New Multicolumn] Transformed objects inside fragmented transparent objects don't render
https://bugs.webkit.org/show_bug.cgi?id=111221.

Reviewed by Simon Fraser.

Source/WebCore:

Improve transparencyClipBox so that it understands when moving into descendants
that it does in fact have to break up the transformed clip rect across the
fragments.

Make sure when handling fragmented transforms using multiple paints that
the test that determines the extent of the transform within the fragments
uses transparencyClipBox. This gives us an accurate set of columns that the
final transformed result will paint across.

Tests: fast/multicol/mixed-opacity-fixed-test.html
       fast/multicol/mixed-opacity-test.html
       fast/multicol/transform-inside-opacity.html

* rendering/RenderLayer.cpp:
(WebCore::transparencyClipBox):
(WebCore::expandClipRectForDescendantsAndReflection):
Break transformed boxes up into fragments when they are
being requested by an ancestor.

(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
* rendering/RenderLayer.h:
(RenderLayer):
Modify collectFragments so that we pass in the correct range
within the columns that can possibly cover the fragmented
transformed box.

LayoutTests:

* fast/multicol/mixed-opacity-fixed-test-expected.html: Added.
* fast/multicol/mixed-opacity-fixed-test.html: Added.
* fast/multicol/mixed-opacity-test-expected.html: Added.
* fast/multicol/mixed-opacity-test.html: Added.
* fast/multicol/transform-inside-opacity-expected.html: Added.
* fast/multicol/transform-inside-opacity.html: Added.

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

8 years agoRemove call to set task priority of WebKit2 processes on Mac
commit-queue@webkit.org [Sat, 2 Mar 2013 05:53:00 +0000 (05:53 +0000)]
Remove call to set task priority of WebKit2 processes on Mac
https://bugs.webkit.org/show_bug.cgi?id=111239

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-03-01
Reviewed by Darin Adler.

Remove call to set task prioirty of WebKit2 processes on Mac as it
is no longer necessary.

* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::platformInitialize): Remove call to setpriority().

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

8 years agoWeb Inspector: Native Memory Instrumentation: do not visit raw pointers by default.
loislo@chromium.org [Sat, 2 Mar 2013 05:23:18 +0000 (05:23 +0000)]
Web Inspector: Native Memory Instrumentation: do not visit raw pointers by default.
https://bugs.webkit.org/show_bug.cgi?id=110943

Reviewed by Yury Semikhatsky.

Unfortunately in many cases raw pointer may point to an object that has been deleted.
There is no working solution to solve this problem in general.
It could be solved only on case by case basis.

Source/WebCore:

* inspector/HeapGraphSerializer.cpp:
(WebCore::HeapGraphSerializer::HeapGraphSerializer):
(WebCore::HeapGraphSerializer::reportLeaf):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::reportMemoryUsage):
* platform/graphics/BitmapImage.cpp:
(WebCore::FrameData::reportMemoryUsage):
* platform/graphics/skia/MemoryInstrumentationSkia.cpp:
(reportMemoryUsage):

Source/WTF:

* wtf/MemoryInstrumentation.h:
(WTF::MemoryInstrumentation::addObject):
(WTF::MemoryInstrumentation::MemberTypeTraits::addObject):
(WTF::MemoryClassInfo::addMember):
(WTF::MemoryInstrumentation::addObjectImpl):
* wtf/MemoryInstrumentationString.h:
(WTF::reportMemoryUsage):

Tools:

* TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp:
* TestWebKitAPI/Tests/WebCore/HeapGraphSerializerTest.cpp:
(TestWebKitAPI::TEST):

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

8 years agoStyle recalculation takes too long when adding whitespace text nodes
haraken@chromium.org [Sat, 2 Mar 2013 05:18:43 +0000 (05:18 +0000)]
Style recalculation takes too long when adding whitespace text nodes
https://bugs.webkit.org/show_bug.cgi?id=110786

Reviewed by Darin Adler.

Source/WebCore:

// This takes 216 msec.
for (var i = 0; i < 1500; ++i) {
  document.body.appendChild(document.createTextNode('x'));
  document.body.appendChild(document.createElement('div'));
  document.body.appendChild(document.createTextNode('x'));
}

// But this takes 25.3 seconds.
for (var i = 0; i < 1500; ++i) {
  document.body.appendChild(document.createTextNode(' '));
  document.body.appendChild(document.createElement('div'));
  document.body.appendChild(document.createTextNode(' '));
}

The reason is that we do not create renderers for empty text
nodes and thus we are hitting the worst O(N^2) case in Node::attach().
(See FIXME in Node::attach().)

This patch adds a logic to bail out the loop to avoid the O(N^2) case.
Specifically, the patch bails out the loop if we encounter a text node
for which we again decided not to create a renderer. This bail out is
reasonable because the fact that we again decided not to create a renderer
for the text node indicates that there will be no affect of the result
of Text::textRendererIsNeeded() of the rest of the sibling nodes.

Performance test: https://bugs.webkit.org/attachment.cgi?id=190545
Performance result in Chromium/Linux: 25.3 sec => 48 msec !

Test: perf/append-text-nodes-without-renderers.html (for performance)
      fast/dynamic/create-renderer-for-whitespace-only-text.html (for correctness)

The loop was introduced in r29054. We have to make sure that
all layout tests that were updated in r29054 pass with this patch.
See http://trac.webkit.org/changeset/29054.

* dom/Node.cpp:
(WebCore::Node::attach):

LayoutTests:

* fast/html/details-nested-2-expected.txt: Sometimes anonymous blocks are left without
being cleaned up (for some reason). With this patch, one anonymouse block is removed at
the clean-up phase (for some reason). Anyway the new behavior is an expected behavior.
* platform/chromium-mac/fast/html/details-nested-2-expected.txt: Ditto.
* platform/chromium-win/fast/html/details-nested-2-expected.txt: Ditto.
* platform/efl/fast/html/details-nested-2-expected.txt: Ditto.
* platform/mac/fast/html/details-nested-2-expected.txt: Ditto.
* platform/qt/fast/html/details-nested-2-expected.txt: Ditto.
* perf/append-text-nodes-without-renderers-expected.txt: Added. For performance test.
* perf/append-text-nodes-without-renderers.html: Added. Ditto.

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

8 years agoAdd a missing symbol after r144524.
benjamin@webkit.org [Sat, 2 Mar 2013 05:17:53 +0000 (05:17 +0000)]
Add a missing symbol after r144524.

Unreviewed.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-03-01

* WebKit.vcproj/WebKitExports.def.in:

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

8 years agoSource/WebCore: Moved markerTextForListItem from TestRunner to Internals
commit-queue@webkit.org [Sat, 2 Mar 2013 05:06:30 +0000 (05:06 +0000)]
Source/WebCore: Moved markerTextForListItem from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=110939

Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-01
Reviewed by Benjamin Poulain.

TestRunner framework is an old way of testing webkit, it would be
better to incorporate the testing frame directly into the WebCore itself
as to make it more compatible with WK2.

* testing/Internals.cpp:
(WebCore::Internals::markerTextForListItem):
(WebCore):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit/efl: Move markerTextForListItem from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=110939

Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-01
Reviewed by Benjamin Poulain.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Source/WebKit/gtk: Move markerTextForListItem from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=110939

Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-01
Reviewed by Benjamin Poulain.

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):

Source/WebKit/mac: Move markerTextForListItem from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=110939

Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-01
Reviewed by Benjamin Poulain.

* DOM/WebDOMOperations.mm:
* DOM/WebDOMOperationsPrivate.h:

Source/WebKit/qt: Move markerTextForListItem from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=110939

Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-01
Reviewed by Benjamin Poulain.

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Tools: Move markerTextForListItem from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=110939

Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-01
Reviewed by Benjamin Poulain.

* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
(TestRunner):
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/efl/TestRunnerEfl.cpp:
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
* DumpRenderTree/mac/TestRunnerMac.mm:
* DumpRenderTree/qt/TestRunnerQt.cpp:
* DumpRenderTree/qt/TestRunnerQt.h:
(TestRunnerQt):
* DumpRenderTree/win/TestRunnerWin.cpp:
* DumpRenderTree/wx/TestRunnerWx.cpp:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):

LayoutTests: Move markerTextForListItem from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=110939

Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-01
Reviewed by Benjamin Poulain.

* fast/lists/resources/dump-list.js:
(dumpListItemAsHTML):
(testListItemMarkerEqualsListItemText):
* fast/lists/w3-css3-list-styles-numeric.html:

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

8 years agoUnreviewed. Rolled Chromium DEPS to r185662. Requested by
commit-queue@webkit.org [Sat, 2 Mar 2013 03:44:02 +0000 (03:44 +0000)]
Unreviewed.  Rolled Chromium DEPS to r185662.  Requested by
"James Robinson" <jamesr@chromium.org> via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-01

* DEPS:

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

8 years agoDon't leak Documents when using MutationObserver from extensions
commit-queue@webkit.org [Sat, 2 Mar 2013 02:35:53 +0000 (02:35 +0000)]
Don't leak Documents when using MutationObserver from extensions
https://bugs.webkit.org/show_bug.cgi?id=111234

Patch by Elliott Sprehn <esprehn@gmail.com> on 2013-03-01
Reviewed by Adam Barth.

.:

* ManualTests/leak-observer-nonmain-world.html: Added.

Source/WebCore:

MutationObserverCallback holds a WorldContextHandle which secretly isn't
a handle to anything when it's for the main world. When it's for a non-main
world though, like those used in extensions, it becomes a strong reference
to the v8::Context which results in leaks by creating cycles:

MutationObserver -> Callback -> World -> Document -> Node -> MutationObserver.

Instead we should keep a RefPtr to a DOMWrapperWorld in the callback and then
get the v8::Context from that inside handleEvent.

Tests: ManualTests/leak-observer-nonmain-world.html

* bindings/v8/V8Binding.cpp:
(WebCore::toV8Context): Added overload that takes a DOMWrapperWorld.
* bindings/v8/V8Binding.h:
* bindings/v8/V8MutationCallback.cpp:
(WebCore::V8MutationCallback::V8MutationCallback):
(WebCore::V8MutationCallback::handleEvent):
* bindings/v8/V8MutationCallback.h:
(V8MutationCallback):

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

8 years agoBUILD FIX: testapi should link to Foundation, not CoreFoundation
ddkilzer@apple.com [Sat, 2 Mar 2013 01:31:54 +0000 (01:31 +0000)]
BUILD FIX: testapi should link to Foundation, not CoreFoundation

* JavaScriptCore.xcodeproj/project.pbxproj: Change testapi to
link to Foundation.framework instead of CoreFoundation.framework
since it uses NS types.

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

8 years ago[css exclusions] Move ExclusionShapeInsideInfo into RenderBlockRareData
betravis@adobe.com [Sat, 2 Mar 2013 01:16:29 +0000 (01:16 +0000)]
[css exclusions] Move ExclusionShapeInsideInfo into RenderBlockRareData
https://bugs.webkit.org/show_bug.cgi?id=110995

Reviewed by Julien Chaffraix.

This patch moves ExclusionShapeInsideInfo into the RenderBlockRareData struct,
which enables us to move away from the global ExclusionShapeInsideInfo map.
Some additional refactoring was done to remove ExclusionShapeInsideInfo's
dependency on InlineIterator, which depended on RenderBlock. This work required
adding a new LineSegmentIterator struct.

Refactoring, no new tests.

* rendering/ExclusionShapeInsideInfo.cpp:
(WebCore):
(WebCore::LineSegmentRange::LineSegmentRange): Moving the InlineIterator
constructor to the .cpp file, as InlineIterator is now forward declared in
the .h file.
(WebCore::ExclusionShapeInsideInfo::isEnabledFor): Moving isEnabledFor to
the .cpp file, as RenderBlock is now forward declared in the .h file.
* rendering/ExclusionShapeInsideInfo.h:
(WebCore):
(LineSegmentIterator): A simple struct for containing segment positions for
layout.
(WebCore::LineSegmentIterator::LineSegmentIterator): Constructor.
(LineSegmentRange): Transitioning to store LineSegmentIterator.
(WebCore::LineSegmentRange::LineSegmentRange): Ditto.
(ExclusionShapeInsideInfo):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::willBeDestroyed): Destroying a block will now destroy
its ExclusionShapeInsideInfo, so there is no need to remove it from the map.
(WebCore):
(WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Use
the RenderBlockRareData struct rather than the global map.
* rendering/RenderBlock.h:
(WebCore):
(WebCore::RenderBlock::ensureExclusionShapeInsideInfo): Ensure an info struct
is present if the shape-inside style is set.
(WebCore::RenderBlock::exclusionShapeInsideInfo): Look up the info struct for
the current block.
(WebCore::RenderBlock::setExclusionShapeInsideInfo): Update the info struct
for the current block.
(RenderBlockRareData): Add the ExclusionShapeInsideInfo member.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::constructBidiRunsForLine): Construct the appropriate offsets during
layout based on the stored LineSegmentIterators.

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

8 years agoEventHandler::handleGestureScrollUpdate() should invoke the user-generated scroll...
tdanderson@chromium.org [Sat, 2 Mar 2013 01:08:22 +0000 (01:08 +0000)]
EventHandler::handleGestureScrollUpdate() should invoke the user-generated scroll routines
so its behavior matches other user-initiated scrolls
https://bugs.webkit.org/show_bug.cgi?id=109769

Reviewed by James Robinson.

Source/WebCore:

To ensure that the scrolling behavior of GestureScrollUpdate events are consistent with
the scrolling behavior of mousewheel events, use the existing user-generated scroll logic
instead of calling into RenderLayer::scrollByRecursively(). This patch fixes the bug
reported in https://bugs.webkit.org/show_bug.cgi?id=109316, where the example page can
be scrolled using touch but cannot be scrolled using mousewheels.

Note that this patch does not use any of the mousewheel event-handling code.

Tests: fast/events/touch/gesture/touch-gesture-noscroll-body-propagated.html
       fast/events/touch/gesture/touch-gesture-noscroll-body-xhidden.html
       fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden.html
       fast/events/touch/gesture/touch-gesture-noscroll-body.html

* page/EventHandler.cpp:
(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleGestureEvent):
(WebCore::EventHandler::handleGestureScrollBegin):
(WebCore::EventHandler::handleGestureScrollUpdate):
(WebCore::EventHandler::sendScrollEventToView):
    By calling this function at the start of handleGestureScrollUpdate() in the case
    where |m_scrollGestureHandlingNode| is null, we ensure that the scroll updates
    can still scroll the page itself, if possible.
(WebCore):
(WebCore::EventHandler::clearGestureScrollNodes):
* page/EventHandler.h:
(EventHandler):
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::setHasPreciseScrollingDeltas):

Source/WebKit/chromium:

Clear the nodes corresponding to a fling scroll event when the event ends.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::updateAnimations):

LayoutTests:

Four new layout tests have been added and touch-gesture-scroll-page.html has been
modified to demonstrate that this patch fixes two existing bugs. See the inline
comments below for details.

Because I am now using the existing user-generated scroll logic, the delta for a single
GestureScrollUpdate event will not be propagated to the parent of the targeted node
unless the targeted node has no remaining scrollable area. So the changes to the
existing layout tests have been made to ensure that the targeted node has been fully
scrolled before subsequent GestureScrollUpdate events will scroll the parent(s) of
the targeted node.

I have also removed the function recordScroll() from the existing layout tests
because this function already exists in the included file resources/gesture-helpers.js.

* fast/events/touch/gesture/touch-gesture-noscroll-body-expected.txt: Added.
* fast/events/touch/gesture/touch-gesture-noscroll-body-propagated-expected.txt: Added.
* fast/events/touch/gesture/touch-gesture-noscroll-body-propagated.html: Copied from LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-page.html.
* fast/events/touch/gesture/touch-gesture-noscroll-body-xhidden-expected.txt: Added.
* fast/events/touch/gesture/touch-gesture-noscroll-body-xhidden.html: Copied from LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-page.html.
* fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden-expected.txt: Added.
* fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden.html: Copied from LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-page.html.
* fast/events/touch/gesture/touch-gesture-noscroll-body.html: Copied from LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-page.html.
* fast/events/touch/gesture/touch-gesture-scroll-div-not-propagated.html:
* fast/events/touch/gesture/touch-gesture-scroll-div-propagated.html:
* fast/events/touch/gesture/touch-gesture-scroll-div-twice-propagated.html:
* fast/events/touch/gesture/touch-gesture-scroll-iframe-not-propagated.html:
* fast/events/touch/gesture/touch-gesture-scroll-iframe-propagated.html:
* fast/events/touch/gesture/touch-gesture-scroll-page-not-propagated.html:
* fast/events/touch/gesture/touch-gesture-scroll-page-propagated.html:
* fast/events/touch/gesture/touch-gesture-scroll-page.html:
      I modified this layout test in order to add test coverage for another bug
      which is fixed by this patch: if the hit test performed on a GestureScrollBegin
      does not target a specific node, the subsequent GestureScrollUpdate events should
      still attempt to scroll the page itself. This is consistent with how mousewheel
      events behave.
* platform/chromium/fast/events/touch/gesture/touch-gesture-noscroll-body-expected.txt: Added.
* platform/chromium/fast/events/touch/gesture/touch-gesture-noscroll-body-propagated-expected.txt: Added.
* platform/chromium/fast/events/touch/gesture/touch-gesture-noscroll-body-xhidden-expected.txt: Added.
* platform/chromium/fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden-expected.txt: Added.
      These four new layout tests verify that a non-scrollable body will not scroll,
      as reported in https://bugs.webkit.org/show_bug.cgi?id=109316.

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

8 years ago[chromium] Revert r143827 to restore WebHelperPluginImpl's call to frameDetached()
commit-queue@webkit.org [Sat, 2 Mar 2013 01:05:07 +0000 (01:05 +0000)]
[chromium] Revert r143827 to restore WebHelperPluginImpl's call to frameDetached()
https://bugs.webkit.org/show_bug.cgi?id=111232

Patch by David Dorwin <ddorwin@chromium.org> on 2013-03-01
Reviewed by Adam Barth.

This patch reverts r143827, which causes a crash in failure conditions:
http://crbug.com/178848

* src/WebHelperPluginImpl.cpp:
(WebKit::WebHelperPluginImpl::destoryPage):

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

8 years agoIndexedDB: Avoid ScriptValue copies in IDBAny
alecflett@chromium.org [Sat, 2 Mar 2013 01:04:29 +0000 (01:04 +0000)]
IndexedDB: Avoid ScriptValue copies in IDBAny
https://bugs.webkit.org/show_bug.cgi?id=111002

Reviewed by Adam Barth.

This avoids some v8 handle thrashing in the long term,
and protects us against some crashes in the short term.

The crashes will be fixed in
https://bugs.webkit.org/show_bug.cgi?id=110206.

* Modules/indexeddb/IDBAny.cpp:
(WebCore::IDBAny::createNull):
(WebCore::IDBAny::createString):
(WebCore::IDBAny::IDBAny):
(WebCore::IDBAny::scriptValue):
* Modules/indexeddb/IDBAny.h:
(WebCore::IDBAny::create):
(IDBAny):
(WebCore::IDBAny::keyPath):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
(WebCore):

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

8 years agoUnreviewed gardening of AppleWin port.
roger_fong@apple.com [Sat, 2 Mar 2013 01:01:47 +0000 (01:01 +0000)]
Unreviewed gardening of AppleWin port.

* platform/win/TestExpectations:

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

8 years ago[BlackBerry] Upstream smart selection
commit-queue@webkit.org [Sat, 2 Mar 2013 01:00:59 +0000 (01:00 +0000)]
[BlackBerry] Upstream smart selection
https://bugs.webkit.org/show_bug.cgi?id=111226

Patch by Iris Wu <shuwu@rim.com> on 2013-03-01
Reviewed by Rob Buis.

1.  Extend the touch hold text selection to next paragraph.
2.  Draw and expand overlay over text as touch hold selection expands.
    Select paragraph when it's entirely covered by overlay.
3.  Start scrolling at a constant rate when the end of
    next pargraph is not in the viewport.

Reviewed Internally By Genevieve Mak and Mike Fenton.
PR 217897 238485 258279 279042 299779

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::selectAtDocumentPoint):
(BlackBerry::WebKit::WebPage::expandSelection):
(WebKit):
(BlackBerry::WebKit::WebPage::setOverlayExpansionPixelHeight):
(BlackBerry::WebKit::WebPagePrivate::setOverlayExpansionPixelHeight):
(BlackBerry::WebKit::WebPage::setParagraphExpansionPixelScrollMargin):
* Api/WebPage.h:
* Api/WebPageClient.h:
* Api/WebPage_p.h:
(WebPagePrivate):
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::cancelSelection):
(BlackBerry::WebKit::SelectionHandler::selectAtPoint):
(BlackBerry::WebKit::isInvalidLine):
(WebKit):
(BlackBerry::WebKit::isInvalidParagraph):
(BlackBerry::WebKit::SelectionHandler::selectNextParagraph):
(BlackBerry::WebKit::SelectionHandler::drawOverlay):
(BlackBerry::WebKit::SelectionHandler::findNextOverlayRegion):
(BlackBerry::WebKit::SelectionHandler::expandSelection):
(BlackBerry::WebKit::SelectionHandler::ensureSelectedTextVisible):
(BlackBerry::WebKit::SelectionHandler::setParagraphExpansionScrollMargin):
(BlackBerry::WebKit::SelectionHandler::expandSelectionToGranularity):
* WebKitSupport/SelectionHandler.h:
(SelectionHandler):
(BlackBerry::WebKit::SelectionHandler::setOverlayExpansionHeight):

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

8 years agoUnreviewed gardening of AppleWin port.
roger_fong@apple.com [Sat, 2 Mar 2013 00:55:29 +0000 (00:55 +0000)]
Unreviewed gardening of AppleWin port.

* platform/win/TestExpectations:

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

8 years agoUnreviewed gardening of AppleWin port.
roger_fong@apple.com [Fri, 1 Mar 2013 23:46:55 +0000 (23:46 +0000)]
Unreviewed gardening of AppleWin port.

* platform/win/TestExpectations:

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

8 years ago[chromium] Mark some software compositing tests as failing before landing anti-aliasi...
jamesr@google.com [Fri, 1 Mar 2013 23:22:00 +0000 (23:22 +0000)]
[chromium] Mark some software compositing tests as failing before landing anti-aliasing changes
https://bugs.webkit.org/show_bug.cgi?id=111224

* platform/chromium/TestExpectations:

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

8 years agoDon't use legacy test names when returning results from PerfTest.run
rniwa@webkit.org [Fri, 1 Mar 2013 22:55:03 +0000 (22:55 +0000)]
Don't use legacy test names when returning results from PerfTest.run
https://bugs.webkit.org/show_bug.cgi?id=111148

Reviewed by Dirk Pranke.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTestMetric.name): Renamed from metric.
(PerfTest.test_name_without_file_extension): Extracted from legacy_chromium_bot_compatible_test_name.
(PerfTest.run): Use metric name instead of the legacy name to store iteration values.
(ChromiumStylePerfTest.parse_and_log_output): Use the metric name to store results as done in PerfTest.run.

* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(TestPerfTestMetric.test_init_set_time_metric):
(TestPerfTestMetric.legacy_chromium_bot_compatible_test_name): Removed. The integration tests test this.
(TestReplayPerfTest.test_run_with_driver_accumulates_results):
(TestReplayPerfTest.test_run_with_driver_accumulates_memory_results):

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner.__init__):
(PerfTestsRunner._generate_results_dict): Updated to iterate over (test, metrics) pair. Use view_source_url
to obtain the trac URL instead of hard coding it.
(PerfTestsRunner._run_tests_set):

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

8 years ago[chromium] Mark more flaky tests related to scrollbar ordering
enne@google.com [Fri, 1 Mar 2013 22:53:30 +0000 (22:53 +0000)]
[chromium] Mark more flaky tests related to scrollbar ordering
https://bugs.webkit.org/show_bug.cgi?id=111199

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

8 years agoSupport padding, margin and border for internal UA cue styling
vcarbune@chromium.org [Fri, 1 Mar 2013 22:42:02 +0000 (22:42 +0000)]
Support padding, margin and border for internal UA cue styling
https://bugs.webkit.org/show_bug.cgi?id=110703

Reviewed by Eric Carlson.

Source/WebCore:

For some particular user agent styling this allows the possibility
of making the window around the cue text bigger to match some user
styles (see CaptionUserPreferencesMac::captionsStyleSheetOverride).

These properties *cannot* be set through by using the ::cue
pseudo-element and, as specified, are used only internally.

Note: This patch is identical to the previously commited one,
as it was rolled back without related tests failing.

Test: media/track/track-cue-rendering-with-padding.html

* css/mediaControls.css:
(video::-webkit-media-text-track-display): Set the CSS box model
to include in the specified width or height the values of
padding / margin / border by using -webkit-box-sizing and avoid
overflow over 100% width because of having these properties set.
* rendering/RenderTextTrackCue.cpp:
(WebCore::RenderTextTrackCue::isOutside): To not interfere with
the regular WebVTT positioning algorithm, the check is done for
the absolute content box.
(WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Added
an extra adjustment step to accomodate vertical padding (and not
overflow the cue container)

LayoutTests:

* media/track/track-cue-rendering-with-padding-expected.txt: Added.
* media/track/track-cue-rendering-with-padding.html: Added.

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

8 years agoREGRESSION (r125809): CFStrings created via StringImpl::createCFString() might refer...
aestes@apple.com [Fri, 1 Mar 2013 22:39:10 +0000 (22:39 +0000)]
REGRESSION (r125809): CFStrings created via StringImpl::createCFString()  might reference freed memory when Objective-C garbage collection is enabled
https://bugs.webkit.org/show_bug.cgi?id=111219

Reviewed by Benjamin Poulain.

StringImpl::createCFString() uses CFStringCreateWithBytesNoCopy() in
order to create CFString without making an unnecessary copy. In order
to ensure that the the StringImpl's backing buffer isn't deallocated
while the CFString is still alive, we use a custom CFAllocator to
ref/deref the StringImpl at the appropriate times.

However, custom allocators aren't supported when Objective-C garbage
collection is enabled, so in this case we use the default CF allocator.
Since we can't guarantee the lifetime of the StringImpl in this case,
we should just fall back to copying the string, as we did prior to r125809.

* platform/text/cf/StringImplCF.cpp:
(garbageCollectionEnabled): Moved the check for whether garbage
collection is enabled from StringWrapperCFAllocator::create() to here.
(WTF::StringWrapperCFAllocator::create): Call garbageCollectionEnabled().
(WTF::StringImpl::createCFString): If garbage collection is enabled,
call the variants of CFStringCreate that copy the string.

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

8 years ago[GTK] Expose more of the configuration step to the gyp build
commit-queue@webkit.org [Fri, 1 Mar 2013 22:38:28 +0000 (22:38 +0000)]
[GTK] Expose more of the configuration step to the gyp build
https://bugs.webkit.org/show_bug.cgi?id=111213

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-03-01
Reviewed by Dirk Pranke.

Expose more of the configuration phase to the gyp build, including WebKit features
and binary paths.

* gyp/Configuration.gypi.in: Add templatized gyp variables for the new configuration bits.
* gyp/autogen.sh: Properly link up the WebKit features script. So we can access it
relatively as if we were at the top-level of the source directory.
* gyp/configure.ac: Export the WebKit features.

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

8 years agoAX: Upstream iOS Accessibility layout tests
cfleizach@apple.com [Fri, 1 Mar 2013 22:22:03 +0000 (22:22 +0000)]
AX: Upstream iOS Accessibility layout tests
https://bugs.webkit.org/show_bug.cgi?id=111187

Reviewed by David Kilzer.

Upstream the latest iOS Accessibility layout tests.

* platform/iphone-simulator: Added.
* platform/iphone-simulator/accessibility: Added.
* platform/iphone-simulator/accessibility/accessibility-aria-table-children-expected.txt: Added.
* platform/iphone-simulator/accessibility/accessibility-aria-table-children.html: Added.
* platform/iphone-simulator/accessibility/accessibility-crash-in-axcontainer-expected.txt: Added.
* platform/iphone-simulator/accessibility/accessibility-crash-in-axcontainer.html: Added.
* platform/iphone-simulator/accessibility/accessibility-hint-expected.txt: Added.
* platform/iphone-simulator/accessibility/accessibility-hint.html: Added.
* platform/iphone-simulator/accessibility/aria-pressed-state-expected.txt: Added.
* platform/iphone-simulator/accessibility/aria-pressed-state.html: Added.
* platform/iphone-simulator/accessibility/centerpoint-expected.txt: Added.
* platform/iphone-simulator/accessibility/centerpoint.html: Added.
* platform/iphone-simulator/accessibility/dom-focus-fires-on-correct-element-expected.txt: Added.
* platform/iphone-simulator/accessibility/dom-focus-fires-on-correct-element.html: Added.
* platform/iphone-simulator/accessibility/focus-change-notifications-expected.txt: Added.
* platform/iphone-simulator/accessibility/focus-change-notifications.html: Added.
* platform/iphone-simulator/accessibility/header-elements-expected.txt: Added.
* platform/iphone-simulator/accessibility/header-elements.html: Added.
* platform/iphone-simulator/accessibility/identifier-expected.txt: Added.
* platform/iphone-simulator/accessibility/identifier.html: Added.
* platform/iphone-simulator/accessibility/internal-link-expected.txt: Added.
* platform/iphone-simulator/accessibility/internal-link.html: Added.
* platform/iphone-simulator/accessibility/link-with-images-text-expected.txt: Added.
* platform/iphone-simulator/accessibility/link-with-images-text.html: Added.
* platform/iphone-simulator/accessibility/link-with-only-image-expected.txt: Added.
* platform/iphone-simulator/accessibility/link-with-only-image.html: Added.
* platform/iphone-simulator/accessibility/math-expected.txt: Added.
* platform/iphone-simulator/accessibility/math.html: Added.
* platform/iphone-simulator/accessibility/mixed-checkboxes-expected.txt: Added.
* platform/iphone-simulator/accessibility/mixed-checkboxes.html: Added.
* platform/iphone-simulator/accessibility/no-child-link-header-expected.txt: Added.
* platform/iphone-simulator/accessibility/no-child-link-header.html: Added.
* platform/iphone-simulator/accessibility/non-contiguous-link-expected.txt: Added.
* platform/iphone-simulator/accessibility/non-contiguous-link.html: Added.
* platform/iphone-simulator/accessibility/password-value-expected.txt: Added.
* platform/iphone-simulator/accessibility/password-value.html: Added.
* platform/iphone-simulator/accessibility/placeholder-value-expected.txt: Added.
* platform/iphone-simulator/accessibility/placeholder-value.html: Added.
* platform/iphone-simulator/accessibility/popup-button-value-label-expected.txt: Added.
* platform/iphone-simulator/accessibility/popup-button-value-label.html: Added.
* platform/iphone-simulator/accessibility/radio-button-expected.txt: Added.
* platform/iphone-simulator/accessibility/radio-button.html: Added.
* platform/iphone-simulator/accessibility/secure-text-field-expected.txt: Added.
* platform/iphone-simulator/accessibility/secure-text-field.html: Added.
* platform/iphone-simulator/accessibility/selected-buttons-expected.txt: Added.
* platform/iphone-simulator/accessibility/selected-buttons.html: Added.
* platform/iphone-simulator/accessibility/selected-text-expected.txt: Added.
* platform/iphone-simulator/accessibility/selected-text.html: Added.
* platform/iphone-simulator/accessibility/tab-role-expected.txt: Added.
* platform/iphone-simulator/accessibility/tab-role.html: Added.
* platform/iphone-simulator/accessibility/table-cell-for-row-col-expected.txt: Added.
* platform/iphone-simulator/accessibility/table-cell-for-row-col.html: Added.
* platform/iphone-simulator/accessibility/table-cell-ranges-expected.txt: Added.
* platform/iphone-simulator/accessibility/table-cell-ranges.html: Added.
* platform/iphone-simulator/accessibility/tables-lists-expected.txt: Added.
* platform/iphone-simulator/accessibility/tables-lists.html: Added.
* platform/iphone-simulator/accessibility/text-line-no-ignored-elements-expected.txt: Added.
* platform/iphone-simulator/accessibility/text-line-no-ignored-elements.html: Added.
* platform/iphone-simulator/accessibility/text-marker-list-item-expected.txt: Added.
* platform/iphone-simulator/accessibility/text-marker-list-item.html: Added.
* platform/iphone-simulator/accessibility/text-marker-validation-expected.txt: Added.
* platform/iphone-simulator/accessibility/text-marker-validation.html: Added.
* platform/iphone-simulator/accessibility/text-role-expected.txt: Added.
* platform/iphone-simulator/accessibility/text-role.html: Added.
* platform/iphone-simulator/accessibility/textfield-in-axvalue-expected.txt: Added.
* platform/iphone-simulator/accessibility/textfield-in-axvalue.html: Added.
* platform/iphone-simulator/accessibility/url-test-expected.txt: Added.
* platform/iphone-simulator/accessibility/url-test.html: Added.

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

8 years agoUnreviewed AppleWin build fix.
roger_fong@apple.com [Fri, 1 Mar 2013 22:14:33 +0000 (22:14 +0000)]
Unreviewed AppleWin build fix.

* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection):

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

8 years ago[GTK] Allow sharing the WebCore include list with the Chromium build
commit-queue@webkit.org [Fri, 1 Mar 2013 22:03:48 +0000 (22:03 +0000)]
[GTK] Allow sharing the WebCore include list with the Chromium build
https://bugs.webkit.org/show_bug.cgi?id=110241

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-03-01
Reviewed by Dirk Pranke.

* WebCore.gyp/WebCoreGTK.gyp: Added. A skeleton gyp file for WebCoreGTK+.
* WebCore.gypi: Added shared include directories.

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

8 years agoUnreviewed. Add an extra project that assembles all project build logs on Windows...
roger_fong@apple.com [Fri, 1 Mar 2013 22:02:03 +0000 (22:02 +0000)]
Unreviewed. Add an extra project that assembles all project build logs on Windows into a single file.
https://bugs.webkit.org/show_bug.cgi?id=111202

This is useful for running VCExpress builds from command line because there is
no unified solution output, only per project build logs.
The project will be run as the last project in the solution.

* win/AssembleBuildLogs: Added.
* win/AssembleBuildLogs/AssembleBuildLogs.vcxproj: Added.
* win/AssembleBuildLogs/AssembleBuildLogs.vcxproj.filters: Added.
* win/AssembleBuildLogs/AssembleLogs.cmd: Added.
* win/AssembleBuildLogs/README: Added.

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

8 years ago Make in-memory blobs work in NetworkProcess
ap@apple.com [Fri, 1 Mar 2013 22:00:57 +0000 (22:00 +0000)]
    Make in-memory blobs work in NetworkProcess
        https://bugs.webkit.org/show_bug.cgi?id=111132

        Reviewed by Sam Weinig.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
        (WebKit::NetworkConnectionToWebProcess::registerBlobURLFromURL):
        (WebKit::NetworkConnectionToWebProcess::unregisterBlobURL):
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        Implement BlobRegistry interface by using BlobRegistryImpl (same one as used in
        WebProcess in non-PPT mode).

        * NetworkProcess/NetworkConnectionToWebProcess.messages.in: Added three messages
        needed for BlobRegistry.

        * NetworkProcess/NetworkProcess.cpp:
        * NetworkProcess/NetworkProcessPlatformStrategies.cpp: Added.
        * NetworkProcess/NetworkProcessPlatformStrategies.h: Added.
        Added a mostly empty platform strategy, just for FormData to talk to BlobRegistry.
        Perhaps we'll find a way to avoid this WebCore code path in NetworkProcess, because
        we obviously know which registry implementation is in use in this process.

        * Shared/FileAPI: Added.
        * Shared/FileAPI/BlobRegistrationData.cpp: Added.
        * Shared/FileAPI/BlobRegistrationData.h: Added.
        Added a class for passing BlobData and extension handles over IPC.
        This uses a trick with mutable a member to avoid copying decoded BlobStorageData.

        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/FileAPI: Added.
        * WebProcess/FileAPI/BlobRegistryProxy.cpp: Added.
        * WebProcess/FileAPI/BlobRegistryProxy.h: Added.
        A proxy implementation of BlobRegistry that just sends requests over IPC. We only
        need async ones.

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::createBlobRegistry):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
        Create an appropriate BlobRegistry.

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

8 years agoThreaded HTML Parser has an extra copy of every byte from the network
eric@webkit.org [Fri, 1 Mar 2013 21:53:26 +0000 (21:53 +0000)]
Threaded HTML Parser has an extra copy of every byte from the network
https://bugs.webkit.org/show_bug.cgi?id=111135

Reviewed by Adam Barth.

Source/WebCore:

Every LayoutTest executes this code in threaded parsing mode.

* dom/DecodedDataDocumentParser.cpp:
(WebCore::DecodedDataDocumentParser::appendBytes):
 - Pass ownership of the decoded string to the parser.
(WebCore::DecodedDataDocumentParser::flush):
 - Same.
* dom/DecodedDataDocumentParser.h:
(DecodedDataDocumentParser):
* dom/Document.cpp:
(WebCore::Document::setContent):
* dom/DocumentParser.h:
(DocumentParser):
* dom/RawDataDocumentParser.h:
(WebCore::RawDataDocumentParser::append):
* html/FTPDirectoryDocument.cpp:
(FTPDirectoryDocumentParser):
(WebCore::FTPDirectoryDocumentParser::append):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::append):
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):
* html/parser/HTMLViewSourceParser.cpp:
(WebCore::HTMLViewSourceParser::append):
* html/parser/HTMLViewSourceParser.h:
(HTMLViewSourceParser):
* html/parser/TextDocumentParser.cpp:
(WebCore::TextDocumentParser::append):
* html/parser/TextDocumentParser.h:
(TextDocumentParser):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::replaceDocument):
* xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::append):
* xml/parser/XMLDocumentParser.h:
(XMLDocumentParser):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::resumeParsing):

Source/WTF:

The threaded html parser needs to accept ownership
of a string buffer.  The easiest way to do this seemed
to be to use a PassRefPtr<StringImpl>, but there was no way
to generated one from a String (easily), so I added one.

* wtf/text/WTFString.h:
(WTF::String::releaseImpl):

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

8 years ago[New Multicolumn] Change inRenderFlowThread to follow containing block chain
hyatt@apple.com [Fri, 1 Mar 2013 21:44:06 +0000 (21:44 +0000)]
[New Multicolumn] Change inRenderFlowThread to follow containing block chain
https://bugs.webkit.org/show_bug.cgi?id=111206

Reviewed by Simon Fraser.

Source/WebCore:

This patch removes inRenderFlowThread and changes enclosingRenderFlowThread()
to flowThreadContainingBlock(). flowThreadContainingBlock() now follows
the containing block chain instead of the parent chain when outside of layout.
(It already did the right thing when called during layout.)

By removing inRenderFlowThread (which was following the parent chain), all
code that is checking for flow thread containment now correctly uses the
containing block chain. This allows for content to escape in-flow flow threads
and do the right thing without asserting.

Test: fast/multicol/positioned-outside-of-columns.html

* dom/WebKitNamedFlow.cpp:
(WebCore::inFlowThread):
(WebCore::WebKitNamedFlow::getRegionsByContent):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeLeftoverAnonymousBlock):
(WebCore::RenderBlock::collapseAnonymousBoxChild):
(WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize):
(WebCore::RenderBlock::computeRegionRangeForBlock):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::computeOverflow):
(WebCore::RenderBlock::determineLogicalLeftPositionForChild):
(WebCore::RenderBlock::computeLogicalLocationForFloat):
(WebCore::RenderBlock::logicalLeftOffsetForContent):
(WebCore::RenderBlock::logicalRightOffsetForContent):
(WebCore::RenderBlock::hasNextPage):
(WebCore::RenderBlock::applyBeforeBreak):
(WebCore::RenderBlock::applyAfterBreak):
(WebCore::RenderBlock::pageLogicalTopForOffset):
(WebCore::RenderBlock::pageLogicalHeightForOffset):
(WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
(WebCore::RenderBlock::adjustForUnsplittableChild):
(WebCore::RenderBlock::adjustLinePositionForPagination):
(WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
(WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage):
(WebCore::RenderBlock::regionAtBlockOffset):
(WebCore::RenderBlock::setStaticInlinePositionForChild):
(WebCore::RenderBlock::logicalWidthChangedInRegions):
(WebCore::RenderBlock::clampToStartAndEndRegions):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::layoutExclusionShapeInsideInfo):
(WebCore::LineLayoutState::LineLayoutState):
(WebCore::LineLayoutState::flowThread):
(WebCore::LineLayoutState::setFlowThread):
(LineLayoutState):
(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::RenderBlock::linkToEndLineIfNeeded):
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::determineStartPosition):
(WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::clearRenderBoxRegionInfo):
(WebCore::RenderBox::renderBoxRegionInfo):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
(WebCore::RenderBox::computePositionedLogicalWidth):
(WebCore::RenderBox::computePositionedLogicalHeight):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::objectInFlowRegion):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::updateAlwaysCreateLineBoxes):
* rendering/RenderLayer.cpp:
(WebCore::accumulateOffsetTowardsAncestor):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::canBeComposited):
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::layout):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::locateFlowThreadContainingBlock):
(WebCore::RenderObject::containerForRepaint):
(WebCore::RenderObject::willBeRemovedFromTree):
(WebCore::RenderObject::removeFromRenderFlowThread):
(WebCore::RenderObject::removeFromRenderFlowThreadRecursive):
* rendering/RenderObject.h:
(RenderObject):
(WebCore::RenderObject::flowThreadContainingBlock):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::setObjectStyleInRegion):
* rendering/RenderView.cpp:
(WebCore::RenderView::addChild):
(WebCore::RenderView::initializeLayoutState):
(WebCore::RenderView::setSelection):
* rendering/RenderView.h:
(WebCore::RenderView::pushLayoutState):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::containingRegion):
(WebCore::RootInlineBox::setContainingRegion):

LayoutTests:

* fast/multicol/positioned-outside-of-columns-expected.html: Added.
* fast/multicol/positioned-outside-of-columns.html: Added.

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

8 years agoUncomment ENABLE_SVG guards to avoid having WebKitPluginProcess link
zandobersek@gmail.com [Fri, 1 Mar 2013 21:36:51 +0000 (21:36 +0000)]
Uncomment ENABLE_SVG guards to avoid having WebKitPluginProcess link
against libWebCoreSVG.la when SVG is disabled.

Rubber-stamped by Gustavo Noronha.

* GNUmakefile.am:

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

8 years agoAdd SPI for marking a WebView as doing things on behalf of another process
weinig@apple.com [Fri, 1 Mar 2013 21:32:43 +0000 (21:32 +0000)]
Add SPI for marking a WebView as doing things on behalf of another process
https://bugs.webkit.org/show_bug.cgi?id=111125

Reviewed by Alexey Proskuryakov.

Source/WebCore:

* platform/network/NetworkingContext.h:
(NetworkingContext):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::createNSURLConnection):
Set the sourceApplicationAuditData on the URL connection if available.

Source/WebKit/mac:

* WebCoreSupport/WebFrameNetworkingContext.h:
(WebFrameNetworkingContext):
* WebCoreSupport/WebFrameNetworkingContext.mm:
(WebFrameNetworkingContext::sourceApplicationAuditData):
* WebView/WebView.mm:
(-[WebView _setSourceApplicationAuditData:]):
(-[WebView _sourceApplicationAuditData]):
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate dealloc]):
* WebView/WebViewPrivate.h:
Add SPI for setting a source application for a WebView.

Source/WebKit2:

* NetworkProcess/mac/RemoteNetworkingContext.h:
* NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::sourceApplicationAuditData):
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
Stub out sourceApplicationAuditData() client function.

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

8 years ago[BlackBerry] Screen went black while navigating back/forward on the reddit.com page
zhajiang@rim.com [Fri, 1 Mar 2013 21:31:34 +0000 (21:31 +0000)]
[BlackBerry] Screen went black while navigating back/forward on the reddit.com page
https://bugs.webkit.org/show_bug.cgi?id=111192

Patch by Jacky Jiang <zhajiang@rim.com>.
Reviewed by Rob Buis.
Internally reviewed by Jakob Petsovits.

PR: 299783
When going back to the previous reddit.com page, the actual contents
size was much less than the history contents size. However, we expanded
the actual contents size to history contents size which caused a huge
black area below the actual contents.
To fix that, don't restore the contents size from history contents size
and scroll back to the valid contents area if we are about to overscroll.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::restoreHistoryViewState):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::restoreViewState):

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